@riboseinc/paneron-registry-kit 2.0.0-dev9 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (558) hide show
  1. package/LICENSE +21 -0
  2. package/README.adoc +35 -0
  3. package/compiled/common.d.ts +1 -0
  4. package/compiled/common.js +2 -0
  5. package/{common.js.map → compiled/common.js.map} +1 -1
  6. package/{index.d.ts → compiled/index.d.ts} +3 -3
  7. package/compiled/index.js +21 -0
  8. package/compiled/index.js.map +1 -0
  9. package/compiled/migrations/initial.js +8 -0
  10. package/compiled/types/cr.d.ts +216 -0
  11. package/compiled/types/cr.js +131 -0
  12. package/compiled/types/cr.js.map +1 -0
  13. package/{types → compiled/types}/index.d.ts +1 -0
  14. package/compiled/types/index.js +8 -0
  15. package/compiled/types/index.js.map +1 -0
  16. package/{types → compiled/types}/item.d.ts +13 -3
  17. package/compiled/types/item.js +22 -0
  18. package/compiled/types/item.js.map +1 -0
  19. package/compiled/types/proposal.d.ts +64 -0
  20. package/compiled/types/proposal.js +21 -0
  21. package/compiled/types/proposal.js.map +1 -0
  22. package/{types → compiled/types}/register.d.ts +6 -5
  23. package/compiled/types/register.js +25 -0
  24. package/compiled/types/register.js.map +1 -0
  25. package/compiled/types/registry.d.ts +15 -0
  26. package/compiled/types/registry.js +10 -0
  27. package/compiled/types/registry.js.map +1 -0
  28. package/compiled/types/stakeholder.d.ts +58 -0
  29. package/compiled/types/stakeholder.js +34 -0
  30. package/compiled/types/stakeholder.js.map +1 -0
  31. package/compiled/types/util.js +3 -0
  32. package/compiled/types/views.d.ts +157 -0
  33. package/compiled/types/views.js +2 -0
  34. package/compiled/types/views.js.map +1 -0
  35. package/compiled/views/AnnotatedChange.d.ts +7 -0
  36. package/compiled/views/AnnotatedChange.js +57 -0
  37. package/compiled/views/AnnotatedChange.js.map +1 -0
  38. package/compiled/views/BrowserCtx.d.ts +73 -0
  39. package/compiled/views/BrowserCtx.js +19 -0
  40. package/compiled/views/BrowserCtx.js.map +1 -0
  41. package/compiled/views/FilterCriteria/CRITERIA_CONFIGURATION.d.ts +17 -0
  42. package/compiled/views/FilterCriteria/CRITERIA_CONFIGURATION.js +110 -0
  43. package/compiled/views/FilterCriteria/CRITERIA_CONFIGURATION.js.map +1 -0
  44. package/{views → compiled/views}/FilterCriteria/criteriaGroupToQueryExpression.d.ts +4 -0
  45. package/compiled/views/FilterCriteria/criteriaGroupToQueryExpression.js +40 -0
  46. package/compiled/views/FilterCriteria/criteriaGroupToQueryExpression.js.map +1 -0
  47. package/compiled/views/FilterCriteria/criteriaGroupToSummary.js +47 -0
  48. package/compiled/views/FilterCriteria/criteriaGroupToSummary.js.map +1 -0
  49. package/{views → compiled/views}/FilterCriteria/criteriaToNodes.d.ts +9 -0
  50. package/compiled/views/FilterCriteria/criteriaToNodes.js +89 -0
  51. package/compiled/views/FilterCriteria/criteriaToNodes.js.map +1 -0
  52. package/{views → compiled/views}/FilterCriteria/index.d.ts +1 -0
  53. package/compiled/views/FilterCriteria/index.js +75 -0
  54. package/compiled/views/FilterCriteria/index.js.map +1 -0
  55. package/{views → compiled/views}/FilterCriteria/models.d.ts +29 -2
  56. package/compiled/views/FilterCriteria/models.js +28 -0
  57. package/compiled/views/FilterCriteria/models.js.map +1 -0
  58. package/{views → compiled/views}/FilterCriteria/mutateGroup.d.ts +4 -1
  59. package/compiled/views/FilterCriteria/mutateGroup.js +53 -0
  60. package/compiled/views/FilterCriteria/mutateGroup.js.map +1 -0
  61. package/{views → compiled/views}/GenericRelatedItemView.d.ts +1 -1
  62. package/compiled/views/GenericRelatedItemView.js +147 -0
  63. package/compiled/views/GenericRelatedItemView.js.map +1 -0
  64. package/compiled/views/RegisterStakeholder.d.ts +9 -0
  65. package/compiled/views/RegisterStakeholder.js +19 -0
  66. package/compiled/views/RegisterStakeholder.js.map +1 -0
  67. package/compiled/views/RegisterVersion.d.ts +9 -0
  68. package/compiled/views/RegisterVersion.js +20 -0
  69. package/compiled/views/RegisterVersion.js.map +1 -0
  70. package/compiled/views/SearchQuery.d.ts +13 -0
  71. package/compiled/views/SearchQuery.js +58 -0
  72. package/compiled/views/SearchQuery.js.map +1 -0
  73. package/compiled/views/change-request/ChangeRequestContext.d.ts +20 -0
  74. package/compiled/views/change-request/ChangeRequestContext.js +30 -0
  75. package/compiled/views/change-request/ChangeRequestContext.js.map +1 -0
  76. package/compiled/views/change-request/Proposals.d.ts +21 -0
  77. package/compiled/views/change-request/Proposals.js +185 -0
  78. package/compiled/views/change-request/Proposals.js.map +1 -0
  79. package/compiled/views/change-request/objectChangeset.d.ts +31 -0
  80. package/compiled/views/change-request/objectChangeset.js +189 -0
  81. package/compiled/views/change-request/objectChangeset.js.map +1 -0
  82. package/compiled/views/detail/ChangeRequest/Proposal.d.ts +0 -0
  83. package/compiled/views/detail/ChangeRequest/Proposal.js +144 -0
  84. package/compiled/views/detail/ChangeRequest/Proposal.js.map +1 -0
  85. package/compiled/views/detail/ChangeRequest/index.d.ts +13 -0
  86. package/compiled/views/detail/ChangeRequest/index.js +140 -0
  87. package/compiled/views/detail/ChangeRequest/index.js.map +1 -0
  88. package/compiled/views/detail/ChangeRequest/transitions.d.ts +28 -0
  89. package/compiled/views/detail/ChangeRequest/transitions.js +418 -0
  90. package/compiled/views/detail/ChangeRequest/transitions.js.map +1 -0
  91. package/compiled/views/detail/CustomView/index.d.ts +13 -0
  92. package/compiled/views/detail/CustomView/index.js +32 -0
  93. package/compiled/views/detail/CustomView/index.js.map +1 -0
  94. package/compiled/views/detail/RegisterHome/index.d.ts +5 -0
  95. package/compiled/views/detail/RegisterHome/index.js +70 -0
  96. package/compiled/views/detail/RegisterHome/index.js.map +1 -0
  97. package/compiled/views/detail/RegisterItem/RelatedItems.d.ts +14 -0
  98. package/compiled/views/detail/RegisterItem/RelatedItems.js +28 -0
  99. package/compiled/views/detail/RegisterItem/RelatedItems.js.map +1 -0
  100. package/compiled/views/detail/RegisterItem/SupersedingItemMenu.d.ts +13 -0
  101. package/compiled/views/detail/RegisterItem/SupersedingItemMenu.js +27 -0
  102. package/compiled/views/detail/RegisterItem/SupersedingItemMenu.js.map +1 -0
  103. package/compiled/views/detail/RegisterItem/index.d.ts +13 -0
  104. package/compiled/views/detail/RegisterItem/index.js +277 -0
  105. package/compiled/views/detail/RegisterItem/index.js.map +1 -0
  106. package/compiled/views/detail/RegisterMeta/RegisterMetaForm.d.ts +10 -0
  107. package/compiled/views/detail/RegisterMeta/RegisterMetaForm.js +135 -0
  108. package/compiled/views/detail/RegisterMeta/RegisterMetaForm.js.map +1 -0
  109. package/compiled/views/detail/RegisterMeta/index.d.ts +10 -0
  110. package/compiled/views/detail/RegisterMeta/index.js +61 -0
  111. package/compiled/views/detail/RegisterMeta/index.js.map +1 -0
  112. package/compiled/views/detail/index.d.ts +1 -0
  113. package/compiled/views/detail/index.js +11 -0
  114. package/compiled/views/detail/index.js.map +1 -0
  115. package/compiled/views/diffing/InlineDiff.d.ts +12 -0
  116. package/compiled/views/diffing/InlineDiff.js +20 -0
  117. package/compiled/views/diffing/InlineDiff.js.map +1 -0
  118. package/compiled/views/diffing/StructuredDiff.d.ts +11 -0
  119. package/compiled/views/diffing/StructuredDiff.js +38 -0
  120. package/compiled/views/diffing/StructuredDiff.js.map +1 -0
  121. package/compiled/views/hooks/useCustomView.d.ts +3 -0
  122. package/compiled/views/hooks/useCustomView.js +14 -0
  123. package/compiled/views/hooks/useCustomView.js.map +1 -0
  124. package/compiled/views/hooks/useItemClassConfig.d.ts +3 -0
  125. package/compiled/views/hooks/useItemClassConfig.js +14 -0
  126. package/compiled/views/hooks/useItemClassConfig.js.map +1 -0
  127. package/compiled/views/hooks/useItemRef.d.ts +3 -0
  128. package/compiled/views/hooks/useItemRef.js +26 -0
  129. package/compiled/views/hooks/useItemRef.js.map +1 -0
  130. package/compiled/views/hooks/useSingleRegisterItemData.d.ts +3 -0
  131. package/compiled/views/hooks/useSingleRegisterItemData.js +21 -0
  132. package/compiled/views/hooks/useSingleRegisterItemData.js.map +1 -0
  133. package/{views → compiled/views}/index.d.ts +2 -2
  134. package/compiled/views/index.js +142 -0
  135. package/compiled/views/index.js.map +1 -0
  136. package/compiled/views/itemPathUtils.d.ts +52 -0
  137. package/compiled/views/itemPathUtils.js +115 -0
  138. package/compiled/views/itemPathUtils.js.map +1 -0
  139. package/compiled/views/itemQueryUtils.d.ts +11 -0
  140. package/compiled/views/itemQueryUtils.js +42 -0
  141. package/compiled/views/itemQueryUtils.js.map +1 -0
  142. package/compiled/views/protocolRegistry.d.ts +12 -0
  143. package/compiled/views/protocolRegistry.js +24 -0
  144. package/compiled/views/protocolRegistry.js.map +1 -0
  145. package/compiled/views/sidebar/Browse/index.d.ts +11 -0
  146. package/compiled/views/sidebar/Browse/index.js +278 -0
  147. package/compiled/views/sidebar/Browse/index.js.map +1 -0
  148. package/compiled/views/sidebar/Export/index.d.ts +5 -0
  149. package/compiled/views/sidebar/Export/index.js +47 -0
  150. package/compiled/views/sidebar/Export/index.js.map +1 -0
  151. package/compiled/views/sidebar/ListItem.d.ts +10 -0
  152. package/compiled/views/sidebar/ListItem.js +23 -0
  153. package/compiled/views/sidebar/ListItem.js.map +1 -0
  154. package/compiled/views/sidebar/Registration/index.d.ts +5 -0
  155. package/compiled/views/sidebar/Registration/index.js +114 -0
  156. package/compiled/views/sidebar/Registration/index.js.map +1 -0
  157. package/compiled/views/sidebar/Search/index.d.ts +18 -0
  158. package/compiled/views/sidebar/Search/index.js +100 -0
  159. package/compiled/views/sidebar/Search/index.js.map +1 -0
  160. package/compiled/views/sidebar/index.d.ts +6 -0
  161. package/compiled/views/sidebar/index.js +73 -0
  162. package/compiled/views/sidebar/index.js.map +1 -0
  163. package/compiled/views/util.d.ts +36 -0
  164. package/compiled/views/util.js +63 -0
  165. package/compiled/views/util.js.map +1 -0
  166. package/dependencies-local/extension-kit/SettingsContext.d.ts +8 -0
  167. package/dependencies-local/extension-kit/SettingsContext.js +19 -0
  168. package/dependencies-local/extension-kit/SettingsContext.js.map +1 -0
  169. package/dependencies-local/extension-kit/context.d.ts +11 -0
  170. package/dependencies-local/extension-kit/context.js +133 -0
  171. package/dependencies-local/extension-kit/context.js.map +1 -0
  172. package/dependencies-local/extension-kit/i18n/ContextProvider.d.ts +9 -0
  173. package/dependencies-local/extension-kit/i18n/ContextProvider.js +33 -0
  174. package/dependencies-local/extension-kit/i18n/ContextProvider.js.map +1 -0
  175. package/dependencies-local/extension-kit/i18n/context.d.ts +9 -0
  176. package/dependencies-local/extension-kit/i18n/context.js +23 -0
  177. package/dependencies-local/extension-kit/i18n/context.js.map +1 -0
  178. package/dependencies-local/extension-kit/i18n/types.d.ts +10 -0
  179. package/dependencies-local/extension-kit/i18n/types.js.map +1 -0
  180. package/dependencies-local/extension-kit/i18n/widgets.d.ts +16 -0
  181. package/dependencies-local/extension-kit/i18n/widgets.js +56 -0
  182. package/dependencies-local/extension-kit/i18n/widgets.js.map +1 -0
  183. package/dependencies-local/extension-kit/index.d.ts +3 -0
  184. package/dependencies-local/extension-kit/index.js +78 -0
  185. package/dependencies-local/extension-kit/index.js.map +1 -0
  186. package/dependencies-local/extension-kit/object-specs/index.d.ts +2 -0
  187. package/dependencies-local/extension-kit/object-specs/index.js +22 -0
  188. package/dependencies-local/extension-kit/object-specs/index.js.map +1 -0
  189. package/dependencies-local/extension-kit/object-specs/paneron-object.d.ts +6 -0
  190. package/dependencies-local/extension-kit/object-specs/paneron-object.js +161 -0
  191. package/dependencies-local/extension-kit/object-specs/paneron-object.js.map +1 -0
  192. package/dependencies-local/extension-kit/object-specs/ser-des.d.ts +31 -0
  193. package/dependencies-local/extension-kit/object-specs/ser-des.js +187 -0
  194. package/dependencies-local/extension-kit/object-specs/ser-des.js.map +1 -0
  195. package/dependencies-local/extension-kit/object-specs/yaml/custom-bool.d.ts +2 -0
  196. package/dependencies-local/extension-kit/object-specs/yaml/custom-bool.js +42 -0
  197. package/dependencies-local/extension-kit/object-specs/yaml/custom-bool.js.map +1 -0
  198. package/dependencies-local/extension-kit/object-specs/yaml/custom-timestamp.d.ts +3 -0
  199. package/dependencies-local/extension-kit/object-specs/yaml/custom-timestamp.js +110 -0
  200. package/dependencies-local/extension-kit/object-specs/yaml/custom-timestamp.js.map +1 -0
  201. package/dependencies-local/extension-kit/object-specs/yaml/index.d.ts +9 -0
  202. package/dependencies-local/extension-kit/object-specs/yaml/index.js +36 -0
  203. package/dependencies-local/extension-kit/object-specs/yaml/index.js.map +1 -0
  204. package/dependencies-local/extension-kit/object-specs/yaml/schema.d.ts +3 -0
  205. package/{index.js → dependencies-local/extension-kit/object-specs/yaml/schema.js} +11 -30
  206. package/dependencies-local/extension-kit/object-specs/yaml/schema.js.map +1 -0
  207. package/dependencies-local/extension-kit/package.json +53 -0
  208. package/dependencies-local/extension-kit/settings.d.ts +6 -0
  209. package/dependencies-local/extension-kit/settings.js +11 -0
  210. package/dependencies-local/extension-kit/settings.js.map +1 -0
  211. package/dependencies-local/extension-kit/types/binary-invocation.d.ts +31 -0
  212. package/dependencies-local/extension-kit/types/binary-invocation.js.map +1 -0
  213. package/dependencies-local/extension-kit/types/buffers.d.ts +17 -0
  214. package/dependencies-local/extension-kit/types/buffers.js.map +1 -0
  215. package/dependencies-local/extension-kit/types/changes.d.ts +37 -0
  216. package/dependencies-local/extension-kit/types/changes.js +5 -0
  217. package/dependencies-local/extension-kit/types/changes.js.map +1 -0
  218. package/dependencies-local/extension-kit/types/data.d.ts +54 -0
  219. package/dependencies-local/extension-kit/types/data.js +5 -0
  220. package/dependencies-local/extension-kit/types/data.js.map +1 -0
  221. package/dependencies-local/extension-kit/types/dialogs.d.ts +15 -0
  222. package/dependencies-local/extension-kit/types/dialogs.js +5 -0
  223. package/dependencies-local/extension-kit/types/dialogs.js.map +1 -0
  224. package/dependencies-local/extension-kit/types/extension-maker.d.ts +17 -0
  225. package/dependencies-local/extension-kit/types/extension-maker.js +5 -0
  226. package/dependencies-local/extension-kit/types/extension-maker.js.map +1 -0
  227. package/dependencies-local/extension-kit/types/extension.d.ts +27 -0
  228. package/dependencies-local/extension-kit/types/extension.js +5 -0
  229. package/dependencies-local/extension-kit/types/extension.js.map +1 -0
  230. package/dependencies-local/extension-kit/types/index.d.ts +3 -0
  231. package/dependencies-local/extension-kit/types/index.js +41 -0
  232. package/dependencies-local/extension-kit/types/index.js.map +1 -0
  233. package/dependencies-local/extension-kit/types/indexes.d.ts +6 -0
  234. package/dependencies-local/extension-kit/types/indexes.js +15 -0
  235. package/dependencies-local/extension-kit/types/indexes.js.map +1 -0
  236. package/dependencies-local/extension-kit/types/migrations.d.ts +15 -0
  237. package/dependencies-local/extension-kit/types/migrations.js +5 -0
  238. package/dependencies-local/extension-kit/types/migrations.js.map +1 -0
  239. package/dependencies-local/extension-kit/types/object-spec.d.ts +108 -0
  240. package/dependencies-local/extension-kit/types/object-spec.js +23 -0
  241. package/dependencies-local/extension-kit/types/object-spec.js.map +1 -0
  242. package/dependencies-local/extension-kit/types/objects.d.ts +18 -0
  243. package/dependencies-local/extension-kit/types/objects.js +5 -0
  244. package/dependencies-local/extension-kit/types/objects.js.map +1 -0
  245. package/dependencies-local/extension-kit/types/progress.d.ts +5 -0
  246. package/dependencies-local/extension-kit/types/progress.js +5 -0
  247. package/dependencies-local/extension-kit/types/progress.js.map +1 -0
  248. package/dependencies-local/extension-kit/types/renderer.d.ts +495 -0
  249. package/dependencies-local/extension-kit/types/renderer.js +5 -0
  250. package/dependencies-local/extension-kit/types/renderer.js.map +1 -0
  251. package/dependencies-local/extension-kit/useDebounce.d.ts +2 -0
  252. package/dependencies-local/extension-kit/useDebounce.js +27 -0
  253. package/dependencies-local/extension-kit/useDebounce.js.map +1 -0
  254. package/dependencies-local/extension-kit/usePersistentStateReducer.d.ts +35 -0
  255. package/dependencies-local/extension-kit/usePersistentStateReducer.js +91 -0
  256. package/dependencies-local/extension-kit/usePersistentStateReducer.js.map +1 -0
  257. package/dependencies-local/extension-kit/useTimeTravelingPersistentStateReducer.d.ts +48 -0
  258. package/dependencies-local/extension-kit/useTimeTravelingPersistentStateReducer.js +116 -0
  259. package/dependencies-local/extension-kit/useTimeTravelingPersistentStateReducer.js.map +1 -0
  260. package/dependencies-local/extension-kit/util.d.ts +8 -0
  261. package/dependencies-local/extension-kit/util.js +21 -0
  262. package/dependencies-local/extension-kit/util.js.map +1 -0
  263. package/dependencies-local/extension-kit/widgets/ErrorState.d.ts +8 -0
  264. package/dependencies-local/extension-kit/widgets/ErrorState.js +44 -0
  265. package/dependencies-local/extension-kit/widgets/ErrorState.js.map +1 -0
  266. package/dependencies-local/extension-kit/widgets/Grid.d.ts +41 -0
  267. package/dependencies-local/extension-kit/widgets/Grid.js +213 -0
  268. package/dependencies-local/extension-kit/widgets/Grid.js.map +1 -0
  269. package/dependencies-local/extension-kit/widgets/HelpTooltip.d.ts +18 -0
  270. package/dependencies-local/extension-kit/widgets/HelpTooltip.js +84 -0
  271. package/dependencies-local/extension-kit/widgets/HelpTooltip.js.map +1 -0
  272. package/dependencies-local/extension-kit/widgets/ItemCount.d.ts +19 -0
  273. package/dependencies-local/extension-kit/widgets/ItemCount.js +78 -0
  274. package/dependencies-local/extension-kit/widgets/ItemCount.js.map +1 -0
  275. package/dependencies-local/extension-kit/widgets/List.d.ts +40 -0
  276. package/dependencies-local/extension-kit/widgets/List.js +191 -0
  277. package/dependencies-local/extension-kit/widgets/List.js.map +1 -0
  278. package/dependencies-local/extension-kit/widgets/Navbar.d.ts +20 -0
  279. package/dependencies-local/extension-kit/widgets/Navbar.js +75 -0
  280. package/dependencies-local/extension-kit/widgets/Navbar.js.map +1 -0
  281. package/dependencies-local/extension-kit/widgets/SearchResultList.d.ts +24 -0
  282. package/dependencies-local/extension-kit/widgets/SearchResultList.js +201 -0
  283. package/dependencies-local/extension-kit/widgets/SearchResultList.js.map +1 -0
  284. package/dependencies-local/extension-kit/widgets/Sidebar/Block.d.ts +21 -0
  285. package/dependencies-local/extension-kit/widgets/Sidebar/Block.js +94 -0
  286. package/dependencies-local/extension-kit/widgets/Sidebar/Block.js.map +1 -0
  287. package/dependencies-local/extension-kit/widgets/Sidebar/BlockStateButtonGroup.d.ts +6 -0
  288. package/dependencies-local/extension-kit/widgets/Sidebar/BlockStateButtonGroup.js +22 -0
  289. package/dependencies-local/extension-kit/widgets/Sidebar/BlockStateButtonGroup.js.map +1 -0
  290. package/dependencies-local/extension-kit/widgets/Sidebar/PropertyView.d.ts +28 -0
  291. package/dependencies-local/extension-kit/widgets/Sidebar/PropertyView.js +148 -0
  292. package/dependencies-local/extension-kit/widgets/Sidebar/PropertyView.js.map +1 -0
  293. package/dependencies-local/extension-kit/widgets/Sidebar/index.d.ts +27 -0
  294. package/dependencies-local/extension-kit/widgets/Sidebar/index.js +178 -0
  295. package/dependencies-local/extension-kit/widgets/Sidebar/index.js.map +1 -0
  296. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/SuperSidebar.d.ts +13 -0
  297. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/SuperSidebar.js +82 -0
  298. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/SuperSidebar.js.map +1 -0
  299. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/context.d.ts +10 -0
  300. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/context.js +168 -0
  301. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/context.js.map +1 -0
  302. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/detail.d.ts +9 -0
  303. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/detail.js +66 -0
  304. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/detail.js.map +1 -0
  305. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/index.d.ts +33 -0
  306. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/index.js +204 -0
  307. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/index.js.map +1 -0
  308. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/types.d.ts +74 -0
  309. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/types.js +5 -0
  310. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/types.js.map +1 -0
  311. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/util.d.ts +1 -0
  312. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/util.js +14 -0
  313. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/util.js.map +1 -0
  314. package/dependencies-local/extension-kit/widgets/Workspace.d.ts +38 -0
  315. package/dependencies-local/extension-kit/widgets/Workspace.js +99 -0
  316. package/dependencies-local/extension-kit/widgets/Workspace.js.map +1 -0
  317. package/dependencies-local/extension-kit/widgets/panels/PanelSeparator.d.ts +12 -0
  318. package/dependencies-local/extension-kit/widgets/panels/PanelSeparator.js +57 -0
  319. package/dependencies-local/extension-kit/widgets/panels/PanelSeparator.js.map +1 -0
  320. package/dependencies-local/extension-kit/widgets/panels/index.d.ts +28 -0
  321. package/dependencies-local/extension-kit/widgets/panels/index.js +169 -0
  322. package/dependencies-local/extension-kit/widgets/panels/index.js.map +1 -0
  323. package/dist/common.d.ts +1 -0
  324. package/{common.js → dist/common.js} +1 -1
  325. package/dist/common.js.map +1 -0
  326. package/dist/index.d.ts +6 -0
  327. package/dist/index.js +45 -0
  328. package/dist/index.js.map +1 -0
  329. package/dist/migrations/initial.d.ts +3 -0
  330. package/dist/migrations/initial.js.map +1 -0
  331. package/dist/package.json +56 -0
  332. package/dist/types/cr.d.ts +216 -0
  333. package/dist/types/cr.js +175 -0
  334. package/dist/types/cr.js.map +1 -0
  335. package/dist/types/index.d.ts +7 -0
  336. package/{types → dist/types}/index.js +19 -0
  337. package/dist/types/index.js.map +1 -0
  338. package/dist/types/item.d.ts +59 -0
  339. package/dist/types/item.js +16 -0
  340. package/dist/types/item.js.map +1 -0
  341. package/dist/types/proposal.d.ts +64 -0
  342. package/{types → dist/types}/proposal.js +1 -1
  343. package/dist/types/proposal.js.map +1 -0
  344. package/dist/types/register.d.ts +18 -0
  345. package/dist/types/register.js +23 -0
  346. package/dist/types/register.js.map +1 -0
  347. package/dist/types/registry.d.ts +15 -0
  348. package/dist/types/registry.js +14 -0
  349. package/dist/types/registry.js.map +1 -0
  350. package/dist/types/stakeholder.d.ts +58 -0
  351. package/dist/types/stakeholder.js +53 -0
  352. package/dist/types/stakeholder.js.map +1 -0
  353. package/dist/types/util.d.ts +21 -0
  354. package/dist/types/util.js +5 -0
  355. package/dist/types/util.js.map +1 -0
  356. package/dist/types/views.d.ts +157 -0
  357. package/dist/types/views.js +5 -0
  358. package/dist/types/views.js.map +1 -0
  359. package/dist/views/AnnotatedChange.d.ts +7 -0
  360. package/dist/views/AnnotatedChange.js +91 -0
  361. package/dist/views/AnnotatedChange.js.map +1 -0
  362. package/dist/views/BrowserCtx.d.ts +73 -0
  363. package/dist/views/BrowserCtx.js +31 -0
  364. package/dist/views/BrowserCtx.js.map +1 -0
  365. package/dist/views/FilterCriteria/CRITERIA_CONFIGURATION.d.ts +17 -0
  366. package/dist/views/FilterCriteria/CRITERIA_CONFIGURATION.js +202 -0
  367. package/dist/views/FilterCriteria/CRITERIA_CONFIGURATION.js.map +1 -0
  368. package/dist/views/FilterCriteria/criteriaGroupToQueryExpression.d.ts +6 -0
  369. package/{views → dist/views}/FilterCriteria/criteriaGroupToQueryExpression.js +10 -3
  370. package/dist/views/FilterCriteria/criteriaGroupToQueryExpression.js.map +1 -0
  371. package/dist/views/FilterCriteria/criteriaGroupToSummary.d.ts +5 -0
  372. package/{views → dist/views}/FilterCriteria/criteriaGroupToSummary.js +7 -7
  373. package/dist/views/FilterCriteria/criteriaGroupToSummary.js.map +1 -0
  374. package/dist/views/FilterCriteria/criteriaToNodes.d.ts +24 -0
  375. package/{views → dist/views}/FilterCriteria/criteriaToNodes.js +42 -28
  376. package/dist/views/FilterCriteria/criteriaToNodes.js.map +1 -0
  377. package/dist/views/FilterCriteria/index.d.ts +23 -0
  378. package/{views → dist/views}/FilterCriteria/index.js +29 -21
  379. package/dist/views/FilterCriteria/index.js.map +1 -0
  380. package/dist/views/FilterCriteria/models.d.ts +68 -0
  381. package/dist/views/FilterCriteria/models.js +34 -0
  382. package/dist/views/FilterCriteria/models.js.map +1 -0
  383. package/dist/views/FilterCriteria/mutateGroup.d.ts +17 -0
  384. package/{views → dist/views}/FilterCriteria/mutateGroup.js +4 -3
  385. package/dist/views/FilterCriteria/mutateGroup.js.map +1 -0
  386. package/dist/views/GenericRelatedItemView.d.ts +6 -0
  387. package/dist/views/GenericRelatedItemView.js +242 -0
  388. package/dist/views/GenericRelatedItemView.js.map +1 -0
  389. package/dist/views/RegisterStakeholder.d.ts +9 -0
  390. package/dist/views/RegisterStakeholder.js +40 -0
  391. package/dist/views/RegisterStakeholder.js.map +1 -0
  392. package/dist/views/RegisterVersion.d.ts +9 -0
  393. package/dist/views/RegisterVersion.js +41 -0
  394. package/dist/views/RegisterVersion.js.map +1 -0
  395. package/dist/views/SearchQuery.d.ts +13 -0
  396. package/dist/views/SearchQuery.js +137 -0
  397. package/dist/views/SearchQuery.js.map +1 -0
  398. package/dist/views/change-request/ChangeRequestContext.d.ts +20 -0
  399. package/dist/views/change-request/ChangeRequestContext.js +56 -0
  400. package/dist/views/change-request/ChangeRequestContext.js.map +1 -0
  401. package/dist/views/change-request/Proposals.d.ts +21 -0
  402. package/dist/views/change-request/Proposals.js +331 -0
  403. package/dist/views/change-request/Proposals.js.map +1 -0
  404. package/dist/views/change-request/objectChangeset.d.ts +31 -0
  405. package/dist/views/change-request/objectChangeset.js +229 -0
  406. package/dist/views/change-request/objectChangeset.js.map +1 -0
  407. package/dist/views/detail/ChangeRequest/Proposal.d.ts +0 -0
  408. package/dist/views/detail/ChangeRequest/Proposal.js +142 -0
  409. package/dist/views/detail/ChangeRequest/Proposal.js.map +1 -0
  410. package/dist/views/detail/ChangeRequest/index.d.ts +13 -0
  411. package/dist/views/detail/ChangeRequest/index.js +207 -0
  412. package/dist/views/detail/ChangeRequest/index.js.map +1 -0
  413. package/dist/views/detail/ChangeRequest/transitions.d.ts +28 -0
  414. package/dist/views/detail/ChangeRequest/transitions.js +530 -0
  415. package/dist/views/detail/ChangeRequest/transitions.js.map +1 -0
  416. package/dist/views/detail/CustomView/index.d.ts +13 -0
  417. package/dist/views/detail/CustomView/index.js +68 -0
  418. package/dist/views/detail/CustomView/index.js.map +1 -0
  419. package/dist/views/detail/RegisterHome/index.d.ts +5 -0
  420. package/dist/views/detail/RegisterHome/index.js +128 -0
  421. package/dist/views/detail/RegisterHome/index.js.map +1 -0
  422. package/dist/views/detail/RegisterItem/RelatedItems.d.ts +14 -0
  423. package/dist/views/detail/RegisterItem/RelatedItems.js +61 -0
  424. package/dist/views/detail/RegisterItem/RelatedItems.js.map +1 -0
  425. package/dist/views/detail/RegisterItem/SupersedingItemMenu.d.ts +13 -0
  426. package/dist/views/detail/RegisterItem/SupersedingItemMenu.js +56 -0
  427. package/dist/views/detail/RegisterItem/SupersedingItemMenu.js.map +1 -0
  428. package/dist/views/detail/RegisterItem/index.d.ts +13 -0
  429. package/dist/views/detail/RegisterItem/index.js +357 -0
  430. package/dist/views/detail/RegisterItem/index.js.map +1 -0
  431. package/dist/views/detail/RegisterMeta/RegisterMetaForm.d.ts +10 -0
  432. package/dist/views/detail/RegisterMeta/RegisterMetaForm.js +331 -0
  433. package/dist/views/detail/RegisterMeta/RegisterMetaForm.js.map +1 -0
  434. package/dist/views/detail/RegisterMeta/index.d.ts +10 -0
  435. package/dist/views/detail/RegisterMeta/index.js +111 -0
  436. package/dist/views/detail/RegisterMeta/index.js.map +1 -0
  437. package/dist/views/detail/index.d.ts +1 -0
  438. package/dist/views/detail/index.js +24 -0
  439. package/dist/views/detail/index.js.map +1 -0
  440. package/dist/views/diffing/InlineDiff.d.ts +12 -0
  441. package/dist/views/diffing/InlineDiff.js +58 -0
  442. package/dist/views/diffing/InlineDiff.js.map +1 -0
  443. package/dist/views/diffing/StructuredDiff.d.ts +11 -0
  444. package/dist/views/diffing/StructuredDiff.js +65 -0
  445. package/dist/views/diffing/StructuredDiff.js.map +1 -0
  446. package/dist/views/hooks/useCustomView.d.ts +3 -0
  447. package/dist/views/hooks/useCustomView.js +24 -0
  448. package/dist/views/hooks/useCustomView.js.map +1 -0
  449. package/dist/views/hooks/useItemClassConfig.d.ts +3 -0
  450. package/dist/views/hooks/useItemClassConfig.js +24 -0
  451. package/dist/views/hooks/useItemClassConfig.js.map +1 -0
  452. package/dist/views/hooks/useItemRef.d.ts +3 -0
  453. package/dist/views/hooks/useItemRef.js +39 -0
  454. package/dist/views/hooks/useItemRef.js.map +1 -0
  455. package/dist/views/hooks/useSingleRegisterItemData.d.ts +3 -0
  456. package/dist/views/hooks/useSingleRegisterItemData.js +32 -0
  457. package/dist/views/hooks/useSingleRegisterItemData.js.map +1 -0
  458. package/dist/views/index.d.ts +7 -0
  459. package/dist/views/index.js +197 -0
  460. package/dist/views/index.js.map +1 -0
  461. package/dist/views/itemPathUtils.d.ts +52 -0
  462. package/dist/views/itemPathUtils.js +144 -0
  463. package/dist/views/itemPathUtils.js.map +1 -0
  464. package/dist/views/itemQueryUtils.d.ts +11 -0
  465. package/dist/views/itemQueryUtils.js +48 -0
  466. package/dist/views/itemQueryUtils.js.map +1 -0
  467. package/dist/views/protocolRegistry.d.ts +12 -0
  468. package/dist/views/protocolRegistry.js +42 -0
  469. package/dist/views/protocolRegistry.js.map +1 -0
  470. package/dist/views/sidebar/Browse/index.d.ts +11 -0
  471. package/dist/views/sidebar/Browse/index.js +453 -0
  472. package/dist/views/sidebar/Browse/index.js.map +1 -0
  473. package/dist/views/sidebar/Export/index.d.ts +5 -0
  474. package/dist/views/sidebar/Export/index.js +94 -0
  475. package/dist/views/sidebar/Export/index.js.map +1 -0
  476. package/dist/views/sidebar/ListItem.d.ts +10 -0
  477. package/dist/views/sidebar/ListItem.js +43 -0
  478. package/dist/views/sidebar/ListItem.js.map +1 -0
  479. package/dist/views/sidebar/Registration/index.d.ts +5 -0
  480. package/dist/views/sidebar/Registration/index.js +163 -0
  481. package/dist/views/sidebar/Registration/index.js.map +1 -0
  482. package/dist/views/sidebar/Search/index.d.ts +18 -0
  483. package/dist/views/sidebar/Search/index.js +177 -0
  484. package/dist/views/sidebar/Search/index.js.map +1 -0
  485. package/dist/views/sidebar/index.d.ts +6 -0
  486. package/dist/views/sidebar/index.js +104 -0
  487. package/dist/views/sidebar/index.js.map +1 -0
  488. package/dist/views/util.d.ts +36 -0
  489. package/dist/views/util.js +135 -0
  490. package/dist/views/util.js.map +1 -0
  491. package/package.json +27 -19
  492. package/react-visual-diff.d.ts +9 -0
  493. package/common.d.ts +0 -1
  494. package/index.js.map +0 -1
  495. package/types/index.js.map +0 -1
  496. package/types/item.js +0 -6
  497. package/types/item.js.map +0 -1
  498. package/types/proposal.d.ts +0 -47
  499. package/types/proposal.js.map +0 -1
  500. package/types/register.js.map +0 -1
  501. package/types/registry.d.ts +0 -10
  502. package/types/registry.js +0 -7
  503. package/types/registry.js.map +0 -1
  504. package/types/stakeholder.d.ts +0 -34
  505. package/types/stakeholder.js +0 -9
  506. package/types/stakeholder.js.map +0 -1
  507. package/types/views.d.ts +0 -83
  508. package/types/views.js.map +0 -1
  509. package/views/BrowserCtx.d.ts +0 -9
  510. package/views/BrowserCtx.js +0 -20
  511. package/views/BrowserCtx.js.map +0 -1
  512. package/views/ChangeRequest.d.ts +0 -12
  513. package/views/ChangeRequest.js +0 -689
  514. package/views/ChangeRequest.js.map +0 -1
  515. package/views/FilterCriteria/CRITERIA_CONFIGURATION.d.ts +0 -5
  516. package/views/FilterCriteria/CRITERIA_CONFIGURATION.js +0 -109
  517. package/views/FilterCriteria/CRITERIA_CONFIGURATION.js.map +0 -1
  518. package/views/FilterCriteria/criteriaGroupToQueryExpression.js.map +0 -1
  519. package/views/FilterCriteria/criteriaGroupToSummary.js.map +0 -1
  520. package/views/FilterCriteria/criteriaToNodes.js.map +0 -1
  521. package/views/FilterCriteria/index.js.map +0 -1
  522. package/views/FilterCriteria/models.js +0 -27
  523. package/views/FilterCriteria/models.js.map +0 -1
  524. package/views/FilterCriteria/mutateGroup.js.map +0 -1
  525. package/views/GenericRelatedItemView.js +0 -202
  526. package/views/GenericRelatedItemView.js.map +0 -1
  527. package/views/ItemBrowser.d.ts +0 -12
  528. package/views/ItemBrowser.js +0 -258
  529. package/views/ItemBrowser.js.map +0 -1
  530. package/views/ItemDetails.d.ts +0 -14
  531. package/views/ItemDetails.js +0 -128
  532. package/views/ItemDetails.js.map +0 -1
  533. package/views/MainView.d.ts +0 -8
  534. package/views/MainView.js +0 -34
  535. package/views/MainView.js.map +0 -1
  536. package/views/RegisterInformation.d.ts +0 -7
  537. package/views/RegisterInformation.js +0 -264
  538. package/views/RegisterInformation.js.map +0 -1
  539. package/views/RegisterItemGrid.d.ts +0 -25
  540. package/views/RegisterItemGrid.js +0 -276
  541. package/views/RegisterItemGrid.js.map +0 -1
  542. package/views/index.js +0 -166
  543. package/views/index.js.map +0 -1
  544. package/views/itemPathUtils.d.ts +0 -9
  545. package/views/itemPathUtils.js +0 -57
  546. package/views/itemPathUtils.js.map +0 -1
  547. package/views/util.d.ts +0 -12
  548. package/views/util.js +0 -49
  549. package/views/util.js.map +0 -1
  550. /package/{migrations → compiled/migrations}/initial.d.ts +0 -0
  551. /package/{migrations → compiled/migrations}/initial.js.map +0 -0
  552. /package/{types → compiled/types}/util.d.ts +0 -0
  553. /package/{types → compiled/types}/util.js.map +0 -0
  554. /package/{views → compiled/views}/FilterCriteria/criteriaGroupToSummary.d.ts +0 -0
  555. /package/{types/register.js → dependencies-local/extension-kit/i18n/types.js} +0 -0
  556. /package/{types/util.js → dependencies-local/extension-kit/types/binary-invocation.js} +0 -0
  557. /package/{types/views.js → dependencies-local/extension-kit/types/buffers.js} +0 -0
  558. /package/{migrations → dist/migrations}/initial.js +0 -0
