@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,204 @@
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 TabbedWorkspace = function ({
32
+ sidebarConfig,
33
+ sidebarIDs,
34
+ newTabPrompt,
35
+ globalMode,
36
+ statusBar,
37
+ className
38
+ }) {
39
+ var _a;
40
+
41
+ const {
42
+ state,
43
+ dispatch,
44
+ protocolConfiguration,
45
+ focusedTabURI
46
+ } = (0, _react.useContext)(_context.TabbedWorkspaceContext);
47
+ const focusedTabRef = (0, _react.useRef)(null);
48
+ const [title, setTitle] = (0, _react.useState)(null);
49
+ (0, _react.useEffect)(() => {
50
+ (async () => {
51
+ var _a, _b;
52
+
53
+ if (focusedTabURI) {
54
+ const [proto, path] = focusedTabURI.split(':');
55
+ 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));
56
+
57
+ if (title) {
58
+ setTitle(title);
59
+ } else {
60
+ setTitle(null);
61
+ }
62
+ } else {
63
+ setTitle(null);
64
+ }
65
+ })();
66
+ }, [focusedTabURI, JSON.stringify(protocolConfiguration)]);
67
+ (0, _react.useEffect)(() => {
68
+ var _a;
69
+
70
+ if (state.focusedTabIdx >= 0) {
71
+ (_a = focusedTabRef.current) === null || _a === void 0 ? void 0 : _a.scrollIntoView();
72
+ }
73
+ }, [state.focusedTabIdx]);
74
+ const sidebar = (0, _react.useMemo)(() => {
75
+ return (0, _react2.jsx)(_SuperSidebar.default, {
76
+ config: sidebarConfig,
77
+ sidebarIDs: sidebarIDs,
78
+ selectedSidebarID: sidebarIDs.length > 1 ? state.selectedSidebarID : sidebarIDs[0],
79
+ onSelectSidebar: sidebarIDs.length > 1 ? id => dispatch({
80
+ type: 'focus-sidebar',
81
+ payload: {
82
+ id
83
+ }
84
+ }) : undefined
85
+ });
86
+ }, [JSON.stringify(sidebarConfig), JSON.stringify(sidebarIDs), state.selectedSidebarID]);
87
+ return (0, _react2.jsx)(_Workspace.default, {
88
+ className: className,
89
+ sidebar: sidebar,
90
+ globalMode: globalMode,
91
+ statusBar: statusBar
92
+ }, (0, _react2.jsx)(_core.Tabs, {
93
+ id: "detailTabs",
94
+ renderActiveTabPanelOnly: true,
95
+ selectedTabId: state.focusedTabIdx,
96
+ onChange: (idx, oldIdx) => dispatch({
97
+ type: 'focus-tab',
98
+ payload: {
99
+ idx
100
+ }
101
+ }),
102
+ css: (0, _react2.css)`
103
+ background: ${_core.Colors.LIGHT_GRAY2};
104
+ flex: 1;
105
+ display: flex;
106
+ flex-flow: column nowrap;
107
+
108
+ position: relative;
109
+
110
+ .bp4-tab-list {
111
+ overflow-x: auto;
112
+ height: 24px;
113
+ position: relative;
114
+
115
+ background: ${_core.Colors.GRAY1};
116
+
117
+ /* Accommodate the new tab button, absolutely positioned */
118
+ white-space: nowrap;
119
+
120
+ /* Remove spacing between tabs */
121
+ > *:not(:last-child) {
122
+ margin-right: 2px;
123
+ }
124
+
125
+ /* Hide horizontal scrollbar (overlaps with tab titles on macOS) */
126
+ ::-webkit-scrollbar {
127
+ height: 0px;
128
+ background: transparent;
129
+ }
130
+ }
131
+ .bp4-tab-indicator { display: none; }
132
+ .bp4-tab {
133
+ line-height: unset;
134
+ position: unset;
135
+ display: inline-block;
136
+ overflow: visible;
137
+ }
138
+ .bp4-tab-panel {
139
+ flex: 1;
140
+ margin: 0;
141
+ padding: 5px;
142
+ position: relative;
143
+ background: ${_core.Colors.LIGHT_GRAY3};
144
+ }
145
+ `
146
+ }, title ? (0, _react2.jsx)(_reactHelmet.Helmet, null, (0, _react2.jsx)("title", null, title)) : null, (0, _react2.jsx)(_core.Tab, {
147
+ id: _context.SPECIAL_TAB_IDX.new,
148
+ title: (0, _react2.jsx)(TabTitleButton, {
149
+ minimal: state.focusedTabIdx !== _context.SPECIAL_TAB_IDX.new,
150
+ icon: "home"
151
+ }, "Home"),
152
+ panel: newTabPrompt
153
+ }), ((_a = state.detailTabURIs) !== null && _a !== void 0 ? _a : []).map((uri, idx) => (0, _react2.jsx)(_core.Tab, {
154
+ id: idx,
155
+ key: uri,
156
+ panel: (0, _react2.jsx)(_detail.DetailTab, {
157
+ uri: uri
158
+ }),
159
+ title: (0, _react2.jsx)("div", {
160
+ css: (0, _react2.css)`height: 24px;`,
161
+ ref: idx === state.focusedTabIdx ? focusedTabRef : undefined
162
+ }, (0, _react2.jsx)(TabTitleButton, {
163
+ interactive: idx !== state.focusedTabIdx,
164
+ minimal: idx !== state.focusedTabIdx,
165
+ onRemove: evt => {
166
+ dispatch({
167
+ type: 'close-tab',
168
+ payload: {
169
+ idx
170
+ }
171
+ });
172
+ evt.stopPropagation();
173
+ }
174
+ }, (0, _react2.jsx)(_detail.DetailTabTitle, {
175
+ uri: uri
176
+ })))
177
+ }))));
178
+ };
179
+
180
+ const TabTitleButton = (0, _styled.default)(_core.Tag)`
181
+ border-radius: 0;
182
+ height: 24px;
183
+ padding: 0 8px;
184
+ color: ${({
185
+ minimal
186
+ }) => minimal ? _core.Colors.WHITE : _core.Colors.BLACK} !important;
187
+
188
+ .bp4-tag-remove {
189
+ color: ${({
190
+ minimal
191
+ }) => minimal ? _core.Colors.WHITE : _core.Colors.BLACK} !important;
192
+ opacity: .5;
193
+ &:hover {
194
+ opacity: 1;
195
+ }
196
+ }
197
+
198
+ ${({
199
+ minimal
200
+ }) => minimal ? '' : `background: ${_core.Colors.LIGHT_GRAY3}`} !important;
201
+ box-shadow: unset;
202
+ `;
203
+ var _default = TabbedWorkspace;
204
+ exports.default = _default;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/widgets/TabbedWorkspace/index.tsx"],"names":[],"mappings":"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","sourcesContent":["/** @jsx jsx */\n/** @jsxFrag React.Fragment */\n\nimport React, { useContext, useEffect, useRef, useState, useMemo } from 'react';\nimport { Helmet } from 'react-helmet';\nimport { jsx, css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { Tag, Colors, Tab, Tabs } from '@blueprintjs/core';\nimport Workspace, { WorkspaceProps } from '../Workspace';\nimport { SuperSidebarConfig } from './types';\nimport { SPECIAL_TAB_IDX, TabbedWorkspaceContext } from './context';\nimport { DetailTab, DetailTabTitle } from './detail';\nimport SuperSidebar from './SuperSidebar';\n\n\n/**\n * Wraps Workspace, adding tabbed GUI features.\n * Use inside TabbedWorkspaceContextProvider.\n */\nexport interface TabbedWorkspaceProps<SidebarID extends string> {\n /**\n * Configuration for individual sidebars, keyed by internal sidebar ID.\n * If there is more than one sidebar, sidebar selector is shown.\n */\n sidebarConfig: SuperSidebarConfig<SidebarID>\n\n /**\n * Sidebar IDs as a list. This is used to order sidebars.\n * TODO: Eliminate in favor of using weights or another way of ordering?\n */\n sidebarIDs: readonly SidebarID[]\n\n /**\n * “Home” view shown by default when there are no tabs\n * or when explicitly invoked by the user.\n */\n newTabPrompt: JSX.Element\n\n /** Set global mode bar for the workspace. */\n globalMode?: WorkspaceProps['globalMode']\n\n /** Set the status bar for the workspace. */\n statusBar?: WorkspaceProps['statusBar']\n\n className?: string\n}\nconst TabbedWorkspace: React.VoidFunctionComponent<TabbedWorkspaceProps<any>> =\nfunction ({\n sidebarConfig,\n sidebarIDs,\n newTabPrompt,\n globalMode,\n statusBar,\n className,\n}) {\n const { state, dispatch, protocolConfiguration, focusedTabURI } = useContext(TabbedWorkspaceContext);\n const focusedTabRef = useRef<HTMLDivElement>(null);\n const [title, setTitle] = useState<string | null>(null);\n\n useEffect(() => {\n (async () => {\n if (focusedTabURI) {\n const [proto, path] = focusedTabURI.split(':');\n const title = await protocolConfiguration[proto]?.plainTitle?.(path);\n if (title) {\n setTitle(title);\n } else {\n setTitle(null);\n }\n } else {\n setTitle(null);\n }\n })();\n }, [focusedTabURI, JSON.stringify(protocolConfiguration)]);\n\n useEffect(() => {\n if (state.focusedTabIdx >= 0) {\n focusedTabRef.current?.scrollIntoView();\n }\n }, [state.focusedTabIdx]);\n\n const sidebar = useMemo(() => {\n return <SuperSidebar\n config={sidebarConfig}\n sidebarIDs={sidebarIDs}\n selectedSidebarID={sidebarIDs.length > 1\n ? state.selectedSidebarID\n : sidebarIDs[0]}\n onSelectSidebar={sidebarIDs.length > 1\n ? id => dispatch({ type: 'focus-sidebar', payload: { id } })\n : undefined}\n />\n }, [JSON.stringify(sidebarConfig), JSON.stringify(sidebarIDs), state.selectedSidebarID]);\n\n return (\n <Workspace className={className} sidebar={sidebar} globalMode={globalMode} statusBar={statusBar}>\n <Tabs\n id=\"detailTabs\"\n renderActiveTabPanelOnly\n selectedTabId={state.focusedTabIdx}\n onChange={(idx: number, oldIdx: number) => dispatch({ type: 'focus-tab', payload: { idx } })}\n css={css`\n background: ${Colors.LIGHT_GRAY2};\n flex: 1;\n display: flex;\n flex-flow: column nowrap;\n\n position: relative;\n\n .bp4-tab-list {\n overflow-x: auto;\n height: 24px;\n position: relative;\n\n background: ${Colors.GRAY1};\n\n /* Accommodate the new tab button, absolutely positioned */\n white-space: nowrap;\n\n /* Remove spacing between tabs */\n > *:not(:last-child) {\n margin-right: 2px;\n }\n\n /* Hide horizontal scrollbar (overlaps with tab titles on macOS) */\n ::-webkit-scrollbar {\n height: 0px;\n background: transparent;\n }\n }\n .bp4-tab-indicator { display: none; }\n .bp4-tab {\n line-height: unset;\n position: unset;\n display: inline-block;\n overflow: visible;\n }\n .bp4-tab-panel {\n flex: 1;\n margin: 0;\n padding: 5px;\n position: relative;\n background: ${Colors.LIGHT_GRAY3};\n }\n `}>\n {title\n ? <Helmet>\n <title>{title}</title>\n </Helmet>\n : null}\n <Tab\n id={SPECIAL_TAB_IDX.new}\n title={\n <TabTitleButton\n minimal={state.focusedTabIdx !== SPECIAL_TAB_IDX.new}\n icon=\"home\">\n Home\n </TabTitleButton>\n }\n panel={newTabPrompt}\n />\n {(state.detailTabURIs ?? []).map((uri, idx) =>\n <Tab\n id={idx}\n key={uri}\n panel={<DetailTab uri={uri} />}\n title={\n <div css={css`height: 24px;`} ref={idx === state.focusedTabIdx ? focusedTabRef : undefined}>\n <TabTitleButton\n interactive={idx !== state.focusedTabIdx}\n minimal={idx !== state.focusedTabIdx}\n onRemove={(evt: React.MouseEvent) => {\n dispatch({ type: 'close-tab', payload: { idx }});\n evt.stopPropagation();\n }}>\n <DetailTabTitle uri={uri} />\n </TabTitleButton>\n </div>\n }\n />\n )}\n </Tabs>\n </Workspace>\n );\n};\n\n\nconst TabTitleButton = styled(Tag)`\n border-radius: 0;\n height: 24px;\n padding: 0 8px;\n color: ${({ minimal }) => minimal ? Colors.WHITE : Colors.BLACK} !important;\n\n .bp4-tag-remove {\n color: ${({ minimal }) => minimal ? Colors.WHITE : Colors.BLACK} !important;\n opacity: .5;\n &:hover {\n opacity: 1;\n }\n }\n\n ${({ minimal }) => minimal ? '' : `background: ${Colors.LIGHT_GRAY3}`} !important;\n box-shadow: unset;\n`;\n\n\nexport default TabbedWorkspace;\n"]}
@@ -0,0 +1,74 @@
1
+ import type React from 'react';
2
+ import { SidebarBlockConfig } from '../Sidebar/Block';
3
+ export declare type URIDetailView = React.FC<{
4
+ uri: string;
5
+ }>;
6
+ export interface ProtocolConfig {
7
+ main: URIDetailView;
8
+ title: URIDetailView;
9
+ /**
10
+ * Provides plain-text title.
11
+ *
12
+ * Do not use. For window titles, prefer using <Helmet> in your component
13
+ * directly.
14
+ */
15
+ plainTitle?: (uri: string) => Promise<string>;
16
+ }
17
+ /** Defines which React components should be used for which protocol among tabs. */
18
+ export declare type ProtocolRegistry<Protocol extends string> = Record<Protocol, ProtocolConfig>;
19
+ interface SidebarConfig {
20
+ icon: React.FC<Record<never, never>>;
21
+ title: JSX.Element | string;
22
+ blocks: SidebarBlockConfig[];
23
+ description?: string;
24
+ }
25
+ export declare type SuperSidebarConfig<SidebarID extends string> = Record<SidebarID, SidebarConfig>;
26
+ export declare type TabbedWorkspaceContext<Proto extends string, SidebarID extends string> = {
27
+ /** The URI of currently focused tab. */
28
+ focusedTabURI?: string;
29
+ /** Navigates currently focused tab to a new URI. */
30
+ navigateFocusedTab?: (newURI: string) => void;
31
+ /** Spawns a new tab with specified URI */
32
+ spawnTab: (uri: string) => void;
33
+ protocolConfiguration: ProtocolRegistry<Proto>;
34
+ state: State<SidebarID>;
35
+ dispatch: React.Dispatch<Action<SidebarID>>;
36
+ };
37
+ export interface State<SidebarID extends string> {
38
+ detailTabURIs: string[];
39
+ focusedTabIdx: number;
40
+ selectedSidebarID: SidebarID;
41
+ }
42
+ export declare type Action<SidebarID extends string> = {
43
+ type: 'spawn-tab';
44
+ payload: {
45
+ uri: string;
46
+ };
47
+ } | {
48
+ type: 'focus-tab';
49
+ payload: {
50
+ idx: number;
51
+ };
52
+ } | {
53
+ type: 'navigate-focused-tab';
54
+ payload: {
55
+ uri: string;
56
+ };
57
+ } | {
58
+ type: 'move-tab';
59
+ payload: {
60
+ sourceIdx: number;
61
+ destinationIdx: number;
62
+ };
63
+ } | {
64
+ type: 'close-tab';
65
+ payload: {
66
+ idx: number;
67
+ };
68
+ } | {
69
+ type: 'focus-sidebar';
70
+ payload: {
71
+ id: SidebarID;
72
+ };
73
+ };
74
+ export {};
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/widgets/TabbedWorkspace/types.ts"],"names":[],"mappings":"","sourcesContent":["import type React from 'react';\nimport { SidebarBlockConfig } from '../Sidebar/Block';\n\n\n// Detail view protocols\n\nexport type URIDetailView = React.FC<{ uri: string }>;\n\nexport interface ProtocolConfig {\n main: URIDetailView\n title: URIDetailView\n\n /**\n * Provides plain-text title.\n *\n * Do not use. For window titles, prefer using <Helmet> in your component\n * directly.\n */\n plainTitle?: (uri: string) => Promise<string>\n}\n\n/** Defines which React components should be used for which protocol among tabs. */\nexport type ProtocolRegistry<Protocol extends string> = Record<Protocol, ProtocolConfig>;\n\n\n// Sidebars\n\ninterface SidebarConfig {\n icon: React.FC<Record<never, never>>\n title: JSX.Element | string\n blocks: SidebarBlockConfig[]\n description?: string\n}\n\nexport type SuperSidebarConfig<SidebarID extends string> = Record<SidebarID, SidebarConfig>;\n\n\n// Workspace\n\nexport type TabbedWorkspaceContext<Proto extends string, SidebarID extends string> = {\n /** The URI of currently focused tab. */\n focusedTabURI?: string\n\n /** Navigates currently focused tab to a new URI. */\n navigateFocusedTab?: (newURI: string) => void\n\n /** Spawns a new tab with specified URI */\n spawnTab: (uri: string) => void\n\n protocolConfiguration: ProtocolRegistry<Proto>,\n\n state: State<SidebarID>\n dispatch: React.Dispatch<Action<SidebarID>>\n};\n\n\n// Reducer-related types\n\nexport interface State<SidebarID extends string> {\n detailTabURIs: string[]\n focusedTabIdx: number\n selectedSidebarID: SidebarID\n}\n\nexport type Action<SidebarID extends string> =\n | { type: 'spawn-tab'; payload: { uri: string } }\n | { type: 'focus-tab'; payload: { idx: number } }\n | { type: 'navigate-focused-tab'; payload: { uri: string } }\n | { type: 'move-tab'; payload: { sourceIdx: number, destinationIdx: number } }\n | { type: 'close-tab'; payload: { idx: number } }\n | { type: 'focus-sidebar'; payload: { id: SidebarID } }\n"]}
@@ -0,0 +1 @@
1
+ export declare function getPathFromTabURI(uri: string): string | undefined;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getPathFromTabURI = getPathFromTabURI;
7
+
8
+ function getPathFromTabURI(uri) {
9
+ if (uri.indexOf(':') >= 1) {
10
+ return uri.split(':')[1];
11
+ } else {
12
+ throw new Error("getPathFromTabURI: Invalid URI (doesn’t contain a colon)");
13
+ }
14
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/widgets/TabbedWorkspace/util.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACzB,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;KAC1B;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;KAC7E;AACH,CAAC","sourcesContent":["export function getPathFromTabURI(uri: string): string | undefined {\n if (uri.indexOf(':') >= 1) {\n return uri.split(':')[1];\n } else {\n throw new Error(\"getPathFromTabURI: Invalid URI (doesn’t contain a colon)\");\n }\n}\n"]}
@@ -0,0 +1,38 @@
1
+ /** @jsx jsx */
2
+ /** @jsxFrag React.Fragment */
3
+ import React from 'react';
4
+ import { TagProps } from '@blueprintjs/core';
5
+ import { NavbarProps } from './Navbar';
6
+ /**
7
+ * Workspace has a main area, a sidebar,
8
+ * and a status bar with item count & possibly refresh & other actions.
9
+ */
10
+ export interface WorkspaceProps {
11
+ /** What to show in the sidebar. */
12
+ sidebar?: JSX.Element;
13
+ /** Global mode bar. Use sparingly. */
14
+ globalMode?: {
15
+ content: JSX.Element;
16
+ intent: TagProps["intent"];
17
+ icon?: TagProps["icon"];
18
+ onClick?: () => void;
19
+ };
20
+ navbarProps?: NavbarProps;
21
+ toolbar?: JSX.Element;
22
+ /** Status bar, shown on the bottom. Should not be turned on or off willy-nilly. */
23
+ statusBar?: {
24
+ content: JSX.Element;
25
+ items?: never;
26
+ } | {
27
+ content?: never;
28
+ items: {
29
+ id: string;
30
+ content: JSX.Element;
31
+ flex?: true;
32
+ }[];
33
+ };
34
+ className?: string;
35
+ style?: React.CSSProperties;
36
+ }
37
+ declare const Workspace: React.FC<WorkspaceProps>;
38
+ export default Workspace;
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = require("@emotion/react");
9
+
10
+ var _styled = _interopRequireDefault(require("@emotion/styled"));
11
+
12
+ var _react2 = require("react");
13
+
14
+ var _core = require("@blueprintjs/core");
15
+
16
+ var _Navbar = _interopRequireDefault(require("./Navbar"));
17
+
18
+ var _SettingsContext = require("../SettingsContext");
19
+
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
+
22
+ /** @jsx jsx */
23
+
24
+ /** @jsxFrag React.Fragment */
25
+ const Workspace = function ({
26
+ navbarProps,
27
+ globalMode,
28
+ toolbar,
29
+ sidebar,
30
+ statusBar,
31
+ className,
32
+ style,
33
+ children
34
+ }) {
35
+ var _a, _b;
36
+
37
+ const {
38
+ settings
39
+ } = (0, _react2.useContext)(_SettingsContext.GlobalSettingsContext);
40
+ return (0, _react.jsx)("div", {
41
+ css: (0, _react.css)`
42
+ display: flex;
43
+ flex-flow: column nowrap;
44
+ overflow: hidden;
45
+ background: ${_core.Colors.LIGHT_GRAY2};
46
+ margin-top: ${globalMode ? '0' : '-20px'};
47
+ `,
48
+ className: className,
49
+ style: style
50
+ }, (0, _react.jsx)(Bar, {
51
+ css: (0, _react.css)`
52
+ position: relative;
53
+ opacity: ${globalMode ? '1' : '0'};
54
+ transition: opacity .8s;
55
+ `,
56
+ interactive: (globalMode === null || globalMode === void 0 ? void 0 : globalMode.onClick) !== undefined,
57
+ onClick: globalMode === null || globalMode === void 0 ? void 0 : globalMode.onClick,
58
+ icon: globalMode === null || globalMode === void 0 ? void 0 : globalMode.icon,
59
+ intent: globalMode === null || globalMode === void 0 ? void 0 : globalMode.intent
60
+ }, (_a = globalMode === null || globalMode === void 0 ? void 0 : globalMode.content) !== null && _a !== void 0 ? _a : ' '), (0, _react.jsx)("div", {
61
+ css: (0, _react.css)`flex: 1; display: flex; flex-flow: ${settings.sidebarPosition === 'right' ? 'row' : 'row-reverse'} nowrap; overflow: hidden;`
62
+ }, (0, _react.jsx)("div", {
63
+ css: (0, _react.css)`flex: 1; display: flex; flex-flow: column nowrap; overflow: hidden;`
64
+ }, navbarProps ? (0, _react.jsx)("div", {
65
+ css: (0, _react.css)`
66
+ display: flex; flex-flow: row nowrap; align-items: center;
67
+ background: linear-gradient(to bottom, ${_core.Colors.LIGHT_GRAY5}, ${_core.Colors.LIGHT_GRAY4});
68
+ height: 24px;
69
+ overflow: hidden;
70
+ z-index: 5;
71
+ `,
72
+ className: _core.Classes.ELEVATION_2
73
+ }, (0, _react.jsx)(_Navbar.default, Object.assign({
74
+ css: (0, _react.css)`flex: 1;`
75
+ }, navbarProps))) : null, toolbar ? (0, _react.jsx)("div", {
76
+ css: (0, _react.css)`
77
+ display: flex; flex-flow: row nowrap; align-items: center;
78
+ background: ${_core.Colors.LIGHT_GRAY3};
79
+ height: 24px;
80
+ overflow: hidden;
81
+ z-index: 1;
82
+ `,
83
+ className: _core.Classes.ELEVATION_1
84
+ }, toolbar) : null, (0, _react.jsx)("div", {
85
+ css: (0, _react.css)`flex: 1; display: flex; flex-flow: column nowrap;`
86
+ }, children)), sidebar), statusBar ? (0, _react.jsx)(Bar, {
87
+ className: _core.Classes.ELEVATION_2,
88
+ css: (0, _react.css)`display: flex; flex-flow: row nowrap; align-items: stretch; background: ${_core.Colors.LIGHT_GRAY1}; color: ${_core.Colors.GRAY2};`
89
+ }, (_b = statusBar.content) !== null && _b !== void 0 ? _b : statusBar.items.map(i => (0, _react.jsx)("span", {
90
+ key: i.id,
91
+ css: (0, _react.css)`${i.flex ? 'flex: 1;' : 'flex: 0;'}`
92
+ }, i.content))) : null);
93
+ };
94
+
95
+ const Bar = (0, _styled.default)(_core.Tag)`
96
+ border-radius: 0;
97
+ `;
98
+ var _default = Workspace;
99
+ exports.default = _default;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Workspace.js","sourceRoot":"","sources":["../../src/widgets/Workspace.tsx"],"names":[],"mappings":"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","sourcesContent":["/** @jsx jsx */\n/** @jsxFrag React.Fragment */\n\nimport { jsx, css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport React, { useContext } from 'react';\nimport { Classes, Colors, TagProps, Tag } from '@blueprintjs/core';\nimport Navbar, { NavbarProps }from './Navbar';\nimport { GlobalSettingsContext } from '../SettingsContext';\n\n\n/**\n * Workspace has a main area, a sidebar,\n * and a status bar with item count & possibly refresh & other actions.\n */\nexport interface WorkspaceProps {\n /** What to show in the sidebar. */\n sidebar?: JSX.Element\n\n /** Global mode bar. Use sparingly. */\n globalMode?: {\n content: JSX.Element\n intent: TagProps[\"intent\"]\n icon?: TagProps[\"icon\"]\n onClick?: () => void\n }\n\n // These may be obsolete.\n navbarProps?: NavbarProps\n toolbar?: JSX.Element\n\n /** Status bar, shown on the bottom. Should not be turned on or off willy-nilly. */\n statusBar?:\n | { content: JSX.Element, items?: never }\n | { content?: never, items: { id: string, content: JSX.Element, flex?: true }[] }\n\n className?: string\n style?: React.CSSProperties\n}\nconst Workspace: React.FC<WorkspaceProps> = function ({\n navbarProps,\n globalMode,\n toolbar,\n sidebar,\n statusBar,\n className,\n style,\n children,\n}) {\n const { settings } = useContext(GlobalSettingsContext);\n\n return (\n <div\n css={css`\n display: flex;\n flex-flow: column nowrap;\n overflow: hidden;\n background: ${Colors.LIGHT_GRAY2};\n margin-top: ${globalMode ? '0' : '-20px'};\n `}\n className={className}\n style={style}>\n <Bar\n css={css`\n position: relative;\n opacity: ${globalMode ? '1' : '0'};\n transition: opacity .8s;\n `}\n interactive={globalMode?.onClick !== undefined}\n onClick={globalMode?.onClick}\n icon={globalMode?.icon}\n intent={globalMode?.intent}>\n {globalMode?.content ?? ' '}\n </Bar>\n <div css={css`flex: 1; display: flex; flex-flow: ${settings.sidebarPosition === 'right' ? 'row' : 'row-reverse'} nowrap; overflow: hidden;`}>\n <div css={css`flex: 1; display: flex; flex-flow: column nowrap; overflow: hidden;`}>\n {navbarProps\n ? <div\n css={css`\n display: flex; flex-flow: row nowrap; align-items: center;\n background: linear-gradient(to bottom, ${Colors.LIGHT_GRAY5}, ${Colors.LIGHT_GRAY4});\n height: 24px;\n overflow: hidden;\n z-index: 5;\n `}\n className={Classes.ELEVATION_2}>\n <Navbar css={css`flex: 1;`} {...navbarProps} />\n </div>\n : null}\n\n {toolbar\n ? <div\n css={css`\n display: flex; flex-flow: row nowrap; align-items: center;\n background: ${Colors.LIGHT_GRAY3};\n height: 24px;\n overflow: hidden;\n z-index: 1;\n `}\n className={Classes.ELEVATION_1}>\n {toolbar}\n </div>\n : null}\n\n <div css={css`flex: 1; display: flex; flex-flow: column nowrap;`}>\n {children}\n </div>\n </div>\n\n {sidebar}\n </div>\n\n {statusBar\n ? <Bar className={Classes.ELEVATION_2} css={css`display: flex; flex-flow: row nowrap; align-items: stretch; background: ${Colors.LIGHT_GRAY1}; color: ${Colors.GRAY2};`}>\n {statusBar.content ?? statusBar.items.map(i =>\n <span key={i.id} css={css`${i.flex ? 'flex: 1;' : 'flex: 0;'}`}>\n {i.content}\n </span>\n )}\n </Bar>\n : null}\n </div>\n );\n}\n\nconst Bar = styled(Tag)`\n border-radius: 0;\n`;\n\n\nexport default Workspace;\n"]}
@@ -0,0 +1,12 @@
1
+ /** @jsx jsx */
2
+ /** @jsxFrag React.Fragment */
3
+ import React from 'react';
4
+ interface PanelSeparatorProps {
5
+ title?: JSX.Element | string;
6
+ /** Has no effect if the `title` prop is omitted. */
7
+ tooltip?: JSX.Element | string;
8
+ className?: string;
9
+ titleStyle?: React.CSSProperties;
10
+ }
11
+ export declare const PanelSeparator: React.FC<PanelSeparatorProps>;
12
+ export default PanelSeparator;
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.PanelSeparator = void 0;
7
+
8
+ var _react = require("@emotion/react");
9
+
10
+ var _react2 = _interopRequireDefault(require("react"));
11
+
12
+ var _core = require("@blueprintjs/core");
13
+
14
+ var _styled = _interopRequireDefault(require("@emotion/styled"));
15
+
16
+ var _HelpTooltip = _interopRequireDefault(require("../HelpTooltip"));
17
+
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
+
20
+ /** @jsx jsx */
21
+
22
+ /** @jsxFrag React.Fragment */
23
+ const PanelSeparator = function ({
24
+ title,
25
+ tooltip,
26
+ className,
27
+ titleStyle
28
+ }) {
29
+ return title ? (0, _react.jsx)(StyledHeader, {
30
+ style: titleStyle
31
+ }, title, tooltip ? (0, _react.jsx)(_react2.default.Fragment, null, "\u2002", (0, _react.jsx)(_HelpTooltip.default, {
32
+ content: tooltip,
33
+ iconSize: 10
34
+ })) : null) : (0, _react.jsx)("hr", {
35
+ css: (0, _react.css)`
36
+ border-color: ${_core.Colors.LIGHT_GRAY4};
37
+ border-style: solid;
38
+ width: 100%;
39
+ `,
40
+ className: className
41
+ });
42
+ };
43
+
44
+ exports.PanelSeparator = PanelSeparator;
45
+ const StyledHeader = (0, _styled.default)(_core.H6)`
46
+ color: ${_core.Colors.GRAY3};
47
+ display: inline-block;
48
+ padding: 2px 5px;
49
+ margin-top: .5em;
50
+ font-weight: bold;
51
+ text-transform: uppercase;
52
+ font-size: 10px !important;
53
+ line-height: 1.2;
54
+ letter-spacing: -.04em;
55
+ `;
56
+ var _default = PanelSeparator;
57
+ exports.default = _default;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PanelSeparator.js","sourceRoot":"","sources":["../../../src/widgets/panels/PanelSeparator.tsx"],"names":[],"mappings":"AAAA,eAAe;AACf,8BAA8B;AAE9B,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,WAAW,MAAM,gBAAgB,CAAC;AAYzC,MAAM,CAAC,MAAM,cAAc,GAC3B,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE;IACjD,OAAO,CAAC,KAAK;QACX,CAAC,CAAC,IAAC,YAAY,IAAC,KAAK,EAAE,UAAU;YAC5B,KAAK;YACL,OAAO;gBACN,CAAC,CAAC;;oBAEE,IAAC,WAAW,IAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,GAAI,CAC9C;gBACL,CAAC,CAAC,IAAI,CACK;QACjB,CAAC,CAAC,YACE,GAAG,EAAE,GAAG,CAAA;0BACU,MAAM,CAAC,WAAW;;;SAGnC,EACD,SAAS,EAAE,SAAS,GACpB,CAAC,CAAC;AACV,CAAC,CAAC;AAGF,MAAM,YAAY,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;WACpB,MAAM,CAAC,KAAK;;;;;;;;;CAStB,CAAC;AAGF,eAAe,cAAc,CAAC","sourcesContent":["/** @jsx jsx */\n/** @jsxFrag React.Fragment */\n\nimport { jsx, css } from '@emotion/react';\nimport React from 'react';\nimport { Colors, H6 } from '@blueprintjs/core';\nimport styled from '@emotion/styled';\nimport HelpTooltip from '../HelpTooltip';\n\n\ninterface PanelSeparatorProps {\n title?: JSX.Element | string\n\n /** Has no effect if the `title` prop is omitted. */\n tooltip?: JSX.Element | string\n\n className?: string\n titleStyle?: React.CSSProperties\n}\nexport const PanelSeparator: React.FC<PanelSeparatorProps> =\nfunction ({ title, tooltip, className, titleStyle }) {\n return (title\n ? <StyledHeader style={titleStyle}>\n {title}\n {tooltip\n ? <>\n &ensp;\n <HelpTooltip content={tooltip} iconSize={10} />\n </>\n : null}\n </StyledHeader>\n : <hr\n css={css`\n border-color: ${Colors.LIGHT_GRAY4};\n border-style: solid;\n width: 100%;\n `}\n className={className}\n />);\n};\n\n\nconst StyledHeader = styled(H6)`\n color: ${Colors.GRAY3};\n display: inline-block;\n padding: 2px 5px;\n margin-top: .5em;\n font-weight: bold;\n text-transform: uppercase;\n font-size: 10px !important;\n line-height: 1.2;\n letter-spacing: -.04em;\n`;\n\n\nexport default PanelSeparator;\n"]}
@@ -0,0 +1,28 @@
1
+ /** @jsx jsx */
2
+ /** @jsxFrag React.Fragment */
3
+ import React from 'react';
4
+ import { IconName } from '@blueprintjs/icons';
5
+ export declare const PanelContext: React.Context<{
6
+ state: any;
7
+ setState: (opts: any) => void;
8
+ }>;
9
+ export interface PanelProps {
10
+ contentsRef?: (el: HTMLDivElement) => void;
11
+ title?: string;
12
+ TitleComponent?: React.FC<{
13
+ isCollapsed?: boolean;
14
+ }>;
15
+ TitleComponentSecondary?: React.FC<{
16
+ isCollapsed?: boolean;
17
+ }>;
18
+ children: React.ReactNode;
19
+ isCollapsible?: true;
20
+ isCollapsedByDefault?: true;
21
+ className?: string;
22
+ collapsedClassName?: string;
23
+ titleBarClassName?: string;
24
+ contentsClassName?: string;
25
+ iconCollapsed?: IconName;
26
+ iconExpanded?: IconName;
27
+ }
28
+ export declare const Panel: React.ForwardRefExoticComponent<PanelProps & React.RefAttributes<HTMLDivElement>>;