@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,205 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.makeContextProvider = makeContextProvider;
7
+ exports.TabbedWorkspaceContext = exports.SPECIAL_TAB_IDX = void 0;
8
+
9
+ var _react = require("react");
10
+
11
+ var _react2 = require("@emotion/react");
12
+
13
+ var _context = require("../../context");
14
+
15
+ /** @jsx jsx */
16
+ const SPECIAL_TAB_IDX = {
17
+ new: -2
18
+ };
19
+ exports.SPECIAL_TAB_IDX = SPECIAL_TAB_IDX;
20
+ const TabbedWorkspaceContext = (0, _react.createContext)({
21
+ spawnTab: () => void 0,
22
+ closeTabWithURI: () => void 0,
23
+ protocolConfiguration: {},
24
+ state: {
25
+ detailTabURIs: [],
26
+ focusedTabIdx: SPECIAL_TAB_IDX.new,
27
+ selectedSidebarID: ''
28
+ },
29
+ dispatch: () => void 0
30
+ });
31
+ exports.TabbedWorkspaceContext = TabbedWorkspaceContext;
32
+
33
+ function makeContextProvider(initialSidebarID, sidebarIDs, protocolConfiguration) {
34
+ const initialState = {
35
+ detailTabURIs: [],
36
+ focusedTabIdx: SPECIAL_TAB_IDX.new,
37
+ selectedSidebarID: initialSidebarID
38
+ };
39
+
40
+ function reducer(prevState, action) {
41
+ var _a;
42
+
43
+ switch (action.type) {
44
+ case 'focus-sidebar':
45
+ return { ...prevState,
46
+ selectedSidebarID: action.payload.id
47
+ };
48
+
49
+ case 'spawn-tab':
50
+ {
51
+ const detailTabURIs = [...prevState.detailTabURIs];
52
+ const existingTabIdx = detailTabURIs.indexOf(action.payload.uri);
53
+
54
+ if (existingTabIdx >= 0) {
55
+ return { ...prevState,
56
+ focusedTabIdx: existingTabIdx
57
+ };
58
+ } else {
59
+ const idxToInsertAt = (_a = action.payload.atIdx) !== null && _a !== void 0 ? _a : prevState.focusedTabIdx >= 0 ? prevState.focusedTabIdx + 1 : 0;
60
+ detailTabURIs.splice(idxToInsertAt, 0, action.payload.uri);
61
+ return { ...prevState,
62
+ detailTabURIs,
63
+ focusedTabIdx: idxToInsertAt
64
+ };
65
+ }
66
+ }
67
+
68
+ case 'focus-tab':
69
+ return { ...prevState,
70
+ focusedTabIdx: action.payload.idx
71
+ };
72
+ // Not a common case, usually different URLs open in different tabs.
73
+
74
+ case 'navigate-focused-tab':
75
+ const existingTabIdx = prevState.detailTabURIs.indexOf(action.payload.uri);
76
+
77
+ if (existingTabIdx >= 0) {
78
+ // TODO: Is switching to preexisting tab with given URI the right behavior here?
79
+ return { ...prevState,
80
+ focusedTabIdx: existingTabIdx
81
+ };
82
+ } else if (prevState.detailTabURIs[prevState.focusedTabIdx]) {
83
+ const detailTabURIs = [...prevState.detailTabURIs];
84
+ detailTabURIs[prevState.focusedTabIdx] = action.payload.uri;
85
+ return { ...prevState,
86
+ detailTabURIs
87
+ };
88
+ } else {
89
+ return prevState;
90
+ }
91
+
92
+ case 'close-tab':
93
+ {
94
+ const detailTabURIs = [...prevState.detailTabURIs];
95
+ const closedFocused = action.payload.idx === prevState.focusedTabIdx;
96
+ detailTabURIs.splice(action.payload.idx, 1);
97
+ const focusedTabIdx = closedFocused ? detailTabURIs.length > 0 // If a focused tab is closed and there are any tabs left, switch to previous tab
98
+ ? action.payload.idx > 0 ? action.payload.idx - 1 : 0 : SPECIAL_TAB_IDX.new : prevState.focusedTabIdx > action.payload.idx // If a tab before focused tab is closed, adjust focused index to maintain tab selection
99
+ ? prevState.focusedTabIdx - 1 : prevState.focusedTabIdx;
100
+ return { ...prevState,
101
+ detailTabURIs,
102
+ focusedTabIdx
103
+ };
104
+ }
105
+
106
+ case 'close-tab-with-uri':
107
+ {
108
+ const detailTabURIs = [...prevState.detailTabURIs]; // FIXME: Handle cases when there’re multiple tabs with the same URI
109
+
110
+ const idx = detailTabURIs.indexOf(action.payload.uri);
111
+ const closedFocused = idx === prevState.focusedTabIdx;
112
+ detailTabURIs.splice(idx, 1);
113
+ const focusedTabIdx = closedFocused ? detailTabURIs.length > 0 // If a focused tab is closed and there are any tabs left, switch to previous tab
114
+ ? idx > 0 ? idx - 1 : 0 : SPECIAL_TAB_IDX.new : prevState.focusedTabIdx > idx // If a tab before focused tab is closed, adjust focused index to maintain tab selection
115
+ ? prevState.focusedTabIdx - 1 : prevState.focusedTabIdx;
116
+ return { ...prevState,
117
+ detailTabURIs,
118
+ focusedTabIdx
119
+ };
120
+ }
121
+ // TODO: Reducer knows how to move tabs, but we want to hook up a nice drag-and-drop mechanism.
122
+
123
+ case 'move-tab':
124
+ {
125
+ const detailTabURIs = [...prevState.detailTabURIs];
126
+ const tab = detailTabURIs.splice(action.payload.sourceIdx, 1)[0];
127
+
128
+ if (tab) {
129
+ detailTabURIs.splice(action.payload.destinationIdx, 0, tab);
130
+ }
131
+
132
+ return { ...prevState,
133
+ detailTabURIs
134
+ };
135
+ }
136
+
137
+ default:
138
+ throw new Error("Invalid action");
139
+ }
140
+ }
141
+
142
+ function validateState(state) {
143
+ var _a;
144
+
145
+ return ((_a = state.detailTabURIs) === null || _a === void 0 ? void 0 : _a.map) !== undefined && (typeof state.selectedSidebarID === 'string' || state.selectedSidebarID === undefined) && (!state.selectedSidebarID || sidebarIDs.indexOf(state.selectedSidebarID) >= 0);
146
+ }
147
+
148
+ const TabbedWorkspaceContextProvider = function ({
149
+ stateKey,
150
+ onFocusedTabChange,
151
+ children
152
+ }) {
153
+ const {
154
+ usePersistentDatasetStateReducer
155
+ } = (0, _react.useContext)(_context.DatasetContext);
156
+ const [state, dispatch] = usePersistentDatasetStateReducer(stateKey, undefined, validateState, reducer, initialState, null);
157
+ const tabsCacheKey = state.detailTabURIs.toString();
158
+ const focusedTabURI = (0, _react.useMemo)(() => state.focusedTabIdx >= 0 ? state.detailTabURIs[state.focusedTabIdx] : undefined, [state.focusedTabIdx, tabsCacheKey]);
159
+ (0, _react.useEffect)(() => {
160
+ if (onFocusedTabChange) {
161
+ onFocusedTabChange(focusedTabURI);
162
+ }
163
+ }, [onFocusedTabChange, focusedTabURI]);
164
+ const spawnTab = (0, _react.useCallback)((uri, opts) => dispatch({
165
+ type: 'spawn-tab',
166
+ payload: {
167
+ uri,
168
+ atIdx: opts === null || opts === void 0 ? void 0 : opts.atIdx
169
+ }
170
+ }), [dispatch]);
171
+ const closeTabWithURI = (0, _react.useCallback)(uri => {
172
+ const idx = state.detailTabURIs.indexOf(uri);
173
+
174
+ if (idx >= 0) {
175
+ dispatch({
176
+ type: 'close-tab',
177
+ payload: {
178
+ idx
179
+ }
180
+ });
181
+ }
182
+ }, [dispatch, tabsCacheKey]);
183
+ const navigateFocusedTab = (0, _react.useCallback)(uri => dispatch({
184
+ type: 'navigate-focused-tab',
185
+ payload: {
186
+ uri
187
+ }
188
+ }), [dispatch]);
189
+ const protoConfig = (0, _react.useMemo)(() => protocolConfiguration, []);
190
+ const ctx = (0, _react.useMemo)(() => ({
191
+ spawnTab,
192
+ closeTabWithURI,
193
+ navigateFocusedTab,
194
+ protocolConfiguration: protoConfig,
195
+ focusedTabURI,
196
+ dispatch,
197
+ state
198
+ }), [focusedTabURI, spawnTab, closeTabWithURI, navigateFocusedTab, state, protoConfig, dispatch]);
199
+ return (0, _react2.jsx)(TabbedWorkspaceContext.Provider, {
200
+ value: ctx
201
+ }, children);
202
+ };
203
+
204
+ return TabbedWorkspaceContextProvider;
205
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/widgets/TabbedWorkspace/context.tsx"],"names":[],"mappings":"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","sourcesContent":["/** @jsx jsx */\n\nimport React, { createContext, useCallback, useMemo, useContext, useEffect } from 'react';\nimport { jsx } from '@emotion/react';\nimport { DatasetContext } from '../../context';\nimport type { PersistentStateReducerHook } from '../../usePersistentStateReducer';\nimport type { TabbedWorkspaceContext as TabbedWorkspaceContextSpec, Action, ProtocolRegistry, State } from './types';\n\n\nexport const SPECIAL_TAB_IDX: Record<'new', number> = {\n new: -2,\n} as const;\n\n\nexport const TabbedWorkspaceContext = createContext<TabbedWorkspaceContextSpec<any, any>>({\n spawnTab: () => void 0,\n closeTabWithURI: () => void 0,\n protocolConfiguration: {},\n state: {\n detailTabURIs: [],\n focusedTabIdx: SPECIAL_TAB_IDX.new,\n selectedSidebarID: '',\n },\n dispatch: () => void 0,\n});\n\n\nexport function makeContextProvider\n<Proto extends string, SidebarIDs extends Readonly<string[]> = []>(\n initialSidebarID: SidebarIDs['length'] extends 0 ? undefined : SidebarIDs[number],\n sidebarIDs: SidebarIDs,\n protocolConfiguration: ProtocolRegistry<Proto>,\n):\nReact.FC<TabbedWorkspaceContextProviderProps> {\n\n type SidebarID = SidebarIDs[number];\n\n const initialState: State<SidebarID> = {\n detailTabURIs: [],\n focusedTabIdx: SPECIAL_TAB_IDX.new,\n selectedSidebarID: initialSidebarID,\n } as const;\n\n function reducer(prevState: State<SidebarID>, action: Action<SidebarID>): State<SidebarID> {\n switch (action.type) {\n\n case 'focus-sidebar':\n return {\n ...prevState,\n selectedSidebarID: action.payload.id,\n };\n\n case 'spawn-tab': {\n const detailTabURIs = [ ...prevState.detailTabURIs ];\n const existingTabIdx = detailTabURIs.indexOf(action.payload.uri);\n if (existingTabIdx >= 0) {\n return {\n ...prevState,\n focusedTabIdx: existingTabIdx,\n };\n } else {\n const idxToInsertAt = action.payload.atIdx ?? (\n prevState.focusedTabIdx >= 0\n ? prevState.focusedTabIdx + 1\n : 0\n );\n detailTabURIs.splice(idxToInsertAt, 0, action.payload.uri);\n return {\n ...prevState,\n detailTabURIs,\n focusedTabIdx: idxToInsertAt,\n };\n }\n }\n\n case 'focus-tab':\n return {\n ...prevState,\n focusedTabIdx: action.payload.idx,\n };\n\n // Not a common case, usually different URLs open in different tabs.\n case 'navigate-focused-tab':\n const existingTabIdx = prevState.detailTabURIs.indexOf(action.payload.uri);\n if (existingTabIdx >= 0) {\n // TODO: Is switching to preexisting tab with given URI the right behavior here?\n return {\n ...prevState,\n focusedTabIdx: existingTabIdx,\n };\n } else if (prevState.detailTabURIs[prevState.focusedTabIdx]) {\n const detailTabURIs = [ ...prevState.detailTabURIs ];\n detailTabURIs[prevState.focusedTabIdx] = action.payload.uri;\n return {\n ...prevState,\n detailTabURIs,\n };\n } else {\n return prevState;\n }\n\n case 'close-tab': {\n const detailTabURIs = [ ...prevState.detailTabURIs ];\n const closedFocused = action.payload.idx === prevState.focusedTabIdx;\n\n detailTabURIs.splice(action.payload.idx, 1);\n\n const focusedTabIdx = closedFocused\n ? detailTabURIs.length > 0\n // If a focused tab is closed and there are any tabs left, switch to previous tab\n ? action.payload.idx > 0\n ? action.payload.idx - 1\n : 0\n : SPECIAL_TAB_IDX.new\n : prevState.focusedTabIdx > action.payload.idx\n // If a tab before focused tab is closed, adjust focused index to maintain tab selection\n ? prevState.focusedTabIdx - 1\n : prevState.focusedTabIdx;\n\n return {\n ...prevState,\n detailTabURIs,\n focusedTabIdx,\n };\n }\n\n case 'close-tab-with-uri': {\n const detailTabURIs = [ ...prevState.detailTabURIs ];\n\n // FIXME: Handle cases when there’re multiple tabs with the same URI\n\n const idx = detailTabURIs.indexOf(action.payload.uri);\n const closedFocused = idx === prevState.focusedTabIdx;\n\n detailTabURIs.splice(idx, 1);\n\n const focusedTabIdx = closedFocused\n ? detailTabURIs.length > 0\n // If a focused tab is closed and there are any tabs left, switch to previous tab\n ? idx > 0\n ? idx - 1\n : 0\n : SPECIAL_TAB_IDX.new\n : prevState.focusedTabIdx > idx\n // If a tab before focused tab is closed, adjust focused index to maintain tab selection\n ? prevState.focusedTabIdx - 1\n : prevState.focusedTabIdx;\n\n return {\n ...prevState,\n detailTabURIs,\n focusedTabIdx,\n };\n }\n\n // TODO: Reducer knows how to move tabs, but we want to hook up a nice drag-and-drop mechanism.\n case 'move-tab': {\n const detailTabURIs = [ ...prevState.detailTabURIs ];\n const tab = detailTabURIs.splice(action.payload.sourceIdx, 1)[0];\n if (tab) {\n detailTabURIs.splice(action.payload.destinationIdx, 0, tab);\n }\n return {\n ...prevState,\n detailTabURIs,\n };\n }\n\n default:\n throw new Error(\"Invalid action\");\n }\n }\n\n function validateState(state: Partial<State<SidebarID>>): state is State<SidebarID> {\n return (\n state.detailTabURIs?.map !== undefined &&\n (typeof state.selectedSidebarID === 'string' || state.selectedSidebarID === undefined) &&\n (!state.selectedSidebarID || sidebarIDs.indexOf(state.selectedSidebarID) >= 0)\n );\n }\n\n const TabbedWorkspaceContextProvider:\n React.FC<TabbedWorkspaceContextProviderProps> =\n function ({ stateKey, onFocusedTabChange, children }) {\n\n const { usePersistentDatasetStateReducer } = useContext(DatasetContext);\n\n const [ state, dispatch ] =\n (usePersistentDatasetStateReducer as PersistentStateReducerHook<State<SidebarID>, Action<SidebarID>>)(\n stateKey,\n undefined,\n validateState,\n reducer,\n initialState,\n null);\n\n const tabsCacheKey = state.detailTabURIs.toString();\n\n const focusedTabURI: string | undefined = useMemo((() =>\n state.focusedTabIdx >= 0\n ? state.detailTabURIs[state.focusedTabIdx]\n : undefined\n ), [state.focusedTabIdx, tabsCacheKey]);\n\n useEffect(() => {\n if (onFocusedTabChange) {\n onFocusedTabChange(focusedTabURI);\n }\n }, [onFocusedTabChange, focusedTabURI]);\n\n const spawnTab: TabbedWorkspaceContextSpec<any, any>[\"spawnTab\"] = useCallback(\n ((uri: string, opts) => dispatch({ type: 'spawn-tab', payload: { uri, atIdx: opts?.atIdx } })),\n [dispatch]);\n\n const closeTabWithURI = useCallback(\n (uri => {\n const idx = state.detailTabURIs.indexOf(uri);\n if (idx >= 0) {\n dispatch({ type: 'close-tab', payload: { idx } });\n }\n }),\n [dispatch, tabsCacheKey]);\n\n const navigateFocusedTab = useCallback(\n (uri => dispatch({ type: 'navigate-focused-tab', payload: { uri }})),\n [dispatch]);\n\n const protoConfig = useMemo(() => protocolConfiguration, []);\n\n const ctx: TabbedWorkspaceContextSpec<Proto, SidebarID> = useMemo((() => ({\n spawnTab,\n closeTabWithURI,\n navigateFocusedTab,\n protocolConfiguration: protoConfig,\n focusedTabURI,\n dispatch,\n state,\n })), [focusedTabURI, spawnTab, closeTabWithURI, navigateFocusedTab, state, protoConfig, dispatch]);\n\n return (\n <TabbedWorkspaceContext.Provider value={ctx}>\n {children}\n </TabbedWorkspaceContext.Provider>\n );\n\n };\n\n return TabbedWorkspaceContextProvider;\n}\n\n\nexport interface TabbedWorkspaceContextProviderProps {\n stateKey: string\n onFocusedTabChange?: (newFocusedTabURI: string | undefined) => void\n\n}\n"]}
@@ -0,0 +1,9 @@
1
+ /** @jsx jsx */
2
+ /** @jsxFrag React.Fragment */
3
+ import React from 'react';
4
+ export declare const DetailTab: React.FC<{
5
+ uri: string;
6
+ }>;
7
+ export declare const DetailTabTitle: React.FC<{
8
+ uri: string;
9
+ }>;
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DetailTabTitle = exports.DetailTab = void 0;
7
+
8
+ var _react = _interopRequireWildcard(require("react"));
9
+
10
+ var _react2 = require("@emotion/react");
11
+
12
+ var _core = require("@blueprintjs/core");
13
+
14
+ var _ErrorBoundary = _interopRequireDefault(require("../ErrorBoundary"));
15
+
16
+ var _context = require("./context");
17
+
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
+
20
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
21
+
22
+ 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; }
23
+
24
+ /** @jsx jsx */
25
+
26
+ /** @jsxFrag React.Fragment */
27
+ const DetailTab = (0, _react.memo)(function ({
28
+ uri
29
+ }) {
30
+ const {
31
+ protocolConfiguration
32
+ } = (0, _react.useContext)(_context.TabbedWorkspaceContext);
33
+ const [proto, _path] = uri.split(':');
34
+ const protoConf = protocolConfiguration[proto];
35
+
36
+ if (protoConf) {
37
+ const View = protoConf.main;
38
+ return (0, _react2.jsx)(_ErrorBoundary.default, {
39
+ viewName: `${proto} view`
40
+ }, (0, _react2.jsx)(View, {
41
+ uri: _path
42
+ }));
43
+ } else {
44
+ return (0, _react2.jsx)(_core.NonIdealState, {
45
+ icon: "heart-broken",
46
+ description: `Unknown protocol ${proto}`
47
+ });
48
+ }
49
+ });
50
+ exports.DetailTab = DetailTab;
51
+ const DetailTabTitle = (0, _react.memo)(function ({
52
+ uri
53
+ }) {
54
+ const {
55
+ protocolConfiguration
56
+ } = (0, _react.useContext)(_context.TabbedWorkspaceContext);
57
+ const [proto, _path] = uri.split(':');
58
+ const protoConf = protocolConfiguration[proto];
59
+
60
+ if (protoConf) {
61
+ const View = protoConf.title;
62
+ return (0, _react2.jsx)(View, {
63
+ uri: _path
64
+ });
65
+ } else {
66
+ return (0, _react2.jsx)(_react.default.Fragment, null, uri);
67
+ }
68
+ });
69
+ exports.DetailTabTitle = DetailTabTitle;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detail.js","sourceRoot":"","sources":["../../../src/widgets/TabbedWorkspace/detail.tsx"],"names":[],"mappings":"AAAA,eAAe;AACf,8BAA8B;AAE9B,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAGnD,MAAM,CAAC,MAAM,SAAS,GAA8B,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE;IACxE,MAAM,EAAE,qBAAqB,EAAE,GAAG,UAAU,CAAC,sBAAsB,CAAC,CAAC;IACrE,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC/C,IAAI,SAAS,EAAE;QACb,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;QAC5B,OAAO,IAAC,aAAa,IAAC,QAAQ,EAAE,GAAG,KAAK,OAAO;YAAE,IAAC,IAAI,IAAC,GAAG,EAAE,KAAK,GAAI,CAAgB,CAAC;KACvF;SAAM;QACL,OAAO,IAAC,aAAa,IAAC,IAAI,EAAC,cAAc,EAAC,WAAW,EAAE,oBAAoB,KAAK,EAAE,GAAI,CAAC;KACxF;AACH,CAAC,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,cAAc,GAA8B,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE;IAC7E,MAAM,EAAE,qBAAqB,EAAE,GAAG,UAAU,CAAC,sBAAsB,CAAC,CAAC;IACrE,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC/C,IAAI,SAAS,EAAE;QACb,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC;QAC7B,OAAO,IAAC,IAAI,IAAC,GAAG,EAAE,KAAK,GAAI,CAAC;KAC7B;SAAM;QACL,OAAO,0BAAG,GAAG,CAAI,CAAC;KACnB;AACH,CAAC,CAAC,CAAC","sourcesContent":["/** @jsx jsx */\n/** @jsxFrag React.Fragment */\n\nimport React, { memo, useContext } from 'react';\nimport { jsx } from '@emotion/react';\nimport { NonIdealState } from '@blueprintjs/core';\nimport ErrorBoundary from '../ErrorBoundary';\nimport { TabbedWorkspaceContext } from './context';\n\n\nexport const DetailTab: React.FC<{ uri: string }> = memo(function ({ uri }) {\n const { protocolConfiguration } = useContext(TabbedWorkspaceContext);\n const [proto, _path] = uri.split(':');\n const protoConf = protocolConfiguration[proto];\n if (protoConf) {\n const View = protoConf.main;\n return <ErrorBoundary viewName={`${proto} view`}><View uri={_path} /></ErrorBoundary>;\n } else {\n return <NonIdealState icon=\"heart-broken\" description={`Unknown protocol ${proto}`} />;\n }\n});\n\n\nexport const DetailTabTitle: React.FC<{ uri: string }> = memo(function ({ uri }) {\n const { protocolConfiguration } = useContext(TabbedWorkspaceContext);\n const [proto, _path] = uri.split(':');\n const protoConf = protocolConfiguration[proto];\n if (protoConf) {\n const View = protoConf.title;\n return <View uri={_path} />;\n } else {\n return <>{uri}</>;\n }\n});\n"]}
@@ -0,0 +1,54 @@
1
+ /** @jsx jsx */
2
+ /** @jsxFrag React.Fragment */
3
+ import React from 'react';
4
+ import { jsx } from '@emotion/react';
5
+ import { type IconName } from '@blueprintjs/core';
6
+ import { type WorkspaceProps } from '../Workspace';
7
+ import type { SuperSidebarConfig } from './types';
8
+ /**
9
+ * Wraps Workspace, adding tabbed GUI features.
10
+ * Use inside TabbedWorkspaceContextProvider.
11
+ */
12
+ export interface TabbedWorkspaceProps<SidebarIDs extends Readonly<string[]> = []> {
13
+ /**
14
+ * Configuration for individual sidebars, keyed by internal sidebar ID.
15
+ * If there is more than one sidebar, sidebar selector is shown.
16
+ */
17
+ sidebarConfig: SidebarIDs['length'] extends 0 ? undefined : SuperSidebarConfig<SidebarIDs>;
18
+ /**
19
+ * Sidebar IDs as a list. This is used to order sidebars.
20
+ * TODO: Eliminate in favor of using weights or another way of ordering?
21
+ */
22
+ sidebarIDs: SidebarIDs;
23
+ /**
24
+ * @deprecated use `defaultTabPrompt`
25
+ *
26
+ * “Home” view shown by default when there are no tabs
27
+ * or when explicitly invoked by the user.
28
+ */
29
+ newTabPrompt?: JSX.Element;
30
+ /**
31
+ * View shown by default when there are no tabs
32
+ * or when explicitly navigated to by the user.
33
+ *
34
+ * If not provided, some tab must be spawned programmatically
35
+ * or user will see nothing.
36
+ */
37
+ defaultTab?: {
38
+ panel: JSX.Element;
39
+ title?: JSX.Element | string;
40
+ icon?: IconName;
41
+ };
42
+ /** Set global mode bar for the workspace. */
43
+ globalMode?: WorkspaceProps['globalMode'];
44
+ /** Set the status bar for the workspace. */
45
+ statusBar?: WorkspaceProps['statusBar'];
46
+ sidebarWidth?: number;
47
+ sidebarPosition?: WorkspaceProps['sidebarPosition'];
48
+ /** If not provided, sidebar cannot be resized. */
49
+ onSidebarResize?: (newWidth: number) => void;
50
+ className?: string;
51
+ }
52
+ declare const TabbedWorkspace: React.MemoExoticComponent<typeof TabbedWorkspace_>;
53
+ declare function TabbedWorkspace_<SidebarIDs extends Readonly<string[]> = []>({ sidebarConfig, sidebarIDs, newTabPrompt: defaultTabLegacy, defaultTab, globalMode, statusBar, sidebarWidth, sidebarPosition, onSidebarResize, className, }: TabbedWorkspaceProps<SidebarIDs>): jsx.JSX.Element;
54
+ export default TabbedWorkspace;
@@ -0,0 +1,301 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = require("react");
9
+
10
+ var _reactHelmet = require("react-helmet");
11
+
12
+ var _react2 = require("@emotion/react");
13
+
14
+ var _styled = _interopRequireDefault(require("@emotion/styled"));
15
+
16
+ var _core = require("@blueprintjs/core");
17
+
18
+ var _Workspace = _interopRequireDefault(require("../Workspace"));
19
+
20
+ var _context = require("./context");
21
+
22
+ var _detail = require("./detail");
23
+
24
+ var _SuperSidebar = _interopRequireDefault(require("./SuperSidebar"));
25
+
26
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
+
28
+ /** @jsx jsx */
29
+
30
+ /** @jsxFrag React.Fragment */
31
+ const DEFAULT_TAB_TITLE = '(unnamed tab)';
32
+ const TabbedWorkspace = (0, _react.memo)(TabbedWorkspace_);
33
+
34
+ function TabbedWorkspace_({
35
+ sidebarConfig,
36
+ sidebarIDs,
37
+ newTabPrompt: defaultTabLegacy,
38
+ defaultTab,
39
+ globalMode,
40
+ statusBar,
41
+ sidebarWidth,
42
+ sidebarPosition,
43
+ onSidebarResize,
44
+ className
45
+ }) {
46
+ var _a, _b;
47
+
48
+ const {
49
+ state,
50
+ dispatch,
51
+ protocolConfiguration,
52
+ focusedTabURI
53
+ } = (0, _react.useContext)(_context.TabbedWorkspaceContext);
54
+ const focusedTabRef = (0, _react.useRef)(null);
55
+ const [title, setTitle] = (0, _react.useState)(DEFAULT_TAB_TITLE);
56
+ const paneHasTitle = title !== DEFAULT_TAB_TITLE;
57
+ (0, _react.useEffect)(() => {
58
+ let cancelled = false;
59
+
60
+ if (!focusedTabURI) {
61
+ setTitle(DEFAULT_TAB_TITLE);
62
+ return;
63
+ }
64
+
65
+ (async () => {
66
+ var _a, _b;
67
+
68
+ if (focusedTabURI) {
69
+ const [proto, path] = focusedTabURI.split(':');
70
+ const title = await ((_b = (_a = protocolConfiguration[proto]) === null || _a === void 0 ? void 0 : _a.plainTitle) === null || _b === void 0 ? void 0 : _b.call(_a, path));
71
+
72
+ if (cancelled) {
73
+ return;
74
+ }
75
+
76
+ if (title) {
77
+ setTitle(title);
78
+ } else {
79
+ setTitle(DEFAULT_TAB_TITLE);
80
+ }
81
+ }
82
+ })();
83
+
84
+ return function cleanUp() {
85
+ cancelled = true;
86
+ };
87
+ }, [focusedTabURI]);
88
+ (0, _react.useEffect)(() => {
89
+ var _a;
90
+
91
+ if (state.focusedTabIdx >= 0) {
92
+ (_a = focusedTabRef.current) === null || _a === void 0 ? void 0 : _a.scrollIntoView();
93
+ }
94
+ }, [state.focusedTabIdx]);
95
+ const sidebar = (0, _react.useMemo)(() => {
96
+ var _a;
97
+
98
+ if (sidebarIDs.length > 0 && sidebarConfig !== undefined) {
99
+ return (0, _react2.jsx)(_SuperSidebar.default, {
100
+ config: sidebarConfig,
101
+ sidebarIDs: sidebarIDs,
102
+ width: sidebarWidth,
103
+ onResize: onSidebarResize,
104
+ resizeSensorPosition: //Resize sensor is on the side where main content is,
105
+ //i.e. opposite of where sidebar is relative to main content.
106
+ sidebarPosition === 'left' ? 'right' : 'left',
107
+ minWidth: 250,
108
+ maxWidth: 600,
109
+ selectedSidebarID: (_a = state.selectedSidebarID) !== null && _a !== void 0 ? _a : sidebarIDs[0],
110
+ onSelectSidebar: sidebarIDs.length > 1 ? id => dispatch({
111
+ type: 'focus-sidebar',
112
+ payload: {
113
+ id
114
+ }
115
+ }) : undefined
116
+ });
117
+ } else {
118
+ return undefined;
119
+ }
120
+ }, [sidebarIDs.length > 0, sidebarIDs.toString(), state.selectedSidebarID, dispatch, sidebarWidth, onSidebarResize, sidebarPosition, sidebarConfig]);
121
+ const tabPanes = (0, _react.useMemo)(() => {
122
+ var _a;
123
+
124
+ return ((_a = state.detailTabURIs) !== null && _a !== void 0 ? _a : []).map(uri => [uri, [(0, _react2.jsx)(_detail.DetailTab, {
125
+ uri: uri
126
+ }), (0, _react2.jsx)(_detail.DetailTabTitle, {
127
+ uri: uri
128
+ })]]).reduce((prev, curr) => prev.set(curr[0], curr[1]), new Map());
129
+ }, [((_a = state.detailTabURIs) !== null && _a !== void 0 ? _a : []).slice().sort().toString()]);
130
+ const tabTitles = (0, _react.useMemo)(() => {
131
+ var _a;
132
+
133
+ return ((_a = state.detailTabURIs) !== null && _a !== void 0 ? _a : []).map((uri, idx) => {
134
+ var _a, _b;
135
+
136
+ return [uri, (0, _react2.jsx)("div", {
137
+ css: (0, _react2.css)`height: 24px;`,
138
+ ref: idx === state.focusedTabIdx ? focusedTabRef : undefined
139
+ }, (0, _react2.jsx)(TabTitleButton, {
140
+ interactive: idx !== state.focusedTabIdx,
141
+ minimal: idx !== state.focusedTabIdx,
142
+ title: uri,
143
+ onRemove: evt => {
144
+ dispatch({
145
+ type: 'close-tab',
146
+ payload: {
147
+ idx
148
+ }
149
+ });
150
+ evt.stopPropagation();
151
+ }
152
+ }, (_b = (_a = tabPanes.get(uri)) === null || _a === void 0 ? void 0 : _a[1]) !== null && _b !== void 0 ? _b : DEFAULT_TAB_TITLE))];
153
+ }).reduce((prev, curr) => prev.set(curr[0], curr[1]), new Map());
154
+ }, [state.focusedTabIdx, tabPanes, dispatch, focusedTabRef.current]);
155
+ const homeTab = (0, _react.useMemo)(() => {
156
+ var _a, _b, _c;
157
+
158
+ return defaultTab || defaultTabLegacy ? (0, _react2.jsx)(_core.Tab, {
159
+ id: _context.SPECIAL_TAB_IDX.new,
160
+ title: (0, _react2.jsx)(TabTitleButton, {
161
+ minimal: state.focusedTabIdx !== _context.SPECIAL_TAB_IDX.new,
162
+ icon: (_a = defaultTab === null || defaultTab === void 0 ? void 0 : defaultTab.icon) !== null && _a !== void 0 ? _a : 'home'
163
+ }, (_b = defaultTab === null || defaultTab === void 0 ? void 0 : defaultTab.title) !== null && _b !== void 0 ? _b : "Home"),
164
+ panel: (_c = defaultTab === null || defaultTab === void 0 ? void 0 : defaultTab.panel) !== null && _c !== void 0 ? _c : defaultTabLegacy
165
+ }) : null;
166
+ }, [state.focusedTabIdx === _context.SPECIAL_TAB_IDX.new, defaultTab, defaultTabLegacy]);
167
+ const handleSelectedTabChange = (0, _react.useCallback)((idx, oldIdx) => dispatch({
168
+ type: 'focus-tab',
169
+ payload: {
170
+ idx
171
+ }
172
+ }), [dispatch]);
173
+ return (0, _react2.jsx)(_Workspace.default, {
174
+ sidebar: sidebar,
175
+ sidebarPosition: sidebarPosition,
176
+ globalMode: globalMode,
177
+ statusBar: statusBar,
178
+ className: className
179
+ }, (0, _react2.jsx)(Tabs, {
180
+ id: "detailTabs",
181
+ renderActiveTabPanelOnly: true,
182
+ selectedTabId: state.focusedTabIdx,
183
+ onChange: handleSelectedTabChange
184
+ }, paneHasTitle ? (0, _react2.jsx)(_reactHelmet.Helmet, null, (0, _react2.jsx)("title", null, title)) : null, homeTab, ((_b = state.detailTabURIs) !== null && _b !== void 0 ? _b : []).map((uri, idx) => {
185
+ var _a;
186
+
187
+ return (0, _react2.jsx)(_core.Tab, {
188
+ id: idx,
189
+ key: uri,
190
+ panel: (_a = tabPanes.get(uri)) === null || _a === void 0 ? void 0 : _a[0],
191
+ title: tabTitles.get(uri)
192
+ });
193
+ })));
194
+ }
195
+
196
+ ;
197
+ const Tabs = (0, _styled.default)(_core.Tabs)`
198
+ background: ${_core.Colors.LIGHT_GRAY2};
199
+ .bp4-dark & { background: ${_core.Colors.GRAY1}; }
200
+ flex: 1;
201
+ display: flex;
202
+ flex-flow: column nowrap;
203
+
204
+ position: relative;
205
+
206
+ .bp4-tab-list {
207
+ overflow-x: auto;
208
+ height: 24px;
209
+ position: relative;
210
+
211
+ background: ${_core.Colors.GRAY1};
212
+ .bp4-dark & { background: ${_core.Colors.DARK_GRAY3}; }
213
+
214
+ /* Accommodate the new tab button, absolutely positioned */
215
+ white-space: nowrap;
216
+
217
+ /* Remove spacing between tabs */
218
+ > *:not(:last-child) {
219
+ margin-right: 2px;
220
+ }
221
+
222
+ /* Hide horizontal scrollbar (overlaps with tab titles on macOS) */
223
+ ::-webkit-scrollbar {
224
+ height: 0px;
225
+ background: transparent;
226
+ }
227
+ }
228
+
229
+ .bp4-tab-indicator { display: none; }
230
+
231
+ /* Tab header. */
232
+ .bp4-tab {
233
+ line-height: unset;
234
+ position: unset;
235
+ display: inline-block;
236
+ overflow: hidden;
237
+ text-overflow: ellipsis;
238
+ max-width: 400px;
239
+
240
+ &.pinned-tab {
241
+ position: sticky;
242
+ left: 0;
243
+ z-index: 1;
244
+ box-shadow: 0 0 0 1px rgb(17 20 24 / 10%), 0 1px 1px rgb(17 20 24 / 20%), 0 2px 6px rgb(17 20 24 / 20%) !important;
245
+ background-color: ${_core.Colors.LIGHT_GRAY3} !important;
246
+ .bp4-dark & { background: ${_core.Colors.DARK_GRAY3} !important; }
247
+ }
248
+ }
249
+
250
+ /* Tab contents. */
251
+ .bp4-tab-panel {
252
+ flex: 1;
253
+ margin: 0;
254
+ padding: 5px;
255
+ position: relative;
256
+ background: ${_core.Colors.LIGHT_GRAY3};
257
+ .bp4-dark & { background: ${_core.Colors.DARK_GRAY3}; }
258
+ }
259
+ `; // NOTE: Minimal is set when it’s *not* selected
260
+
261
+ const TabTitleButton = (0, _styled.default)(_core.Tag)`
262
+ border-radius: 0;
263
+ height: 24px;
264
+ padding: 0 8px;
265
+ box-shadow: unset;
266
+
267
+ color: ${({
268
+ minimal
269
+ }) => minimal ? _core.Colors.WHITE : _core.Colors.BLACK} !important;
270
+ ${({
271
+ minimal
272
+ }) => minimal ? '' : `background: ${_core.Colors.LIGHT_GRAY3}`} !important;
273
+ /* NOTE: Selected item’s background must sync with tab-panel background. */
274
+
275
+ .bp4-tag-remove {
276
+ color: ${({
277
+ minimal
278
+ }) => minimal ? _core.Colors.WHITE : _core.Colors.BLACK} !important;
279
+ opacity: .5;
280
+ &:hover {
281
+ opacity: 1;
282
+ }
283
+ }
284
+
285
+ .bp4-dark & {
286
+ color: ${({
287
+ minimal
288
+ }) => minimal ? _core.Colors.LIGHT_GRAY2 : _core.Colors.WHITE} !important;
289
+ ${({
290
+ minimal
291
+ }) => minimal ? '' : `background: ${_core.Colors.DARK_GRAY3}`} !important;
292
+
293
+ .bp4-tag-remove {
294
+ color: ${({
295
+ minimal
296
+ }) => minimal ? _core.Colors.LIGHT_GRAY2 : _core.Colors.WHITE} !important;
297
+ }
298
+ }
299
+ `;
300
+ var _default = TabbedWorkspace;
301
+ exports.default = _default;