lost-sia 2.0.1-alpha9 → 3.0.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 +4 -0
- package/dist/Annotation/logic/Annotation.d.ts +17 -0
- package/dist/Annotation/logic/Annotation.js +1 -1
- package/dist/Annotation/ui/AnnotationComponent.d.ts +24 -0
- package/dist/Annotation/ui/AnnotationComponent.js +1 -1
- package/dist/Annotation/ui/atoms/AnnoBar.d.ts +15 -0
- package/dist/Annotation/ui/atoms/AnnoBar.js +1 -1
- package/dist/Annotation/ui/atoms/DaviIcon.d.ts +9 -0
- package/dist/Annotation/ui/atoms/Edge.d.ts +17 -0
- package/dist/Annotation/ui/atoms/Edge.js +1 -1
- package/dist/Annotation/ui/atoms/Node.d.ts +17 -0
- package/dist/Annotation/ui/atoms/Node.js +1 -1
- package/dist/Annotation/ui/atoms/PolygonArea.d.ts +16 -0
- package/dist/Annotation/ui/atoms/PolygonArea.js +1 -1
- package/dist/Annotation/ui/tools/BBox.d.ts +21 -0
- package/dist/Annotation/ui/tools/BBox.js +1 -1
- package/dist/Annotation/ui/tools/Line.d.ts +21 -0
- package/dist/Annotation/ui/tools/Line.js +1 -1
- package/dist/Annotation/ui/tools/Point.d.ts +16 -0
- package/dist/Annotation/ui/tools/Point.js +1 -1
- package/dist/Annotation/ui/tools/Polygon.d.ts +23 -0
- package/dist/Annotation/ui/tools/Polygon.js +1 -1
- package/dist/Canvas/Canvas.d.ts +31 -0
- package/dist/Canvas/Canvas.js +1 -1
- package/dist/Canvas/LabelInput.d.ts +11 -0
- package/dist/Canvas/LabelInput.js +1 -1
- package/dist/IconButton.d.ts +25 -0
- package/dist/IconButton.js +1 -0
- package/dist/Sia.d.ts +33 -0
- package/dist/Sia.js +1 -1
- package/dist/Toolbar/Toolbar.d.ts +21 -0
- package/dist/Toolbar/Toolbar.js +1 -1
- package/dist/Toolbar/ToolbarItems/AccessibilityTools.d.ts +7 -0
- package/dist/Toolbar/ToolbarItems/AccessibilityTools.js +1 -1
- package/dist/Toolbar/ToolbarItems/AnnoToolSelector.d.ts +11 -0
- package/dist/Toolbar/ToolbarItems/AnnoToolSelector.js +1 -1
- package/dist/Toolbar/ToolbarItems/ImageToolItems/ImageLabelInput.d.ts +11 -0
- package/dist/Toolbar/ToolbarItems/ImageToolItems/ImageLabelInput.js +1 -0
- package/dist/Toolbar/ToolbarItems/ImageToolItems/TagLabel.d.ts +11 -0
- package/dist/Toolbar/ToolbarItems/ImageToolItems/TagLabel.js +1 -1
- package/dist/Toolbar/ToolbarItems/ImageTools.d.ts +13 -0
- package/dist/Toolbar/ToolbarItems/ImageTools.js +1 -1
- package/dist/Toolbar/ToolbarItems/Instructions.d.ts +2 -0
- package/dist/Toolbar/ToolbarItems/InstructionsModal.d.ts +6 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +1 -1
- package/dist/models/AnnotationMode.d.ts +11 -0
- package/dist/models/AnnotationStatus.d.ts +8 -0
- package/dist/models/AnnotationTool.d.ts +7 -0
- package/dist/models/CanvasAction.d.ts +28 -0
- package/dist/models/Direction.d.ts +7 -0
- package/dist/models/EditorModes.d.ts +11 -0
- package/dist/models/KeyAction.d.ts +22 -0
- package/dist/models/KeyAction.js +1 -1
- package/dist/models/NotificationType.d.ts +7 -0
- package/dist/models/NotificationType.js +1 -0
- package/dist/models/index.d.ts +6 -0
- package/dist/models/index.js +1 -1
- package/dist/stories/AnnotationTools.stories.d.ts +40 -0
- package/dist/stories/Canvas/Canvas.stories.d.ts +50 -0
- package/dist/stories/Canvas/CanvasOffset.d.ts +13 -0
- package/dist/stories/Canvas/CanvasWithOffset.stories.d.ts +36 -0
- package/dist/stories/FilterDropdown.stories.d.ts +19 -0
- package/dist/stories/MinimalSia.stories.d.ts +66 -0
- package/dist/stories/SIA/DemoWrapper.d.ts +8 -0
- package/dist/stories/SIA/DemoWrapper.stories.d.ts +27 -0
- package/dist/stories/SIA/SIA.stories.d.ts +72 -0
- package/dist/stories/Toolbar/ImageTools/TagLabel.stories.d.ts +21 -0
- package/dist/stories/Toolbar/Instructions.stories.d.ts +11 -0
- package/dist/stories/Toolbar/Toolbar.stories.d.ts +37 -0
- package/dist/stories/exampleData/exampleAnnotations.d.ts +8 -0
- package/dist/stories/exampleData/exampleExternalAnnotations.d.ts +8 -0
- package/dist/stories/exampleData/exampleImage.d.ts +2 -0
- package/dist/stories/exampleData/exampleLabels.d.ts +6 -0
- package/dist/types.d.ts +57 -0
- package/dist/utils/KeyMapper.d.ts +9 -0
- package/dist/utils/KeyMapper.js +1 -1
- package/dist/utils/TimeUtils.d.ts +4 -0
- package/dist/utils/TimeUtils.js +1 -0
- package/dist/utils/color.d.ts +2 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.js +1 -1
- package/dist/utils/mouse.d.ts +6 -0
- package/dist/utils/mouse.js +1 -1
- package/dist/utils/siaIcons.js +5 -5
- package/dist/utils/transform.d.ts +28 -0
- package/dist/utils/transform.js +1 -1
- package/dist/utils/windowViewport.d.ts +22 -0
- package/dist/utils/windowViewport.js +1 -1
- package/package.json +19 -16
- package/src/AnnoExampleViewer.jsx +18 -18
- package/src/Annotation/logic/Annotation.ts +24 -26
- package/src/Annotation/ui/AnnotationComponent.tsx +115 -86
- package/src/Annotation/ui/atoms/AnnoBar.tsx +51 -53
- package/src/Annotation/ui/atoms/DaviIcon.tsx +12 -22
- package/src/Annotation/ui/atoms/Edge.tsx +25 -22
- package/src/Annotation/ui/atoms/Node.tsx +56 -50
- package/src/Annotation/ui/atoms/PolygonArea.tsx +30 -35
- package/src/Annotation/ui/tools/BBox.tsx +136 -150
- package/src/Annotation/ui/tools/Line.tsx +94 -91
- package/src/Annotation/ui/tools/Point.tsx +19 -17
- package/src/Annotation/ui/tools/Polygon.tsx +126 -95
- package/src/Canvas/Canvas.tsx +748 -594
- package/src/Canvas/LabelInput.tsx +68 -45
- package/src/IconButton.tsx +119 -0
- package/src/InfoBoxes/AnnoDetails.jsx +53 -53
- package/src/InfoBoxes/AnnoStats.jsx +41 -41
- package/src/InfoBoxes/InfoBox.jsx +16 -16
- package/src/InfoBoxes/InfoBoxArea.jsx +32 -34
- package/src/InfoBoxes/LabelInfo.jsx +30 -30
- package/src/SIASettingButton.jsx +25 -25
- package/src/Sia.tsx +484 -0
- package/src/Toolbar/Toolbar.tsx +38 -31
- package/src/Toolbar/ToolbarItems/AccessibilityTools.tsx +26 -46
- package/src/Toolbar/ToolbarItems/AnnoToolSelector.tsx +53 -46
- package/src/Toolbar/ToolbarItems/ImageToolItems/ImageLabelInput.tsx +127 -0
- package/src/Toolbar/ToolbarItems/ImageToolItems/TagLabel.tsx +29 -28
- package/src/Toolbar/ToolbarItems/ImageTools.tsx +43 -40
- package/src/Toolbar/ToolbarItems/Instructions.tsx +47 -50
- package/src/Toolbar/ToolbarItems/InstructionsModal.tsx +8 -8
- package/src/index.ts +9 -13
- package/src/models/{AnnotationMode.tsx → AnnotationMode.ts} +1 -1
- package/src/models/{AnnotationStatus.tsx → AnnotationStatus.ts} +1 -1
- package/src/models/{AnnotationTool.tsx → AnnotationTool.ts} +1 -1
- package/src/models/{CanvasAction.tsx → CanvasAction.ts} +1 -1
- package/src/models/{Direction.tsx → Direction.ts} +1 -1
- package/src/models/{EditorModes.tsx → EditorModes.ts} +1 -1
- package/src/models/{KeyAction.tsx → KeyAction.ts} +3 -1
- package/src/models/NotificationType.ts +8 -0
- package/src/models/index.ts +6 -7
- package/src/siaDummyData.js +71 -71
- package/src/stories/AnnotationTools.mdx +27 -0
- package/src/stories/AnnotationTools.stories.tsx +104 -0
- package/src/stories/Canvas/Canvas.stories.tsx +59 -113
- package/src/stories/Canvas/CanvasOffset.tsx +54 -38
- package/src/stories/Canvas/CanvasWithOffset.stories.tsx +42 -113
- package/src/stories/FilterDropdown.stories.ts +13 -11
- package/src/stories/MinimalSIA.mdx +20 -0
- package/src/stories/MinimalSia.stories.tsx +90 -0
- package/src/stories/SIA/DemoWrapper.stories.tsx +71 -0
- package/src/stories/SIA/DemoWrapper.tsx +55 -0
- package/src/stories/SIA/SIA.stories.tsx +79 -45
- package/src/stories/Toolbar/ImageTools/TagLabel.stories.tsx +11 -12
- package/src/stories/Toolbar/Instructions.stories.tsx +11 -11
- package/src/stories/Toolbar/Toolbar.stories.tsx +32 -47
- package/src/stories/Welcome.mdx +5 -0
- package/src/stories/development/CoordinateSystems.mdx +25 -0
- package/src/stories/exampleData/exampleAnnotations.ts +65 -0
- package/src/stories/exampleData/exampleExternalAnnotations.ts +115 -0
- package/src/stories/{siaDummyData2.ts → exampleData/exampleImage.ts} +3 -264
- package/src/stories/exampleData/exampleLabels.ts +146 -0
- package/src/stories/main.scss +6 -0
- package/src/styles/style.scss +1 -26
- package/src/types.ts +67 -0
- package/src/utils/KeyMapper.ts +76 -74
- package/src/utils/TimeUtils.ts +11 -0
- package/src/utils/color.ts +25 -25
- package/src/utils/hist.js +22 -22
- package/src/utils/index.ts +2 -3
- package/src/utils/mouse.ts +45 -0
- package/src/utils/siaIcons.jsx +5 -7
- package/src/utils/transform.ts +186 -0
- package/src/utils/uiConfig.js +19 -22
- package/src/utils/windowViewport.ts +34 -0
- package/dist/AnnoExampleViewer.cjs +0 -1
- package/dist/AnnoExampleViewer.js +0 -1
- package/dist/AnnoLabelInput.cjs +0 -1
- package/dist/AnnoLabelInput.js +0 -1
- package/dist/AnnoToolBar.cjs +0 -19
- package/dist/AnnoToolBar.js +0 -19
- package/dist/Annotation/AnnoBar.cjs +0 -1
- package/dist/Annotation/AnnoBar.js +0 -1
- package/dist/Annotation/Annotation.cjs +0 -1
- package/dist/Annotation/Annotation.js +0 -1
- package/dist/Annotation/BBox.cjs +0 -1
- package/dist/Annotation/BBox.js +0 -1
- package/dist/Annotation/Edge.cjs +0 -1
- package/dist/Annotation/Edge.js +0 -1
- package/dist/Annotation/InfSelectionArea.cjs +0 -1
- package/dist/Annotation/InfSelectionArea.js +0 -1
- package/dist/Annotation/Line.cjs +0 -1
- package/dist/Annotation/Line.js +0 -1
- package/dist/Annotation/Node.cjs +0 -1
- package/dist/Annotation/Node.js +0 -1
- package/dist/Annotation/Point.cjs +0 -1
- package/dist/Annotation/Point.js +0 -1
- package/dist/Annotation/Polygon.cjs +0 -1
- package/dist/Annotation/Polygon.js +0 -1
- package/dist/Annotation/logic/Annotation.cjs +0 -1
- package/dist/Annotation/logic/AnnotationUtils.cjs +0 -1
- package/dist/Annotation/logic/AnnotationUtils.js +0 -1
- package/dist/Annotation/ui/AnnotationComponent.cjs +0 -1
- package/dist/Annotation/ui/atoms/AnnoBar.cjs +0 -1
- package/dist/Annotation/ui/atoms/DaviIcon.cjs +0 -19
- package/dist/Annotation/ui/atoms/Edge.cjs +0 -1
- package/dist/Annotation/ui/atoms/Node.cjs +0 -1
- package/dist/Annotation/ui/atoms/PolygonArea.cjs +0 -1
- package/dist/Annotation/ui/tools/BBox.cjs +0 -1
- package/dist/Annotation/ui/tools/Line.cjs +0 -1
- package/dist/Annotation/ui/tools/Point.cjs +0 -1
- package/dist/Annotation/ui/tools/Polygon.cjs +0 -1
- package/dist/Canvas/Canvas.cjs +0 -1
- package/dist/Canvas/LabelInput.cjs +0 -1
- package/dist/Canvas.cjs +0 -1
- package/dist/Canvas.js +0 -1
- package/dist/ImgBar.cjs +0 -1
- package/dist/ImgBar.js +0 -1
- package/dist/InfoBoxes/AnnoDetails.cjs +0 -1
- package/dist/InfoBoxes/AnnoDetails.js +0 -1
- package/dist/InfoBoxes/AnnoStats.cjs +0 -1
- package/dist/InfoBoxes/AnnoStats.js +0 -1
- package/dist/InfoBoxes/InfoBox.cjs +0 -1
- package/dist/InfoBoxes/InfoBox.js +0 -1
- package/dist/InfoBoxes/InfoBoxArea.cjs +0 -1
- package/dist/InfoBoxes/InfoBoxArea.js +0 -1
- package/dist/InfoBoxes/LabelInfo.cjs +0 -1
- package/dist/InfoBoxes/LabelInfo.js +0 -1
- package/dist/LabelInput.cjs +0 -1
- package/dist/LabelInput.js +0 -1
- package/dist/Prompt.cjs +0 -1
- package/dist/Prompt.js +0 -1
- package/dist/SIAFilterButton.cjs +0 -1
- package/dist/SIAFilterButton.js +0 -1
- package/dist/SIASettingButton.cjs +0 -1
- package/dist/SIASettingButton.js +0 -1
- package/dist/Sia.cjs +0 -1
- package/dist/Sia2.cjs +0 -1
- package/dist/Sia2.js +0 -1
- package/dist/SiaPopup.cjs +0 -1
- package/dist/SiaPopup.js +0 -1
- package/dist/ToolBar.cjs +0 -1
- package/dist/ToolBar.js +0 -1
- package/dist/Toolbar/NavigationButtons.cjs +0 -1
- package/dist/Toolbar/NavigationButtons.js +0 -1
- package/dist/Toolbar/Toolbar.cjs +0 -1
- package/dist/Toolbar/ToolbarItems/AccessibilityTools.cjs +0 -1
- package/dist/Toolbar/ToolbarItems/AnnoToolSelector.cjs +0 -1
- package/dist/Toolbar/ToolbarItems/ImageToolItems/ImageLabel.cjs +0 -1
- package/dist/Toolbar/ToolbarItems/ImageToolItems/ImageLabel.js +0 -1
- package/dist/Toolbar/ToolbarItems/ImageToolItems/TagLabel.cjs +0 -1
- package/dist/Toolbar/ToolbarItems/ImageTools.cjs +0 -1
- package/dist/Toolbar/ToolbarItems/Instructions.cjs +0 -1
- package/dist/Toolbar/ToolbarItems/InstructionsModal.cjs +0 -1
- package/dist/ToolbarItem.cjs +0 -1
- package/dist/ToolbarItem.js +0 -1
- package/dist/_virtual/_commonjsHelpers.cjs +0 -1
- package/dist/_virtual/_commonjsHelpers.js +0 -1
- package/dist/_virtual/lodash.cjs +0 -1
- package/dist/_virtual/lodash.js +0 -1
- package/dist/assets/Annotation/Annotation-Cd5Ua5TG.css +0 -1
- package/dist/assets/Toolbar-Cp1xyYeH.css +0 -1
- package/dist/filterTools.cjs +0 -1
- package/dist/filterTools.js +0 -1
- package/dist/index.cjs +0 -1
- package/dist/models/AllowedTools.cjs +0 -1
- package/dist/models/AllowedTools.js +0 -1
- package/dist/models/AnnotationMode.cjs +0 -1
- package/dist/models/AnnotationSettings.cjs +0 -1
- package/dist/models/AnnotationSettings.js +0 -1
- package/dist/models/AnnotationStatus.cjs +0 -1
- package/dist/models/AnnotationTool.cjs +0 -1
- package/dist/models/CanvasAction.cjs +0 -1
- package/dist/models/Direction.cjs +0 -1
- package/dist/models/EditorModes.cjs +0 -1
- package/dist/models/ExternalAnnotation.cjs +0 -1
- package/dist/models/ExternalAnnotation.js +0 -1
- package/dist/models/KeyAction.cjs +0 -1
- package/dist/models/Label.cjs +0 -1
- package/dist/models/Label.js +0 -1
- package/dist/models/UiConfig.cjs +0 -1
- package/dist/models/UiConfig.js +0 -1
- package/dist/models/index.cjs +0 -1
- package/dist/siaDummyData.cjs +0 -7
- package/dist/siaDummyData.js +0 -7
- package/dist/stories/Canvas/CanvasOffset.cjs +0 -1
- package/dist/stories/Canvas/CanvasOffset.js +0 -1
- package/dist/stories/FilterDropdown.stories.cjs +0 -1
- package/dist/stories/FilterDropdown.stories.js +0 -1
- package/dist/stories/SIA2/DemoWrapper.cjs +0 -1
- package/dist/stories/SIA2/DemoWrapper.js +0 -1
- package/dist/stories/siaDummyData.cjs +0 -1
- package/dist/stories/siaDummyData.js +0 -1
- package/dist/stories/siaDummyData2.cjs +0 -7
- package/dist/stories/siaDummyData2.js +0 -7
- package/dist/types/annoStatus.cjs +0 -1
- package/dist/types/annoStatus.js +0 -1
- package/dist/types/canvasActions.cjs +0 -1
- package/dist/types/canvasActions.js +0 -1
- package/dist/types/cursorstyles.cjs +0 -1
- package/dist/types/cursorstyles.js +0 -1
- package/dist/types/modes.cjs +0 -1
- package/dist/types/modes.js +0 -1
- package/dist/types/notificationType.cjs +0 -1
- package/dist/types/notificationType.js +0 -1
- package/dist/types/toolbarEvents.cjs +0 -1
- package/dist/types/toolbarEvents.js +0 -1
- package/dist/types/tools.cjs +0 -1
- package/dist/types/tools.js +0 -1
- package/dist/types.cjs +0 -1
- package/dist/utils/KeyMapper.cjs +0 -1
- package/dist/utils/annoConversion.cjs +0 -1
- package/dist/utils/annoConversion.js +0 -1
- package/dist/utils/annoConversion2.cjs +0 -1
- package/dist/utils/annoConversion2.js +0 -1
- package/dist/utils/color.cjs +0 -1
- package/dist/utils/colorlut.cjs +0 -1
- package/dist/utils/colorlut.js +0 -1
- package/dist/utils/constraints.cjs +0 -1
- package/dist/utils/constraints.js +0 -1
- package/dist/utils/hist.cjs +0 -1
- package/dist/utils/hist.js +0 -1
- package/dist/utils/index.cjs +0 -1
- package/dist/utils/keyActions.cjs +0 -1
- package/dist/utils/keyActions.js +0 -1
- package/dist/utils/mouse.cjs +0 -1
- package/dist/utils/mouse2.cjs +0 -1
- package/dist/utils/mouse2.js +0 -1
- package/dist/utils/siaIcons.cjs +0 -12
- package/dist/utils/transform.cjs +0 -1
- package/dist/utils/transform2.cjs +0 -1
- package/dist/utils/transform2.js +0 -1
- package/dist/utils/uiConfig.cjs +0 -1
- package/dist/utils/windowViewport.cjs +0 -1
- package/dist/utils/windowViewport2.cjs +0 -1
- package/dist/utils/windowViewport2.js +0 -1
- package/src/AnnoLabelInput.jsx +0 -109
- package/src/AnnoToolBar.jsx +0 -153
- package/src/Annotation/AnnoBar.jsx +0 -154
- package/src/Annotation/Annotation.jsx +0 -395
- package/src/Annotation/Annotation.scss +0 -47
- package/src/Annotation/BBox.jsx +0 -299
- package/src/Annotation/Edge.jsx +0 -92
- package/src/Annotation/InfSelectionArea.jsx +0 -72
- package/src/Annotation/Line.jsx +0 -68
- package/src/Annotation/Node.jsx +0 -282
- package/src/Annotation/Point.jsx +0 -200
- package/src/Annotation/Polygon.jsx +0 -404
- package/src/Annotation/logic/AnnotationUtils.ts +0 -30
- package/src/Canvas.jsx +0 -2194
- package/src/ImgBar.jsx +0 -131
- package/src/LabelInput.jsx +0 -238
- package/src/Prompt.jsx +0 -45
- package/src/SIAFilterButton.jsx +0 -186
- package/src/Sia.jsx +0 -478
- package/src/Sia2.tsx +0 -392
- package/src/SiaPopup.jsx +0 -15
- package/src/ToolBar.jsx +0 -463
- package/src/Toolbar/NavigationButtons.tsx +0 -21
- package/src/Toolbar/ToolbarItem.jsx +0 -30
- package/src/Toolbar/ToolbarItems/ImageToolItems/ImageLabel.tsx +0 -62
- package/src/Toolbar.css +0 -13
- package/src/ToolbarItem.jsx +0 -31
- package/src/filterTools.js +0 -5
- package/src/models/AllowedTools.tsx +0 -9
- package/src/models/AnnotationSettings.tsx +0 -9
- package/src/models/ExternalAnnotation.ts +0 -15
- package/src/models/Label.tsx +0 -8
- package/src/models/UiConfig.tsx +0 -6
- package/src/stories/Button.jsx +0 -54
- package/src/stories/Button.stories.js +0 -48
- package/src/stories/Header.jsx +0 -69
- package/src/stories/Header.stories.js +0 -28
- package/src/stories/Page.jsx +0 -87
- package/src/stories/Page.stories.js +0 -28
- package/src/stories/SIA2/DemoWrapper.stories.tsx +0 -167
- package/src/stories/SIA2/DemoWrapper.tsx +0 -54
- package/src/stories/SIA2/Sia2.stories.tsx +0 -62
- package/src/stories/Toolbar/ImageTools/ImageLabel.stories.tsx +0 -32
- package/src/stories/assets/accessibility.png +0 -0
- package/src/stories/assets/accessibility.svg +0 -5
- package/src/stories/assets/addon-library.png +0 -0
- package/src/stories/assets/assets.png +0 -0
- package/src/stories/assets/avif-test-image.avif +0 -0
- package/src/stories/assets/context.png +0 -0
- package/src/stories/assets/discord.svg +0 -15
- package/src/stories/assets/docs.png +0 -0
- package/src/stories/assets/figma-plugin.png +0 -0
- package/src/stories/assets/github.svg +0 -3
- package/src/stories/assets/share.png +0 -0
- package/src/stories/assets/styling.png +0 -0
- package/src/stories/assets/testing.png +0 -0
- package/src/stories/assets/theming.png +0 -0
- package/src/stories/assets/tutorials.svg +0 -12
- package/src/stories/assets/youtube.svg +0 -4
- package/src/stories/button.css +0 -30
- package/src/stories/header.css +0 -32
- package/src/stories/lost.js +0 -54
- package/src/stories/page.css +0 -69
- package/src/stories/siaDummyData.js +0 -263
- package/src/stories/store.js +0 -18
- package/src/test.js +0 -7
- package/src/types/annoStatus.js +0 -4
- package/src/types/canvasActions.js +0 -58
- package/src/types/cursorstyles.js +0 -3
- package/src/types/modes.js +0 -9
- package/src/types/notificationType.js +0 -11
- package/src/types/toolbarEvents.js +0 -35
- package/src/types/tools.js +0 -17
- package/src/types.tsx +0 -11
- package/src/utils/annoConversion.js +0 -145
- package/src/utils/annoConversion2.ts +0 -145
- package/src/utils/colorlut.js +0 -68
- package/src/utils/constraints.js +0 -81
- package/src/utils/index.js +0 -1
- package/src/utils/keyActions.js +0 -113
- package/src/utils/mouse.js +0 -14
- package/src/utils/mouse2.ts +0 -35
- package/src/utils/transform.js +0 -336
- package/src/utils/transform2.ts +0 -343
- package/src/utils/windowViewport.js +0 -34
- package/src/utils/windowViewport2.ts +0 -50
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { CSSProperties, MouseEvent, useEffect, useRef, useState } from
|
|
2
|
-
import { Point } from
|
|
3
|
-
import
|
|
4
|
-
import AnnotationSettings from "../../../models/AnnotationSettings";
|
|
1
|
+
import { CSSProperties, MouseEvent, useEffect, useRef, useState } from 'react'
|
|
2
|
+
import { AnnotationSettings, Point } from '../../../types'
|
|
3
|
+
import mouse from '../../../utils/mouse'
|
|
5
4
|
|
|
6
5
|
type NodeProps = {
|
|
7
|
-
index: number
|
|
8
|
-
coordinates: Point
|
|
9
|
-
annotationSettings: AnnotationSettings
|
|
10
|
-
pageToStageOffset: Point
|
|
11
|
-
svgScale: number
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
6
|
+
index: number
|
|
7
|
+
coordinates: Point
|
|
8
|
+
annotationSettings: AnnotationSettings
|
|
9
|
+
pageToStageOffset: Point
|
|
10
|
+
svgScale: number
|
|
11
|
+
svgTranslation: Point
|
|
12
|
+
style: CSSProperties
|
|
13
|
+
onDeleteNode: () => void
|
|
14
|
+
onMoving: (index: number, coordinates: Point) => void
|
|
15
|
+
onMoved: () => void
|
|
16
|
+
onIsDraggingStateChanged: (bool) => void
|
|
17
|
+
}
|
|
18
18
|
|
|
19
19
|
const Node = ({
|
|
20
20
|
index,
|
|
@@ -22,60 +22,66 @@ const Node = ({
|
|
|
22
22
|
annotationSettings,
|
|
23
23
|
pageToStageOffset,
|
|
24
24
|
svgScale,
|
|
25
|
+
svgTranslation,
|
|
25
26
|
style,
|
|
26
27
|
onDeleteNode,
|
|
27
28
|
onMoving, // during moving - update coordinates in parent
|
|
28
29
|
onMoved, // moving finished - send annotation changed event
|
|
29
30
|
onIsDraggingStateChanged,
|
|
30
31
|
}: NodeProps) => {
|
|
31
|
-
const [hasHalo, setHasHalo] = useState<boolean>(false)
|
|
32
|
-
const [isDragging, setIsDragging] = useState<boolean>(false)
|
|
32
|
+
const [hasHalo, setHasHalo] = useState<boolean>(false)
|
|
33
|
+
const [isDragging, setIsDragging] = useState<boolean>(false)
|
|
33
34
|
|
|
34
35
|
// onMove and onMouseUp events are fired in the same frame
|
|
35
36
|
// use a ref to access the updated value without waiting until the next frame
|
|
36
|
-
const [didItActuallyMove, setDidItActuallyMove] = useState<boolean>(false)
|
|
37
|
-
const didItActuallyMoveRef = useRef<boolean>(didItActuallyMove)
|
|
37
|
+
const [didItActuallyMove, setDidItActuallyMove] = useState<boolean>(false)
|
|
38
|
+
const didItActuallyMoveRef = useRef<boolean>(didItActuallyMove)
|
|
38
39
|
|
|
39
40
|
useEffect(() => {
|
|
40
|
-
didItActuallyMoveRef.current = didItActuallyMove
|
|
41
|
-
}, [didItActuallyMove])
|
|
41
|
+
didItActuallyMoveRef.current = didItActuallyMove
|
|
42
|
+
}, [didItActuallyMove])
|
|
42
43
|
|
|
43
44
|
const onMouseMove = (e: MouseEvent) => {
|
|
44
|
-
if (!isDragging) return
|
|
45
|
+
if (!isDragging) return
|
|
45
46
|
|
|
46
47
|
const antiScaledMousePositionInStageCoordinates =
|
|
47
|
-
|
|
48
|
+
mouse.getAntiScaledMouseStagePosition(
|
|
49
|
+
e,
|
|
50
|
+
pageToStageOffset,
|
|
51
|
+
svgScale,
|
|
52
|
+
svgTranslation,
|
|
53
|
+
)
|
|
48
54
|
|
|
49
55
|
// only escalate event when mouse actually moved
|
|
50
56
|
if (e.movementX !== 0 || e.movementY !== 0) {
|
|
51
|
-
setDidItActuallyMove(true)
|
|
52
|
-
onMoving(index, antiScaledMousePositionInStageCoordinates)
|
|
57
|
+
setDidItActuallyMove(true)
|
|
58
|
+
onMoving(index, antiScaledMousePositionInStageCoordinates)
|
|
53
59
|
}
|
|
54
|
-
}
|
|
60
|
+
}
|
|
55
61
|
|
|
56
62
|
useEffect(() => {
|
|
57
|
-
onIsDraggingStateChanged(isDragging)
|
|
58
|
-
if (!isDragging) return
|
|
63
|
+
onIsDraggingStateChanged(isDragging)
|
|
64
|
+
if (!isDragging) return
|
|
59
65
|
|
|
60
66
|
const handleMouseUp = () => {
|
|
61
|
-
setIsDragging(false)
|
|
62
|
-
if (didItActuallyMoveRef.current) onMoved()
|
|
63
|
-
setDidItActuallyMove(false)
|
|
64
|
-
}
|
|
67
|
+
setIsDragging(false)
|
|
68
|
+
if (didItActuallyMoveRef.current) onMoved()
|
|
69
|
+
setDidItActuallyMove(false)
|
|
70
|
+
}
|
|
65
71
|
|
|
66
|
-
|
|
72
|
+
globalThis.addEventListener('mouseup', handleMouseUp)
|
|
67
73
|
|
|
68
74
|
return () => {
|
|
69
|
-
|
|
70
|
-
}
|
|
71
|
-
}, [isDragging])
|
|
75
|
+
globalThis.removeEventListener('mouseup', handleMouseUp)
|
|
76
|
+
}
|
|
77
|
+
}, [isDragging])
|
|
72
78
|
|
|
73
79
|
const onMouseDown = (e: MouseEvent) => {
|
|
74
|
-
if (!annotationSettings.canEdit) return
|
|
80
|
+
if (!annotationSettings.canEdit) return
|
|
75
81
|
|
|
76
|
-
if (e.ctrlKey) onDeleteNode()
|
|
77
|
-
else setIsDragging(true)
|
|
78
|
-
}
|
|
82
|
+
if (e.ctrlKey) onDeleteNode()
|
|
83
|
+
else setIsDragging(true)
|
|
84
|
+
}
|
|
79
85
|
|
|
80
86
|
const renderHalo = () => {
|
|
81
87
|
return (
|
|
@@ -83,25 +89,25 @@ const Node = ({
|
|
|
83
89
|
cx={coordinates.x}
|
|
84
90
|
cy={coordinates.y}
|
|
85
91
|
r={12 / svgScale}
|
|
86
|
-
onMouseLeave={(
|
|
92
|
+
onMouseLeave={(_) => annotationSettings.canEdit && setHasHalo(false)}
|
|
87
93
|
onMouseDown={onMouseDown}
|
|
88
94
|
onContextMenu={(e) => e.preventDefault()}
|
|
89
95
|
/>
|
|
90
|
-
)
|
|
91
|
-
}
|
|
96
|
+
)
|
|
97
|
+
}
|
|
92
98
|
|
|
93
99
|
const renderInfiniteSelectionArea = () => {
|
|
94
100
|
return (
|
|
95
101
|
<circle
|
|
96
102
|
cx={coordinates.x}
|
|
97
103
|
cy={coordinates.y}
|
|
98
|
-
r={
|
|
104
|
+
r={'100%'}
|
|
99
105
|
style={{ opacity: 0 }}
|
|
100
106
|
onMouseMove={(e) => onMouseMove(e)}
|
|
101
107
|
onContextMenu={(e) => e.preventDefault()}
|
|
102
108
|
/>
|
|
103
|
-
)
|
|
104
|
-
}
|
|
109
|
+
)
|
|
110
|
+
}
|
|
105
111
|
|
|
106
112
|
return (
|
|
107
113
|
<g>
|
|
@@ -113,14 +119,14 @@ const Node = ({
|
|
|
113
119
|
r={10 / svgScale}
|
|
114
120
|
style={style}
|
|
115
121
|
onMouseOver={() => {
|
|
116
|
-
annotationSettings.canEdit
|
|
122
|
+
if (annotationSettings.canEdit) setHasHalo(true)
|
|
117
123
|
}}
|
|
118
124
|
onMouseDown={onMouseDown}
|
|
119
125
|
onMouseMove={(e) => onMouseMove(e)}
|
|
120
126
|
onContextMenu={(e) => e.preventDefault()}
|
|
121
127
|
/>
|
|
122
128
|
</g>
|
|
123
|
-
)
|
|
124
|
-
}
|
|
129
|
+
)
|
|
130
|
+
}
|
|
125
131
|
|
|
126
|
-
export default Node
|
|
132
|
+
export default Node
|
|
@@ -1,23 +1,18 @@
|
|
|
1
|
-
import { CSSProperties, useEffect, useState } from
|
|
2
|
-
import { Point } from
|
|
3
|
-
import AnnotationMode from
|
|
4
|
-
import AnnotationSettings from "../../../models/AnnotationSettings";
|
|
1
|
+
import { CSSProperties, useEffect, useState } from 'react'
|
|
2
|
+
import { Point } from '../../../types'
|
|
3
|
+
import AnnotationMode from '../../../models/AnnotationMode'
|
|
5
4
|
|
|
6
5
|
type PolygonAreaProps = {
|
|
7
|
-
coordinates: Point[]
|
|
8
|
-
isSelected: boolean
|
|
9
|
-
isDisabled?: boolean
|
|
10
|
-
annotationMode: AnnotationMode
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
onMouseUp?: (e: MouseEvent) => void;
|
|
18
|
-
onMouseMove: (e: MouseEvent) => void;
|
|
19
|
-
onIsDraggingStateChanged: (bool) => void;
|
|
20
|
-
};
|
|
6
|
+
coordinates: Point[]
|
|
7
|
+
isSelected: boolean
|
|
8
|
+
isDisabled?: boolean
|
|
9
|
+
annotationMode: AnnotationMode
|
|
10
|
+
style: CSSProperties
|
|
11
|
+
onFinishAnnoCreate?: () => void
|
|
12
|
+
onMouseDown: (e: React.MouseEvent<SVGPolygonElement, MouseEvent>) => void
|
|
13
|
+
onMouseUp?: (e: React.MouseEvent<SVGPolygonElement, MouseEvent>) => void
|
|
14
|
+
onMouseMove: (e: React.MouseEvent<SVGPolygonElement, MouseEvent>) => void
|
|
15
|
+
}
|
|
21
16
|
|
|
22
17
|
const PolygonArea = ({
|
|
23
18
|
coordinates,
|
|
@@ -33,35 +28,35 @@ const PolygonArea = ({
|
|
|
33
28
|
// draw line between nodes
|
|
34
29
|
const svgLineCoords: string = coordinates
|
|
35
30
|
.map((point: Point) => `${point.x},${point.y}`)
|
|
36
|
-
.join(
|
|
31
|
+
.join(' ')
|
|
37
32
|
|
|
38
|
-
const [cursorStyle, setCursorStyle] = useState<string>(
|
|
33
|
+
const [cursorStyle, setCursorStyle] = useState<string>('pointer')
|
|
39
34
|
|
|
40
35
|
useEffect(() => {
|
|
41
|
-
if (isDisabled) return setCursorStyle(
|
|
42
|
-
if (isSelected) setCursorStyle(
|
|
43
|
-
else setCursorStyle(
|
|
44
|
-
}, [isSelected, isDisabled])
|
|
36
|
+
if (isDisabled) return setCursorStyle('not-allowed')
|
|
37
|
+
if (isSelected) setCursorStyle('grab')
|
|
38
|
+
else setCursorStyle('pointer')
|
|
39
|
+
}, [isSelected, isDisabled])
|
|
45
40
|
|
|
46
41
|
// adjust style for polyline
|
|
47
|
-
const polyLineStyle = { ...style }
|
|
48
|
-
polyLineStyle.cursor = cursorStyle
|
|
49
|
-
polyLineStyle.fillOpacity = isSelected ? 0 : 0.3
|
|
42
|
+
const polyLineStyle = { ...style }
|
|
43
|
+
polyLineStyle.cursor = cursorStyle
|
|
44
|
+
polyLineStyle.fillOpacity = isSelected ? 0 : 0.3
|
|
50
45
|
|
|
51
46
|
// dont show the polygon edges (the line does what as a stripe if enabled)
|
|
52
|
-
if (isSelected && isDisabled) polyLineStyle.stroke =
|
|
47
|
+
if (isSelected && isDisabled) polyLineStyle.stroke = 'none'
|
|
53
48
|
|
|
54
49
|
return (
|
|
55
50
|
<polygon
|
|
56
51
|
points={svgLineCoords}
|
|
57
52
|
style={polyLineStyle}
|
|
58
53
|
onMouseDown={(e) => {
|
|
59
|
-
isSelected
|
|
60
|
-
onMouseDown(e)
|
|
54
|
+
if (isSelected) setCursorStyle('grabbing')
|
|
55
|
+
onMouseDown(e)
|
|
61
56
|
}}
|
|
62
57
|
onMouseUp={(e) => {
|
|
63
|
-
setCursorStyle(
|
|
64
|
-
onMouseUp(e)
|
|
58
|
+
setCursorStyle('grab')
|
|
59
|
+
onMouseUp(e)
|
|
65
60
|
}}
|
|
66
61
|
onDoubleClick={() =>
|
|
67
62
|
annotationMode === AnnotationMode.CREATE && onFinishAnnoCreate()
|
|
@@ -69,7 +64,7 @@ const PolygonArea = ({
|
|
|
69
64
|
onMouseMove={onMouseMove}
|
|
70
65
|
onContextMenu={(e) => e.preventDefault()}
|
|
71
66
|
/>
|
|
72
|
-
)
|
|
73
|
-
}
|
|
67
|
+
)
|
|
68
|
+
}
|
|
74
69
|
|
|
75
|
-
export default PolygonArea
|
|
70
|
+
export default PolygonArea
|