@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,98 @@
|
|
|
1
|
+
/** @jsx jsx */
|
|
2
|
+
/** @jsxFrag React.Fragment */
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { type HelmetProps } from 'react-helmet';
|
|
5
|
+
import { type CardProps, type FormGroupProps, type ButtonProps, type TagProps } from '@blueprintjs/core';
|
|
6
|
+
import { type HelpTooltipProps } from '@riboseinc/paneron-extension-kit/widgets/HelpTooltip';
|
|
7
|
+
import type { ItemClassConfiguration, RelatedItemClassConfiguration } from '../types';
|
|
8
|
+
export { GenericRelatedItemView } from './GenericRelatedItemView';
|
|
9
|
+
/**
|
|
10
|
+
* Get give string truncated & with ellipsis appended
|
|
11
|
+
* if its length exceeds given number of characters.
|
|
12
|
+
*/
|
|
13
|
+
export declare function maybeEllipsizeString(str: string, maxLength?: number): string;
|
|
14
|
+
export declare const RegisterHelmet: React.FC<HelmetProps>;
|
|
15
|
+
/**
|
|
16
|
+
* A wrapper to show property data with its label(s).
|
|
17
|
+
*/
|
|
18
|
+
export declare const PropertyDetailView: React.FC<FormGroupProps & {
|
|
19
|
+
/** @deprecated use `label` instead */
|
|
20
|
+
title?: FormGroupProps["label"];
|
|
21
|
+
/** @deprecated use `labelInfo` instead */
|
|
22
|
+
secondaryTitle?: FormGroupProps["labelInfo"];
|
|
23
|
+
}>;
|
|
24
|
+
/** Formats given date as a span with tooltip set to full ISO date & time. */
|
|
25
|
+
export declare const Datestamp: React.FC<{
|
|
26
|
+
date: Date;
|
|
27
|
+
/** See formatDate(). */
|
|
28
|
+
useUTC?: boolean;
|
|
29
|
+
/** See formatDate(). */
|
|
30
|
+
showTime?: boolean;
|
|
31
|
+
/** See formatDate(). */
|
|
32
|
+
showTimeIfNonZero?: boolean;
|
|
33
|
+
title?: string;
|
|
34
|
+
className?: string;
|
|
35
|
+
}>;
|
|
36
|
+
/** Foramts given date as plain text. */
|
|
37
|
+
export declare function formatDate(date: Date, opts?: {
|
|
38
|
+
/** Show time in UTC. Will add the “UTC”, unless time is shown. */
|
|
39
|
+
useUTC?: boolean;
|
|
40
|
+
/** Show date along with full time, to seconds. */
|
|
41
|
+
showTime?: boolean;
|
|
42
|
+
/** Show time, unless it’s 00:00:00 on the day. */
|
|
43
|
+
showTimeIfNonZero?: boolean;
|
|
44
|
+
}): string;
|
|
45
|
+
export declare const _getRelatedClass: (classes: Record<string, ItemClassConfiguration<any>>) => (clsID: string) => RelatedItemClassConfiguration;
|
|
46
|
+
export declare type ClassificationEntry = TagProps & {
|
|
47
|
+
tooltip?: HelpTooltipProps;
|
|
48
|
+
};
|
|
49
|
+
export interface TabContentsWithHeaderProps {
|
|
50
|
+
title: JSX.Element | string;
|
|
51
|
+
smallTitle?: boolean;
|
|
52
|
+
classification?: ClassificationEntry[];
|
|
53
|
+
actions?: (ActionProps | ActionProps[])[];
|
|
54
|
+
tooltip?: HelpTooltipProps;
|
|
55
|
+
className?: string;
|
|
56
|
+
/**
|
|
57
|
+
* CSS to apply to child contents wrapper div.
|
|
58
|
+
*
|
|
59
|
+
* If 'card-grid', children would be expected to be cards
|
|
60
|
+
* (e.g., `FormGroupAsCardInGrid` or `CardInGrid`)
|
|
61
|
+
*
|
|
62
|
+
* 'card-grid' implies 'scrollable'.
|
|
63
|
+
*/
|
|
64
|
+
layout?: undefined | 'card-grid' | 'scrollable';
|
|
65
|
+
layoutOptions?: Record<string, unknown>;
|
|
66
|
+
}
|
|
67
|
+
interface Grid extends TabContentsWithHeaderProps {
|
|
68
|
+
layout: 'card-grid';
|
|
69
|
+
layoutOptions?: {
|
|
70
|
+
gapPx?: number;
|
|
71
|
+
stretch?: boolean;
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
interface Scrollable extends TabContentsWithHeaderProps {
|
|
75
|
+
layout: 'scrollable';
|
|
76
|
+
layoutOptions?: never;
|
|
77
|
+
}
|
|
78
|
+
interface NoLayout extends TabContentsWithHeaderProps {
|
|
79
|
+
layout?: undefined;
|
|
80
|
+
layoutOptions?: never;
|
|
81
|
+
}
|
|
82
|
+
export declare const TabContentsWithHeader: React.FC<Grid | Scrollable | NoLayout>;
|
|
83
|
+
export declare type ActionProps = ButtonProps & ({
|
|
84
|
+
popup?: JSX.Element;
|
|
85
|
+
tooltip?: string;
|
|
86
|
+
});
|
|
87
|
+
export declare const CardInGrid: React.FC<{
|
|
88
|
+
description: string;
|
|
89
|
+
} & CardProps>;
|
|
90
|
+
/** Useful in case of tab “card-grid” layout. */
|
|
91
|
+
export declare const FormGroupAsCardInGrid: React.FC<FormGroupProps & {
|
|
92
|
+
paddingPx?: number;
|
|
93
|
+
}>;
|
|
94
|
+
export declare const MoreMenu: React.FC<Record<never, never>>;
|
|
95
|
+
export declare const ItemClassMenu: React.FC<{
|
|
96
|
+
cfg: ItemClassConfiguration<any>;
|
|
97
|
+
onCreate?: () => void;
|
|
98
|
+
}>;
|
|
@@ -29,8 +29,6 @@ var _popover = require("@blueprintjs/popover2");
|
|
|
29
29
|
|
|
30
30
|
var _context = require("@riboseinc/paneron-extension-kit/context");
|
|
31
31
|
|
|
32
|
-
var _HelpTooltip = _interopRequireDefault(require("@riboseinc/paneron-extension-kit/widgets/HelpTooltip"));
|
|
33
|
-
|
|
34
32
|
var _BrowserCtx = require("./BrowserCtx");
|
|
35
33
|
|
|
36
34
|
var _GenericRelatedItemView = require("./GenericRelatedItemView");
|
|
@@ -219,14 +217,42 @@ const TabContentsWithHeader = function ({
|
|
|
219
217
|
flex-flow: row wrap;
|
|
220
218
|
gap: ${paddingPx}px;
|
|
221
219
|
`
|
|
222
|
-
}, classification.map((p, idx) => (0, _react2.jsx)(
|
|
220
|
+
}, classification.map((p, idx) => (0, _react2.jsx)(_react.default.Fragment, null, p.tooltip ? (0, _react2.jsx)(_react2.ClassNames, null, ({
|
|
221
|
+
css: css2,
|
|
222
|
+
cx
|
|
223
|
+
}) => (0, _react2.jsx)(_popover.Tooltip2, {
|
|
224
|
+
popoverClassName: `${css2`
|
|
225
|
+
.bp4-popover2-content {
|
|
226
|
+
min-width: 500px;
|
|
227
|
+
a {
|
|
228
|
+
color: black !important;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
`}`,
|
|
232
|
+
hoverCloseDelay: 600,
|
|
233
|
+
hoverOpenDelay: 600,
|
|
234
|
+
interactionKind: _popover.Popover2InteractionKind.HOVER,
|
|
235
|
+
intent: p.tooltip.intent,
|
|
236
|
+
...p.tooltip,
|
|
237
|
+
css: (0, _react2.css)`
|
|
238
|
+
cursor: help;
|
|
239
|
+
`,
|
|
240
|
+
content: p.tooltip.content
|
|
241
|
+
}, (0, _react2.jsx)(_core.Tag, {
|
|
242
|
+
key: idx,
|
|
243
|
+
minimal: true,
|
|
244
|
+
...p,
|
|
245
|
+
large: !smallTitle
|
|
246
|
+
}, p.children, "\u2002", (0, _react2.jsx)(_core.Icon, {
|
|
247
|
+
icon: "help",
|
|
248
|
+
css: (0, _react2.css)`margin-bottom: 1px; opacity: .5`,
|
|
249
|
+
size: 12
|
|
250
|
+
})))) : (0, _react2.jsx)(_core.Tag, {
|
|
223
251
|
key: idx,
|
|
224
252
|
minimal: true,
|
|
225
253
|
...p,
|
|
226
|
-
large: !smallTitle
|
|
227
|
-
|
|
228
|
-
}) : undefined
|
|
229
|
-
}))) : null, (0, _react2.jsx)("div", {
|
|
254
|
+
large: !smallTitle
|
|
255
|
+
})))) : null, (0, _react2.jsx)("div", {
|
|
230
256
|
css: (0, _react2.css)`
|
|
231
257
|
position: relative;
|
|
232
258
|
flex: 1;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/views/util.tsx"],"names":[],"mappings":"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","sourcesContent":["/** @jsx jsx */\n/** @jsxFrag React.Fragment */\n\n//import log from 'electron-log';\nimport format from 'date-fns/format';\nimport { format as formatTZ, utcToZonedTime } from 'date-fns-tz';\n\nimport React, { memo, useContext } from 'react';\nimport { Helmet, type HelmetProps } from 'react-helmet';\nimport { ClassNames, css, jsx } from '@emotion/react';\nimport {\n Card, type CardProps,\n Icon,\n Classes,\n FormGroup, type FormGroupProps,\n H3, H4,\n Button as BaseButton, type ButtonProps,\n Menu, MenuDivider, MenuItem,\n ButtonGroup,\n Tag, type TagProps,\n Colors,\n} from '@blueprintjs/core';\nimport { Popover2InteractionKind, Tooltip2 } from '@blueprintjs/popover2';\nimport { Popover2 as Popover } from '@blueprintjs/popover2';\nimport { DatasetContext } from '@riboseinc/paneron-extension-kit/context';\nimport { type HelpTooltipProps } from '@riboseinc/paneron-extension-kit/widgets/HelpTooltip';\nimport { BrowserCtx } from './BrowserCtx';\nimport type { ItemClassConfiguration, RelatedItemClassConfiguration } from '../types';\nexport { GenericRelatedItemView } from './GenericRelatedItemView';\n\n\n/**\n * Get give string truncated & with ellipsis appended\n * if its length exceeds given number of characters.\n */\nexport function maybeEllipsizeString(\n str: string,\n maxLength: number = 20,\n): string {\n return str.length > maxLength\n ? `${str.slice(0, maxLength)}…`\n : str;\n}\n\n\nexport const RegisterHelmet: React.FC<HelmetProps> = memo(function (props) {\n const { title: datasetTitle } = useContext(DatasetContext);\n const { registerMetadata } = useContext(BrowserCtx);\n\n return (\n <Helmet\n titleTemplate={`%s in ${registerMetadata?.name ?? datasetTitle}`}\n defaultTitle={`${registerMetadata?.name ?? datasetTitle}`}>\n {props.children}\n </Helmet>\n );\n});\n\n\n/**\n * A wrapper to show property data with its label(s).\n */\nexport const PropertyDetailView: React.FC<FormGroupProps & {\n /** @deprecated use `label` instead */\n title?: FormGroupProps[\"label\"]\n /** @deprecated use `labelInfo` instead */\n secondaryTitle?: FormGroupProps[\"labelInfo\"]\n}> = function ({\n label, labelInfo,\n title, secondaryTitle,\n ...props }) {\n return (\n <FormGroup\n label={label || title ? `${label ?? title}:` : undefined}\n labelInfo={labelInfo ?? secondaryTitle}\n css={css`\n &, &.bp4-inline {\n label.bp4-label {\n /*\n * Since it’s in flex container, label expands to fill its width,\n * and due to the mechanics of how labels work (?)\n * any button (e.g., for deletion) within labelInfo\n * would responds to events of the entire label\n * (meaning you can hover space to the right of the label and labelInfo\n * and the button would still be clickable).\n * This makes the label not fill flex container width.\n */\n align-self: flex-start;\n\n font-weight: bold;\n line-height: unset;\n text-transform: capitalize;\n .bp4-text-muted {\n text-transform: none;\n }\n }\n }\n `}\n {...props}\n />\n );\n};\n\n\n/** Formats given date as a span with tooltip set to full ISO date & time. */\nexport const Datestamp: React.FC<{\n date: Date\n /** See formatDate(). */\n useUTC?: boolean\n /** See formatDate(). */\n showTime?: boolean\n /** See formatDate(). */\n showTimeIfNonZero?: boolean\n title?: string\n className?: string\n}> = function ({ date, useUTC, showTime, showTimeIfNonZero, title, className }) {\n const asString = formatDate(date, { useUTC, showTime, showTimeIfNonZero });\n return <span\n className={className}\n title={`${title ? `${title}: ` : ''}${date?.toString() ?? 'N/A'}`}>\n {asString}\n </span>;\n};\n\n\nfunction formatInTimeZone(date: Date, fmt: string, tz: string) {\n return formatTZ(\n utcToZonedTime(date, tz),\n fmt,\n { timeZone: tz });\n}\n\nfunction timeIsNonZero(date: Date): boolean {\n return (\n date.getMilliseconds() === 0 &&\n date.getSeconds() === 0 &&\n date.getMinutes() === 0 &&\n date.getHours() === 0);\n}\n\n\n/** Foramts given date as plain text. */\nexport function formatDate(\n date: Date,\n opts?: {\n /** Show time in UTC. Will add the “UTC”, unless time is shown. */\n useUTC?: boolean\n /** Show date along with full time, to seconds. */\n showTime?: boolean\n /** Show time, unless it’s 00:00:00 on the day. */\n showTimeIfNonZero?: boolean\n },\n): string {\n const showTime = opts?.showTime || (opts?.showTimeIfNonZero && timeIsNonZero(date));\n const fmt = showTime\n ? 'yyyy-MM-dd HH:mm:ss'\n : 'yyyy-MM-dd';\n try {\n return opts?.useUTC\n ? `${formatInTimeZone(date, fmt, 'UTC')}${showTime ? ' UTC' : ''}`\n : format(date, fmt);\n } catch (e) {\n console.error(\"Failed to format date\", date, typeof date);\n return `Invalid date (${e})`;\n }\n}\n\n\nexport const _getRelatedClass = (classes: Record<string, ItemClassConfiguration<any>>) => {\n return (clsID: string): RelatedItemClassConfiguration => {\n const cfg = classes[clsID];\n return {\n title: cfg.meta.title,\n // TODO: The itemView/listItemView inconsistency is annoying\n itemView: cfg.views.listItemView,\n };\n };\n};\n\n\n// /**\n// * Suitable for use as tab contents for TabbedWorkspace.\n// * Provides top bar with actions and main content.\n// */\n// export const TabContentsWithActions: React.FC<{\n// actions: JSX.Element;\n// main: JSX.Element;\n// gapPx?: number;\n// className?: string;\n// }> = function ({ actions, gapPx: _gapPx, main, className }) {\n// const gapPx = _gapPx ?? 10;\n// return (\n// <div css={css`\n// position: absolute; inset: 0;\n// display: flex; flex-flow: column nowrap;\n// `} className={className}>\n// <div css={css`flex: 0; padding: ${gapPx}px; display: flex; flex-flow: row wrap; gap: ${gapPx}px;`}>\n// {actions}\n// </div>\n// <div css={css`\n// position: relative;\n// flex: 1;\n// padding: ${gapPx}px;\n// overflow-y: auto;\n// background: ${Colors.GRAY5};\n// .bp4-dark & { background: ${Colors.DARK_GRAY2}; }\n// `}>\n// {main}\n// </div>\n// </div>\n// );\n// };\n\n\nexport type ClassificationEntry = TagProps & { tooltip?: HelpTooltipProps };\nexport interface TabContentsWithHeaderProps {\n title: JSX.Element | string\n smallTitle?: boolean\n classification?: ClassificationEntry[]\n actions?: (ActionProps | ActionProps[])[]\n tooltip?: HelpTooltipProps\n className?: string\n\n /**\n * CSS to apply to child contents wrapper div.\n *\n * If 'card-grid', children would be expected to be cards\n * (e.g., `FormGroupAsCardInGrid` or `CardInGrid`)\n *\n * 'card-grid' implies 'scrollable'.\n */\n layout?: undefined | 'card-grid' | 'scrollable'\n layoutOptions?: Record<string, unknown>\n}\ninterface Grid extends TabContentsWithHeaderProps {\n layout: 'card-grid'\n layoutOptions?: {\n gapPx?: number\n stretch?: boolean\n }\n}\ninterface Scrollable extends TabContentsWithHeaderProps {\n layout: 'scrollable'\n layoutOptions?: never\n}\ninterface NoLayout extends TabContentsWithHeaderProps {\n layout?: undefined\n layoutOptions?: never\n}\nconst paddingPx = 11;\nfunction findEnabledActions\n<T extends ButtonProps | ButtonProps[] = ButtonProps | ButtonProps[]>\n(props: T[]): ButtonProps[] {\n return props.map(props =>\n (props as ButtonProps[]).length !== undefined\n ? (props as ButtonProps[]).filter(p => !p.disabled)\n : !(props as ButtonProps).disabled\n ? props\n : []\n ).flat();\n}\nexport const TabContentsWithHeader: React.FC<Grid | Scrollable | NoLayout> =\nfunction ({ title, smallTitle, classification, actions, layout, layoutOptions, className, children }) {\n const hasClassification = (classification ?? []).length > 0;\n\n const enabledActions = actions ? findEnabledActions(actions) : [];\n const hasActions = enabledActions.length > 0;\n\n // if (enabledActions.length === 1 && !enabledActions[0].intent) {\n // enabledActions[0].intent = 'primary';\n // }\n\n return (\n <div css={css`\n position: absolute; inset: 0;\n padding-top: ${paddingPx}px;\n ${hasActions ? `padding-bottom: ${paddingPx}px;` : ''}\n display: flex; flex-flow: column nowrap;\n gap: ${paddingPx}px;\n `} className={className}>\n {smallTitle\n ? <H4 css={css`margin: 0 ${paddingPx}px;`}>{title}</H4>\n : <H3 css={css`margin: 0 ${paddingPx}px;`}>{title}</H3>}\n {hasClassification\n ? <div css={css`\n flex: 0;\n margin: 0 ${paddingPx}px;\n display: flex;\n flex-flow: row wrap;\n gap: ${paddingPx}px;\n `}>\n {classification!.map((p, idx) =>\n <>\n {p.tooltip\n ? <ClassNames>\n {({ css: css2, cx }) => (\n <Tooltip2\n popoverClassName={`${css2`\n .bp4-popover2-content {\n min-width: 500px;\n a {\n color: black !important;\n }\n }\n `}`}\n hoverCloseDelay={600}\n hoverOpenDelay={600}\n interactionKind={Popover2InteractionKind.HOVER}\n intent={p.tooltip!.intent}\n {...p.tooltip}\n css={css`\n cursor: help;\n `}\n content={p.tooltip!.content}>\n <Tag\n key={idx}\n minimal\n {...p}\n large={!smallTitle}\n >\n {p.children}\n  \n <Icon\n icon=\"help\"\n css={css`margin-bottom: 1px; opacity: .5`}\n size={12}\n />\n </Tag>\n </Tooltip2>\n )}\n </ClassNames>\n : <Tag\n key={idx}\n minimal\n {...p}\n large={!smallTitle}\n />}\n </>\n )}\n </div>\n : null}\n <div css={css`\n position: relative;\n flex: 1;\n overflow-y: auto;\n\n ${layout === undefined\n ? `\n > :only-child { position: absolute; inset: 0 }\n box-shadow: black 0 0 20px -10px;\n `\n : `\n padding: 0 10px;\n &::after, &::before {\n pointer-events: none;\n content: \" \";\n display: block;\n position: sticky;\n width: 100%;\n height: 1px;\n background: ${Colors.GRAY5};\n .bp4-dark & { background: ${Colors.DARK_GRAY2}; }\n z-index: 10;\n }\n &::before {\n top: 0;\n box-shadow: ${Colors.GRAY5} 0 -20px 20px 20px;\n .bp4-dark & {\n box-shadow: ${Colors.DARK_GRAY2} 0 -20px 20px 20px;\n }\n }\n &::after {\n bottom: 0;\n box-shadow: ${Colors.GRAY5} 0 20px 20px 20px;\n .bp4-dark & {\n box-shadow: ${Colors.DARK_GRAY2} 0 20px 20px 20px;\n }\n }\n `}\n\n ${layout === 'scrollable' || layout === 'card-grid'\n ? `\n background: ${Colors.GRAY5};\n .bp4-dark & { background: ${Colors.DARK_GRAY2}; }\n `\n : ''}\n\n ${layout === 'card-grid'\n ? `\n display: flex;\n flex-flow: row wrap;\n align-content: flex-start;\n ${layoutOptions?.stretch\n ? 'align-items: stretch;'\n : 'align-items: flex-start;'}\n gap: ${layoutOptions?.gapPx ?? 10}px;\n `\n : ''}\n `}>\n {children}\n </div>\n\n {hasActions\n ? <div css={css`\n margin: 0 ${paddingPx}px;\n flex: 0; display: flex; flex-flow: row wrap; gap: ${paddingPx}px;\n `}>\n {actions!.map((props, idx) => {\n if (props.hasOwnProperty('length') && (props as ButtonProps[]).length !== undefined) {\n return (\n <ButtonGroup key={idx}>\n {(props as ButtonProps[]).map((p, idx) =>\n <Action {...p} key={idx} />\n )}\n </ButtonGroup>\n );\n } else {\n return <Action key={idx} {...(props as ButtonProps)} />;\n }\n })}\n </div>\n : null}\n </div>\n );\n};\n\n\nexport type ActionProps = ButtonProps & ({ popup?: JSX.Element, tooltip?: string });\n/** Mostly a button, but with an optional popup. */\nconst Action: React.FC<ActionProps & { key?: number | string }> = function ({ popup, tooltip, ...props }) {\n const btn = <BaseButton\n {...props}\n intent={props.disabled ? undefined : props.intent}\n onClick={props.disabled ? undefined : props.onClick}\n disabled={props.active ? false : props.disabled}\n title={tooltip}\n rightIcon={popup ? 'more' : undefined}\n />;\n\n if (popup && !props.disabled) {\n return (\n <Popover key={props.key} content={popup} placement=\"top\" minimal interactionKind=\"click\">\n {btn}\n </Popover>\n );\n } else {\n return btn;\n }\n};\n\n\nexport const CardInGrid: React.FC<{ description: string } & CardProps> =\nfunction ({ description, className, ...props }) {\n return (\n <Card\n css={css`border-radius: 5px;`}\n title={description}\n className={!props.interactive\n ? `${Classes.ELEVATION_3} ${className ?? ''}`\n : className}\n {...props}\n />\n );\n};\n\n\n/** Useful in case of tab “card-grid” layout. */\nexport const FormGroupAsCardInGrid: React.FC<FormGroupProps & { paddingPx?: number }> =\nfunction ({ paddingPx, ...props }) {\n const paddingPx_ = paddingPx ?? 11;\n return (\n <FormGroup\n {...props}\n css={css`\n margin: 0;\n\n border-radius: 5px;\n padding: ${paddingPx_}px;\n\n > label.bp4-label {\n font-weight: bold;\n margin-bottom: ${paddingPx_}px;\n }\n > .bp4-form-content {\n display: flex;\n flex-flow: column nowrap;\n gap: ${paddingPx_}px;\n\n > .bp4-form-group {\n margin: 0;\n }\n }\n\n /* Note: these colors are picked to work with some form widgets, date input widget specifically. */\n background: ${Colors.WHITE};\n .bp4-dark & { background: ${Colors.DARK_GRAY3}; }\n `}\n className={`${Classes.ELEVATION_3} ${props.className}`}\n />\n );\n};\n\n\nexport const MoreMenu: React.FC<Record<never, never>> = memo(function ({ children }) {\n return (\n <Popover minimal content={<>{children}</>}>\n <BaseButton icon=\"more\" small minimal />\n </Popover>\n );\n});\n\n\nexport const ItemClassMenu: React.FC<{\n cfg: ItemClassConfiguration<any>;\n onCreate?: () => void;\n}> = memo(function ({ cfg, onCreate }) {\n return (\n <Menu>\n <MenuDivider title=\"About this class\" />\n <MenuItem multiline disabled css={css`max-width: 400px`} text={cfg.meta.description} />\n {onCreate\n ? <>\n <MenuDivider title=\"Quick actions\" />\n <MenuItem\n text=\"Propose new\"\n intent=\"primary\"\n onClick={onCreate} icon=\"plus\"\n />\n </>\n : null}\n </Menu>\n );\n});\n"]}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/views/detail/RegisterItem/index.tsx"],"names":[],"mappings":"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","sourcesContent":["/** @jsx jsx */\n/** @jsxFrag React.Fragment */\n\nimport React, { useContext, useState, useMemo, useRef, useLayoutEffect, memo, useCallback } from 'react';\nimport { jsx, css } from '@emotion/react';\nimport {\n Button, type ButtonProps,\n Card,\n Classes,\n NonIdealState,\n UL,\n Colors,\n} from '@blueprintjs/core';\nimport { DatasetContext } from '@riboseinc/paneron-extension-kit/context';\nimport { normalizeObject } from '@riboseinc/paneron-extension-kit/util';\nimport type { HelpTooltipProps } from '@riboseinc/paneron-extension-kit/widgets/HelpTooltip';\nimport useSingleRegisterItemData from '../../hooks/useSingleRegisterItemData';\nimport useItemClassConfig from '../../hooks/useItemClassConfig';\nimport { Protocols } from '../../protocolRegistry';\nimport {\n type ChangeProposal,\n type Supersession,\n} from '../../../proposals/types';\nimport {\n type InternalItemReference,\n type ItemClassConfiguration,\n type RegisterItem,\n isRegisterItem,\n DUMMY_REF,\n} from '../../../types';\nimport { InlineDiffGeneric } from '../../diffing/InlineDiff';\nimport type { Drafted } from '../../../proposals/types';\nimport { BrowserCtx } from '../../BrowserCtx';\nimport {\n RegisterHelmet as Helmet,\n maybeEllipsizeString,\n TabContentsWithHeader,\n type TabContentsWithHeaderProps,\n type ActionProps,\n} from '../../util';\nimport { proposalToTagProps } from '../../../proposals/ProposalType';\nimport ProposalHistoryDrawer from '../../../proposals/HistoryDrawer';\nimport { useItemRef, itemRefToItemPath, crIDToCRPath, getCRIDFromProposedItemPath } from '../../itemPathUtils';\nimport { updateCRObjectChangeset, } from '../../../proposals/objectChangeset';\nimport { ChangeRequestContext } from '../../../proposals/ChangeRequestContext';\nimport { RelatedItems } from './RelatedItems';\n\n\n/**\n * Main register item view.\n *\n * NOTE: while generally intended as tab content handler,\n * is also reused within change request view.\n */\nconst MaybeItemDetail: React.VoidFunctionComponent<{ uri: string }> =\nmemo(function ({ uri }) {\n //const { value: itemData } = useSingleRegisterItemData(ref);\n const { jumpTo, subregisters, useRegisterItemData } = useContext(BrowserCtx);\n const { changeRequest: activeCR } = useContext(ChangeRequestContext);\n const ref = useItemRef(subregisters !== undefined, uri);\n const itemClass = useItemClassConfig(ref?.classID ?? 'NONEXISTENT_CLASS_ID');\n\n const itemClassID = itemClass?.meta?.id;\n const itemRef = ref ?? DUMMY_REF;\n const { itemID, subregisterID } = itemRef;\n\n const _itemPath = `${itemClassID ?? 'NONEXISTENT_CLASS'}/${itemID}.yaml`;\n const itemPath = subregisterID\n ? `/subregisters/${subregisterID}/${_itemPath}`\n : `/${_itemPath}`;\n const itemRequest = useMemo(() => ({\n itemPaths: [itemPath],\n }), [itemPath]);\n const itemResponse = useRegisterItemData(itemRequest);\n const itemData = itemResponse.value[itemPath];\n const previousItemResponse = useRegisterItemData({\n itemPaths: [itemPath],\n ignoreActiveCR: true,\n });\n const itemDataBefore = previousItemResponse.value[itemPath] ?? undefined;\n\n if (!itemClass) {\n return <NonIdealState\n icon=\"heart-broken\"\n title=\"Unable to show item\"\n description={`View for ${ref?.itemID ?? uri} cannot be retrieved from item class configuration`}\n />;\n\n } else if (isRegisterItem(itemData)) {\n return <ItemDetail\n item={itemData}\n itemBefore={itemDataBefore}\n itemRef={itemRef}\n itemClass={itemClass}\n />;\n\n } else if (itemResponse.isUpdating) {\n return <div className={Classes.SKELETON}>\n Loading\n </div>;\n\n } else {\n // Opened using URI that points within a proposal.\n // The item may or may not have been accepted.\n const inCRWithID = getCRIDFromProposedItemPath(uri);\n if (inCRWithID !== null && activeCR?.id !== inCRWithID) {\n return <NonIdealState\n icon=\"help\"\n title=\"This item does not exist…\"\n description={\n <>\n …but it might be proposed.\n <br />\n {jumpTo\n ? <Button\n css={css`margin: 10px;`}\n intent=\"primary\"\n onClick={() => jumpTo?.(`${Protocols.CHANGE_REQUEST}:${crIDToCRPath(inCRWithID)}`)}>\n Go to proposal\n </Button>\n : null}\n </>\n }\n />;\n } else {\n const desc = itemData === null || itemData === undefined\n ? \"does not exist or could not be deserialized\"\n : \"may use unexpected data format\";\n return <NonIdealState\n icon=\"heart-broken\"\n title=\"Unable to show item\"\n description={`Item at ${itemPath} ${desc}`}\n />;\n }\n }\n});\n\nconst EMPTY_OBJECT = {} as const;\n\n\nexport const ItemDetail: React.VoidFunctionComponent<{\n item: RegisterItem\n itemBefore?: RegisterItem\n itemRef: InternalItemReference\n itemClass: ItemClassConfiguration<any>\n className?: string\n compactHeader?: boolean\n}> = memo(function ({ item, itemBefore, itemRef, itemClass, className, compactHeader }) {\n const { subregisters, useRegisterItemData, activeChangeRequestID: globallyActiveCRID } = useContext(BrowserCtx);\n\n const { changeRequest: activeCR, canEdit: activeCRIsEditable } = useContext(ChangeRequestContext);\n const { updateObjects, makeRandomID, performOperation, isBusy } = useContext(DatasetContext);\n\n const [ editedItemData, setEditedItemData ] = useState<RegisterItem[\"data\"] | null>(null);\n const itemDataHasChanges = JSON.stringify(editedItemData) !== JSON.stringify(item.data);\n\n const [ isEditingProposal, setIsEditingProposal ] = useState(false);\n\n //const [ diffMode, setDiffMode ] = useState<boolean>(false);\n // TODO: Implement diff mode\n const diffMode = false;\n\n const itemPath = itemRefToItemPath(itemRef);\n\n /** Proposal for the current item. */\n const proposal = ((activeCR && activeCR.items[itemPath])\n ? activeCR.items[itemPath]\n : null) ?? null;\n\n const [ preferredComparison, setPreferredComparison ] =\n useState<'prior' | 'diff' | null>(null);\n const canCompare = proposal?.type === 'clarification' && itemBefore;\n const showDiff = preferredComparison === 'diff' && canCompare;\n const showBefore = preferredComparison === 'prior' && canCompare;\n\n // Gather views\n const ListItemView = itemClass.views.listItemView;\n let details: JSX.Element;\n if (editedItemData !== null && activeCRIsEditable) {\n const EditView = itemClass.views.editView;\n details = (\n <EditView\n itemData={editedItemData}\n itemRef={itemRef}\n onChange={!isBusy ? setEditedItemData : undefined}\n // TODO: make importing context from registry-kit work in new-style extension\n useRegisterItemData={useRegisterItemData}\n />\n );\n } else if (showDiff) {\n details = <InlineDiffGeneric\n item1={itemBefore ?? EMPTY_OBJECT}\n item2={item}\n css={css`\n position: absolute; inset: 0; padding: 10px; overflow: auto;\n background-color: white;\n .bp4-dark & {\n background-color: ${Colors.DARK_GRAY2};\n }\n `}\n className={`${Classes.ELEVATION_2} ${Classes.RUNNING_TEXT}`}\n />\n } else {\n const DetailView = itemClass.views.detailView ?? itemClass.views.editView;\n details = (\n <DetailView\n itemRef={itemRef}\n itemData={showBefore ? itemBefore.data : item.data}\n // TODO: make importing context from registry-kit work in new-style extension\n useRegisterItemData={useRegisterItemData}\n />\n );\n }\n\n const proposedSupersedingItemRefs =\n proposal?.type === 'amendment' && proposal.amendmentType === 'supersession'\n ? proposal.supersedingItemIDs.\n map(id => ({\n itemID: id,\n // Superseding items are always of the same class\n classID: itemClass.meta.id,\n // Superseding items are always in the same subregister\n subregisterID: itemRef.subregisterID,\n }))\n : undefined;\n\n const supersedingItemRefs = proposedSupersedingItemRefs ?? item.supersededBy ?? [];\n const supersedingItemRefsCacheKey = supersedingItemRefs.map(i => JSON.stringify(i)).toString();\n\n // It’s superseded (whether in current proposal or not)\n const isSuperseded = /* item.status === 'superseded'; nuh-uh */ supersedingItemRefs.length > 0;\n // Item is valid, proposal is editable, and no change to this item is proposed yet\n const canBeSuperseded = (activeCRIsEditable && !proposal && !editedItemData && item.status === 'valid');\n // This item is being superseded in active proposal\n // XXX: May be redundant with `isSuperseded`?\n const isBeingSuperseded = (proposal?.type === 'amendment' && proposal.amendmentType === 'supersession');\n\n // Editing is possible for additions and clarifications.\n //const itemDataCanBeEdited = activeCRIsEditable && proposal && proposal.type !== 'amendment';\n\n const handleClearProposal = () => performProposalOperation('clearing draft proposal', null);\n const handleRetire = () => performProposalOperation('proposing retirement of an item', {\n type: 'amendment',\n amendmentType: 'retirement',\n });\n const handleInvalidate = () => performProposalOperation('proposing invalidation', {\n type: 'amendment',\n amendmentType: 'invalidation',\n });\n const handleSupersedeWith = (items: string[]) => performProposalOperation('proposing supersession', {\n type: 'amendment',\n amendmentType: 'supersession',\n supersedingItemIDs: items,\n });\n const handleClarify = async () => {\n await performProposalOperation('proposing clarification', {\n type: 'clarification',\n });\n setEditedItemData(null); // XXX: Redundant?\n };\n const handleEditAddition = async () => {\n await performProposalOperation('editing proposed addition', {\n type: 'addition',\n });\n setEditedItemData(null); // XXX: Redundant?\n };\n\n async function performProposalOperation(summary: string, proposal: ChangeProposal | null) {\n return await performOperation(summary, handleSetProposal)(summary, proposal);\n }\n\n const handleSetProposal = useCallback(async function _handleSetProposal(\n summary: string,\n proposal: ChangeProposal | null,\n ): Promise<void> {\n if (!activeCRIsEditable || !updateObjects || !isRegisterItem(item)) {\n throw new Error(\"Proposal isn’t editable\")\n }\n if (proposal && proposal?.type !== 'amendment' && !editedItemData) {\n throw new Error(\"Missing item data\");\n }\n await updateObjects({\n commitMessage: `${summary} for ${itemPath}`,\n objectChangeset: updateCRObjectChangeset(\n // TODO: We are sure it’s editable already, but casting should be avoided\n activeCR as any,\n { [itemPath]: proposal },\n ((proposal && proposal?.type !== 'amendment') && editedItemData)\n ? { [itemPath]: { ...item, data: editedItemData } }\n : {},\n ),\n // We need this because updateCRObjectChangeset\n // omits oldValue for item data payloads.\n _dangerouslySkipValidation: true,\n });\n setEditedItemData(null);\n setIsEditingProposal(false);\n }, [\n editedItemData,\n activeCRIsEditable,\n itemPath,\n item,\n activeCR,\n updateObjects,\n ]);\n\n // TODO: Very similar to `handleAdd()` in Browse sidebar menu; refactor?\n const handleProposeLikeThis = useCallback(async function _handleProposeLikeThis(): Promise<void> {\n if (!updateObjects || !makeRandomID || !activeCRIsEditable || !activeCR) {\n throw new Error(\"Unable to create item: likely current proposal is not editable or dataset is read-only\");\n }\n const { classID, subregisterID } = itemRef;\n const itemID = await makeRandomID();\n const newRef = { classID, subregisterID, itemID };\n const newItem: RegisterItem<any> = {\n id: itemID,\n dateAccepted: new Date(),\n status: 'valid',\n data: { ...item.data },\n };\n if (isRegisterItem(newItem)) {\n const newPath = itemRefToItemPath(newRef);\n await updateObjects({\n commitMessage: `clone ${itemRef.itemID} to propose a new item`,\n objectChangeset: updateCRObjectChangeset(\n activeCR as Drafted,\n { [newPath]: { type: 'addition' } },\n { [newPath]: newItem },\n ),\n _dangerouslySkipValidation: true,\n });\n } else {\n throw new Error(\"Newly created item did not pass validation (this is likely a bug in RegistryKit)\");\n }\n }, [\n updateObjects,\n activeCRIsEditable,\n itemPath,\n activeCR?.id,\n activeCR?.state,\n Object.entries(activeCR?.items ?? {}).flat().map(i => JSON.stringify(i)).toString(),\n item ? JSON.stringify(normalizeObject(item)) : item,\n ]);\n\n const supersedingItemsTooltip: HelpTooltipProps = useMemo(() => ({\n icon: 'info-sign',\n content: \n <RelatedItems\n css={css`background-color: ${Colors.LIGHT_GRAY3}; padding: 5px;`}\n availableClassIDs={[itemClass.meta.id]}\n itemRefs={supersedingItemRefs}\n />,\n }), [supersedingItemRefsCacheKey, itemClass.meta.id]);\n\n const classification: TabContentsWithHeaderProps['classification'] = useMemo(() => {\n const classification: TabContentsWithHeaderProps['classification'] = [{\n icon: 'document',\n children: <>\n Register item\n {itemRef.subregisterID\n ? <span title=\"Subregister\"> in {subregisters?.[itemRef.subregisterID]?.title ?? itemRef.subregisterID}</span>\n : null}\n </>,\n tooltip: {\n icon: 'info-sign',\n content: <>\n <UL css={css`margin: 0;`}>\n <li>Class ID: {itemClass.meta.id}</li>\n <li>Subregister ID: {itemRef.subregisterID ?? 'N/A'}</li>\n <li>UUID: {itemRef.itemID}</li>\n </UL>\n </>,\n },\n }, {\n children: itemClass.meta.title,\n tooltip: {\n icon: 'info-sign',\n content: <>\n {itemClass.meta.description ?? \"No description is provided for this register item class.\"}\n </>,\n },\n }];\n\n classification.push({\n children: item.status,\n intent: item.status === 'valid'\n ? 'success'\n : undefined,\n icon: item.status === 'invalid'\n ? 'ban-circle'\n : item.status === 'retired'\n ? 'warning-sign'\n : 'tick',\n tooltip: isSuperseded\n ? supersedingItemsTooltip\n : undefined,\n });\n\n if (proposal) {\n const tagProps = proposalToTagProps(proposal);\n classification.push({\n ...tagProps,\n children: <>{tagProps.children} proposed</>,\n icon: 'lightbulb',\n minimal: false,\n tooltip: canBeSuperseded || isBeingSuperseded\n ? supersedingItemsTooltip\n : undefined,\n });\n }\n\n return classification;\n }, [\n proposal?.type,\n itemClass.meta.id,\n item.status,\n isSuperseded, canBeSuperseded, isBeingSuperseded,\n supersedingItemsTooltip,\n ]);\n\n const [ historyDrawerOpenState, setHistoryDrawerOpenState ] = useState(false);\n\n const actions = useMemo(() => {\n const actions: TabContentsWithHeaderProps['actions'] = [{\n children: \"View history\",\n active: historyDrawerOpenState,\n icon: 'history',\n disabled: isBusy,\n onClick: () => setHistoryDrawerOpenState(true),\n }];\n\n const isEditingItemData = editedItemData !== null;\n const itemHasProposal = proposal !== null;\n //const canPropose = activeCRIsEditable && item.status === 'valid' && !isBusy;\n const itemIsProposable = item.status === 'valid';\n\n if (activeCRIsEditable) {\n actions.push({\n children: \"Propose another item like this\",\n icon: 'duplicate',\n disabled: isBusy,\n onClick: performOperation(\n 'adding duplicate item to current propposal',\n handleProposeLikeThis),\n //title=\"Propose a new item in current proposal, using this item as template.\"\n });\n\n const saveEditedItemDataButton: ButtonProps = {\n intent: 'primary',\n disabled: isBusy || !itemDataHasChanges,\n onClick: (!proposal || proposal.type === 'clarification')\n ? handleClarify\n : handleEditAddition,\n children: \"Save changes\",\n };\n\n const supersedingItemRefs =\n proposal?.type === 'amendment' && proposal.amendmentType === 'supersession'\n ? proposal.supersedingItemIDs.\n map(id => ({\n itemID: id,\n // Superseding items are always of the same class\n classID: itemClass.meta.id,\n // Superseding items are always in the same subregister\n subregisterID: itemRef.subregisterID,\n }))\n : [];\n const supersedingItems = (\n <RelatedItems\n availableClassIDs={[itemClass.meta.id]}\n itemRefs={supersedingItemRefs}\n onChange={!isBusy\n ? (items) => items.length > 0\n ? handleSupersedeWith(items.map(ref => ref.itemID))\n : handleClearProposal()\n : undefined}\n />\n );\n\n if (itemIsProposable) {\n if (itemHasProposal) {\n const proposeBtn: ButtonProps = {\n children: `Edit ${proposal.type === 'amendment' ? proposal.amendmentType : proposal.type} proposal for this item`,\n icon: 'edit',\n active: isEditingProposal,\n disabled: isBusy,\n onClick: () => {\n if (isEditingProposal) {\n setIsEditingProposal(false);\n setEditedItemData(null);\n if (proposal && proposal.type !== 'amendment') {\n }\n } else {\n setIsEditingProposal(true);\n if (proposal && proposal.type !== 'amendment') {\n setEditedItemData(item.data);\n }\n }\n },\n };\n if (isEditingProposal) {\n const editActions: ActionProps[] = [{\n disabled: isBusy || (itemDataHasChanges && proposal.type !== 'amendment'),\n onClick: handleClearProposal,\n icon: 'trash',\n children: \"Remove\",\n tooltip: [\n `NOTE: Discarding this proposal `,\n `will discard ${proposal.type === 'addition' ? \"new\" : \"changes to\"} item’s data `,\n 'you provided as part of the proposal.',\n ].join(''),\n intent: proposal.type !== 'amendment' ? 'danger' : 'warning',\n }];\n if (isEditingItemData) {\n editActions.push(saveEditedItemDataButton);\n } else if (proposal.type === 'amendment' && proposal.amendmentType === 'supersession') {\n editActions.push({\n disabled: isBusy,\n children: \"Specify superseding items\",\n popup: <div css={css`padding: 10px;`}>{supersedingItems}</div>,\n });\n }\n actions.push([proposeBtn, ...editActions]);\n } else {\n actions.push(proposeBtn);\n if (canCompare) {\n actions.push([{\n disabled: isBusy,\n children: \"Prior version\",\n active: preferredComparison === 'prior',\n onClick: preferredComparison === 'prior'\n ? () => setPreferredComparison(null)\n : () => setPreferredComparison('prior'),\n }, {\n disabled: isBusy,\n children: \"Diff\",\n active: preferredComparison === 'diff',\n onClick: preferredComparison === 'diff'\n ? () => setPreferredComparison(null)\n : () => setPreferredComparison('diff'),\n }]);\n }\n }\n } else {\n const proposeBtn: ButtonProps = {\n children: \"Propose to change this item\",\n icon: 'lightbulb',\n active: isEditingProposal,\n disabled: isBusy,\n onClick: () => setIsEditingProposal(v => !v),\n };\n if (isEditingProposal) {\n const proposalGroup = [proposeBtn, {\n disabled: isBusy || itemHasProposal,\n onClick: handleRetire,\n children: \"Retire\",\n }, {\n disabled: isBusy || itemHasProposal,\n onClick: handleInvalidate,\n children: \"Invalidate\",\n }, {\n disabled: isBusy || itemHasProposal || isEditingItemData,\n popup: supersedingItems,\n children: \"Supersede\",\n }, {\n disabled: isBusy || diffMode,\n active: isEditingItemData,\n onClick: () => setEditedItemData(d => d === null ? item.data : null),\n children: \"Clarify\",\n }];\n if (isEditingItemData && itemDataHasChanges) {\n proposalGroup.push(saveEditedItemDataButton);\n }\n actions.push(proposalGroup);\n } else {\n actions.push(proposeBtn);\n }\n }\n }\n }\n // TODO: diff view\n\n return actions;\n }, [\n isBusy,\n itemClass.meta.id,\n\n proposal === null,\n proposal?.type,\n (proposal as Supersession)?.supersedingItemIDs?.toString(),\n\n activeCRIsEditable,\n\n editedItemData === null,\n itemDataHasChanges,\n\n isEditingProposal,\n performOperation, handleSetProposal,\n historyDrawerOpenState,\n\n canCompare, preferredComparison, setPreferredComparison,\n ]);\n\n // If there’s a CR context without active CR,\n // or active CR isn’t the same as the one in CR context,\n // then we can assume that the item is shown in proposal window\n // and we’d set window title to proposal’s title rather than item’s.\n // If there’s a CR context and active CR and they’re the same\n // then it *could* be that the item is shown in its own tab;\n // we will render proposal’s title if the item appears in the change request\n // (makes sense because the user *is* technically viewing a proposal then).\n const windowTitle: string = (\n activeCR && (\n !globallyActiveCRID\n || activeCR.id !== globallyActiveCRID\n || activeCR.items[itemPath]\n )\n ) ? `Proposal ${maybeEllipsizeString(activeCR.justification, 20)}…`\n : `${itemClass.meta.title ?? 'register item'} #${item.id}`;\n\n const detailsDivRef = useRef<HTMLDivElement | null>(null);\n\n useLayoutEffect(() => {\n if (itemBefore?.data && detailsDivRef.current && proposal !== null) {\n //console.debug(\"observing\", detailsDivRef.current, observer, itemBefore.data);\n OBSERVER.observe(detailsDivRef.current, {\n attributeFilter: ['value'],\n attributes: true,\n subtree: true,\n childList: true,\n });\n }\n return function cleanUp() {\n //console.debug(\"disconnecting observer\");\n OBSERVER.disconnect();\n };\n }, [detailsDivRef.current, itemBefore?.data, proposal === null]);\n\n return (\n <TabContentsWithHeader\n smallTitle={compactHeader}\n title={<ListItemView itemRef={itemRef} itemData={item.data} />}\n classification={classification}\n actions={actions}>\n <Card css={css`position: absolute; border-radius: 0; inset: ${compactHeader ? '0' : '10px'}; overflow-y: auto;`}>\n <Helmet><title>{windowTitle}</title></Helmet>\n <ProposalHistoryDrawer\n isOpen={historyDrawerOpenState}\n onClose={() => setHistoryDrawerOpenState(false)}\n itemPath={itemPath}\n />\n <div id=\"detailsDiv\" ref={detailsDivRef} data-observer-root=\"true\">\n {details}\n </div>\n </Card>\n </TabContentsWithHeader>\n );\n});\n\n\nconst ItemTitle: React.FC<{ uri: string }> = function ({ uri }) {\n const { subregisters } = useContext(BrowserCtx);\n const ref = useItemRef(subregisters !== undefined, uri);\n const clsConfig = useItemClassConfig(ref?.classID ?? 'NONEXISTENT_CLASS_ID');\n const { value: itemData } = useSingleRegisterItemData(ref);\n const fallbackView = useCallback((() => <>{ref?.itemID ?? uri}</>), [uri]);\n const View = itemData\n ? (clsConfig?.views.listItemView ?? fallbackView)\n : fallbackView;\n return <View\n itemRef={ref ?? DUMMY_REF}\n itemData={itemData}\n />;\n};\n\n\nexport default {\n main: MaybeItemDetail,\n title: ItemTitle,\n} as const;\n\n\nconst CHANGED_ITEM_HIGHLIGHT_MS = 1000;\nconst OBSERVER = new MutationObserver((mutationList: MutationRecord[]) => {\n const changed: [HTMLElement, 'added' | 'removed' | 'changed'][] = [];\n\n function maybeAddChanged(el: HTMLElement, changeType: 'added' | 'changed') {\n if (!el.parentElement?.getAttribute('data-observer-root')) {\n changed.push([el, changeType]);\n }\n }\n\n mutationList.forEach((mutation) => {\n switch (mutation.type) {\n case 'childList':\n mutation.addedNodes.forEach((node) => {\n maybeAddChanged(node as HTMLElement, 'added')\n });\n //mutation.removedNodes.forEach((node) => {\n // //changedNodes.push([node as HTMLElement, 'removed']);\n // console.log('node removed', node);\n //});\n break;\n case 'attributes':\n maybeAddChanged(mutation.target as HTMLElement, 'changed')\n break;\n }\n });\n const nodesWithBackground: [HTMLElement, string, string, string][] = [];\n for (const [_el, change] of changed) {\n // FIXME: Walk parent elements until one that actually exists?\n const el = change === 'removed' ? _el.parentElement! : _el;\n nodesWithBackground.push([el, el.style.transition, el.style.backgroundColor, el.style.color]);\n el.style.transition = 'none';\n el.style.color = 'white';\n if (change === 'removed') {\n el.style.backgroundColor = Colors.RED2;\n } else {\n el.style.backgroundColor = change === 'added'\n ? Colors.GREEN2\n : Colors.INDIGO2;\n }\n }\n setTimeout(() => {\n for (const [el, , bgc, tc] of nodesWithBackground) {\n el.style.transition = 'background-color linear 1s, color linear 1s';\n el.style.backgroundColor = bgc;\n el.style.color = tc;\n }\n setTimeout(() => {\n for (const [el, tr] of nodesWithBackground) {\n el.style.transition = tr;\n }\n }, CHANGED_ITEM_HIGHLIGHT_MS);\n }, 1);\n});\n"]}
|
package/views/util.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/views/util.tsx"],"names":[],"mappings":"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","sourcesContent":["/** @jsx jsx */\n/** @jsxFrag React.Fragment */\n\n//import log from 'electron-log';\nimport format from 'date-fns/format';\nimport { format as formatTZ, utcToZonedTime } from 'date-fns-tz';\n\nimport React, { memo, useContext } from 'react';\nimport { Helmet, type HelmetProps } from 'react-helmet';\nimport { css, jsx } from '@emotion/react';\nimport {\n Card, type CardProps,\n Classes,\n FormGroup, type FormGroupProps,\n H3, H4,\n Button as BaseButton, type ButtonProps,\n Menu, MenuDivider, MenuItem,\n ButtonGroup,\n Tag, type TagProps,\n Colors,\n} from '@blueprintjs/core';\nimport { Popover2 as Popover } from '@blueprintjs/popover2';\nimport { DatasetContext } from '@riboseinc/paneron-extension-kit/context';\nimport HelpTooltip, { type HelpTooltipProps } from '@riboseinc/paneron-extension-kit/widgets/HelpTooltip';\nimport { BrowserCtx } from './BrowserCtx';\nimport type { ItemClassConfiguration, RelatedItemClassConfiguration } from '../types';\nexport { GenericRelatedItemView } from './GenericRelatedItemView';\n\n\n/**\n * Get give string truncated & with ellipsis appended\n * if its length exceeds given number of characters.\n */\nexport function maybeEllipsizeString(\n str: string,\n maxLength: number = 20,\n): string {\n return str.length > maxLength\n ? `${str.slice(0, maxLength)}…`\n : str;\n}\n\n\nexport const RegisterHelmet: React.FC<HelmetProps> = memo(function (props) {\n const { title: datasetTitle } = useContext(DatasetContext);\n const { registerMetadata } = useContext(BrowserCtx);\n\n return (\n <Helmet\n titleTemplate={`%s in ${registerMetadata?.name ?? datasetTitle}`}\n defaultTitle={`${registerMetadata?.name ?? datasetTitle}`}>\n {props.children}\n </Helmet>\n );\n});\n\n\n/**\n * A wrapper to show property data with its label(s).\n */\nexport const PropertyDetailView: React.FC<FormGroupProps & {\n /** @deprecated use `label` instead */\n title?: FormGroupProps[\"label\"]\n /** @deprecated use `labelInfo` instead */\n secondaryTitle?: FormGroupProps[\"labelInfo\"]\n}> = function ({\n label, labelInfo,\n title, secondaryTitle,\n ...props }) {\n return (\n <FormGroup\n label={label || title ? `${label ?? title}:` : undefined}\n labelInfo={labelInfo ?? secondaryTitle}\n css={css`\n &, &.bp4-inline {\n label.bp4-label {\n /*\n * Since it’s in flex container, label expands to fill its width,\n * and due to the mechanics of how labels work (?)\n * any button (e.g., for deletion) within labelInfo\n * would responds to events of the entire label\n * (meaning you can hover space to the right of the label and labelInfo\n * and the button would still be clickable).\n * This makes the label not fill flex container width.\n */\n align-self: flex-start;\n\n font-weight: bold;\n line-height: unset;\n text-transform: capitalize;\n .bp4-text-muted {\n text-transform: none;\n }\n }\n }\n `}\n {...props}\n />\n );\n};\n\n\n/** Formats given date as a span with tooltip set to full ISO date & time. */\nexport const Datestamp: React.FC<{\n date: Date\n /** See formatDate(). */\n useUTC?: boolean\n /** See formatDate(). */\n showTime?: boolean\n /** See formatDate(). */\n showTimeIfNonZero?: boolean\n title?: string\n className?: string\n}> = function ({ date, useUTC, showTime, showTimeIfNonZero, title, className }) {\n const asString = formatDate(date, { useUTC, showTime, showTimeIfNonZero });\n return <span\n className={className}\n title={`${title ? `${title}: ` : ''}${date?.toString() ?? 'N/A'}`}>\n {asString}\n </span>;\n};\n\n\nfunction formatInTimeZone(date: Date, fmt: string, tz: string) {\n return formatTZ(\n utcToZonedTime(date, tz), \n fmt, \n { timeZone: tz });\n}\n\nfunction timeIsNonZero(date: Date): boolean {\n return (\n date.getMilliseconds() === 0 &&\n date.getSeconds() === 0 &&\n date.getMinutes() === 0 &&\n date.getHours() === 0);\n}\n\n\n/** Foramts given date as plain text. */\nexport function formatDate(\n date: Date,\n opts?: {\n /** Show time in UTC. Will add the “UTC”, unless time is shown. */\n useUTC?: boolean\n /** Show date along with full time, to seconds. */\n showTime?: boolean\n /** Show time, unless it’s 00:00:00 on the day. */\n showTimeIfNonZero?: boolean\n },\n): string {\n const showTime = opts?.showTime || (opts?.showTimeIfNonZero && timeIsNonZero(date));\n const fmt = showTime\n ? 'yyyy-MM-dd HH:mm:ss'\n : 'yyyy-MM-dd';\n try {\n return opts?.useUTC\n ? `${formatInTimeZone(date, fmt, 'UTC')}${showTime ? ' UTC' : ''}`\n : format(date, fmt);\n } catch (e) {\n console.error(\"Failed to format date\", date, typeof date);\n return `Invalid date (${e})`;\n }\n}\n\n\nexport const _getRelatedClass = (classes: Record<string, ItemClassConfiguration<any>>) => {\n return (clsID: string): RelatedItemClassConfiguration => {\n const cfg = classes[clsID];\n return {\n title: cfg.meta.title,\n // TODO: The itemView/listItemView inconsistency is annoying\n itemView: cfg.views.listItemView,\n };\n };\n};\n\n\n// /**\n// * Suitable for use as tab contents for TabbedWorkspace.\n// * Provides top bar with actions and main content.\n// */\n// export const TabContentsWithActions: React.FC<{\n// actions: JSX.Element;\n// main: JSX.Element;\n// gapPx?: number;\n// className?: string;\n// }> = function ({ actions, gapPx: _gapPx, main, className }) {\n// const gapPx = _gapPx ?? 10;\n// return (\n// <div css={css`\n// position: absolute; inset: 0;\n// display: flex; flex-flow: column nowrap;\n// `} className={className}>\n// <div css={css`flex: 0; padding: ${gapPx}px; display: flex; flex-flow: row wrap; gap: ${gapPx}px;`}>\n// {actions}\n// </div>\n// <div css={css`\n// position: relative;\n// flex: 1;\n// padding: ${gapPx}px;\n// overflow-y: auto;\n// background: ${Colors.GRAY5};\n// .bp4-dark & { background: ${Colors.DARK_GRAY2}; }\n// `}>\n// {main}\n// </div>\n// </div>\n// );\n// };\n\n\nexport type ClassificationEntry = TagProps & { tooltip?: HelpTooltipProps };\nexport interface TabContentsWithHeaderProps {\n title: JSX.Element | string\n smallTitle?: boolean\n classification?: ClassificationEntry[]\n actions?: (ActionProps | ActionProps[])[]\n tooltip?: HelpTooltipProps\n className?: string\n\n /**\n * CSS to apply to child contents wrapper div.\n *\n * If 'card-grid', children would be expected to be cards\n * (e.g., `FormGroupAsCardInGrid` or `CardInGrid`)\n *\n * 'card-grid' implies 'scrollable'.\n */\n layout?: undefined | 'card-grid' | 'scrollable'\n layoutOptions?: Record<string, unknown>\n}\ninterface Grid extends TabContentsWithHeaderProps {\n layout: 'card-grid'\n layoutOptions?: {\n gapPx?: number\n stretch?: boolean\n }\n}\ninterface Scrollable extends TabContentsWithHeaderProps {\n layout: 'scrollable'\n layoutOptions?: never\n}\ninterface NoLayout extends TabContentsWithHeaderProps {\n layout?: undefined\n layoutOptions?: never\n}\nconst paddingPx = 11;\nfunction findEnabledActions\n<T extends ButtonProps | ButtonProps[] = ButtonProps | ButtonProps[]>\n(props: T[]): ButtonProps[] {\n return props.map(props =>\n (props as ButtonProps[]).length !== undefined\n ? (props as ButtonProps[]).filter(p => !p.disabled)\n : !(props as ButtonProps).disabled\n ? props\n : []\n ).flat();\n}\nexport const TabContentsWithHeader: React.FC<Grid | Scrollable | NoLayout> =\nfunction ({ title, smallTitle, classification, actions, layout, layoutOptions, className, children }) {\n const hasClassification = (classification ?? []).length > 0;\n\n const enabledActions = actions ? findEnabledActions(actions) : [];\n const hasActions = enabledActions.length > 0;\n\n // if (enabledActions.length === 1 && !enabledActions[0].intent) {\n // enabledActions[0].intent = 'primary';\n // }\n\n return (\n <div css={css`\n position: absolute; inset: 0;\n padding-top: ${paddingPx}px;\n ${hasActions ? `padding-bottom: ${paddingPx}px;` : ''}\n display: flex; flex-flow: column nowrap;\n gap: ${paddingPx}px;\n `} className={className}>\n {smallTitle\n ? <H4 css={css`margin: 0 ${paddingPx}px;`}>{title}</H4>\n : <H3 css={css`margin: 0 ${paddingPx}px;`}>{title}</H3>}\n {hasClassification\n ? <div css={css`\n flex: 0;\n margin: 0 ${paddingPx}px;\n display: flex;\n flex-flow: row wrap;\n gap: ${paddingPx}px;\n `}>\n {classification!.map((p, idx) =>\n <Tag\n key={idx}\n minimal\n {...p}\n large={!smallTitle}\n rightIcon={p.tooltip\n ? <HelpTooltip {...p.tooltip} />\n : undefined}\n />\n )}\n </div>\n : null}\n <div css={css`\n position: relative;\n flex: 1;\n overflow-y: auto;\n\n ${layout === undefined\n ? `\n > :only-child { position: absolute; inset: 0 }\n box-shadow: black 0 0 20px -10px;\n `\n : `\n padding: 0 10px;\n &::after, &::before {\n pointer-events: none;\n content: \" \";\n display: block;\n position: sticky;\n width: 100%;\n height: 1px;\n background: ${Colors.GRAY5};\n .bp4-dark & { background: ${Colors.DARK_GRAY2}; }\n z-index: 10;\n }\n &::before {\n top: 0;\n box-shadow: ${Colors.GRAY5} 0 -20px 20px 20px;\n .bp4-dark & {\n box-shadow: ${Colors.DARK_GRAY2} 0 -20px 20px 20px;\n }\n }\n &::after {\n bottom: 0;\n box-shadow: ${Colors.GRAY5} 0 20px 20px 20px;\n .bp4-dark & {\n box-shadow: ${Colors.DARK_GRAY2} 0 20px 20px 20px;\n }\n }\n `}\n\n ${layout === 'scrollable' || layout === 'card-grid'\n ? `\n background: ${Colors.GRAY5};\n .bp4-dark & { background: ${Colors.DARK_GRAY2}; }\n `\n : ''}\n\n ${layout === 'card-grid'\n ? `\n display: flex;\n flex-flow: row wrap;\n align-content: flex-start;\n ${layoutOptions?.stretch\n ? 'align-items: stretch;'\n : 'align-items: flex-start;'}\n gap: ${layoutOptions?.gapPx ?? 10}px;\n `\n : ''}\n `}>\n {children}\n </div>\n\n {hasActions\n ? <div css={css`\n margin: 0 ${paddingPx}px;\n flex: 0; display: flex; flex-flow: row wrap; gap: ${paddingPx}px;\n `}>\n {actions!.map((props, idx) => {\n if (props.hasOwnProperty('length') && (props as ButtonProps[]).length !== undefined) {\n return (\n <ButtonGroup key={idx}>\n {(props as ButtonProps[]).map((p, idx) =>\n <Action {...p} key={idx} />\n )}\n </ButtonGroup>\n );\n } else {\n return <Action key={idx} {...(props as ButtonProps)} />;\n }\n })}\n </div>\n : null}\n </div>\n );\n};\n\n\nexport type ActionProps = ButtonProps & ({ popup?: JSX.Element, tooltip?: string });\n/** Mostly a button, but with an optional popup. */\nconst Action: React.FC<ActionProps & { key?: number | string }> = function ({ popup, tooltip, ...props }) {\n const btn = <BaseButton\n {...props}\n intent={props.disabled ? undefined : props.intent}\n onClick={props.disabled ? undefined : props.onClick}\n disabled={props.active ? false : props.disabled}\n title={tooltip}\n rightIcon={popup ? 'more' : undefined}\n />;\n\n if (popup && !props.disabled) {\n return (\n <Popover key={props.key} content={popup} placement=\"top\" minimal interactionKind=\"click\">\n {btn}\n </Popover>\n );\n } else {\n return btn;\n }\n};\n\n\nexport const CardInGrid: React.FC<{ description: string } & CardProps> =\nfunction ({ description, className, ...props }) {\n return (\n <Card\n css={css`border-radius: 5px;`}\n title={description}\n className={!props.interactive\n ? `${Classes.ELEVATION_3} ${className ?? ''}`\n : className}\n {...props}\n />\n );\n};\n\n\n/** Useful in case of tab “card-grid” layout. */\nexport const FormGroupAsCardInGrid: React.FC<FormGroupProps & { paddingPx?: number }> =\nfunction ({ paddingPx, ...props }) {\n const paddingPx_ = paddingPx ?? 11;\n return (\n <FormGroup\n {...props}\n css={css`\n margin: 0;\n\n border-radius: 5px;\n padding: ${paddingPx_}px;\n\n > label.bp4-label {\n font-weight: bold;\n margin-bottom: ${paddingPx_}px;\n }\n > .bp4-form-content {\n display: flex;\n flex-flow: column nowrap;\n gap: ${paddingPx_}px;\n\n > .bp4-form-group {\n margin: 0;\n }\n }\n\n /* Note: these colors are picked to work with some form widgets, date input widget specifically. */\n background: ${Colors.WHITE};\n .bp4-dark & { background: ${Colors.DARK_GRAY3}; }\n `}\n className={`${Classes.ELEVATION_3} ${props.className}`}\n />\n );\n};\n\n\nexport const MoreMenu: React.FC<Record<never, never>> = memo(function ({ children }) {\n return (\n <Popover minimal content={<>{children}</>}>\n <BaseButton icon=\"more\" small minimal />\n </Popover>\n );\n});\n\n\nexport const ItemClassMenu: React.FC<{\n cfg: ItemClassConfiguration<any>;\n onCreate?: () => void;\n}> = memo(function ({ cfg, onCreate }) {\n return (\n <Menu>\n <MenuDivider title=\"About this class\" />\n <MenuItem multiline disabled css={css`max-width: 400px`} text={cfg.meta.description} />\n {onCreate\n ? <>\n <MenuDivider title=\"Quick actions\" />\n <MenuItem\n text=\"Propose new\"\n intent=\"primary\"\n onClick={onCreate} icon=\"plus\"\n />\n </>\n : null}\n </Menu>\n );\n});\n"]}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|