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