@riboseinc/paneron-registry-kit 2.2.60 → 2.2.61

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 (733) hide show
  1. package/package.json +1 -1
  2. package/LICENSE +0 -21
  3. package/README.adoc +0 -67
  4. package/compiled/common.js +0 -2
  5. package/compiled/index.js +0 -42
  6. package/compiled/item-classes/Tree.js +0 -61
  7. package/compiled/item-classes/treeNodes.js +0 -56
  8. package/compiled/migrations/initial.js +0 -28
  9. package/compiled/proposals/ChangeRequestContext.js +0 -121
  10. package/compiled/proposals/HistoryDrawer.js +0 -55
  11. package/compiled/proposals/ListItem.js +0 -22
  12. package/compiled/proposals/MetaProperties.js +0 -98
  13. package/compiled/proposals/NewProposalMenu.js +0 -53
  14. package/compiled/proposals/ProposalBrowser.js +0 -141
  15. package/compiled/proposals/ProposalDetail.js +0 -27
  16. package/compiled/proposals/ProposalItem.js +0 -24
  17. package/compiled/proposals/ProposalSummary.js +0 -28
  18. package/compiled/proposals/ProposalTab.js +0 -89
  19. package/compiled/proposals/ProposalType.js +0 -62
  20. package/compiled/proposals/ProposalWorkspace.js +0 -70
  21. package/compiled/proposals/Search.js +0 -106
  22. package/compiled/proposals/TransitionHistory.js +0 -271
  23. package/compiled/proposals/TransitionOptions.js +0 -432
  24. package/compiled/proposals/actionableGroups/Tree.js +0 -170
  25. package/compiled/proposals/actionableGroups/queries.js +0 -78
  26. package/compiled/proposals/actionableGroups/treeNodes.js +0 -90
  27. package/compiled/proposals/actionableGroups/types.js +0 -2
  28. package/compiled/proposals/index.js +0 -7
  29. package/compiled/proposals/objectChangeset.js +0 -331
  30. package/compiled/proposals/queries.js +0 -5
  31. package/compiled/proposals/types.js +0 -229
  32. package/compiled/types/index.js +0 -7
  33. package/compiled/types/item.js +0 -28
  34. package/compiled/types/register.js +0 -25
  35. package/compiled/types/registry.js +0 -10
  36. package/compiled/types/stakeholder.js +0 -81
  37. package/compiled/types/util.js +0 -3
  38. package/compiled/types/views.js +0 -2
  39. package/compiled/views/AnnotatedChange.js +0 -62
  40. package/compiled/views/BrowserCtx.js +0 -20
  41. package/compiled/views/FilterCriteria/CRITERIA_CONFIGURATION.js +0 -121
  42. package/compiled/views/FilterCriteria/criteriaGroupToQueryExpression.js +0 -45
  43. package/compiled/views/FilterCriteria/criteriaGroupToSummary.js +0 -47
  44. package/compiled/views/FilterCriteria/criteriaToNodes.js +0 -92
  45. package/compiled/views/FilterCriteria/index.js +0 -75
  46. package/compiled/views/FilterCriteria/models.js +0 -45
  47. package/compiled/views/FilterCriteria/mutateGroup.js +0 -74
  48. package/compiled/views/GenericRelatedItemView.js +0 -179
  49. package/compiled/views/ItemDetailsDrawer.js +0 -21
  50. package/compiled/views/ItemSearchDrawer.js +0 -29
  51. package/compiled/views/Party.js +0 -156
  52. package/compiled/views/RegisterStakeholder.js +0 -22
  53. package/compiled/views/RegisterVersion.js +0 -20
  54. package/compiled/views/SearchQuery.js +0 -90
  55. package/compiled/views/StatefulTree.js +0 -95
  56. package/compiled/views/detail/AllItems.js +0 -31
  57. package/compiled/views/detail/ChangeRequest/index.js +0 -49
  58. package/compiled/views/detail/CustomView/index.js +0 -34
  59. package/compiled/views/detail/ProposalWork.js +0 -167
  60. package/compiled/views/detail/RegisterHome/ActiveProposalDetails.js +0 -64
  61. package/compiled/views/detail/RegisterHome/Block.js +0 -39
  62. package/compiled/views/detail/RegisterHome/MetaSummary.js +0 -27
  63. package/compiled/views/detail/RegisterHome/Proposal.js +0 -105
  64. package/compiled/views/detail/RegisterHome/index.js +0 -381
  65. package/compiled/views/detail/RegisterHome2/index.js +0 -36
  66. package/compiled/views/detail/RegisterItem/RelatedItems.js +0 -28
  67. package/compiled/views/detail/RegisterItem/SupersedingItemMenu.js +0 -27
  68. package/compiled/views/detail/RegisterItem/index.js +0 -576
  69. package/compiled/views/detail/RegisterItemClass.js +0 -59
  70. package/compiled/views/detail/RegisterMeta/RegisterMetaForm.js +0 -176
  71. package/compiled/views/detail/RegisterMeta/index.js +0 -73
  72. package/compiled/views/detail/index.js +0 -12
  73. package/compiled/views/diffing/InlineDiff.js +0 -117
  74. package/compiled/views/diffing/StructuredDiff.js +0 -38
  75. package/compiled/views/hooks/useCustomView.js +0 -14
  76. package/compiled/views/hooks/useItemClassConfig.js +0 -8
  77. package/compiled/views/hooks/useItemRef.js +0 -27
  78. package/compiled/views/hooks/useLatestAcceptedProposal.js +0 -39
  79. package/compiled/views/hooks/useRegisterVersion.js +0 -35
  80. package/compiled/views/hooks/useSingleRegisterItemData.js +0 -22
  81. package/compiled/views/hooks/useStakeholder.js +0 -2
  82. package/compiled/views/index.js +0 -247
  83. package/compiled/views/itemPathUtils.js +0 -139
  84. package/compiled/views/itemQueryUtils.js +0 -49
  85. package/compiled/views/protocolRegistry.js +0 -30
  86. package/compiled/views/sidebar/Browse/index.js +0 -291
  87. package/compiled/views/sidebar/ExportImport/ExportOptions.js +0 -56
  88. package/compiled/views/sidebar/ExportImport/ImportOptions.js +0 -9
  89. package/compiled/views/sidebar/ExportImport/index.js +0 -4
  90. package/compiled/views/sidebar/ListItem.js +0 -31
  91. package/compiled/views/sidebar/Registration/index.js +0 -89
  92. package/compiled/views/sidebar/Search/index.js +0 -129
  93. package/compiled/views/sidebar/index.js +0 -115
  94. package/compiled/views/util.js +0 -278
  95. package/dependencies-local/extension-kit/SettingsContext.d.ts +0 -8
  96. package/dependencies-local/extension-kit/SettingsContext.js +0 -19
  97. package/dependencies-local/extension-kit/SettingsContext.js.map +0 -1
  98. package/dependencies-local/extension-kit/build_site.d.ts +0 -1
  99. package/dependencies-local/extension-kit/build_site.js +0 -4
  100. package/dependencies-local/extension-kit/build_site.js.map +0 -1
  101. package/dependencies-local/extension-kit/context.d.ts +0 -18
  102. package/dependencies-local/extension-kit/context.js +0 -143
  103. package/dependencies-local/extension-kit/context.js.map +0 -1
  104. package/dependencies-local/extension-kit/i18n/ContextProvider.d.ts +0 -9
  105. package/dependencies-local/extension-kit/i18n/ContextProvider.js +0 -33
  106. package/dependencies-local/extension-kit/i18n/ContextProvider.js.map +0 -1
  107. package/dependencies-local/extension-kit/i18n/context.d.ts +0 -9
  108. package/dependencies-local/extension-kit/i18n/context.js +0 -23
  109. package/dependencies-local/extension-kit/i18n/context.js.map +0 -1
  110. package/dependencies-local/extension-kit/i18n/types.d.ts +0 -10
  111. package/dependencies-local/extension-kit/i18n/types.js.map +0 -1
  112. package/dependencies-local/extension-kit/i18n/widgets.d.ts +0 -16
  113. package/dependencies-local/extension-kit/i18n/widgets.js +0 -59
  114. package/dependencies-local/extension-kit/i18n/widgets.js.map +0 -1
  115. package/dependencies-local/extension-kit/index.d.ts +0 -16
  116. package/dependencies-local/extension-kit/index.js +0 -149
  117. package/dependencies-local/extension-kit/index.js.map +0 -1
  118. package/dependencies-local/extension-kit/object-specs/index.d.ts +0 -2
  119. package/dependencies-local/extension-kit/object-specs/index.js +0 -22
  120. package/dependencies-local/extension-kit/object-specs/index.js.map +0 -1
  121. package/dependencies-local/extension-kit/object-specs/paneron-object.d.ts +0 -7
  122. package/dependencies-local/extension-kit/object-specs/paneron-object.js +0 -159
  123. package/dependencies-local/extension-kit/object-specs/paneron-object.js.map +0 -1
  124. package/dependencies-local/extension-kit/object-specs/ser-des.d.ts +0 -32
  125. package/dependencies-local/extension-kit/object-specs/ser-des.js +0 -232
  126. package/dependencies-local/extension-kit/object-specs/ser-des.js.map +0 -1
  127. package/dependencies-local/extension-kit/object-specs/yaml/custom-bool.d.ts +0 -3
  128. package/dependencies-local/extension-kit/object-specs/yaml/custom-bool.js +0 -42
  129. package/dependencies-local/extension-kit/object-specs/yaml/custom-bool.js.map +0 -1
  130. package/dependencies-local/extension-kit/object-specs/yaml/custom-timestamp.d.ts +0 -3
  131. package/dependencies-local/extension-kit/object-specs/yaml/custom-timestamp.js +0 -110
  132. package/dependencies-local/extension-kit/object-specs/yaml/custom-timestamp.js.map +0 -1
  133. package/dependencies-local/extension-kit/object-specs/yaml/index.d.ts +0 -9
  134. package/dependencies-local/extension-kit/object-specs/yaml/index.js +0 -36
  135. package/dependencies-local/extension-kit/object-specs/yaml/index.js.map +0 -1
  136. package/dependencies-local/extension-kit/object-specs/yaml/schema.d.ts +0 -4
  137. package/dependencies-local/extension-kit/object-specs/yaml/schema.js +0 -26
  138. package/dependencies-local/extension-kit/object-specs/yaml/schema.js.map +0 -1
  139. package/dependencies-local/extension-kit/settings.d.ts +0 -9
  140. package/dependencies-local/extension-kit/settings.js +0 -17
  141. package/dependencies-local/extension-kit/settings.js.map +0 -1
  142. package/dependencies-local/extension-kit/types/binary-invocation.d.ts +0 -31
  143. package/dependencies-local/extension-kit/types/binary-invocation.js +0 -5
  144. package/dependencies-local/extension-kit/types/binary-invocation.js.map +0 -1
  145. package/dependencies-local/extension-kit/types/buffers.d.ts +0 -19
  146. package/dependencies-local/extension-kit/types/buffers.js +0 -5
  147. package/dependencies-local/extension-kit/types/buffers.js.map +0 -1
  148. package/dependencies-local/extension-kit/types/changes.d.ts +0 -37
  149. package/dependencies-local/extension-kit/types/changes.js +0 -5
  150. package/dependencies-local/extension-kit/types/changes.js.map +0 -1
  151. package/dependencies-local/extension-kit/types/data.d.ts +0 -54
  152. package/dependencies-local/extension-kit/types/data.js +0 -5
  153. package/dependencies-local/extension-kit/types/data.js.map +0 -1
  154. package/dependencies-local/extension-kit/types/dialogs.d.ts +0 -21
  155. package/dependencies-local/extension-kit/types/dialogs.js +0 -5
  156. package/dependencies-local/extension-kit/types/dialogs.js.map +0 -1
  157. package/dependencies-local/extension-kit/types/export-formats.d.ts +0 -23
  158. package/dependencies-local/extension-kit/types/export-formats.js +0 -5
  159. package/dependencies-local/extension-kit/types/export-formats.js.map +0 -1
  160. package/dependencies-local/extension-kit/types/extension-maker.d.ts +0 -17
  161. package/dependencies-local/extension-kit/types/extension-maker.js +0 -5
  162. package/dependencies-local/extension-kit/types/extension-maker.js.map +0 -1
  163. package/dependencies-local/extension-kit/types/extension.d.ts +0 -40
  164. package/dependencies-local/extension-kit/types/extension.js +0 -5
  165. package/dependencies-local/extension-kit/types/extension.js.map +0 -1
  166. package/dependencies-local/extension-kit/types/index.d.ts +0 -3
  167. package/dependencies-local/extension-kit/types/index.js +0 -41
  168. package/dependencies-local/extension-kit/types/index.js.map +0 -1
  169. package/dependencies-local/extension-kit/types/indexes.d.ts +0 -6
  170. package/dependencies-local/extension-kit/types/indexes.js +0 -15
  171. package/dependencies-local/extension-kit/types/indexes.js.map +0 -1
  172. package/dependencies-local/extension-kit/types/migrations.d.ts +0 -35
  173. package/dependencies-local/extension-kit/types/migrations.js +0 -5
  174. package/dependencies-local/extension-kit/types/migrations.js.map +0 -1
  175. package/dependencies-local/extension-kit/types/object-spec.d.ts +0 -109
  176. package/dependencies-local/extension-kit/types/object-spec.js +0 -24
  177. package/dependencies-local/extension-kit/types/object-spec.js.map +0 -1
  178. package/dependencies-local/extension-kit/types/objects.d.ts +0 -18
  179. package/dependencies-local/extension-kit/types/objects.js +0 -5
  180. package/dependencies-local/extension-kit/types/objects.js.map +0 -1
  181. package/dependencies-local/extension-kit/types/progress.d.ts +0 -5
  182. package/dependencies-local/extension-kit/types/progress.js +0 -5
  183. package/dependencies-local/extension-kit/types/progress.js.map +0 -1
  184. package/dependencies-local/extension-kit/types/renderer.d.ts +0 -505
  185. package/dependencies-local/extension-kit/types/renderer.js +0 -16
  186. package/dependencies-local/extension-kit/types/renderer.js.map +0 -1
  187. package/dependencies-local/extension-kit/useDebounce.d.ts +0 -5
  188. package/dependencies-local/extension-kit/useDebounce.js +0 -25
  189. package/dependencies-local/extension-kit/useDebounce.js.map +0 -1
  190. package/dependencies-local/extension-kit/usePersistentStateReducer.d.ts +0 -39
  191. package/dependencies-local/extension-kit/usePersistentStateReducer.js +0 -133
  192. package/dependencies-local/extension-kit/usePersistentStateReducer.js.map +0 -1
  193. package/dependencies-local/extension-kit/useTimeTravelingPersistentStateReducer.d.ts +0 -71
  194. package/dependencies-local/extension-kit/useTimeTravelingPersistentStateReducer.js +0 -107
  195. package/dependencies-local/extension-kit/useTimeTravelingPersistentStateReducer.js.map +0 -1
  196. package/dependencies-local/extension-kit/util.d.ts +0 -37
  197. package/dependencies-local/extension-kit/util.js +0 -179
  198. package/dependencies-local/extension-kit/util.js.map +0 -1
  199. package/dependencies-local/extension-kit/widgets/DL.d.ts +0 -44
  200. package/dependencies-local/extension-kit/widgets/DL.js +0 -89
  201. package/dependencies-local/extension-kit/widgets/DL.js.map +0 -1
  202. package/dependencies-local/extension-kit/widgets/ErrorBoundary.d.ts +0 -17
  203. package/dependencies-local/extension-kit/widgets/ErrorBoundary.js +0 -49
  204. package/dependencies-local/extension-kit/widgets/ErrorBoundary.js.map +0 -1
  205. package/dependencies-local/extension-kit/widgets/ErrorState.d.ts +0 -10
  206. package/dependencies-local/extension-kit/widgets/ErrorState.js +0 -54
  207. package/dependencies-local/extension-kit/widgets/ErrorState.js.map +0 -1
  208. package/dependencies-local/extension-kit/widgets/Grid.d.ts +0 -41
  209. package/dependencies-local/extension-kit/widgets/Grid.js +0 -213
  210. package/dependencies-local/extension-kit/widgets/Grid.js.map +0 -1
  211. package/dependencies-local/extension-kit/widgets/HelpTooltip.d.ts +0 -18
  212. package/dependencies-local/extension-kit/widgets/HelpTooltip.js +0 -72
  213. package/dependencies-local/extension-kit/widgets/HelpTooltip.js.map +0 -1
  214. package/dependencies-local/extension-kit/widgets/ItemCount.d.ts +0 -19
  215. package/dependencies-local/extension-kit/widgets/ItemCount.js +0 -79
  216. package/dependencies-local/extension-kit/widgets/ItemCount.js.map +0 -1
  217. package/dependencies-local/extension-kit/widgets/List.d.ts +0 -41
  218. package/dependencies-local/extension-kit/widgets/List.js +0 -210
  219. package/dependencies-local/extension-kit/widgets/List.js.map +0 -1
  220. package/dependencies-local/extension-kit/widgets/Navbar.d.ts +0 -20
  221. package/dependencies-local/extension-kit/widgets/Navbar.js +0 -76
  222. package/dependencies-local/extension-kit/widgets/Navbar.js.map +0 -1
  223. package/dependencies-local/extension-kit/widgets/Navbar2.d.ts +0 -17
  224. package/dependencies-local/extension-kit/widgets/Navbar2.js +0 -95
  225. package/dependencies-local/extension-kit/widgets/Navbar2.js.map +0 -1
  226. package/dependencies-local/extension-kit/widgets/OperationQueue/context.d.ts +0 -17
  227. package/dependencies-local/extension-kit/widgets/OperationQueue/context.js +0 -21
  228. package/dependencies-local/extension-kit/widgets/OperationQueue/context.js.map +0 -1
  229. package/dependencies-local/extension-kit/widgets/OperationQueue/index.d.ts +0 -8
  230. package/dependencies-local/extension-kit/widgets/OperationQueue/index.js +0 -159
  231. package/dependencies-local/extension-kit/widgets/OperationQueue/index.js.map +0 -1
  232. package/dependencies-local/extension-kit/widgets/OperationQueue/types.d.ts +0 -19
  233. package/dependencies-local/extension-kit/widgets/OperationQueue/types.js +0 -5
  234. package/dependencies-local/extension-kit/widgets/OperationQueue/types.js.map +0 -1
  235. package/dependencies-local/extension-kit/widgets/SearchResultList.d.ts +0 -31
  236. package/dependencies-local/extension-kit/widgets/SearchResultList.js +0 -203
  237. package/dependencies-local/extension-kit/widgets/SearchResultList.js.map +0 -1
  238. package/dependencies-local/extension-kit/widgets/Sidebar/Block.d.ts +0 -24
  239. package/dependencies-local/extension-kit/widgets/Sidebar/Block.js +0 -109
  240. package/dependencies-local/extension-kit/widgets/Sidebar/Block.js.map +0 -1
  241. package/dependencies-local/extension-kit/widgets/Sidebar/BlockStateButtonGroup.d.ts +0 -6
  242. package/dependencies-local/extension-kit/widgets/Sidebar/BlockStateButtonGroup.js +0 -23
  243. package/dependencies-local/extension-kit/widgets/Sidebar/BlockStateButtonGroup.js.map +0 -1
  244. package/dependencies-local/extension-kit/widgets/Sidebar/PropertyView.d.ts +0 -29
  245. package/dependencies-local/extension-kit/widgets/Sidebar/PropertyView.js +0 -157
  246. package/dependencies-local/extension-kit/widgets/Sidebar/PropertyView.js.map +0 -1
  247. package/dependencies-local/extension-kit/widgets/Sidebar/index.d.ts +0 -27
  248. package/dependencies-local/extension-kit/widgets/Sidebar/index.js +0 -197
  249. package/dependencies-local/extension-kit/widgets/Sidebar/index.js.map +0 -1
  250. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/SuperSidebar.d.ts +0 -29
  251. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/SuperSidebar.js +0 -135
  252. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/SuperSidebar.js.map +0 -1
  253. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/context.d.ts +0 -10
  254. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/context.js +0 -205
  255. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/context.js.map +0 -1
  256. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/detail.d.ts +0 -9
  257. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/detail.js +0 -69
  258. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/detail.js.map +0 -1
  259. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/index.d.ts +0 -54
  260. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/index.js +0 -301
  261. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/index.js.map +0 -1
  262. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/types.d.ts +0 -102
  263. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/types.js +0 -5
  264. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/types.js.map +0 -1
  265. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/util.d.ts +0 -1
  266. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/util.js +0 -14
  267. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/util.js.map +0 -1
  268. package/dependencies-local/extension-kit/widgets/Workspace.d.ts +0 -40
  269. package/dependencies-local/extension-kit/widgets/Workspace.js +0 -96
  270. package/dependencies-local/extension-kit/widgets/Workspace.js.map +0 -1
  271. package/dependencies-local/extension-kit/widgets/panels/PanelSeparator.d.ts +0 -12
  272. package/dependencies-local/extension-kit/widgets/panels/PanelSeparator.js +0 -60
  273. package/dependencies-local/extension-kit/widgets/panels/PanelSeparator.js.map +0 -1
  274. package/dependencies-local/extension-kit/widgets/panels/index.d.ts +0 -28
  275. package/dependencies-local/extension-kit/widgets/panels/index.js +0 -169
  276. package/dependencies-local/extension-kit/widgets/panels/index.js.map +0 -1
  277. package/dist/common.d.ts +0 -1
  278. package/dist/common.js.map +0 -1
  279. package/dist/index.d.ts +0 -18
  280. package/dist/index.js.map +0 -1
  281. package/dist/item-classes/Tree.d.ts +0 -5
  282. package/dist/item-classes/Tree.js.map +0 -1
  283. package/dist/item-classes/treeNodes.d.ts +0 -12
  284. package/dist/item-classes/treeNodes.js.map +0 -1
  285. package/dist/migrations/initial.d.ts +0 -3
  286. package/dist/migrations/initial.js.map +0 -1
  287. package/dist/proposals/ChangeRequestContext.d.ts +0 -44
  288. package/dist/proposals/ChangeRequestContext.js.map +0 -1
  289. package/dist/proposals/HistoryDrawer.d.ts +0 -12
  290. package/dist/proposals/HistoryDrawer.js.map +0 -1
  291. package/dist/proposals/ListItem.d.ts +0 -9
  292. package/dist/proposals/ListItem.js.map +0 -1
  293. package/dist/proposals/MetaProperties.d.ts +0 -14
  294. package/dist/proposals/MetaProperties.js.map +0 -1
  295. package/dist/proposals/NewProposalMenu.d.ts +0 -10
  296. package/dist/proposals/NewProposalMenu.js.map +0 -1
  297. package/dist/proposals/ProposalBrowser.d.ts +0 -29
  298. package/dist/proposals/ProposalBrowser.js.map +0 -1
  299. package/dist/proposals/ProposalDetail.d.ts +0 -6
  300. package/dist/proposals/ProposalDetail.js.map +0 -1
  301. package/dist/proposals/ProposalItem.d.ts +0 -16
  302. package/dist/proposals/ProposalItem.js.map +0 -1
  303. package/dist/proposals/ProposalSummary.d.ts +0 -6
  304. package/dist/proposals/ProposalSummary.js.map +0 -1
  305. package/dist/proposals/ProposalTab.d.ts +0 -14
  306. package/dist/proposals/ProposalTab.js.map +0 -1
  307. package/dist/proposals/ProposalType.d.ts +0 -11
  308. package/dist/proposals/ProposalType.js.map +0 -1
  309. package/dist/proposals/ProposalWorkspace.d.ts +0 -15
  310. package/dist/proposals/ProposalWorkspace.js.map +0 -1
  311. package/dist/proposals/Search.d.ts +0 -26
  312. package/dist/proposals/Search.js.map +0 -1
  313. package/dist/proposals/TransitionHistory.d.ts +0 -31
  314. package/dist/proposals/TransitionHistory.js.map +0 -1
  315. package/dist/proposals/TransitionOptions.d.ts +0 -38
  316. package/dist/proposals/TransitionOptions.js.map +0 -1
  317. package/dist/proposals/actionableGroups/Tree.d.ts +0 -7
  318. package/dist/proposals/actionableGroups/Tree.js.map +0 -1
  319. package/dist/proposals/actionableGroups/queries.d.ts +0 -4
  320. package/dist/proposals/actionableGroups/queries.js.map +0 -1
  321. package/dist/proposals/actionableGroups/treeNodes.d.ts +0 -27
  322. package/dist/proposals/actionableGroups/treeNodes.js.map +0 -1
  323. package/dist/proposals/actionableGroups/types.d.ts +0 -6
  324. package/dist/proposals/actionableGroups/types.js +0 -5
  325. package/dist/proposals/actionableGroups/types.js.map +0 -1
  326. package/dist/proposals/index.d.ts +0 -6
  327. package/dist/proposals/index.js.map +0 -1
  328. package/dist/proposals/objectChangeset.d.ts +0 -72
  329. package/dist/proposals/objectChangeset.js.map +0 -1
  330. package/dist/proposals/queries.d.ts +0 -4
  331. package/dist/proposals/queries.js.map +0 -1
  332. package/dist/proposals/types.d.ts +0 -332
  333. package/dist/proposals/types.js.map +0 -1
  334. package/dist/types/index.d.ts +0 -6
  335. package/dist/types/index.js.map +0 -1
  336. package/dist/types/item.d.ts +0 -55
  337. package/dist/types/item.js.map +0 -1
  338. package/dist/types/register.d.ts +0 -21
  339. package/dist/types/register.js.map +0 -1
  340. package/dist/types/registry.d.ts +0 -15
  341. package/dist/types/registry.js.map +0 -1
  342. package/dist/types/stakeholder.d.ts +0 -43
  343. package/dist/types/stakeholder.js.map +0 -1
  344. package/dist/types/util.d.ts +0 -28
  345. package/dist/types/util.js.map +0 -1
  346. package/dist/types/views.d.ts +0 -228
  347. package/dist/types/views.js.map +0 -1
  348. package/dist/views/AnnotatedChange.d.ts +0 -7
  349. package/dist/views/AnnotatedChange.js.map +0 -1
  350. package/dist/views/BrowserCtx.d.ts +0 -69
  351. package/dist/views/BrowserCtx.js.map +0 -1
  352. package/dist/views/FilterCriteria/CRITERIA_CONFIGURATION.d.ts +0 -17
  353. package/dist/views/FilterCriteria/CRITERIA_CONFIGURATION.js.map +0 -1
  354. package/dist/views/FilterCriteria/criteriaGroupToQueryExpression.d.ts +0 -6
  355. package/dist/views/FilterCriteria/criteriaGroupToQueryExpression.js.map +0 -1
  356. package/dist/views/FilterCriteria/criteriaGroupToSummary.d.ts +0 -5
  357. package/dist/views/FilterCriteria/criteriaGroupToSummary.js.map +0 -1
  358. package/dist/views/FilterCriteria/criteriaToNodes.d.ts +0 -24
  359. package/dist/views/FilterCriteria/criteriaToNodes.js.map +0 -1
  360. package/dist/views/FilterCriteria/index.d.ts +0 -23
  361. package/dist/views/FilterCriteria/index.js.map +0 -1
  362. package/dist/views/FilterCriteria/models.d.ts +0 -70
  363. package/dist/views/FilterCriteria/models.js.map +0 -1
  364. package/dist/views/FilterCriteria/mutateGroup.d.ts +0 -24
  365. package/dist/views/FilterCriteria/mutateGroup.js.map +0 -1
  366. package/dist/views/GenericRelatedItemView.d.ts +0 -9
  367. package/dist/views/GenericRelatedItemView.js.map +0 -1
  368. package/dist/views/ItemDetailsDrawer.d.ts +0 -12
  369. package/dist/views/ItemDetailsDrawer.js.map +0 -1
  370. package/dist/views/ItemSearchDrawer.d.ts +0 -11
  371. package/dist/views/ItemSearchDrawer.js.map +0 -1
  372. package/dist/views/Party.d.ts +0 -0
  373. package/dist/views/Party.js.map +0 -1
  374. package/dist/views/RegisterStakeholder.d.ts +0 -12
  375. package/dist/views/RegisterStakeholder.js.map +0 -1
  376. package/dist/views/RegisterVersion.d.ts +0 -9
  377. package/dist/views/RegisterVersion.js.map +0 -1
  378. package/dist/views/SearchQuery.d.ts +0 -19
  379. package/dist/views/SearchQuery.js.map +0 -1
  380. package/dist/views/StatefulTree.d.ts +0 -28
  381. package/dist/views/StatefulTree.js.map +0 -1
  382. package/dist/views/detail/AllItems.d.ts +0 -8
  383. package/dist/views/detail/AllItems.js.map +0 -1
  384. package/dist/views/detail/ChangeRequest/index.d.ts +0 -12
  385. package/dist/views/detail/ChangeRequest/index.js.map +0 -1
  386. package/dist/views/detail/CustomView/index.d.ts +0 -13
  387. package/dist/views/detail/CustomView/index.js.map +0 -1
  388. package/dist/views/detail/ProposalWork.d.ts +0 -8
  389. package/dist/views/detail/ProposalWork.js.map +0 -1
  390. package/dist/views/detail/RegisterHome/ActiveProposalDetails.d.ts +0 -15
  391. package/dist/views/detail/RegisterHome/ActiveProposalDetails.js.map +0 -1
  392. package/dist/views/detail/RegisterHome/Block.d.ts +0 -29
  393. package/dist/views/detail/RegisterHome/Block.js.map +0 -1
  394. package/dist/views/detail/RegisterHome/MetaSummary.d.ts +0 -9
  395. package/dist/views/detail/RegisterHome/MetaSummary.js.map +0 -1
  396. package/dist/views/detail/RegisterHome/Proposal.d.ts +0 -14
  397. package/dist/views/detail/RegisterHome/Proposal.js.map +0 -1
  398. package/dist/views/detail/RegisterHome/index.d.ts +0 -5
  399. package/dist/views/detail/RegisterHome/index.js.map +0 -1
  400. package/dist/views/detail/RegisterHome2/index.d.ts +0 -5
  401. package/dist/views/detail/RegisterHome2/index.js.map +0 -1
  402. package/dist/views/detail/RegisterItem/RelatedItems.d.ts +0 -14
  403. package/dist/views/detail/RegisterItem/RelatedItems.js.map +0 -1
  404. package/dist/views/detail/RegisterItem/SupersedingItemMenu.d.ts +0 -13
  405. package/dist/views/detail/RegisterItem/SupersedingItemMenu.js.map +0 -1
  406. package/dist/views/detail/RegisterItem/index.d.ts +0 -21
  407. package/dist/views/detail/RegisterItem/index.js.map +0 -1
  408. package/dist/views/detail/RegisterItemClass.d.ts +0 -12
  409. package/dist/views/detail/RegisterItemClass.js.map +0 -1
  410. package/dist/views/detail/RegisterMeta/RegisterMetaForm.d.ts +0 -10
  411. package/dist/views/detail/RegisterMeta/RegisterMetaForm.js.map +0 -1
  412. package/dist/views/detail/RegisterMeta/index.d.ts +0 -10
  413. package/dist/views/detail/RegisterMeta/index.js.map +0 -1
  414. package/dist/views/detail/index.d.ts +0 -1
  415. package/dist/views/detail/index.js.map +0 -1
  416. package/dist/views/diffing/InlineDiff.d.ts +0 -38
  417. package/dist/views/diffing/InlineDiff.js.map +0 -1
  418. package/dist/views/diffing/StructuredDiff.d.ts +0 -11
  419. package/dist/views/diffing/StructuredDiff.js.map +0 -1
  420. package/dist/views/hooks/useCustomView.d.ts +0 -3
  421. package/dist/views/hooks/useCustomView.js.map +0 -1
  422. package/dist/views/hooks/useItemClassConfig.d.ts +0 -2
  423. package/dist/views/hooks/useItemClassConfig.js.map +0 -1
  424. package/dist/views/hooks/useItemRef.d.ts +0 -3
  425. package/dist/views/hooks/useItemRef.js.map +0 -1
  426. package/dist/views/hooks/useLatestAcceptedProposal.d.ts +0 -2
  427. package/dist/views/hooks/useLatestAcceptedProposal.js.map +0 -1
  428. package/dist/views/hooks/useRegisterVersion.d.ts +0 -5
  429. package/dist/views/hooks/useRegisterVersion.js.map +0 -1
  430. package/dist/views/hooks/useSingleRegisterItemData.d.ts +0 -3
  431. package/dist/views/hooks/useSingleRegisterItemData.js.map +0 -1
  432. package/dist/views/hooks/useStakeholder.d.ts +0 -0
  433. package/dist/views/hooks/useStakeholder.js.map +0 -1
  434. package/dist/views/index.d.ts +0 -8
  435. package/dist/views/index.js.map +0 -1
  436. package/dist/views/itemPathUtils.d.ts +0 -47
  437. package/dist/views/itemPathUtils.js.map +0 -1
  438. package/dist/views/itemQueryUtils.d.ts +0 -12
  439. package/dist/views/itemQueryUtils.js.map +0 -1
  440. package/dist/views/protocolRegistry.d.ts +0 -14
  441. package/dist/views/protocolRegistry.js.map +0 -1
  442. package/dist/views/sidebar/Browse/index.d.ts +0 -11
  443. package/dist/views/sidebar/Browse/index.js.map +0 -1
  444. package/dist/views/sidebar/ExportImport/ExportOptions.d.ts +0 -5
  445. package/dist/views/sidebar/ExportImport/ExportOptions.js.map +0 -1
  446. package/dist/views/sidebar/ExportImport/ImportOptions.d.ts +0 -4
  447. package/dist/views/sidebar/ExportImport/ImportOptions.js.map +0 -1
  448. package/dist/views/sidebar/ExportImport/index.d.ts +0 -3
  449. package/dist/views/sidebar/ExportImport/index.js.map +0 -1
  450. package/dist/views/sidebar/ListItem.d.ts +0 -10
  451. package/dist/views/sidebar/ListItem.js.map +0 -1
  452. package/dist/views/sidebar/Registration/index.d.ts +0 -9
  453. package/dist/views/sidebar/Registration/index.js.map +0 -1
  454. package/dist/views/sidebar/Search/index.d.ts +0 -29
  455. package/dist/views/sidebar/Search/index.js.map +0 -1
  456. package/dist/views/sidebar/index.d.ts +0 -7
  457. package/dist/views/sidebar/index.js.map +0 -1
  458. package/dist/views/util.d.ts +0 -98
  459. package/dist/views/util.js.map +0 -1
  460. package/react-visual-diff.d.ts +0 -9
  461. /package/{compiled/common.d.ts → common.d.ts} +0 -0
  462. /package/{dist/common.js → common.js} +0 -0
  463. /package/{compiled/common.js.map → common.js.map} +0 -0
  464. /package/{compiled/index.d.ts → index.d.ts} +0 -0
  465. /package/{dist/index.js → index.js} +0 -0
  466. /package/{compiled/index.js.map → index.js.map} +0 -0
  467. /package/{compiled/item-classes → item-classes}/Tree.d.ts +0 -0
  468. /package/{dist/item-classes → item-classes}/Tree.js +0 -0
  469. /package/{compiled/item-classes → item-classes}/Tree.js.map +0 -0
  470. /package/{compiled/item-classes → item-classes}/treeNodes.d.ts +0 -0
  471. /package/{dist/item-classes → item-classes}/treeNodes.js +0 -0
  472. /package/{compiled/item-classes → item-classes}/treeNodes.js.map +0 -0
  473. /package/{compiled/migrations → migrations}/initial.d.ts +0 -0
  474. /package/{dist/migrations → migrations}/initial.js +0 -0
  475. /package/{compiled/migrations → migrations}/initial.js.map +0 -0
  476. /package/{compiled/proposals → proposals}/ChangeRequestContext.d.ts +0 -0
  477. /package/{dist/proposals → proposals}/ChangeRequestContext.js +0 -0
  478. /package/{compiled/proposals → proposals}/ChangeRequestContext.js.map +0 -0
  479. /package/{compiled/proposals → proposals}/HistoryDrawer.d.ts +0 -0
  480. /package/{dist/proposals → proposals}/HistoryDrawer.js +0 -0
  481. /package/{compiled/proposals → proposals}/HistoryDrawer.js.map +0 -0
  482. /package/{compiled/proposals → proposals}/ListItem.d.ts +0 -0
  483. /package/{dist/proposals → proposals}/ListItem.js +0 -0
  484. /package/{compiled/proposals → proposals}/ListItem.js.map +0 -0
  485. /package/{compiled/proposals → proposals}/MetaProperties.d.ts +0 -0
  486. /package/{dist/proposals → proposals}/MetaProperties.js +0 -0
  487. /package/{compiled/proposals → proposals}/MetaProperties.js.map +0 -0
  488. /package/{compiled/proposals → proposals}/NewProposalMenu.d.ts +0 -0
  489. /package/{dist/proposals → proposals}/NewProposalMenu.js +0 -0
  490. /package/{compiled/proposals → proposals}/NewProposalMenu.js.map +0 -0
  491. /package/{compiled/proposals → proposals}/ProposalBrowser.d.ts +0 -0
  492. /package/{dist/proposals → proposals}/ProposalBrowser.js +0 -0
  493. /package/{compiled/proposals → proposals}/ProposalBrowser.js.map +0 -0
  494. /package/{compiled/proposals → proposals}/ProposalDetail.d.ts +0 -0
  495. /package/{dist/proposals → proposals}/ProposalDetail.js +0 -0
  496. /package/{compiled/proposals → proposals}/ProposalDetail.js.map +0 -0
  497. /package/{compiled/proposals → proposals}/ProposalItem.d.ts +0 -0
  498. /package/{dist/proposals → proposals}/ProposalItem.js +0 -0
  499. /package/{compiled/proposals → proposals}/ProposalItem.js.map +0 -0
  500. /package/{compiled/proposals → proposals}/ProposalSummary.d.ts +0 -0
  501. /package/{dist/proposals → proposals}/ProposalSummary.js +0 -0
  502. /package/{compiled/proposals → proposals}/ProposalSummary.js.map +0 -0
  503. /package/{compiled/proposals → proposals}/ProposalTab.d.ts +0 -0
  504. /package/{dist/proposals → proposals}/ProposalTab.js +0 -0
  505. /package/{compiled/proposals → proposals}/ProposalTab.js.map +0 -0
  506. /package/{compiled/proposals → proposals}/ProposalType.d.ts +0 -0
  507. /package/{dist/proposals → proposals}/ProposalType.js +0 -0
  508. /package/{compiled/proposals → proposals}/ProposalType.js.map +0 -0
  509. /package/{compiled/proposals → proposals}/ProposalWorkspace.d.ts +0 -0
  510. /package/{dist/proposals → proposals}/ProposalWorkspace.js +0 -0
  511. /package/{compiled/proposals → proposals}/ProposalWorkspace.js.map +0 -0
  512. /package/{compiled/proposals → proposals}/Search.d.ts +0 -0
  513. /package/{dist/proposals → proposals}/Search.js +0 -0
  514. /package/{compiled/proposals → proposals}/Search.js.map +0 -0
  515. /package/{compiled/proposals → proposals}/TransitionHistory.d.ts +0 -0
  516. /package/{dist/proposals → proposals}/TransitionHistory.js +0 -0
  517. /package/{compiled/proposals → proposals}/TransitionHistory.js.map +0 -0
  518. /package/{compiled/proposals → proposals}/TransitionOptions.d.ts +0 -0
  519. /package/{dist/proposals → proposals}/TransitionOptions.js +0 -0
  520. /package/{compiled/proposals → proposals}/TransitionOptions.js.map +0 -0
  521. /package/{compiled/proposals → proposals}/actionableGroups/Tree.d.ts +0 -0
  522. /package/{dist/proposals → proposals}/actionableGroups/Tree.js +0 -0
  523. /package/{compiled/proposals → proposals}/actionableGroups/Tree.js.map +0 -0
  524. /package/{compiled/proposals → proposals}/actionableGroups/queries.d.ts +0 -0
  525. /package/{dist/proposals → proposals}/actionableGroups/queries.js +0 -0
  526. /package/{compiled/proposals → proposals}/actionableGroups/queries.js.map +0 -0
  527. /package/{compiled/proposals → proposals}/actionableGroups/treeNodes.d.ts +0 -0
  528. /package/{dist/proposals → proposals}/actionableGroups/treeNodes.js +0 -0
  529. /package/{compiled/proposals → proposals}/actionableGroups/treeNodes.js.map +0 -0
  530. /package/{compiled/proposals → proposals}/actionableGroups/types.d.ts +0 -0
  531. /package/{dependencies-local/extension-kit/i18n → proposals/actionableGroups}/types.js +0 -0
  532. /package/{compiled/proposals → proposals}/actionableGroups/types.js.map +0 -0
  533. /package/{compiled/proposals → proposals}/index.d.ts +0 -0
  534. /package/{dist/proposals → proposals}/index.js +0 -0
  535. /package/{compiled/proposals → proposals}/index.js.map +0 -0
  536. /package/{compiled/proposals → proposals}/objectChangeset.d.ts +0 -0
  537. /package/{dist/proposals → proposals}/objectChangeset.js +0 -0
  538. /package/{compiled/proposals → proposals}/objectChangeset.js.map +0 -0
  539. /package/{compiled/proposals → proposals}/queries.d.ts +0 -0
  540. /package/{dist/proposals → proposals}/queries.js +0 -0
  541. /package/{compiled/proposals → proposals}/queries.js.map +0 -0
  542. /package/{compiled/proposals → proposals}/types.d.ts +0 -0
  543. /package/{dist/proposals → proposals}/types.js +0 -0
  544. /package/{compiled/proposals → proposals}/types.js.map +0 -0
  545. /package/{compiled/types → types}/index.d.ts +0 -0
  546. /package/{dist/types → types}/index.js +0 -0
  547. /package/{compiled/types → types}/index.js.map +0 -0
  548. /package/{compiled/types → types}/item.d.ts +0 -0
  549. /package/{dist/types → types}/item.js +0 -0
  550. /package/{compiled/types → types}/item.js.map +0 -0
  551. /package/{compiled/types → types}/register.d.ts +0 -0
  552. /package/{dist/types → types}/register.js +0 -0
  553. /package/{compiled/types → types}/register.js.map +0 -0
  554. /package/{compiled/types → types}/registry.d.ts +0 -0
  555. /package/{dist/types → types}/registry.js +0 -0
  556. /package/{compiled/types → types}/registry.js.map +0 -0
  557. /package/{compiled/types → types}/stakeholder.d.ts +0 -0
  558. /package/{dist/types → types}/stakeholder.js +0 -0
  559. /package/{compiled/types → types}/stakeholder.js.map +0 -0
  560. /package/{compiled/types → types}/util.d.ts +0 -0
  561. /package/{dist/types → types}/util.js +0 -0
  562. /package/{compiled/types → types}/util.js.map +0 -0
  563. /package/{compiled/types → types}/views.d.ts +0 -0
  564. /package/{dist/types → types}/views.js +0 -0
  565. /package/{compiled/types → types}/views.js.map +0 -0
  566. /package/{compiled/views → views}/AnnotatedChange.d.ts +0 -0
  567. /package/{dist/views → views}/AnnotatedChange.js +0 -0
  568. /package/{compiled/views → views}/AnnotatedChange.js.map +0 -0
  569. /package/{compiled/views → views}/BrowserCtx.d.ts +0 -0
  570. /package/{dist/views → views}/BrowserCtx.js +0 -0
  571. /package/{compiled/views → views}/BrowserCtx.js.map +0 -0
  572. /package/{compiled/views → views}/FilterCriteria/CRITERIA_CONFIGURATION.d.ts +0 -0
  573. /package/{dist/views → views}/FilterCriteria/CRITERIA_CONFIGURATION.js +0 -0
  574. /package/{compiled/views → views}/FilterCriteria/CRITERIA_CONFIGURATION.js.map +0 -0
  575. /package/{compiled/views → views}/FilterCriteria/criteriaGroupToQueryExpression.d.ts +0 -0
  576. /package/{dist/views → views}/FilterCriteria/criteriaGroupToQueryExpression.js +0 -0
  577. /package/{compiled/views → views}/FilterCriteria/criteriaGroupToQueryExpression.js.map +0 -0
  578. /package/{compiled/views → views}/FilterCriteria/criteriaGroupToSummary.d.ts +0 -0
  579. /package/{dist/views → views}/FilterCriteria/criteriaGroupToSummary.js +0 -0
  580. /package/{compiled/views → views}/FilterCriteria/criteriaGroupToSummary.js.map +0 -0
  581. /package/{compiled/views → views}/FilterCriteria/criteriaToNodes.d.ts +0 -0
  582. /package/{dist/views → views}/FilterCriteria/criteriaToNodes.js +0 -0
  583. /package/{compiled/views → views}/FilterCriteria/criteriaToNodes.js.map +0 -0
  584. /package/{compiled/views → views}/FilterCriteria/index.d.ts +0 -0
  585. /package/{dist/views → views}/FilterCriteria/index.js +0 -0
  586. /package/{compiled/views → views}/FilterCriteria/index.js.map +0 -0
  587. /package/{compiled/views → views}/FilterCriteria/models.d.ts +0 -0
  588. /package/{dist/views → views}/FilterCriteria/models.js +0 -0
  589. /package/{compiled/views → views}/FilterCriteria/models.js.map +0 -0
  590. /package/{compiled/views → views}/FilterCriteria/mutateGroup.d.ts +0 -0
  591. /package/{dist/views → views}/FilterCriteria/mutateGroup.js +0 -0
  592. /package/{compiled/views → views}/FilterCriteria/mutateGroup.js.map +0 -0
  593. /package/{compiled/views → views}/GenericRelatedItemView.d.ts +0 -0
  594. /package/{dist/views → views}/GenericRelatedItemView.js +0 -0
  595. /package/{compiled/views → views}/GenericRelatedItemView.js.map +0 -0
  596. /package/{compiled/views → views}/ItemDetailsDrawer.d.ts +0 -0
  597. /package/{dist/views → views}/ItemDetailsDrawer.js +0 -0
  598. /package/{compiled/views → views}/ItemDetailsDrawer.js.map +0 -0
  599. /package/{compiled/views → views}/ItemSearchDrawer.d.ts +0 -0
  600. /package/{dist/views → views}/ItemSearchDrawer.js +0 -0
  601. /package/{compiled/views → views}/ItemSearchDrawer.js.map +0 -0
  602. /package/{compiled/views → views}/Party.d.ts +0 -0
  603. /package/{dist/views → views}/Party.js +0 -0
  604. /package/{compiled/views → views}/Party.js.map +0 -0
  605. /package/{compiled/views → views}/RegisterStakeholder.d.ts +0 -0
  606. /package/{dist/views → views}/RegisterStakeholder.js +0 -0
  607. /package/{compiled/views → views}/RegisterStakeholder.js.map +0 -0
  608. /package/{compiled/views → views}/RegisterVersion.d.ts +0 -0
  609. /package/{dist/views → views}/RegisterVersion.js +0 -0
  610. /package/{compiled/views → views}/RegisterVersion.js.map +0 -0
  611. /package/{compiled/views → views}/SearchQuery.d.ts +0 -0
  612. /package/{dist/views → views}/SearchQuery.js +0 -0
  613. /package/{compiled/views → views}/SearchQuery.js.map +0 -0
  614. /package/{compiled/views → views}/StatefulTree.d.ts +0 -0
  615. /package/{dist/views → views}/StatefulTree.js +0 -0
  616. /package/{compiled/views → views}/StatefulTree.js.map +0 -0
  617. /package/{compiled/views → views}/detail/AllItems.d.ts +0 -0
  618. /package/{dist/views → views}/detail/AllItems.js +0 -0
  619. /package/{compiled/views → views}/detail/AllItems.js.map +0 -0
  620. /package/{compiled/views → views}/detail/ChangeRequest/index.d.ts +0 -0
  621. /package/{dist/views → views}/detail/ChangeRequest/index.js +0 -0
  622. /package/{compiled/views → views}/detail/ChangeRequest/index.js.map +0 -0
  623. /package/{compiled/views → views}/detail/CustomView/index.d.ts +0 -0
  624. /package/{dist/views → views}/detail/CustomView/index.js +0 -0
  625. /package/{compiled/views → views}/detail/CustomView/index.js.map +0 -0
  626. /package/{compiled/views → views}/detail/ProposalWork.d.ts +0 -0
  627. /package/{dist/views → views}/detail/ProposalWork.js +0 -0
  628. /package/{compiled/views → views}/detail/ProposalWork.js.map +0 -0
  629. /package/{compiled/views → views}/detail/RegisterHome/ActiveProposalDetails.d.ts +0 -0
  630. /package/{dist/views → views}/detail/RegisterHome/ActiveProposalDetails.js +0 -0
  631. /package/{compiled/views → views}/detail/RegisterHome/ActiveProposalDetails.js.map +0 -0
  632. /package/{compiled/views → views}/detail/RegisterHome/Block.d.ts +0 -0
  633. /package/{dist/views → views}/detail/RegisterHome/Block.js +0 -0
  634. /package/{compiled/views → views}/detail/RegisterHome/Block.js.map +0 -0
  635. /package/{compiled/views → views}/detail/RegisterHome/MetaSummary.d.ts +0 -0
  636. /package/{dist/views → views}/detail/RegisterHome/MetaSummary.js +0 -0
  637. /package/{compiled/views → views}/detail/RegisterHome/MetaSummary.js.map +0 -0
  638. /package/{compiled/views → views}/detail/RegisterHome/Proposal.d.ts +0 -0
  639. /package/{dist/views → views}/detail/RegisterHome/Proposal.js +0 -0
  640. /package/{compiled/views → views}/detail/RegisterHome/Proposal.js.map +0 -0
  641. /package/{compiled/views → views}/detail/RegisterHome/index.d.ts +0 -0
  642. /package/{dist/views → views}/detail/RegisterHome/index.js +0 -0
  643. /package/{compiled/views → views}/detail/RegisterHome/index.js.map +0 -0
  644. /package/{compiled/views → views}/detail/RegisterHome2/index.d.ts +0 -0
  645. /package/{dist/views → views}/detail/RegisterHome2/index.js +0 -0
  646. /package/{compiled/views → views}/detail/RegisterHome2/index.js.map +0 -0
  647. /package/{compiled/views → views}/detail/RegisterItem/RelatedItems.d.ts +0 -0
  648. /package/{dist/views → views}/detail/RegisterItem/RelatedItems.js +0 -0
  649. /package/{compiled/views → views}/detail/RegisterItem/RelatedItems.js.map +0 -0
  650. /package/{compiled/views → views}/detail/RegisterItem/SupersedingItemMenu.d.ts +0 -0
  651. /package/{dist/views → views}/detail/RegisterItem/SupersedingItemMenu.js +0 -0
  652. /package/{compiled/views → views}/detail/RegisterItem/SupersedingItemMenu.js.map +0 -0
  653. /package/{compiled/views → views}/detail/RegisterItem/index.d.ts +0 -0
  654. /package/{dist/views → views}/detail/RegisterItem/index.js +0 -0
  655. /package/{compiled/views → views}/detail/RegisterItem/index.js.map +0 -0
  656. /package/{compiled/views → views}/detail/RegisterItemClass.d.ts +0 -0
  657. /package/{dist/views → views}/detail/RegisterItemClass.js +0 -0
  658. /package/{compiled/views → views}/detail/RegisterItemClass.js.map +0 -0
  659. /package/{compiled/views → views}/detail/RegisterMeta/RegisterMetaForm.d.ts +0 -0
  660. /package/{dist/views → views}/detail/RegisterMeta/RegisterMetaForm.js +0 -0
  661. /package/{compiled/views → views}/detail/RegisterMeta/RegisterMetaForm.js.map +0 -0
  662. /package/{compiled/views → views}/detail/RegisterMeta/index.d.ts +0 -0
  663. /package/{dist/views → views}/detail/RegisterMeta/index.js +0 -0
  664. /package/{compiled/views → views}/detail/RegisterMeta/index.js.map +0 -0
  665. /package/{compiled/views → views}/detail/index.d.ts +0 -0
  666. /package/{dist/views → views}/detail/index.js +0 -0
  667. /package/{compiled/views → views}/detail/index.js.map +0 -0
  668. /package/{compiled/views → views}/diffing/InlineDiff.d.ts +0 -0
  669. /package/{dist/views → views}/diffing/InlineDiff.js +0 -0
  670. /package/{compiled/views → views}/diffing/InlineDiff.js.map +0 -0
  671. /package/{compiled/views → views}/diffing/StructuredDiff.d.ts +0 -0
  672. /package/{dist/views → views}/diffing/StructuredDiff.js +0 -0
  673. /package/{compiled/views → views}/diffing/StructuredDiff.js.map +0 -0
  674. /package/{compiled/views → views}/hooks/useCustomView.d.ts +0 -0
  675. /package/{dist/views → views}/hooks/useCustomView.js +0 -0
  676. /package/{compiled/views → views}/hooks/useCustomView.js.map +0 -0
  677. /package/{compiled/views → views}/hooks/useItemClassConfig.d.ts +0 -0
  678. /package/{dist/views → views}/hooks/useItemClassConfig.js +0 -0
  679. /package/{compiled/views → views}/hooks/useItemClassConfig.js.map +0 -0
  680. /package/{compiled/views → views}/hooks/useItemRef.d.ts +0 -0
  681. /package/{dist/views → views}/hooks/useItemRef.js +0 -0
  682. /package/{compiled/views → views}/hooks/useItemRef.js.map +0 -0
  683. /package/{compiled/views → views}/hooks/useLatestAcceptedProposal.d.ts +0 -0
  684. /package/{dist/views → views}/hooks/useLatestAcceptedProposal.js +0 -0
  685. /package/{compiled/views → views}/hooks/useLatestAcceptedProposal.js.map +0 -0
  686. /package/{compiled/views → views}/hooks/useRegisterVersion.d.ts +0 -0
  687. /package/{dist/views → views}/hooks/useRegisterVersion.js +0 -0
  688. /package/{compiled/views → views}/hooks/useRegisterVersion.js.map +0 -0
  689. /package/{compiled/views → views}/hooks/useSingleRegisterItemData.d.ts +0 -0
  690. /package/{dist/views → views}/hooks/useSingleRegisterItemData.js +0 -0
  691. /package/{compiled/views → views}/hooks/useSingleRegisterItemData.js.map +0 -0
  692. /package/{compiled/views → views}/hooks/useStakeholder.d.ts +0 -0
  693. /package/{dist/views → views}/hooks/useStakeholder.js +0 -0
  694. /package/{compiled/views → views}/hooks/useStakeholder.js.map +0 -0
  695. /package/{compiled/views → views}/index.d.ts +0 -0
  696. /package/{dist/views → views}/index.js +0 -0
  697. /package/{compiled/views → views}/index.js.map +0 -0
  698. /package/{compiled/views → views}/itemPathUtils.d.ts +0 -0
  699. /package/{dist/views → views}/itemPathUtils.js +0 -0
  700. /package/{compiled/views → views}/itemPathUtils.js.map +0 -0
  701. /package/{compiled/views → views}/itemQueryUtils.d.ts +0 -0
  702. /package/{dist/views → views}/itemQueryUtils.js +0 -0
  703. /package/{compiled/views → views}/itemQueryUtils.js.map +0 -0
  704. /package/{compiled/views → views}/protocolRegistry.d.ts +0 -0
  705. /package/{dist/views → views}/protocolRegistry.js +0 -0
  706. /package/{compiled/views → views}/protocolRegistry.js.map +0 -0
  707. /package/{compiled/views → views}/sidebar/Browse/index.d.ts +0 -0
  708. /package/{dist/views → views}/sidebar/Browse/index.js +0 -0
  709. /package/{compiled/views → views}/sidebar/Browse/index.js.map +0 -0
  710. /package/{compiled/views → views}/sidebar/ExportImport/ExportOptions.d.ts +0 -0
  711. /package/{dist/views → views}/sidebar/ExportImport/ExportOptions.js +0 -0
  712. /package/{compiled/views → views}/sidebar/ExportImport/ExportOptions.js.map +0 -0
  713. /package/{compiled/views → views}/sidebar/ExportImport/ImportOptions.d.ts +0 -0
  714. /package/{dist/views → views}/sidebar/ExportImport/ImportOptions.js +0 -0
  715. /package/{compiled/views → views}/sidebar/ExportImport/ImportOptions.js.map +0 -0
  716. /package/{compiled/views → views}/sidebar/ExportImport/index.d.ts +0 -0
  717. /package/{dist/views → views}/sidebar/ExportImport/index.js +0 -0
  718. /package/{compiled/views → views}/sidebar/ExportImport/index.js.map +0 -0
  719. /package/{compiled/views → views}/sidebar/ListItem.d.ts +0 -0
  720. /package/{dist/views → views}/sidebar/ListItem.js +0 -0
  721. /package/{compiled/views → views}/sidebar/ListItem.js.map +0 -0
  722. /package/{compiled/views → views}/sidebar/Registration/index.d.ts +0 -0
  723. /package/{dist/views → views}/sidebar/Registration/index.js +0 -0
  724. /package/{compiled/views → views}/sidebar/Registration/index.js.map +0 -0
  725. /package/{compiled/views → views}/sidebar/Search/index.d.ts +0 -0
  726. /package/{dist/views → views}/sidebar/Search/index.js +0 -0
  727. /package/{compiled/views → views}/sidebar/Search/index.js.map +0 -0
  728. /package/{compiled/views → views}/sidebar/index.d.ts +0 -0
  729. /package/{dist/views → views}/sidebar/index.js +0 -0
  730. /package/{compiled/views → views}/sidebar/index.js.map +0 -0
  731. /package/{compiled/views → views}/util.d.ts +0 -0
  732. /package/{dist/views → views}/util.js +0 -0
  733. /package/{compiled/views → views}/util.js.map +0 -0
