@riboseinc/paneron-registry-kit 2.2.58 → 2.2.60

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 (735) hide show
  1. package/LICENSE +21 -0
  2. package/README.adoc +67 -0
  3. package/compiled/common.js +2 -0
  4. package/compiled/index.js +42 -0
  5. package/compiled/item-classes/Tree.js +61 -0
  6. package/compiled/item-classes/treeNodes.js +56 -0
  7. package/compiled/migrations/initial.js +28 -0
  8. package/compiled/proposals/ChangeRequestContext.js +121 -0
  9. package/compiled/proposals/HistoryDrawer.js +55 -0
  10. package/compiled/proposals/ListItem.js +22 -0
  11. package/compiled/proposals/MetaProperties.js +98 -0
  12. package/compiled/proposals/NewProposalMenu.js +53 -0
  13. package/compiled/proposals/ProposalBrowser.js +141 -0
  14. package/compiled/proposals/ProposalDetail.js +27 -0
  15. package/compiled/proposals/ProposalItem.js +24 -0
  16. package/compiled/proposals/ProposalSummary.js +28 -0
  17. package/compiled/proposals/ProposalTab.js +89 -0
  18. package/compiled/proposals/ProposalType.js +62 -0
  19. package/compiled/proposals/ProposalWorkspace.js +70 -0
  20. package/compiled/proposals/Search.js +106 -0
  21. package/compiled/proposals/TransitionHistory.js +271 -0
  22. package/compiled/proposals/TransitionOptions.js +432 -0
  23. package/compiled/proposals/actionableGroups/Tree.js +170 -0
  24. package/compiled/proposals/actionableGroups/queries.js +78 -0
  25. package/compiled/proposals/actionableGroups/treeNodes.js +90 -0
  26. package/compiled/proposals/actionableGroups/types.js +2 -0
  27. package/compiled/proposals/index.js +7 -0
  28. package/compiled/proposals/objectChangeset.js +331 -0
  29. package/compiled/proposals/queries.js +5 -0
  30. package/compiled/proposals/types.js +229 -0
  31. package/compiled/types/index.js +7 -0
  32. package/compiled/types/item.js +28 -0
  33. package/compiled/types/register.js +25 -0
  34. package/compiled/types/registry.js +10 -0
  35. package/compiled/types/stakeholder.js +81 -0
  36. package/compiled/types/util.js +3 -0
  37. package/compiled/types/views.js +2 -0
  38. package/compiled/views/AnnotatedChange.js +62 -0
  39. package/compiled/views/BrowserCtx.js +20 -0
  40. package/compiled/views/FilterCriteria/CRITERIA_CONFIGURATION.js +121 -0
  41. package/compiled/views/FilterCriteria/criteriaGroupToQueryExpression.js +45 -0
  42. package/compiled/views/FilterCriteria/criteriaGroupToSummary.js +47 -0
  43. package/compiled/views/FilterCriteria/criteriaToNodes.js +92 -0
  44. package/compiled/views/FilterCriteria/index.js +75 -0
  45. package/compiled/views/FilterCriteria/models.js +45 -0
  46. package/compiled/views/FilterCriteria/mutateGroup.js +74 -0
  47. package/compiled/views/GenericRelatedItemView.js +179 -0
  48. package/compiled/views/ItemDetailsDrawer.js +21 -0
  49. package/compiled/views/ItemSearchDrawer.js +29 -0
  50. package/compiled/views/Party.js +156 -0
  51. package/compiled/views/RegisterStakeholder.js +22 -0
  52. package/compiled/views/RegisterVersion.js +20 -0
  53. package/compiled/views/SearchQuery.js +90 -0
  54. package/compiled/views/StatefulTree.js +95 -0
  55. package/compiled/views/detail/AllItems.js +31 -0
  56. package/compiled/views/detail/ChangeRequest/index.js +49 -0
  57. package/compiled/views/detail/CustomView/index.js +34 -0
  58. package/compiled/views/detail/ProposalWork.js +167 -0
  59. package/compiled/views/detail/RegisterHome/ActiveProposalDetails.js +64 -0
  60. package/compiled/views/detail/RegisterHome/Block.js +39 -0
  61. package/compiled/views/detail/RegisterHome/MetaSummary.js +27 -0
  62. package/compiled/views/detail/RegisterHome/Proposal.js +105 -0
  63. package/compiled/views/detail/RegisterHome/index.js +381 -0
  64. package/compiled/views/detail/RegisterHome2/index.js +36 -0
  65. package/compiled/views/detail/RegisterItem/RelatedItems.js +28 -0
  66. package/compiled/views/detail/RegisterItem/SupersedingItemMenu.js +27 -0
  67. package/compiled/views/detail/RegisterItem/index.js +576 -0
  68. package/compiled/views/detail/RegisterItem/index.js.map +1 -0
  69. package/compiled/views/detail/RegisterItemClass.js +59 -0
  70. package/compiled/views/detail/RegisterMeta/RegisterMetaForm.js +176 -0
  71. package/compiled/views/detail/RegisterMeta/index.js +73 -0
  72. package/compiled/views/detail/index.js +12 -0
  73. package/compiled/views/diffing/InlineDiff.js +117 -0
  74. package/compiled/views/diffing/StructuredDiff.js +38 -0
  75. package/compiled/views/hooks/useCustomView.js +14 -0
  76. package/compiled/views/hooks/useItemClassConfig.js +8 -0
  77. package/compiled/views/hooks/useItemRef.js +27 -0
  78. package/compiled/views/hooks/useLatestAcceptedProposal.js +39 -0
  79. package/compiled/views/hooks/useRegisterVersion.js +35 -0
  80. package/compiled/views/hooks/useSingleRegisterItemData.js +22 -0
  81. package/compiled/views/hooks/useStakeholder.js +2 -0
  82. package/compiled/views/index.js +247 -0
  83. package/compiled/views/itemPathUtils.js +139 -0
  84. package/compiled/views/itemQueryUtils.js +49 -0
  85. package/compiled/views/protocolRegistry.js +30 -0
  86. package/compiled/views/sidebar/Browse/index.js +291 -0
  87. package/compiled/views/sidebar/ExportImport/ExportOptions.js +56 -0
  88. package/compiled/views/sidebar/ExportImport/ImportOptions.js +9 -0
  89. package/compiled/views/sidebar/ExportImport/index.js +4 -0
  90. package/compiled/views/sidebar/ListItem.js +31 -0
  91. package/compiled/views/sidebar/Registration/index.js +89 -0
  92. package/compiled/views/sidebar/Search/index.js +129 -0
  93. package/{views → compiled/views}/sidebar/Search/index.js.map +1 -1
  94. package/compiled/views/sidebar/index.js +115 -0
  95. package/compiled/views/util.js +278 -0
  96. package/compiled/views/util.js.map +1 -0
  97. package/dependencies-local/extension-kit/SettingsContext.d.ts +8 -0
  98. package/dependencies-local/extension-kit/SettingsContext.js +19 -0
  99. package/dependencies-local/extension-kit/SettingsContext.js.map +1 -0
  100. package/dependencies-local/extension-kit/build_site.d.ts +1 -0
  101. package/dependencies-local/extension-kit/build_site.js +4 -0
  102. package/dependencies-local/extension-kit/build_site.js.map +1 -0
  103. package/dependencies-local/extension-kit/context.d.ts +18 -0
  104. package/dependencies-local/extension-kit/context.js +143 -0
  105. package/dependencies-local/extension-kit/context.js.map +1 -0
  106. package/dependencies-local/extension-kit/i18n/ContextProvider.d.ts +9 -0
  107. package/dependencies-local/extension-kit/i18n/ContextProvider.js +33 -0
  108. package/dependencies-local/extension-kit/i18n/ContextProvider.js.map +1 -0
  109. package/dependencies-local/extension-kit/i18n/context.d.ts +9 -0
  110. package/dependencies-local/extension-kit/i18n/context.js +23 -0
  111. package/dependencies-local/extension-kit/i18n/context.js.map +1 -0
  112. package/dependencies-local/extension-kit/i18n/types.d.ts +10 -0
  113. package/dependencies-local/extension-kit/i18n/types.js.map +1 -0
  114. package/dependencies-local/extension-kit/i18n/widgets.d.ts +16 -0
  115. package/dependencies-local/extension-kit/i18n/widgets.js +59 -0
  116. package/dependencies-local/extension-kit/i18n/widgets.js.map +1 -0
  117. package/dependencies-local/extension-kit/index.d.ts +16 -0
  118. package/dependencies-local/extension-kit/index.js +149 -0
  119. package/dependencies-local/extension-kit/index.js.map +1 -0
  120. package/dependencies-local/extension-kit/object-specs/index.d.ts +2 -0
  121. package/dependencies-local/extension-kit/object-specs/index.js +22 -0
  122. package/dependencies-local/extension-kit/object-specs/index.js.map +1 -0
  123. package/dependencies-local/extension-kit/object-specs/paneron-object.d.ts +7 -0
  124. package/dependencies-local/extension-kit/object-specs/paneron-object.js +159 -0
  125. package/dependencies-local/extension-kit/object-specs/paneron-object.js.map +1 -0
  126. package/dependencies-local/extension-kit/object-specs/ser-des.d.ts +32 -0
  127. package/dependencies-local/extension-kit/object-specs/ser-des.js +232 -0
  128. package/dependencies-local/extension-kit/object-specs/ser-des.js.map +1 -0
  129. package/dependencies-local/extension-kit/object-specs/yaml/custom-bool.d.ts +3 -0
  130. package/dependencies-local/extension-kit/object-specs/yaml/custom-bool.js +42 -0
  131. package/dependencies-local/extension-kit/object-specs/yaml/custom-bool.js.map +1 -0
  132. package/dependencies-local/extension-kit/object-specs/yaml/custom-timestamp.d.ts +3 -0
  133. package/dependencies-local/extension-kit/object-specs/yaml/custom-timestamp.js +110 -0
  134. package/dependencies-local/extension-kit/object-specs/yaml/custom-timestamp.js.map +1 -0
  135. package/dependencies-local/extension-kit/object-specs/yaml/index.d.ts +9 -0
  136. package/dependencies-local/extension-kit/object-specs/yaml/index.js +36 -0
  137. package/dependencies-local/extension-kit/object-specs/yaml/index.js.map +1 -0
  138. package/dependencies-local/extension-kit/object-specs/yaml/schema.d.ts +4 -0
  139. package/dependencies-local/extension-kit/object-specs/yaml/schema.js +26 -0
  140. package/dependencies-local/extension-kit/object-specs/yaml/schema.js.map +1 -0
  141. package/dependencies-local/extension-kit/settings.d.ts +9 -0
  142. package/dependencies-local/extension-kit/settings.js +17 -0
  143. package/dependencies-local/extension-kit/settings.js.map +1 -0
  144. package/dependencies-local/extension-kit/types/binary-invocation.d.ts +31 -0
  145. package/dependencies-local/extension-kit/types/binary-invocation.js.map +1 -0
  146. package/dependencies-local/extension-kit/types/buffers.d.ts +19 -0
  147. package/dependencies-local/extension-kit/types/buffers.js.map +1 -0
  148. package/dependencies-local/extension-kit/types/changes.d.ts +37 -0
  149. package/dependencies-local/extension-kit/types/changes.js +5 -0
  150. package/dependencies-local/extension-kit/types/changes.js.map +1 -0
  151. package/dependencies-local/extension-kit/types/data.d.ts +54 -0
  152. package/dependencies-local/extension-kit/types/data.js +5 -0
  153. package/dependencies-local/extension-kit/types/data.js.map +1 -0
  154. package/dependencies-local/extension-kit/types/dialogs.d.ts +21 -0
  155. package/dependencies-local/extension-kit/types/dialogs.js +5 -0
  156. package/dependencies-local/extension-kit/types/dialogs.js.map +1 -0
  157. package/dependencies-local/extension-kit/types/export-formats.d.ts +23 -0
  158. package/dependencies-local/extension-kit/types/export-formats.js +5 -0
  159. package/dependencies-local/extension-kit/types/export-formats.js.map +1 -0
  160. package/dependencies-local/extension-kit/types/extension-maker.d.ts +17 -0
  161. package/dependencies-local/extension-kit/types/extension-maker.js +5 -0
  162. package/dependencies-local/extension-kit/types/extension-maker.js.map +1 -0
  163. package/dependencies-local/extension-kit/types/extension.d.ts +40 -0
  164. package/dependencies-local/extension-kit/types/extension.js +5 -0
  165. package/dependencies-local/extension-kit/types/extension.js.map +1 -0
  166. package/dependencies-local/extension-kit/types/index.d.ts +3 -0
  167. package/dependencies-local/extension-kit/types/index.js +41 -0
  168. package/dependencies-local/extension-kit/types/index.js.map +1 -0
  169. package/dependencies-local/extension-kit/types/indexes.d.ts +6 -0
  170. package/dependencies-local/extension-kit/types/indexes.js +15 -0
  171. package/dependencies-local/extension-kit/types/indexes.js.map +1 -0
  172. package/dependencies-local/extension-kit/types/migrations.d.ts +35 -0
  173. package/dependencies-local/extension-kit/types/migrations.js +5 -0
  174. package/dependencies-local/extension-kit/types/migrations.js.map +1 -0
  175. package/dependencies-local/extension-kit/types/object-spec.d.ts +109 -0
  176. package/dependencies-local/extension-kit/types/object-spec.js +24 -0
  177. package/dependencies-local/extension-kit/types/object-spec.js.map +1 -0
  178. package/dependencies-local/extension-kit/types/objects.d.ts +18 -0
  179. package/dependencies-local/extension-kit/types/objects.js +5 -0
  180. package/dependencies-local/extension-kit/types/objects.js.map +1 -0
  181. package/dependencies-local/extension-kit/types/progress.d.ts +5 -0
  182. package/dependencies-local/extension-kit/types/progress.js +5 -0
  183. package/dependencies-local/extension-kit/types/progress.js.map +1 -0
  184. package/dependencies-local/extension-kit/types/renderer.d.ts +505 -0
  185. package/dependencies-local/extension-kit/types/renderer.js +16 -0
  186. package/dependencies-local/extension-kit/types/renderer.js.map +1 -0
  187. package/dependencies-local/extension-kit/useDebounce.d.ts +5 -0
  188. package/dependencies-local/extension-kit/useDebounce.js +25 -0
  189. package/dependencies-local/extension-kit/useDebounce.js.map +1 -0
  190. package/dependencies-local/extension-kit/usePersistentStateReducer.d.ts +39 -0
  191. package/dependencies-local/extension-kit/usePersistentStateReducer.js +133 -0
  192. package/dependencies-local/extension-kit/usePersistentStateReducer.js.map +1 -0
  193. package/dependencies-local/extension-kit/useTimeTravelingPersistentStateReducer.d.ts +71 -0
  194. package/dependencies-local/extension-kit/useTimeTravelingPersistentStateReducer.js +107 -0
  195. package/dependencies-local/extension-kit/useTimeTravelingPersistentStateReducer.js.map +1 -0
  196. package/dependencies-local/extension-kit/util.d.ts +37 -0
  197. package/dependencies-local/extension-kit/util.js +179 -0
  198. package/dependencies-local/extension-kit/util.js.map +1 -0
  199. package/dependencies-local/extension-kit/widgets/DL.d.ts +44 -0
  200. package/dependencies-local/extension-kit/widgets/DL.js +89 -0
  201. package/dependencies-local/extension-kit/widgets/DL.js.map +1 -0
  202. package/dependencies-local/extension-kit/widgets/ErrorBoundary.d.ts +17 -0
  203. package/dependencies-local/extension-kit/widgets/ErrorBoundary.js +49 -0
  204. package/dependencies-local/extension-kit/widgets/ErrorBoundary.js.map +1 -0
  205. package/dependencies-local/extension-kit/widgets/ErrorState.d.ts +10 -0
  206. package/dependencies-local/extension-kit/widgets/ErrorState.js +54 -0
  207. package/dependencies-local/extension-kit/widgets/ErrorState.js.map +1 -0
  208. package/dependencies-local/extension-kit/widgets/Grid.d.ts +41 -0
  209. package/dependencies-local/extension-kit/widgets/Grid.js +213 -0
  210. package/dependencies-local/extension-kit/widgets/Grid.js.map +1 -0
  211. package/dependencies-local/extension-kit/widgets/HelpTooltip.d.ts +18 -0
  212. package/dependencies-local/extension-kit/widgets/HelpTooltip.js +72 -0
  213. package/dependencies-local/extension-kit/widgets/HelpTooltip.js.map +1 -0
  214. package/dependencies-local/extension-kit/widgets/ItemCount.d.ts +19 -0
  215. package/dependencies-local/extension-kit/widgets/ItemCount.js +79 -0
  216. package/dependencies-local/extension-kit/widgets/ItemCount.js.map +1 -0
  217. package/dependencies-local/extension-kit/widgets/List.d.ts +41 -0
  218. package/dependencies-local/extension-kit/widgets/List.js +210 -0
  219. package/dependencies-local/extension-kit/widgets/List.js.map +1 -0
  220. package/dependencies-local/extension-kit/widgets/Navbar.d.ts +20 -0
  221. package/dependencies-local/extension-kit/widgets/Navbar.js +76 -0
  222. package/dependencies-local/extension-kit/widgets/Navbar.js.map +1 -0
  223. package/dependencies-local/extension-kit/widgets/Navbar2.d.ts +17 -0
  224. package/dependencies-local/extension-kit/widgets/Navbar2.js +95 -0
  225. package/dependencies-local/extension-kit/widgets/Navbar2.js.map +1 -0
  226. package/dependencies-local/extension-kit/widgets/OperationQueue/context.d.ts +17 -0
  227. package/dependencies-local/extension-kit/widgets/OperationQueue/context.js +21 -0
  228. package/dependencies-local/extension-kit/widgets/OperationQueue/context.js.map +1 -0
  229. package/dependencies-local/extension-kit/widgets/OperationQueue/index.d.ts +8 -0
  230. package/dependencies-local/extension-kit/widgets/OperationQueue/index.js +159 -0
  231. package/dependencies-local/extension-kit/widgets/OperationQueue/index.js.map +1 -0
  232. package/dependencies-local/extension-kit/widgets/OperationQueue/types.d.ts +19 -0
  233. package/dependencies-local/extension-kit/widgets/OperationQueue/types.js +5 -0
  234. package/dependencies-local/extension-kit/widgets/OperationQueue/types.js.map +1 -0
  235. package/dependencies-local/extension-kit/widgets/SearchResultList.d.ts +31 -0
  236. package/dependencies-local/extension-kit/widgets/SearchResultList.js +203 -0
  237. package/dependencies-local/extension-kit/widgets/SearchResultList.js.map +1 -0
  238. package/dependencies-local/extension-kit/widgets/Sidebar/Block.d.ts +24 -0
  239. package/dependencies-local/extension-kit/widgets/Sidebar/Block.js +109 -0
  240. package/dependencies-local/extension-kit/widgets/Sidebar/Block.js.map +1 -0
  241. package/dependencies-local/extension-kit/widgets/Sidebar/BlockStateButtonGroup.d.ts +6 -0
  242. package/dependencies-local/extension-kit/widgets/Sidebar/BlockStateButtonGroup.js +23 -0
  243. package/dependencies-local/extension-kit/widgets/Sidebar/BlockStateButtonGroup.js.map +1 -0
  244. package/dependencies-local/extension-kit/widgets/Sidebar/PropertyView.d.ts +29 -0
  245. package/dependencies-local/extension-kit/widgets/Sidebar/PropertyView.js +157 -0
  246. package/dependencies-local/extension-kit/widgets/Sidebar/PropertyView.js.map +1 -0
  247. package/dependencies-local/extension-kit/widgets/Sidebar/index.d.ts +27 -0
  248. package/dependencies-local/extension-kit/widgets/Sidebar/index.js +197 -0
  249. package/dependencies-local/extension-kit/widgets/Sidebar/index.js.map +1 -0
  250. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/SuperSidebar.d.ts +29 -0
  251. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/SuperSidebar.js +135 -0
  252. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/SuperSidebar.js.map +1 -0
  253. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/context.d.ts +10 -0
  254. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/context.js +205 -0
  255. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/context.js.map +1 -0
  256. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/detail.d.ts +9 -0
  257. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/detail.js +69 -0
  258. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/detail.js.map +1 -0
  259. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/index.d.ts +54 -0
  260. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/index.js +301 -0
  261. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/index.js.map +1 -0
  262. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/types.d.ts +102 -0
  263. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/types.js +5 -0
  264. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/types.js.map +1 -0
  265. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/util.d.ts +1 -0
  266. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/util.js +14 -0
  267. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/util.js.map +1 -0
  268. package/dependencies-local/extension-kit/widgets/Workspace.d.ts +40 -0
  269. package/dependencies-local/extension-kit/widgets/Workspace.js +96 -0
  270. package/dependencies-local/extension-kit/widgets/Workspace.js.map +1 -0
  271. package/dependencies-local/extension-kit/widgets/panels/PanelSeparator.d.ts +12 -0
  272. package/dependencies-local/extension-kit/widgets/panels/PanelSeparator.js +60 -0
  273. package/dependencies-local/extension-kit/widgets/panels/PanelSeparator.js.map +1 -0
  274. package/dependencies-local/extension-kit/widgets/panels/index.d.ts +28 -0
  275. package/dependencies-local/extension-kit/widgets/panels/index.js +169 -0
  276. package/dependencies-local/extension-kit/widgets/panels/index.js.map +1 -0
  277. package/dist/common.d.ts +1 -0
  278. package/dist/common.js.map +1 -0
  279. package/dist/index.d.ts +18 -0
  280. package/dist/index.js.map +1 -0
  281. package/dist/item-classes/Tree.d.ts +5 -0
  282. package/dist/item-classes/Tree.js.map +1 -0
  283. package/dist/item-classes/treeNodes.d.ts +12 -0
  284. package/dist/item-classes/treeNodes.js.map +1 -0
  285. package/dist/migrations/initial.d.ts +3 -0
  286. package/dist/migrations/initial.js.map +1 -0
  287. package/dist/proposals/ChangeRequestContext.d.ts +44 -0
  288. package/dist/proposals/ChangeRequestContext.js.map +1 -0
  289. package/dist/proposals/HistoryDrawer.d.ts +12 -0
  290. package/dist/proposals/HistoryDrawer.js.map +1 -0
  291. package/dist/proposals/ListItem.d.ts +9 -0
  292. package/dist/proposals/ListItem.js.map +1 -0
  293. package/dist/proposals/MetaProperties.d.ts +14 -0
  294. package/dist/proposals/MetaProperties.js.map +1 -0
  295. package/dist/proposals/NewProposalMenu.d.ts +10 -0
  296. package/dist/proposals/NewProposalMenu.js.map +1 -0
  297. package/dist/proposals/ProposalBrowser.d.ts +29 -0
  298. package/dist/proposals/ProposalBrowser.js.map +1 -0
  299. package/dist/proposals/ProposalDetail.d.ts +6 -0
  300. package/dist/proposals/ProposalDetail.js.map +1 -0
  301. package/dist/proposals/ProposalItem.d.ts +16 -0
  302. package/dist/proposals/ProposalItem.js.map +1 -0
  303. package/dist/proposals/ProposalSummary.d.ts +6 -0
  304. package/dist/proposals/ProposalSummary.js.map +1 -0
  305. package/dist/proposals/ProposalTab.d.ts +14 -0
  306. package/dist/proposals/ProposalTab.js.map +1 -0
  307. package/dist/proposals/ProposalType.d.ts +11 -0
  308. package/dist/proposals/ProposalType.js.map +1 -0
  309. package/dist/proposals/ProposalWorkspace.d.ts +15 -0
  310. package/dist/proposals/ProposalWorkspace.js.map +1 -0
  311. package/dist/proposals/Search.d.ts +26 -0
  312. package/dist/proposals/Search.js.map +1 -0
  313. package/dist/proposals/TransitionHistory.d.ts +31 -0
  314. package/dist/proposals/TransitionHistory.js.map +1 -0
  315. package/dist/proposals/TransitionOptions.d.ts +38 -0
  316. package/dist/proposals/TransitionOptions.js.map +1 -0
  317. package/dist/proposals/actionableGroups/Tree.d.ts +7 -0
  318. package/dist/proposals/actionableGroups/Tree.js.map +1 -0
  319. package/dist/proposals/actionableGroups/queries.d.ts +4 -0
  320. package/dist/proposals/actionableGroups/queries.js.map +1 -0
  321. package/dist/proposals/actionableGroups/treeNodes.d.ts +27 -0
  322. package/dist/proposals/actionableGroups/treeNodes.js.map +1 -0
  323. package/dist/proposals/actionableGroups/types.d.ts +6 -0
  324. package/dist/proposals/actionableGroups/types.js +5 -0
  325. package/dist/proposals/actionableGroups/types.js.map +1 -0
  326. package/dist/proposals/index.d.ts +6 -0
  327. package/dist/proposals/index.js.map +1 -0
  328. package/dist/proposals/objectChangeset.d.ts +72 -0
  329. package/dist/proposals/objectChangeset.js.map +1 -0
  330. package/dist/proposals/queries.d.ts +4 -0
  331. package/dist/proposals/queries.js.map +1 -0
  332. package/dist/proposals/types.d.ts +332 -0
  333. package/dist/proposals/types.js.map +1 -0
  334. package/dist/types/index.d.ts +6 -0
  335. package/dist/types/index.js.map +1 -0
  336. package/dist/types/item.d.ts +55 -0
  337. package/dist/types/item.js.map +1 -0
  338. package/dist/types/register.d.ts +21 -0
  339. package/dist/types/register.js.map +1 -0
  340. package/dist/types/registry.d.ts +15 -0
  341. package/dist/types/registry.js.map +1 -0
  342. package/dist/types/stakeholder.d.ts +43 -0
  343. package/dist/types/stakeholder.js.map +1 -0
  344. package/dist/types/util.d.ts +28 -0
  345. package/dist/types/util.js +5 -0
  346. package/dist/types/util.js.map +1 -0
  347. package/dist/types/views.d.ts +228 -0
  348. package/dist/types/views.js +5 -0
  349. package/dist/types/views.js.map +1 -0
  350. package/dist/views/AnnotatedChange.d.ts +7 -0
  351. package/dist/views/AnnotatedChange.js.map +1 -0
  352. package/dist/views/BrowserCtx.d.ts +69 -0
  353. package/dist/views/BrowserCtx.js.map +1 -0
  354. package/dist/views/FilterCriteria/CRITERIA_CONFIGURATION.d.ts +17 -0
  355. package/dist/views/FilterCriteria/CRITERIA_CONFIGURATION.js.map +1 -0
  356. package/dist/views/FilterCriteria/criteriaGroupToQueryExpression.d.ts +6 -0
  357. package/dist/views/FilterCriteria/criteriaGroupToQueryExpression.js.map +1 -0
  358. package/dist/views/FilterCriteria/criteriaGroupToSummary.d.ts +5 -0
  359. package/dist/views/FilterCriteria/criteriaGroupToSummary.js.map +1 -0
  360. package/dist/views/FilterCriteria/criteriaToNodes.d.ts +24 -0
  361. package/dist/views/FilterCriteria/criteriaToNodes.js.map +1 -0
  362. package/dist/views/FilterCriteria/index.d.ts +23 -0
  363. package/dist/views/FilterCriteria/index.js.map +1 -0
  364. package/dist/views/FilterCriteria/models.d.ts +70 -0
  365. package/dist/views/FilterCriteria/models.js.map +1 -0
  366. package/dist/views/FilterCriteria/mutateGroup.d.ts +24 -0
  367. package/dist/views/FilterCriteria/mutateGroup.js.map +1 -0
  368. package/dist/views/GenericRelatedItemView.d.ts +9 -0
  369. package/dist/views/GenericRelatedItemView.js.map +1 -0
  370. package/dist/views/ItemDetailsDrawer.d.ts +12 -0
  371. package/dist/views/ItemDetailsDrawer.js.map +1 -0
  372. package/dist/views/ItemSearchDrawer.d.ts +11 -0
  373. package/dist/views/ItemSearchDrawer.js.map +1 -0
  374. package/dist/views/Party.d.ts +0 -0
  375. package/dist/views/Party.js.map +1 -0
  376. package/dist/views/RegisterStakeholder.d.ts +12 -0
  377. package/dist/views/RegisterStakeholder.js.map +1 -0
  378. package/dist/views/RegisterVersion.d.ts +9 -0
  379. package/dist/views/RegisterVersion.js.map +1 -0
  380. package/dist/views/SearchQuery.d.ts +19 -0
  381. package/dist/views/SearchQuery.js.map +1 -0
  382. package/dist/views/StatefulTree.d.ts +28 -0
  383. package/dist/views/StatefulTree.js.map +1 -0
  384. package/dist/views/detail/AllItems.d.ts +8 -0
  385. package/dist/views/detail/AllItems.js.map +1 -0
  386. package/dist/views/detail/ChangeRequest/index.d.ts +12 -0
  387. package/dist/views/detail/ChangeRequest/index.js.map +1 -0
  388. package/dist/views/detail/CustomView/index.d.ts +13 -0
  389. package/dist/views/detail/CustomView/index.js.map +1 -0
  390. package/dist/views/detail/ProposalWork.d.ts +8 -0
  391. package/dist/views/detail/ProposalWork.js.map +1 -0
  392. package/dist/views/detail/RegisterHome/ActiveProposalDetails.d.ts +15 -0
  393. package/dist/views/detail/RegisterHome/ActiveProposalDetails.js.map +1 -0
  394. package/dist/views/detail/RegisterHome/Block.d.ts +29 -0
  395. package/dist/views/detail/RegisterHome/Block.js.map +1 -0
  396. package/dist/views/detail/RegisterHome/MetaSummary.d.ts +9 -0
  397. package/dist/views/detail/RegisterHome/MetaSummary.js.map +1 -0
  398. package/dist/views/detail/RegisterHome/Proposal.d.ts +14 -0
  399. package/dist/views/detail/RegisterHome/Proposal.js.map +1 -0
  400. package/dist/views/detail/RegisterHome/index.d.ts +5 -0
  401. package/dist/views/detail/RegisterHome/index.js.map +1 -0
  402. package/dist/views/detail/RegisterHome2/index.d.ts +5 -0
  403. package/dist/views/detail/RegisterHome2/index.js.map +1 -0
  404. package/dist/views/detail/RegisterItem/RelatedItems.d.ts +14 -0
  405. package/dist/views/detail/RegisterItem/RelatedItems.js.map +1 -0
  406. package/dist/views/detail/RegisterItem/SupersedingItemMenu.d.ts +13 -0
  407. package/dist/views/detail/RegisterItem/SupersedingItemMenu.js.map +1 -0
  408. package/dist/views/detail/RegisterItem/index.d.ts +21 -0
  409. package/{views → dist/views}/detail/RegisterItem/index.js +1 -1
  410. package/dist/views/detail/RegisterItem/index.js.map +1 -0
  411. package/dist/views/detail/RegisterItemClass.d.ts +12 -0
  412. package/dist/views/detail/RegisterItemClass.js.map +1 -0
  413. package/dist/views/detail/RegisterMeta/RegisterMetaForm.d.ts +10 -0
  414. package/dist/views/detail/RegisterMeta/RegisterMetaForm.js.map +1 -0
  415. package/dist/views/detail/RegisterMeta/index.d.ts +10 -0
  416. package/dist/views/detail/RegisterMeta/index.js.map +1 -0
  417. package/dist/views/detail/index.d.ts +1 -0
  418. package/dist/views/detail/index.js.map +1 -0
  419. package/dist/views/diffing/InlineDiff.d.ts +38 -0
  420. package/dist/views/diffing/InlineDiff.js.map +1 -0
  421. package/dist/views/diffing/StructuredDiff.d.ts +11 -0
  422. package/dist/views/diffing/StructuredDiff.js.map +1 -0
  423. package/dist/views/hooks/useCustomView.d.ts +3 -0
  424. package/dist/views/hooks/useCustomView.js.map +1 -0
  425. package/dist/views/hooks/useItemClassConfig.d.ts +2 -0
  426. package/dist/views/hooks/useItemClassConfig.js.map +1 -0
  427. package/dist/views/hooks/useItemRef.d.ts +3 -0
  428. package/dist/views/hooks/useItemRef.js.map +1 -0
  429. package/dist/views/hooks/useLatestAcceptedProposal.d.ts +2 -0
  430. package/dist/views/hooks/useLatestAcceptedProposal.js.map +1 -0
  431. package/dist/views/hooks/useRegisterVersion.d.ts +5 -0
  432. package/dist/views/hooks/useRegisterVersion.js.map +1 -0
  433. package/dist/views/hooks/useSingleRegisterItemData.d.ts +3 -0
  434. package/dist/views/hooks/useSingleRegisterItemData.js.map +1 -0
  435. package/dist/views/hooks/useStakeholder.d.ts +0 -0
  436. package/dist/views/hooks/useStakeholder.js.map +1 -0
  437. package/dist/views/index.d.ts +8 -0
  438. package/dist/views/index.js.map +1 -0
  439. package/dist/views/itemPathUtils.d.ts +47 -0
  440. package/dist/views/itemPathUtils.js.map +1 -0
  441. package/dist/views/itemQueryUtils.d.ts +12 -0
  442. package/dist/views/itemQueryUtils.js.map +1 -0
  443. package/dist/views/protocolRegistry.d.ts +14 -0
  444. package/dist/views/protocolRegistry.js.map +1 -0
  445. package/dist/views/sidebar/Browse/index.d.ts +11 -0
  446. package/dist/views/sidebar/Browse/index.js.map +1 -0
  447. package/dist/views/sidebar/ExportImport/ExportOptions.d.ts +5 -0
  448. package/dist/views/sidebar/ExportImport/ExportOptions.js.map +1 -0
  449. package/dist/views/sidebar/ExportImport/ImportOptions.d.ts +4 -0
  450. package/dist/views/sidebar/ExportImport/ImportOptions.js.map +1 -0
  451. package/dist/views/sidebar/ExportImport/index.d.ts +3 -0
  452. package/dist/views/sidebar/ExportImport/index.js.map +1 -0
  453. package/dist/views/sidebar/ListItem.d.ts +10 -0
  454. package/dist/views/sidebar/ListItem.js.map +1 -0
  455. package/dist/views/sidebar/Registration/index.d.ts +9 -0
  456. package/dist/views/sidebar/Registration/index.js.map +1 -0
  457. package/dist/views/sidebar/Search/index.d.ts +29 -0
  458. package/{views → dist/views}/sidebar/Search/index.js +1 -1
  459. package/dist/views/sidebar/Search/index.js.map +1 -0
  460. package/dist/views/sidebar/index.d.ts +7 -0
  461. package/dist/views/sidebar/index.js.map +1 -0
  462. package/dist/views/util.d.ts +98 -0
  463. package/{views → dist/views}/util.js +33 -7
  464. package/dist/views/util.js.map +1 -0
  465. package/package.json +1 -1
  466. package/react-visual-diff.d.ts +9 -0
  467. package/views/detail/RegisterItem/index.js.map +0 -1
  468. package/views/util.js.map +0 -1
  469. /package/{common.d.ts → compiled/common.d.ts} +0 -0
  470. /package/{common.js.map → compiled/common.js.map} +0 -0
  471. /package/{index.d.ts → compiled/index.d.ts} +0 -0
  472. /package/{index.js.map → compiled/index.js.map} +0 -0
  473. /package/{item-classes → compiled/item-classes}/Tree.d.ts +0 -0
  474. /package/{item-classes → compiled/item-classes}/Tree.js.map +0 -0
  475. /package/{item-classes → compiled/item-classes}/treeNodes.d.ts +0 -0
  476. /package/{item-classes → compiled/item-classes}/treeNodes.js.map +0 -0
  477. /package/{migrations → compiled/migrations}/initial.d.ts +0 -0
  478. /package/{migrations → compiled/migrations}/initial.js.map +0 -0
  479. /package/{proposals → compiled/proposals}/ChangeRequestContext.d.ts +0 -0
  480. /package/{proposals → compiled/proposals}/ChangeRequestContext.js.map +0 -0
  481. /package/{proposals → compiled/proposals}/HistoryDrawer.d.ts +0 -0
  482. /package/{proposals → compiled/proposals}/HistoryDrawer.js.map +0 -0
  483. /package/{proposals → compiled/proposals}/ListItem.d.ts +0 -0
  484. /package/{proposals → compiled/proposals}/ListItem.js.map +0 -0
  485. /package/{proposals → compiled/proposals}/MetaProperties.d.ts +0 -0
  486. /package/{proposals → compiled/proposals}/MetaProperties.js.map +0 -0
  487. /package/{proposals → compiled/proposals}/NewProposalMenu.d.ts +0 -0
  488. /package/{proposals → compiled/proposals}/NewProposalMenu.js.map +0 -0
  489. /package/{proposals → compiled/proposals}/ProposalBrowser.d.ts +0 -0
  490. /package/{proposals → compiled/proposals}/ProposalBrowser.js.map +0 -0
  491. /package/{proposals → compiled/proposals}/ProposalDetail.d.ts +0 -0
  492. /package/{proposals → compiled/proposals}/ProposalDetail.js.map +0 -0
  493. /package/{proposals → compiled/proposals}/ProposalItem.d.ts +0 -0
  494. /package/{proposals → compiled/proposals}/ProposalItem.js.map +0 -0
  495. /package/{proposals → compiled/proposals}/ProposalSummary.d.ts +0 -0
  496. /package/{proposals → compiled/proposals}/ProposalSummary.js.map +0 -0
  497. /package/{proposals → compiled/proposals}/ProposalTab.d.ts +0 -0
  498. /package/{proposals → compiled/proposals}/ProposalTab.js.map +0 -0
  499. /package/{proposals → compiled/proposals}/ProposalType.d.ts +0 -0
  500. /package/{proposals → compiled/proposals}/ProposalType.js.map +0 -0
  501. /package/{proposals → compiled/proposals}/ProposalWorkspace.d.ts +0 -0
  502. /package/{proposals → compiled/proposals}/ProposalWorkspace.js.map +0 -0
  503. /package/{proposals → compiled/proposals}/Search.d.ts +0 -0
  504. /package/{proposals → compiled/proposals}/Search.js.map +0 -0
  505. /package/{proposals → compiled/proposals}/TransitionHistory.d.ts +0 -0
  506. /package/{proposals → compiled/proposals}/TransitionHistory.js.map +0 -0
  507. /package/{proposals → compiled/proposals}/TransitionOptions.d.ts +0 -0
  508. /package/{proposals → compiled/proposals}/TransitionOptions.js.map +0 -0
  509. /package/{proposals → compiled/proposals}/actionableGroups/Tree.d.ts +0 -0
  510. /package/{proposals → compiled/proposals}/actionableGroups/Tree.js.map +0 -0
  511. /package/{proposals → compiled/proposals}/actionableGroups/queries.d.ts +0 -0
  512. /package/{proposals → compiled/proposals}/actionableGroups/queries.js.map +0 -0
  513. /package/{proposals → compiled/proposals}/actionableGroups/treeNodes.d.ts +0 -0
  514. /package/{proposals → compiled/proposals}/actionableGroups/treeNodes.js.map +0 -0
  515. /package/{proposals → compiled/proposals}/actionableGroups/types.d.ts +0 -0
  516. /package/{proposals → compiled/proposals}/actionableGroups/types.js.map +0 -0
  517. /package/{proposals → compiled/proposals}/index.d.ts +0 -0
  518. /package/{proposals → compiled/proposals}/index.js.map +0 -0
  519. /package/{proposals → compiled/proposals}/objectChangeset.d.ts +0 -0
  520. /package/{proposals → compiled/proposals}/objectChangeset.js.map +0 -0
  521. /package/{proposals → compiled/proposals}/queries.d.ts +0 -0
  522. /package/{proposals → compiled/proposals}/queries.js.map +0 -0
  523. /package/{proposals → compiled/proposals}/types.d.ts +0 -0
  524. /package/{proposals → compiled/proposals}/types.js.map +0 -0
  525. /package/{types → compiled/types}/index.d.ts +0 -0
  526. /package/{types → compiled/types}/index.js.map +0 -0
  527. /package/{types → compiled/types}/item.d.ts +0 -0
  528. /package/{types → compiled/types}/item.js.map +0 -0
  529. /package/{types → compiled/types}/register.d.ts +0 -0
  530. /package/{types → compiled/types}/register.js.map +0 -0
  531. /package/{types → compiled/types}/registry.d.ts +0 -0
  532. /package/{types → compiled/types}/registry.js.map +0 -0
  533. /package/{types → compiled/types}/stakeholder.d.ts +0 -0
  534. /package/{types → compiled/types}/stakeholder.js.map +0 -0
  535. /package/{types → compiled/types}/util.d.ts +0 -0
  536. /package/{types → compiled/types}/util.js.map +0 -0
  537. /package/{types → compiled/types}/views.d.ts +0 -0
  538. /package/{types → compiled/types}/views.js.map +0 -0
  539. /package/{views → compiled/views}/AnnotatedChange.d.ts +0 -0
  540. /package/{views → compiled/views}/AnnotatedChange.js.map +0 -0
  541. /package/{views → compiled/views}/BrowserCtx.d.ts +0 -0
  542. /package/{views → compiled/views}/BrowserCtx.js.map +0 -0
  543. /package/{views → compiled/views}/FilterCriteria/CRITERIA_CONFIGURATION.d.ts +0 -0
  544. /package/{views → compiled/views}/FilterCriteria/CRITERIA_CONFIGURATION.js.map +0 -0
  545. /package/{views → compiled/views}/FilterCriteria/criteriaGroupToQueryExpression.d.ts +0 -0
  546. /package/{views → compiled/views}/FilterCriteria/criteriaGroupToQueryExpression.js.map +0 -0
  547. /package/{views → compiled/views}/FilterCriteria/criteriaGroupToSummary.d.ts +0 -0
  548. /package/{views → compiled/views}/FilterCriteria/criteriaGroupToSummary.js.map +0 -0
  549. /package/{views → compiled/views}/FilterCriteria/criteriaToNodes.d.ts +0 -0
  550. /package/{views → compiled/views}/FilterCriteria/criteriaToNodes.js.map +0 -0
  551. /package/{views → compiled/views}/FilterCriteria/index.d.ts +0 -0
  552. /package/{views → compiled/views}/FilterCriteria/index.js.map +0 -0
  553. /package/{views → compiled/views}/FilterCriteria/models.d.ts +0 -0
  554. /package/{views → compiled/views}/FilterCriteria/models.js.map +0 -0
  555. /package/{views → compiled/views}/FilterCriteria/mutateGroup.d.ts +0 -0
  556. /package/{views → compiled/views}/FilterCriteria/mutateGroup.js.map +0 -0
  557. /package/{views → compiled/views}/GenericRelatedItemView.d.ts +0 -0
  558. /package/{views → compiled/views}/GenericRelatedItemView.js.map +0 -0
  559. /package/{views → compiled/views}/ItemDetailsDrawer.d.ts +0 -0
  560. /package/{views → compiled/views}/ItemDetailsDrawer.js.map +0 -0
  561. /package/{views → compiled/views}/ItemSearchDrawer.d.ts +0 -0
  562. /package/{views → compiled/views}/ItemSearchDrawer.js.map +0 -0
  563. /package/{views → compiled/views}/Party.d.ts +0 -0
  564. /package/{views → compiled/views}/Party.js.map +0 -0
  565. /package/{views → compiled/views}/RegisterStakeholder.d.ts +0 -0
  566. /package/{views → compiled/views}/RegisterStakeholder.js.map +0 -0
  567. /package/{views → compiled/views}/RegisterVersion.d.ts +0 -0
  568. /package/{views → compiled/views}/RegisterVersion.js.map +0 -0
  569. /package/{views → compiled/views}/SearchQuery.d.ts +0 -0
  570. /package/{views → compiled/views}/SearchQuery.js.map +0 -0
  571. /package/{views → compiled/views}/StatefulTree.d.ts +0 -0
  572. /package/{views → compiled/views}/StatefulTree.js.map +0 -0
  573. /package/{views → compiled/views}/detail/AllItems.d.ts +0 -0
  574. /package/{views → compiled/views}/detail/AllItems.js.map +0 -0
  575. /package/{views → compiled/views}/detail/ChangeRequest/index.d.ts +0 -0
  576. /package/{views → compiled/views}/detail/ChangeRequest/index.js.map +0 -0
  577. /package/{views → compiled/views}/detail/CustomView/index.d.ts +0 -0
  578. /package/{views → compiled/views}/detail/CustomView/index.js.map +0 -0
  579. /package/{views → compiled/views}/detail/ProposalWork.d.ts +0 -0
  580. /package/{views → compiled/views}/detail/ProposalWork.js.map +0 -0
  581. /package/{views → compiled/views}/detail/RegisterHome/ActiveProposalDetails.d.ts +0 -0
  582. /package/{views → compiled/views}/detail/RegisterHome/ActiveProposalDetails.js.map +0 -0
  583. /package/{views → compiled/views}/detail/RegisterHome/Block.d.ts +0 -0
  584. /package/{views → compiled/views}/detail/RegisterHome/Block.js.map +0 -0
  585. /package/{views → compiled/views}/detail/RegisterHome/MetaSummary.d.ts +0 -0
  586. /package/{views → compiled/views}/detail/RegisterHome/MetaSummary.js.map +0 -0
  587. /package/{views → compiled/views}/detail/RegisterHome/Proposal.d.ts +0 -0
  588. /package/{views → compiled/views}/detail/RegisterHome/Proposal.js.map +0 -0
  589. /package/{views → compiled/views}/detail/RegisterHome/index.d.ts +0 -0
  590. /package/{views → compiled/views}/detail/RegisterHome/index.js.map +0 -0
  591. /package/{views → compiled/views}/detail/RegisterHome2/index.d.ts +0 -0
  592. /package/{views → compiled/views}/detail/RegisterHome2/index.js.map +0 -0
  593. /package/{views → compiled/views}/detail/RegisterItem/RelatedItems.d.ts +0 -0
  594. /package/{views → compiled/views}/detail/RegisterItem/RelatedItems.js.map +0 -0
  595. /package/{views → compiled/views}/detail/RegisterItem/SupersedingItemMenu.d.ts +0 -0
  596. /package/{views → compiled/views}/detail/RegisterItem/SupersedingItemMenu.js.map +0 -0
  597. /package/{views → compiled/views}/detail/RegisterItem/index.d.ts +0 -0
  598. /package/{views → compiled/views}/detail/RegisterItemClass.d.ts +0 -0
  599. /package/{views → compiled/views}/detail/RegisterItemClass.js.map +0 -0
  600. /package/{views → compiled/views}/detail/RegisterMeta/RegisterMetaForm.d.ts +0 -0
  601. /package/{views → compiled/views}/detail/RegisterMeta/RegisterMetaForm.js.map +0 -0
  602. /package/{views → compiled/views}/detail/RegisterMeta/index.d.ts +0 -0
  603. /package/{views → compiled/views}/detail/RegisterMeta/index.js.map +0 -0
  604. /package/{views → compiled/views}/detail/index.d.ts +0 -0
  605. /package/{views → compiled/views}/detail/index.js.map +0 -0
  606. /package/{views → compiled/views}/diffing/InlineDiff.d.ts +0 -0
  607. /package/{views → compiled/views}/diffing/InlineDiff.js.map +0 -0
  608. /package/{views → compiled/views}/diffing/StructuredDiff.d.ts +0 -0
  609. /package/{views → compiled/views}/diffing/StructuredDiff.js.map +0 -0
  610. /package/{views → compiled/views}/hooks/useCustomView.d.ts +0 -0
  611. /package/{views → compiled/views}/hooks/useCustomView.js.map +0 -0
  612. /package/{views → compiled/views}/hooks/useItemClassConfig.d.ts +0 -0
  613. /package/{views → compiled/views}/hooks/useItemClassConfig.js.map +0 -0
  614. /package/{views → compiled/views}/hooks/useItemRef.d.ts +0 -0
  615. /package/{views → compiled/views}/hooks/useItemRef.js.map +0 -0
  616. /package/{views → compiled/views}/hooks/useLatestAcceptedProposal.d.ts +0 -0
  617. /package/{views → compiled/views}/hooks/useLatestAcceptedProposal.js.map +0 -0
  618. /package/{views → compiled/views}/hooks/useRegisterVersion.d.ts +0 -0
  619. /package/{views → compiled/views}/hooks/useRegisterVersion.js.map +0 -0
  620. /package/{views → compiled/views}/hooks/useSingleRegisterItemData.d.ts +0 -0
  621. /package/{views → compiled/views}/hooks/useSingleRegisterItemData.js.map +0 -0
  622. /package/{views → compiled/views}/hooks/useStakeholder.d.ts +0 -0
  623. /package/{views → compiled/views}/hooks/useStakeholder.js.map +0 -0
  624. /package/{views → compiled/views}/index.d.ts +0 -0
  625. /package/{views → compiled/views}/index.js.map +0 -0
  626. /package/{views → compiled/views}/itemPathUtils.d.ts +0 -0
  627. /package/{views → compiled/views}/itemPathUtils.js.map +0 -0
  628. /package/{views → compiled/views}/itemQueryUtils.d.ts +0 -0
  629. /package/{views → compiled/views}/itemQueryUtils.js.map +0 -0
  630. /package/{views → compiled/views}/protocolRegistry.d.ts +0 -0
  631. /package/{views → compiled/views}/protocolRegistry.js.map +0 -0
  632. /package/{views → compiled/views}/sidebar/Browse/index.d.ts +0 -0
  633. /package/{views → compiled/views}/sidebar/Browse/index.js.map +0 -0
  634. /package/{views → compiled/views}/sidebar/ExportImport/ExportOptions.d.ts +0 -0
  635. /package/{views → compiled/views}/sidebar/ExportImport/ExportOptions.js.map +0 -0
  636. /package/{views → compiled/views}/sidebar/ExportImport/ImportOptions.d.ts +0 -0
  637. /package/{views → compiled/views}/sidebar/ExportImport/ImportOptions.js.map +0 -0
  638. /package/{views → compiled/views}/sidebar/ExportImport/index.d.ts +0 -0
  639. /package/{views → compiled/views}/sidebar/ExportImport/index.js.map +0 -0
  640. /package/{views → compiled/views}/sidebar/ListItem.d.ts +0 -0
  641. /package/{views → compiled/views}/sidebar/ListItem.js.map +0 -0
  642. /package/{views → compiled/views}/sidebar/Registration/index.d.ts +0 -0
  643. /package/{views → compiled/views}/sidebar/Registration/index.js.map +0 -0
  644. /package/{views → compiled/views}/sidebar/Search/index.d.ts +0 -0
  645. /package/{views → compiled/views}/sidebar/index.d.ts +0 -0
  646. /package/{views → compiled/views}/sidebar/index.js.map +0 -0
  647. /package/{views → compiled/views}/util.d.ts +0 -0
  648. /package/{proposals/actionableGroups → dependencies-local/extension-kit/i18n}/types.js +0 -0
  649. /package/{types/util.js → dependencies-local/extension-kit/types/binary-invocation.js} +0 -0
  650. /package/{types/views.js → dependencies-local/extension-kit/types/buffers.js} +0 -0
  651. /package/{common.js → dist/common.js} +0 -0
  652. /package/{index.js → dist/index.js} +0 -0
  653. /package/{item-classes → dist/item-classes}/Tree.js +0 -0
  654. /package/{item-classes → dist/item-classes}/treeNodes.js +0 -0
  655. /package/{migrations → dist/migrations}/initial.js +0 -0
  656. /package/{proposals → dist/proposals}/ChangeRequestContext.js +0 -0
  657. /package/{proposals → dist/proposals}/HistoryDrawer.js +0 -0
  658. /package/{proposals → dist/proposals}/ListItem.js +0 -0
  659. /package/{proposals → dist/proposals}/MetaProperties.js +0 -0
  660. /package/{proposals → dist/proposals}/NewProposalMenu.js +0 -0
  661. /package/{proposals → dist/proposals}/ProposalBrowser.js +0 -0
  662. /package/{proposals → dist/proposals}/ProposalDetail.js +0 -0
  663. /package/{proposals → dist/proposals}/ProposalItem.js +0 -0
  664. /package/{proposals → dist/proposals}/ProposalSummary.js +0 -0
  665. /package/{proposals → dist/proposals}/ProposalTab.js +0 -0
  666. /package/{proposals → dist/proposals}/ProposalType.js +0 -0
  667. /package/{proposals → dist/proposals}/ProposalWorkspace.js +0 -0
  668. /package/{proposals → dist/proposals}/Search.js +0 -0
  669. /package/{proposals → dist/proposals}/TransitionHistory.js +0 -0
  670. /package/{proposals → dist/proposals}/TransitionOptions.js +0 -0
  671. /package/{proposals → dist/proposals}/actionableGroups/Tree.js +0 -0
  672. /package/{proposals → dist/proposals}/actionableGroups/queries.js +0 -0
  673. /package/{proposals → dist/proposals}/actionableGroups/treeNodes.js +0 -0
  674. /package/{proposals → dist/proposals}/index.js +0 -0
  675. /package/{proposals → dist/proposals}/objectChangeset.js +0 -0
  676. /package/{proposals → dist/proposals}/queries.js +0 -0
  677. /package/{proposals → dist/proposals}/types.js +0 -0
  678. /package/{types → dist/types}/index.js +0 -0
  679. /package/{types → dist/types}/item.js +0 -0
  680. /package/{types → dist/types}/register.js +0 -0
  681. /package/{types → dist/types}/registry.js +0 -0
  682. /package/{types → dist/types}/stakeholder.js +0 -0
  683. /package/{views → dist/views}/AnnotatedChange.js +0 -0
  684. /package/{views → dist/views}/BrowserCtx.js +0 -0
  685. /package/{views → dist/views}/FilterCriteria/CRITERIA_CONFIGURATION.js +0 -0
  686. /package/{views → dist/views}/FilterCriteria/criteriaGroupToQueryExpression.js +0 -0
  687. /package/{views → dist/views}/FilterCriteria/criteriaGroupToSummary.js +0 -0
  688. /package/{views → dist/views}/FilterCriteria/criteriaToNodes.js +0 -0
  689. /package/{views → dist/views}/FilterCriteria/index.js +0 -0
  690. /package/{views → dist/views}/FilterCriteria/models.js +0 -0
  691. /package/{views → dist/views}/FilterCriteria/mutateGroup.js +0 -0
  692. /package/{views → dist/views}/GenericRelatedItemView.js +0 -0
  693. /package/{views → dist/views}/ItemDetailsDrawer.js +0 -0
  694. /package/{views → dist/views}/ItemSearchDrawer.js +0 -0
  695. /package/{views → dist/views}/Party.js +0 -0
  696. /package/{views → dist/views}/RegisterStakeholder.js +0 -0
  697. /package/{views → dist/views}/RegisterVersion.js +0 -0
  698. /package/{views → dist/views}/SearchQuery.js +0 -0
  699. /package/{views → dist/views}/StatefulTree.js +0 -0
  700. /package/{views → dist/views}/detail/AllItems.js +0 -0
  701. /package/{views → dist/views}/detail/ChangeRequest/index.js +0 -0
  702. /package/{views → dist/views}/detail/CustomView/index.js +0 -0
  703. /package/{views → dist/views}/detail/ProposalWork.js +0 -0
  704. /package/{views → dist/views}/detail/RegisterHome/ActiveProposalDetails.js +0 -0
  705. /package/{views → dist/views}/detail/RegisterHome/Block.js +0 -0
  706. /package/{views → dist/views}/detail/RegisterHome/MetaSummary.js +0 -0
  707. /package/{views → dist/views}/detail/RegisterHome/Proposal.js +0 -0
  708. /package/{views → dist/views}/detail/RegisterHome/index.js +0 -0
  709. /package/{views → dist/views}/detail/RegisterHome2/index.js +0 -0
  710. /package/{views → dist/views}/detail/RegisterItem/RelatedItems.js +0 -0
  711. /package/{views → dist/views}/detail/RegisterItem/SupersedingItemMenu.js +0 -0
  712. /package/{views → dist/views}/detail/RegisterItemClass.js +0 -0
  713. /package/{views → dist/views}/detail/RegisterMeta/RegisterMetaForm.js +0 -0
  714. /package/{views → dist/views}/detail/RegisterMeta/index.js +0 -0
  715. /package/{views → dist/views}/detail/index.js +0 -0
  716. /package/{views → dist/views}/diffing/InlineDiff.js +0 -0
  717. /package/{views → dist/views}/diffing/StructuredDiff.js +0 -0
  718. /package/{views → dist/views}/hooks/useCustomView.js +0 -0
  719. /package/{views → dist/views}/hooks/useItemClassConfig.js +0 -0
  720. /package/{views → dist/views}/hooks/useItemRef.js +0 -0
  721. /package/{views → dist/views}/hooks/useLatestAcceptedProposal.js +0 -0
  722. /package/{views → dist/views}/hooks/useRegisterVersion.js +0 -0
  723. /package/{views → dist/views}/hooks/useSingleRegisterItemData.js +0 -0
  724. /package/{views → dist/views}/hooks/useStakeholder.js +0 -0
  725. /package/{views → dist/views}/index.js +0 -0
  726. /package/{views → dist/views}/itemPathUtils.js +0 -0
  727. /package/{views → dist/views}/itemQueryUtils.js +0 -0
  728. /package/{views → dist/views}/protocolRegistry.js +0 -0
  729. /package/{views → dist/views}/sidebar/Browse/index.js +0 -0
  730. /package/{views → dist/views}/sidebar/ExportImport/ExportOptions.js +0 -0
  731. /package/{views → dist/views}/sidebar/ExportImport/ImportOptions.js +0 -0
  732. /package/{views → dist/views}/sidebar/ExportImport/index.js +0 -0
  733. /package/{views → dist/views}/sidebar/ListItem.js +0 -0
  734. /package/{views → dist/views}/sidebar/Registration/index.js +0 -0
  735. /package/{views → dist/views}/sidebar/index.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/views/detail/RegisterItem/index.tsx"],"names":[],"mappings":"AAAA,eAAe;AACf,8BAA8B;AAE9B,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACzG,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EACL,MAAM,EACN,IAAI,EACJ,OAAO,EACP,aAAa,EACb,EAAE,EACF,MAAM,GACP,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAExE,OAAO,yBAAyB,MAAM,uCAAuC,CAAC;AAC9E,OAAO,kBAAkB,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAKnD,OAAO,EAIL,cAAc,EACd,SAAS,GACV,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACL,cAAc,IAAI,MAAM,EACxB,oBAAoB,EACpB,qBAAqB,GAGtB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,qBAAqB,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,YAAY,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAC/G,OAAO,EAAE,uBAAuB,GAAG,MAAM,oCAAoC,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C;;;;;GAKG;AACH,MAAM,eAAe,GACrB,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE;;IACpB,6DAA6D;IAC7D,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,mBAAmB,EAAE,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IAC7E,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC;IACrE,MAAM,GAAG,GAAG,UAAU,CAAC,YAAY,KAAK,SAAS,EAAE,GAAG,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,mCAAI,sBAAsB,CAAC,CAAC;IAE7E,MAAM,WAAW,GAAG,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,0CAAE,EAAE,CAAC;IACxC,MAAM,OAAO,GAAG,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,SAAS,CAAC;IACjC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;IAE1C,MAAM,SAAS,GAAG,GAAG,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,mBAAmB,IAAI,MAAM,OAAO,CAAC;IACzE,MAAM,QAAQ,GAAG,aAAa;QAC5B,CAAC,CAAC,iBAAiB,aAAa,IAAI,SAAS,EAAE;QAC/C,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC;IACpB,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACjC,SAAS,EAAE,CAAC,QAAQ,CAAC;KACtB,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChB,MAAM,YAAY,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,oBAAoB,GAAG,mBAAmB,CAAC;QAC/C,SAAS,EAAE,CAAC,QAAQ,CAAC;QACrB,cAAc,EAAE,IAAI;KACrB,CAAC,CAAC;IACH,MAAM,cAAc,GAAG,MAAA,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC,mCAAI,SAAS,CAAC;IAEzE,IAAI,CAAC,SAAS,EAAE;QACd,OAAO,IAAC,aAAa,IACnB,IAAI,EAAC,cAAc,EACnB,KAAK,EAAC,qBAAqB,EAC3B,WAAW,EAAE,YAAY,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,MAAM,mCAAI,GAAG,oDAAoD,GAC/F,CAAC;KAEJ;SAAM,IAAI,cAAc,CAAC,QAAQ,CAAC,EAAE;QACnC,OAAO,IAAC,UAAU,IAChB,IAAI,EAAE,QAAQ,EACd,UAAU,EAAE,cAAc,EAC1B,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,GACpB,CAAC;KAEJ;SAAM,IAAI,YAAY,CAAC,UAAU,EAAE;QAClC,OAAO,aAAK,SAAS,EAAE,OAAO,CAAC,QAAQ,cAEjC,CAAC;KAER;SAAM;QACL,kDAAkD;QAClD,8CAA8C;QAC9C,MAAM,UAAU,GAAG,2BAA2B,CAAC,GAAG,CAAC,CAAC;QACpD,IAAI,UAAU,KAAK,IAAI,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,EAAE,MAAK,UAAU,EAAE;YACtD,OAAO,IAAC,aAAa,IACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,gCAA2B,EACjC,WAAW,EACT;;oBAEE,eAAM;oBACL,MAAM;wBACL,CAAC,CAAC,IAAC,MAAM,IACH,GAAG,EAAE,GAAG,CAAA,eAAe,EACvB,MAAM,EAAC,SAAS,EAChB,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,GAAG,SAAS,CAAC,cAAc,IAAI,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC,qBAE7E;wBACX,CAAC,CAAC,IAAI,CACP,GAEL,CAAC;SACJ;aAAM;YACL,MAAM,IAAI,GAAG,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS;gBACtD,CAAC,CAAC,6CAA6C;gBAC/C,CAAC,CAAC,gCAAgC,CAAC;YACrC,OAAO,IAAC,aAAa,IACnB,IAAI,EAAC,cAAc,EACnB,KAAK,EAAC,qBAAqB,EAC3B,WAAW,EAAE,WAAW,QAAQ,IAAI,IAAI,EAAE,GAC1C,CAAC;SACJ;KACF;AACH,CAAC,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,EAAW,CAAC;AAGjC,MAAM,CAAC,MAAM,UAAU,GAOlB,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE;;IACpF,MAAM,EAAE,YAAY,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IAEhH,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,EAAE,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC;IAClG,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAE7F,MAAM,CAAE,cAAc,EAAE,iBAAiB,CAAE,GAAG,QAAQ,CAA8B,IAAI,CAAC,CAAC;IAC1F,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAExF,MAAM,CAAE,iBAAiB,EAAE,oBAAoB,CAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEpE,6DAA6D;IAC7D,4BAA4B;IAC5B,MAAM,QAAQ,GAAG,KAAK,CAAC;IAEvB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAE5C,qCAAqC;IACrC,MAAM,QAAQ,GAAG,MAAA,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACtD,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC1B,CAAC,CAAC,IAAI,CAAC,mCAAI,IAAI,CAAC;IAElB,MAAM,CAAE,mBAAmB,EAAE,sBAAsB,CAAE,GACnD,QAAQ,CAA0B,IAAI,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,MAAK,eAAe,IAAI,UAAU,CAAC;IACpE,MAAM,QAAQ,GAAG,mBAAmB,KAAK,MAAM,IAAI,UAAU,CAAC;IAC9D,MAAM,UAAU,GAAG,mBAAmB,KAAK,OAAO,IAAI,UAAU,CAAC;IAEjE,eAAe;IACf,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC;IAClD,IAAI,OAAoB,CAAC;IACzB,IAAI,cAAc,KAAK,IAAI,IAAI,kBAAkB,EAAE;QACjD,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC1C,OAAO,GAAG,CACR,IAAC,QAAQ,IACP,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS;YACjD,6EAA6E;YAC7E,mBAAmB,EAAE,mBAAmB,GACxC,CACH,CAAC;KACH;SAAM,IAAI,QAAQ,EAAE;QACnB,OAAO,GAAG,IAAC,iBAAiB,IAC1B,KAAK,EAAE,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,YAAY,EACjC,KAAK,EAAE,IAAI,EACX,GAAG,EAAE,GAAG,CAAA;;;;8BAIgB,MAAM,CAAC,UAAU;;OAExC,EACD,SAAS,EAAE,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,YAAY,EAAE,GAC3D,CAAA;KACH;SAAM;QACL,MAAM,UAAU,GAAG,MAAA,SAAS,CAAC,KAAK,CAAC,UAAU,mCAAI,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC1E,OAAO,GAAG,CACR,IAAC,UAAU,IACT,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI;YAClD,6EAA6E;YAC7E,mBAAmB,EAAE,mBAAmB,GACxC,CACH,CAAC;KACH;IAED,MAAM,2BAA2B,GAC/B,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,MAAK,WAAW,IAAI,QAAQ,CAAC,aAAa,KAAK,cAAc;QACzE,CAAC,CAAC,QAAQ,CAAC,kBAAkB;YAC3B,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACT,MAAM,EAAE,EAAE;YACV,iDAAiD;YACjD,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE;YAC1B,uDAAuD;YACvD,aAAa,EAAE,OAAO,CAAC,aAAa;SACrC,CAAC,CAAC;QACL,CAAC,CAAC,SAAS,CAAC;IAEhB,MAAM,mBAAmB,GAAG,MAAA,2BAA2B,aAA3B,2BAA2B,cAA3B,2BAA2B,GAAI,IAAI,CAAC,YAAY,mCAAI,EAAE,CAAC;IACnF,MAAM,2BAA2B,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAE/F,uDAAuD;IACvD,MAAM,YAAY,GAAG,0CAA0C,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/F,kFAAkF;IAClF,MAAM,eAAe,GAAG,CAAC,kBAAkB,IAAI,CAAC,QAAQ,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC;IACxG,mDAAmD;IACnD,6CAA6C;IAC7C,MAAM,iBAAiB,GAAG,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,MAAK,WAAW,IAAI,QAAQ,CAAC,aAAa,KAAK,cAAc,CAAC,CAAC;IAExG,wDAAwD;IACxD,8FAA8F;IAE9F,MAAM,mBAAmB,GAAG,GAAG,EAAE,CAAC,wBAAwB,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAC;IAC5F,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,wBAAwB,CAAC,iCAAiC,EAAE;QACrF,IAAI,EAAE,WAAW;QACjB,aAAa,EAAE,YAAY;KAC5B,CAAC,CAAC;IACH,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,wBAAwB,CAAC,wBAAwB,EAAE;QAChF,IAAI,EAAE,WAAW;QACjB,aAAa,EAAE,cAAc;KAC9B,CAAC,CAAC;IACH,MAAM,mBAAmB,GAAG,CAAC,KAAe,EAAE,EAAE,CAAC,wBAAwB,CAAC,wBAAwB,EAAE;QAClG,IAAI,EAAE,WAAW;QACjB,aAAa,EAAE,cAAc;QAC7B,kBAAkB,EAAE,KAAK;KAC1B,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;QAC/B,MAAM,wBAAwB,CAAC,yBAAyB,EAAE;YACxD,IAAI,EAAE,eAAe;SACtB,CAAC,CAAC;QACH,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB;IAC7C,CAAC,CAAC;IACF,MAAM,kBAAkB,GAAG,KAAK,IAAI,EAAE;QACpC,MAAM,wBAAwB,CAAC,2BAA2B,EAAE;YAC1D,IAAI,EAAE,UAAU;SACjB,CAAC,CAAC;QACH,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB;IAC7C,CAAC,CAAC;IAEF,KAAK,UAAU,wBAAwB,CAAC,OAAe,EAAE,QAA+B;QACtF,OAAO,MAAM,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC/E,CAAC;IAED,MAAM,iBAAiB,GAAG,WAAW,CAAC,KAAK,UAAU,kBAAkB,CACrE,OAAe,EACf,QAA+B;QAE/B,IAAI,CAAC,kBAAkB,IAAI,CAAC,aAAa,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;YAClE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;SAC3C;QACD,IAAI,QAAQ,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,MAAK,WAAW,IAAI,CAAC,cAAc,EAAE;YACjE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;SACtC;QACD,MAAM,aAAa,CAAC;YAClB,aAAa,EAAE,GAAG,OAAO,QAAQ,QAAQ,EAAE;YAC3C,eAAe,EAAE,uBAAuB;YACtC,yEAAyE;YACzE,QAAe,EACf,EAAE,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,EACxB,CAAC,CAAC,QAAQ,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,MAAK,WAAW,CAAC,IAAI,cAAc,CAAC;gBAC9D,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE;gBACnD,CAAC,CAAC,EAAE,CACP;YACD,+CAA+C;YAC/C,yCAAyC;YACzC,0BAA0B,EAAE,IAAI;SACjC,CAAC,CAAC;QACH,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACxB,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC,EAAE;QACD,cAAc;QACd,kBAAkB;QAClB,QAAQ;QACR,IAAI;QACJ,QAAQ;QACR,aAAa;KACd,CAAC,CAAC;IAEH,wEAAwE;IACxE,MAAM,qBAAqB,GAAG,WAAW,CAAC,KAAK,UAAU,sBAAsB;QAC7E,IAAI,CAAC,aAAa,IAAI,CAAC,YAAY,IAAI,CAAC,kBAAkB,IAAI,CAAC,QAAQ,EAAE;YACvE,MAAM,IAAI,KAAK,CAAC,wFAAwF,CAAC,CAAC;SAC3G;QACD,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,YAAY,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;QAClD,MAAM,OAAO,GAAsB;YACjC,EAAE,EAAE,MAAM;YACV,YAAY,EAAE,IAAI,IAAI,EAAE;YACxB,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE;SACvB,CAAC;QACF,IAAI,cAAc,CAAC,OAAO,CAAC,EAAE;YAC3B,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC1C,MAAM,aAAa,CAAC;gBAClB,aAAa,EAAE,SAAS,OAAO,CAAC,MAAM,wBAAwB;gBAC9D,eAAe,EAAE,uBAAuB,CACtC,QAAmB,EACnB,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EACnC,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CACvB;gBACD,0BAA0B,EAAE,IAAI;aACjC,CAAC,CAAC;SACJ;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,kFAAkF,CAAC,CAAC;SACrG;IACH,CAAC,EAAE;QACD,aAAa;QACb,kBAAkB;QAClB,QAAQ;QACR,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,EAAE;QACZ,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK;QACf,MAAM,CAAC,OAAO,CAAC,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,mCAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;QACnF,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;KACpD,CAAC,CAAC;IAEH,MAAM,uBAAuB,GAAqB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC/D,IAAI,EAAE,WAAW;QACjB,OAAO,EACL,IAAC,YAAY,IACX,GAAG,EAAE,GAAG,CAAA,qBAAqB,MAAM,CAAC,WAAW,iBAAiB,EAChE,iBAAiB,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EACtC,QAAQ,EAAE,mBAAmB,GAC7B;KACL,CAAC,EAAE,CAAC,2BAA2B,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAEtD,MAAM,cAAc,GAAiD,OAAO,CAAC,GAAG,EAAE;;QAChF,MAAM,cAAc,GAAiD,CAAC;gBACpE,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE;;oBAEP,OAAO,CAAC,aAAa;wBACpB,CAAC,CAAC,cAAM,KAAK,EAAC,aAAa;oCAAM,MAAA,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,OAAO,CAAC,aAAa,CAAC,0CAAE,KAAK,mCAAI,OAAO,CAAC,aAAa,CAAQ;wBAC9G,CAAC,CAAC,IAAI,CACP;gBACH,OAAO,EAAE;oBACP,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE;wBACP,IAAC,EAAE,IAAC,GAAG,EAAE,GAAG,CAAA,YAAY;4BACtB;;gCAAe,SAAS,CAAC,IAAI,CAAC,EAAE,CAAM;4BACtC;oDAAqB,MAAA,OAAO,CAAC,aAAa,mCAAI,KAAK,CAAM;4BACzD;;gCAAW,OAAO,CAAC,MAAM,CAAM,CAC5B,CACJ;iBACJ;aACF,EAAE;gBACD,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK;gBAC9B,OAAO,EAAE;oBACP,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,0BACN,MAAA,SAAS,CAAC,IAAI,CAAC,WAAW,mCAAI,0DAA0D,CACxF;iBACJ;aACF,CAAC,CAAC;QAEH,cAAc,CAAC,IAAI,CAAC;YAClB,QAAQ,EAAE,IAAI,CAAC,MAAM;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM,KAAK,OAAO;gBAC7B,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,SAAS;YACb,IAAI,EAAE,IAAI,CAAC,MAAM,KAAK,SAAS;gBAC7B,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS;oBACzB,CAAC,CAAC,cAAc;oBAChB,CAAC,CAAC,MAAM;YACZ,OAAO,EAAE,SAAS;SACnB,CAAC,CAAC;QAEH,IAAI,QAAQ,EAAE;YACZ,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YAC9C,cAAc,CAAC,IAAI,CAAC;gBAClB,GAAG,QAAQ;gBACX,QAAQ,EAAE;oBAAG,QAAQ,CAAC,QAAQ;gCAAa;gBAC3C,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,eAAe,IAAI,iBAAiB;oBAC3C,CAAC,CAAC,uBAAuB;oBACzB,CAAC,CAAC,SAAS;aACd,CAAC,CAAC;SACJ;QAED,OAAO,cAAc,CAAC;IACxB,CAAC,EAAE;QACD,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI;QACd,SAAS,CAAC,IAAI,CAAC,EAAE;QACjB,IAAI,CAAC,MAAM;QACX,YAAY,EAAE,eAAe,EAAE,iBAAiB;QAChD,uBAAuB;KACxB,CAAC,CAAC;IAEH,MAAM,CAAE,sBAAsB,EAAE,yBAAyB,CAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE9E,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE;QAC3B,MAAM,OAAO,GAA0C,CAAC;gBACtD,QAAQ,EAAE,cAAc;gBACxB,MAAM,EAAE,sBAAsB;gBAC9B,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,MAAM;gBAChB,OAAO,EAAE,GAAG,EAAE,CAAC,yBAAyB,CAAC,IAAI,CAAC;aAC/C,CAAC,CAAC;QAEH,MAAM,iBAAiB,GAAG,cAAc,KAAK,IAAI,CAAC;QAClD,MAAM,eAAe,GAAG,QAAQ,KAAK,IAAI,CAAC;QAC1C,8EAA8E;QAC9E,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC;QAEjD,IAAI,kBAAkB,EAAE;YACtB,OAAO,CAAC,IAAI,CAAC;gBACX,QAAQ,EAAE,gCAAgC;gBAC1C,IAAI,EAAE,WAAW;gBACjB,QAAQ,EAAE,MAAM;gBAChB,OAAO,EAAE,gBAAgB,CACvB,4CAA4C,EAC5C,qBAAqB,CAAC;gBACxB,8EAA8E;aAC/E,CAAC,CAAC;YAEH,MAAM,wBAAwB,GAAgB;gBAC5C,MAAM,EAAE,SAAS;gBACjB,QAAQ,EAAE,MAAM,IAAI,CAAC,kBAAkB;gBACvC,OAAO,EAAE,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,eAAe,CAAC;oBACvD,CAAC,CAAC,aAAa;oBACf,CAAC,CAAC,kBAAkB;gBACtB,QAAQ,EAAE,cAAc;aACzB,CAAC;YAEF,MAAM,mBAAmB,GACvB,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,MAAK,WAAW,IAAI,QAAQ,CAAC,aAAa,KAAK,cAAc;gBACzE,CAAC,CAAC,QAAQ,CAAC,kBAAkB;oBAC3B,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oBACT,MAAM,EAAE,EAAE;oBACV,iDAAiD;oBACjD,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE;oBAC1B,uDAAuD;oBACvD,aAAa,EAAE,OAAO,CAAC,aAAa;iBACrC,CAAC,CAAC;gBACL,CAAC,CAAC,EAAE,CAAC;YACT,MAAM,gBAAgB,GAAG,CACvB,IAAC,YAAY,IACX,iBAAiB,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EACtC,QAAQ,EAAE,mBAAmB,EAC7B,QAAQ,EAAE,CAAC,MAAM;oBACf,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;wBACzB,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;wBACnD,CAAC,CAAC,mBAAmB,EAAE;oBAC3B,CAAC,CAAC,SAAS,GACb,CACH,CAAC;YAEF,IAAI,gBAAgB,EAAE;gBACpB,IAAI,eAAe,EAAE;oBACnB,MAAM,UAAU,GAAgB;wBAC9B,QAAQ,EAAE,QAAQ,QAAQ,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,yBAAyB;wBACjH,IAAI,EAAE,MAAM;wBACZ,MAAM,EAAE,iBAAiB;wBACzB,QAAQ,EAAE,MAAM;wBAChB,OAAO,EAAE,GAAG,EAAE;4BACZ,IAAI,iBAAiB,EAAE;gCACrB,oBAAoB,CAAC,KAAK,CAAC,CAAC;gCAC5B,iBAAiB,CAAC,IAAI,CAAC,CAAC;gCACxB,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,EAAE;iCAC9C;6BACF;iCAAM;gCACL,oBAAoB,CAAC,IAAI,CAAC,CAAC;gCAC3B,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,EAAE;oCAC7C,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iCAC9B;6BACF;wBACH,CAAC;qBACF,CAAC;oBACF,IAAI,iBAAiB,EAAE;wBACrB,MAAM,WAAW,GAAkB,CAAC;gCAClC,QAAQ,EAAE,MAAM,IAAI,CAAC,kBAAkB,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,CAAC;gCACzE,OAAO,EAAE,mBAAmB;gCAC5B,IAAI,EAAE,OAAO;gCACb,QAAQ,EAAE,QAAQ;gCAClB,OAAO,EAAE;oCACP,iCAAiC;oCACjC,gBAAgB,QAAQ,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,eAAe;oCAClF,uCAAuC;iCACxC,CAAC,IAAI,CAAC,EAAE,CAAC;gCACV,MAAM,EAAE,QAAQ,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;6BAC7D,CAAC,CAAC;wBACH,IAAI,iBAAiB,EAAE;4BACrB,WAAW,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;yBAC5C;6BAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,IAAI,QAAQ,CAAC,aAAa,KAAK,cAAc,EAAE;4BACrF,WAAW,CAAC,IAAI,CAAC;gCACf,QAAQ,EAAE,MAAM;gCAChB,QAAQ,EAAE,2BAA2B;gCACrC,KAAK,EAAE,aAAK,GAAG,EAAE,GAAG,CAAA,gBAAgB,IAAG,gBAAgB,CAAO;6BAC/D,CAAC,CAAC;yBACJ;wBACD,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC;qBAC5C;yBAAM;wBACL,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;wBACzB,IAAI,UAAU,EAAE;4BACd,OAAO,CAAC,IAAI,CAAC,CAAC;oCACZ,QAAQ,EAAE,MAAM;oCAChB,QAAQ,EAAE,eAAe;oCACzB,MAAM,EAAE,mBAAmB,KAAK,OAAO;oCACvC,OAAO,EAAE,mBAAmB,KAAK,OAAO;wCACtC,CAAC,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC;wCACpC,CAAC,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC,OAAO,CAAC;iCAC1C,EAAE;oCACD,QAAQ,EAAE,MAAM;oCAChB,QAAQ,EAAE,MAAM;oCAChB,MAAM,EAAE,mBAAmB,KAAK,MAAM;oCACtC,OAAO,EAAE,mBAAmB,KAAK,MAAM;wCACrC,CAAC,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC;wCACpC,CAAC,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC,MAAM,CAAC;iCACzC,CAAC,CAAC,CAAC;yBACL;qBACF;iBACF;qBAAM;oBACL,MAAM,UAAU,GAAgB;wBAC9B,QAAQ,EAAE,6BAA6B;wBACvC,IAAI,EAAE,WAAW;wBACjB,MAAM,EAAE,iBAAiB;wBACzB,QAAQ,EAAE,MAAM;wBAChB,OAAO,EAAE,GAAG,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;qBAC7C,CAAC;oBACF,IAAI,iBAAiB,EAAE;wBACrB,MAAM,aAAa,GAAG,CAAC,UAAU,EAAE;gCACjC,QAAQ,EAAE,MAAM,IAAI,eAAe;gCACnC,OAAO,EAAE,YAAY;gCACrB,QAAQ,EAAE,QAAQ;6BACnB,EAAE;gCACD,QAAQ,EAAE,MAAM,IAAI,eAAe;gCACnC,OAAO,EAAE,gBAAgB;gCACzB,QAAQ,EAAE,YAAY;6BACvB,EAAE;gCACD,QAAQ,EAAE,MAAM,IAAI,eAAe,IAAI,iBAAiB;gCACxD,KAAK,EAAE,gBAAgB;gCACvB,QAAQ,EAAE,WAAW;6BACtB,EAAE;gCACD,QAAQ,EAAE,MAAM,IAAI,QAAQ;gCAC5B,MAAM,EAAE,iBAAiB;gCACzB,OAAO,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;gCACpE,QAAQ,EAAE,SAAS;6BACpB,CAAC,CAAC;wBACH,IAAI,iBAAiB,IAAI,kBAAkB,EAAE;4BAC3C,aAAa,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;yBAC9C;wBACD,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;qBAC7B;yBAAM;wBACL,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;qBAC1B;iBACF;aACF;SACF;QACD,kBAAkB;QAElB,OAAO,OAAO,CAAC;IACjB,CAAC,EAAE;QACD,MAAM;QACN,SAAS,CAAC,IAAI,CAAC,EAAE;QAEjB,QAAQ,KAAK,IAAI;QACjB,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI;QACd,MAAC,QAAyB,aAAzB,QAAQ,uBAAR,QAAQ,CAAmB,kBAAkB,0CAAE,QAAQ,EAAE;QAE1D,kBAAkB;QAElB,cAAc,KAAK,IAAI;QACvB,kBAAkB;QAElB,iBAAiB;QACjB,gBAAgB,EAAE,iBAAiB;QACnC,sBAAsB;QAEtB,UAAU,EAAE,mBAAmB,EAAE,sBAAsB;KACxD,CAAC,CAAC;IAEH,6CAA6C;IAC7C,wDAAwD;IACxD,+DAA+D;IAC/D,oEAAoE;IACpE,6DAA6D;IAC7D,4DAA4D;IAC5D,4EAA4E;IAC5E,2EAA2E;IAC3E,MAAM,WAAW,GAAW,CAC1B,QAAQ,IAAI,CACV,CAAC,kBAAkB;WAChB,QAAQ,CAAC,EAAE,KAAK,kBAAkB;WAClC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAC5B,CACF,CAAC,CAAC,CAAC,YAAY,oBAAoB,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC,GAAG;QACjE,CAAC,CAAC,GAAG,MAAA,SAAS,CAAC,IAAI,CAAC,KAAK,mCAAI,eAAe,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;IAE7D,MAAM,aAAa,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IAE1D,eAAe,CAAC,GAAG,EAAE;QACnB,IAAI,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,KAAI,aAAa,CAAC,OAAO,IAAI,QAAQ,KAAK,IAAI,EAAE;YAClE,+EAA+E;YAC/E,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE;gBACtC,eAAe,EAAE,CAAC,OAAO,CAAC;gBAC1B,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;SACJ;QACD,OAAO,SAAS,OAAO;YACrB,0CAA0C;YAC1C,QAAQ,CAAC,UAAU,EAAE,CAAC;QACxB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC;IAEjE,OAAO,CACL,IAAC,qBAAqB,IAClB,UAAU,EAAE,aAAa,EACzB,KAAK,EAAE,IAAC,YAAY,IAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,GAAI,EAC9D,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,OAAO;QAClB,IAAC,IAAI,IAAC,GAAG,EAAE,GAAG,CAAA,gDAAgD,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,qBAAqB;YAC7G,IAAC,MAAM;gBAAC,mBAAQ,WAAW,CAAS,CAAS;YAC7C,IAAC,qBAAqB,IACpB,MAAM,EAAE,sBAAsB,EAC9B,OAAO,EAAE,GAAG,EAAE,CAAC,yBAAyB,CAAC,KAAK,CAAC,EAC/C,QAAQ,EAAE,QAAQ,GAClB;YACF,aAAK,EAAE,EAAC,YAAY,EAAC,GAAG,EAAE,aAAa,wBAAqB,MAAM,IAC/D,OAAO,CACJ,CACD,CACe,CACzB,CAAC;AACJ,CAAC,CAAC,CAAC;AAGH,MAAM,SAAS,GAA8B,UAAU,EAAE,GAAG,EAAE;;IAC5D,MAAM,EAAE,YAAY,EAAE,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,UAAU,CAAC,YAAY,KAAK,SAAS,EAAE,GAAG,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,mCAAI,sBAAsB,CAAC,CAAC;IAC7E,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,yBAAyB,CAAC,GAAG,CAAC,CAAC;IAC3D,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,GAAG,EAAE,WAAC,OAAA,0BAAG,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,MAAM,mCAAI,GAAG,CAAI,CAAA,EAAA,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3E,MAAM,IAAI,GAAG,QAAQ;QACnB,CAAC,CAAC,CAAC,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,CAAC,YAAY,mCAAI,YAAY,CAAC;QACjD,CAAC,CAAC,YAAY,CAAC;IACjB,OAAO,IAAC,IAAI,IACV,OAAO,EAAE,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,SAAS,EACzB,QAAQ,EAAE,QAAQ,GAClB,CAAC;AACL,CAAC,CAAC;AAGF,eAAe;IACb,IAAI,EAAE,eAAe;IACrB,KAAK,EAAE,SAAS;CACR,CAAC;AAGX,MAAM,yBAAyB,GAAG,IAAI,CAAC;AACvC,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,CAAC,YAA8B,EAAE,EAAE;IACvE,MAAM,OAAO,GAAqD,EAAE,CAAC;IAErE,SAAS,eAAe,CAAC,EAAe,EAAE,UAA+B;;QACvE,IAAI,CAAC,CAAA,MAAA,EAAE,CAAC,aAAa,0CAAE,YAAY,CAAC,oBAAoB,CAAC,CAAA,EAAE;YACzD,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC;SAChC;IACH,CAAC;IAED,YAAY,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;QAChC,QAAQ,QAAQ,CAAC,IAAI,EAAE;YACrB,KAAK,WAAW;gBACd,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBACnC,eAAe,CAAC,IAAmB,EAAE,OAAO,CAAC,CAAA;gBAC/C,CAAC,CAAC,CAAC;gBACH,2CAA2C;gBAC3C,0DAA0D;gBAC1D,sCAAsC;gBACtC,KAAK;gBACL,MAAM;YACR,KAAK,YAAY;gBACf,eAAe,CAAC,QAAQ,CAAC,MAAqB,EAAE,SAAS,CAAC,CAAA;gBAC1D,MAAM;SACT;IACH,CAAC,CAAC,CAAC;IACH,MAAM,mBAAmB,GAA4C,EAAE,CAAC;IACxE,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,OAAO,EAAE;QACnC,8DAA8D;QAC9D,MAAM,EAAE,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,aAAc,CAAC,CAAC,CAAC,GAAG,CAAC;QAC3D,mBAAmB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9F,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC;QAC7B,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC;QACzB,IAAI,MAAM,KAAK,SAAS,EAAE;YACxB,EAAE,CAAC,KAAK,CAAC,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC;SACxC;aAAM;YACL,EAAE,CAAC,KAAK,CAAC,eAAe,GAAG,MAAM,KAAK,OAAO;gBAC3C,CAAC,CAAC,MAAM,CAAC,MAAM;gBACf,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;SACpB;KACF;IACD,UAAU,CAAC,GAAG,EAAE;QACd,KAAK,MAAM,CAAC,EAAE,EAAE,AAAD,EAAG,GAAG,EAAE,EAAE,CAAC,IAAI,mBAAmB,EAAE;YACjD,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,6CAA6C,CAAC;YACpE,EAAE,CAAC,KAAK,CAAC,eAAe,GAAG,GAAG,CAAC;YAC/B,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;SACrB;QACD,UAAU,CAAC,GAAG,EAAE;YACd,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,mBAAmB,EAAE;gBAC1C,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;aAC1B;QACH,CAAC,EAAE,yBAAyB,CAAC,CAAC;IAChC,CAAC,EAAE,CAAC,CAAC,CAAC;AACR,CAAC,CAAC,CAAC","sourcesContent":["/** @jsx jsx */\n/** @jsxFrag React.Fragment */\n\nimport React, { useContext, useState, useMemo, useRef, useLayoutEffect, memo, useCallback } from 'react';\nimport { jsx, css } from '@emotion/react';\nimport {\n Button, type ButtonProps,\n Card,\n Classes,\n NonIdealState,\n UL,\n Colors,\n} from '@blueprintjs/core';\nimport { DatasetContext } from '@riboseinc/paneron-extension-kit/context';\nimport { normalizeObject } from '@riboseinc/paneron-extension-kit/util';\nimport type { HelpTooltipProps } from '@riboseinc/paneron-extension-kit/widgets/HelpTooltip';\nimport useSingleRegisterItemData from '../../hooks/useSingleRegisterItemData';\nimport useItemClassConfig from '../../hooks/useItemClassConfig';\nimport { Protocols } from '../../protocolRegistry';\nimport {\n type ChangeProposal,\n type Supersession,\n} from '../../../proposals/types';\nimport {\n type InternalItemReference,\n type ItemClassConfiguration,\n type RegisterItem,\n isRegisterItem,\n DUMMY_REF,\n} from '../../../types';\nimport { InlineDiffGeneric } from '../../diffing/InlineDiff';\nimport type { Drafted } from '../../../proposals/types';\nimport { BrowserCtx } from '../../BrowserCtx';\nimport {\n RegisterHelmet as Helmet,\n maybeEllipsizeString,\n TabContentsWithHeader,\n type TabContentsWithHeaderProps,\n type ActionProps,\n} from '../../util';\nimport { proposalToTagProps } from '../../../proposals/ProposalType';\nimport ProposalHistoryDrawer from '../../../proposals/HistoryDrawer';\nimport { useItemRef, itemRefToItemPath, crIDToCRPath, getCRIDFromProposedItemPath } from '../../itemPathUtils';\nimport { updateCRObjectChangeset, } from '../../../proposals/objectChangeset';\nimport { ChangeRequestContext } from '../../../proposals/ChangeRequestContext';\nimport { RelatedItems } from './RelatedItems';\n\n\n/**\n * Main register item view.\n *\n * NOTE: while generally intended as tab content handler,\n * is also reused within change request view.\n */\nconst MaybeItemDetail: React.VoidFunctionComponent<{ uri: string }> =\nmemo(function ({ uri }) {\n //const { value: itemData } = useSingleRegisterItemData(ref);\n const { jumpTo, subregisters, useRegisterItemData } = useContext(BrowserCtx);\n const { changeRequest: activeCR } = useContext(ChangeRequestContext);\n const ref = useItemRef(subregisters !== undefined, uri);\n const itemClass = useItemClassConfig(ref?.classID ?? 'NONEXISTENT_CLASS_ID');\n\n const itemClassID = itemClass?.meta?.id;\n const itemRef = ref ?? DUMMY_REF;\n const { itemID, subregisterID } = itemRef;\n\n const _itemPath = `${itemClassID ?? 'NONEXISTENT_CLASS'}/${itemID}.yaml`;\n const itemPath = subregisterID\n ? `/subregisters/${subregisterID}/${_itemPath}`\n : `/${_itemPath}`;\n const itemRequest = useMemo(() => ({\n itemPaths: [itemPath],\n }), [itemPath]);\n const itemResponse = useRegisterItemData(itemRequest);\n const itemData = itemResponse.value[itemPath];\n const previousItemResponse = useRegisterItemData({\n itemPaths: [itemPath],\n ignoreActiveCR: true,\n });\n const itemDataBefore = previousItemResponse.value[itemPath] ?? undefined;\n\n if (!itemClass) {\n return <NonIdealState\n icon=\"heart-broken\"\n title=\"Unable to show item\"\n description={`View for ${ref?.itemID ?? uri} cannot be retrieved from item class configuration`}\n />;\n\n } else if (isRegisterItem(itemData)) {\n return <ItemDetail\n item={itemData}\n itemBefore={itemDataBefore}\n itemRef={itemRef}\n itemClass={itemClass}\n />;\n\n } else if (itemResponse.isUpdating) {\n return <div className={Classes.SKELETON}>\n Loading\n </div>;\n\n } else {\n // Opened using URI that points within a proposal.\n // The item may or may not have been accepted.\n const inCRWithID = getCRIDFromProposedItemPath(uri);\n if (inCRWithID !== null && activeCR?.id !== inCRWithID) {\n return <NonIdealState\n icon=\"help\"\n title=\"This item does not exist…\"\n description={\n <>\n …but it might be proposed.\n <br />\n {jumpTo\n ? <Button\n css={css`margin: 10px;`}\n intent=\"primary\"\n onClick={() => jumpTo?.(`${Protocols.CHANGE_REQUEST}:${crIDToCRPath(inCRWithID)}`)}>\n Go to proposal\n </Button>\n : null}\n </>\n }\n />;\n } else {\n const desc = itemData === null || itemData === undefined\n ? \"does not exist or could not be deserialized\"\n : \"may use unexpected data format\";\n return <NonIdealState\n icon=\"heart-broken\"\n title=\"Unable to show item\"\n description={`Item at ${itemPath} ${desc}`}\n />;\n }\n }\n});\n\nconst EMPTY_OBJECT = {} as const;\n\n\nexport const ItemDetail: React.VoidFunctionComponent<{\n item: RegisterItem\n itemBefore?: RegisterItem\n itemRef: InternalItemReference\n itemClass: ItemClassConfiguration<any>\n className?: string\n compactHeader?: boolean\n}> = memo(function ({ item, itemBefore, itemRef, itemClass, className, compactHeader }) {\n const { subregisters, useRegisterItemData, activeChangeRequestID: globallyActiveCRID } = useContext(BrowserCtx);\n\n const { changeRequest: activeCR, canEdit: activeCRIsEditable } = useContext(ChangeRequestContext);\n const { updateObjects, makeRandomID, performOperation, isBusy } = useContext(DatasetContext);\n\n const [ editedItemData, setEditedItemData ] = useState<RegisterItem[\"data\"] | null>(null);\n const itemDataHasChanges = JSON.stringify(editedItemData) !== JSON.stringify(item.data);\n\n const [ isEditingProposal, setIsEditingProposal ] = useState(false);\n\n //const [ diffMode, setDiffMode ] = useState<boolean>(false);\n // TODO: Implement diff mode\n const diffMode = false;\n\n const itemPath = itemRefToItemPath(itemRef);\n\n /** Proposal for the current item. */\n const proposal = ((activeCR && activeCR.items[itemPath])\n ? activeCR.items[itemPath]\n : null) ?? null;\n\n const [ preferredComparison, setPreferredComparison ] =\n useState<'prior' | 'diff' | null>(null);\n const canCompare = proposal?.type === 'clarification' && itemBefore;\n const showDiff = preferredComparison === 'diff' && canCompare;\n const showBefore = preferredComparison === 'prior' && canCompare;\n\n // Gather views\n const ListItemView = itemClass.views.listItemView;\n let details: JSX.Element;\n if (editedItemData !== null && activeCRIsEditable) {\n const EditView = itemClass.views.editView;\n details = (\n <EditView\n itemData={editedItemData}\n itemRef={itemRef}\n onChange={!isBusy ? setEditedItemData : undefined}\n // TODO: make importing context from registry-kit work in new-style extension\n useRegisterItemData={useRegisterItemData}\n />\n );\n } else if (showDiff) {\n details = <InlineDiffGeneric\n item1={itemBefore ?? EMPTY_OBJECT}\n item2={item}\n css={css`\n position: absolute; inset: 0; padding: 10px; overflow: auto;\n background-color: white;\n .bp4-dark & {\n background-color: ${Colors.DARK_GRAY2};\n }\n `}\n className={`${Classes.ELEVATION_2} ${Classes.RUNNING_TEXT}`}\n />\n } else {\n const DetailView = itemClass.views.detailView ?? itemClass.views.editView;\n details = (\n <DetailView\n itemRef={itemRef}\n itemData={showBefore ? itemBefore.data : item.data}\n // TODO: make importing context from registry-kit work in new-style extension\n useRegisterItemData={useRegisterItemData}\n />\n );\n }\n\n const proposedSupersedingItemRefs =\n proposal?.type === 'amendment' && proposal.amendmentType === 'supersession'\n ? proposal.supersedingItemIDs.\n map(id => ({\n itemID: id,\n // Superseding items are always of the same class\n classID: itemClass.meta.id,\n // Superseding items are always in the same subregister\n subregisterID: itemRef.subregisterID,\n }))\n : undefined;\n\n const supersedingItemRefs = proposedSupersedingItemRefs ?? item.supersededBy ?? [];\n const supersedingItemRefsCacheKey = supersedingItemRefs.map(i => JSON.stringify(i)).toString();\n\n // It’s superseded (whether in current proposal or not)\n const isSuperseded = /* item.status === 'superseded'; nuh-uh */ supersedingItemRefs.length > 0;\n // Item is valid, proposal is editable, and no change to this item is proposed yet\n const canBeSuperseded = (activeCRIsEditable && !proposal && !editedItemData && item.status === 'valid');\n // This item is being superseded in active proposal\n // XXX: May be redundant with `isSuperseded`?\n const isBeingSuperseded = (proposal?.type === 'amendment' && proposal.amendmentType === 'supersession');\n\n // Editing is possible for additions and clarifications.\n //const itemDataCanBeEdited = activeCRIsEditable && proposal && proposal.type !== 'amendment';\n\n const handleClearProposal = () => performProposalOperation('clearing draft proposal', null);\n const handleRetire = () => performProposalOperation('proposing retirement of an item', {\n type: 'amendment',\n amendmentType: 'retirement',\n });\n const handleInvalidate = () => performProposalOperation('proposing invalidation', {\n type: 'amendment',\n amendmentType: 'invalidation',\n });\n const handleSupersedeWith = (items: string[]) => performProposalOperation('proposing supersession', {\n type: 'amendment',\n amendmentType: 'supersession',\n supersedingItemIDs: items,\n });\n const handleClarify = async () => {\n await performProposalOperation('proposing clarification', {\n type: 'clarification',\n });\n setEditedItemData(null); // XXX: Redundant?\n };\n const handleEditAddition = async () => {\n await performProposalOperation('editing proposed addition', {\n type: 'addition',\n });\n setEditedItemData(null); // XXX: Redundant?\n };\n\n async function performProposalOperation(summary: string, proposal: ChangeProposal | null) {\n return await performOperation(summary, handleSetProposal)(summary, proposal);\n }\n\n const handleSetProposal = useCallback(async function _handleSetProposal(\n summary: string,\n proposal: ChangeProposal | null,\n ): Promise<void> {\n if (!activeCRIsEditable || !updateObjects || !isRegisterItem(item)) {\n throw new Error(\"Proposal isn’t editable\")\n }\n if (proposal && proposal?.type !== 'amendment' && !editedItemData) {\n throw new Error(\"Missing item data\");\n }\n await updateObjects({\n commitMessage: `${summary} for ${itemPath}`,\n objectChangeset: updateCRObjectChangeset(\n // TODO: We are sure it’s editable already, but casting should be avoided\n activeCR as any,\n { [itemPath]: proposal },\n ((proposal && proposal?.type !== 'amendment') && editedItemData)\n ? { [itemPath]: { ...item, data: editedItemData } }\n : {},\n ),\n // We need this because updateCRObjectChangeset\n // omits oldValue for item data payloads.\n _dangerouslySkipValidation: true,\n });\n setEditedItemData(null);\n setIsEditingProposal(false);\n }, [\n editedItemData,\n activeCRIsEditable,\n itemPath,\n item,\n activeCR,\n updateObjects,\n ]);\n\n // TODO: Very similar to `handleAdd()` in Browse sidebar menu; refactor?\n const handleProposeLikeThis = useCallback(async function _handleProposeLikeThis(): Promise<void> {\n if (!updateObjects || !makeRandomID || !activeCRIsEditable || !activeCR) {\n throw new Error(\"Unable to create item: likely current proposal is not editable or dataset is read-only\");\n }\n const { classID, subregisterID } = itemRef;\n const itemID = await makeRandomID();\n const newRef = { classID, subregisterID, itemID };\n const newItem: RegisterItem<any> = {\n id: itemID,\n dateAccepted: new Date(),\n status: 'valid',\n data: { ...item.data },\n };\n if (isRegisterItem(newItem)) {\n const newPath = itemRefToItemPath(newRef);\n await updateObjects({\n commitMessage: `clone ${itemRef.itemID} to propose a new item`,\n objectChangeset: updateCRObjectChangeset(\n activeCR as Drafted,\n { [newPath]: { type: 'addition' } },\n { [newPath]: newItem },\n ),\n _dangerouslySkipValidation: true,\n });\n } else {\n throw new Error(\"Newly created item did not pass validation (this is likely a bug in RegistryKit)\");\n }\n }, [\n updateObjects,\n activeCRIsEditable,\n itemPath,\n activeCR?.id,\n activeCR?.state,\n Object.entries(activeCR?.items ?? {}).flat().map(i => JSON.stringify(i)).toString(),\n item ? JSON.stringify(normalizeObject(item)) : item,\n ]);\n\n const supersedingItemsTooltip: HelpTooltipProps = useMemo(() => ({\n icon: 'info-sign',\n content:\n <RelatedItems\n css={css`background-color: ${Colors.LIGHT_GRAY3}; padding: 5px;`}\n availableClassIDs={[itemClass.meta.id]}\n itemRefs={supersedingItemRefs}\n />,\n }), [supersedingItemRefsCacheKey, itemClass.meta.id]);\n\n const classification: TabContentsWithHeaderProps['classification'] = useMemo(() => {\n const classification: TabContentsWithHeaderProps['classification'] = [{\n icon: 'document',\n children: <>\n Register item\n {itemRef.subregisterID\n ? <span title=\"Subregister\"> in {subregisters?.[itemRef.subregisterID]?.title ?? itemRef.subregisterID}</span>\n : null}\n </>,\n tooltip: {\n icon: 'info-sign',\n content: <>\n <UL css={css`margin: 0;`}>\n <li>Class ID: {itemClass.meta.id}</li>\n <li>Subregister ID: {itemRef.subregisterID ?? 'N/A'}</li>\n <li>UUID: {itemRef.itemID}</li>\n </UL>\n </>,\n },\n }, {\n children: itemClass.meta.title,\n tooltip: {\n icon: 'info-sign',\n content: <>\n {itemClass.meta.description ?? \"No description is provided for this register item class.\"}\n </>,\n },\n }];\n\n classification.push({\n children: item.status,\n intent: item.status === 'valid'\n ? 'success'\n : undefined,\n icon: item.status === 'invalid'\n ? 'ban-circle'\n : item.status === 'retired'\n ? 'warning-sign'\n : 'tick',\n tooltip: undefined,\n });\n\n if (proposal) {\n const tagProps = proposalToTagProps(proposal);\n classification.push({\n ...tagProps,\n children: <>{tagProps.children} proposed</>,\n icon: 'lightbulb',\n minimal: false,\n tooltip: canBeSuperseded || isBeingSuperseded\n ? supersedingItemsTooltip\n : undefined,\n });\n }\n\n return classification;\n }, [\n proposal?.type,\n itemClass.meta.id,\n item.status,\n isSuperseded, canBeSuperseded, isBeingSuperseded,\n supersedingItemsTooltip,\n ]);\n\n const [ historyDrawerOpenState, setHistoryDrawerOpenState ] = useState(false);\n\n const actions = useMemo(() => {\n const actions: TabContentsWithHeaderProps['actions'] = [{\n children: \"View history\",\n active: historyDrawerOpenState,\n icon: 'history',\n disabled: isBusy,\n onClick: () => setHistoryDrawerOpenState(true),\n }];\n\n const isEditingItemData = editedItemData !== null;\n const itemHasProposal = proposal !== null;\n //const canPropose = activeCRIsEditable && item.status === 'valid' && !isBusy;\n const itemIsProposable = item.status === 'valid';\n\n if (activeCRIsEditable) {\n actions.push({\n children: \"Propose another item like this\",\n icon: 'duplicate',\n disabled: isBusy,\n onClick: performOperation(\n 'adding duplicate item to current propposal',\n handleProposeLikeThis),\n //title=\"Propose a new item in current proposal, using this item as template.\"\n });\n\n const saveEditedItemDataButton: ButtonProps = {\n intent: 'primary',\n disabled: isBusy || !itemDataHasChanges,\n onClick: (!proposal || proposal.type === 'clarification')\n ? handleClarify\n : handleEditAddition,\n children: \"Save changes\",\n };\n\n const supersedingItemRefs =\n proposal?.type === 'amendment' && proposal.amendmentType === 'supersession'\n ? proposal.supersedingItemIDs.\n map(id => ({\n itemID: id,\n // Superseding items are always of the same class\n classID: itemClass.meta.id,\n // Superseding items are always in the same subregister\n subregisterID: itemRef.subregisterID,\n }))\n : [];\n const supersedingItems = (\n <RelatedItems\n availableClassIDs={[itemClass.meta.id]}\n itemRefs={supersedingItemRefs}\n onChange={!isBusy\n ? (items) => items.length > 0\n ? handleSupersedeWith(items.map(ref => ref.itemID))\n : handleClearProposal()\n : undefined}\n />\n );\n\n if (itemIsProposable) {\n if (itemHasProposal) {\n const proposeBtn: ButtonProps = {\n children: `Edit ${proposal.type === 'amendment' ? proposal.amendmentType : proposal.type} proposal for this item`,\n icon: 'edit',\n active: isEditingProposal,\n disabled: isBusy,\n onClick: () => {\n if (isEditingProposal) {\n setIsEditingProposal(false);\n setEditedItemData(null);\n if (proposal && proposal.type !== 'amendment') {\n }\n } else {\n setIsEditingProposal(true);\n if (proposal && proposal.type !== 'amendment') {\n setEditedItemData(item.data);\n }\n }\n },\n };\n if (isEditingProposal) {\n const editActions: ActionProps[] = [{\n disabled: isBusy || (itemDataHasChanges && proposal.type !== 'amendment'),\n onClick: handleClearProposal,\n icon: 'trash',\n children: \"Remove\",\n tooltip: [\n `NOTE: Discarding this proposal `,\n `will discard ${proposal.type === 'addition' ? \"new\" : \"changes to\"} item’s data `,\n 'you provided as part of the proposal.',\n ].join(''),\n intent: proposal.type !== 'amendment' ? 'danger' : 'warning',\n }];\n if (isEditingItemData) {\n editActions.push(saveEditedItemDataButton);\n } else if (proposal.type === 'amendment' && proposal.amendmentType === 'supersession') {\n editActions.push({\n disabled: isBusy,\n children: \"Specify superseding items\",\n popup: <div css={css`padding: 10px;`}>{supersedingItems}</div>,\n });\n }\n actions.push([proposeBtn, ...editActions]);\n } else {\n actions.push(proposeBtn);\n if (canCompare) {\n actions.push([{\n disabled: isBusy,\n children: \"Prior version\",\n active: preferredComparison === 'prior',\n onClick: preferredComparison === 'prior'\n ? () => setPreferredComparison(null)\n : () => setPreferredComparison('prior'),\n }, {\n disabled: isBusy,\n children: \"Diff\",\n active: preferredComparison === 'diff',\n onClick: preferredComparison === 'diff'\n ? () => setPreferredComparison(null)\n : () => setPreferredComparison('diff'),\n }]);\n }\n }\n } else {\n const proposeBtn: ButtonProps = {\n children: \"Propose to change this item\",\n icon: 'lightbulb',\n active: isEditingProposal,\n disabled: isBusy,\n onClick: () => setIsEditingProposal(v => !v),\n };\n if (isEditingProposal) {\n const proposalGroup = [proposeBtn, {\n disabled: isBusy || itemHasProposal,\n onClick: handleRetire,\n children: \"Retire\",\n }, {\n disabled: isBusy || itemHasProposal,\n onClick: handleInvalidate,\n children: \"Invalidate\",\n }, {\n disabled: isBusy || itemHasProposal || isEditingItemData,\n popup: supersedingItems,\n children: \"Supersede\",\n }, {\n disabled: isBusy || diffMode,\n active: isEditingItemData,\n onClick: () => setEditedItemData(d => d === null ? item.data : null),\n children: \"Clarify\",\n }];\n if (isEditingItemData && itemDataHasChanges) {\n proposalGroup.push(saveEditedItemDataButton);\n }\n actions.push(proposalGroup);\n } else {\n actions.push(proposeBtn);\n }\n }\n }\n }\n // TODO: diff view\n\n return actions;\n }, [\n isBusy,\n itemClass.meta.id,\n\n proposal === null,\n proposal?.type,\n (proposal as Supersession)?.supersedingItemIDs?.toString(),\n\n activeCRIsEditable,\n\n editedItemData === null,\n itemDataHasChanges,\n\n isEditingProposal,\n performOperation, handleSetProposal,\n historyDrawerOpenState,\n\n canCompare, preferredComparison, setPreferredComparison,\n ]);\n\n // If there’s a CR context without active CR,\n // or active CR isn’t the same as the one in CR context,\n // then we can assume that the item is shown in proposal window\n // and we’d set window title to proposal’s title rather than item’s.\n // If there’s a CR context and active CR and they’re the same\n // then it *could* be that the item is shown in its own tab;\n // we will render proposal’s title if the item appears in the change request\n // (makes sense because the user *is* technically viewing a proposal then).\n const windowTitle: string = (\n activeCR && (\n !globallyActiveCRID\n || activeCR.id !== globallyActiveCRID\n || activeCR.items[itemPath]\n )\n ) ? `Proposal ${maybeEllipsizeString(activeCR.justification, 20)}…`\n : `${itemClass.meta.title ?? 'register item'} #${item.id}`;\n\n const detailsDivRef = useRef<HTMLDivElement | null>(null);\n\n useLayoutEffect(() => {\n if (itemBefore?.data && detailsDivRef.current && proposal !== null) {\n //console.debug(\"observing\", detailsDivRef.current, observer, itemBefore.data);\n OBSERVER.observe(detailsDivRef.current, {\n attributeFilter: ['value'],\n attributes: true,\n subtree: true,\n childList: true,\n });\n }\n return function cleanUp() {\n //console.debug(\"disconnecting observer\");\n OBSERVER.disconnect();\n };\n }, [detailsDivRef.current, itemBefore?.data, proposal === null]);\n\n return (\n <TabContentsWithHeader\n smallTitle={compactHeader}\n title={<ListItemView itemRef={itemRef} itemData={item.data} />}\n classification={classification}\n actions={actions}>\n <Card css={css`position: absolute; border-radius: 0; inset: ${compactHeader ? '0' : '10px'}; overflow-y: auto;`}>\n <Helmet><title>{windowTitle}</title></Helmet>\n <ProposalHistoryDrawer\n isOpen={historyDrawerOpenState}\n onClose={() => setHistoryDrawerOpenState(false)}\n itemPath={itemPath}\n />\n <div id=\"detailsDiv\" ref={detailsDivRef} data-observer-root=\"true\">\n {details}\n </div>\n </Card>\n </TabContentsWithHeader>\n );\n});\n\n\nconst ItemTitle: React.FC<{ uri: string }> = function ({ uri }) {\n const { subregisters } = useContext(BrowserCtx);\n const ref = useItemRef(subregisters !== undefined, uri);\n const clsConfig = useItemClassConfig(ref?.classID ?? 'NONEXISTENT_CLASS_ID');\n const { value: itemData } = useSingleRegisterItemData(ref);\n const fallbackView = useCallback((() => <>{ref?.itemID ?? uri}</>), [uri]);\n const View = itemData\n ? (clsConfig?.views.listItemView ?? fallbackView)\n : fallbackView;\n return <View\n itemRef={ref ?? DUMMY_REF}\n itemData={itemData}\n />;\n};\n\n\nexport default {\n main: MaybeItemDetail,\n title: ItemTitle,\n} as const;\n\n\nconst CHANGED_ITEM_HIGHLIGHT_MS = 1000;\nconst OBSERVER = new MutationObserver((mutationList: MutationRecord[]) => {\n const changed: [HTMLElement, 'added' | 'removed' | 'changed'][] = [];\n\n function maybeAddChanged(el: HTMLElement, changeType: 'added' | 'changed') {\n if (!el.parentElement?.getAttribute('data-observer-root')) {\n changed.push([el, changeType]);\n }\n }\n\n mutationList.forEach((mutation) => {\n switch (mutation.type) {\n case 'childList':\n mutation.addedNodes.forEach((node) => {\n maybeAddChanged(node as HTMLElement, 'added')\n });\n //mutation.removedNodes.forEach((node) => {\n // //changedNodes.push([node as HTMLElement, 'removed']);\n // console.log('node removed', node);\n //});\n break;\n case 'attributes':\n maybeAddChanged(mutation.target as HTMLElement, 'changed')\n break;\n }\n });\n const nodesWithBackground: [HTMLElement, string, string, string][] = [];\n for (const [_el, change] of changed) {\n // FIXME: Walk parent elements until one that actually exists?\n const el = change === 'removed' ? _el.parentElement! : _el;\n nodesWithBackground.push([el, el.style.transition, el.style.backgroundColor, el.style.color]);\n el.style.transition = 'none';\n el.style.color = 'white';\n if (change === 'removed') {\n el.style.backgroundColor = Colors.RED2;\n } else {\n el.style.backgroundColor = change === 'added'\n ? Colors.GREEN2\n : Colors.INDIGO2;\n }\n }\n setTimeout(() => {\n for (const [el, , bgc, tc] of nodesWithBackground) {\n el.style.transition = 'background-color linear 1s, color linear 1s';\n el.style.backgroundColor = bgc;\n el.style.color = tc;\n }\n setTimeout(() => {\n for (const [el, tr] of nodesWithBackground) {\n el.style.transition = tr;\n }\n }, CHANGED_ITEM_HIGHLIGHT_MS);\n }, 1);\n});\n"]}
@@ -0,0 +1,59 @@
1
+ /** @jsx jsx */
2
+ /** @jsxFrag React.Fragment */
3
+ import React, { useMemo, memo } from 'react';
4
+ import { jsx, css } from '@emotion/react';
5
+ import { Card, NonIdealState, UL, } from '@blueprintjs/core';
6
+ import useItemClassConfig from '../hooks/useItemClassConfig';
7
+ import Search from '../sidebar/Search';
8
+ import { RegisterHelmet as Helmet } from '../util';
9
+ import { TabContentsWithHeader } from '../util';
10
+ const MaybeItemClass = memo(function ({ uri }) {
11
+ const itemClass = useItemClassConfig(uri);
12
+ if (!itemClass) {
13
+ return jsx(NonIdealState, { icon: "heart-broken", title: "Unable to show item class", description: `Item class ${uri} cannot be found in item class configuration for this register` });
14
+ }
15
+ return jsx(ItemClass, { itemClass: itemClass });
16
+ });
17
+ const ItemClassTitle = function ({ uri }) {
18
+ var _a;
19
+ const itemClass = useItemClassConfig(uri);
20
+ return jsx(React.Fragment, null, (_a = itemClass === null || itemClass === void 0 ? void 0 : itemClass.meta.title) !== null && _a !== void 0 ? _a : uri);
21
+ };
22
+ export default {
23
+ main: MaybeItemClass,
24
+ title: ItemClassTitle,
25
+ };
26
+ const ItemClass = function ({ itemClass }) {
27
+ var _a, _b;
28
+ const availableClassIDs = [itemClass.meta.id];
29
+ const classCriteria = useMemo(() => (availableClassIDs.map(clsID => ({
30
+ key: 'item-class',
31
+ query: `objPath.indexOf(\"/${clsID}/\") >= 0`,
32
+ }))), [availableClassIDs.toString()]);
33
+ const implicitCriteria = useMemo(() => (classCriteria.length > 0
34
+ ? {
35
+ require: 'any',
36
+ criteria: classCriteria,
37
+ }
38
+ : undefined), [classCriteria]);
39
+ const classification = useMemo(() => [{
40
+ icon: 'folder-close',
41
+ children: jsx(React.Fragment, null, "Register item class"),
42
+ tooltip: {
43
+ icon: 'info-sign',
44
+ content: jsx(UL, { css: css `margin: 0;` },
45
+ jsx("li", null,
46
+ "Class ID: ",
47
+ itemClass.meta.id)),
48
+ },
49
+ }], [itemClass.meta.id]);
50
+ return (jsx(TabContentsWithHeader, { title: jsx(React.Fragment, null, itemClass.meta.title), classification: classification },
51
+ jsx(Card, { css: css `flex: 1; box-shadow: none !important; position: absolute; border-radius: 0; display: flex; flex-flow: column nowrap; padding: 10px;` },
52
+ jsx("p", null, (_a = itemClass.meta.description) !== null && _a !== void 0 ? _a : '(no class description available)'),
53
+ jsx(Helmet, null,
54
+ jsx("title", null, itemClass.meta.title)),
55
+ jsx(Search, { css: css `flex: 1;`, scope: (_b = itemClass.meta.title) !== null && _b !== void 0 ? _b : "this register item class",
56
+ //style={{ height: '100vh', width: '50vw', minWidth: '500px', maxWidth: '90vw' }}
57
+ availableClassIDs: availableClassIDs, implicitCriteria: implicitCriteria, stateName: `item-class-${itemClass.meta.id}-search` }))));
58
+ };
59
+ //# sourceMappingURL=RegisterItemClass.js.map
@@ -0,0 +1,176 @@
1
+ /** @jsx jsx */
2
+ /** @jsxFrag React.Fragment */
3
+ import update from 'immutability-helper';
4
+ import React from 'react';
5
+ import { jsx, css } from '@emotion/react';
6
+ import { ControlGroup, InputGroup, FormGroup, TextArea, HTMLTable, HTMLSelect, Button, ButtonGroup, MenuItem, } from '@blueprintjs/core';
7
+ import { MultiSelect2 as Select } from '@blueprintjs/select';
8
+ import { FormGroupAsCardInGrid } from '../../../views/util';
9
+ import { STAKEHOLDER_ROLES, StakeholderRole, StakeholderRoleLabels, } from '../../../types/stakeholder';
10
+ const DUMMY_CONTACT = {
11
+ label: 'email',
12
+ value: 'example@example.com',
13
+ };
14
+ const DUMMY_ORG = {
15
+ name: 'New organization',
16
+ logoURL: '',
17
+ };
18
+ // const DUMMY_PARTY: Register["stakeholders"][number]["parties"][number] = {
19
+ // name: '',
20
+ // contacts: [DUMMY_CONTACT],
21
+ // };
22
+ const DUMMY_STAKEHOLDER = {
23
+ roles: [StakeholderRole.Submitter],
24
+ name: 'New stakeholder',
25
+ gitServerUsername: undefined,
26
+ affiliations: {},
27
+ contacts: [DUMMY_CONTACT],
28
+ //parties: [DUMMY_PARTY],
29
+ };
30
+ const RegisterMetaForm = function ({ value, onChange, className }) {
31
+ var _a, _b, _c, _d, _e, _f, _g, _h;
32
+ function handleOperatingLanguageChange(fieldName) {
33
+ return (evt) => {
34
+ const newValue = update(value, { operatingLanguage: op => update(op !== null && op !== void 0 ? op : {}, { [fieldName]: { $set: evt.currentTarget.value } }) });
35
+ onChange(newValue);
36
+ };
37
+ }
38
+ function makeFormEventHandler(func) {
39
+ return (evt) => {
40
+ const spec = func(evt.currentTarget.value);
41
+ if (spec) {
42
+ onChange(update(value, spec));
43
+ }
44
+ };
45
+ }
46
+ const stakeholders = (_a = value.stakeholders) !== null && _a !== void 0 ? _a : [];
47
+ const orgs = (_b = value.organizations) !== null && _b !== void 0 ? _b : {};
48
+ const organizationIDs = Object.keys(orgs);
49
+ function makeStakeholderChangeHandler(idx, func) {
50
+ return makeFormEventHandler(val => ({ stakeholders: { [idx]: func(val) } }));
51
+ }
52
+ function handleStakeholderAdd() {
53
+ onChange({ ...value, stakeholders: [...stakeholders, DUMMY_STAKEHOLDER] });
54
+ }
55
+ function handleStakeholderDelete(idx) {
56
+ onChange(update(value, { stakeholders: { $splice: [[idx, 1]] } }));
57
+ }
58
+ function makeOrgChangeHandler(orgID, func) {
59
+ return makeFormEventHandler(val => ({ organizations: { [orgID]: func(val) } }));
60
+ }
61
+ function handleOrgAdd() {
62
+ const newID = crypto.randomUUID();
63
+ onChange({ ...value, organizations: { ...orgs, [newID]: DUMMY_ORG } });
64
+ }
65
+ function handleOrgDelete(orgID) {
66
+ onChange(update(value, { organizations: { $unset: [orgID] } }));
67
+ }
68
+ function findAffiliations(orgID) {
69
+ return stakeholders.
70
+ filter(s => { var _a; return ((_a = s.affiliations) === null || _a === void 0 ? void 0 : _a[orgID]) !== undefined; }).
71
+ flatMap(s => { var _a; return Object.values((_a = s.affiliations) !== null && _a !== void 0 ? _a : {}); });
72
+ }
73
+ function findAffiliationOptions(s) {
74
+ return Object.entries(orgs).
75
+ filter(([orgID]) => { var _a; return ((_a = s.affiliations) === null || _a === void 0 ? void 0 : _a[orgID]) === undefined; }).
76
+ map(([orgID, org]) => ({
77
+ value: orgID,
78
+ label: org.name,
79
+ }));
80
+ }
81
+ return (jsx(React.Fragment, null,
82
+ jsx(FormGroupAsCardInGrid, { label: "Basics:", paddingPx: PADDING_PX, css: css `
83
+ min-width: 100%;
84
+ > .bp4-form-content {
85
+ flex-flow: row wrap;
86
+ justify-content: stretch;
87
+ align-items: stretch;
88
+ }
89
+ ` },
90
+ jsx(FormGroup, { label: "Name:", css: css `flex-grow: 1;` },
91
+ jsx(InputGroup, { fill: true, value: value.name || '', readOnly: !onChange, onChange: makeFormEventHandler(val => ({ name: { $set: val } })) })),
92
+ jsx(FormGroup, { label: "Uniform resource identifier:", css: css `flex-grow: 1;` },
93
+ jsx(InputGroup, { fill: true, type: "url", value: value.uniformResourceIdentifier || '', readOnly: !onChange, onChange: makeFormEventHandler(val => ({ uniformResourceIdentifier: { $set: val } })) })),
94
+ jsx(FormGroup, { label: "Operating language (locale):", helperText: "Name, country and ISO 639-2 language code." },
95
+ jsx(ControlGroup, null,
96
+ jsx(InputGroup, { readOnly: !onChange, placeholder: "E.g., Welsh", value: (_d = (_c = value.operatingLanguage) === null || _c === void 0 ? void 0 : _c.name) !== null && _d !== void 0 ? _d : '', onChange: handleOperatingLanguageChange('name') }),
97
+ jsx(InputGroup, { readOnly: !onChange, placeholder: "3-character numerical country code from ISO 3166-1", value: (_f = (_e = value.operatingLanguage) === null || _e === void 0 ? void 0 : _e.country) !== null && _f !== void 0 ? _f : '', onChange: handleOperatingLanguageChange('country') }),
98
+ jsx(InputGroup, { css: css `width: 4em;`, readOnly: !onChange, placeholder: "3-character language code from ISO 639-2", value: (_h = (_g = value.operatingLanguage) === null || _g === void 0 ? void 0 : _g.languageCode) !== null && _h !== void 0 ? _h : '', onChange: handleOperatingLanguageChange('languageCode') })))),
99
+ jsx(FormGroupAsCardInGrid, { label: "Content summary:", paddingPx: PADDING_PX, css: css `min-width: 100%;` },
100
+ jsx(FormGroup, { helperText: "HTML is allowed." },
101
+ jsx(TextArea, { fill: true, css: css `height: 8em !important;`, value: value.contentSummary || '', readOnly: !onChange, onChange: makeFormEventHandler(val => ({ contentSummary: { $set: val } })) }))),
102
+ jsx(FormGroupAsCardInGrid, { paddingPx: PADDING_PX, label: "Organizations:", css: css `min-width: 100%`, helperText: onChange
103
+ ? jsx(Button, { onClick: handleOrgAdd, icon: "add" }, "Add")
104
+ : null }, organizationIDs.length > 0
105
+ ? jsx(HTMLTable, { css: css `margin: 0 -${PADDING_PX}px;` },
106
+ jsx("thead", null,
107
+ jsx("tr", { css: css `& > * { white-space: nowrap }` },
108
+ jsx("th", null, "Name"),
109
+ jsx("th", null, "Logo URL"))),
110
+ jsx("tbody", null, [...Object.entries(value.organizations)].map(([orgID, s]) => jsx("tr", { key: orgID },
111
+ jsx("td", null,
112
+ jsx(InputGroup, { readOnly: !onChange, rightElement: jsx(Button, { key: "delete", outlined: true, disabled: !onChange || findAffiliations(orgID).length > 0, title: "Delete this organization", onClick: () => handleOrgDelete(orgID), icon: "cross", intent: "warning" }), onChange: makeOrgChangeHandler(orgID, (val) => ({ name: { $set: val } })), value: s.name })),
113
+ jsx("td", null,
114
+ jsx(InputGroup, { readOnly: !onChange, onChange: makeOrgChangeHandler(orgID, (val) => ({ logoURL: { $set: val } })), value: s.logoURL }))))))
115
+ : null),
116
+ jsx(FormGroupAsCardInGrid, { paddingPx: PADDING_PX, label: "Users:", css: css `min-width: 100%`, helperText: onChange
117
+ ? jsx(Button, { onClick: handleStakeholderAdd, icon: "add" }, "Add")
118
+ : null }, stakeholders.length > 0
119
+ ? jsx(HTMLTable, { css: css `margin: 0 -${PADDING_PX}px;` },
120
+ jsx("thead", null,
121
+ jsx("tr", { css: css `& > * { white-space: nowrap }` },
122
+ jsx("th", null, "Name"),
123
+ jsx("th", null, "Git server username"),
124
+ jsx("th", null, "Role"),
125
+ jsx("th", null, "Affiliations"),
126
+ jsx("th", null, "Contact email"))),
127
+ jsx("tbody", null, [...stakeholders.entries()].map(([idx, s]) => {
128
+ var _a, _b, _c, _d;
129
+ return jsx("tr", { key: idx },
130
+ jsx("td", null,
131
+ jsx(InputGroup, { readOnly: !onChange, onChange: makeStakeholderChangeHandler(idx, (val) => ({ name: { $set: val } })), rightElement: jsx(Button, { key: "delete", outlined: true, disabled: !onChange, title: "Delete this stakeholder", onClick: () => handleStakeholderDelete(idx), icon: "cross", intent: "warning" }), value: s.name })),
132
+ jsx("td", null,
133
+ jsx(InputGroup, { readOnly: !onChange, onChange: makeStakeholderChangeHandler(idx, (val) => ({ gitServerUsername: { $set: val || undefined } })), value: s.gitServerUsername || '' })),
134
+ jsx("td", null,
135
+ jsx(Select, { items: STAKEHOLDER_ROLES, popoverProps: {
136
+ minimal: true,
137
+ matchTargetWidth: true,
138
+ }, itemPredicate: (query, roleID) =>
139
+ // Match can be in both role ID and role label
140
+ `${roleID} ${StakeholderRoleLabels[roleID]}`.
141
+ toLowerCase().
142
+ indexOf(query.toLowerCase()) >= 0, resetOnSelect: true, css: css `max-width: 300px;`, selectedItems: [...((_a = s.roles) !== null && _a !== void 0 ? _a : [s.role])], disabled: !onChange || !s.roles, itemDisabled: roleID => { var _a; return (_a = s.roles) === null || _a === void 0 ? void 0 : _a.includes(roleID); }, tagRenderer: roleID => StakeholderRoleLabels[roleID],
143
+ // Make each role take full width & so stak them vertically
144
+ tagInputProps: { tagProps: { className: 'bp4-fill' } }, onRemove: roleID => onChange(update(value, { stakeholders: { [idx]: { roles: { $splice: [[s.roles.indexOf(roleID), 1]] } } } })), itemRenderer: (roleID, { handleClick, modifiers: { active, disabled } }) => jsx(MenuItem, { text: StakeholderRoleLabels[roleID], active: active, disabled: disabled, onClick: handleClick }), onItemSelect: roleID => onChange(update(value, { stakeholders: { [idx]: { roles: { $push: [roleID] } } } })) })),
145
+ jsx("td", null,
146
+ jsx(ControlGroup, { vertical: true },
147
+ Object.entries((_b = s.affiliations) !== null && _b !== void 0 ? _b : {}).
148
+ sort(([, aff], [, aff2]) => aff2.role.localeCompare(aff.role)).
149
+ map(([orgID, affiliation], _affiliationIdx) => {
150
+ var _a, _b;
151
+ return jsx(ButtonGroup, { key: orgID },
152
+ jsx(InputGroup, { key: "org", readOnly: true, value: (_b = (_a = orgs[orgID]) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : orgID, rightElement: jsx(Button, { key: "delete", outlined: true, disabled: !onChange, title: "Delete this affiliation", onClick: () => onChange(update(value, { stakeholders: { [idx]: { affiliations: { $unset: [orgID] } } } })), icon: "cross" }) }),
153
+ jsx(HTMLSelect, { key: "set-role", disabled: !onChange, value: affiliation.role, options: [
154
+ { value: 'pointOfContact', label: 'point of contact' },
155
+ { value: 'member', label: 'member' },
156
+ ], onChange: (evt) => onChange(update(value, { stakeholders: { [idx]: { affiliations: { [orgID]: { role: { $set: evt.currentTarget.value } } } } } })), title: "Specify role in organization" }));
157
+ }),
158
+ findAffiliationOptions(s).length > 0 && onChange
159
+ ? jsx(HTMLSelect, { key: "add", options: [
160
+ { label: "Append affiliation…", value: '' },
161
+ ...findAffiliationOptions(s),
162
+ ], value: "", onChange: (evt) => {
163
+ var _a;
164
+ return ((_a = evt.currentTarget.value) === null || _a === void 0 ? void 0 : _a.trim()) !== ''
165
+ ? onChange(update(value, { stakeholders: { [idx]: { affiliations: { [evt.currentTarget.value]: { $set: { role: 'member' } } } } } }))
166
+ : void 0;
167
+ }, title: "Append affiliation\u2026" })
168
+ : null)),
169
+ jsx("td", null,
170
+ jsx(InputGroup, { readOnly: !onChange, type: "email", onChange: makeStakeholderChangeHandler(idx, (val) => ({ contacts: { $set: [{ label: 'email', value: val }] } })), value: ((_d = (_c = s.contacts) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.value) || '' })));
171
+ })))
172
+ : null)));
173
+ };
174
+ const PADDING_PX = 11;
175
+ export default RegisterMetaForm;
176
+ //# sourceMappingURL=RegisterMetaForm.js.map
@@ -0,0 +1,73 @@
1
+ /** @jsx jsx */
2
+ /** @jsxFrag React.Fragment */
3
+ import React, { useState, useContext } from 'react';
4
+ import { jsx } from '@emotion/react';
5
+ import { NonIdealState, Spinner } from '@blueprintjs/core';
6
+ import { DatasetContext } from '@riboseinc/paneron-extension-kit/context';
7
+ import { BrowserCtx } from '../../BrowserCtx';
8
+ import { isRegisterMetadata } from '../../../types';
9
+ import { isOwner } from '../../../types/stakeholder';
10
+ import { REGISTER_METADATA_FILENAME } from '../../../common';
11
+ import { TabContentsWithHeader } from '../../util';
12
+ import RegisterMetaForm from './RegisterMetaForm';
13
+ const RegisterMeta = function () {
14
+ var _a;
15
+ const { updateObjects, performOperation } = useContext(DatasetContext);
16
+ const { registerMetadata, stakeholder } = useContext(BrowserCtx);
17
+ const [editedMetadata, setEditedMetadata] = useState(null);
18
+ const canChange = updateObjects ? true : false;
19
+ const didChange = registerMetadata && editedMetadata && JSON.stringify(editedMetadata) !== JSON.stringify(registerMetadata);
20
+ const owner = ((_a = registerMetadata === null || registerMetadata === void 0 ? void 0 : registerMetadata.stakeholders) !== null && _a !== void 0 ? _a : []).find(isOwner);
21
+ const stakeholderCanEdit = !owner || (stakeholder && isOwner(stakeholder));
22
+ function handleClear() {
23
+ setEditedMetadata(null);
24
+ }
25
+ async function handleSave() {
26
+ if (!updateObjects) {
27
+ throw new Error("Dataset is read-only");
28
+ }
29
+ if (!stakeholder || !isOwner(stakeholder)) {
30
+ throw new Error("Register meta is only meant to be edited by owner");
31
+ }
32
+ if (!isRegisterMetadata(editedMetadata)) {
33
+ throw new Error("Invalid register metadata");
34
+ }
35
+ await performOperation('saving register meta', updateObjects)({
36
+ commitMessage: "edited register metadata",
37
+ objectChangeset: {
38
+ [REGISTER_METADATA_FILENAME]: {
39
+ oldValue: registerMetadata,
40
+ newValue: editedMetadata,
41
+ },
42
+ },
43
+ });
44
+ setEditedMetadata(null);
45
+ }
46
+ if (registerMetadata) {
47
+ return (jsx(TabContentsWithHeader, { title: "Register metadata", layout: "card-grid", actions: [[{
48
+ onClick: handleSave,
49
+ disabled: !didChange || !canChange,
50
+ intent: didChange && canChange ? "primary" : undefined,
51
+ children: "Save",
52
+ }, {
53
+ onClick: handleClear,
54
+ disabled: !didChange || !canChange,
55
+ children: "Clear changes",
56
+ }]] },
57
+ jsx(RegisterMetaForm, { value: editedMetadata !== null && editedMetadata !== void 0 ? editedMetadata : registerMetadata, onChange: (updateObjects && stakeholderCanEdit)
58
+ ? setEditedMetadata
59
+ : undefined })));
60
+ }
61
+ else if (registerMetadata === undefined) {
62
+ return jsx(NonIdealState, { icon: jsx(Spinner, null) });
63
+ }
64
+ else {
65
+ return jsx(NonIdealState, { icon: "heart-broken", description: "Failed to read registry metadata." });
66
+ }
67
+ };
68
+ export default {
69
+ main: RegisterMeta,
70
+ title: () => jsx(React.Fragment, null, "Register Metadata"),
71
+ plainTitle: async () => "register metadata",
72
+ };
73
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,12 @@
1
+ import protocolRegistry, { isValidProtocol } from '../protocolRegistry';
2
+ export async function getPlainTitle(uri) {
3
+ var _a, _b, _c;
4
+ const [proto, _path] = uri.split(':');
5
+ if (isValidProtocol(proto)) {
6
+ return (_c = await ((_b = (_a = protocolRegistry[proto]).plainTitle) === null || _b === void 0 ? void 0 : _b.call(_a, _path))) !== null && _c !== void 0 ? _c : 'N/A';
7
+ }
8
+ else {
9
+ throw new Error("Invalid protocol");
10
+ }
11
+ }
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,117 @@
1
+ /** @jsx jsx */
2
+ /** @jsxFrag React.Fragment */
3
+ import { jsx } from '@emotion/react';
4
+ import styled from '@emotion/styled';
5
+ import React from 'react';
6
+ import ReactDOM from 'react-dom/server';
7
+ import VisualDiff from 'react-visual-diff';
8
+ import { OL } from '@blueprintjs/core';
9
+ import DL from '@riboseinc/paneron-extension-kit/widgets/DL';
10
+ import { objectsHaveSameShape, normalizeObjectRecursively, isObject } from '@riboseinc/paneron-extension-kit/util';
11
+ import AnnotatedChange from '../AnnotatedChange';
12
+ const UnstyledOL = styled(OL) `
13
+ margin: 0 !important;
14
+ > li {
15
+ margin: 0 !important;
16
+ }
17
+ ::marker {
18
+ font-weight: bold;
19
+ }
20
+ `;
21
+ const ComplexDL = styled(DL) `
22
+ /* Within Blueprint’s running text container, we can get away with zero vertical padding. */
23
+ padding: 0 4px;
24
+ border: 1px solid rgba(125, 125, 125, 0.5);
25
+ border-radius: 0 0 15px 0;
26
+ margin: -1px -5px;
27
+ `;
28
+ const InlineDiff = React.memo(({ DetailView, sharedRefComponents, item1, item2 }) => {
29
+ // TODO: Make VisualDiff work. Currently, it doesn’t apparently when item detail views use hooks.
30
+ // Which is often. Either make item views hook-free
31
+ // (which means primarily eliminating useRegisterItemData() by inferring and pre-fetching
32
+ // related item data), or work out another way to diff two React elements.
33
+ console.debug(item1.description, item2.description);
34
+ const left = jsx("div", { dangerouslySetInnerHTML: { __html: ReactDOM.renderToString(jsx(DetailView, { itemRef: sharedRefComponents, itemData: item1 })) } });
35
+ const right = jsx("div", { dangerouslySetInnerHTML: { __html: ReactDOM.renderToString(jsx(DetailView, { itemRef: sharedRefComponents, itemData: item2 })) } });
36
+ return jsx(VisualDiff, { left: left, right: right, renderChange: AnnotatedChange });
37
+ }, (prevProps, nextProps) => JSON.stringify(prevProps.item2) === JSON.stringify(nextProps.item2) &&
38
+ JSON.stringify(prevProps.item1) === JSON.stringify(nextProps.item1));
39
+ // /** Returns true if a value or any nested value within, recursively, is considered “not empty”. */
40
+ // function isNonEmptyRecursive(val: any): boolean {
41
+ // if (Array.isArray(val)) {
42
+ // // TODO: Should really do this on arrays?
43
+ // return val.find(item => isNonEmptyRecursive(item)) !== undefined;
44
+ // } else if (isObject(val)) {
45
+ // return Object.values(val).find(item => isNonEmptyRecursive(item)) !== undefined;
46
+ // } else {
47
+ // return isNonEmpty(val);
48
+ // }
49
+ // }
50
+ /** Returns true if a value is considered “not empty”. */
51
+ function isNonEmpty(val) {
52
+ var _a, _b;
53
+ return val && (typeof val === 'string'
54
+ ? val.trim() !== ''
55
+ : ((_b = (_a = val === null || val === void 0 ? void 0 : val.toString()) === null || _a === void 0 ? void 0 : _a.trim) === null || _b === void 0 ? void 0 : _b.call(_a)) || `${val}`);
56
+ }
57
+ /** Renders given value in a recursive way. */
58
+ export const Val = function ({ val, hideEmpty }) {
59
+ var _a;
60
+ if (Array.isArray(val)) {
61
+ return (jsx(UnstyledOL, null, val.map((v, idx) => jsx("li", { key: idx },
62
+ isObject(val) ? jsx(React.Fragment, null, "\u2192") : null,
63
+ jsx(Val, { val: v, hideEmpty: hideEmpty })))));
64
+ }
65
+ else if (isObject(val)) {
66
+ const allEntries = Object.entries(val);
67
+ const entries = hideEmpty
68
+ ? allEntries.filter(([, v]) => isNonEmpty(v))
69
+ : allEntries;
70
+ const omittedCount = hideEmpty
71
+ ? allEntries.length - entries.length
72
+ : 0;
73
+ const Comp = entries.length > 1
74
+ ? ComplexDL
75
+ : DL;
76
+ return (jsx(Comp, null,
77
+ (omittedCount > 1 ? entries : allEntries).sort().map(([key, val]) => jsx("div", { key: key },
78
+ jsx("dt", null,
79
+ key,
80
+ isObject(val) ? jsx(React.Fragment, null, " \u2192") : ': '),
81
+ jsx("dd", null,
82
+ jsx(Val, { val: val, hideEmpty: hideEmpty })))),
83
+ omittedCount > 1
84
+ ? jsx(MetaDLRow, null,
85
+ jsx("dt", null, "empty properties omitted:"),
86
+ jsx("dd", null,
87
+ jsx("code", null, omittedCount)))
88
+ : null));
89
+ }
90
+ else {
91
+ const valString = typeof val === 'string'
92
+ ? val
93
+ : (_a = val === null || val === void 0 ? void 0 : val.toString()) !== null && _a !== void 0 ? _a : '';
94
+ return typeof val === 'string'
95
+ ? jsx(React.Fragment, null, valString)
96
+ : jsx("code", null, valString.trim() || `${val}`);
97
+ }
98
+ };
99
+ const MetaDLRow = styled.div `
100
+ opacity: 0.7;
101
+ > dt {
102
+ font-weight: normal;
103
+ font-style: italic;
104
+ }
105
+ `;
106
+ export const InlineDiffGeneric = React.memo(function ({ item1, item2, omitEmpty, className }) {
107
+ const left = jsx(Val, { val: normalizeObjectRecursively(item1), hideEmpty: omitEmpty });
108
+ const right = jsx(Val, { val: normalizeObjectRecursively(item2), hideEmpty: omitEmpty });
109
+ return (jsx("div", { className: className },
110
+ jsx(VisualDiff, { left: left, right: right,
111
+ //left={<Val val={normalizeObjectRecursively(item1)} />}
112
+ //right={<Val val={normalizeObjectRecursively(item2)} />}
113
+ renderChange: AnnotatedChange })));
114
+ }, (prevProps, nextProps) => objectsHaveSameShape(prevProps.item2, nextProps.item2) &&
115
+ objectsHaveSameShape(prevProps.item1, nextProps.item1));
116
+ export default InlineDiff;
117
+ //# sourceMappingURL=InlineDiff.js.map
@@ -0,0 +1,38 @@
1
+ /** @jsx jsx */
2
+ /** @jsxFrag React.Fragment */
3
+ import { diff, formatters } from 'jsondiffpatch';
4
+ import { jsx, css } from '@emotion/react';
5
+ import React, { useEffect, useRef, useState } from 'react';
6
+ import { Switch } from '@blueprintjs/core';
7
+ const StructuredDiff = React.memo(({ item1, item2, showUnchanged, className }) => {
8
+ const diffContainerRef = useRef(null);
9
+ // Is ignored if managed via prop.
10
+ const [_showUnchanged, setShowUnchanged] = useState(false);
11
+ const item1json = JSON.stringify(item1);
12
+ const item2json = JSON.stringify(item2);
13
+ useEffect(() => {
14
+ if (diffContainerRef.current) {
15
+ const delta = diff(item1, item2);
16
+ formatters.html.showUnchanged(showUnchanged !== null && showUnchanged !== void 0 ? showUnchanged : _showUnchanged);
17
+ if (delta) {
18
+ diffContainerRef.current.innerHTML = formatters.html.format(delta, item1);
19
+ }
20
+ else {
21
+ diffContainerRef.current.innerHTML = formatters.html.format({}, item1);
22
+ }
23
+ }
24
+ }, [item1json, item2json, diffContainerRef.current, showUnchanged, _showUnchanged]);
25
+ // TODO: Make VisualDiff work. Currently, it doesn’t apparently when item detail views use hooks.
26
+ // Which is often. Either make item views hook-free
27
+ // (which means primarily eliminating useRegisterItemData() by inferring and pre-fetching
28
+ // related item data), or work out another way to diff two React elements.
29
+ return jsx("div", { css: css `display: flex; flex-flow: column nowrap;`, className: className },
30
+ showUnchanged === undefined
31
+ ? jsx(Switch, { checked: _showUnchanged, onChange: evt => setShowUnchanged(evt.currentTarget.checked), label: "Show unchanged properties" })
32
+ : null,
33
+ jsx("div", { ref: diffContainerRef, css: css `flex: 1; overflow: auto;` }));
34
+ }, (prevProps, nextProps) => JSON.stringify(prevProps.item2) === JSON.stringify(nextProps.item2) &&
35
+ JSON.stringify(prevProps.item1) === JSON.stringify(nextProps.item1) &&
36
+ prevProps.showUnchanged === nextProps.showUnchanged);
37
+ export default StructuredDiff;
38
+ //# sourceMappingURL=StructuredDiff.js.map
@@ -0,0 +1,14 @@
1
+ import { useContext } from 'react';
2
+ import { BrowserCtx } from '../BrowserCtx';
3
+ export default function useCustomView(viewID) {
4
+ const { customViews } = useContext(BrowserCtx);
5
+ const view = (customViews !== null && customViews !== void 0 ? customViews : []).find(v => v.id === viewID);
6
+ return {
7
+ value: view,
8
+ errors: [],
9
+ refresh: () => void 0,
10
+ isUpdating: false,
11
+ _reqCounter: 0,
12
+ };
13
+ }
14
+ //# sourceMappingURL=useCustomView.js.map
@@ -0,0 +1,8 @@
1
+ import { useContext, useMemo } from 'react';
2
+ import { BrowserCtx } from '../BrowserCtx';
3
+ export default function useItemClassConfig(clsID) {
4
+ const { itemClasses } = useContext(BrowserCtx);
5
+ const clsConfig = itemClasses[clsID];
6
+ return useMemo((() => clsConfig), [clsID, itemClasses]);
7
+ }
8
+ //# sourceMappingURL=useItemClassConfig.js.map