@riboseinc/paneron-registry-kit 2.0.0 → 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 (503) hide show
  1. package/LICENSE +21 -0
  2. package/README.adoc +35 -0
  3. package/compiled/common.js +2 -0
  4. package/compiled/index.js +21 -0
  5. package/compiled/migrations/initial.js +8 -0
  6. package/compiled/types/cr.js +131 -0
  7. package/compiled/types/index.js +8 -0
  8. package/compiled/types/item.js +22 -0
  9. package/compiled/types/proposal.js +21 -0
  10. package/compiled/types/register.js +25 -0
  11. package/compiled/types/registry.js +10 -0
  12. package/compiled/types/stakeholder.js +34 -0
  13. package/compiled/types/util.js +3 -0
  14. package/compiled/types/views.js +2 -0
  15. package/compiled/views/AnnotatedChange.js +57 -0
  16. package/compiled/views/BrowserCtx.js +19 -0
  17. package/compiled/views/FilterCriteria/CRITERIA_CONFIGURATION.js +110 -0
  18. package/compiled/views/FilterCriteria/criteriaGroupToQueryExpression.js +40 -0
  19. package/compiled/views/FilterCriteria/criteriaGroupToSummary.js +47 -0
  20. package/compiled/views/FilterCriteria/criteriaToNodes.js +89 -0
  21. package/compiled/views/FilterCriteria/index.js +75 -0
  22. package/compiled/views/FilterCriteria/models.js +28 -0
  23. package/compiled/views/FilterCriteria/mutateGroup.js +53 -0
  24. package/compiled/views/GenericRelatedItemView.js +147 -0
  25. package/compiled/views/RegisterStakeholder.js +19 -0
  26. package/compiled/views/RegisterVersion.js +20 -0
  27. package/compiled/views/SearchQuery.js +58 -0
  28. package/compiled/views/change-request/ChangeRequestContext.js +30 -0
  29. package/compiled/views/change-request/Proposals.js +185 -0
  30. package/compiled/views/change-request/objectChangeset.js +189 -0
  31. package/compiled/views/detail/ChangeRequest/Proposal.js +144 -0
  32. package/compiled/views/detail/ChangeRequest/index.js +140 -0
  33. package/compiled/views/detail/ChangeRequest/transitions.js +418 -0
  34. package/compiled/views/detail/CustomView/index.js +32 -0
  35. package/compiled/views/detail/RegisterHome/index.js +70 -0
  36. package/compiled/views/detail/RegisterItem/RelatedItems.d.ts +14 -0
  37. package/compiled/views/detail/RegisterItem/RelatedItems.js +28 -0
  38. package/compiled/views/detail/RegisterItem/RelatedItems.js.map +1 -0
  39. package/compiled/views/detail/RegisterItem/SupersedingItemMenu.js +27 -0
  40. package/compiled/views/detail/RegisterItem/index.js +277 -0
  41. package/compiled/views/detail/RegisterItem/index.js.map +1 -0
  42. package/compiled/views/detail/RegisterMeta/RegisterMetaForm.js +135 -0
  43. package/compiled/views/detail/RegisterMeta/index.js +61 -0
  44. package/compiled/views/detail/index.js +11 -0
  45. package/compiled/views/diffing/InlineDiff.js +20 -0
  46. package/compiled/views/diffing/StructuredDiff.js +38 -0
  47. package/compiled/views/hooks/useCustomView.js +14 -0
  48. package/compiled/views/hooks/useItemClassConfig.js +14 -0
  49. package/compiled/views/hooks/useItemRef.js +26 -0
  50. package/compiled/views/hooks/useSingleRegisterItemData.js +21 -0
  51. package/compiled/views/index.js +142 -0
  52. package/compiled/views/itemPathUtils.js +115 -0
  53. package/compiled/views/itemQueryUtils.js +42 -0
  54. package/compiled/views/protocolRegistry.js +24 -0
  55. package/compiled/views/sidebar/Browse/index.js +278 -0
  56. package/compiled/views/sidebar/Export/index.js +47 -0
  57. package/compiled/views/sidebar/ListItem.js +23 -0
  58. package/compiled/views/sidebar/Registration/index.js +114 -0
  59. package/compiled/views/sidebar/Search/index.js +100 -0
  60. package/compiled/views/sidebar/index.js +73 -0
  61. package/compiled/views/util.js +63 -0
  62. package/dependencies-local/extension-kit/SettingsContext.d.ts +8 -0
  63. package/dependencies-local/extension-kit/SettingsContext.js +19 -0
  64. package/dependencies-local/extension-kit/SettingsContext.js.map +1 -0
  65. package/dependencies-local/extension-kit/context.d.ts +11 -0
  66. package/dependencies-local/extension-kit/context.js +133 -0
  67. package/dependencies-local/extension-kit/context.js.map +1 -0
  68. package/dependencies-local/extension-kit/i18n/ContextProvider.d.ts +9 -0
  69. package/dependencies-local/extension-kit/i18n/ContextProvider.js +33 -0
  70. package/dependencies-local/extension-kit/i18n/ContextProvider.js.map +1 -0
  71. package/dependencies-local/extension-kit/i18n/context.d.ts +9 -0
  72. package/dependencies-local/extension-kit/i18n/context.js +23 -0
  73. package/dependencies-local/extension-kit/i18n/context.js.map +1 -0
  74. package/dependencies-local/extension-kit/i18n/types.d.ts +10 -0
  75. package/dependencies-local/extension-kit/i18n/types.js.map +1 -0
  76. package/dependencies-local/extension-kit/i18n/widgets.d.ts +16 -0
  77. package/dependencies-local/extension-kit/i18n/widgets.js +56 -0
  78. package/dependencies-local/extension-kit/i18n/widgets.js.map +1 -0
  79. package/dependencies-local/extension-kit/index.d.ts +3 -0
  80. package/dependencies-local/extension-kit/index.js +78 -0
  81. package/dependencies-local/extension-kit/index.js.map +1 -0
  82. package/dependencies-local/extension-kit/object-specs/index.d.ts +2 -0
  83. package/dependencies-local/extension-kit/object-specs/index.js +22 -0
  84. package/dependencies-local/extension-kit/object-specs/index.js.map +1 -0
  85. package/dependencies-local/extension-kit/object-specs/paneron-object.d.ts +6 -0
  86. package/dependencies-local/extension-kit/object-specs/paneron-object.js +161 -0
  87. package/dependencies-local/extension-kit/object-specs/paneron-object.js.map +1 -0
  88. package/dependencies-local/extension-kit/object-specs/ser-des.d.ts +31 -0
  89. package/dependencies-local/extension-kit/object-specs/ser-des.js +187 -0
  90. package/dependencies-local/extension-kit/object-specs/ser-des.js.map +1 -0
  91. package/dependencies-local/extension-kit/object-specs/yaml/custom-bool.d.ts +2 -0
  92. package/dependencies-local/extension-kit/object-specs/yaml/custom-bool.js +42 -0
  93. package/dependencies-local/extension-kit/object-specs/yaml/custom-bool.js.map +1 -0
  94. package/dependencies-local/extension-kit/object-specs/yaml/custom-timestamp.d.ts +3 -0
  95. package/dependencies-local/extension-kit/object-specs/yaml/custom-timestamp.js +110 -0
  96. package/dependencies-local/extension-kit/object-specs/yaml/custom-timestamp.js.map +1 -0
  97. package/dependencies-local/extension-kit/object-specs/yaml/index.d.ts +9 -0
  98. package/dependencies-local/extension-kit/object-specs/yaml/index.js +36 -0
  99. package/dependencies-local/extension-kit/object-specs/yaml/index.js.map +1 -0
  100. package/dependencies-local/extension-kit/object-specs/yaml/schema.d.ts +3 -0
  101. package/dependencies-local/extension-kit/object-specs/yaml/schema.js +26 -0
  102. package/dependencies-local/extension-kit/object-specs/yaml/schema.js.map +1 -0
  103. package/dependencies-local/extension-kit/package.json +53 -0
  104. package/dependencies-local/extension-kit/settings.d.ts +6 -0
  105. package/dependencies-local/extension-kit/settings.js +11 -0
  106. package/dependencies-local/extension-kit/settings.js.map +1 -0
  107. package/dependencies-local/extension-kit/types/binary-invocation.d.ts +31 -0
  108. package/dependencies-local/extension-kit/types/binary-invocation.js.map +1 -0
  109. package/dependencies-local/extension-kit/types/buffers.d.ts +17 -0
  110. package/dependencies-local/extension-kit/types/buffers.js +5 -0
  111. package/dependencies-local/extension-kit/types/buffers.js.map +1 -0
  112. package/dependencies-local/extension-kit/types/changes.d.ts +37 -0
  113. package/dependencies-local/extension-kit/types/changes.js +5 -0
  114. package/dependencies-local/extension-kit/types/changes.js.map +1 -0
  115. package/dependencies-local/extension-kit/types/data.d.ts +54 -0
  116. package/dependencies-local/extension-kit/types/data.js +5 -0
  117. package/dependencies-local/extension-kit/types/data.js.map +1 -0
  118. package/dependencies-local/extension-kit/types/dialogs.d.ts +15 -0
  119. package/dependencies-local/extension-kit/types/dialogs.js +5 -0
  120. package/dependencies-local/extension-kit/types/dialogs.js.map +1 -0
  121. package/dependencies-local/extension-kit/types/extension-maker.d.ts +17 -0
  122. package/dependencies-local/extension-kit/types/extension-maker.js +5 -0
  123. package/dependencies-local/extension-kit/types/extension-maker.js.map +1 -0
  124. package/dependencies-local/extension-kit/types/extension.d.ts +27 -0
  125. package/dependencies-local/extension-kit/types/extension.js +5 -0
  126. package/dependencies-local/extension-kit/types/extension.js.map +1 -0
  127. package/dependencies-local/extension-kit/types/index.d.ts +3 -0
  128. package/dependencies-local/extension-kit/types/index.js +41 -0
  129. package/dependencies-local/extension-kit/types/index.js.map +1 -0
  130. package/dependencies-local/extension-kit/types/indexes.d.ts +6 -0
  131. package/dependencies-local/extension-kit/types/indexes.js +15 -0
  132. package/dependencies-local/extension-kit/types/indexes.js.map +1 -0
  133. package/dependencies-local/extension-kit/types/migrations.d.ts +15 -0
  134. package/dependencies-local/extension-kit/types/migrations.js +5 -0
  135. package/dependencies-local/extension-kit/types/migrations.js.map +1 -0
  136. package/dependencies-local/extension-kit/types/object-spec.d.ts +108 -0
  137. package/dependencies-local/extension-kit/types/object-spec.js +23 -0
  138. package/dependencies-local/extension-kit/types/object-spec.js.map +1 -0
  139. package/dependencies-local/extension-kit/types/objects.d.ts +18 -0
  140. package/dependencies-local/extension-kit/types/objects.js +5 -0
  141. package/dependencies-local/extension-kit/types/objects.js.map +1 -0
  142. package/dependencies-local/extension-kit/types/progress.d.ts +5 -0
  143. package/dependencies-local/extension-kit/types/progress.js +5 -0
  144. package/dependencies-local/extension-kit/types/progress.js.map +1 -0
  145. package/dependencies-local/extension-kit/types/renderer.d.ts +495 -0
  146. package/dependencies-local/extension-kit/types/renderer.js +5 -0
  147. package/dependencies-local/extension-kit/types/renderer.js.map +1 -0
  148. package/dependencies-local/extension-kit/useDebounce.d.ts +2 -0
  149. package/dependencies-local/extension-kit/useDebounce.js +27 -0
  150. package/dependencies-local/extension-kit/useDebounce.js.map +1 -0
  151. package/dependencies-local/extension-kit/usePersistentStateReducer.d.ts +35 -0
  152. package/dependencies-local/extension-kit/usePersistentStateReducer.js +91 -0
  153. package/dependencies-local/extension-kit/usePersistentStateReducer.js.map +1 -0
  154. package/dependencies-local/extension-kit/useTimeTravelingPersistentStateReducer.d.ts +48 -0
  155. package/dependencies-local/extension-kit/useTimeTravelingPersistentStateReducer.js +116 -0
  156. package/dependencies-local/extension-kit/useTimeTravelingPersistentStateReducer.js.map +1 -0
  157. package/dependencies-local/extension-kit/util.d.ts +8 -0
  158. package/dependencies-local/extension-kit/util.js +21 -0
  159. package/dependencies-local/extension-kit/util.js.map +1 -0
  160. package/dependencies-local/extension-kit/widgets/ErrorState.d.ts +8 -0
  161. package/dependencies-local/extension-kit/widgets/ErrorState.js +44 -0
  162. package/dependencies-local/extension-kit/widgets/ErrorState.js.map +1 -0
  163. package/dependencies-local/extension-kit/widgets/Grid.d.ts +41 -0
  164. package/dependencies-local/extension-kit/widgets/Grid.js +213 -0
  165. package/dependencies-local/extension-kit/widgets/Grid.js.map +1 -0
  166. package/dependencies-local/extension-kit/widgets/HelpTooltip.d.ts +18 -0
  167. package/dependencies-local/extension-kit/widgets/HelpTooltip.js +84 -0
  168. package/dependencies-local/extension-kit/widgets/HelpTooltip.js.map +1 -0
  169. package/dependencies-local/extension-kit/widgets/ItemCount.d.ts +19 -0
  170. package/dependencies-local/extension-kit/widgets/ItemCount.js +78 -0
  171. package/dependencies-local/extension-kit/widgets/ItemCount.js.map +1 -0
  172. package/dependencies-local/extension-kit/widgets/List.d.ts +40 -0
  173. package/dependencies-local/extension-kit/widgets/List.js +191 -0
  174. package/dependencies-local/extension-kit/widgets/List.js.map +1 -0
  175. package/dependencies-local/extension-kit/widgets/Navbar.d.ts +20 -0
  176. package/dependencies-local/extension-kit/widgets/Navbar.js +75 -0
  177. package/dependencies-local/extension-kit/widgets/Navbar.js.map +1 -0
  178. package/dependencies-local/extension-kit/widgets/SearchResultList.d.ts +24 -0
  179. package/dependencies-local/extension-kit/widgets/SearchResultList.js +201 -0
  180. package/dependencies-local/extension-kit/widgets/SearchResultList.js.map +1 -0
  181. package/dependencies-local/extension-kit/widgets/Sidebar/Block.d.ts +21 -0
  182. package/dependencies-local/extension-kit/widgets/Sidebar/Block.js +94 -0
  183. package/dependencies-local/extension-kit/widgets/Sidebar/Block.js.map +1 -0
  184. package/dependencies-local/extension-kit/widgets/Sidebar/BlockStateButtonGroup.d.ts +6 -0
  185. package/dependencies-local/extension-kit/widgets/Sidebar/BlockStateButtonGroup.js +22 -0
  186. package/dependencies-local/extension-kit/widgets/Sidebar/BlockStateButtonGroup.js.map +1 -0
  187. package/dependencies-local/extension-kit/widgets/Sidebar/PropertyView.d.ts +28 -0
  188. package/dependencies-local/extension-kit/widgets/Sidebar/PropertyView.js +148 -0
  189. package/dependencies-local/extension-kit/widgets/Sidebar/PropertyView.js.map +1 -0
  190. package/dependencies-local/extension-kit/widgets/Sidebar/index.d.ts +27 -0
  191. package/dependencies-local/extension-kit/widgets/Sidebar/index.js +178 -0
  192. package/dependencies-local/extension-kit/widgets/Sidebar/index.js.map +1 -0
  193. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/SuperSidebar.d.ts +13 -0
  194. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/SuperSidebar.js +82 -0
  195. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/SuperSidebar.js.map +1 -0
  196. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/context.d.ts +10 -0
  197. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/context.js +168 -0
  198. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/context.js.map +1 -0
  199. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/detail.d.ts +9 -0
  200. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/detail.js +66 -0
  201. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/detail.js.map +1 -0
  202. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/index.d.ts +33 -0
  203. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/index.js +204 -0
  204. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/index.js.map +1 -0
  205. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/types.d.ts +74 -0
  206. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/types.js +5 -0
  207. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/types.js.map +1 -0
  208. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/util.d.ts +1 -0
  209. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/util.js +14 -0
  210. package/dependencies-local/extension-kit/widgets/TabbedWorkspace/util.js.map +1 -0
  211. package/dependencies-local/extension-kit/widgets/Workspace.d.ts +38 -0
  212. package/dependencies-local/extension-kit/widgets/Workspace.js +99 -0
  213. package/dependencies-local/extension-kit/widgets/Workspace.js.map +1 -0
  214. package/dependencies-local/extension-kit/widgets/panels/PanelSeparator.d.ts +12 -0
  215. package/dependencies-local/extension-kit/widgets/panels/PanelSeparator.js +57 -0
  216. package/dependencies-local/extension-kit/widgets/panels/PanelSeparator.js.map +1 -0
  217. package/dependencies-local/extension-kit/widgets/panels/index.d.ts +28 -0
  218. package/dependencies-local/extension-kit/widgets/panels/index.js +169 -0
  219. package/dependencies-local/extension-kit/widgets/panels/index.js.map +1 -0
  220. package/dist/common.d.ts +1 -0
  221. package/dist/common.js.map +1 -0
  222. package/dist/index.d.ts +6 -0
  223. package/dist/index.js.map +1 -0
  224. package/dist/migrations/initial.d.ts +3 -0
  225. package/dist/migrations/initial.js.map +1 -0
  226. package/dist/package.json +56 -0
  227. package/dist/types/cr.d.ts +216 -0
  228. package/dist/types/cr.js.map +1 -0
  229. package/dist/types/index.d.ts +7 -0
  230. package/dist/types/index.js.map +1 -0
  231. package/dist/types/item.d.ts +59 -0
  232. package/dist/types/item.js.map +1 -0
  233. package/dist/types/proposal.d.ts +64 -0
  234. package/dist/types/proposal.js.map +1 -0
  235. package/dist/types/register.d.ts +18 -0
  236. package/dist/types/register.js.map +1 -0
  237. package/dist/types/registry.d.ts +15 -0
  238. package/dist/types/registry.js.map +1 -0
  239. package/dist/types/stakeholder.d.ts +58 -0
  240. package/dist/types/stakeholder.js.map +1 -0
  241. package/dist/types/util.d.ts +21 -0
  242. package/dist/types/util.js +5 -0
  243. package/dist/types/util.js.map +1 -0
  244. package/dist/types/views.d.ts +157 -0
  245. package/dist/types/views.js +5 -0
  246. package/dist/types/views.js.map +1 -0
  247. package/dist/views/AnnotatedChange.d.ts +7 -0
  248. package/dist/views/AnnotatedChange.js.map +1 -0
  249. package/dist/views/BrowserCtx.d.ts +73 -0
  250. package/dist/views/BrowserCtx.js.map +1 -0
  251. package/dist/views/FilterCriteria/CRITERIA_CONFIGURATION.d.ts +17 -0
  252. package/dist/views/FilterCriteria/CRITERIA_CONFIGURATION.js.map +1 -0
  253. package/dist/views/FilterCriteria/criteriaGroupToQueryExpression.d.ts +6 -0
  254. package/dist/views/FilterCriteria/criteriaGroupToQueryExpression.js.map +1 -0
  255. package/dist/views/FilterCriteria/criteriaGroupToSummary.d.ts +5 -0
  256. package/dist/views/FilterCriteria/criteriaGroupToSummary.js.map +1 -0
  257. package/dist/views/FilterCriteria/criteriaToNodes.d.ts +24 -0
  258. package/dist/views/FilterCriteria/criteriaToNodes.js.map +1 -0
  259. package/dist/views/FilterCriteria/index.d.ts +23 -0
  260. package/dist/views/FilterCriteria/index.js.map +1 -0
  261. package/dist/views/FilterCriteria/models.d.ts +68 -0
  262. package/dist/views/FilterCriteria/models.js.map +1 -0
  263. package/dist/views/FilterCriteria/mutateGroup.d.ts +17 -0
  264. package/dist/views/FilterCriteria/mutateGroup.js.map +1 -0
  265. package/dist/views/GenericRelatedItemView.d.ts +6 -0
  266. package/dist/views/GenericRelatedItemView.js.map +1 -0
  267. package/dist/views/RegisterStakeholder.d.ts +9 -0
  268. package/dist/views/RegisterStakeholder.js.map +1 -0
  269. package/dist/views/RegisterVersion.d.ts +9 -0
  270. package/dist/views/RegisterVersion.js.map +1 -0
  271. package/dist/views/SearchQuery.d.ts +13 -0
  272. package/dist/views/SearchQuery.js.map +1 -0
  273. package/dist/views/change-request/ChangeRequestContext.d.ts +20 -0
  274. package/dist/views/change-request/ChangeRequestContext.js.map +1 -0
  275. package/dist/views/change-request/Proposals.d.ts +21 -0
  276. package/dist/views/change-request/Proposals.js.map +1 -0
  277. package/dist/views/change-request/objectChangeset.d.ts +31 -0
  278. package/dist/views/change-request/objectChangeset.js.map +1 -0
  279. package/dist/views/detail/ChangeRequest/Proposal.d.ts +0 -0
  280. package/dist/views/detail/ChangeRequest/Proposal.js.map +1 -0
  281. package/dist/views/detail/ChangeRequest/index.d.ts +13 -0
  282. package/dist/views/detail/ChangeRequest/index.js.map +1 -0
  283. package/dist/views/detail/ChangeRequest/transitions.d.ts +28 -0
  284. package/dist/views/detail/ChangeRequest/transitions.js.map +1 -0
  285. package/dist/views/detail/CustomView/index.d.ts +13 -0
  286. package/dist/views/detail/CustomView/index.js.map +1 -0
  287. package/dist/views/detail/RegisterHome/index.d.ts +5 -0
  288. package/dist/views/detail/RegisterHome/index.js.map +1 -0
  289. package/dist/views/detail/RegisterItem/RelatedItems.d.ts +14 -0
  290. package/{views → dist/views}/detail/RegisterItem/RelatedItems.js +5 -5
  291. package/dist/views/detail/RegisterItem/RelatedItems.js.map +1 -0
  292. package/dist/views/detail/RegisterItem/SupersedingItemMenu.js.map +1 -0
  293. package/dist/views/detail/RegisterItem/index.d.ts +13 -0
  294. package/{views → dist/views}/detail/RegisterItem/index.js +3 -2
  295. package/dist/views/detail/RegisterItem/index.js.map +1 -0
  296. package/dist/views/detail/RegisterMeta/RegisterMetaForm.d.ts +10 -0
  297. package/dist/views/detail/RegisterMeta/RegisterMetaForm.js.map +1 -0
  298. package/dist/views/detail/RegisterMeta/index.d.ts +10 -0
  299. package/dist/views/detail/RegisterMeta/index.js.map +1 -0
  300. package/dist/views/detail/index.d.ts +1 -0
  301. package/dist/views/detail/index.js.map +1 -0
  302. package/dist/views/diffing/InlineDiff.d.ts +12 -0
  303. package/dist/views/diffing/InlineDiff.js.map +1 -0
  304. package/dist/views/diffing/StructuredDiff.d.ts +11 -0
  305. package/dist/views/diffing/StructuredDiff.js.map +1 -0
  306. package/dist/views/hooks/useCustomView.d.ts +3 -0
  307. package/dist/views/hooks/useCustomView.js.map +1 -0
  308. package/dist/views/hooks/useItemClassConfig.d.ts +3 -0
  309. package/dist/views/hooks/useItemClassConfig.js.map +1 -0
  310. package/dist/views/hooks/useItemRef.d.ts +3 -0
  311. package/dist/views/hooks/useItemRef.js.map +1 -0
  312. package/dist/views/hooks/useSingleRegisterItemData.d.ts +3 -0
  313. package/dist/views/hooks/useSingleRegisterItemData.js.map +1 -0
  314. package/dist/views/index.d.ts +7 -0
  315. package/dist/views/index.js.map +1 -0
  316. package/dist/views/itemPathUtils.d.ts +52 -0
  317. package/dist/views/itemPathUtils.js.map +1 -0
  318. package/dist/views/itemQueryUtils.d.ts +11 -0
  319. package/dist/views/itemQueryUtils.js.map +1 -0
  320. package/dist/views/protocolRegistry.d.ts +12 -0
  321. package/dist/views/protocolRegistry.js.map +1 -0
  322. package/dist/views/sidebar/Browse/index.d.ts +11 -0
  323. package/dist/views/sidebar/Browse/index.js.map +1 -0
  324. package/dist/views/sidebar/Export/index.d.ts +5 -0
  325. package/dist/views/sidebar/Export/index.js.map +1 -0
  326. package/dist/views/sidebar/ListItem.d.ts +10 -0
  327. package/dist/views/sidebar/ListItem.js.map +1 -0
  328. package/dist/views/sidebar/Registration/index.d.ts +5 -0
  329. package/dist/views/sidebar/Registration/index.js.map +1 -0
  330. package/dist/views/sidebar/Search/index.d.ts +18 -0
  331. package/dist/views/sidebar/Search/index.js.map +1 -0
  332. package/dist/views/sidebar/index.d.ts +6 -0
  333. package/dist/views/sidebar/index.js.map +1 -0
  334. package/dist/views/util.d.ts +36 -0
  335. package/dist/views/util.js.map +1 -0
  336. package/package.json +2 -1
  337. package/react-visual-diff.d.ts +9 -0
  338. package/views/detail/RegisterItem/RelatedItems.js.map +0 -1
  339. package/views/detail/RegisterItem/index.js.map +0 -1
  340. /package/{common.d.ts → compiled/common.d.ts} +0 -0
  341. /package/{common.js.map → compiled/common.js.map} +0 -0
  342. /package/{index.d.ts → compiled/index.d.ts} +0 -0
  343. /package/{index.js.map → compiled/index.js.map} +0 -0
  344. /package/{migrations → compiled/migrations}/initial.d.ts +0 -0
  345. /package/{migrations → compiled/migrations}/initial.js.map +0 -0
  346. /package/{types → compiled/types}/cr.d.ts +0 -0
  347. /package/{types → compiled/types}/cr.js.map +0 -0
  348. /package/{types → compiled/types}/index.d.ts +0 -0
  349. /package/{types → compiled/types}/index.js.map +0 -0
  350. /package/{types → compiled/types}/item.d.ts +0 -0
  351. /package/{types → compiled/types}/item.js.map +0 -0
  352. /package/{types → compiled/types}/proposal.d.ts +0 -0
  353. /package/{types → compiled/types}/proposal.js.map +0 -0
  354. /package/{types → compiled/types}/register.d.ts +0 -0
  355. /package/{types → compiled/types}/register.js.map +0 -0
  356. /package/{types → compiled/types}/registry.d.ts +0 -0
  357. /package/{types → compiled/types}/registry.js.map +0 -0
  358. /package/{types → compiled/types}/stakeholder.d.ts +0 -0
  359. /package/{types → compiled/types}/stakeholder.js.map +0 -0
  360. /package/{types → compiled/types}/util.d.ts +0 -0
  361. /package/{types → compiled/types}/util.js.map +0 -0
  362. /package/{types → compiled/types}/views.d.ts +0 -0
  363. /package/{types → compiled/types}/views.js.map +0 -0
  364. /package/{views → compiled/views}/AnnotatedChange.d.ts +0 -0
  365. /package/{views → compiled/views}/AnnotatedChange.js.map +0 -0
  366. /package/{views → compiled/views}/BrowserCtx.d.ts +0 -0
  367. /package/{views → compiled/views}/BrowserCtx.js.map +0 -0
  368. /package/{views → compiled/views}/FilterCriteria/CRITERIA_CONFIGURATION.d.ts +0 -0
  369. /package/{views → compiled/views}/FilterCriteria/CRITERIA_CONFIGURATION.js.map +0 -0
  370. /package/{views → compiled/views}/FilterCriteria/criteriaGroupToQueryExpression.d.ts +0 -0
  371. /package/{views → compiled/views}/FilterCriteria/criteriaGroupToQueryExpression.js.map +0 -0
  372. /package/{views → compiled/views}/FilterCriteria/criteriaGroupToSummary.d.ts +0 -0
  373. /package/{views → compiled/views}/FilterCriteria/criteriaGroupToSummary.js.map +0 -0
  374. /package/{views → compiled/views}/FilterCriteria/criteriaToNodes.d.ts +0 -0
  375. /package/{views → compiled/views}/FilterCriteria/criteriaToNodes.js.map +0 -0
  376. /package/{views → compiled/views}/FilterCriteria/index.d.ts +0 -0
  377. /package/{views → compiled/views}/FilterCriteria/index.js.map +0 -0
  378. /package/{views → compiled/views}/FilterCriteria/models.d.ts +0 -0
  379. /package/{views → compiled/views}/FilterCriteria/models.js.map +0 -0
  380. /package/{views → compiled/views}/FilterCriteria/mutateGroup.d.ts +0 -0
  381. /package/{views → compiled/views}/FilterCriteria/mutateGroup.js.map +0 -0
  382. /package/{views → compiled/views}/GenericRelatedItemView.d.ts +0 -0
  383. /package/{views → compiled/views}/GenericRelatedItemView.js.map +0 -0
  384. /package/{views → compiled/views}/RegisterStakeholder.d.ts +0 -0
  385. /package/{views → compiled/views}/RegisterStakeholder.js.map +0 -0
  386. /package/{views → compiled/views}/RegisterVersion.d.ts +0 -0
  387. /package/{views → compiled/views}/RegisterVersion.js.map +0 -0
  388. /package/{views → compiled/views}/SearchQuery.d.ts +0 -0
  389. /package/{views → compiled/views}/SearchQuery.js.map +0 -0
  390. /package/{views → compiled/views}/change-request/ChangeRequestContext.d.ts +0 -0
  391. /package/{views → compiled/views}/change-request/ChangeRequestContext.js.map +0 -0
  392. /package/{views → compiled/views}/change-request/Proposals.d.ts +0 -0
  393. /package/{views → compiled/views}/change-request/Proposals.js.map +0 -0
  394. /package/{views → compiled/views}/change-request/objectChangeset.d.ts +0 -0
  395. /package/{views → compiled/views}/change-request/objectChangeset.js.map +0 -0
  396. /package/{views → compiled/views}/detail/ChangeRequest/Proposal.d.ts +0 -0
  397. /package/{views → compiled/views}/detail/ChangeRequest/Proposal.js.map +0 -0
  398. /package/{views → compiled/views}/detail/ChangeRequest/index.d.ts +0 -0
  399. /package/{views → compiled/views}/detail/ChangeRequest/index.js.map +0 -0
  400. /package/{views → compiled/views}/detail/ChangeRequest/transitions.d.ts +0 -0
  401. /package/{views → compiled/views}/detail/ChangeRequest/transitions.js.map +0 -0
  402. /package/{views → compiled/views}/detail/CustomView/index.d.ts +0 -0
  403. /package/{views → compiled/views}/detail/CustomView/index.js.map +0 -0
  404. /package/{views → compiled/views}/detail/RegisterHome/index.d.ts +0 -0
  405. /package/{views → compiled/views}/detail/RegisterHome/index.js.map +0 -0
  406. /package/{views → compiled/views}/detail/RegisterItem/SupersedingItemMenu.d.ts +0 -0
  407. /package/{views → compiled/views}/detail/RegisterItem/SupersedingItemMenu.js.map +0 -0
  408. /package/{views → compiled/views}/detail/RegisterItem/index.d.ts +0 -0
  409. /package/{views → compiled/views}/detail/RegisterMeta/RegisterMetaForm.d.ts +0 -0
  410. /package/{views → compiled/views}/detail/RegisterMeta/RegisterMetaForm.js.map +0 -0
  411. /package/{views → compiled/views}/detail/RegisterMeta/index.d.ts +0 -0
  412. /package/{views → compiled/views}/detail/RegisterMeta/index.js.map +0 -0
  413. /package/{views → compiled/views}/detail/index.d.ts +0 -0
  414. /package/{views → compiled/views}/detail/index.js.map +0 -0
  415. /package/{views → compiled/views}/diffing/InlineDiff.d.ts +0 -0
  416. /package/{views → compiled/views}/diffing/InlineDiff.js.map +0 -0
  417. /package/{views → compiled/views}/diffing/StructuredDiff.d.ts +0 -0
  418. /package/{views → compiled/views}/diffing/StructuredDiff.js.map +0 -0
  419. /package/{views → compiled/views}/hooks/useCustomView.d.ts +0 -0
  420. /package/{views → compiled/views}/hooks/useCustomView.js.map +0 -0
  421. /package/{views → compiled/views}/hooks/useItemClassConfig.d.ts +0 -0
  422. /package/{views → compiled/views}/hooks/useItemClassConfig.js.map +0 -0
  423. /package/{views → compiled/views}/hooks/useItemRef.d.ts +0 -0
  424. /package/{views → compiled/views}/hooks/useItemRef.js.map +0 -0
  425. /package/{views → compiled/views}/hooks/useSingleRegisterItemData.d.ts +0 -0
  426. /package/{views → compiled/views}/hooks/useSingleRegisterItemData.js.map +0 -0
  427. /package/{views → compiled/views}/index.d.ts +0 -0
  428. /package/{views → compiled/views}/index.js.map +0 -0
  429. /package/{views → compiled/views}/itemPathUtils.d.ts +0 -0
  430. /package/{views → compiled/views}/itemPathUtils.js.map +0 -0
  431. /package/{views → compiled/views}/itemQueryUtils.d.ts +0 -0
  432. /package/{views → compiled/views}/itemQueryUtils.js.map +0 -0
  433. /package/{views → compiled/views}/protocolRegistry.d.ts +0 -0
  434. /package/{views → compiled/views}/protocolRegistry.js.map +0 -0
  435. /package/{views → compiled/views}/sidebar/Browse/index.d.ts +0 -0
  436. /package/{views → compiled/views}/sidebar/Browse/index.js.map +0 -0
  437. /package/{views → compiled/views}/sidebar/Export/index.d.ts +0 -0
  438. /package/{views → compiled/views}/sidebar/Export/index.js.map +0 -0
  439. /package/{views → compiled/views}/sidebar/ListItem.d.ts +0 -0
  440. /package/{views → compiled/views}/sidebar/ListItem.js.map +0 -0
  441. /package/{views → compiled/views}/sidebar/Registration/index.d.ts +0 -0
  442. /package/{views → compiled/views}/sidebar/Registration/index.js.map +0 -0
  443. /package/{views → compiled/views}/sidebar/Search/index.d.ts +0 -0
  444. /package/{views → compiled/views}/sidebar/Search/index.js.map +0 -0
  445. /package/{views → compiled/views}/sidebar/index.d.ts +0 -0
  446. /package/{views → compiled/views}/sidebar/index.js.map +0 -0
  447. /package/{views → compiled/views}/util.d.ts +0 -0
  448. /package/{views → compiled/views}/util.js.map +0 -0
  449. /package/{types/util.js → dependencies-local/extension-kit/i18n/types.js} +0 -0
  450. /package/{types/views.js → dependencies-local/extension-kit/types/binary-invocation.js} +0 -0
  451. /package/{common.js → dist/common.js} +0 -0
  452. /package/{index.js → dist/index.js} +0 -0
  453. /package/{migrations → dist/migrations}/initial.js +0 -0
  454. /package/{types → dist/types}/cr.js +0 -0
  455. /package/{types → dist/types}/index.js +0 -0
  456. /package/{types → dist/types}/item.js +0 -0
  457. /package/{types → dist/types}/proposal.js +0 -0
  458. /package/{types → dist/types}/register.js +0 -0
  459. /package/{types → dist/types}/registry.js +0 -0
  460. /package/{types → dist/types}/stakeholder.js +0 -0
  461. /package/{views → dist/views}/AnnotatedChange.js +0 -0
  462. /package/{views → dist/views}/BrowserCtx.js +0 -0
  463. /package/{views → dist/views}/FilterCriteria/CRITERIA_CONFIGURATION.js +0 -0
  464. /package/{views → dist/views}/FilterCriteria/criteriaGroupToQueryExpression.js +0 -0
  465. /package/{views → dist/views}/FilterCriteria/criteriaGroupToSummary.js +0 -0
  466. /package/{views → dist/views}/FilterCriteria/criteriaToNodes.js +0 -0
  467. /package/{views → dist/views}/FilterCriteria/index.js +0 -0
  468. /package/{views → dist/views}/FilterCriteria/models.js +0 -0
  469. /package/{views → dist/views}/FilterCriteria/mutateGroup.js +0 -0
  470. /package/{views → dist/views}/GenericRelatedItemView.js +0 -0
  471. /package/{views → dist/views}/RegisterStakeholder.js +0 -0
  472. /package/{views → dist/views}/RegisterVersion.js +0 -0
  473. /package/{views → dist/views}/SearchQuery.js +0 -0
  474. /package/{views → dist/views}/change-request/ChangeRequestContext.js +0 -0
  475. /package/{views → dist/views}/change-request/Proposals.js +0 -0
  476. /package/{views → dist/views}/change-request/objectChangeset.js +0 -0
  477. /package/{views → dist/views}/detail/ChangeRequest/Proposal.js +0 -0
  478. /package/{views → dist/views}/detail/ChangeRequest/index.js +0 -0
  479. /package/{views → dist/views}/detail/ChangeRequest/transitions.js +0 -0
  480. /package/{views → dist/views}/detail/CustomView/index.js +0 -0
  481. /package/{views → dist/views}/detail/RegisterHome/index.js +0 -0
  482. /package/{views/detail/RegisterItem/RelatedItems.d.ts → dist/views/detail/RegisterItem/SupersedingItemMenu.d.ts} +0 -0
  483. /package/{views → dist/views}/detail/RegisterItem/SupersedingItemMenu.js +0 -0
  484. /package/{views → dist/views}/detail/RegisterMeta/RegisterMetaForm.js +0 -0
  485. /package/{views → dist/views}/detail/RegisterMeta/index.js +0 -0
  486. /package/{views → dist/views}/detail/index.js +0 -0
  487. /package/{views → dist/views}/diffing/InlineDiff.js +0 -0
  488. /package/{views → dist/views}/diffing/StructuredDiff.js +0 -0
  489. /package/{views → dist/views}/hooks/useCustomView.js +0 -0
  490. /package/{views → dist/views}/hooks/useItemClassConfig.js +0 -0
  491. /package/{views → dist/views}/hooks/useItemRef.js +0 -0
  492. /package/{views → dist/views}/hooks/useSingleRegisterItemData.js +0 -0
  493. /package/{views → dist/views}/index.js +0 -0
  494. /package/{views → dist/views}/itemPathUtils.js +0 -0
  495. /package/{views → dist/views}/itemQueryUtils.js +0 -0
  496. /package/{views → dist/views}/protocolRegistry.js +0 -0
  497. /package/{views → dist/views}/sidebar/Browse/index.js +0 -0
  498. /package/{views → dist/views}/sidebar/Export/index.js +0 -0
  499. /package/{views → dist/views}/sidebar/ListItem.js +0 -0
  500. /package/{views → dist/views}/sidebar/Registration/index.js +0 -0
  501. /package/{views → dist/views}/sidebar/Search/index.js +0 -0
  502. /package/{views → dist/views}/sidebar/index.js +0 -0
  503. /package/{views → dist/views}/util.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Grid.js","sourceRoot":"","sources":["../../src/widgets/Grid.tsx"],"names":[],"mappings":"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","sourcesContent":["/** @jsx jsx */\n/** @jsxFrag React.Fragment */\n\nimport log from 'electron-log';\nimport { debounce } from 'throttle-debounce';\nimport { jsx, css } from '@emotion/react';\nimport React, { ComponentType, useEffect, useRef } from 'react';\nimport { FixedSizeGrid as Grid, GridChildComponentProps, areEqual } from 'react-window';\nimport AutoSizer from 'react-virtualized-auto-sizer';\nimport { Colors, Icon, IconProps } from '@blueprintjs/core';\n\n\nconst COMPACT = false;\n\nexport interface GridData<P extends Record<string, any> = Record<never, never>> {\n items: string[][] // items chunked into rows\n selectedItem: string | null\n selectItem: (ref: string | null, extraData?: unknown) => void\n openItem?: (ref: string) => void\n cellWidth: number\n cellHeight: number\n padding: number\n extraData: P\n}\n\ntype ItemDataGetter<P extends Record<string, any> = Record<never, never>> = (width: number) => GridData<P> | null\n\nexport interface CellProps<P extends Record<string, any> = Record<never, never>> {\n itemRef: string\n isSelected: boolean\n onSelect?: (extraData?: unknown) => void\n onOpen?: () => void\n padding: number \n extraData: P\n}\n\nfunction makeGrid<P extends Record<string, any> = Record<never, never>>\n(CellContents: React.FC<CellProps<P>>):\nReact.FC<{ getGridData: ItemDataGetter<P>, className?: string }> {\n\n function getGridIndex(items: string[][], ref: string): { columnIndex: number, rowIndex: number } | null {\n const rowIndex = items.findIndex(row => row.indexOf(ref) >= 0);\n if (rowIndex >= 0) {\n const row = items[rowIndex];\n const columnIndex = row.indexOf(ref);\n if (columnIndex >= 0) {\n return { rowIndex, columnIndex };\n }\n }\n return null;\n }\n\n const Cell: ComponentType<GridChildComponentProps> =\n React.memo(function ({ columnIndex, rowIndex, data, style }) {\n const _data: GridData<P> = data;\n const ref = _data.items[rowIndex]?.[columnIndex];\n const isSelected = _data.selectedItem === ref;\n if (ref) {\n return (\n <div\n css={css`\n position: relative;\n transition: box-shadow .25s linear;\n ${!COMPACT ? 'border: 1px solid transparent' : ''};\n ${isSelected\n ? COMPACT\n ? 'box-shadow: 2px 2px 14px rgba(0, 0, 0, 0.4); z-index: 3;'\n : 'border-color: silver; border-style: dotted;'\n : ''};\n `}\n style={style}>\n <CellContents\n isSelected={isSelected}\n onSelect={(extraData) => _data.selectItem(ref, extraData)}\n onOpen={_data.openItem ? () => _data.openItem!(ref) : undefined}\n padding={_data.padding}\n extraData={_data.extraData as P}\n itemRef={ref} />\n </div>\n );\n } else {\n return null;\n }\n }, areEqual);\n\n let gridDataCache: GridData<P> | null = null;\n\n function maybeScrollToItem(gridEl: Grid) {\n if (gridDataCache !== null) {\n const { selectedItem, items } = gridDataCache;\n if (selectedItem !== null) {\n const idx = getGridIndex(items, selectedItem);\n if (idx) {\n gridEl.scrollToItem({ align: 'smart', ...idx });\n } else {\n log.warn(\"Grid: couldn’t find row/column index of the selected item to jump to it\", selectedItem);\n }\n }\n }\n }\n const maybeScrollToItemDebounced = debounce(100, maybeScrollToItem);\n\n return ({ getGridData, className }) => {\n const gridRef = useRef<Grid>(null);\n\n useEffect(() => {\n const updateListHeight = () => gridRef.current\n ? maybeScrollToItemDebounced(gridRef.current)\n : void 0;\n window.addEventListener('resize', updateListHeight);\n updateListHeight();\n return function cleanup() {\n window.removeEventListener('resize', updateListHeight);\n }\n }, [getGridData, gridRef.current]);\n\n return (\n <AutoSizer className={className}>\n {({ width, height }) => {\n const gridData = getGridData(width);\n gridDataCache = gridData;\n if (gridData) {\n const columnCount = (gridData.items[0] ?? []).length;\n const rowCount = gridData.items.length;\n return (\n <Grid\n ref={gridRef}\n width={width}\n height={height}\n columnCount={columnCount}\n columnWidth={gridData.cellWidth}\n rowCount={rowCount}\n rowHeight={gridData.cellHeight}\n itemKey={({ columnIndex, rowIndex }) => {\n const itemRef = gridData.items[rowIndex]?.[columnIndex];\n return itemRef ?? `${columnIndex}-${rowIndex}`;\n }}\n itemData={gridData}>\n {Cell}\n </Grid>\n );\n } else {\n return null;\n }\n }}\n </AutoSizer>\n );\n };\n}\n\n\ninterface LabelledGridIconProps {\n isSelected: boolean\n onSelect?: () => void\n onOpen?: () => void\n contentClassName?: string\n entityType?: {\n iconProps?: IconProps\n name: string\n }\n padding: number \n className?: string\n}\n\nexport const LabelledGridIcon: React.FC<LabelledGridIconProps> =\nfunction ({ isSelected, onSelect, onOpen, padding, contentClassName, entityType, className, children }) {\n const hPad = Math.floor(padding / 2);\n const qPad = Math.floor(padding / 4);\n return (\n <div\n onClick={onSelect}\n onDoubleClick={onOpen}\n className={className}\n css={css`\n position: absolute;\n ${COMPACT ? 'inset: 0' : 'inset: 5px'};\n ${!COMPACT ? 'border-radius: 5px' : ''};\n ${!isSelected || !COMPACT\n ? `box-shadow: 1px 1px 0 ${Colors.LIGHT_GRAY5} inset, -1px -1px 0 ${Colors.LIGHT_GRAY1} inset;`\n : ''}\n overflow: hidden;\n cursor: default;\n z-index: ${isSelected ? 2 : 1};\n display: flex; flex-flow: column nowrap; align-items: stretch; justify-content: flex-start;\n background: ${isSelected ? `linear-gradient(345deg, ${Colors.LIGHT_GRAY3}, white)` : Colors.LIGHT_GRAY5};`}>\n {entityType\n ? <div css={css`\n z-index: 3; font-size: 85%; line-height: 1.4; margin: 1px 1px 0 1px;\n padding: ${qPad - 1}px ${padding}px ${qPad}px ${padding}px;\n background: ${isSelected ? Colors.BLUE2 : Colors.LIGHT_GRAY3};\n ${!COMPACT ? 'border-radius: 5px 5px 0 0' : ''}\n letter-spacing: -0.03em;\n white-space: nowrap;\n ${isSelected ? 'font-variation-settings: \\'GRAD\\' 600;' : ''};\n color: ${isSelected ? Colors.LIGHT_GRAY4 : Colors.GRAY1};`}>\n {entityType.iconProps\n ? <Icon\n iconSize={10}\n css={css`margin-right: ${hPad}px; position: relative; top: -2px;`}\n color={isSelected ? 'white' : Colors.GRAY2}\n intent={isSelected ? 'primary' : undefined}\n {...entityType.iconProps}\n />\n : null}\n {entityType.name}\n </div>\n : null}\n <div\n css={css`z-index: 2; flex: 1; font-size: 90%; padding: ${hPad}px ${padding}px;`}\n className={contentClassName}>\n {children}\n </div>\n </div>\n );\n};\n\n\nexport default makeGrid;\n"]}
@@ -0,0 +1,18 @@
1
+ /** @jsx jsx */
2
+ /** @jsxFrag React.Fragment */
3
+ import React from 'react';
4
+ import { Tooltip2Props } from '@blueprintjs/popover2';
5
+ import { IconName, IconSize, Intent } from '@blueprintjs/core';
6
+ export interface HelpTooltipProps {
7
+ content: JSX.Element | string;
8
+ /** Applies to both icon and tooltip. */
9
+ intent?: Intent;
10
+ /** Icon, if unspecified then default “help” question mark icon is used. */
11
+ icon?: IconName;
12
+ /** Default: 12. */
13
+ iconSize?: IconSize;
14
+ tooltipProps?: Partial<Tooltip2Props>;
15
+ }
16
+ /** Info icon with a customized BP3 tooltip. */
17
+ declare const HelpTooltip: React.VoidFunctionComponent<HelpTooltipProps>;
18
+ export default HelpTooltip;
@@ -0,0 +1,84 @@
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 _popover = require("@blueprintjs/popover2");
11
+
12
+ var _core = require("@blueprintjs/core");
13
+
14
+ /** @jsx jsx */
15
+
16
+ /** @jsxFrag React.Fragment */
17
+ var __rest = void 0 && (void 0).__rest || function (s, e) {
18
+ var t = {};
19
+
20
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
21
+
22
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
23
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
24
+ }
25
+ return t;
26
+ };
27
+
28
+ /** Info icon with a customized BP3 tooltip. */
29
+ const HelpTooltip = function ({
30
+ content: tooltip,
31
+ icon,
32
+ intent,
33
+ iconSize,
34
+ tooltipProps
35
+ }) {
36
+ return (0, _react.jsx)(_react.ClassNames, null, ({
37
+ css: css2,
38
+ cx
39
+ }) => (0, _react.jsx)(_popover.Tooltip2, Object.assign({
40
+ popoverClassName: `${css2`
41
+ margin: 10px;
42
+
43
+ .bp4-popover2-content {
44
+ font-size: 90%;
45
+ max-width: 500px;
46
+ }
47
+ `}`,
48
+ hoverCloseDelay: 600,
49
+ hoverOpenDelay: 600,
50
+ interactionKind: _popover.Popover2InteractionKind.HOVER,
51
+ intent: intent
52
+ }, tooltipProps, {
53
+ css: (0, _react.css)`
54
+ cursor: help;
55
+ `,
56
+ renderTarget: _a => {
57
+ var {
58
+ ref,
59
+ isOpen
60
+ } = _a,
61
+ targetProps = __rest(_a, ["ref", "isOpen"]);
62
+
63
+ return (0, _react.jsx)("span", Object.assign({}, targetProps, {
64
+ css: (0, _react.css)`
65
+ display: inline !important /* BP4 overrides it to block in a few niche scenarios. */;
66
+ padding: .15em;
67
+ margin: -.15em;
68
+ transition: opacity .2s linear;
69
+ ${isOpen ? 'opacity: 1;' : 'opacity: .3;'}
70
+ `,
71
+ ref: ref
72
+ }), (0, _react.jsx)(_core.Icon, {
73
+ icon: icon !== null && icon !== void 0 ? icon : 'help',
74
+ intent: intent,
75
+ css: (0, _react.css)`margin-bottom: 1px;`,
76
+ size: iconSize !== null && iconSize !== void 0 ? iconSize : 12
77
+ }));
78
+ },
79
+ content: tooltip
80
+ })));
81
+ };
82
+
83
+ var _default = HelpTooltip;
84
+ exports.default = _default;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HelpTooltip.js","sourceRoot":"","sources":["../../src/widgets/HelpTooltip.tsx"],"names":[],"mappings":"AAAA,eAAe;AACf,8BAA8B;;;;;;;;;;;;AAG9B,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAiB,MAAM,uBAAuB,CAAC;AACzF,OAAO,EAAE,IAAI,EAA8B,MAAM,mBAAmB,CAAC;AAkBrE,+CAA+C;AAC/C,MAAM,WAAW,GACjB,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE;IAClE,OAAO,CACL,IAAC,UAAU,QACR,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CACtB,IAAC,QAAQ,kBACL,gBAAgB,EAAE,GAAG,IAAI,CAAA;;;;;;;aAOxB,EAAE,EACH,eAAe,EAAE,GAAG,EACpB,cAAc,EAAE,GAAG,EACnB,eAAe,EAAE,uBAAuB,CAAC,KAAK,EAC9C,MAAM,EAAE,MAAM,IACV,YAAY,IAChB,GAAG,EAAE,GAAG,CAAA;;aAEP,EACD,YAAY,EAAE,CAAC,EAA+B,EAAE,EAAE;gBAAnC,EAAE,GAAG,EAAE,MAAM,OAAkB,EAAb,WAAW,cAA7B,iBAA+B,CAAF;YAAO,OAAA,CACjD,8BACQ,WAAW,IACf,GAAG,EAAE,GAAG,CAAA;;;;;sBAKJ,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc;mBAC1C,EACD,GAAG,EAAE,GAAG;gBACV,IAAC,IAAI,IACH,IAAI,EAAE,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,GAAG,CAAA,qBAAqB,EAC7B,IAAI,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,EAAE,GACpB,CACG,CACR,CAAA;SAAA,EACD,OAAO,EAAE,OAAO,IACT,CACZ,CACU,CACd,CAAC;AACJ,CAAC,CAAC;AAGF,eAAe,WAAW,CAAC","sourcesContent":["/** @jsx jsx */\n/** @jsxFrag React.Fragment */\n\nimport React from 'react';\nimport { ClassNames, jsx, css } from '@emotion/react';\nimport { Popover2InteractionKind, Tooltip2, Tooltip2Props } from '@blueprintjs/popover2';\nimport { Icon, IconName, IconSize, Intent } from '@blueprintjs/core';\n\n\nexport interface HelpTooltipProps {\n content: JSX.Element | string\n\n /** Applies to both icon and tooltip. */\n intent?: Intent\n\n /** Icon, if unspecified then default “help” question mark icon is used. */\n icon?: IconName\n\n /** Default: 12. */\n iconSize?: IconSize\n\n tooltipProps?: Partial<Tooltip2Props>\n}\n\n/** Info icon with a customized BP3 tooltip. */\nconst HelpTooltip: React.VoidFunctionComponent<HelpTooltipProps> =\nfunction ({ content: tooltip, icon, intent, iconSize, tooltipProps }) {\n return (\n <ClassNames>\n {({ css: css2, cx }) => (\n <Tooltip2\n popoverClassName={`${css2`\n margin: 10px;\n\n .bp4-popover2-content {\n font-size: 90%;\n max-width: 500px;\n }\n `}`}\n hoverCloseDelay={600}\n hoverOpenDelay={600}\n interactionKind={Popover2InteractionKind.HOVER}\n intent={intent}\n {...tooltipProps}\n css={css`\n cursor: help;\n `}\n renderTarget={({ ref, isOpen, ...targetProps }) => (\n <span\n {...targetProps}\n css={css`\n display: inline !important /* BP4 overrides it to block in a few niche scenarios. */;\n padding: .15em;\n margin: -.15em;\n transition: opacity .2s linear;\n ${isOpen ? 'opacity: 1;' : 'opacity: .3;'}\n `}\n ref={ref}>\n <Icon\n icon={icon ?? 'help'}\n intent={intent}\n css={css`margin-bottom: 1px;`}\n size={iconSize ?? 12}\n />\n </span>\n )}\n content={tooltip}>\n </Tooltip2>\n )}\n </ClassNames>\n );\n};\n\n\nexport default HelpTooltip;\n"]}
@@ -0,0 +1,19 @@
1
+ /** @jsx jsx */
2
+ /** @jsxFrag React.Fragment */
3
+ import React from 'react';
4
+ export interface ItemCountProps {
5
+ totalCount: number;
6
+ descriptiveName?: {
7
+ singular: string;
8
+ plural: string;
9
+ };
10
+ progress?: {
11
+ phase: string;
12
+ loaded?: number;
13
+ total?: number;
14
+ };
15
+ onRefresh?: () => void;
16
+ className?: string;
17
+ }
18
+ export declare const ItemCount: React.FC<ItemCountProps>;
19
+ export default ItemCount;
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.ItemCount = void 0;
7
+
8
+ var _core = require("@blueprintjs/core");
9
+
10
+ var _react = require("@emotion/react");
11
+
12
+ var _react2 = _interopRequireDefault(require("react"));
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ /** @jsx jsx */
17
+
18
+ /** @jsxFrag React.Fragment */
19
+ const ICON_PROPS = {
20
+ iconSize: 10
21
+ };
22
+ const SPINNER_PROPS = {
23
+ size: 10
24
+ };
25
+
26
+ const ItemCount = function ({
27
+ progress,
28
+ onRefresh,
29
+ descriptiveName,
30
+ totalCount,
31
+ className
32
+ }) {
33
+ var _a, _b;
34
+
35
+ let statusIcon;
36
+
37
+ if (progress) {
38
+ if (progress.loaded || progress.total) {
39
+ const progressValue = Math.floor(100 / (progress.total || 100) * (progress.loaded || 0.5)) / 100;
40
+ statusIcon = (0, _react.jsx)(_core.Spinner, Object.assign({}, SPINNER_PROPS, {
41
+ value: progressValue
42
+ }));
43
+ } else {
44
+ statusIcon = (0, _react.jsx)(_core.Spinner, Object.assign({}, SPINNER_PROPS));
45
+ }
46
+ } else if (onRefresh) {
47
+ statusIcon = (0, _react.jsx)(_core.Icon, Object.assign({}, ICON_PROPS, {
48
+ icon: "refresh",
49
+ onClick: onRefresh,
50
+ title: "Click to refresh"
51
+ }));
52
+ } else {
53
+ statusIcon = (0, _react.jsx)(_core.Icon, Object.assign({}, ICON_PROPS, {
54
+ icon: "symbol-circle"
55
+ }));
56
+ }
57
+
58
+ let progressDescription;
59
+
60
+ if (progress) {
61
+ progressDescription = (0, _react.jsx)(_react2.default.Fragment, null, progress.phase, progress.loaded || progress.total ? (0, _react.jsx)("span", null, ": ", (0, _react.jsx)("code", null, (_a = progress.loaded) !== null && _a !== void 0 ? _a : '?'), " of ", (0, _react.jsx)("code", null, (_b = progress.total) !== null && _b !== void 0 ? _b : '?'), "\u2026") : (0, _react.jsx)(_react2.default.Fragment, null, "\u2026"));
62
+ } else {
63
+ progressDescription = null;
64
+ }
65
+
66
+ return (0, _react.jsx)("div", {
67
+ css: (0, _react.css)`display: flex; flex-flow: row nowrap; align-items: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;`,
68
+ className: className
69
+ }, (0, _react.jsx)("div", {
70
+ css: (0, _react.css)`margin-right: .5rem;`
71
+ }, statusIcon), (0, _react.jsx)("div", null, "Showing ", totalCount, " ", descriptiveName ? descriptiveName.plural : 'items'), progressDescription ? (0, _react.jsx)("div", {
72
+ css: (0, _react.css)`text-transform: capitalize`
73
+ }, ". ", progressDescription) : null);
74
+ };
75
+
76
+ exports.ItemCount = ItemCount;
77
+ var _default = ItemCount;
78
+ exports.default = _default;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ItemCount.js","sourceRoot":"","sources":["../../src/widgets/ItemCount.tsx"],"names":[],"mappings":"AAAA,eAAe;AACf,8BAA8B;AAE9B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,UAAU,GAAG;IACjB,QAAQ,EAAE,EAAE;CACb,CAAC;AAEF,MAAM,aAAa,GAAG;IACpB,IAAI,EAAE,EAAE;CACT,CAAC;AAUF,MAAM,CAAC,MAAM,SAAS,GACtB,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE;;IAEvE,IAAI,UAAuB,CAAC;IAC5B,IAAI,QAAQ,EAAE;QACZ,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,KAAK,EAAE;YACrC,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;YACjG,UAAU,GAAG,IAAC,OAAO,oBAAK,aAAa,IAAE,KAAK,EAAE,aAAa,IAAI,CAAC;SACnE;aAAM;YACL,UAAU,GAAG,IAAC,OAAO,oBAAK,aAAa,EAAI,CAAC;SAC7C;KACF;SAAM,IAAI,SAAS,EAAE;QACpB,UAAU,GAAG,IAAC,IAAI,oBAAK,UAAU,IAAE,IAAI,EAAC,SAAS,EAAC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAC,kBAAkB,IAAG,CAAC;KACnG;SAAM;QACL,UAAU,GAAG,IAAC,IAAI,oBAAK,UAAU,IAAE,IAAI,EAAC,eAAe,IAAG,CAAC;KAC5D;IAED,IAAI,mBAAuC,CAAC;IAC5C,IAAI,QAAQ,EAAE;QACZ,mBAAmB,GAAG;YACnB,QAAQ,CAAC,KAAK;YACd,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,KAAK;gBAChC,CAAC,CAAC;;oBAAQ,kBAAO,MAAA,QAAQ,CAAC,MAAM,mCAAI,GAAG,CAAQ;;oBAAI,kBAAO,MAAA,QAAQ,CAAC,KAAK,mCAAI,GAAG,CAAQ;6BAAQ;gBAC/F,CAAC,CAAC,mCAAM,CACT,CAAC;KACL;SAAM;QACL,mBAAmB,GAAG,IAAI,CAAC;KAC5B;IAED,OAAO,CACL,aAAK,GAAG,EAAE,GAAG,CAAA,4HAA4H,EAAE,SAAS,EAAE,SAAS;QAC7J,aAAK,GAAG,EAAE,GAAG,CAAA,sBAAsB,IAChC,UAAU,CACP;QAEN;;YACW,UAAU;;YAAG,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CACpE;QAEL,mBAAmB,CAAC,CAAC,CAAC,aAAK,GAAG,EAAE,GAAG,CAAA,4BAA4B;;YAAK,mBAAmB,CAAO,CAAC,CAAC,CAAC,IAAI,CAClG,CACP,CAAC;AAEJ,CAAC,CAAA;AAED,eAAe,SAAS,CAAC","sourcesContent":["/** @jsx jsx */\n/** @jsxFrag React.Fragment */\n\nimport { Icon, Spinner } from '@blueprintjs/core';\nimport { jsx, css } from '@emotion/react';\nimport React from 'react';\n\n\nconst ICON_PROPS = {\n iconSize: 10,\n};\n\nconst SPINNER_PROPS = {\n size: 10,\n};\n\n\nexport interface ItemCountProps {\n totalCount: number\n descriptiveName?: { singular: string, plural: string }\n progress?: { phase: string, loaded?: number, total?: number } \n onRefresh?: () => void\n className?: string\n}\nexport const ItemCount: React.FC<ItemCountProps> =\nfunction ({ progress, onRefresh, descriptiveName, totalCount, className }) {\n\n let statusIcon: JSX.Element;\n if (progress) {\n if (progress.loaded || progress.total) {\n const progressValue = Math.floor(100 / (progress.total || 100) * (progress.loaded || 0.5)) / 100;\n statusIcon = <Spinner {...SPINNER_PROPS} value={progressValue} />;\n } else {\n statusIcon = <Spinner {...SPINNER_PROPS} />;\n }\n } else if (onRefresh) {\n statusIcon = <Icon {...ICON_PROPS} icon=\"refresh\" onClick={onRefresh} title=\"Click to refresh\" />;\n } else {\n statusIcon = <Icon {...ICON_PROPS} icon=\"symbol-circle\" />;\n }\n\n let progressDescription: JSX.Element | null;\n if (progress) {\n progressDescription = <>\n {progress.phase}\n {progress.loaded || progress.total\n ? <span>: <code>{progress.loaded ?? '?'}</code> of <code>{progress.total ?? '?'}</code>…</span>\n : <>…</>}\n </>;\n } else {\n progressDescription = null;\n }\n\n return (\n <div css={css`display: flex; flex-flow: row nowrap; align-items: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;`} className={className}>\n <div css={css`margin-right: .5rem;`}>\n {statusIcon}\n </div>\n\n <div>\n Showing {totalCount} {descriptiveName ? descriptiveName.plural : 'items'}\n </div>\n\n {progressDescription ? <div css={css`text-transform: capitalize`}>. {progressDescription}</div> : null}\n </div>\n );\n\n}\n\nexport default ItemCount;\n"]}
@@ -0,0 +1,40 @@
1
+ /** @jsx jsx */
2
+ /** @jsxFrag React.Fragment */
3
+ import React from 'react';
4
+ import { IconProps } from '@blueprintjs/core';
5
+ export interface ListData<P extends Record<string, any> = Record<never, never>> {
6
+ items: string[];
7
+ selectedItem: string | null;
8
+ selectItem: (ref: string | null, extraData?: unknown) => void;
9
+ openItem?: (ref: string) => void;
10
+ itemHeight: number;
11
+ padding: number;
12
+ extraData: P;
13
+ }
14
+ declare type ItemDataGetter<P extends Record<string, any> = Record<never, never>> = () => ListData<P> | null;
15
+ export interface ItemProps<P extends Record<string, any> = Record<never, never>> {
16
+ itemRef: string;
17
+ isSelected: boolean;
18
+ onSelect?: (extraData?: unknown) => void;
19
+ onOpen?: () => void;
20
+ padding: number;
21
+ extraData: P;
22
+ }
23
+ export interface ListProps<P extends Record<string, any> = Record<never, never>> {
24
+ getListData: ItemDataGetter<P>;
25
+ className?: string;
26
+ }
27
+ declare function makeList<P extends Record<string, any> = Record<never, never>>(ItemContents: React.FC<ItemProps<P>>): React.FC<ListProps<P>>;
28
+ interface LabelledListIconProps {
29
+ isSelected: boolean;
30
+ onSelect?: () => void;
31
+ onOpen?: () => void;
32
+ contentClassName?: string;
33
+ entityType?: {
34
+ iconProps?: IconProps;
35
+ name: string;
36
+ };
37
+ className?: string;
38
+ }
39
+ export declare const LabelledListIcon: React.FC<LabelledListIconProps>;
40
+ export default makeList;
@@ -0,0 +1,191 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.LabelledListIcon = void 0;
7
+
8
+ var _electronLog = _interopRequireDefault(require("electron-log"));
9
+
10
+ var _throttleDebounce = require("throttle-debounce");
11
+
12
+ var _react = require("@emotion/react");
13
+
14
+ var _react2 = _interopRequireWildcard(require("react"));
15
+
16
+ var _reactWindow = require("react-window");
17
+
18
+ var _reactVirtualizedAutoSizer = _interopRequireDefault(require("react-virtualized-auto-sizer"));
19
+
20
+ var _core = require("@blueprintjs/core");
21
+
22
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
23
+
24
+ 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; }
25
+
26
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
+
28
+ /** @jsx jsx */
29
+
30
+ /** @jsxFrag React.Fragment */
31
+ const COMPACT = false;
32
+
33
+ function makeList(ItemContents) {
34
+ function getListIndex(items, ref) {
35
+ const index = items.indexOf(ref);
36
+
37
+ if (index >= 0) {
38
+ return {
39
+ index
40
+ };
41
+ }
42
+
43
+ return null;
44
+ }
45
+
46
+ const Item = _react2.default.memo(function ({
47
+ index,
48
+ data,
49
+ style
50
+ }) {
51
+ var _a;
52
+
53
+ const _data = data;
54
+ const ref = (_a = _data === null || _data === void 0 ? void 0 : _data.items) === null || _a === void 0 ? void 0 : _a[index];
55
+
56
+ if (ref) {
57
+ const isSelected = _data.selectedItem === ref;
58
+ return (0, _react.jsx)("div", {
59
+ css: (0, _react.css)`
60
+ position: relative;
61
+ transition: box-shadow .25s linear;
62
+ ${!COMPACT ? 'border: 1px solid transparent' : ''};
63
+ ${isSelected ? COMPACT ? 'box-shadow: 2px 2px 14px rgba(0, 0, 0, 0.4); z-index: 3;' : 'border-color: silver; border-style: dotted;' : ''};
64
+ `,
65
+ style: style
66
+ }, (0, _react.jsx)(ItemContents, {
67
+ isSelected: isSelected,
68
+ onSelect: extraData => _data.selectItem(ref, extraData),
69
+ onOpen: _data.openItem ? () => _data.openItem(ref) : undefined,
70
+ padding: _data.padding,
71
+ extraData: _data.extraData,
72
+ itemRef: ref
73
+ }));
74
+ } else {
75
+ return null;
76
+ }
77
+ }, _reactWindow.areEqual);
78
+
79
+ let listDataCache = null;
80
+
81
+ function maybeScrollToItem(listEl) {
82
+ if (listDataCache !== null) {
83
+ const {
84
+ selectedItem,
85
+ items
86
+ } = listDataCache;
87
+
88
+ if (selectedItem !== null) {
89
+ const result = getListIndex(items, selectedItem);
90
+
91
+ if ((result === null || result === void 0 ? void 0 : result.index) !== undefined) {
92
+ listEl.scrollToItem(result.index, 'smart');
93
+ } else {
94
+ _electronLog.default.warn("List: couldn’t find row/column index of the selected item to jump to it", selectedItem);
95
+ }
96
+ }
97
+ }
98
+ }
99
+
100
+ const maybeScrollToItemDebounced = (0, _throttleDebounce.debounce)(100, maybeScrollToItem);
101
+ return ({
102
+ getListData,
103
+ className
104
+ }) => {
105
+ const ref = (0, _react2.useRef)(null);
106
+ const listData = getListData();
107
+ listDataCache = listData;
108
+ (0, _react2.useEffect)(() => {
109
+ const updateListHeight = () => ref.current ? maybeScrollToItemDebounced(ref.current) : void 0;
110
+
111
+ window.addEventListener('resize', updateListHeight);
112
+ updateListHeight();
113
+ return function cleanup() {
114
+ window.removeEventListener('resize', updateListHeight);
115
+ };
116
+ }, [getListData, listData === null || listData === void 0 ? void 0 : listData.selectedItem, ref.current]);
117
+ return (0, _react.jsx)(_reactVirtualizedAutoSizer.default, {
118
+ className: className
119
+ }, ({
120
+ width,
121
+ height
122
+ }) => {
123
+ if (listData) {
124
+ const itemCount = listData.items.length;
125
+ return (0, _react.jsx)(_reactWindow.FixedSizeList, {
126
+ ref: ref,
127
+ width: width,
128
+ height: height,
129
+ itemCount: itemCount,
130
+ itemSize: listData === null || listData === void 0 ? void 0 : listData.itemHeight,
131
+ itemKey: index => {
132
+ var _a;
133
+
134
+ const itemRef = (_a = listData === null || listData === void 0 ? void 0 : listData.items) === null || _a === void 0 ? void 0 : _a[index];
135
+ return itemRef !== null && itemRef !== void 0 ? itemRef : `${index}`;
136
+ },
137
+ itemData: listData
138
+ }, Item);
139
+ } else {
140
+ return null;
141
+ }
142
+ });
143
+ };
144
+ }
145
+
146
+ const LabelledListIcon = function ({
147
+ isSelected,
148
+ onSelect,
149
+ onOpen,
150
+ contentClassName,
151
+ entityType,
152
+ className,
153
+ children
154
+ }) {
155
+ return (0, _react.jsx)("div", {
156
+ onClick: onSelect,
157
+ onDoubleClick: onOpen,
158
+ className: className,
159
+ css: (0, _react.css)`
160
+ position: absolute;
161
+ inset: 0;
162
+ ${!isSelected ? `box-shadow: 1px 1px 0 ${_core.Colors.LIGHT_GRAY5} inset, -1px -1px 0 ${_core.Colors.LIGHT_GRAY1} inset;` : ''}
163
+ overflow: hidden;
164
+ cursor: default;
165
+ z-index: ${isSelected ? 2 : 1};
166
+ display: flex; flex-flow: row nowrap; align-items: center; align-content: center; justify-content: flex-start;
167
+ background: ${isSelected ? `linear-gradient(345deg, ${_core.Colors.LIGHT_GRAY3}, white)` : _core.Colors.LIGHT_GRAY5};`
168
+ }, entityType ? (0, _react.jsx)("div", {
169
+ css: (0, _react.css)`
170
+ z-index: 3; font-size: 85%; line-height: 1.4;
171
+ background: ${isSelected ? _core.Colors.BLUE2 : _core.Colors.LIGHT_GRAY3};
172
+ padding: 10px 5px;
173
+ margin-right: 5px;
174
+ letter-spacing: -0.03em;
175
+ white-space: nowrap;
176
+ ${isSelected ? 'font-variation-settings: \'GRAD\' 600;' : ''};
177
+ color: ${isSelected ? _core.Colors.LIGHT_GRAY4 : _core.Colors.GRAY1};`
178
+ }, entityType.iconProps ? (0, _react.jsx)(_core.Icon, Object.assign({
179
+ iconSize: 10,
180
+ css: (0, _react.css)`position: relative; top: -2px; margin-right: 2.5px;`,
181
+ color: isSelected ? 'white' : _core.Colors.GRAY2,
182
+ intent: isSelected ? 'primary' : undefined
183
+ }, entityType.iconProps)) : null, entityType.name) : null, (0, _react.jsx)("div", {
184
+ css: (0, _react.css)`z-index: 2; flex: 1; font-size: 90%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;`,
185
+ className: contentClassName
186
+ }, children));
187
+ };
188
+
189
+ exports.LabelledListIcon = LabelledListIcon;
190
+ var _default = makeList;
191
+ exports.default = _default;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"List.js","sourceRoot":"","sources":["../../src/widgets/List.tsx"],"names":[],"mappings":"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","sourcesContent":["/** @jsx jsx */\n/** @jsxFrag React.Fragment */\n\nimport log from 'electron-log';\nimport { debounce } from 'throttle-debounce';\nimport { jsx, css } from '@emotion/react';\nimport React, { ComponentType, useEffect, useRef } from 'react';\nimport { FixedSizeList as List, ListChildComponentProps, areEqual } from 'react-window';\nimport AutoSizer from 'react-virtualized-auto-sizer';\nimport { Colors, Icon, IconProps } from '@blueprintjs/core';\n\n\nconst COMPACT = false;\n\nexport interface ListData<P extends Record<string, any> = Record<never, never>> {\n items: string[]\n selectedItem: string | null\n selectItem: (ref: string | null, extraData?: unknown) => void\n openItem?: (ref: string) => void\n itemHeight: number\n padding: number\n extraData: P\n}\n\ntype ItemDataGetter<P extends Record<string, any> = Record<never, never>> = () => ListData<P> | null\n\nexport interface ItemProps<P extends Record<string, any> = Record<never, never>> {\n itemRef: string\n isSelected: boolean\n onSelect?: (extraData?: unknown) => void\n onOpen?: () => void\n padding: number \n extraData: P\n}\n\nexport interface ListProps<P extends Record<string, any> = Record<never, never>> {\n getListData: ItemDataGetter<P>\n className?: string\n}\n\nfunction makeList<P extends Record<string, any> = Record<never, never>>\n(ItemContents: React.FC<ItemProps<P>>):\nReact.FC<ListProps<P>> {\n\n function getListIndex(items: string[], ref: string): { index: number } | null {\n const index = items.indexOf(ref);\n if (index >= 0) {\n return { index };\n }\n return null;\n }\n\n const Item: ComponentType<ListChildComponentProps> =\n React.memo(function ({ index, data, style }) {\n const _data: ListData<P> = data;\n const ref = _data?.items?.[index];\n if (ref) {\n const isSelected = _data.selectedItem === ref;\n return (\n <div\n css={css`\n position: relative;\n transition: box-shadow .25s linear;\n ${!COMPACT ? 'border: 1px solid transparent' : ''};\n ${isSelected\n ? COMPACT\n ? 'box-shadow: 2px 2px 14px rgba(0, 0, 0, 0.4); z-index: 3;'\n : 'border-color: silver; border-style: dotted;'\n : ''};\n `}\n style={style}>\n <ItemContents\n isSelected={isSelected}\n onSelect={(extraData) => _data.selectItem(ref, extraData)}\n onOpen={_data.openItem ? () => _data.openItem!(ref) : undefined}\n padding={_data.padding}\n extraData={_data.extraData as P}\n itemRef={ref} />\n </div>\n );\n } else {\n return null;\n }\n }, areEqual);\n\n let listDataCache: ListData<P> | null = null;\n\n function maybeScrollToItem(listEl: List) {\n if (listDataCache !== null) {\n const { selectedItem, items } = listDataCache;\n if (selectedItem !== null) {\n const result = getListIndex(items, selectedItem);\n if (result?.index !== undefined) {\n listEl.scrollToItem(result.index, 'smart');\n } else {\n log.warn(\"List: couldn’t find row/column index of the selected item to jump to it\", selectedItem);\n }\n }\n }\n }\n const maybeScrollToItemDebounced = debounce(100, maybeScrollToItem);\n\n return ({ getListData, className }) => {\n const ref = useRef<List>(null);\n\n const listData = getListData();\n listDataCache = listData;\n\n useEffect(() => {\n const updateListHeight = () => ref.current\n ? maybeScrollToItemDebounced(ref.current)\n : void 0;\n window.addEventListener('resize', updateListHeight);\n updateListHeight();\n return function cleanup() {\n window.removeEventListener('resize', updateListHeight);\n }\n }, [getListData, listData?.selectedItem, ref.current]);\n\n return (\n <AutoSizer className={className}>\n {({ width, height }) => {\n if (listData) {\n const itemCount = listData.items.length;\n return (\n <List\n ref={ref}\n width={width}\n height={height}\n itemCount={itemCount}\n itemSize={listData?.itemHeight}\n itemKey={(index) => {\n const itemRef = listData?.items?.[index];\n return itemRef ?? `${index}`;\n }}\n itemData={listData}>\n {Item}\n </List>\n );\n } else {\n return null;\n }\n }}\n </AutoSizer>\n );\n };\n}\n\n\ninterface LabelledListIconProps {\n isSelected: boolean\n onSelect?: () => void\n onOpen?: () => void\n contentClassName?: string\n entityType?: {\n iconProps?: IconProps\n name: string\n }\n className?: string\n}\n\nexport const LabelledListIcon: React.FC<LabelledListIconProps> =\nfunction ({ isSelected, onSelect, onOpen, contentClassName, entityType, className, children }) {\n return (\n <div\n onClick={onSelect}\n onDoubleClick={onOpen}\n className={className}\n css={css`\n position: absolute;\n inset: 0;\n ${!isSelected\n ? `box-shadow: 1px 1px 0 ${Colors.LIGHT_GRAY5} inset, -1px -1px 0 ${Colors.LIGHT_GRAY1} inset;`\n : ''}\n overflow: hidden;\n cursor: default;\n z-index: ${isSelected ? 2 : 1};\n display: flex; flex-flow: row nowrap; align-items: center; align-content: center; justify-content: flex-start;\n background: ${isSelected ? `linear-gradient(345deg, ${Colors.LIGHT_GRAY3}, white)` : Colors.LIGHT_GRAY5};`}>\n {entityType\n ? <div css={css`\n z-index: 3; font-size: 85%; line-height: 1.4;\n background: ${isSelected ? Colors.BLUE2 : Colors.LIGHT_GRAY3};\n padding: 10px 5px;\n margin-right: 5px;\n letter-spacing: -0.03em;\n white-space: nowrap;\n ${isSelected ? 'font-variation-settings: \\'GRAD\\' 600;' : ''};\n color: ${isSelected ? Colors.LIGHT_GRAY4 : Colors.GRAY1};`}>\n {entityType.iconProps\n ? <Icon\n iconSize={10}\n css={css`position: relative; top: -2px; margin-right: 2.5px;`}\n color={isSelected ? 'white' : Colors.GRAY2}\n intent={isSelected ? 'primary' : undefined}\n {...entityType.iconProps}\n />\n : null}\n {entityType.name}\n </div>\n : null}\n <div\n css={css`z-index: 2; flex: 1; font-size: 90%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;`}\n className={contentClassName}>\n {children}\n </div>\n </div>\n );\n};\n\n\nexport default makeList;\n"]}
@@ -0,0 +1,20 @@
1
+ /** @jsx jsx */
2
+ /** @jsxFrag React.Fragment */
3
+ import React from 'react';
4
+ import { IconName } from '@blueprintjs/core';
5
+ export interface NavbarProps {
6
+ breadcrumbs: BreadcrumbProps[];
7
+ hideBackForwardNav?: true;
8
+ onGoBack?: () => void;
9
+ onGoForward?: () => void;
10
+ className?: string;
11
+ }
12
+ export declare const Navbar: React.FC<NavbarProps>;
13
+ export default Navbar;
14
+ interface BreadcrumbProps {
15
+ label: JSX.Element;
16
+ onNavigate?: () => void;
17
+ icon?: IconName;
18
+ className?: string;
19
+ }
20
+ export declare const Breadcrumb: React.FC<BreadcrumbProps>;
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Breadcrumb = exports.default = exports.Navbar = 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
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ /** @jsx jsx */
17
+
18
+ /** @jsxFrag React.Fragment */
19
+ const Navbar = function ({
20
+ breadcrumbs,
21
+ onGoBack,
22
+ onGoForward,
23
+ hideBackForwardNav,
24
+ className
25
+ }) {
26
+ return (0, _react.jsx)(_react2.default.Fragment, null, (0, _react.jsx)("div", {
27
+ className: className,
28
+ css: (0, _react.css)`
29
+ box-sizing: border-box;
30
+ display: flex; flex-flow: row nowrap; align-items: center;
31
+ font-size: 80%; line-height: 0;
32
+ `
33
+ }, breadcrumbs.map((crumb, idx) => (0, _react.jsx)(_react2.default.Fragment, {
34
+ key: idx
35
+ }, (0, _react.jsx)(Breadcrumb, Object.assign({}, crumb)), idx !== breadcrumbs.length - 1 ? (0, _react.jsx)(_core.Icon, {
36
+ icon: "chevron-right",
37
+ iconSize: 10,
38
+ key: idx
39
+ }) : null))), !hideBackForwardNav ? (0, _react.jsx)(_core.ButtonGroup, null, (0, _react.jsx)(_core.Button, {
40
+ disabled: !onGoBack,
41
+ icon: "arrow-left",
42
+ title: "Back"
43
+ }), (0, _react.jsx)(_core.Button, {
44
+ disabled: !onGoForward,
45
+ icon: "arrow-right",
46
+ title: "Forward"
47
+ })) : null);
48
+ };
49
+
50
+ exports.Navbar = Navbar;
51
+ var _default = Navbar;
52
+ exports.default = _default;
53
+
54
+ const Breadcrumb = function ({
55
+ className,
56
+ label,
57
+ icon,
58
+ onNavigate
59
+ }) {
60
+ return (0, _react.jsx)("div", {
61
+ css: (0, _react.css)`
62
+ padding: 0 10px;
63
+ display: flex;
64
+ flex-flow: row nowrap;
65
+ align-items: center;
66
+ ${onNavigate ? 'cursor: pointer;' : ''}
67
+ `,
68
+ onClick: onNavigate,
69
+ className: className
70
+ }, icon ? (0, _react.jsx)("div", {
71
+ css: (0, _react.css)`margin-right: .5rem;`
72
+ }, icon) : null, label);
73
+ };
74
+
75
+ exports.Breadcrumb = Breadcrumb;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Navbar.js","sourceRoot":"","sources":["../../src/widgets/Navbar.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,WAAW,EAAE,IAAI,EAAY,MAAM,mBAAmB,CAAC;AAUxE,MAAM,CAAC,MAAM,MAAM,GACnB,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE,SAAS,EAAE;IAC7E,OAAO,CACL;QACE,aACE,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,GAAG,CAAA;;;;WAIL,IACF,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAC9B,IAAC,KAAK,CAAC,QAAQ,IAAC,GAAG,EAAE,GAAG;YACtB,IAAC,UAAU,oBAAK,KAAK,EAAI;YACxB,GAAG,KAAK,WAAW,CAAC,MAAM,GAAG,CAAC;gBAC7B,CAAC,CAAC,IAAC,IAAI,IAAC,IAAI,EAAC,eAAe,EAAC,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAI;gBACvD,CAAC,CAAC,IAAI,CACO,CAClB,CACG;QACL,CAAC,kBAAkB;YAClB,CAAC,CAAC,IAAC,WAAW;gBACV,IAAC,MAAM,IAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAC,YAAY,EAAC,KAAK,EAAC,MAAM,GAAG;gBAC9D,IAAC,MAAM,IAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,IAAI,EAAC,aAAa,EAAC,KAAK,EAAC,SAAS,GAAG,CACzD;YAChB,CAAC,CAAC,IAAI,CACP,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,MAAM,CAAC;AAUtB,MAAM,CAAC,MAAM,UAAU,GAA8B,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE;IACnG,OAAO,CACL,aACE,GAAG,EAAE,GAAG,CAAA;;;;;YAKF,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE;SACvC,EACH,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,SAAS;QAEnB,IAAI;YACH,CAAC,CAAC,aAAK,GAAG,EAAE,GAAG,CAAA,sBAAsB,IAClC,IAAI,CACD;YACN,CAAC,CAAC,IAAI;QAEP,KAAK,CACF,CACP,CAAC;AACJ,CAAC,CAAC","sourcesContent":["/** @jsx jsx */\n/** @jsxFrag React.Fragment */\n\nimport { jsx, css } from '@emotion/react';\nimport React from 'react';\nimport { Button, ButtonGroup, Icon, IconName } from '@blueprintjs/core';\n\nexport interface NavbarProps {\n breadcrumbs: BreadcrumbProps[];\n hideBackForwardNav?: true;\n onGoBack?: () => void;\n onGoForward?: () => void;\n className?: string\n}\n\nexport const Navbar: React.FC<NavbarProps> =\nfunction ({ breadcrumbs, onGoBack, onGoForward, hideBackForwardNav, className }) {\n return (\n <>\n <div\n className={className}\n css={css`\n box-sizing: border-box;\n display: flex; flex-flow: row nowrap; align-items: center;\n font-size: 80%; line-height: 0;\n `}>\n {breadcrumbs.map((crumb, idx) =>\n <React.Fragment key={idx}>\n <Breadcrumb {...crumb} />\n {idx !== breadcrumbs.length - 1\n ? <Icon icon=\"chevron-right\" iconSize={10} key={idx} />\n : null}\n </React.Fragment>\n )}\n </div>\n {!hideBackForwardNav\n ? <ButtonGroup>\n <Button disabled={!onGoBack} icon=\"arrow-left\" title=\"Back\" />\n <Button disabled={!onGoForward} icon=\"arrow-right\" title=\"Forward\" />\n </ButtonGroup>\n : null}\n </>\n );\n};\n\nexport default Navbar;\n\n\ninterface BreadcrumbProps {\n label: JSX.Element;\n onNavigate?: () => void;\n icon?: IconName;\n className?: string;\n}\n\nexport const Breadcrumb: React.FC<BreadcrumbProps> = function ({ className, label, icon, onNavigate }) {\n return (\n <div\n css={css`\n padding: 0 10px;\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n ${onNavigate ? 'cursor: pointer;' : ''}\n `}\n onClick={onNavigate}\n className={className}>\n\n {icon\n ? <div css={css`margin-right: .5rem;`}>\n {icon}\n </div>\n : null}\n\n {label}\n </div>\n );\n};\n"]}
@@ -0,0 +1,24 @@
1
+ /** @jsx jsx */
2
+ /** @jsxFrag React.Fragment */
3
+ import React from 'react';
4
+ import { IconProps } from '@blueprintjs/core';
5
+ export interface SearchResultListData {
6
+ indexID: string;
7
+ selectedItemPath: string | null;
8
+ }
9
+ interface SearchResultListProps {
10
+ queryExpression: string;
11
+ selectedItemPath: string | null;
12
+ onSelectItem: (itemPath: string | null) => void;
13
+ onOpenItem?: (itemPath: string) => void;
14
+ keyExpression?: string;
15
+ className?: string;
16
+ }
17
+ export default function makeSearchResultList<ObjectData extends Record<string, any>>(InnerItemView: React.FC<{
18
+ objectData: ObjectData;
19
+ objectPath: string;
20
+ }>, getEntityInfoForObjectPath: (objPath: string) => {
21
+ name: string;
22
+ iconProps: IconProps;
23
+ }): React.FC<SearchResultListProps>;
24
+ export {};