@@ -1,24 +0,0 @@
1
- import { CriteriaGroup, Criterion } from './models';
2
- declare type TreeMutation<T> = {
3
- action: 'delete';
4
- idx: number;
5
- } | {
6
- action: 'insert';
7
- item: T;
8
- } | {
9
- action: 'edit';
10
- idx: number;
11
- item: T;
12
- };
13
- /**
14
- * Mutates given criteria tree in place.
15
- * If `path` is empty, guarantees to return a list with at least one item.
16
- * (There’s only one top-level element.)
17
- */
18
- export default function mutateGroup(criteria: (CriteriaGroup | Criterion)[],
19
- /**
20
- * Parent node path in reverse (top-level index coming last).
21
- * Empty path would indicate top-level (which is single and cannot be deleted).
22
- */
23
- path: number[], mutation: TreeMutation<CriteriaGroup | Criterion>): void;
24
- export {};
@@ -1 +0,0 @@
1
- {"version":3,"file":"mutateGroup.js","sourceRoot":"","sources":["../../../src/views/FilterCriteria/mutateGroup.ts"],"names":[],"mappings":"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","sourcesContent":["import { CriteriaGroup, Criterion } from './models';\n\n\ntype TreeMutation<T> =\n { action: 'delete'; idx: number; } |\n { action: 'insert'; item: T; } |\n { action: 'edit'; idx: number; item: T; };\n\n\n/**\n * Mutates given criteria tree in place.\n * If `path` is empty, guarantees to return a list with at least one item.\n * (There’s only one top-level element.)\n */\nexport default function mutateGroup(\n criteria: (CriteriaGroup | Criterion)[],\n\n /**\n * Parent node path in reverse (top-level index coming last).\n * Empty path would indicate top-level (which is single and cannot be deleted).\n */\n path: number[],\n\n mutation: TreeMutation<CriteriaGroup | Criterion>,\n) {\n\n if (path.length < 1) {\n if (!criteria[0]?.hasOwnProperty('criteria')) {\n throw new Error(\"Top-level item is not a group\");\n }\n\n if (mutation.action === 'edit') {\n // Adjust root criteria group requirement (any/all/none)\n (criteria[0] as CriteriaGroup).require = (mutation.item as CriteriaGroup).require;\n } else if (mutation.action === 'delete') {\n // We MUST NOT delete the singular root critera.\n // (Calling code depends on there being exactly one top-level group.)\n // However, we can delete all nested criteria.\n (criteria[0] as CriteriaGroup).criteria.splice(0);\n }\n }\n\n // Other adjustments\n for (const [curIdx, c] of criteria.entries()) {\n if (curIdx === path[path.length - 1]) {\n path.pop();\n\n let cg: CriteriaGroup;\n if (c.hasOwnProperty('criteria')) {\n // This item is a group, let’s go in and delete descendants\n cg = c as CriteriaGroup;\n } else {\n // This item is a predicate string, can’t go in and delete descendants\n throw new Error(`Cannot enter item: not a group at path ${path.join('/')}/${curIdx}: ${c}`);\n }\n\n if (path.length > 0) {\n mutateGroup(cg.criteria, path, mutation);\n } else {\n if (mutation.action === 'delete') {\n cg.criteria.splice(mutation.idx, 1);\n } else if (mutation.action === 'insert') {\n cg.criteria.push(mutation.item);\n } else if (mutation.action === 'edit') {\n if (cg.criteria[mutation.idx] === undefined && mutation.idx === cg.criteria.length) {\n if (mutation.item.hasOwnProperty('require')) {\n console.error(cg.criteria, mutation);\n throw new Error(\"Won’t auto-insert new group\");\n }\n // It may be that a new item is being appended\n cg.criteria.push(mutation.item);\n }\n const isGroup = cg.criteria[mutation.idx].hasOwnProperty('require');\n if (isGroup) {\n // If it’s a group, only change the predicate operator to preserve nested items:\n (cg.criteria[mutation.idx] as CriteriaGroup).require =\n (mutation.item as CriteriaGroup).require;\n } else {\n cg.criteria[mutation.idx] = mutation.item;\n }\n }\n }\n }\n }\n}\n"]}
@@ -1,9 +0,0 @@
1
- /** @jsx jsx */
2
- /** @jsxFrag React.Fragment */
3
- import React from 'react';
4
- import { type ControlGroupProps } from '@blueprintjs/core';
5
- import { type GenericRelatedItemViewProps } from '../types';
6
- export declare const GenericRelatedItemView: React.FC<GenericRelatedItemViewProps & {
7
- controlGroupProps?: ControlGroupProps;
8
- }>;
9
- export default GenericRelatedItemView;
@@ -1 +0,0 @@
1
- {"version":3,"file":"GenericRelatedItemView.js","sourceRoot":"","sources":["../../src/views/GenericRelatedItemView.tsx"],"names":[],"mappings":"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","sourcesContent":["/** @jsx jsx */\n/** @jsxFrag React.Fragment */\n\nimport { jsx, css } from '@emotion/react';\nimport React, { useRef, useContext, useCallback, useMemo, useState } from 'react';\nimport { InputGroup, Button, ControlGroup, type ControlGroupProps, type ButtonProps } from '@blueprintjs/core';\nimport {\n type GenericRelatedItemViewProps,\n type RelatedItemClassConfiguration,\n isRegisterItem,\n} from '../types';\nimport { ChangeRequestContext } from '../proposals/ChangeRequestContext';\nimport { isDrafted } from '../proposals/types';\nimport { BrowserCtx } from './BrowserCtx';\nimport ItemSearchDrawer from './ItemSearchDrawer';\nimport ItemDetailsDrawer from './ItemDetailsDrawer';\n\n\nconst DUMMY_REF = {\n classID: '',\n itemID: '',\n subregisterID: '',\n} as const;\n\n\nexport const GenericRelatedItemView: React.FC<GenericRelatedItemViewProps & {\n controlGroupProps?: ControlGroupProps\n}> = function ({\n itemRef, className,\n onCreateNew, onClear, onChange,\n availableClassIDs,\n onJump,\n inputRef,\n controlGroupProps,\n hideItemClassTitle,\n // availableSubregisterIDs,\n // itemSorter,\n}) {\n const {\n useRegisterItemData,\n getRelatedItemClassConfiguration,\n jumpTo,\n } = useContext(BrowserCtx);\n const { changeRequest: activeChangeRequest } = useContext(ChangeRequestContext);\n const { classID, itemID, subregisterID } = itemRef ?? DUMMY_REF;\n\n const itemPathWithClass = `${classID}/${itemID}.yaml`;\n // If curretn register has subregisters, specify subregister-relative path\n const itemPathWithSubregister = subregisterID\n ? `subregisters/${subregisterID}/${itemPathWithClass}`\n : `${itemPathWithClass}`;\n // If a change request is active\n // and this item is among clarifications or additions\n // then use item path relative to the change request\n // TODO: make useRegisterItemData() handle active change request\n const affectedByActiveCR = (\n activeChangeRequest &&\n isDrafted(activeChangeRequest) &&\n activeChangeRequest.items[itemPathWithSubregister]\n );\n const itemPath = affectedByActiveCR\n ? `/proposals/${activeChangeRequest.id}/items/${itemPathWithSubregister}`\n : `/${itemPathWithSubregister}`;\n\n const [selectDialogState, setSelectDialogState] = useState(false);\n const [peekingDrawerState, setPeekingDrawerState] = useState(false);\n\n //log.debug(\"Rendering generic related item view\", itemRef);\n //const { jumpToItem } = useContext(BrowserCtx);\n\n const itemResult = useRegisterItemData({ itemPaths: [itemPath] });\n const item = (itemResult.value?.[itemPath] || null);\n\n const [classConfigured, cfg]: [boolean, RelatedItemClassConfiguration] = useMemo(() => {\n let classConfigured: boolean;\n let cfg: RelatedItemClassConfiguration;\n try {\n cfg = getRelatedItemClassConfiguration(classID);\n classConfigured = true;\n } catch (e) {\n cfg = {\n title: classID,\n itemView: () => <span>{itemID}</span>\n };\n classConfigured = false;\n }\n return [classConfigured, cfg];\n }, [itemID, classID, getRelatedItemClassConfiguration]);\n\n const Item = cfg.itemView;\n\n const classIDs = useMemo((() =>\n availableClassIDs ?? ((itemRef?.classID ?? '') !== '' ? [itemRef!.classID] : [])\n ), [availableClassIDs?.join(','), itemRef?.classID]);\n\n const itemClassTitle = cfg.title.trim() || null;\n\n const hasItem = item !== null && classConfigured && isRegisterItem(item);\n const itemIsMissing = itemID !== '' && (item === null && !itemResult.isUpdating);\n const willShowItemView = hasItem || itemIsMissing || !onChange;\n const canJump = (item !== null || itemIsMissing) && classConfigured && !itemResult.isUpdating && (onJump || jumpTo);\n\n const jump = useCallback(function jump() {\n return onJump\n ? onJump()\n : setPeekingDrawerState(true)\n }, [onJump, jumpTo]);\n\n const itemView: JSX.Element | null = useMemo(() => {\n const classView = <small css={css`letter-spacing: -.01em`}>\n {itemClassTitle\n ? itemClassTitle\n : <em>unknown class</em>}\n </small>;\n const itemView = hasItem\n ? <Item\n itemRef={{ classID, itemID, subregisterID }}\n itemData={item.data}\n css={css`overflow: hidden; text-overflow: ellipsis;`}\n />\n : itemIsMissing\n ? <span css={css`overflow: hidden; text-overflow: ellipsis;`}>\n Not found: {itemID ?? 'N/A'}\n </span>\n : <span>Not specified</span>;\n return <>{itemView}{!hideItemClassTitle ? <>&emsp;{classView}</> : null}</>;\n }, [itemID, classID, !hideItemClassTitle && itemClassTitle, subregisterID, item?.data, hasItem, itemIsMissing]);\n\n const itemButtons = useMemo(() => {\n const canAutoCreateRelatedItem = itemID === '' && onCreateNew && !itemResult.isUpdating;\n const canChangeRelatedItem = /*classIDs.length >= 1 && */onChange && !itemResult.isUpdating;\n const canClear = onClear && itemID !== '' && !itemResult.isUpdating;\n\n let itemButtons: (ButtonProps & { title: string })[] = [];\n\n async function handleCreateNew() {\n if (!onCreateNew) { return; }\n const itemRef = await onCreateNew();\n console.debug(\"Created new item\", itemRef);\n }\n\n if (!hasItem && canAutoCreateRelatedItem) {\n itemButtons.push({\n onClick: handleCreateNew,\n icon: 'add',\n text: 'Auto create',\n intent: 'primary',\n title: \"Automatically create new item\",\n });\n }\n if (canChangeRelatedItem) {\n itemButtons.push({\n onClick: () => setSelectDialogState(true),\n icon: 'edit',\n text: willShowItemView ? undefined : 'Specify',\n intent: 'primary',\n title: \"Select related item\",\n /*disabled: classIDs.length < 1,*/\n });\n }\n if (canClear) {\n itemButtons.push({\n onClick: onClear,\n icon: 'eraser',\n intent: 'danger',\n title: \"Clear related item selection\",\n });\n }\n\n return itemButtons;\n }, [itemID, itemResult.isUpdating, onCreateNew, onChange, onClear]);\n\n const itemTitle = hasItem\n ? `${itemClassTitle ?? 'unknown class'} item ${itemID ?? 'with unknown ID'}`\n : undefined;\n\n /** Input ref for using within this component */\n //const cbRef = useRef<HTMLDivElement | null>(null);\n const _drawerContainerRef = useRef<HTMLElement | null>(null);\n const closePeekingDrawer = useCallback(\n (() => setPeekingDrawerState(false)),\n [setPeekingDrawerState]);\n\n const _itemRef = useMemo(() => itemRef, [JSON.stringify(itemRef)]);\n\n //log.debug(\"Rendering generic related item view: got item\", item);\n return (\n <ControlGroup\n dir=\"ltr\"\n className={className}\n title={itemTitle}\n {...controlGroupProps}>\n\n {/*<div ref={cbRef} />*/}\n\n {/*\n It could technically be a div, since input is empty,\n but that input is useful\n if callers utilize inputRef for form validation API,\n for example.\n */}\n <InputGroup\n fill={hasItem}\n readOnly={!onChange && !onClear}\n inputRef={inputRef}\n onChange={useCallback(() => void 0, [])}\n css={css`\n flex-shrink: 1;\n\n /* leftElement which displays itemView */\n .bp4-input-left-container {\n /* Some obscure magic, since we augment bp4’s styling here. */\n top: unset;\n bottom: .42em;\n padding-left: 10px;\n padding-right: 5px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n display: block;\n\n max-width: 100%;\n }\n .bp4-input {\n /* Hide raw UUID */\n color: rgba(125, 125, 125, 0);\n font-family: monospace;\n padding-left: 0 !important;\n }\n `}\n leftElement={canJump\n ? <a\n onClick={jump}\n css={css`\n display: flex;\n flex-flow: row nowrap;\n align-items: baseline;\n `}>\n {itemView}\n </a>\n : itemView}\n value={itemID ?? ''}\n title={itemTitle}\n />\n\n {/*canJump\n ? <Button outlined onClick={jump} icon=\"maximize\" />\n : null*/}\n\n {itemButtons.map((props, idx) =>\n <Button key={idx} outlined {...props} />\n )}\n\n <ItemSearchDrawer\n isOpen={selectDialogState}\n onClose={useCallback(\n () => setSelectDialogState(false),\n [setSelectDialogState])}\n onChooseItem={onChange}\n availableClassIDs={classIDs}\n />\n\n {_itemRef\n ? <ItemDetailsDrawer\n isOpen={peekingDrawerState}\n onClose={closePeekingDrawer}\n itemRef={_itemRef}\n portalContainer={_drawerContainerRef.current ?? undefined}\n />\n : null}\n\n </ControlGroup>\n );\n};\n\n\nexport default GenericRelatedItemView;\n"]}
@@ -1,12 +0,0 @@
1
- /** @jsx jsx */
2
- /** @jsxFrag React.Fragment */
3
- import React from 'react';
4
- import type { InternalItemReference } from '../types';
5
- declare const ItemDetailDrawer: React.FC<{
6
- itemRef: InternalItemReference;
7
- isOpen: boolean;
8
- usePortal?: boolean;
9
- portalContainer?: HTMLElement;
10
- onClose: () => void;
11
- }>;
12
- export default ItemDetailDrawer;
@@ -1 +0,0 @@
1
- {"version":3,"file":"ItemDetailsDrawer.js","sourceRoot":"","sources":["../../src/views/ItemDetailsDrawer.tsx"],"names":[],"mappings":"AAAA,eAAe;AACf,8BAA8B;AAE9B,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAc,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,kEAAkE,CAAC;AAC1G,OAAO,eAAe,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGpD,MAAM,gBAAgB,GAMjB,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE;IACrE,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC,sBAAsB,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAExC,OAAO,CACL,IAAC,MAAM,IACH,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,KAAK,EACnB,IAAI,EAAE,UAAU,CAAC,KAAK,EACtB,GAAG,EAAE,GAAG,CAAA,0CAA0C,EAClD,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE;QACzC,IAAC,WAAW,IAAC,IAAI;YACf,IAAC,MAAM,IACL,IAAI,EAAC,kBAAkB,EACvB,OAAO,EAAE,WAAW,CAClB,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EACnE,CAAC,OAAO,CAAC,CAAC,EACZ,IAAI,EAAC,eAAe,GACpB;YACF,IAAC,MAAM,IACL,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,OAAO,EAChB,IAAI,EAAC,UAAU,GACf,CACU;QACd,aAAK,GAAG,EAAE,GAAG,CAAA,8BAA8B;YACzC,IAAC,eAAe,CAAC,IAAI,IAAC,GAAG,EAAE,IAAI,GAAI,CAC/B,CACC,CACV,CAAC;AACJ,CAAC,CAAC;AAGF,eAAe,gBAAgB,CAAC","sourcesContent":["/** @jsx jsx */\n/** @jsxFrag React.Fragment */\n\nimport { jsx, css } from '@emotion/react';\nimport React, { useContext, useCallback } from 'react';\nimport { Button, ButtonGroup, Drawer, DrawerSize } from '@blueprintjs/core';\nimport type { InternalItemReference } from '../types';\nimport { TabbedWorkspaceContext } from '@riboseinc/paneron-extension-kit/widgets/TabbedWorkspace/context';\nimport MaybeItemDetail from './detail/RegisterItem';\nimport { Protocols } from './protocolRegistry';\nimport { itemRefToItemPath } from './itemPathUtils';\n\n\nconst ItemDetailDrawer: React.FC<{\n itemRef: InternalItemReference\n isOpen: boolean\n usePortal?: boolean\n portalContainer?: HTMLElement\n onClose: () => void\n}> = function ({ itemRef, usePortal, portalContainer, isOpen, onClose }) {\n const { spawnTab } = useContext(TabbedWorkspaceContext);\n const path = itemRefToItemPath(itemRef);\n\n return (\n <Drawer\n isOpen={isOpen}\n usePortal={usePortal}\n portalContainer={portalContainer}\n onClose={onClose}\n enforceFocus={false}\n size={DrawerSize.LARGE}\n css={css`display: flex; flex-flow: column nowrap;`}\n style={{ padding: '0', width: 'unset' }}>\n <ButtonGroup fill>\n <Button\n icon=\"open-application\"\n onClick={useCallback(\n () => { onClose(); spawnTab(`${Protocols.ITEM_DETAILS}:${path}`); },\n [onClose])}\n text=\"Open in a tab\"\n />\n <Button\n icon=\"minimize\"\n onClick={onClose}\n text=\"Minimize\"\n />\n </ButtonGroup>\n <div css={css`position: relative; flex: 1;`}>\n <MaybeItemDetail.main uri={path} />\n </div>\n </Drawer>\n );\n};\n\n\nexport default ItemDetailDrawer;\n"]}
@@ -1,11 +0,0 @@
1
- /** @jsx jsx */
2
- /** @jsxFrag React.Fragment */
3
- import React from 'react';
4
- import type { InternalItemReference } from '../types';
5
- declare const ItemSearchDrawer: React.FC<{
6
- isOpen: boolean;
7
- onClose: () => void;
8
- onChooseItem?: (itemRef: InternalItemReference) => void;
9
- availableClassIDs: string[];
10
- }>;
11
- export default ItemSearchDrawer;
@@ -1 +0,0 @@
1
- {"version":3,"file":"ItemSearchDrawer.js","sourceRoot":"","sources":["../../src/views/ItemSearchDrawer.tsx"],"names":[],"mappings":"AAAA,eAAe;AACf,8BAA8B;AAE9B,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAc,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG3C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,MAAM,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGpD,MAAM,gBAAgB,GAKjB,UAAU,EACb,MAAM,EAAE,OAAO,EAAE,YAAY,EAC7B,iBAAiB,GAClB;IACC,MAAM,EAAE,YAAY,EAAE,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IAEhD,MAAM,aAAa,GAAgB,OAAO,CAAC,GAAG,EAAE,CAAC,CAC/C,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9B,GAAG,EAAE,YAAY;QACjB,KAAK,EAAE,sBAAsB,KAAK,WAAW;KAC9C,CAAC,CAAC,CACJ,EAAE,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAEnC,MAAM,gBAAgB,GAA8B,OAAO,CAAC,GAAG,EAAE,CAAC,CAChE,aAAa,CAAC,MAAM,GAAG,CAAC;QACtB,CAAC,CAAC;YACE,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,aAAa;SACxB;QACH,CAAC,CAAC,SAAS,CACd,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,QAAQ,EAAE,EAAE;QAC9C,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,iBAAiB,CAAC,YAAY,KAAK,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;QACxE,OAAO,EAAE,CAAC;IACZ,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;IAE5B,OAAO,CACL,IAAC,MAAM,IACH,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,KAAK,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE;QACzC,IAAC,MAAM,IACL,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAC9E,iBAAiB,EAAE,iBAAiB,EACpC,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAC,qBAAqB,EAC/B,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,GACrD,CACK,CACV,CAAC;AACJ,CAAC,CAAC;AAGF,eAAe,gBAAgB,CAAC","sourcesContent":["/** @jsx jsx */\n/** @jsxFrag React.Fragment */\n\nimport { jsx } from '@emotion/react';\nimport React, { useContext, useMemo, useCallback } from 'react';\nimport { Drawer } from '@blueprintjs/core';\nimport type { InternalItemReference } from '../types';\nimport type { Criterion, CriteriaGroup } from './FilterCriteria/models';\nimport { BrowserCtx } from './BrowserCtx';\nimport Search from './sidebar/Search';\nimport { itemPathToItemRef } from './itemPathUtils';\n\n\nconst ItemSearchDrawer: React.FC<{\n isOpen: boolean\n onClose: () => void\n onChooseItem?: (itemRef: InternalItemReference) => void\n availableClassIDs: string[]\n}> = function ({\n isOpen, onClose, onChooseItem,\n availableClassIDs,\n}) {\n const { subregisters } = useContext(BrowserCtx);\n\n const classCriteria: Criterion[] = useMemo(() => (\n availableClassIDs.map(clsID => ({\n key: 'item-class',\n query: `objPath.indexOf(\\\"/${clsID}/\\\") >= 0`,\n }))\n ), [availableClassIDs.toString()]);\n\n const implicitCriteria: CriteriaGroup | undefined = useMemo(() => (\n classCriteria.length > 0\n ? {\n require: 'any',\n criteria: classCriteria,\n }\n : undefined\n ), [classCriteria]);\n\n const handleOpenItem = useCallback((itemPath) => {\n onChooseItem?.(itemPathToItemRef(subregisters !== undefined, itemPath));\n onClose();\n }, [onChooseItem, onClose]);\n\n return (\n <Drawer\n isOpen={isOpen}\n onClose={onClose}\n enforceFocus={false}\n size=\"50vw\"\n style={{ padding: '0', width: 'unset' }}>\n <Search\n style={{ height: '100vh', width: '50vw', minWidth: '500px', maxWidth: '90vw' }}\n availableClassIDs={availableClassIDs}\n implicitCriteria={implicitCriteria}\n stateName=\"item-browser-search\"\n onOpenItem={onChooseItem ? handleOpenItem : undefined}\n />\n </Drawer>\n );\n};\n\n\nexport default ItemSearchDrawer;\n"]}
File without changes
@@ -1 +0,0 @@
1
- {"version":3,"file":"Party.js","sourceRoot":"","sources":["../../src/views/Party.tsx"],"names":[],"mappings":";AAAA,kBAAkB;AAClB,iCAAiC;AACjC,GAAG;AACH,sDAAsD;AACtD,6CAA6C;AAC7C,gEAAgE;AAChE,GAAG;AACH,6EAA6E;AAC7E,6CAA6C;AAC7C,oEAAoE;AACpE,GAAG;AACH,GAAG;AACH,6DAA6D;AAC7D,GAAG;AACH,GAAG;AACH,gFAAgF;AAChF,0CAA0C;AAC1C,8DAA8D;AAC9D,yDAAyD;AACzD,yDAAyD;AACzD,+CAA+C;AAC/C,2CAA2C;AAC3C,6BAA6B;AAC7B,iCAAiC;AACjC,uEAAuE;AACvE,yCAAyC;AACzC,iBAAiB;AACjB,YAAY;AACZ,oBAAoB;AACpB,uCAAuC;AACvC,4BAA4B;AAC5B,OAAO;AACP,IAAI;AACJ,GAAG;AACH,uDAAuD;AACvD,wDAAwD;AACxD,mDAAmD;AACnD,gEAAgE;AAChE,IAAI;AACJ,GAAG;AACH,yDAAyD;AACzD,0DAA0D;AAC1D,iFAAiF;AACjF,IAAI;AACJ,GAAG;AACH,+EAA+E;AAC/E,4CAA4C;AAC5C,2CAA2C;AAC3C,iDAAiD;AACjD,GAAG;AACH,8BAA8B;AAC9B,wBAAwB;AACxB,uCAAuC;AACvC,yBAAyB;AACzB,mEAAmE;AACnE,4BAA4B;AAC5B,aAAa;AACb,yBAAyB;AACzB,MAAM;AACN,IAAI;AACJ,GAAG;AACH,yEAAyE;AACzE,mDAAmD;AACnD,yDAAyD;AACzD,sEAAsE;AACtE,kEAAkE;AAClE,WAAW;AACX,uEAAuE;AACvE,gDAAgD;AAChD,wBAAwB;AACxB,oBAAoB;AACpB,oCAAoC;AACpC,mDAAmD;AACnD,MAAM;AACN,IAAI;AACJ,GAAG;AACH,6EAA6E;AAC7E,+BAA+B;AAC/B,yDAAyD;AACzD,6CAA6C;AAC7C,qDAAqD;AACrD,2CAA2C;AAC3C,iDAAiD;AACjD,yBAAyB;AACzB,mBAAmB;AACnB,oBAAoB;AACpB,kCAAkC;AAClC,qCAAqC;AACrC,OAAO;AACP,IAAI;AACJ,GAAG;AACH,2EAA2E;AAC3E,sCAAsC;AACtC,yDAAyD;AACzD,8BAA8B;AAC9B,wCAAwC;AACxC,iEAAiE;AACjE,uDAAuD;AACvD,sFAAsF;AACtF,YAAY;AACZ,oBAAoB;AACpB,2DAA2D;AAC3D,6DAA6D;AAC7D,OAAO;AACP,IAAI;AACJ,GAAG;AACH,GAAG;AACH,qEAAqE;AACrE,+BAA+B;AAC/B,4CAA4C;AAC5C,wDAAwD;AACxD,oBAAoB;AACpB,mBAAmB;AACnB,yBAAyB;AACzB,OAAO;AACP,IAAI;AACJ,GAAG;AACH,GAAG;AACH,qCAAqC;AACrC,oBAAoB;AACpB,gCAAgC;AAChC,mDAAmD;AACnD,8DAA8D;AAC9D,yDAAyD;AACzD,yDAAyD;AACzD,sDAAsD;AACtD,mDAAmD;AACnD,2EAA2E;AAC3E,mEAAmE;AACnE,6BAA6B;AAC7B,kEAAkE;AAClE,gBAAgB;AAChB,+CAA+C;AAC/C,eAAe;AACf,gCAAgC;AAChC,sHAAsH;AACtH,sBAAsB;AACtB,eAAe;AACf,4CAA4C;AAC5C,6EAA6E;AAC7E,kBAAkB;AAClB,mBAAmB;AACnB,kBAAkB;AAClB,WAAW;AACX,aAAa;AACb,uBAAuB;AACvB,MAAM;AACN,IAAI;AACJ,GAAG;AACH,2DAA2D;AAC3D,mBAAmB;AACnB,4BAA4B;AAC5B,8BAA8B;AAC9B,cAAc","sourcesContent":["// /** @jsx jsx */\n// /** @jsxFrag React.Fragment */\n// \n// import React, { useMemo, useContext } from 'react';\n// import { jsx, css } from '@emotion/react';\n// import { Icon, type IconName, Tag } from '@blueprintjs/core';\n// \n// import { DatasetContext } from '@riboseinc/paneron-extension-kit/context';\n// import { BrowserCtx } from './BrowserCtx';\n// import { registerStakeholderPlain } from './RegisterStakeholder';\n// \n// \n// const PREFERRED_PARTY_SETTING_NAME = 'preferred_party_id';\n// \n// \n// /** Parties that current user can act as, based on chosen remote username. */\n// export function useAvailableParties() {\n// const { useRemoteUsername } = useContext(DatasetContext);\n// const { value: { username } } = useRemoteUsername();\n// const { registerMetadata } = useContext(BrowserCtx);\n// const parties = registerMetadata?.parties;\n// // TODO: Sort party IDs by party name?\n// const partyIDs = parties\n// ? Object.entries(parties).\n// filter(([, party]) => party.gitServerUsername === username).\n// map(([partyID, ]) => partyID).\n// sort()\n// : [];\n// return useMemo(\n// (() => Object.freeze(partyIDs)),\n// [partyIDs.join(',')],\n// );\n// }\n// \n// function usePreferredPartyID(): string | undefined {\n// const { useSettings } = useContext(DatasetContext);\n// const { value: { settings } } = useSettings();\n// return settings[PREFERRED_PARTY_SETTING_NAME] ?? undefined;\n// }\n// \n// export function setPreferredPartyID(partyID: string) {\n// const { updateSetting } = useContext(DatasetContext);\n// return updateSetting({ key: PREFERRED_PARTY_SETTING_NAME, value: partyID });\n// }\n// \n// /** Retrieves current user’s active party (preferred or first available). */\n// export function useCurrentUserPartyID() {\n// const parties = useAvailableParties();\n// const preferPartyID = usePreferredPartyID();\n// \n// if (parties.length < 1) {\n// return undefined;\n// } else if (parties.length === 1) {\n// return parties[0];\n// } else if (preferPartyID && parties.includes(preferPartyID)) {\n// return preferPartyID;\n// } else {\n// return parties[0];\n// }\n// }\n// \n// /** Retrieves full party information about all specified party IDs. */\n// export function useParties(partyIDs: string[]) {\n// const { registerMetadata } = useContext(BrowserCtx);\n// const allPartyIDs = Object.keys(registerMetadata?.parties ?? {});\n// const parties = partyIDs.length < 1 || allPartyIDs.length < 1\n// ? []\n// : partyIDs.map(partyID => registerMetadata?.parties?.[partyID]).\n// filter(party => party !== undefined).\n// map(p => p!);\n// return useMemo(\n// () => Object.freeze(parties),\n// [partyIDs.join(','), allPartyIDs.join(',')],\n// )\n// }\n// \n// /** Retrieves full party information about current user’s active party. */\n// export function useParty() {\n// const { registerMetadata } = useContext(BrowserCtx);\n// const partyID = useCurrentUserPartyID();\n// const parties = registerMetadata?.parties ?? {};\n// const partyIDs = Object.keys(parties);\n// const party = partyID && partyIDs.length > 0\n// ? parties[partyID]\n// : undefined;\n// return useMemo(\n// () => Object.freeze(party),\n// [partyID, partyIDs.join(',')],\n// );\n// }\n// \n// /** Stakeholders that current user’s active party is associated with. */\n// export function useStakeholders() {\n// const { registerMetadata } = useContext(BrowserCtx);\n// const party = useParty();\n// // TODO: Sort stakeholders by name?\n// const stakeholders = party && registerMetadata?.stakeholders\n// ? Object.entries(registerMetadata.stakeholders).\n// filter(([stakeholderID, ]) => party.stakeholderIDs.includes(stakeholderID))\n// : [];\n// return useMemo(\n// () => Object.freeze(stakeholders.map(([, s]) => s)),\n// [party, stakeholders.map(([sID, ]) => sID).join(',')],\n// );\n// }\n// \n// \n// /** Stakeholder roles that current user’s active party inherit. */\n// export function useRoles() {\n// const stakeholders = useStakeholders();\n// const roles = stakeholders.map(s => s.role).sort();\n// return useMemo(\n// () => roles,\n// [roles.join(',')],\n// );\n// }\n// \n// \n// export const PartyView: React.FC<{\n// partyID: string\n// markIfCurrentUser?: boolean\n// }> = function ({ partyID, markIfCurrentUser }) {\n// const { useRemoteUsername } = useContext(DatasetContext);\n// const { value: { username } } = useRemoteUsername();\n// const { registerMetadata } = useContext(BrowserCtx);\n// const party = registerMetadata?.parties[partyID];\n// if (party && registerMetadata?.stakeholders) {\n// const stakeholders = Object.entries(registerMetadata?.stakeholders).\n// filter(([shID, ]) => party.stakeholderIDs.includes(shID)).\n// map(([, sh]) => sh);\n// const isCurrentUser = party.gitServerUsername === username;\n// return <>\n// <Icon icon={ROLE_ICONS[party.type]} />\n// &nbsp;\n// {stakeholders.map(sh =>\n// <span title=\"Stakeholder information\" css={css`white-space: nowrap;`}>{registerStakeholderPlain(sh)}</span>\n// ).join(', ')}\n// &nbsp;\n// {markIfCurrentUser && isCurrentUser\n// ? <Tag round minimal intent=\"primary\" css={css`display: inline;`}>\n// you\n// </Tag>\n// : null}\n// </>;\n// } else {\n// return <>N/A</>;\n// }\n// }\n// \n// const ROLE_ICONS: Readonly<Record<string, IconName>> = {\n// 'role': 'hat',\n// 'individual': 'person',\n// 'organization': 'office',\n// } as const;\n"]}
@@ -1,12 +0,0 @@
1
- /** @jsx jsx */
2
- /** @jsxFrag React.Fragment */
3
- import React from 'react';
4
- import type { RegisterStakeholder } from '../types';
5
- export declare const RegisterStakeholderListItem: React.FC<{
6
- stakeholder: RegisterStakeholder;
7
- showRole?: true;
8
- isCurrentUser?: true;
9
- }>;
10
- export declare function registerStakeholderPlain(stakeholder: RegisterStakeholder, opts?: {
11
- showRole?: boolean;
12
- }): string;
@@ -1 +0,0 @@
1
- {"version":3,"file":"RegisterStakeholder.js","sourceRoot":"","sources":["../../src/views/RegisterStakeholder.tsx"],"names":[],"mappings":"AAAA,eAAe;AACf,8BAA8B;AAG9B,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAI9C,MAAM,CAAC,MAAM,2BAA2B,GAKxC,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE;IAChD,OAAO;QACL,IAAC,IAAI,IAAC,IAAI,EAAC,QAAQ,GAAG;;QAEtB,cACI,KAAK,EAAE,wBAAwB,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAChE,GAAG,EAAE,GAAG,CAAA,0BAA0B,IACnC,wBAAwB,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,CAAC,CAC/C;;QAEN,aAAa;YACZ,CAAC,CAAC,IAAC,GAAG,IAAC,KAAK,QAAC,OAAO,QAAC,MAAM,EAAC,SAAS,EAAC,GAAG,EAAE,GAAG,CAAA,kBAAkB,UAExD;YACR,CAAC,CAAC,IAAI,CACH,CAAC;AACV,CAAC,CAAA;AAGD,MAAM,UAAU,wBAAwB,CACtC,WAAgC,EAChC,IAA6B;IAE7B,OAAO,GAAG,WAAW,CAAC,IAAI,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,EAAC,CAAC,CAAC,KAAK,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACvF,CAAC;AAGD,SAAS,UAAU,CAAC,WAAgC;;IAClD,OAAO,GAAG,MAAA,MAAA,WAAW,CAAC,KAAK,0CAAE,IAAI,CAAC,IAAI,CAAC,mCAAI,YAAY,EAAE,CAAC;AAC5D,CAAC","sourcesContent":["/** @jsx jsx */\n/** @jsxFrag React.Fragment */\n\nimport React from 'react';\nimport { jsx, css } from '@emotion/react';\nimport { Icon, Tag } from '@blueprintjs/core';\nimport type { RegisterStakeholder } from '../types';\n\n\nexport const RegisterStakeholderListItem: React.FC<{\n stakeholder: RegisterStakeholder\n showRole?: true\n isCurrentUser?: true\n}> =\nfunction ({ stakeholder, isCurrentUser, showRole }) {\n return <span>\n <Icon icon=\"person\" />\n &nbsp;\n <span\n title={registerStakeholderPlain(stakeholder, { showRole: true })}\n css={css`white-space: break-word;`}>\n {registerStakeholderPlain(stakeholder, { showRole })}\n </span>\n &nbsp;\n {isCurrentUser\n ? <Tag round minimal intent=\"primary\" css={css`display: inline;`}>\n you\n </Tag>\n : null}\n </span>;\n}\n\n\nexport function registerStakeholderPlain(\n stakeholder: RegisterStakeholder,\n opts?: { showRole?: boolean },\n): string {\n return `${stakeholder.name}${opts?.showRole ? ` (${formatRole(stakeholder)})` : ''}`;\n}\n\n\nfunction formatRole(stakeholder: RegisterStakeholder): string {\n return `${stakeholder.roles?.join(', ') ?? '(no roles)'}`;\n}\n"]}
@@ -1,9 +0,0 @@
1
- /** @jsx jsx */
2
- /** @jsxFrag React.Fragment */
3
- import React from 'react';
4
- import type { Version } from '../types';
5
- export declare const RegisterVersion: React.FC<{
6
- version: Version;
7
- isCurrent?: true;
8
- }>;
9
- export declare function registerVersionPlain(version: Version): string;
@@ -1 +0,0 @@
1
- {"version":3,"file":"RegisterVersion.js","sourceRoot":"","sources":["../../src/views/RegisterVersion.tsx"],"names":[],"mappings":"AAAA,eAAe;AACf,8BAA8B;AAE9B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAGpC,MAAM,CAAC,MAAM,eAAe,GAI5B,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE;IAC9B,OAAO;QACL,IAAC,IAAI,IAAC,IAAI,EAAC,UAAU,GAAG;;QAExB,cAAM,GAAG,EAAE,GAAG,CAAA,sBAAsB,IAAG,oBAAoB,CAAC,OAAO,CAAC,CAAQ;;QAE3E,SAAS;YACR,CAAC,CAAC,IAAC,GAAG,IAAC,KAAK,QAAC,MAAM,EAAC,SAAS,EAAC,KAAK,EAAC,gDAAgD,cAE5E;YACR,CAAC,CAAC,IAAI,CACP,CAAC;AACN,CAAC,CAAA;AAGD,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,OAAO,GAAG,OAAO,CAAC,EAAE,eAAe,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC;AACtE,CAAC","sourcesContent":["/** @jsx jsx */\n/** @jsxFrag React.Fragment */\n\nimport React from 'react';\nimport { jsx, css } from '@emotion/react';\nimport { Tag, Icon } from '@blueprintjs/core';\nimport type { Version } from '../types';\nimport { formatDate } from './util';\n\n\nexport const RegisterVersion: React.FC<{\n version: Version\n isCurrent?: true\n}> =\nfunction ({ version, isCurrent }) {\n return <>\n <Icon icon=\"calendar\" />\n &nbsp;\n <span css={css`white-space: nowrap;`}>{registerVersionPlain(version)}</span>\n &nbsp;\n {isCurrent\n ? <Tag round intent=\"primary\" title=\"This version is the current published version.\">\n current\n </Tag>\n : null}\n </>;\n}\n\n\nexport function registerVersionPlain(version: Version): string {\n return `${version.id} (published ${formatDate(version.timestamp)})`;\n}\n"]}
@@ -1,19 +0,0 @@
1
- /** @jsx jsx */
2
- /** @jsxFrag React.Fragment */
3
- import React from 'react';
4
- import { CriteriaGroup } from './FilterCriteria/models';
5
- declare const SearchQuery: React.FC<{
6
- /**
7
- * Human-readable description of what would be searched.
8
- * Optional, but if provided must be a lower-case noun
9
- * to be integrated in GUI copy.
10
- */
11
- scope?: string;
12
- rootCriteria: CriteriaGroup;
13
- onCriteriaChange?: (rootCriteria: CriteriaGroup) => void;
14
- quickSearchString: string;
15
- onQuickSearchStringChange?: (searchString: string) => void;
16
- availableClassIDs?: string[];
17
- className?: string;
18
- }>;
19
- export default SearchQuery;
@@ -1 +0,0 @@
1
- {"version":3,"file":"SearchQuery.js","sourceRoot":"","sources":["../../src/views/SearchQuery.tsx"],"names":[],"mappings":"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","sourcesContent":["/** @jsx jsx */\n/** @jsxFrag React.Fragment */\n\nimport React, { memo, useMemo, useEffect, useRef, useState, useContext, useCallback } from 'react';\nimport { jsx, css } from '@emotion/react';\nimport { Button, ControlGroup, Colors, InputGroup, Tag, ButtonGroup } from '@blueprintjs/core';\nimport CriteriaTree from './FilterCriteria';\nimport { BLANK_CRITERIA } from './FilterCriteria/models';\nimport { CUSTOM_CONDITION, RAW_SUBSTRING } from './FilterCriteria/CRITERIA_CONFIGURATION';\nimport { CriteriaGroup, Criterion } from './FilterCriteria/models';\nimport criteriaGroupToQueryExpression from './FilterCriteria/criteriaGroupToQueryExpression';\n//import criteriaGroupToSummary from './FilterCriteria/criteriaGroupToSummary';\nimport { BrowserCtx } from './BrowserCtx';\n\n\nconst SearchQuery: React.FC<{\n /**\n * Human-readable description of what would be searched.\n * Optional, but if provided must be a lower-case noun\n * to be integrated in GUI copy.\n */\n scope?: string;\n\n rootCriteria: CriteriaGroup;\n onCriteriaChange?: (rootCriteria: CriteriaGroup) => void;\n\n quickSearchString: string;\n onQuickSearchStringChange?: (searchString: string) => void;\n\n availableClassIDs?: string[];\n className?: string;\n}> = memo(function ({\n scope,\n rootCriteria,\n onCriteriaChange,\n quickSearchString,\n onQuickSearchStringChange,\n availableClassIDs,\n className,\n}) {\n const { itemClasses, subregisters, stakeholder, getQuickSearchPredicate } = useContext(BrowserCtx);\n\n const [ editingAdvanced, toggleEditingAdvanced ] = useState<boolean>(false);\n\n const classIDs = useMemo(\n (() =>\n availableClassIDs === undefined\n ? Object.keys(itemClasses)\n : availableClassIDs\n ),\n [availableClassIDs, itemClasses]);\n\n const hasAdvancedQuery = rootCriteria.criteria.length > 0;\n\n const makeDefaultCriteria = useCallback(function makeDefaultCriteria(): Criterion {\n if (quickSearchString) {\n if (getQuickSearchPredicate) {\n return {\n key: 'custom',\n query: CUSTOM_CONDITION.toQuery(\n { customExpression: getQuickSearchPredicate(quickSearchString) },\n { itemClasses, subregisters },\n ),\n }\n } else {\n return {\n key: 'raw-substring',\n query: RAW_SUBSTRING.toQuery(\n { substring: quickSearchString },\n { itemClasses, subregisters },\n ),\n }\n }\n } else {\n return {\n key: 'custom',\n query: CUSTOM_CONDITION.toQuery(\n { customExpression: 'true' },\n { itemClasses, subregisters },\n ),\n }\n }\n }, [quickSearchString, getQuickSearchPredicate, itemClasses, subregisters]);\n\n const quickSearchIsEnabled = onQuickSearchStringChange && !hasAdvancedQuery;\n const quickSearchInputRef = useRef<HTMLInputElement | null>(null);\n useEffect(() => {\n if (quickSearchIsEnabled && quickSearchInputRef.current) {\n quickSearchInputRef.current.focus();\n }\n }, []);\n\n const quickSearchLabel = scope\n ? `Quick search across ${scope}`\n : \"Quick search\";\n\n return (\n <ControlGroup fill vertical className={className}>\n <InputGroup\n fill\n inputRef={quickSearchInputRef}\n disabled={!quickSearchIsEnabled}\n value={hasAdvancedQuery ? '' : quickSearchString}\n leftIcon=\"search\"\n placeholder={quickSearchLabel}\n title={!hasAdvancedQuery\n ? \"Searching common item attributes (such as names, descriptions, identifiers).\"\n : \"Advanced query overrides quick search. Remove advanced query to re-enable.\"}\n css={css`width: 200px; ${quickSearchString !== '' && !hasAdvancedQuery ? 'input { font-weight: bold; }' : ''}`}\n rightElement={\n !onQuickSearchStringChange || quickSearchString === '' || hasAdvancedQuery\n ? undefined\n : <Button\n onClick={() => onQuickSearchStringChange?.('')}\n small\n minimal\n icon=\"cross\"\n title=\"Clear quick search\"\n />}\n onChange={evt => onQuickSearchStringChange?.(evt.currentTarget.value)}\n />\n {stakeholder\n ? <ButtonGroup fill>\n <Button\n fill\n small\n title=\"Edit advanced search query\"\n icon='filter'\n onClick={!hasAdvancedQuery\n ? (() => {\n onCriteriaChange!({ criteria: [makeDefaultCriteria()], require: 'all' });\n toggleEditingAdvanced(true);\n })\n : () => toggleEditingAdvanced(v => !v)}\n rightIcon={rootCriteria.criteria.length > 0\n ? <Tag intent=\"success\" round>on</Tag>\n : <Tag round>off</Tag>}>\n {editingAdvanced && hasAdvancedQuery\n ? \"Advanced search query\"\n : hasAdvancedQuery\n ? \"Advanced search query\"\n : \"Enable advanced search\"}\n </Button>\n {onCriteriaChange && hasAdvancedQuery\n ? <Button\n fill\n small\n title=\"Remove advanced search query\"\n icon='filter-remove'\n onClick={() => onCriteriaChange!(BLANK_CRITERIA)}>\n Clear advanced search\n </Button>\n : null}\n </ButtonGroup>\n : null}\n {hasAdvancedQuery && editingAdvanced\n ? <>\n <CriteriaTree\n key=\"tree\"\n criteria={rootCriteria}\n onChange={onCriteriaChange}\n itemClasses={itemClasses}\n availableClassIDs={classIDs}\n subregisters={subregisters}\n css={css`max-height: 50vh; overflow-y: auto;`}\n />\n <div\n key=\"query\"\n css={css`\n margin-top: 5px;\n padding: 0 10px 10px 10px;\n color: ${Colors.GRAY3};\n font-size: 90%;\n overflow-wrap: break-word;\n `}>\n Query used: <code>{criteriaGroupToQueryExpression(rootCriteria)}</code>\n </div>\n </>\n : null}\n </ControlGroup>\n );\n});\n\nexport default SearchQuery;\n"]}
@@ -1,28 +0,0 @@
1
- /** @jsx jsx */
2
- /** @jsxFrag React.Fragment */
3
- import React from 'react';
4
- import { type TreeNodeInfo } from '@blueprintjs/core';
5
- /**
6
- * A Blueprint tree node that carries extra data
7
- * denoting whether it’s a group or a leaf item.
8
- */
9
- export declare type ItemOrGroupTreeNode = TreeNodeInfo<{
10
- type: 'group' | 'item';
11
- }>;
12
- export interface State {
13
- selectedItemID: string | null;
14
- expandedItemIDs: readonly string[];
15
- }
16
- /**
17
- * A tree that also uses Paneron’s dataset persistent reducer
18
- * to handle open/closed & selected item state preservation.
19
- */
20
- export declare const GenericStatefulTree: React.FC<{
21
- /** Called with given state, and must return the list of tree nodes. */
22
- getNodes: (state: State) => readonly ItemOrGroupTreeNode[];
23
- /** Key to disambiguate stored state (see usePersistentDatasetStateReducer). */
24
- stateKey: string;
25
- onItemDoubleClick?: (node: TreeNodeInfo<any>) => void;
26
- className?: string;
27
- }>;
28
- export default GenericStatefulTree;
@@ -1 +0,0 @@
1
- {"version":3,"file":"StatefulTree.js","sourceRoot":"","sources":["../../src/views/StatefulTree.tsx"],"names":[],"mappings":"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","sourcesContent":["/** @jsx jsx */\n/** @jsxFrag React.Fragment */\n\nimport React, { useContext, useMemo } from 'react';\nimport update from 'immutability-helper';\nimport { jsx } from '@emotion/react';\nimport { Tree, type TreeNodeInfo } from '@blueprintjs/core';\nimport { DatasetContext } from '@riboseinc/paneron-extension-kit';\nimport type { PersistentStateReducerHook } from '@riboseinc/paneron-extension-kit/usePersistentStateReducer';\n\n\n/**\n * A Blueprint tree node that carries extra data\n * denoting whether it’s a group or a leaf item.\n */\nexport type ItemOrGroupTreeNode = TreeNodeInfo<{ type: 'group' | 'item' }>;\n\nexport interface State {\n selectedItemID: string | null\n expandedItemIDs: readonly string[]\n}\n\nconst initialState: State = {\n selectedItemID: null,\n expandedItemIDs: [],\n} as const;\n\ntype Action =\n | { type: 'select-item'; payload: { itemID: string | null; }; }\n | { type: 'enter-item'; payload: { itemID: string; }; }\n | { type: 'exit-item'; payload: { itemID: string; }; }\n\n\n/**\n * A tree that also uses Paneron’s dataset persistent reducer\n * to handle open/closed & selected item state preservation.\n */\nexport const GenericStatefulTree: React.FC<{\n /** Called with given state, and must return the list of tree nodes. */\n getNodes: (state: State) => readonly ItemOrGroupTreeNode[]\n /** Key to disambiguate stored state (see usePersistentDatasetStateReducer). */\n stateKey: string\n onItemDoubleClick?: (node: TreeNodeInfo<any>) => void\n className?: string\n}> =\nfunction ({ getNodes, stateKey, onItemDoubleClick, className }) {\n // TODO: This component shouldn’t know about dataset, persistent reducer hook can be supplied?\n const { usePersistentDatasetStateReducer } = useContext(DatasetContext);\n\n const [ state, dispatch, ] = (usePersistentDatasetStateReducer as PersistentStateReducerHook<State, Action>)(\n stateKey,\n undefined,\n undefined,\n function reduce(prevState, action) {\n switch (action.type) {\n case 'select-item':\n if (prevState.selectedItemID !== action.payload.itemID) {\n return {\n ...prevState,\n selectedItemID: action.payload.itemID,\n };\n } else {\n return prevState;\n }\n case 'enter-item':\n if (!prevState.expandedItemIDs.includes(action.payload.itemID)) {\n return {\n ...prevState,\n selectedItemID: action.payload.itemID,\n expandedItemIDs: update(\n prevState.expandedItemIDs,\n { $push: [action.payload.itemID] }),\n };\n } else {\n return prevState;\n }\n case 'exit-item':\n const idx = prevState.expandedItemIDs.indexOf(action.payload.itemID);\n if (idx >= 0) {\n return {\n ...prevState,\n selectedItemID: action.payload.itemID,\n expandedItemIDs: update(\n prevState.expandedItemIDs,\n { $splice: [[idx, 1]] }),\n };\n } else {\n return prevState;\n }\n default:\n throw new Error(\"Unexpected browse state\");\n }\n },\n initialState,\n null);\n\n const nodes = useMemo(\n (() => getNodes(state)),\n [state, getNodes]);\n\n const eventHandlers = useMemo((() => ({\n onNodeClick: (node: ItemOrGroupTreeNode) =>\n dispatch({\n type: 'select-item',\n payload: { itemID: node.id as string },\n }),\n onNodeExpand: (node: ItemOrGroupTreeNode) =>\n node.nodeData?.type === 'group'\n ? dispatch({\n type: 'enter-item',\n payload: { itemID: node.id as string },\n })\n : void 0,\n onNodeCollapse: (node: ItemOrGroupTreeNode) =>\n node.nodeData?.type === 'group'\n ? dispatch({\n type: 'exit-item',\n payload: { itemID: node.id as string },\n })\n : void 0,\n onNodeDoubleClick: (node: ItemOrGroupTreeNode) =>\n node.nodeData?.type === 'group'\n ? dispatch({\n type: 'enter-item',\n payload: { itemID: node.id as string },\n })\n : onItemDoubleClick?.(node),\n })), [dispatch, onItemDoubleClick]);\n\n return <Tree\n className={className}\n contents={nodes}\n {...eventHandlers}\n />;\n};\n\nexport default GenericStatefulTree;\n"]}
@@ -1,8 +0,0 @@
1
- /** @jsx jsx */
2
- /** @jsxFrag React.Fragment */
3
- import React from 'react';
4
- declare const _default: {
5
- readonly main: React.VoidFunctionComponent<Record<never, never>>;
6
- readonly title: "All items";
7
- };
8
- export default _default;
@@ -1 +0,0 @@
1
- {"version":3,"file":"AllItems.js","sourceRoot":"","sources":["../../../src/views/detail/AllItems.tsx"],"names":[],"mappings":"AAAA,eAAe;AACf,8BAA8B;AAE9B,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAE,cAAc,IAAI,MAAM,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAGhE,MAAM,UAAU,GAChB,IAAI,CAAC;IACH,OAAO,CACL,IAAC,qBAAqB,IAClB,KAAK,EAAE,6CAAqB;QAC9B,IAAC,IAAI,IAAC,GAAG,EAAE,GAAG,CAAA;;;;;;;;WAQT;YACH,IAAC,MAAM;gBAAC,sCAA+B,CAAS;YAChD,IAAC,MAAM,IACL,GAAG,EAAE,GAAG,CAAA,UAAU;gBAClB,iFAAiF;gBACjF,gBAAgB,EAAE,oBAAoB,EACtC,SAAS,EAAC,kBAAkB,GAE5B,CACG,CACe,CACzB,CAAC;AACJ,CAAC,CAAC,CAAC;AAGH,eAAe;IACb,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,WAAW;CACV,CAAC","sourcesContent":["/** @jsx jsx */\n/** @jsxFrag React.Fragment */\n\nimport React, { memo } from 'react';\nimport { jsx, css } from '@emotion/react';\nimport { Card } from '@blueprintjs/core';\nimport Search from '../sidebar/Search';\nimport { RegisterHelmet as Helmet } from '../util';\nimport { TabContentsWithHeader } from '../util';\nimport { MATCHES_ANY_CRITERIA } from '../FilterCriteria/models';\n\n\nconst ItemSearch: React.VoidFunctionComponent<Record<never, never>> =\nmemo(function () {\n return (\n <TabContentsWithHeader\n title={<>Search all items</>}>\n <Card css={css`\n flex: 1;\n box-shadow: none !important;\n position: absolute;\n border-radius: 0;\n display: flex;\n flex-flow: column nowrap;\n padding: 10px;\n `}>\n <Helmet><title>Search all items</title></Helmet>\n <Search\n css={css`flex: 1;`}\n //style={{ height: '100vh', width: '50vw', minWidth: '500px', maxWidth: '90vw' }}\n implicitCriteria={MATCHES_ANY_CRITERIA}\n stateName=\"all-items-search\"\n //onOpenItem={onChooseItem ? handleOpenItem : undefined}\n />\n </Card>\n </TabContentsWithHeader>\n );\n});\n\n\nexport default {\n main: ItemSearch,\n title: \"All items\",\n} as const;\n"]}
@@ -1,12 +0,0 @@
1
- /** @jsx jsx */
2
- /** @jsxFrag React.Fragment */
3
- import React from 'react';
4
- declare const _default: {
5
- main: React.VoidFunctionComponent<{
6
- uri: string;
7
- }>;
8
- title: React.FC<{
9
- uri: string;
10
- }>;
11
- };
12
- export default _default;
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/views/detail/ChangeRequest/index.tsx"],"names":[],"mappings":"AAAA,eAAe;AACf,8BAA8B;AAE9B,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAC7D,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EACL,aAAa,EACb,OAAO,GACR,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,kEAAkE,CAAC;AAC1G,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EACL,4BAA4B,EAC5B,oBAAoB,GACrB,MAAM,yCAAyC,CAAC;AACjD,OAAO,WAAW,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAGlD,MAAM,IAAI,GACV,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE;IACpB,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAC/B,OAAO,CACL,IAAC,4BAA4B,IAAC,eAAe,EAAE,IAAI;QACjD,IAAC,kBAAkB,IAAC,GAAG,EAAE,GAAG,GAAI,CACH,CAChC,CAAC;AACJ,CAAC,CAAC,CAAC;AAGH,MAAM,kBAAkB,GACxB,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE;IACpB,MAAM,EAAE,eAAe,EAAE,GAAG,UAAU,CAAC,sBAAsB,CAAC,CAAC;IAC/D,MAAM,EAAE,aAAa,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC;IACzE,MAAM,EAAE,gBAAgB,EAAE,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IAEpD,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,KAAK,IAAI,EAAE;QACV,IAAI,QAAQ,EAAE;YACZ,MAAM,QAAQ,EAAE,CAAC;YACjB,eAAe,CAAC,GAAG,SAAS,CAAC,cAAc,IAAI,GAAG,EAAE,CAAC,CAAC;SACvD;IACH,CAAC,CAAC,EACF,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC;IAE/B,OAAO,CAAC,EAAE,IAAI,gBAAgB;QAC5B,CAAC,CAAC,IAAC,WAAW,IACV,QAAQ,EAAE,EAAE,EACZ,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,QAAQ;gBAChB,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,SAAS,GACb;QACJ,CAAC,CAAC,IAAC,aAAa,IACZ,IAAI,EAAE,IAAC,OAAO,OAAG,EACjB,GAAG,EAAE,GAAG,CAAA;;;;SAIP,EACD,WAAW,EAAE,yBAAyB,GACtC,CACL,CAAC;AACJ,CAAC,CAAC,CAAC;AAGH,MAAM,OAAO,GAA8B,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE;;IAC/D,MAAM,EAAE,aAAa,EAAE,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IACrD,MAAM,aAAa,GAAG,MAAA,MAAA,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,0CAAG,GAAG,CAAC,0CAAE,aAAa,CAAC;IAC7F,OAAO;;QAAa,oBAAoB,CAAC,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,GAAG,CAAC;iBAAK,CAAC;AACtE,CAAC,CAAC,CAAC;AAEH,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC","sourcesContent":["/** @jsx jsx */\n/** @jsxFrag React.Fragment */\n\nimport React, { useContext, memo, useCallback } from 'react';\nimport { jsx, css } from '@emotion/react';\nimport {\n NonIdealState,\n Spinner,\n} from '@blueprintjs/core';\nimport { DatasetContext } from '@riboseinc/paneron-extension-kit/context';\nimport { TabbedWorkspaceContext } from '@riboseinc/paneron-extension-kit/widgets/TabbedWorkspace/context';\nimport { BrowserCtx } from '../../BrowserCtx';\nimport { crPathToCRID } from '../../itemPathUtils';\nimport {\n ChangeRequestContextProvider,\n ChangeRequestContext,\n} from '../../../proposals/ChangeRequestContext';\nimport ProposalTab from '../../../proposals/ProposalTab';\nimport { Protocols } from '../../protocolRegistry';\nimport { maybeEllipsizeString } from '../../util';\n\n\nconst View: React.VoidFunctionComponent<{ uri: string }> =\nmemo(function ({ uri }) {\n const crID = crPathToCRID(uri);\n return (\n <ChangeRequestContextProvider changeRequestID={crID}>\n <MaybeChangeRequest uri={uri} />\n </ChangeRequestContextProvider>\n );\n});\n\n\nconst MaybeChangeRequest: React.VoidFunctionComponent<{ uri: string }> =\nmemo(function ({ uri }) {\n const { closeTabWithURI } = useContext(TabbedWorkspaceContext);\n const { changeRequest: cr, deleteCR } = useContext(ChangeRequestContext);\n const { registerMetadata } = useContext(BrowserCtx);\n\n const handleDelete = useCallback(\n (async () => {\n if (deleteCR) {\n await deleteCR();\n closeTabWithURI(`${Protocols.CHANGE_REQUEST}:${uri}`);\n }\n }),\n [deleteCR, closeTabWithURI]);\n\n return (cr && registerMetadata\n ? <ProposalTab\n proposal={cr}\n register={registerMetadata}\n onDelete={deleteCR\n ? handleDelete\n : undefined}\n />\n : <NonIdealState\n icon={<Spinner />}\n css={css`\n position: absolute;\n inset: 0;\n overflow-y: auto;\n `}\n description={\"Unable to load proposal\"}\n />\n );\n});\n\n\nconst CRTitle: React.FC<{ uri: string }> = memo(function ({ uri }) {\n const { useObjectData } = useContext(DatasetContext);\n const justification = useObjectData({ objectPaths: [uri] }).value.data?.[uri]?.justification;\n return <>Proposal “{maybeEllipsizeString(justification ?? uri)}”</>;\n});\n\nexport default { main: View, title: CRTitle };\n"]}
@@ -1,13 +0,0 @@
1
- /** @jsx jsx */
2
- /** @jsxFrag React.Fragment */
3
- import React from 'react';
4
- declare const _default: {
5
- main: React.FC<{
6
- uri: string;
7
- }>;
8
- title: React.FC<{
9
- uri: string;
10
- }>;
11
- plainTitle: () => Promise<string>;
12
- };
13
- export default _default;
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/views/detail/CustomView/index.tsx"],"names":[],"mappings":"AAAA,eAAe;AACf,8BAA8B;AAE9B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,aAAa,MAAM,2BAA2B,CAAC;AAGtD,MAAM,cAAc,GAA8B,UAAU,EAAE,GAAG,EAAE;;IACjE,MAAM,CAAC,MAAM,EAAE,GAAG,cAAc,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnD,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,CAAC,IAAC,aAAa,IACxC,IAAI,EAAC,cAAc,EACnB,KAAK,EAAC,0BAA0B,EAChC,WAAW,EAAE,eAAe,GAAG,4DAA4D,GAC3F,CAAC,CAAC;IACJ,MAAM,IAAI,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,mCAAI,YAAY,CAAC;IACxC,OAAO,IAAC,IAAI,IAAC,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,GAAI,CAAC;AAClD,CAAC,CAAC;AAGF,MAAM,eAAe,GAA8B,UAAU,EAAE,GAAG,EAAE;;IAClE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAC3C,OAAO,0BAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,mCAAI,cAAc,CAAI,CAAC;AAC9C,CAAC,CAAA;AAGD,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,aAAa,EAAE,CAAC;AAGvG,qFAAqF;AACrF,0DAA0D;AAC1D,4EAA4E;AAC5E,qEAAqE;AACrE,gFAAgF;AAChF,aAAa;AACb,kCAAkC;AAClC,yCAAyC;AACzC,iCAAiC;AACjC,mCAAmC;AACnC,2CAA2C;AAC3C,OAAO;AACP,IAAI","sourcesContent":["/** @jsx jsx */\n/** @jsxFrag React.Fragment */\n\nimport React from 'react';\nimport { jsx } from '@emotion/react';\nimport { NonIdealState } from '@blueprintjs/core';\nimport useCustomView from '../../hooks/useCustomView';\n\n\nconst CustomViewMain: React.FC<{ uri: string }> = function ({ uri }) {\n const [viewID, ...pathComponents] = uri.split('/');\n const { value: view } = useCustomView(viewID);\n const fallbackView = (() => <NonIdealState\n icon=\"heart-broken\"\n title=\"Unable to show this view\"\n description={`Custom view ${uri} cannot be displayed (not found in registry configuration)`}\n />);\n const View = view?.view ?? fallbackView;\n return <View path={pathComponents.join('/')} />;\n};\n\n\nconst CustomViewTitle: React.FC<{ uri: string }> = function ({ uri }) {\n const { value: view } = useCustomView(uri);\n return <>{view?.label ?? 'unknown view'}</>;\n}\n\n\nexport default { main: CustomViewMain, title: CustomViewTitle, plainTitle: async () => \"custom view\" };\n\n\n// function useCRData(id: string | undefined): ValueHook<ChangeRequest | undefined> {\n// const { useObjectData } = useContext(DatasetContext);\n// const objectPath = `change-requests/${id ?? 'NONEXISTENT_CR_ID'}.yaml`;\n// const crDataResp = useObjectData({ objectPaths: [objectPath] });\n// const crData = crDataResp.value.data?.[objectPath] as ChangeRequest | null;\n// return {\n// value: crData ?? undefined,\n// isUpdating: crDataResp.isUpdating,\n// errors: crDataResp.errors,\n// refresh: crDataResp.refresh,\n// _reqCounter: crDataResp._reqCounter,\n// };\n// }\n"]}
@@ -1,8 +0,0 @@
1
- /** @jsx jsx */
2
- /** @jsxFrag React.Fragment */
3
- import React from 'react';
4
- declare const _default: {
5
- readonly main: React.VoidFunctionComponent<Record<never, never>>;
6
- readonly title: React.VoidFunctionComponent<Record<never, never>>;
7
- };
8
- export default _default;
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProposalWork.js","sourceRoot":"","sources":["../../../src/views/detail/ProposalWork.tsx"],"names":[],"mappings":"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","sourcesContent":["/** @jsx jsx */\n/** @jsxFrag React.Fragment */\n\nimport React, { useMemo, useContext, useCallback, memo } from 'react';\nimport { jsx, css } from '@emotion/react';\nimport { NonIdealState } from '@blueprintjs/core';\n\nimport { DatasetContext } from '@riboseinc/paneron-extension-kit/context';\nimport type { ObjectChangeset } from '@riboseinc/paneron-extension-kit/types/objects';\n\nimport { BrowserCtx } from '../BrowserCtx';\nimport { canImportCR, canCreateCR } from '../../types/stakeholder';\nimport { ChangeRequestContext } from '../../proposals/ChangeRequestContext';\nimport ProposalTab from '../../proposals/ProposalTab';\nimport NewProposalMenu from '../../proposals/NewProposalMenu';\nimport { isImportableCR } from '../../proposals/types';\nimport { itemPathToItemRef } from '../itemPathUtils';\nimport { formatDate } from '../util';\nimport useLatestAcceptedProposal from '../../views/hooks/useLatestAcceptedProposal';\nimport {\n newCRObjectChangeset,\n importedProposalToCRObjectChangeset,\n} from '../../proposals';\n\n\nconst ProposalWork: React.VoidFunctionComponent<Record<never, never>> =\nmemo(function () {\n const { changeRequest: activeCR, deleteCR } = useContext(ChangeRequestContext);\n const {\n registerMetadata: register,\n stakeholder,\n setActiveChangeRequestID,\n itemClasses,\n } = useContext(BrowserCtx);\n const {\n getMapReducedData,\n requestFileFromFilesystem,\n updateObjects,\n performOperation,\n getObjectData,\n isBusy,\n } = useContext(DatasetContext);\n\n const handleDeactivate = useCallback(\n (() => setActiveChangeRequestID?.(null)),\n [setActiveChangeRequestID]);\n\n const handleDelete = useCallback(async () => {\n if (deleteCR && activeCR && setActiveChangeRequestID) {\n await deleteCR();\n setActiveChangeRequestID(null);\n }\n }, [deleteCR, setActiveChangeRequestID]);\n\n let latestAcceptedProposal: ReturnType<typeof useLatestAcceptedProposal> | undefined;\n try {\n latestAcceptedProposal = useLatestAcceptedProposal();\n } catch (e) {\n console.error(\"Failed to obtain latest accepted proposal\", e);\n latestAcceptedProposal = undefined;\n }\n const getNewEmptyCRChangeset:\n undefined | ((idea: string) => Promise<[ObjectChangeset, string]>) =\n useMemo(() => {\n if (stakeholder && canCreateCR(stakeholder) && latestAcceptedProposal !== undefined) {\n return async function getNewEmptyCRChangeset (newIdea: string) {\n const crID = crypto.randomUUID();\n return [newCRObjectChangeset(\n crID,\n newIdea,\n latestAcceptedProposal?.id ?? 'initial',\n stakeholder!.gitServerUsername!,\n ), crID];\n };\n } else {\n return undefined;\n }\n }, [stakeholder, latestAcceptedProposal?.id]);\n\n const getImportedCRChangeset:\n undefined | (() => Promise<[ObjectChangeset, string]>) =\n useMemo(() => {\n if (requestFileFromFilesystem && stakeholder && canImportCR(stakeholder)) {\n return async function getImportedCRChangeset() {\n const data = await requestFileFromFilesystem({\n prompt: \"Select one register proposal JSON file\",\n filters: [\n { name: \"JSON files\", extensions: ['.json'] },\n ],\n });\n const fileData = Object.values(data)[0]!;\n if (!fileData) {\n throw new Error(\"No file was selected\");\n }\n if (isImportableCR(fileData)) {\n try {\n const [changeset, crID] = await importedProposalToCRObjectChangeset(\n fileData,\n itemClasses,\n stakeholder!.gitServerUsername!,\n getObjectData,\n async function resolvePredicates(predicates) {\n const mapReduceChains = [...predicates.values()].map(predicate => ({\n [predicate]: {\n mapFunc: `\n const data = value.data;\n if (!key.startsWith('/proposals/') && data && (${predicate})) {\n emit({ objectPath: key, objectData: value });\n }\n `,\n },\n })).reduce((prev, curr) => ({ ...prev, ...curr }), {});\n\n const result:\n Record<string, { objectPath: string, objectData: any }[] | {}> =\n await getMapReducedData({\n chains: mapReduceChains,\n });\n\n return Object.entries(result).map(([chainLabel, chainResult]) => {\n const objects =\n // Map returns an empty object if there’re no items,\n // but we promise to return a list.\n (Array.isArray(chainResult) ? chainResult : []);\n if (objects.length < 1) {\n throw new Error(`Unable to resolve predicate to item UUID: no item found matching predicate ${chainLabel}`);\n } else if (objects.length > 1) {\n const objectOverview = objects.map((o: any) => JSON.stringify(o)).join(', ')\n throw new Error(`Unable to resolve predicate to item UUID: more than one item matches predicate ${chainLabel}: ${objectOverview}`);\n } else {\n return {\n // There’s just one item anyway, hence `objects[0]`.\n [chainLabel]: itemPathToItemRef(false, objects[0].objectPath),\n };\n }\n }).reduce((prev, curr) => ({ ...prev, ...curr }), {});\n },\n );\n return [changeset, crID];\n } catch (e) {\n console.error(\"Error reading proposal data\", e);\n throw new Error(\"Error reading proposal data\");\n }\n } else {\n throw new Error(\"Invalid proposal format\");\n }\n }\n } else {\n return undefined;\n }\n }, [getMapReducedData, requestFileFromFilesystem, getObjectData, stakeholder]);\n\n const [importCR, createCR] = useMemo(() => {\n if (updateObjects && setActiveChangeRequestID && !isBusy) {\n return [\n getImportedCRChangeset\n ? performOperation('importing proposal', async function () {\n const [objectChangeset, crID] = await getImportedCRChangeset(); \n await updateObjects({\n commitMessage: 'import proposal',\n objectChangeset,\n });\n setActiveChangeRequestID(crID);\n })\n : undefined,\n getNewEmptyCRChangeset\n ? performOperation('creating blank proposal', async function (newIdea: string) {\n const [objectChangeset, crID] = await getNewEmptyCRChangeset(newIdea);\n await updateObjects({\n commitMessage: `start new empty proposal ${newIdea}`,\n objectChangeset,\n });\n setActiveChangeRequestID(crID);\n })\n : undefined,\n ];\n } else {\n return [undefined, undefined];\n }\n }, [isBusy, performOperation, updateObjects, getImportedCRChangeset, getNewEmptyCRChangeset]);\n\n if (!activeCR || !register || !stakeholder) {\n return <NonIdealState\n icon=\"clean\"\n title=\"Not working on any proposal\"\n description={<>\n <p>\n Choose an actionable proposal from the sidebar to the left\n and activate it by double-clicking\n </p>\n {register && stakeholder && canCreateCR(stakeholder) && latestAcceptedProposal !== undefined\n ? <>\n <p>—or—</p>\n <NewProposalMenu\n css={css`height: 200px;`}\n previousVersion={\n latestAcceptedProposal?.timeDisposed\n ? formatDate(\n latestAcceptedProposal.timeDisposed,\n { showTime: true, useUTC: true })\n : null}\n onImport={importCR}\n onCreateBlank={createCR}\n />\n </>\n : null}\n </>}\n />;\n } else {\n return <ProposalTab\n proposal={activeCR}\n register={register}\n stakeholder={stakeholder}\n onDelete={(deleteCR) ? handleDelete : undefined}\n onDeactivate={setActiveChangeRequestID ? handleDeactivate : undefined}\n />;\n }\n});\n\n\nconst ProposalWorkTitle: React.VoidFunctionComponent<Record<never, never>> = function () {\n const { changeRequest: activeCR } = useContext(ChangeRequestContext);\n return <>{activeCR\n ? <strong>Active proposal</strong>\n : <>Proposal dashboard</>}</>;\n};\n\n\nexport default {\n main: ProposalWork,\n title: ProposalWorkTitle,\n} as const;\n"]}
@@ -1,15 +0,0 @@
1
- /** @jsx jsx */
2
- /** @jsxFrag React.Fragment */
3
- import React from 'react';
4
- import type { Register, RegisterStakeholder } from '../../../types';
5
- import { type SomeCR as CR } from '../../../proposals/types';
6
- declare const CurrentProposalBlock: React.VoidFunctionComponent<{
7
- proposal: CR;
8
- register: Register;
9
- stakeholder?: RegisterStakeholder;
10
- canDelete?: boolean;
11
- onDelete?: () => (void | Promise<void>);
12
- onOpen?: () => void;
13
- className?: string;
14
- }>;
15
- export default CurrentProposalBlock;
@@ -1 +0,0 @@
1
- {"version":3,"file":"ActiveProposalDetails.js","sourceRoot":"","sources":["../../../../src/views/detail/RegisterHome/ActiveProposalDetails.tsx"],"names":[],"mappings":"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","sourcesContent":["/** @jsx jsx */\n/** @jsxFrag React.Fragment */\n\nimport React, { useMemo } from 'react';\nimport { jsx, css } from '@emotion/react';\nimport { type MenuItemProps } from '@blueprintjs/core';\n\nimport DL from '@riboseinc/paneron-extension-kit/widgets/DL';\n\nimport MetaProperties from '../../../proposals/MetaProperties';\nimport type { Register, RegisterStakeholder } from '../../../types';\nimport { type SomeCR as CR, isCreatedBy } from '../../../proposals/types';\nimport TransitionOptions, { isFinalState, getTransitions, canBeTransitionedBy } from '../../../proposals/TransitionOptions';\nimport TransitionsAndStatus, { getTransitionHistory } from '../../../proposals/TransitionHistory';\nimport HomeBlock from './Block';\n\n\nconst CurrentProposalBlock: React.VoidFunctionComponent<{\n proposal: CR\n register: Register\n stakeholder?: RegisterStakeholder\n canDelete?: boolean\n onDelete?: () => (void | Promise<void>)\n onOpen?: () => void\n className?: string\n}> = function ({ proposal, stakeholder, register, onDelete, onOpen, canDelete, className }) {\n const actions = useMemo(() => {\n const actions: MenuItemProps[] = stakeholder && canBeTransitionedBy(stakeholder, proposal)\n ? [/*{\n // Action is taken from within the widget.\n text: \"Take action\",\n onClick: () => void 0,\n icon: 'take-action',\n intent: 'primary',\n }*/]\n : [];\n\n if (canDelete) {\n actions.push({\n text: \"Delete this proposal draft\",\n onClick: onDelete,\n disabled: !onDelete,\n icon: 'delete',\n intent: 'danger',\n });\n }\n\n actions.push({\n text: \"View proposal in a new tab\",\n icon: 'open-application',\n disabled: !onOpen,\n onClick: onOpen,\n });\n\n return actions;\n }, [onDelete, onOpen, stakeholder, proposal, canDelete]);\n\n return (\n <HomeBlock\n View={CurrentProposal}\n description=\"Active proposal\"\n props={{ proposal, stakeholder, register }}\n className={className}\n actions={actions}\n />\n );\n};\n\nexport default CurrentProposalBlock;\n\n\nconst CurrentProposal: React.VoidFunctionComponent<{\n proposal: CR\n register: Register\n stakeholder?: RegisterStakeholder\n}> = function ({ stakeholder, register, proposal }) {\n const transitions = stakeholder\n ? getTransitions(proposal, stakeholder)\n : [];\n const crStakeholder = (register?.stakeholders ?? []).\n find(s => isCreatedBy(s, proposal));\n\n return (\n <>\n <DL css={css`padding: 10px 12px 10px 12px; flex-grow: 1; flex-basis: max-content;`}>\n <div>\n <dt>Viewing&nbsp;proposal:</dt>\n <dd css={css`max-height: 40px; overflow-y: auto;`}>\n “{proposal.justification.trim() || '(justification N/A)'}”\n </dd>\n </div>\n <MetaProperties\n cr={proposal}\n currentStakeholder={stakeholder}\n submittingStakeholder={crStakeholder}\n />\n </DL>\n <div css={css`overflow-y: auto; flex-basis: min-content;`}>\n <TransitionsAndStatus\n pastTransitions={getTransitionHistory(proposal)}\n isFinal={isFinalState(proposal.state)}\n />\n {transitions.length > 0\n ? <TransitionOptions\n stakeholder={stakeholder}\n transitions={transitions}\n cr={proposal}\n css={css`padding: 12px;`}\n />\n : null}\n </div>\n </>\n );\n};\n"]}
@@ -1,29 +0,0 @@
1
- /** @jsx jsx */
2
- /** @jsxFrag React.Fragment */
3
- import React from 'react';
4
- import { jsx } from '@emotion/react';
5
- import { type MenuItemProps, type MenuDividerProps } from '@blueprintjs/core';
6
- interface HomeBlockProps<P extends Record<string, any>> {
7
- description: string;
8
- View: React.VoidFunctionComponent<P>;
9
- /** Props to pass the `View`. */
10
- props: P | null | undefined;
11
- /** Shown if `props` is `null`. */
12
- error?: string | JSX.Element;
13
- /** Shown beneath `View`. */
14
- actions?: (MenuItemProps | MenuDividerProps)[];
15
- /** Applies to wrapper card div. */
16
- className?: string;
17
- }
18
- export default function HomeBlock<P extends Record<string, any>>({ View, description, props, error, actions, className }: HomeBlockProps<P>): jsx.JSX.Element;
19
- export declare function HomeBlockActions({ actions }: {
20
- actions?: (MenuItemProps | MenuDividerProps)[];
21
- }): jsx.JSX.Element;
22
- export declare const HomeBlockCard: import("@emotion/styled").StyledComponent<{
23
- description: string;
24
- } & import("@blueprintjs/core").ICardProps & {
25
- children?: React.ReactNode;
26
- } & {
27
- theme?: import("@emotion/react").Theme | undefined;
28
- }, {}, {}>;
29
- export {};
@@ -1 +0,0 @@
1
- {"version":3,"file":"Block.js","sourceRoot":"","sources":["../../../../src/views/detail/RegisterHome/Block.tsx"],"names":[],"mappings":"AAGA,wCAAwC;AACxC,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EACL,IAAI,EACJ,QAAQ,EAAE,WAAW,EAErB,aAAa,EACb,OAAO,GACR,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAmBxC,MAAM,CAAC,OAAO,UAAU,SAAS,CAC/B,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAqB;;IAE1E,OAAO,CACL,IAAC,aAAa,IACV,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS;QACrB,KAAK;YACJ,CAAC,CAAC,IAAC,IAAI,OAAK,KAAK,GAAI;YACrB,CAAC,CAAC,KAAK,KAAK,SAAS;gBACnB,CAAC,CAAC,IAAC,aAAa,IAAC,IAAI,EAAE,IAAC,OAAO,OAAG,GAAI;gBACtC,CAAC,CAAC,IAAC,aAAa,IAAC,IAAI,EAAC,cAAc,EAAC,KAAK,EAAC,gBAAgB,EAAC,WAAW,EAAE,KAAK,GAAI;QACrF,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,mCAAI,CAAC,CAAC,GAAG,CAAC;YACzB,CAAC,CAAC,IAAC,gBAAgB,IAAC,OAAO,EAAE,OAAO,GAAI;YACxC,CAAC,CAAC,IAAI,CACM,CACjB,CAAC;AACJ,CAAC;AAGD,MAAM,UAAU,gBAAgB,CAAC,EAAE,OAAO,EAAsD;IAC9F,OAAO,IAAC,mBAAmB,QACxB,OAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CACzB,eAAe,CAAC,GAAG,CAAC;QAClB,CAAC,CAAC,IAAC,QAAQ,IAAC,GAAG,EAAE,GAAG,KAAO,GAAqB,GAAK;QACrD,CAAC,CAAC,IAAC,WAAW,IAAC,GAAG,EAAE,GAAG,KAAM,GAAG,GAAK,CACxC,CACmB,CAAA;AACxB,CAAC;AAGD,SAAS,eAAe,CAAC,GAAqC;IAC5D,MAAM,CAAC,GAAG,GAAU,CAAC;IACrB,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AACpF,CAAC;AAGD,MAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;;;CAGvC,CAAC;AAGF,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,CAAA;;;;;;;CAO9C,CAAC","sourcesContent":["/** @jsx jsx */\n/** @jsxFrag React.Fragment */\nimport React from 'react';\n//import { Helmet } from 'react-helmet';\nimport styled from '@emotion/styled';\nimport { jsx } from '@emotion/react';\nimport {\n Menu,\n MenuItem, MenuDivider,\n type MenuItemProps, type MenuDividerProps,\n NonIdealState,\n Spinner,\n} from '@blueprintjs/core';\nimport { CardInGrid } from '../../util';\n\n\ninterface HomeBlockProps<P extends Record<string, any>> {\n description: string,\n View: React.VoidFunctionComponent<P>,\n\n /** Props to pass the `View`. */\n props: P | null | undefined,\n\n /** Shown if `props` is `null`. */\n error?: string | JSX.Element,\n\n /** Shown beneath `View`. */\n actions?: (MenuItemProps | MenuDividerProps)[],\n\n /** Applies to wrapper card div. */\n className?: string,\n}\nexport default function HomeBlock<P extends Record<string, any>>(\n { View, description, props, error, actions, className }: HomeBlockProps<P>\n) {\n return (\n <HomeBlockCard\n description={description}\n className={className}>\n {props\n ? <View {...props} />\n : props === undefined\n ? <NonIdealState icon={<Spinner />} />\n : <NonIdealState icon=\"heart-broken\" title=\"Failed to load\" description={error} />}\n {(actions?.length ?? 0) > 0\n ? <HomeBlockActions actions={actions} />\n : null}\n </HomeBlockCard>\n );\n}\n\n\nexport function HomeBlockActions({ actions }: { actions?: (MenuItemProps | MenuDividerProps)[] }) {\n return <HomeBlockActionMenu>\n {actions!.map((mip, idx) =>\n isMenuItemProps(mip)\n ? <MenuItem key={idx} {...(mip as MenuItemProps) } />\n : <MenuDivider key={idx} {...mip } />\n )}\n </HomeBlockActionMenu>\n}\n\n\nfunction isMenuItemProps(val: MenuItemProps | MenuDividerProps): val is MenuItemProps {\n const p = val as any;\n return p.onClick || p.disabled || p.icon || p.selected || p.active ? true : false;\n}\n\n\nconst HomeBlockActionMenu = styled(Menu)`\n background: none !important;\n flex-shrink: 0;\n`;\n\n\nexport const HomeBlockCard = styled(CardInGrid)`\n padding: 5px;\n display: flex; flex-flow: column nowrap;\n overflow: hidden;\n transition:\n width .5s linear,\n height .5s linear;\n`;\n"]}
@@ -1,9 +0,0 @@
1
- /** @jsx jsx */
2
- /** @jsxFrag React.Fragment */
3
- import React from 'react';
4
- import type { Register } from '../../../types';
5
- declare const MetaSummary: React.VoidFunctionComponent<{
6
- register: Register;
7
- style?: React.CSSProperties;
8
- }>;
9
- export default MetaSummary;
@@ -1 +0,0 @@
1
- {"version":3,"file":"MetaSummary.js","sourceRoot":"","sources":["../../../../src/views/detail/RegisterHome/MetaSummary.tsx"],"names":[],"mappings":"AAAA,eAAe;AACf,8BAA8B;AAG9B,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,MAAM,6CAA6C,CAAC;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAC;AACnF,OAAO,EAAE,GAAG,EAAE,MAAM,mCAAmC,CAAC;AAIxD,MAAM,WAAW,GAGZ,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE;;IAChC,OAAO,CACL,IAAC,EAAE,IAAC,KAAK,EAAE,KAAK;QACd;YACE,wCAA8B;YAC9B,gBAAK,CAAA,MAAA,QAAQ,CAAC,OAAO,0CAAE,EAAE,KAAI,KAAK,CAAM,CACpC;QACN;YACE,sCAA4B;YAC5B,gBAAK,QAAQ,CAAC,IAAI,CAAM,CACpB;QACL,QAAQ,CAAC,iBAAiB;YACzB,CAAC,CAAC;gBACE,2CAAiC;gBACjC;oBACE,IAAC,GAAG,IAAC,GAAG,EAAE,0BAA0B,CAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAI,CACjE,CACD;YACR,CAAC,CAAC,IAAI;QACR;YACE,wCAA8B;YAC9B,YAAI,uBAAuB,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,cAAc,IAAI,KAAK,EAAE,GAAO,CAC5E,CACH,CACN,CAAC;AACJ,CAAC,CAAC;AAGF,eAAe,WAAW,CAAC","sourcesContent":["/** @jsx jsx */\n/** @jsxFrag React.Fragment */\n\nimport React from 'react';\nimport { jsx } from '@emotion/react';\nimport DL from '@riboseinc/paneron-extension-kit/widgets/DL';\nimport { normalizeObjectRecursively } from '@riboseinc/paneron-extension-kit/util';\nimport { Val } from '../../../views/diffing/InlineDiff';\nimport type { Register } from '../../../types';\n\n\nconst MetaSummary: React.VoidFunctionComponent<{\n register: Register\n style?: React.CSSProperties\n}> = function ({ register, style }) {\n return (\n <DL style={style}>\n <div>\n <dt>Viewing&nbsp;version:</dt>\n <dd>{register.version?.id || 'N/A'}</dd>\n </div>\n <div>\n <dt>Register&nbsp;name:</dt>\n <dd>{register.name}</dd>\n </div>\n {register.operatingLanguage\n ? <div>\n <dt>Operating&nbsp;language:</dt>\n <dd>\n <Val val={normalizeObjectRecursively(register.operatingLanguage)} />\n </dd>\n </div>\n : null}\n <div>\n <dt>Content&nbsp;summary:</dt>\n <dd dangerouslySetInnerHTML={{ __html: register.contentSummary || 'N/A' }}></dd>\n </div>\n </DL>\n );\n};\n\n\nexport default MetaSummary;\n"]}
@@ -1,14 +0,0 @@
1
- /** @jsx jsx */
2
- /** @jsxFrag React.Fragment */
3
- import React from 'react';
4
- import type { Register } from '../../../types';
5
- import { type SomeCR as CR } from '../../../proposals/types';
6
- export declare const Proposals: React.VoidFunctionComponent<{
7
- register: Register;
8
- actionableProposals?: [groupLabel: JSX.Element | string, proposals: CR[] | undefined][];
9
- onCreate?: (idea: string | false) => Promise<void>;
10
- createMode?: boolean;
11
- onSelectProposal?: (id: string) => void;
12
- onRefreshProposals?: () => void;
13
- className?: string;
14
- }>;
@@ -1 +0,0 @@
1
- {"version":3,"file":"Proposal.js","sourceRoot":"","sources":["../../../../src/views/detail/RegisterHome/Proposal.tsx"],"names":[],"mappings":"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","sourcesContent":["/** @jsx jsx */\n/** @jsxFrag React.Fragment */\n\nimport React, {\n useState,\n useContext,\n useRef,\n useEffect,\n useCallback,\n useMemo,\n} from 'react';\nimport { jsx, css } from '@emotion/react';\nimport {\n Button,\n FormGroup,\n ControlGroup,\n TextArea,\n PanelStack2 as PanelStack, type Panel,\n Menu, MenuDivider, MenuItem,\n Spinner,\n NonIdealState,\n} from '@blueprintjs/core';\n\nimport { ChangeRequestContext } from '../../../proposals/ChangeRequestContext';\nimport { maybeEllipsizeString } from '../../util';\nimport type { Register } from '../../../types';\nimport { type SomeCR as CR } from '../../../proposals/types';\n\n\nconst NewProposal: React.VoidFunctionComponent<{\n register: Register\n onCreateBlank?: (idea: string) => Promise<void>\n className?: string\n}> = function ({ register, onCreateBlank, className }) {\n const [ newProposalIdea, setNewProposalIdea ] = useState('');\n\n const handleNewProposal = useCallback(async function handleNewProposal () {\n if (newProposalIdea.trim()) {\n await onCreateBlank?.(newProposalIdea);\n setNewProposalIdea('');\n } else {\n throw new Error(\"Cannot create proposal: need some initial motivation for the change\");\n }\n }, [newProposalIdea, onCreateBlank]);\n\n return (\n <FormGroup\n className={className}\n css={css`overflow-y: auto;`}\n label={<>Propose a change to version {register.version?.id ?? '(N/A)'}:</>}>\n <ControlGroup vertical>\n <TextArea\n value={newProposalIdea ?? ''}\n placeholder=\"Your idea…\"\n title=\"Justification draft (you can change this later)\"\n onChange={evt => setNewProposalIdea(evt.currentTarget.value)}\n />\n <Button\n fill\n intent={newProposalIdea ? 'primary': undefined}\n disabled={!newProposalIdea.trim() || !onCreateBlank}\n title=\"A blank proposal will be created and opened in a new tab.\"\n onClick={handleNewProposal}\n icon=\"tick\">\n Create\n </Button>\n </ControlGroup>\n </FormGroup>\n );\n};\n\n\n/**\n * A list of menu items for given actionable proposals,\n * grouped by label.\n */\nconst ActionableProposalItems: React.VoidFunctionComponent<{\n actionableProposals: [groupLabel: JSX.Element | string, proposals: CR[] | undefined][]\n onSelect?: (proposalID: string) => void\n}> = function ActionableProposalItems ({ actionableProposals, onSelect }) {\n return <>{\n actionableProposals?.\n filter(([, proposals]) => proposals && proposals.length > 0).\n map(([groupLabel, proposals], idx) =>\n <React.Fragment key={idx}>\n <MenuDivider title={groupLabel} />\n {proposals !== undefined && proposals.length > 0\n ? proposals.map(cr =>\n <ActionableProposalItem\n key={cr.id}\n cr={cr}\n onClick={onSelect}\n />)\n : proposals === undefined\n ? <MenuItem disabled text=\"Loading…\" icon={<Spinner />} />\n : <MenuItem disabled text=\"No pending proposals\" icon=\"clean\" />}\n </React.Fragment>)\n }</>;\n};\n\n\nconst ActionableProposalItem: React.VoidFunctionComponent<{\n cr: CR\n onClick?: (crID: string) => void\n}> = function ({ cr, onClick }) {\n // TODO: Try to avoid useContext here.\n // Originally activeCR was passed via prop, need to try again.\n // Switch to context was done to avoid rerendering the entire list\n // & losing scroll position.\n // We want(?) active CR to determine if this item is active\n // and keep it in viewport after user switches back.\n const { changeRequest: activeCR } = useContext(ChangeRequestContext);\n const selectedMenuItem = useRef<HTMLLIElement | null>(null);\n const isActive = activeCR && cr.id === activeCR?.id\n ? true\n : false;\n useEffect(() => {\n selectedMenuItem.current?.scrollIntoView?.({ block: 'nearest' });\n }, [isActive]);\n const handleClick = useCallback(() => {\n return onClick?.(cr.id);\n }, [onClick, cr.id]);\n return (\n <MenuItem\n key={cr.id}\n elementRef={isActive ? selectedMenuItem : undefined}\n selected={isActive}\n active={isActive}\n text={maybeEllipsizeString(cr.justification?.trim() || cr.id, 120)}\n htmlTitle={cr.justification}\n disabled={!onClick}\n onClick={onClick ? handleClick : undefined}\n />\n );\n};\n\n\nexport const Proposals: React.VoidFunctionComponent<{\n register: Register\n actionableProposals?: [groupLabel: JSX.Element | string, proposals: CR[] | undefined][]\n onCreate?: (idea: string | false) => Promise<void>\n createMode?: boolean\n onSelectProposal?: (id: string) => void\n onRefreshProposals?: () => void\n className?: string\n}> = function ({\n register,\n actionableProposals,\n onCreate,\n createMode,\n onSelectProposal,\n onRefreshProposals,\n className,\n}) {\n const hasActionable = (actionableProposals && actionableProposals.find(p => p[1] && p[1].length > 0));\n const proposalMenuItems = useMemo(() => {\n return hasActionable || onCreate\n ? <ActionableProposalItems\n actionableProposals={actionableProposals ?? []}\n onSelect={onSelectProposal}\n />\n : null;\n }, [onSelectProposal, onCreate, hasActionable, actionableProposals]);\n\n const stack: Panel<any>[] = useMemo(() => {\n const stack = [];\n const proposalMenu = proposalMenuItems\n ? <Menu css={css`overflow-y: auto; background: none !important;`}>\n {proposalMenuItems}\n </Menu>\n : null;\n if (proposalMenu) {\n stack.push({\n title: createMode\n ? \"Proposals\"\n : <>\n Proposals\n {hasActionable || (onCreate && onRefreshProposals)\n ? <>\n &nbsp;\n <Button\n minimal\n small\n onClick={onRefreshProposals}\n disabled={!onRefreshProposals}\n icon=\"refresh\"\n />\n </>\n : null}\n </>,\n renderPanel: () => proposalMenu,\n });\n }\n if (createMode) {\n stack.push({\n title: \"Start proposal\",\n renderPanel: () =>\n <NewProposal\n onCreateBlank={onCreate}\n register={register}\n css={css`padding: 5px;`}\n />,\n });\n }\n return stack;\n }, [\n onCreate, createMode,\n onRefreshProposals,\n hasActionable,\n register, proposalMenuItems,\n ]);\n\n return <PanelStack\n css={css`flex: 1; .bp4-panel-stack-view { background: none; }`}\n className={className}\n onClose={() => onCreate?.(false)}\n stack={stack.length > 0\n ? stack\n : [{ title: '', renderPanel: () => <NonIdealState title=\"Nothing to show\" /> }]}\n />;\n};\n"]}
@@ -1,5 +0,0 @@
1
- /** @jsx jsx */
2
- /** @jsxFrag React.Fragment */
3
- import React from 'react';
4
- declare const RegisterHome: React.VoidFunctionComponent<Record<never, never>>;
5
- export default RegisterHome;