@recogito/metaphor-annotation-plugin 0.0.0-stage → 0.0.11-beta.0
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/README.md +102 -2
- package/dist/extensions/GoToMetaphorAnnotationView.d.ts +3 -0
- package/dist/extensions/GoToMetaphorAnnotationView.d.ts.map +1 -0
- package/dist/extensions/GoToMetaphorAnnotationView.js +14 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +37 -0
- package/dist/pages/_components/ImageMetaphorView/ImageMetaphorView.css +22 -0
- package/dist/pages/_components/ImageMetaphorView/ImageMetaphorView.d.ts +10 -0
- package/dist/pages/_components/ImageMetaphorView/ImageMetaphorView.d.ts.map +1 -0
- package/dist/pages/_components/ImageMetaphorView/ImageMetaphorView.js +136 -0
- package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/AnnotationPanel.d.ts +9 -0
- package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/AnnotationPanel.d.ts.map +1 -0
- package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/AnnotationPanel.js +12 -0
- package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/ListTab/ImageListCard.d.ts +11 -0
- package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/ListTab/ImageListCard.d.ts.map +1 -0
- package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/ListTab/ImageListCard.js +37 -0
- package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/ListTab/ListTab.d.ts +2 -0
- package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/ListTab/ListTab.d.ts.map +1 -0
- package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/ListTab/ListTab.js +70 -0
- package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/ListTab/index.d.ts +2 -0
- package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/ListTab/index.d.ts.map +1 -0
- package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/ListTab/index.js +1 -0
- package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/SelectedTab/SelectedArrowAnnotation.d.ts +8 -0
- package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/SelectedTab/SelectedArrowAnnotation.d.ts.map +1 -0
- package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/SelectedTab/SelectedArrowAnnotation.js +20 -0
- package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/SelectedTab/SelectedImageAnnotation.d.ts +9 -0
- package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/SelectedTab/SelectedImageAnnotation.d.ts.map +1 -0
- package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/SelectedTab/SelectedImageAnnotation.js +25 -0
- package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/SelectedTab/SelectedTab.d.ts +6 -0
- package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/SelectedTab/SelectedTab.d.ts.map +1 -0
- package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/SelectedTab/SelectedTab.js +16 -0
- package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/SelectedTab/index.d.ts +2 -0
- package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/SelectedTab/index.d.ts.map +1 -0
- package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/SelectedTab/index.js +1 -0
- package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/SettingsTab/SettingsTab.d.ts +2 -0
- package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/SettingsTab/SettingsTab.d.ts.map +1 -0
- package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/SettingsTab/SettingsTab.js +10 -0
- package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/SettingsTab/index.d.ts +2 -0
- package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/SettingsTab/index.d.ts.map +1 -0
- package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/SettingsTab/index.js +1 -0
- package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/index.d.ts +2 -0
- package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/index.d.ts.map +1 -0
- package/dist/pages/_components/ImageMetaphorView/components/AnnotationPanel/index.js +1 -0
- package/dist/pages/_components/ImageMetaphorView/components/ArrowToolbar/ArrowToolbar.d.ts +3 -0
- package/dist/pages/_components/ImageMetaphorView/components/ArrowToolbar/ArrowToolbar.d.ts.map +1 -0
- package/dist/pages/_components/ImageMetaphorView/components/ArrowToolbar/ArrowToolbar.js +27 -0
- package/dist/pages/_components/ImageMetaphorView/components/ArrowToolbar/index.d.ts +2 -0
- package/dist/pages/_components/ImageMetaphorView/components/ArrowToolbar/index.d.ts.map +1 -0
- package/dist/pages/_components/ImageMetaphorView/components/ArrowToolbar/index.js +1 -0
- package/dist/pages/_components/ImageMetaphorView/components/FilterAdapter/FilterAdapter.d.ts +9 -0
- package/dist/pages/_components/ImageMetaphorView/components/FilterAdapter/FilterAdapter.d.ts.map +1 -0
- package/dist/pages/_components/ImageMetaphorView/components/FilterAdapter/FilterAdapter.js +23 -0
- package/dist/pages/_components/ImageMetaphorView/components/FilterAdapter/index.d.ts +2 -0
- package/dist/pages/_components/ImageMetaphorView/components/FilterAdapter/index.d.ts.map +1 -0
- package/dist/pages/_components/ImageMetaphorView/components/FilterAdapter/index.js +1 -0
- package/dist/pages/_components/ImageMetaphorView/components/HoverTooltip/HoverTooltip.d.ts +11 -0
- package/dist/pages/_components/ImageMetaphorView/components/HoverTooltip/HoverTooltip.d.ts.map +1 -0
- package/dist/pages/_components/ImageMetaphorView/components/HoverTooltip/HoverTooltip.js +16 -0
- package/dist/pages/_components/ImageMetaphorView/components/HoverTooltip/index.d.ts +2 -0
- package/dist/pages/_components/ImageMetaphorView/components/HoverTooltip/index.d.ts.map +1 -0
- package/dist/pages/_components/ImageMetaphorView/components/HoverTooltip/index.js +1 -0
- package/dist/pages/_components/ImageMetaphorView/components/ImageArrows/ImageArrows.d.ts +13 -0
- package/dist/pages/_components/ImageMetaphorView/components/ImageArrows/ImageArrows.d.ts.map +1 -0
- package/dist/pages/_components/ImageMetaphorView/components/ImageArrows/ImageArrows.js +42 -0
- package/dist/pages/_components/ImageMetaphorView/components/ImageArrows/index.d.ts +2 -0
- package/dist/pages/_components/ImageMetaphorView/components/ImageArrows/index.d.ts.map +1 -0
- package/dist/pages/_components/ImageMetaphorView/components/ImageArrows/index.js +1 -0
- package/dist/pages/_components/ImageMetaphorView/components/ImageUndoStack/ImageUndoStack.d.ts +7 -0
- package/dist/pages/_components/ImageMetaphorView/components/ImageUndoStack/ImageUndoStack.d.ts.map +1 -0
- package/dist/pages/_components/ImageMetaphorView/components/ImageUndoStack/ImageUndoStack.js +22 -0
- package/dist/pages/_components/ImageMetaphorView/components/ImageUndoStack/index.d.ts +2 -0
- package/dist/pages/_components/ImageMetaphorView/components/ImageUndoStack/index.d.ts.map +1 -0
- package/dist/pages/_components/ImageMetaphorView/components/ImageUndoStack/index.js +1 -0
- package/dist/pages/_components/ImageMetaphorView/components/MetadataPanel/Contents.d.ts +14 -0
- package/dist/pages/_components/ImageMetaphorView/components/MetadataPanel/Contents.d.ts.map +1 -0
- package/dist/pages/_components/ImageMetaphorView/components/MetadataPanel/Contents.js +36 -0
- package/dist/pages/_components/ImageMetaphorView/components/MetadataPanel/Info.d.ts +9 -0
- package/dist/pages/_components/ImageMetaphorView/components/MetadataPanel/Info.d.ts.map +1 -0
- package/dist/pages/_components/ImageMetaphorView/components/MetadataPanel/Info.js +35 -0
- package/dist/pages/_components/ImageMetaphorView/components/MetadataPanel/MetadataPanel.css +96 -0
- package/dist/pages/_components/ImageMetaphorView/components/MetadataPanel/MetadataPanel.d.ts +18 -0
- package/dist/pages/_components/ImageMetaphorView/components/MetadataPanel/MetadataPanel.d.ts.map +1 -0
- package/dist/pages/_components/ImageMetaphorView/components/MetadataPanel/MetadataPanel.js +33 -0
- package/dist/pages/_components/ImageMetaphorView/components/MetadataPanel/index.d.ts +2 -0
- package/dist/pages/_components/ImageMetaphorView/components/MetadataPanel/index.d.ts.map +1 -0
- package/dist/pages/_components/ImageMetaphorView/components/MetadataPanel/index.js +1 -0
- package/dist/pages/_components/ImageMetaphorView/components/ShapeToolbar/ShapeToolbar.d.ts +9 -0
- package/dist/pages/_components/ImageMetaphorView/components/ShapeToolbar/ShapeToolbar.d.ts.map +1 -0
- package/dist/pages/_components/ImageMetaphorView/components/ShapeToolbar/ShapeToolbar.js +20 -0
- package/dist/pages/_components/ImageMetaphorView/components/ShapeToolbar/index.d.ts +2 -0
- package/dist/pages/_components/ImageMetaphorView/components/ShapeToolbar/index.d.ts.map +1 -0
- package/dist/pages/_components/ImageMetaphorView/components/ShapeToolbar/index.js +1 -0
- package/dist/pages/_components/ImageMetaphorView/components/Toolbar/ImageMoreTools.d.ts +11 -0
- package/dist/pages/_components/ImageMetaphorView/components/Toolbar/ImageMoreTools.d.ts.map +1 -0
- package/dist/pages/_components/ImageMetaphorView/components/Toolbar/ImageMoreTools.js +15 -0
- package/dist/pages/_components/ImageMetaphorView/components/Toolbar/Toolbar.css +105 -0
- package/dist/pages/_components/ImageMetaphorView/components/Toolbar/Toolbar.d.ts +22 -0
- package/dist/pages/_components/ImageMetaphorView/components/Toolbar/Toolbar.d.ts.map +1 -0
- package/dist/pages/_components/ImageMetaphorView/components/Toolbar/Toolbar.js +61 -0
- package/dist/pages/_components/ImageMetaphorView/components/Toolbar/index.d.ts +3 -0
- package/dist/pages/_components/ImageMetaphorView/components/Toolbar/index.d.ts.map +1 -0
- package/dist/pages/_components/ImageMetaphorView/components/Toolbar/index.js +2 -0
- package/dist/pages/_components/ImageMetaphorView/components/image-panel.css +347 -0
- package/dist/pages/_components/ImageMetaphorView/components/shared/AddProperty.d.ts +6 -0
- package/dist/pages/_components/ImageMetaphorView/components/shared/AddProperty.d.ts.map +1 -0
- package/dist/pages/_components/ImageMetaphorView/components/shared/AddProperty.js +21 -0
- package/dist/pages/_components/ImageMetaphorView/components/shared/RelationPreview.d.ts +12 -0
- package/dist/pages/_components/ImageMetaphorView/components/shared/RelationPreview.d.ts.map +1 -0
- package/dist/pages/_components/ImageMetaphorView/components/shared/RelationPreview.js +34 -0
- package/dist/pages/_components/ImageMetaphorView/components/shared/SetCategory.d.ts +8 -0
- package/dist/pages/_components/ImageMetaphorView/components/shared/SetCategory.d.ts.map +1 -0
- package/dist/pages/_components/ImageMetaphorView/components/shared/SetCategory.js +20 -0
- package/dist/pages/_components/ImageMetaphorView/components/shared/colors.d.ts +2 -0
- package/dist/pages/_components/ImageMetaphorView/components/shared/colors.d.ts.map +1 -0
- package/dist/pages/_components/ImageMetaphorView/components/shared/colors.js +17 -0
- package/dist/pages/_components/ImageMetaphorView/components/shared/index.d.ts +6 -0
- package/dist/pages/_components/ImageMetaphorView/components/shared/index.d.ts.map +1 -0
- package/dist/pages/_components/ImageMetaphorView/components/shared/index.js +5 -0
- package/dist/pages/_components/ImageMetaphorView/components/shared/useRelations.d.ts +8 -0
- package/dist/pages/_components/ImageMetaphorView/components/shared/useRelations.d.ts.map +1 -0
- package/dist/pages/_components/ImageMetaphorView/components/shared/useRelations.js +13 -0
- package/dist/pages/_components/ImageMetaphorView/hooks/index.d.ts +2 -0
- package/dist/pages/_components/ImageMetaphorView/hooks/index.d.ts.map +1 -0
- package/dist/pages/_components/ImageMetaphorView/hooks/index.js +1 -0
- package/dist/pages/_components/ImageMetaphorView/hooks/useMultiPagePresence.d.ts +17 -0
- package/dist/pages/_components/ImageMetaphorView/hooks/useMultiPagePresence.d.ts.map +1 -0
- package/dist/pages/_components/ImageMetaphorView/hooks/useMultiPagePresence.js +43 -0
- package/dist/pages/_components/ImageMetaphorView/index.d.ts +2 -0
- package/dist/pages/_components/ImageMetaphorView/index.d.ts.map +1 -0
- package/dist/pages/_components/ImageMetaphorView/index.js +1 -0
- package/dist/pages/_components/TeiMetaphorView/TeiMetaphorView.css +2055 -0
- package/dist/pages/_components/TeiMetaphorView/TeiMetaphorView.d.ts +10 -0
- package/dist/pages/_components/TeiMetaphorView/TeiMetaphorView.d.ts.map +1 -0
- package/dist/pages/_components/TeiMetaphorView/TeiMetaphorView.js +41 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotatableTEI/AnnotatableTEI.d.ts +14 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotatableTEI/AnnotatableTEI.d.ts.map +1 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotatableTEI/AnnotatableTEI.js +35 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotatableTEI/index.d.ts +2 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotatableTEI/index.d.ts.map +1 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotatableTEI/index.js +1 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/AnnotationPanel.css +67 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/AnnotationPanel.d.ts +10 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/AnnotationPanel.d.ts.map +1 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/AnnotationPanel.js +15 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/ListTab/ListCard.d.ts +13 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/ListTab/ListCard.d.ts.map +1 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/ListTab/ListCard.js +32 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/ListTab/ListTab.css +230 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/ListTab/ListTab.d.ts +7 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/ListTab/ListTab.d.ts.map +1 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/ListTab/ListTab.js +100 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/ListTab/index.d.ts +2 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/ListTab/index.d.ts.map +1 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/ListTab/index.js +1 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/SelectedTab.css +449 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/SelectedTab.d.ts +10 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/SelectedTab.d.ts.map +1 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/SelectedTab.js +81 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/LinkedWordItem.d.ts +11 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/LinkedWordItem.d.ts.map +1 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/LinkedWordItem.js +11 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/MetaphorLinkedWords.d.ts +9 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/MetaphorLinkedWords.d.ts.map +1 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/MetaphorLinkedWords.js +45 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/MetaphorPreview.d.ts +8 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/MetaphorPreview.d.ts.map +1 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/MetaphorPreview.js +27 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/MetaphorTags.d.ts +10 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/MetaphorTags.d.ts.map +1 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/MetaphorTags.js +39 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/SpanTools.d.ts +8 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/SpanTools.d.ts.map +1 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/SpanTools.js +9 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/Tag.d.ts +7 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/Tag.d.ts.map +1 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/Tag.js +7 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/TypeSelector.d.ts +9 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/TypeSelector.d.ts.map +1 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/TypeSelector.js +8 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/WordTags.d.ts +10 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/WordTags.d.ts.map +1 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/WordTags.js +32 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/WordUplink.d.ts +7 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/WordUplink.d.ts.map +1 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/components/WordUplink.js +17 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/index.d.ts +2 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/index.d.ts.map +1 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SelectedTab/index.js +1 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SettingsTab/SettingsTab.css +157 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SettingsTab/SettingsTab.d.ts +2 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SettingsTab/SettingsTab.d.ts.map +1 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SettingsTab/SettingsTab.js +12 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SettingsTab/components/AnnotationStyle.d.ts +2 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SettingsTab/components/AnnotationStyle.d.ts.map +1 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SettingsTab/components/AnnotationStyle.js +19 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SettingsTab/index.d.ts +2 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SettingsTab/index.d.ts.map +1 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/SettingsTab/index.js +1 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/index.d.ts +2 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/index.d.ts.map +1 -0
- package/dist/pages/_components/TeiMetaphorView/components/AnnotationPanel/index.js +1 -0
- package/dist/pages/_components/TeiMetaphorView/components/ColorCodingState/ColorCodingState.d.ts +31 -0
- package/dist/pages/_components/TeiMetaphorView/components/ColorCodingState/ColorCodingState.d.ts.map +1 -0
- package/dist/pages/_components/TeiMetaphorView/components/ColorCodingState/ColorCodingState.js +64 -0
- package/dist/pages/_components/TeiMetaphorView/components/ColorCodingState/index.d.ts +2 -0
- package/dist/pages/_components/TeiMetaphorView/components/ColorCodingState/index.d.ts.map +1 -0
- package/dist/pages/_components/TeiMetaphorView/components/ColorCodingState/index.js +1 -0
- package/dist/pages/_components/TeiMetaphorView/components/InlineToolbar/InlineToolbar.css +189 -0
- package/dist/pages/_components/TeiMetaphorView/components/InlineToolbar/InlineToolbar.d.ts +7 -0
- package/dist/pages/_components/TeiMetaphorView/components/InlineToolbar/InlineToolbar.d.ts.map +1 -0
- package/dist/pages/_components/TeiMetaphorView/components/InlineToolbar/InlineToolbar.js +24 -0
- package/dist/pages/_components/TeiMetaphorView/components/InlineToolbar/ToolbarStateChoice.d.ts +8 -0
- package/dist/pages/_components/TeiMetaphorView/components/InlineToolbar/ToolbarStateChoice.d.ts.map +1 -0
- package/dist/pages/_components/TeiMetaphorView/components/InlineToolbar/ToolbarStateChoice.js +26 -0
- package/dist/pages/_components/TeiMetaphorView/components/InlineToolbar/ToolbarStateSelected.d.ts +7 -0
- package/dist/pages/_components/TeiMetaphorView/components/InlineToolbar/ToolbarStateSelected.d.ts.map +1 -0
- package/dist/pages/_components/TeiMetaphorView/components/InlineToolbar/ToolbarStateSelected.js +71 -0
- package/dist/pages/_components/TeiMetaphorView/components/InlineToolbar/index.d.ts +2 -0
- package/dist/pages/_components/TeiMetaphorView/components/InlineToolbar/index.d.ts.map +1 -0
- package/dist/pages/_components/TeiMetaphorView/components/InlineToolbar/index.js +1 -0
- package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/Info/Info.d.ts +8 -0
- package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/Info/Info.d.ts.map +1 -0
- package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/Info/Info.js +41 -0
- package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/Info/getTeiMetadata.d.ts +9 -0
- package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/Info/getTeiMetadata.d.ts.map +1 -0
- package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/Info/getTeiMetadata.js +33 -0
- package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/Info/index.d.ts +2 -0
- package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/Info/index.d.ts.map +1 -0
- package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/Info/index.js +1 -0
- package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/MetadataPanel.css +159 -0
- package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/MetadataPanel.d.ts +9 -0
- package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/MetadataPanel.d.ts.map +1 -0
- package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/MetadataPanel.js +47 -0
- package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/Toc/Toc.d.ts +6 -0
- package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/Toc/Toc.d.ts.map +1 -0
- package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/Toc/Toc.js +15 -0
- package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/Toc/TocLevel.d.ts +7 -0
- package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/Toc/TocLevel.d.ts.map +1 -0
- package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/Toc/TocLevel.js +13 -0
- package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/Toc/buildTableOfContents.d.ts +12 -0
- package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/Toc/buildTableOfContents.d.ts.map +1 -0
- package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/Toc/buildTableOfContents.js +97 -0
- package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/Toc/index.d.ts +2 -0
- package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/Toc/index.d.ts.map +1 -0
- package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/Toc/index.js +1 -0
- package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/index.d.ts +2 -0
- package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/index.d.ts.map +1 -0
- package/dist/pages/_components/TeiMetaphorView/components/MetadataPanel/index.js +1 -0
- package/dist/pages/_components/TeiMetaphorView/hooks/index.d.ts +6 -0
- package/dist/pages/_components/TeiMetaphorView/hooks/index.d.ts.map +1 -0
- package/dist/pages/_components/TeiMetaphorView/hooks/index.js +5 -0
- package/dist/pages/_components/TeiMetaphorView/hooks/useAnnotationsStyle.d.ts +3 -0
- package/dist/pages/_components/TeiMetaphorView/hooks/useAnnotationsStyle.d.ts.map +1 -0
- package/dist/pages/_components/TeiMetaphorView/hooks/useAnnotationsStyle.js +138 -0
- package/dist/pages/_components/TeiMetaphorView/hooks/useIntersectingAnnotations.d.ts +5 -0
- package/dist/pages/_components/TeiMetaphorView/hooks/useIntersectingAnnotations.d.ts.map +1 -0
- package/dist/pages/_components/TeiMetaphorView/hooks/useIntersectingAnnotations.js +35 -0
- package/dist/pages/_components/TeiMetaphorView/hooks/useLinkedMetaphors.d.ts +5 -0
- package/dist/pages/_components/TeiMetaphorView/hooks/useLinkedMetaphors.d.ts.map +1 -0
- package/dist/pages/_components/TeiMetaphorView/hooks/useLinkedMetaphors.js +14 -0
- package/dist/pages/_components/TeiMetaphorView/hooks/useMrwOptions.d.ts +6 -0
- package/dist/pages/_components/TeiMetaphorView/hooks/useMrwOptions.d.ts.map +1 -0
- package/dist/pages/_components/TeiMetaphorView/hooks/useMrwOptions.js +24 -0
- package/dist/pages/_components/TeiMetaphorView/hooks/useSuggestAnnotationType.d.ts +2 -0
- package/dist/pages/_components/TeiMetaphorView/hooks/useSuggestAnnotationType.d.ts.map +1 -0
- package/dist/pages/_components/TeiMetaphorView/hooks/useSuggestAnnotationType.js +35 -0
- package/dist/pages/_components/TeiMetaphorView/hooks/useTagVocabulary.d.ts +3 -0
- package/dist/pages/_components/TeiMetaphorView/hooks/useTagVocabulary.d.ts.map +1 -0
- package/dist/pages/_components/TeiMetaphorView/hooks/useTagVocabulary.js +46 -0
- package/dist/pages/_components/TeiMetaphorView/index.d.ts +2 -0
- package/dist/pages/_components/TeiMetaphorView/index.d.ts.map +1 -0
- package/dist/pages/_components/TeiMetaphorView/index.js +1 -0
- package/dist/pages/_components/TeiMetaphorView/utils.d.ts +15 -0
- package/dist/pages/_components/TeiMetaphorView/utils.d.ts.map +1 -0
- package/dist/pages/_components/TeiMetaphorView/utils.js +146 -0
- package/dist/pages/_components/shared/components/Accordion/Accordion.css +55 -0
- package/dist/pages/_components/shared/components/Accordion/Accordion.d.ts +6 -0
- package/dist/pages/_components/shared/components/Accordion/Accordion.d.ts.map +1 -0
- package/dist/pages/_components/shared/components/Accordion/Accordion.js +7 -0
- package/dist/pages/_components/shared/components/Accordion/index.d.ts +2 -0
- package/dist/pages/_components/shared/components/Accordion/index.d.ts.map +1 -0
- package/dist/pages/_components/shared/components/Accordion/index.js +1 -0
- package/dist/pages/_components/shared/components/AccountActions/AccountActions.css +49 -0
- package/dist/pages/_components/shared/components/AccountActions/AccountActions.d.ts +2 -0
- package/dist/pages/_components/shared/components/AccountActions/AccountActions.d.ts.map +1 -0
- package/dist/pages/_components/shared/components/AccountActions/AccountActions.js +33 -0
- package/dist/pages/_components/shared/components/AccountActions/index.d.ts +2 -0
- package/dist/pages/_components/shared/components/AccountActions/index.d.ts.map +1 -0
- package/dist/pages/_components/shared/components/AccountActions/index.js +1 -0
- package/dist/pages/_components/shared/components/Conversation/Comment.d.ts +6 -0
- package/dist/pages/_components/shared/components/Conversation/Comment.d.ts.map +1 -0
- package/dist/pages/_components/shared/components/Conversation/Comment.js +12 -0
- package/dist/pages/_components/shared/components/Conversation/Conversation.css +93 -0
- package/dist/pages/_components/shared/components/Conversation/Conversation.d.ts +8 -0
- package/dist/pages/_components/shared/components/Conversation/Conversation.d.ts.map +1 -0
- package/dist/pages/_components/shared/components/Conversation/Conversation.js +55 -0
- package/dist/pages/_components/shared/components/Conversation/index.d.ts +2 -0
- package/dist/pages/_components/shared/components/Conversation/index.d.ts.map +1 -0
- package/dist/pages/_components/shared/components/Conversation/index.js +1 -0
- package/dist/pages/_components/shared/components/EditorToolbar/EditorToolbar.css +218 -0
- package/dist/pages/_components/shared/components/EditorToolbar/EditorToolbar.d.ts +23 -0
- package/dist/pages/_components/shared/components/EditorToolbar/EditorToolbar.d.ts.map +1 -0
- package/dist/pages/_components/shared/components/EditorToolbar/EditorToolbar.js +13 -0
- package/dist/pages/_components/shared/components/EditorToolbar/PrivacySelector.d.ts +8 -0
- package/dist/pages/_components/shared/components/EditorToolbar/PrivacySelector.d.ts.map +1 -0
- package/dist/pages/_components/shared/components/EditorToolbar/PrivacySelector.js +9 -0
- package/dist/pages/_components/shared/components/EditorToolbar/UndoRedo.d.ts +2 -0
- package/dist/pages/_components/shared/components/EditorToolbar/UndoRedo.d.ts.map +1 -0
- package/dist/pages/_components/shared/components/EditorToolbar/UndoRedo.js +42 -0
- package/dist/pages/_components/shared/components/EditorToolbar/index.d.ts +3 -0
- package/dist/pages/_components/shared/components/EditorToolbar/index.d.ts.map +1 -0
- package/dist/pages/_components/shared/components/EditorToolbar/index.js +2 -0
- package/dist/pages/_components/shared/components/Filters/Filters.d.ts +6 -0
- package/dist/pages/_components/shared/components/Filters/Filters.d.ts.map +1 -0
- package/dist/pages/_components/shared/components/Filters/Filters.js +61 -0
- package/dist/pages/_components/shared/components/Filters/VisibilityFilter.d.ts +2 -0
- package/dist/pages/_components/shared/components/Filters/VisibilityFilter.d.ts.map +1 -0
- package/dist/pages/_components/shared/components/Filters/VisibilityFilter.js +23 -0
- package/dist/pages/_components/shared/components/Filters/index.d.ts +3 -0
- package/dist/pages/_components/shared/components/Filters/index.d.ts.map +1 -0
- package/dist/pages/_components/shared/components/Filters/index.js +2 -0
- package/dist/pages/_components/shared/components/HideAllState/HideAllState.d.ts +12 -0
- package/dist/pages/_components/shared/components/HideAllState/HideAllState.d.ts.map +1 -0
- package/dist/pages/_components/shared/components/HideAllState/HideAllState.js +9 -0
- package/dist/pages/_components/shared/components/HideAllState/index.d.ts +2 -0
- package/dist/pages/_components/shared/components/HideAllState/index.d.ts.map +1 -0
- package/dist/pages/_components/shared/components/HideAllState/index.js +1 -0
- package/dist/pages/_components/shared/components/Metadata/MetadataList.d.ts +10 -0
- package/dist/pages/_components/shared/components/Metadata/MetadataList.d.ts.map +1 -0
- package/dist/pages/_components/shared/components/Metadata/MetadataList.js +11 -0
- package/dist/pages/_components/shared/components/Metadata/index.d.ts +3 -0
- package/dist/pages/_components/shared/components/Metadata/index.d.ts.map +1 -0
- package/dist/pages/_components/shared/components/Metadata/index.js +2 -0
- package/dist/pages/_components/shared/components/Metadata/sanitize.d.ts +3 -0
- package/dist/pages/_components/shared/components/Metadata/sanitize.d.ts.map +1 -0
- package/dist/pages/_components/shared/components/Metadata/sanitize.js +53 -0
- package/dist/pages/_components/shared/components/StorageAdapter.d.ts +8 -0
- package/dist/pages/_components/shared/components/StorageAdapter.d.ts.map +1 -0
- package/dist/pages/_components/shared/components/StorageAdapter.js +12 -0
- package/dist/pages/_components/shared/components/SupabaseStorageAdapter.d.ts +23 -0
- package/dist/pages/_components/shared/components/SupabaseStorageAdapter.d.ts.map +1 -0
- package/dist/pages/_components/shared/components/SupabaseStorageAdapter.js +46 -0
- package/dist/pages/_components/shared/components/Tabs/Tabs.css +90 -0
- package/dist/pages/_components/shared/components/Tabs/Tabs.d.ts +6 -0
- package/dist/pages/_components/shared/components/Tabs/Tabs.d.ts.map +1 -0
- package/dist/pages/_components/shared/components/Tabs/Tabs.js +6 -0
- package/dist/pages/_components/shared/components/Tabs/index.d.ts +2 -0
- package/dist/pages/_components/shared/components/Tabs/index.d.ts.map +1 -0
- package/dist/pages/_components/shared/components/Tabs/index.js +1 -0
- package/dist/pages/_components/shared/components/index.d.ts +9 -0
- package/dist/pages/_components/shared/components/index.d.ts.map +1 -0
- package/dist/pages/_components/shared/components/index.js +8 -0
- package/dist/pages/_components/shared/hooks/index.d.ts +2 -0
- package/dist/pages/_components/shared/hooks/index.d.ts.map +1 -0
- package/dist/pages/_components/shared/hooks/index.js +1 -0
- package/dist/pages/_components/shared/hooks/useDocument.d.ts +3 -0
- package/dist/pages/_components/shared/hooks/useDocument.d.ts.map +1 -0
- package/dist/pages/_components/shared/hooks/useDocument.js +14 -0
- package/dist/pages/_components/shared/hooks/useDocumentLayers.d.ts +6 -0
- package/dist/pages/_components/shared/hooks/useDocumentLayers.d.ts.map +1 -0
- package/dist/pages/_components/shared/hooks/useDocumentLayers.js +18 -0
- package/dist/pages/_components/shared/hooks/useLayerPolicies.d.ts +3 -0
- package/dist/pages/_components/shared/hooks/useLayerPolicies.d.ts.map +1 -0
- package/dist/pages/_components/shared/hooks/useLayerPolicies.js +16 -0
- package/dist/pages/_components/shared/hooks/useSelectAction.d.ts +18 -0
- package/dist/pages/_components/shared/hooks/useSelectAction.d.ts.map +1 -0
- package/dist/pages/_components/shared/hooks/useSelectAction.js +26 -0
- package/dist/pages/_components/shared/hooks/useStoredFileDocument.d.ts +5 -0
- package/dist/pages/_components/shared/hooks/useStoredFileDocument.d.ts.map +1 -0
- package/dist/pages/_components/shared/hooks/useStoredFileDocument.js +22 -0
- package/dist/pages/_components/shared/i18n.d.ts +4 -0
- package/dist/pages/_components/shared/i18n.d.ts.map +1 -0
- package/dist/pages/_components/shared/i18n.js +31 -0
- package/dist/pages/_components/shared/supabase.d.ts +7 -0
- package/dist/pages/_components/shared/supabase.d.ts.map +1 -0
- package/dist/pages/_components/shared/supabase.js +7 -0
- package/dist/pages/_components/shared/types.d.ts +16 -0
- package/dist/pages/_components/shared/types.d.ts.map +1 -0
- package/dist/pages/_components/shared/types.js +1 -0
- package/dist/pages/metaphor-annotation-view.astro +122 -0
- package/package.json +69 -4
|
@@ -0,0 +1,347 @@
|
|
|
1
|
+
/* "Selected" tab */
|
|
2
|
+
.ia-selected {
|
|
3
|
+
display: flex;
|
|
4
|
+
flex-direction: column;
|
|
5
|
+
flex-grow: 1;
|
|
6
|
+
min-height: 0;
|
|
7
|
+
overflow-y: auto;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.ia-selected-section {
|
|
11
|
+
padding: 1rem 1rem 0;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.ia-section-header {
|
|
15
|
+
display: flex;
|
|
16
|
+
align-items: center;
|
|
17
|
+
justify-content: space-between;
|
|
18
|
+
font-size: var(--font-tiny);
|
|
19
|
+
font-weight: 600;
|
|
20
|
+
color: var(--font-light);
|
|
21
|
+
margin-bottom: 0.5rem;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.ia-selected-footer {
|
|
25
|
+
margin-top: auto;
|
|
26
|
+
padding: 1rem;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.ia-selected-footer button {
|
|
30
|
+
width: 100%;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/* Category chip */
|
|
34
|
+
.ia-category-chip {
|
|
35
|
+
display: flex;
|
|
36
|
+
align-items: center;
|
|
37
|
+
justify-content: space-between;
|
|
38
|
+
gap: 0.25rem;
|
|
39
|
+
color: #fff;
|
|
40
|
+
font-size: var(--font-tiny);
|
|
41
|
+
font-weight: 500;
|
|
42
|
+
border-radius: var(--border-radius);
|
|
43
|
+
padding: 4px 6px 4px 10px;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/* Clear button: white X on a dark translucent circle, legible on any
|
|
47
|
+
category color */
|
|
48
|
+
.ia-category-chip button.icon-only {
|
|
49
|
+
display: inline-flex;
|
|
50
|
+
align-items: center;
|
|
51
|
+
justify-content: center;
|
|
52
|
+
flex-shrink: 0;
|
|
53
|
+
width: 20px;
|
|
54
|
+
height: 20px;
|
|
55
|
+
padding: 0;
|
|
56
|
+
border-radius: 50%;
|
|
57
|
+
background-color: rgba(0, 0, 0, 0.3);
|
|
58
|
+
color: #fff;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.ia-category-chip button.unstyled.icon-only svg {
|
|
62
|
+
width: 12px;
|
|
63
|
+
height: 12px;
|
|
64
|
+
margin: 0;
|
|
65
|
+
padding: 0;
|
|
66
|
+
top: 0;
|
|
67
|
+
color: #fff;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.ia-category-chip button.icon-only:hover {
|
|
71
|
+
background-color: rgba(0, 0, 0, 0.5);
|
|
72
|
+
box-shadow: none;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.ia-add-class {
|
|
76
|
+
width: 100%;
|
|
77
|
+
display: flex;
|
|
78
|
+
align-items: center;
|
|
79
|
+
justify-content: center;
|
|
80
|
+
gap: 0.5rem;
|
|
81
|
+
padding: 1rem;
|
|
82
|
+
border: 1px solid var(--gray-300);
|
|
83
|
+
border-radius: var(--border-radius);
|
|
84
|
+
background-color: var(--gray-50);
|
|
85
|
+
color: var(--font-light);
|
|
86
|
+
font-size: var(--font-tiny);
|
|
87
|
+
font-weight: 500;
|
|
88
|
+
cursor: pointer;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.ia-add-class:hover {
|
|
92
|
+
background-color: var(--gray-100);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/* Properties */
|
|
96
|
+
.ia-property-list {
|
|
97
|
+
list-style: none;
|
|
98
|
+
margin: 0;
|
|
99
|
+
padding: 0;
|
|
100
|
+
display: flex;
|
|
101
|
+
flex-wrap: wrap;
|
|
102
|
+
gap: 6px;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
.ia-property-pill {
|
|
106
|
+
display: inline-flex;
|
|
107
|
+
align-items: center;
|
|
108
|
+
gap: 4px;
|
|
109
|
+
font-size: var(--font-tiny);
|
|
110
|
+
background-color: var(--gray-100);
|
|
111
|
+
color: var(--font-dark);
|
|
112
|
+
border-radius: 999px;
|
|
113
|
+
padding: 3px 4px 3px 10px;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
.ia-property-pill .icon-only {
|
|
117
|
+
width: 20px;
|
|
118
|
+
height: 20px;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.ia-add-property {
|
|
122
|
+
display: inline-flex;
|
|
123
|
+
align-items: center;
|
|
124
|
+
gap: 4px;
|
|
125
|
+
font-size: var(--font-tiny);
|
|
126
|
+
color: var(--link-color);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
.ia-add-property svg {
|
|
130
|
+
top: 0;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
/* Empty states + list */
|
|
134
|
+
.ia-panel-empty {
|
|
135
|
+
flex-grow: 1;
|
|
136
|
+
display: flex;
|
|
137
|
+
flex-direction: column;
|
|
138
|
+
align-items: center;
|
|
139
|
+
justify-content: center;
|
|
140
|
+
gap: 0.75rem;
|
|
141
|
+
color: var(--font-light);
|
|
142
|
+
text-align: center;
|
|
143
|
+
padding: 2rem;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
.ia-panel-empty p {
|
|
147
|
+
margin: 0;
|
|
148
|
+
font-size: var(--font-small);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
/* List cards */
|
|
152
|
+
.ia-list-card-category {
|
|
153
|
+
align-self: flex-start;
|
|
154
|
+
color: #fff;
|
|
155
|
+
font-size: var(--font-tiny);
|
|
156
|
+
font-weight: 500;
|
|
157
|
+
border-radius: var(--border-radius);
|
|
158
|
+
padding: 3px 10px;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
.ia-list-card-untitled {
|
|
162
|
+
color: var(--font-light);
|
|
163
|
+
font-size: var(--font-tiny);
|
|
164
|
+
font-style: italic;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
.ia-list-sort-label {
|
|
168
|
+
font-size: var(--font-tiny);
|
|
169
|
+
color: var(--font-light);
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
/* Shape toolbar */
|
|
173
|
+
.ia-shape-toolbar {
|
|
174
|
+
display: flex;
|
|
175
|
+
align-items: center;
|
|
176
|
+
gap: 2px;
|
|
177
|
+
padding: 4px;
|
|
178
|
+
background-color: #fff;
|
|
179
|
+
border-radius: 8px;
|
|
180
|
+
box-shadow:
|
|
181
|
+
0 4px 12px rgba(0, 0, 0, 0.1),
|
|
182
|
+
0 20px 40px rgba(0, 0, 0, 0.06);
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
.ia-shape-toolbar .ia-shape-toolbar-sep {
|
|
186
|
+
width: 1px;
|
|
187
|
+
align-self: stretch;
|
|
188
|
+
margin: 4px 2px;
|
|
189
|
+
background-color: var(--gray-200);
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
/* SetCategory / AddProperty */
|
|
193
|
+
.ia-set-category {
|
|
194
|
+
padding: 12px;
|
|
195
|
+
width: 240px;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
.ia-set-category-label {
|
|
199
|
+
display: block;
|
|
200
|
+
font-size: var(--font-tiny);
|
|
201
|
+
font-weight: 600;
|
|
202
|
+
color: var(--font-light);
|
|
203
|
+
margin-bottom: 6px;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
.ia-set-category-form {
|
|
207
|
+
display: flex;
|
|
208
|
+
gap: 6px;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
.ia-set-category-form input {
|
|
212
|
+
flex: 1 1 auto;
|
|
213
|
+
min-width: 0;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
/* RelationPreview */
|
|
217
|
+
.ia-relation-list {
|
|
218
|
+
display: flex;
|
|
219
|
+
flex-direction: column;
|
|
220
|
+
gap: 6px;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
.ia-relation-preview {
|
|
224
|
+
display: flex;
|
|
225
|
+
align-items: center;
|
|
226
|
+
gap: 4px;
|
|
227
|
+
padding: 3px 6px;
|
|
228
|
+
border: 1px solid var(--gray-200);
|
|
229
|
+
border-radius: 999px;
|
|
230
|
+
background-color: var(--gray-50);
|
|
231
|
+
font-size: var(--font-tiny);
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
.ia-relation-end {
|
|
235
|
+
display: inline-flex;
|
|
236
|
+
align-items: center;
|
|
237
|
+
gap: 5px;
|
|
238
|
+
flex-shrink: 0;
|
|
239
|
+
max-width: 40%;
|
|
240
|
+
white-space: nowrap;
|
|
241
|
+
overflow: hidden;
|
|
242
|
+
text-overflow: ellipsis;
|
|
243
|
+
font-weight: 500;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
.ia-relation-dot {
|
|
247
|
+
width: 8px;
|
|
248
|
+
height: 8px;
|
|
249
|
+
flex-shrink: 0;
|
|
250
|
+
border-radius: 50%;
|
|
251
|
+
background-color: var(--gray-400);
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
.ia-relation-end-point {
|
|
255
|
+
width: 8px;
|
|
256
|
+
height: 8px;
|
|
257
|
+
border: 1px solid var(--gray-400);
|
|
258
|
+
border-radius: 50%;
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
.ia-relation-untitled {
|
|
262
|
+
color: var(--font-light);
|
|
263
|
+
font-style: italic;
|
|
264
|
+
font-weight: 400;
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
.ia-relation-line {
|
|
268
|
+
position: relative;
|
|
269
|
+
flex-grow: 1;
|
|
270
|
+
display: flex;
|
|
271
|
+
justify-content: center;
|
|
272
|
+
align-items: center;
|
|
273
|
+
min-width: 24px;
|
|
274
|
+
height: 16px;
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
/* dashed line */
|
|
278
|
+
.ia-relation-line::before {
|
|
279
|
+
content: '';
|
|
280
|
+
position: absolute;
|
|
281
|
+
left: 0;
|
|
282
|
+
right: 0;
|
|
283
|
+
top: 50%;
|
|
284
|
+
border-top: 1px dashed var(--gray-400);
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
/* arrowhead */
|
|
288
|
+
.ia-relation-line::after {
|
|
289
|
+
content: '';
|
|
290
|
+
position: absolute;
|
|
291
|
+
top: 50%;
|
|
292
|
+
transform: translateY(-50%);
|
|
293
|
+
border-top: 4px solid transparent;
|
|
294
|
+
border-bottom: 4px solid transparent;
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
.ia-relation-line.outgoing::after {
|
|
298
|
+
right: -2px;
|
|
299
|
+
border-left: 7px solid var(--gray-400);
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
.ia-relation-line.incoming::after {
|
|
303
|
+
left: -2px;
|
|
304
|
+
border-right: 7px solid var(--gray-400);
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
.ia-relation-category {
|
|
308
|
+
position: relative;
|
|
309
|
+
max-width: 100px;
|
|
310
|
+
padding: 0 3px;
|
|
311
|
+
overflow: hidden;
|
|
312
|
+
white-space: nowrap;
|
|
313
|
+
text-overflow: ellipsis;
|
|
314
|
+
background-color: var(--gray-50);
|
|
315
|
+
font-weight: 300;
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
.ia-relations-empty {
|
|
319
|
+
margin: 0;
|
|
320
|
+
color: var(--font-light);
|
|
321
|
+
font-size: var(--font-tiny);
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
/* Hover tooltip on the image */
|
|
325
|
+
.ia-hover-tooltip {
|
|
326
|
+
position: relative;
|
|
327
|
+
padding: 4px 8px;
|
|
328
|
+
border-radius: var(--border-radius);
|
|
329
|
+
overflow: hidden;
|
|
330
|
+
backdrop-filter: blur(4px);
|
|
331
|
+
background-color: rgba(255, 255, 255, 0.75);
|
|
332
|
+
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
|
|
333
|
+
color: var(--font-dark);
|
|
334
|
+
font-size: var(--font-tiny);
|
|
335
|
+
font-weight: 500;
|
|
336
|
+
white-space: nowrap;
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
.ia-hover-tooltip-tint {
|
|
340
|
+
position: absolute;
|
|
341
|
+
inset: 0;
|
|
342
|
+
opacity: 0.35;
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
.ia-hover-tooltip span {
|
|
346
|
+
position: relative;
|
|
347
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AddProperty.d.ts","sourceRoot":"","sources":["../../../../../../src/pages/_components/ImageMetaphorView/components/shared/AddProperty.tsx"],"names":[],"mappings":"AAKA,UAAU,gBAAgB;IACxB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAED,eAAO,MAAM,WAAW,GAAI,OAAO,gBAAgB,gCAgDlD,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import { useTranslation } from 'react-i18next';
|
|
4
|
+
import * as Popover from '@radix-ui/react-popover';
|
|
5
|
+
import { PlusIcon } from '@phosphor-icons/react';
|
|
6
|
+
export const AddProperty = (props) => {
|
|
7
|
+
const { t } = useTranslation();
|
|
8
|
+
const [open, setOpen] = useState(false);
|
|
9
|
+
const [value, setValue] = useState('');
|
|
10
|
+
const onSave = () => {
|
|
11
|
+
if (!value.trim())
|
|
12
|
+
return;
|
|
13
|
+
props.onAddProperty(value.trim());
|
|
14
|
+
setValue('');
|
|
15
|
+
setOpen(false);
|
|
16
|
+
};
|
|
17
|
+
return (_jsxs(Popover.Root, { open: open, onOpenChange: setOpen, children: [_jsx(Popover.Trigger, { asChild: true, children: _jsxs("button", { className: 'unstyled ia-add-property', children: [_jsx(PlusIcon, {}), " ", t('Add property')] }) }), _jsx(Popover.Portal, { children: _jsxs(Popover.Content, { className: 'popover-content ia-set-category', sideOffset: 6, align: 'end', children: [_jsx("label", { className: 'ia-set-category-label', children: t('Property') }), _jsxs("form", { className: 'ia-set-category-form', onSubmit: (evt) => {
|
|
18
|
+
evt.preventDefault();
|
|
19
|
+
onSave();
|
|
20
|
+
}, children: [_jsx("input", { autoFocus: true, value: value, onChange: (evt) => setValue(evt.target.value) }), _jsx("button", { type: 'submit', className: 'primary sm', disabled: !value.trim(), children: t('Add') })] })] }) })] }));
|
|
21
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type ArrowAnnotation } from '@annotorious/plugin-arrows-react';
|
|
2
|
+
interface RelationPreviewProps {
|
|
3
|
+
arrow: ArrowAnnotation;
|
|
4
|
+
referenceAnnotationId?: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Compact "A ⇢ B" pill for a relation (arrow) between annotations, after
|
|
8
|
+
* the bochum wireframes' RelationPreview.
|
|
9
|
+
*/
|
|
10
|
+
export declare const RelationPreview: (props: RelationPreviewProps) => import("react").JSX.Element;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=RelationPreview.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RelationPreview.d.ts","sourceRoot":"","sources":["../../../../../../src/pages/_components/ImageMetaphorView/components/shared/RelationPreview.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,kCAAkC,CAAC;AAQ1C,UAAU,oBAAoB;IAC5B,KAAK,EAAE,eAAe,CAAC;IAIvB,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,oBAAoB,gCA8D1D,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo } from 'react';
|
|
3
|
+
import { useTranslation } from 'react-i18next';
|
|
4
|
+
import { useAnnotation } from '@annotorious/react';
|
|
5
|
+
import { isArrowAnchor, } from '@annotorious/plugin-arrows-react';
|
|
6
|
+
import { getCategoryColor } from './colors';
|
|
7
|
+
const getCategory = (annotation) => annotation?.bodies.find((b) => b.purpose === 'classifying')?.value;
|
|
8
|
+
/**
|
|
9
|
+
* Compact "A ⇢ B" pill for a relation (arrow) between annotations, after
|
|
10
|
+
* the bochum wireframes' RelationPreview.
|
|
11
|
+
*/
|
|
12
|
+
export const RelationPreview = (props) => {
|
|
13
|
+
const { t } = useTranslation();
|
|
14
|
+
const { start, end } = props.arrow.target.selector;
|
|
15
|
+
const startAnnotation = useAnnotation(isArrowAnchor(start) ? start.annotationId : '');
|
|
16
|
+
const endAnnotation = useAnnotation(isArrowAnchor(end) ? end.annotationId : '');
|
|
17
|
+
// Arrow points away from the reference annotation (or no reference)
|
|
18
|
+
const isOutgoing = !props.referenceAnnotationId ||
|
|
19
|
+
(isArrowAnchor(start) && start.annotationId === props.referenceAnnotationId);
|
|
20
|
+
const category = useMemo(() => getCategory(props.arrow), [props.arrow]);
|
|
21
|
+
const renderEnd = (annotation) => {
|
|
22
|
+
// Free-floating end (a point on the image, not an annotation)
|
|
23
|
+
if (!annotation)
|
|
24
|
+
return _jsx("span", { className: 'ia-relation-end ia-relation-end-point' });
|
|
25
|
+
const endCategory = getCategory(annotation);
|
|
26
|
+
return (_jsxs("span", { className: 'ia-relation-end', children: [_jsx("span", { className: 'ia-relation-dot', style: endCategory
|
|
27
|
+
? { backgroundColor: getCategoryColor(endCategory) }
|
|
28
|
+
: undefined }), _jsx("span", { className: endCategory ? undefined : 'ia-relation-untitled', children: endCategory || t('Untitled') })] }));
|
|
29
|
+
};
|
|
30
|
+
const [left, right] = isOutgoing
|
|
31
|
+
? [startAnnotation, endAnnotation]
|
|
32
|
+
: [endAnnotation, startAnnotation];
|
|
33
|
+
return (_jsxs("div", { className: 'ia-relation-preview', children: [renderEnd(left), _jsx("span", { className: `ia-relation-line ${isOutgoing ? 'outgoing' : 'incoming'}`, "aria-label": isOutgoing ? t('links to') : t('linked from'), children: category && _jsx("span", { className: 'ia-relation-category', children: category }) }), renderEnd(right)] }));
|
|
34
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
interface SetCategoryProps {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
onSetCategory(value: string): void;
|
|
5
|
+
}
|
|
6
|
+
export declare const SetCategory: (props: SetCategoryProps) => import("react").JSX.Element;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=SetCategory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SetCategory.d.ts","sourceRoot":"","sources":["../../../../../../src/pages/_components/ImageMetaphorView/components/shared/SetCategory.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAIjD,UAAU,gBAAgB;IACxB,QAAQ,EAAE,SAAS,CAAC;IAEpB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAED,eAAO,MAAM,WAAW,GAAI,OAAO,gBAAgB,gCA4ClD,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import { useTranslation } from 'react-i18next';
|
|
4
|
+
import * as Popover from '@radix-ui/react-popover';
|
|
5
|
+
export const SetCategory = (props) => {
|
|
6
|
+
const { t } = useTranslation();
|
|
7
|
+
const [open, setOpen] = useState(false);
|
|
8
|
+
const [value, setValue] = useState('');
|
|
9
|
+
const onSave = () => {
|
|
10
|
+
if (!value.trim())
|
|
11
|
+
return;
|
|
12
|
+
props.onSetCategory(value.trim());
|
|
13
|
+
setValue('');
|
|
14
|
+
setOpen(false);
|
|
15
|
+
};
|
|
16
|
+
return (_jsxs(Popover.Root, { open: open, onOpenChange: setOpen, children: [_jsx(Popover.Trigger, { asChild: true, children: props.children }), _jsx(Popover.Portal, { children: _jsxs(Popover.Content, { className: 'popover-content ia-set-category', sideOffset: 6, align: 'start', children: [_jsx("label", { className: 'ia-set-category-label', children: t('Enter concept') }), _jsxs("form", { className: 'ia-set-category-form', onSubmit: (evt) => {
|
|
17
|
+
evt.preventDefault();
|
|
18
|
+
onSave();
|
|
19
|
+
}, children: [_jsx("input", { autoFocus: true, value: value, onChange: (evt) => setValue(evt.target.value) }), _jsx("button", { type: 'submit', className: 'primary sm', disabled: !value.trim(), children: t('Add') })] })] }) })] }));
|
|
20
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../../../../../src/pages/_components/ImageMetaphorView/components/shared/colors.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,gBAAgB,GAAI,UAAU,MAAM,WAOhD,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
const PALETTE = [
|
|
2
|
+
'#c026d3',
|
|
3
|
+
'#fb923c',
|
|
4
|
+
'#a16207',
|
|
5
|
+
'#65a30d',
|
|
6
|
+
'#0891b2',
|
|
7
|
+
'#7c3aed',
|
|
8
|
+
];
|
|
9
|
+
const assigned = new Map();
|
|
10
|
+
export const getCategoryColor = (category) => {
|
|
11
|
+
const existing = assigned.get(category);
|
|
12
|
+
if (existing)
|
|
13
|
+
return existing;
|
|
14
|
+
const next = PALETTE[assigned.size % PALETTE.length];
|
|
15
|
+
assigned.set(category, next);
|
|
16
|
+
return next;
|
|
17
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/pages/_components/ImageMetaphorView/components/shared/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type ArrowAnnotation } from '@annotorious/plugin-arrows-react';
|
|
2
|
+
/**
|
|
3
|
+
* The relations (arrows) connected to an annotation, excluding arrows whose
|
|
4
|
+
* other end is attached to an annotation that isn't loaded (e.g. a private
|
|
5
|
+
* annotation, or older data). The arrows plugin doesn't draw those either.
|
|
6
|
+
*/
|
|
7
|
+
export declare const useRelations: (annotationId: string) => ArrowAnnotation[];
|
|
8
|
+
//# sourceMappingURL=useRelations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRelations.d.ts","sourceRoot":"","sources":["../../../../../../src/pages/_components/ImageMetaphorView/components/shared/useRelations.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,kCAAkC,CAAC;AAE1C;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,cAAc,MAAM,KAAG,eAAe,EAclE,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { useMemo } from 'react';
|
|
2
|
+
import { useAnnotationStore } from '@annotorious/react';
|
|
3
|
+
import { isArrowAnchor, useArrows, } from '@annotorious/plugin-arrows-react';
|
|
4
|
+
/**
|
|
5
|
+
* The relations (arrows) connected to an annotation, excluding arrows whose
|
|
6
|
+
* other end is attached to an annotation that isn't loaded (e.g. a private
|
|
7
|
+
* annotation, or older data). The arrows plugin doesn't draw those either.
|
|
8
|
+
*/
|
|
9
|
+
export const useRelations = (annotationId) => {
|
|
10
|
+
const store = useAnnotationStore();
|
|
11
|
+
const arrows = useArrows(annotationId);
|
|
12
|
+
return useMemo(() => arrows.filter((arrow) => [arrow.target.selector.start, arrow.target.selector.end].every((end) => !isArrowAnchor(end) || !!store?.getAnnotation(end.annotationId))), [arrows, store]);
|
|
13
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/pages/_components/ImageMetaphorView/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './useMultiPagePresence';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { PresentUser, User } from '@annotorious/react';
|
|
2
|
+
export type ActiveUsers = {
|
|
3
|
+
[source: string]: PresentUser[];
|
|
4
|
+
};
|
|
5
|
+
/**
|
|
6
|
+
* Tracks which canvas each present user was last active on, from the
|
|
7
|
+
* storage plugin's off-page activity and selection events. Same as the
|
|
8
|
+
* client's useMultiPagePresence
|
|
9
|
+
*/
|
|
10
|
+
export declare const useMultiPagePresence: (present: PresentUser[]) => {
|
|
11
|
+
activeUsers: ActiveUsers;
|
|
12
|
+
onPageActivity: (event: {
|
|
13
|
+
source: string;
|
|
14
|
+
user: User;
|
|
15
|
+
}) => void;
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=useMultiPagePresence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMultiPagePresence.d.ts","sourceRoot":"","sources":["../../../../../src/pages/_components/ImageMetaphorView/hooks/useMultiPagePresence.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAG5D,MAAM,MAAM,WAAW,GAAG;IAAE,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,EAAE,CAAA;CAAE,CAAC;AAE9D;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAI,SAAS,WAAW,EAAE;;4BAK/C;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,IAAI,CAAA;KAAE;CA0DzC,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { useCallback, useEffect, useMemo, useState } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Tracks which canvas each present user was last active on, from the
|
|
4
|
+
* storage plugin's off-page activity and selection events. Same as the
|
|
5
|
+
* client's useMultiPagePresence
|
|
6
|
+
*/
|
|
7
|
+
export const useMultiPagePresence = (present) => {
|
|
8
|
+
// Active user IDs per source
|
|
9
|
+
const [active, setActivity] = useState({});
|
|
10
|
+
const onPageActivity = useCallback((event) => {
|
|
11
|
+
setActivity((active) => {
|
|
12
|
+
const { source, user } = event;
|
|
13
|
+
// Move the user to this source (a user is active on one source at a time)
|
|
14
|
+
const others = Object.entries(active).map(([s, ids]) => [s, ids.filter((id) => id !== user.id)]);
|
|
15
|
+
const current = active[source] || [];
|
|
16
|
+
const next = Object.fromEntries([
|
|
17
|
+
...others.filter(([s]) => s !== source),
|
|
18
|
+
[source, [...new Set([...current, user.id])]],
|
|
19
|
+
].filter(([, ids]) => ids.length > 0));
|
|
20
|
+
// Compare by value, to avoid unnecessary re-renders
|
|
21
|
+
return JSON.stringify(active) === JSON.stringify(next) ? active : next;
|
|
22
|
+
});
|
|
23
|
+
}, []);
|
|
24
|
+
// Drop users who are no longer present
|
|
25
|
+
useEffect(() => {
|
|
26
|
+
setActivity((active) => {
|
|
27
|
+
const next = Object.fromEntries(Object.entries(active)
|
|
28
|
+
.map(([source, ids]) => [source, ids.filter((id) => present.some((p) => p.id === id))])
|
|
29
|
+
.filter(([, ids]) => ids.length > 0));
|
|
30
|
+
return JSON.stringify(active) === JSON.stringify(next) ? active : next;
|
|
31
|
+
});
|
|
32
|
+
}, [present]);
|
|
33
|
+
// Resolve user IDs to present users
|
|
34
|
+
const activeUsers = useMemo(() => Object.fromEntries(Object.entries(active)
|
|
35
|
+
.map(([source, ids]) => [
|
|
36
|
+
source,
|
|
37
|
+
ids
|
|
38
|
+
.map((id) => present.find((p) => p.id === id))
|
|
39
|
+
.filter(Boolean),
|
|
40
|
+
])
|
|
41
|
+
.filter(([, users]) => users.length > 0)), [active, present]);
|
|
42
|
+
return { activeUsers, onPageActivity };
|
|
43
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/pages/_components/ImageMetaphorView/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './ImageMetaphorView';
|