@@ -0,0 +1,169 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Panel = exports.PanelContext = void 0;
7
+
8
+ var _react = require("@emotion/react");
9
+
10
+ var _react2 = _interopRequireWildcard(require("react"));
11
+
12
+ var _core = require("@blueprintjs/core");
13
+
14
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
15
+
16
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
+
18
+ /** @jsx jsx */
19
+
20
+ /** @jsxFrag React.Fragment */
21
+ const PanelContext = _react2.default.createContext({
22
+ state: {},
23
+ setState: () => {}
24
+ });
25
+
26
+ exports.PanelContext = PanelContext;
27
+
28
+ const Panel = _react2.default.forwardRef(function Panel({
29
+ contentsRef,
30
+ className,
31
+ collapsedClassName,
32
+ titleBarClassName,
33
+ contentsClassName,
34
+ title,
35
+ TitleComponent,
36
+ TitleComponentSecondary,
37
+ iconCollapsed,
38
+ iconExpanded,
39
+ isCollapsible,
40
+ isCollapsedByDefault,
41
+ children
42
+ }, wrapperRef) {
43
+ const [isCollapsed, setCollapsedState] = (0, _react2.useState)(isCollapsedByDefault || false);
44
+ const [panelState, setPanelState] = (0, _react2.useState)({});
45
+
46
+ function onCollapse() {
47
+ setCollapsedState(true);
48
+ }
49
+
50
+ function onExpand() {
51
+ setCollapsedState(false);
52
+ }
53
+
54
+ const _contentsRef = (0, _react2.useRef)(null);
55
+
56
+ (0, _react2.useEffect)(() => {
57
+ if (contentsRef && _contentsRef.current) {
58
+ contentsRef(_contentsRef.current);
59
+ }
60
+ });
61
+ const toggleIcon = isCollapsed ? iconCollapsed || 'caret-right' : iconExpanded || 'caret-down';
62
+ return (0, _react.jsx)("div", {
63
+ ref: wrapperRef,
64
+ css: (0, _react.css)`
65
+ display: flex;
66
+ flex-flow: column nowrap;
67
+ overflow: hidden;
68
+ min-height: ${titleBarHeight};
69
+
70
+ .bp4-form-group {
71
+ padding: 0 .25rem;
72
+ padding-bottom: .25rem;
73
+ margin-bottom: 0;
74
+
75
+ &:first-child {
76
+ padding-top: .25rem;
77
+ }
78
+
79
+ .bp4-label {
80
+ margin-bottom: 0;
81
+ }
82
+
83
+ &.bp4-inline {
84
+ padding-right: .5rem;
85
+ }
86
+ }
87
+
88
+ ${!isCollapsed ? (0, _react.css)`
89
+ min-height: $titleBarHeight * 2;
90
+ ` : ''}
91
+ `,
92
+ className: `
93
+ ${_core.Classes.ELEVATION_1}
94
+ ${className || ''}
95
+ ${isCollapsible && isCollapsed ? collapsedClassName : ''}
96
+ `
97
+ }, (0, _react.jsx)(PanelContext.Provider, {
98
+ value: {
99
+ state: panelState,
100
+ setState: setPanelState
101
+ }
102
+ }, title || TitleComponent || isCollapsible ? (0, _react.jsx)("div", {
103
+ css: (0, _react.css)`
104
+ transition: background-color ${transition1};
105
+ background: ${_core.Colors.LIGHT_GRAY3};
106
+ text-transform: uppercase;
107
+ font-size: 80%;
108
+ font-weight: bold;
109
+ letter-spacing: -.01em;
110
+ color: $pt-text-color-muted;
111
+
112
+ height: ${titleBarHeight};
113
+ flex-shrink: 0;
114
+
115
+ padding-left: ${gridSize / 2}px;
116
+ padding-right: ${gridSize / 2}px;
117
+
118
+ display: flex;
119
+ flex-flow: row nowrap;
120
+ align-items: center;
121
+
122
+ ${isCollapsible ? (0, _react.css)`
123
+ .trigger-icon {
124
+ transition: opacity $transition1;
125
+ opacity: .5;
126
+ }
127
+
128
+ &:hover {
129
+ background-color: ${_core.Colors.LIGHT_GRAY2};
130
+ box-shadow: $pt-elevation-shadow-1;
131
+
132
+ .trigger-icon {
133
+ opacity: 1;
134
+ }
135
+ }
136
+ ` : ''}
137
+ }
138
+ `,
139
+ className: titleBarClassName,
140
+ onClick: isCollapsible === true && isCollapsed === false ? onCollapse : onExpand
141
+ }, isCollapsible ? (0, _react.jsx)(_core.Icon, {
142
+ className: "trigger-icon",
143
+ icon: isCollapsible ? toggleIcon : 'blank'
144
+ }) : null, title || TitleComponent ? (0, _react.jsx)(_react2.default.Fragment, null, (0, _react.jsx)("span", {
145
+ css: (0, _react.css)`flex: 1; margin-left: ${gridSize / 2}px;`
146
+ }, TitleComponent ? (0, _react.jsx)(TitleComponent, {
147
+ isCollapsed: isCollapsed
148
+ }) : title), (0, _react.jsx)("span", null, TitleComponentSecondary ? (0, _react.jsx)(TitleComponentSecondary, {
149
+ isCollapsed: isCollapsed
150
+ }) : null)) : null) : null, isCollapsible && isCollapsed ? null : (0, _react.jsx)("div", {
151
+ ref: _contentsRef,
152
+ css: (0, _react.css)`
153
+ overflow-y: auto;
154
+ overflow-x: hidden;
155
+ padding: .25rem;
156
+ background: ${_core.Colors.LIGHT_GRAY3};
157
+
158
+ ${isCollapsible && isCollapsed ? (0, _react.css)`
159
+ display: none;
160
+ ` : ''}
161
+ `,
162
+ className: contentsClassName
163
+ }, children)));
164
+ });
165
+
166
+ exports.Panel = Panel;
167
+ const transition1 = `.2s linear`;
168
+ const titleBarHeight = `1.5rem`;
169
+ const gridSize = 20;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/widgets/panels/index.tsx"],"names":[],"mappings":"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","sourcesContent":["/** @jsx jsx */\n/** @jsxFrag React.Fragment */\n\nimport { jsx, css } from '@emotion/react';\nimport React, { useState, useEffect, useRef } from 'react';\nimport { IconName } from '@blueprintjs/icons';\nimport { Classes, Colors, Icon } from '@blueprintjs/core';\n\n\nexport const PanelContext =\n React.createContext<{ state: any, setState: (opts: any) => void }>\n ({ state: {}, setState: () => {} });\n\n\nexport interface PanelProps {\n contentsRef?: (el: HTMLDivElement) => void,\n\n title?: string\n TitleComponent?: React.FC<{ isCollapsed?: boolean }>\n TitleComponentSecondary?: React.FC<{ isCollapsed?: boolean }>\n\n children: React.ReactNode\n\n isCollapsible?: true\n isCollapsedByDefault?: true\n\n className?: string\n collapsedClassName?: string\n titleBarClassName?: string\n contentsClassName?: string\n\n iconCollapsed?: IconName\n iconExpanded?: IconName\n}\nexport const Panel = React.forwardRef<HTMLDivElement, PanelProps>(function Panel({\n contentsRef,\n className, collapsedClassName,\n titleBarClassName,\n contentsClassName,\n\n title, TitleComponent, TitleComponentSecondary,\n iconCollapsed, iconExpanded,\n isCollapsible, isCollapsedByDefault,\n children }, wrapperRef) {\n\n const [isCollapsed, setCollapsedState] =\n useState<boolean>(isCollapsedByDefault || false);\n\n const [panelState, setPanelState] = useState<object>({});\n\n function onCollapse() {\n setCollapsedState(true);\n }\n function onExpand() {\n setCollapsedState(false);\n }\n\n const _contentsRef = useRef<HTMLDivElement | null>(null);\n\n useEffect(() => {\n if (contentsRef && _contentsRef.current) {\n contentsRef(_contentsRef.current);\n }\n });\n\n const toggleIcon: IconName = isCollapsed\n ? (iconCollapsed || 'caret-right')\n : (iconExpanded || 'caret-down');\n\n return (\n <div\n ref={wrapperRef}\n css={css`\n display: flex;\n flex-flow: column nowrap;\n overflow: hidden;\n min-height: ${titleBarHeight};\n\n .bp4-form-group {\n padding: 0 .25rem;\n padding-bottom: .25rem;\n margin-bottom: 0;\n\n &:first-child {\n padding-top: .25rem;\n }\n\n .bp4-label {\n margin-bottom: 0;\n }\n\n &.bp4-inline {\n padding-right: .5rem;\n }\n }\n\n ${!isCollapsed\n ? css`\n min-height: $titleBarHeight * 2;\n `\n : ''}\n `}\n\n className={`\n ${Classes.ELEVATION_1}\n ${className || ''}\n ${isCollapsible && isCollapsed ? collapsedClassName : ''}\n `}>\n\n <PanelContext.Provider value={{\n state: panelState,\n setState: setPanelState,\n }}>\n\n {title || TitleComponent || isCollapsible\n ? <div\n css={css`\n transition: background-color ${transition1};\n background: ${Colors.LIGHT_GRAY3};\n text-transform: uppercase;\n font-size: 80%;\n font-weight: bold;\n letter-spacing: -.01em;\n color: $pt-text-color-muted;\n\n height: ${titleBarHeight};\n flex-shrink: 0;\n\n padding-left: ${gridSize / 2}px;\n padding-right: ${gridSize / 2}px;\n\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n\n ${isCollapsible\n ? css`\n .trigger-icon {\n transition: opacity $transition1;\n opacity: .5;\n }\n\n &:hover {\n background-color: ${Colors.LIGHT_GRAY2};\n box-shadow: $pt-elevation-shadow-1;\n\n .trigger-icon {\n opacity: 1;\n }\n }\n `\n : ''}\n }\n `}\n className={titleBarClassName}\n onClick={(isCollapsible === true && isCollapsed === false)\n ? onCollapse\n : onExpand}>\n\n {isCollapsible\n ? <Icon\n className=\"trigger-icon\"\n icon={isCollapsible ? toggleIcon : 'blank'}\n />\n : null}\n\n {title || TitleComponent\n ? <>\n <span css={css`flex: 1; margin-left: ${gridSize / 2}px;`}>\n {TitleComponent\n ? <TitleComponent isCollapsed={isCollapsed} />\n : title}\n </span>\n <span>\n {TitleComponentSecondary\n ? <TitleComponentSecondary isCollapsed={isCollapsed} />\n : null}\n </span>\n </>\n : null}\n </div>\n : null}\n\n {isCollapsible && isCollapsed\n ? null\n : <div\n ref={_contentsRef}\n css={css`\n overflow-y: auto;\n overflow-x: hidden;\n padding: .25rem;\n background: ${Colors.LIGHT_GRAY3};\n\n ${isCollapsible && isCollapsed\n ? css`\n display: none;\n `\n : ''}\n `}\n className={contentsClassName}>\n {children}\n </div>}\n\n </PanelContext.Provider>\n </div>\n );\n});\n\n\nconst transition1 = `.2s linear`;\nconst titleBarHeight = `1.5rem`;\nconst gridSize = 20;\n"]}
@@ -0,0 +1 @@
1
+ export declare const REGISTER_METADATA_FILENAME = "/register.yaml";
@@ -4,5 +4,5 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.REGISTER_METADATA_FILENAME = void 0;
7
- const REGISTER_METADATA_FILENAME = 'register.yaml';
7
+ const REGISTER_METADATA_FILENAME = '/register.yaml';
8
8
  exports.REGISTER_METADATA_FILENAME = REGISTER_METADATA_FILENAME;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,0BAA0B,GAAG,gBAAgB,CAAC","sourcesContent":["export const REGISTER_METADATA_FILENAME = '/register.yaml';\n"]}
@@ -0,0 +1,6 @@
1
+ import type { Extension } from '@riboseinc/paneron-extension-kit/types';
2
+ import type { ExtensionMakerProps } from '@riboseinc/paneron-extension-kit/types/extension-maker';
3
+ import type { RegistryViewProps } from './types';
4
+ export declare type RegistryExtensionMakerProps = Pick<ExtensionMakerProps, 'name'> & RegistryViewProps;
5
+ export declare type RegistryExtensionMaker = (opts: RegistryExtensionMakerProps) => Promise<Extension>;
6
+ export declare const makeRegistryExtension: RegistryExtensionMaker;
package/dist/index.js ADDED
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.makeRegistryExtension = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _paneronExtensionKit = require("@riboseinc/paneron-extension-kit");
11
+
12
+ var _views = require("./views");
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
+
18
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
+
20
+ const makeRegistryExtension = function (opts) {
21
+ const {
22
+ name
23
+ } = opts;
24
+
25
+ const mainView = async function () {
26
+ return {
27
+ default: () => {
28
+ return _react.default.createElement(_views.RegistryView, {
29
+ itemClassConfiguration: opts.itemClassConfiguration,
30
+ subregisters: opts.subregisters
31
+ });
32
+ }
33
+ };
34
+ };
35
+
36
+ return (0, _paneronExtensionKit.makeExtension)({
37
+ mainView,
38
+ name,
39
+ requiredHostAppVersion: '2.0.0',
40
+ datasetMigrations: {},
41
+ datasetInitializer: () => Promise.resolve().then(() => _interopRequireWildcard(require('./migrations/initial')))
42
+ });
43
+ };
44
+
45
+ exports.makeRegistryExtension = makeRegistryExtension;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAIjE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAQvC,MAAM,CAAC,MAAM,qBAAqB,GAA2B,UAAU,IAAI;IACzE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IAEtB,MAAM,QAAQ,GAAoC,KAAK;QACrD,OAAO;YACL,OAAO,EAAE,GAAG,EAAE;gBACZ,OAAO,CACL,oBAAC,YAAY,IACX,sBAAsB,EAAE,IAAI,CAAC,sBAAsB,EACnD,YAAY,EAAE,IAAI,CAAC,YAAY,GAC/B,CACH,CAAC;YACJ,CAAC;SACF,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO,aAAa,CAAC;QACnB,QAAQ;QACR,IAAI;QACJ,sBAAsB,EAAE,OAAO;QAC/B,iBAAiB,EAAE,EAAE;QACrB,kBAAkB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC;KACzD,CAAC,CAAC;AACL,CAAC,CAAC","sourcesContent":["import React from 'react';\nimport { makeExtension } from '@riboseinc/paneron-extension-kit';\nimport type { Extension } from '@riboseinc/paneron-extension-kit/types';\nimport type { ExtensionMakerProps } from '@riboseinc/paneron-extension-kit/types/extension-maker';\nimport type { RegistryViewProps } from './types';\nimport { RegistryView } from './views';\n\nexport type RegistryExtensionMakerProps =\n Pick<ExtensionMakerProps, 'name'> & RegistryViewProps\n\nexport type RegistryExtensionMaker =\n (opts: RegistryExtensionMakerProps) => Promise<Extension>;\n\nexport const makeRegistryExtension: RegistryExtensionMaker = function (opts) {\n const { name } = opts;\n\n const mainView: ExtensionMakerProps[\"mainView\"] = async function () {\n return {\n default: () => {\n return (\n <RegistryView\n itemClassConfiguration={opts.itemClassConfiguration}\n subregisters={opts.subregisters}\n />\n );\n },\n };\n };\n\n return makeExtension({\n mainView,\n name,\n requiredHostAppVersion: '2.0.0',\n datasetMigrations: {},\n datasetInitializer: () => import('./migrations/initial'),\n });\n};\n"]}
@@ -0,0 +1,3 @@
1
+ import { DatasetMigrationFunction } from '@riboseinc/paneron-extension-kit/types/migrations';
2
+ declare const initializeDataset: DatasetMigrationFunction;
3
+ export default initializeDataset;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initial.js","sourceRoot":"","sources":["../../src/migrations/initial.ts"],"names":[],"mappings":"AAGA,MAAM,iBAAiB,GAA6B,KAAK,EAAE,IAAI,EAAE,EAAE;IACjE,OAAO;QACL,YAAY,EAAE,eAAe;QAC7B,eAAe,EAAE,EAAE;KACpB,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC","sourcesContent":["import { DatasetMigrationFunction } from '@riboseinc/paneron-extension-kit/types/migrations';\n\n\nconst initializeDataset: DatasetMigrationFunction = async (opts) => {\n return {\n versionAfter: '1.0.0-alpha18',\n bufferChangeset: {},\n };\n};\n\nexport default initializeDataset;\n"]}
@@ -0,0 +1,56 @@
1
+ {
2
+ "name": "@riboseinc/paneron-registry-kit",
3
+ "version": "2.0.0",
4
+ "main": "index.js",
5
+ "author": "Ribose Inc. <open.source@ribose.com>",
6
+ "scripts": {
7
+ "build": "rm -r compiled dist; mkdir compiled dist; tsc --outDir compiled; babel compiled --out-dir dist; cp package.json dist/; rsync -a --include '*/' --include '*.d.ts' --include '*.js.map' --exclude '*' compiled/ dist/"
8
+ },
9
+ "files": [
10
+ "*.js",
11
+ "*.js.map",
12
+ "*.d.ts",
13
+ "**/*.js",
14
+ "**/*.js.map",
15
+ "**/*.d.ts"
16
+ ],
17
+ "resolutions": {
18
+ "@types/react": "17.0.53"
19
+ },
20
+ "devDependencies": {
21
+ "@babel/cli": "^7.1.5",
22
+ "@babel/core": "^7.4.0",
23
+ "@babel/preset-env": "^7.4.2",
24
+ "@blueprintjs/core": "~4.17.6",
25
+ "@blueprintjs/datetime": "~4.4.25",
26
+ "@blueprintjs/icons": "~4.14.3",
27
+ "@blueprintjs/popover2": "~1.13.10",
28
+ "@blueprintjs/select": "~4.9.10",
29
+ "@emotion/react": "^11.10.6",
30
+ "@emotion/styled": "^11.10.6",
31
+ "@riboseinc/isogit-lfs": "0.1.6",
32
+ "@riboseinc/paneron-extension-kit": "2.0.0",
33
+ "@types/js-yaml": "^3.12.5",
34
+ "@types/node": "^16.11.7",
35
+ "@types/object-hash": "~3.0.2",
36
+ "@types/ramda": "^0.27.35",
37
+ "@types/react": "17.0.53",
38
+ "@types/react-dom": "^17.0.2",
39
+ "@types/react-helmet": "^6.1.2",
40
+ "@types/react-window": "^1.8.5",
41
+ "@types/throttle-debounce": "^2.1.0",
42
+ "date-fns": "^2.22.1",
43
+ "immutability-helper": "^3.1.1",
44
+ "js-yaml": "^3.14.0",
45
+ "jsondiffpatch": "^0.4.1",
46
+ "react": "^17.0.2",
47
+ "react-dom": "^17.0.2",
48
+ "react-helmet": "^6.1.0",
49
+ "react-visual-diff": "^0.4.3",
50
+ "react-window": "^1.8.8",
51
+ "rough-notation": "^0.5.1",
52
+ "throttle-debounce": "^2.3.0",
53
+ "typescript": "~4.6.0"
54
+ },
55
+ "license": "MIT"
56
+ }
@@ -0,0 +1,216 @@
1
+ /** Change request types, states and state transitions. */
2
+ import type React from 'react';
3
+ import type { ProposalSet } from './proposal';
4
+ import { type RegisterStakeholder } from './stakeholder';
5
+ export declare function isSubmittedBy(stakeholder: RegisterStakeholder, cr: Base): boolean;
6
+ /** Used in place of enum for convenience. */
7
+ export declare const State: {
8
+ readonly DRAFT: "draft";
9
+ readonly PROPOSED: "proposed";
10
+ readonly SUBMITTED_FOR_CONTROL_BODY_REVIEW: "pending-control-body-review";
11
+ readonly RETURNED_FOR_CLARIFICATION: "returned-for-clarification";
12
+ readonly WITHDRAWN: "withdrawn";
13
+ readonly ACCEPTED: "accepted";
14
+ readonly REJECTED: "rejected";
15
+ readonly APPEALED: "rejection-appealed-to-owner";
16
+ readonly ACCEPTED_ON_APPEAL: "accepted-on-appeal";
17
+ readonly REJECTION_UPHELD_ON_APPEAL: "rejection-upheld-on-appeal";
18
+ readonly APPEAL_WITHDRAWN: "appeal-withdrawn";
19
+ };
20
+ export declare type StateType = typeof State[keyof typeof State];
21
+ export declare function isState(val: string): val is StateType;
22
+ /** A subset of `State` that represents editable states. */
23
+ export declare const EditableState: readonly ["draft", "returned-for-clarification"];
24
+ export declare type EditableStateType = StateType & typeof EditableState[number];
25
+ export declare function isEditableState(state: StateType): state is EditableStateType;
26
+ /**
27
+ * Base change request type.
28
+ *
29
+ * Note that e.g. type Base<typeof State.DRAFT> does not equal to Drafted
30
+ * because Drafted includes additional information (namely, SubmitterInput).
31
+ *
32
+ * If the state of a CR matters, this type should not be used directly
33
+ * and concrete types should be used instead.
34
+ */
35
+ export interface Base<S extends StateType = StateType> {
36
+ id: string;
37
+ state: S;
38
+ /**
39
+ * Used to match against stakeholders declared in register metadata.
40
+ */
41
+ submittingStakeholderGitServerUsername: string;
42
+ items: ProposalSet;
43
+ /**
44
+ * Against to which register version changes were proposed.
45
+ */
46
+ registerVersion: string;
47
+ /**
48
+ * A link to external discussion.
49
+ */
50
+ externalDiscussionURI?: string;
51
+ }
52
+ export declare function isCreatedBy(stakeholder: RegisterStakeholder, cr: Base): boolean;
53
+ export declare function canBeEditedBy(stakeholder: RegisterStakeholder, cr: Base): boolean;
54
+ /**
55
+ * A change request in any state.
56
+ * Contains a superset of all possible properties, but all optional.
57
+ * XXX: ^^^ This is a lie. Should be changed from | to & with Partial<>?
58
+ */
59
+ export declare type SomeCR = Drafted | Proposed | Withdrawn | ReturnedForClarificationByManager | SubmittedForControlBodyReview | ReturnedForClarificationByControlBody | Accepted | Rejected | RejectionUpheld | AcceptedOnAppeal | RejectedWithAppealWithdrawn;
60
+ export declare type Withdrawable = Proposed | SubmittedForControlBodyReview | ReturnedForClarificationByManager | ReturnedForClarificationByControlBody;
61
+ export declare type Proposable = Drafted | ReturnedForClarificationByManager | ReturnedForClarificationByControlBody;
62
+ export declare type SomeEditable = Drafted | ReturnedForClarificationByManager | ReturnedForClarificationByControlBody;
63
+ export declare type Disposed = Withdrawn | Accepted | Rejected | AcceptedOnAppeal | RejectionUpheld;
64
+ export interface Drafted extends SubmitterInput, Base<typeof State.DRAFT> {
65
+ timeStarted: Date;
66
+ timeEdited: Date;
67
+ }
68
+ export declare function isDrafted(cr: Base): cr is Drafted;
69
+ export interface Proposed extends Omit<Drafted, 'state'>, Base<typeof State.PROPOSED> {
70
+ timeProposed: Date;
71
+ }
72
+ export declare function isProposed(cr: Base): cr is Proposed;
73
+ export interface Withdrawn extends Omit<Withdrawable, 'state'>, Base<typeof State.WITHDRAWN> {
74
+ timeDisposed: Date;
75
+ }
76
+ export declare function isWithdrawn(cr: Base): cr is Withdrawn;
77
+ export declare function hadBeenProposed(cr: Base): cr is Base & {
78
+ timeProposed: Date;
79
+ };
80
+ export declare function isDisposed(cr: Base): cr is Base & {
81
+ timeDisposed: Date;
82
+ };
83
+ export interface SubmittedForControlBodyReview extends Omit<Proposed, 'state'>, RegisterManagerInput, Base<typeof State.SUBMITTED_FOR_CONTROL_BODY_REVIEW> {
84
+ }
85
+ export interface ReturnedForClarificationByManager extends Omit<Proposed, 'state'>, RegisterManagerInput, Base<typeof State.RETURNED_FOR_CLARIFICATION> {
86
+ }
87
+ export interface ReturnedForClarificationByControlBody extends Omit<SubmittedForControlBodyReview, 'state'>, ControlBodyInput, Base<typeof State.RETURNED_FOR_CLARIFICATION> {
88
+ }
89
+ export interface Accepted extends Omit<SubmittedForControlBodyReview, 'state'>, ControlBodyInput, Base<typeof State.ACCEPTED> {
90
+ timeDisposed: Date;
91
+ }
92
+ export declare function isAccepted(cr: Base): cr is Accepted;
93
+ export interface Rejected extends Omit<SubmittedForControlBodyReview, 'state'>, ControlBodyInput, Base<typeof State.REJECTED> {
94
+ timeDisposed: Date;
95
+ }
96
+ export interface Appealed extends Omit<Rejected, 'state' | 'timeDisposed'>, AppealRequest, Base<typeof State.APPEALED> {
97
+ timeDisposed: undefined;
98
+ }
99
+ export declare function isAppealed(cr: Base): cr is Appealed;
100
+ export interface RejectionUpheld extends Omit<Appealed, 'state' | 'timeDisposed'>, RegisterOwnerInput, Base<typeof State.REJECTION_UPHELD_ON_APPEAL> {
101
+ timeDisposed: Date;
102
+ }
103
+ export interface AcceptedOnAppeal extends Omit<Appealed, 'state' | 'timeDisposed'>, RegisterOwnerInput, Base<typeof State.ACCEPTED_ON_APPEAL> {
104
+ timeDisposed: Date;
105
+ }
106
+ export declare function isAcceptedOnAppeal(cr: Base): cr is AcceptedOnAppeal;
107
+ export interface RejectedWithAppealWithdrawn extends Omit<Appealed, 'state' | 'timeDisposed'>, Base<typeof State.APPEAL_WITHDRAWN> {
108
+ timeDisposed: Date;
109
+ }
110
+ export interface SubmitterInput {
111
+ justification: string;
112
+ }
113
+ export declare function hasSubmitterInput(val: any): val is SubmitterInput;
114
+ export interface RegisterManagerInput {
115
+ registerManagerNotes: string;
116
+ }
117
+ export declare function hasRegisterManagerInput(val: any): val is RegisterManagerInput;
118
+ export interface ControlBodyInput {
119
+ controlBodyNotes: string;
120
+ controlBodyDecisionEvent: string;
121
+ }
122
+ export declare function hasControlBodyInput(val: any): val is ControlBodyInput;
123
+ export interface AppealRequest {
124
+ appealReason: string;
125
+ }
126
+ export declare function hasAppealRequest(val: any): val is AppealRequest;
127
+ export interface RegisterOwnerInput {
128
+ registerOwnerNotes: string;
129
+ }
130
+ export declare function hasRegisterOwnerInput(val: any): val is RegisterOwnerInput;
131
+ export declare type StateInput = SubmitterInput | RegisterManagerInput | ControlBodyInput | AppealRequest | RegisterOwnerInput;
132
+ /**
133
+ * A function that transitions CR1 to CR2.
134
+ *
135
+ * The function is declared to return the object
136
+ * without the `state` field, it is set
137
+ * by common wrapper function to reduce duplication.
138
+ */
139
+ export declare type Transition<
140
+ /** From CR of this subtype */
141
+ CR1 extends Base,
142
+ /** To CR of this subtype */
143
+ CR2 extends Base,
144
+ /** Using this extra information */
145
+ P extends Record<string, any> | null = null> = (cr: CR1, payload: P) => Omit<CR2, 'state'>;
146
+ /**
147
+ * Describes a transition.
148
+ *
149
+ * @typeParam CR1: Change request source state type
150
+ * @typeParam CR2: Change request target state type
151
+ * @typeParam P: Extra input needed to transition, if any
152
+ */
153
+ export interface TransitionConfig<CR1 extends Base, CR2 extends Base, P extends Record<string, any> | null = null> {
154
+ /**
155
+ * Function that implements the transition.
156
+ * Takes a CR in the original state and returns CR in the new state.
157
+ * Additionally, takes appropriate payload, if any, for the transition
158
+ * (e.g., register manager or control body notes).
159
+ *
160
+ * For function implementor:
161
+ *
162
+ * - Function MUST NOT modify CR in place.
163
+ * - Function should throw if submitted payload does not conform to requirements.
164
+ */
165
+ func: Transition<CR1, CR2, P>;
166
+ targetState: CR2["state"];
167
+ /** Title. Use verb. */
168
+ title: string;
169
+ hint?: string | JSX.Element;
170
+ /** Widget that can be used to view or enter extra input. */
171
+ Widget: P extends null ? null : React.FC<{
172
+ value: P;
173
+ onChange?: (userInput: P) => void;
174
+ }>;
175
+ /**
176
+ * Function that returns true
177
+ * if given stakeholder can perform this transition on given CR.
178
+ */
179
+ canBeTransitionedBy: (stakeholder: RegisterStakeholder, cr: CR1) => boolean;
180
+ }
181
+ /**
182
+ * Source of truth for available transitions.
183
+ * When updating change request business logic,
184
+ * this is the type that should be modified.
185
+ *
186
+ * It will cause compile errors until transition implementation
187
+ * is updated correspondingly.
188
+ */
189
+ export declare type Transitions = {
190
+ [State.DRAFT]: {
191
+ [State.PROPOSED]: TransitionConfig<Drafted, Proposed, SubmitterInput>;
192
+ };
193
+ [State.PROPOSED]: {
194
+ [State.WITHDRAWN]: TransitionConfig<Proposed, Withdrawn>;
195
+ [State.SUBMITTED_FOR_CONTROL_BODY_REVIEW]: TransitionConfig<Proposed, SubmittedForControlBodyReview, RegisterManagerInput>;
196
+ [State.RETURNED_FOR_CLARIFICATION]: TransitionConfig<Proposed, ReturnedForClarificationByManager, RegisterManagerInput>;
197
+ };
198
+ [State.SUBMITTED_FOR_CONTROL_BODY_REVIEW]: {
199
+ [State.WITHDRAWN]: TransitionConfig<SubmittedForControlBodyReview, Withdrawn>;
200
+ [State.RETURNED_FOR_CLARIFICATION]: TransitionConfig<SubmittedForControlBodyReview, ReturnedForClarificationByControlBody, ControlBodyInput>;
201
+ [State.REJECTED]: TransitionConfig<SubmittedForControlBodyReview, Rejected, ControlBodyInput>;
202
+ [State.ACCEPTED]: TransitionConfig<SubmittedForControlBodyReview, Accepted, ControlBodyInput>;
203
+ };
204
+ [State.RETURNED_FOR_CLARIFICATION]: {
205
+ [State.PROPOSED]: TransitionConfig<ReturnedForClarificationByManager | ReturnedForClarificationByControlBody, Proposed, SubmitterInput>;
206
+ [State.WITHDRAWN]: TransitionConfig<ReturnedForClarificationByManager | ReturnedForClarificationByControlBody, Withdrawn>;
207
+ };
208
+ [State.REJECTED]: {
209
+ [State.APPEALED]: TransitionConfig<Rejected, Appealed, AppealRequest>;
210
+ };
211
+ [State.APPEALED]: {
212
+ [State.APPEAL_WITHDRAWN]: TransitionConfig<Appealed, RejectedWithAppealWithdrawn>;
213
+ [State.ACCEPTED_ON_APPEAL]: TransitionConfig<Appealed, AcceptedOnAppeal, RegisterOwnerInput>;
214
+ [State.REJECTION_UPHELD_ON_APPEAL]: TransitionConfig<Appealed, RejectionUpheld, RegisterOwnerInput>;
215
+ };
216
+ };