@annotorious/react 3.0.0-rc.15 → 3.0.0-rc.17
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/dist/Annotorious.d.ts +2 -35
- package/dist/Annotorious.d.ts.map +1 -1
- package/dist/annotorious-react.es.js +27 -28
- package/dist/annotorious-react.es.js.map +1 -1
- package/dist/annotorious-react.es10.js +17 -17
- package/dist/annotorious-react.es10.js.map +1 -1
- package/dist/annotorious-react.es11.js +8 -8
- package/dist/annotorious-react.es11.js.map +1 -1
- package/dist/annotorious-react.es12.js +6 -4
- package/dist/annotorious-react.es12.js.map +1 -1
- package/dist/annotorious-react.es15.js +18868 -6
- package/dist/annotorious-react.es15.js.map +1 -1
- package/dist/annotorious-react.es16.js +32 -2
- package/dist/annotorious-react.es16.js.map +1 -1
- package/dist/annotorious-react.es17.js +2 -30
- package/dist/annotorious-react.es17.js.map +1 -1
- package/dist/annotorious-react.es18.js +1 -1
- package/dist/annotorious-react.es19.js +25 -21004
- package/dist/annotorious-react.es19.js.map +1 -1
- package/dist/annotorious-react.es2.js +53 -54
- package/dist/annotorious-react.es2.js.map +1 -1
- package/dist/annotorious-react.es20.js +2 -32
- package/dist/annotorious-react.es20.js.map +1 -1
- package/dist/annotorious-react.es4.js +7 -7
- package/dist/annotorious-react.es4.js.map +1 -1
- package/dist/annotorious-react.es5.js +9 -9
- package/dist/annotorious-react.es5.js.map +1 -1
- package/dist/annotorious-react.es6.js +1 -4
- package/dist/annotorious-react.es6.js.map +1 -1
- package/dist/annotorious-react.es7.js +1 -4
- package/dist/annotorious-react.es7.js.map +1 -1
- package/dist/annotorious-react.es8.js +5 -5
- package/dist/annotorious-react.es8.js.map +1 -1
- package/dist/annotorious-react.es9.js +25 -29
- package/dist/annotorious-react.es9.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/package.json +9 -9
- package/dist/annotorious-react.es22.js +0 -5
- package/dist/annotorious-react.es22.js.map +0 -1
- package/dist/openseadragon/annotorious-react-osd.es.js +0 -10
- package/dist/openseadragon/annotorious-react-osd.es.js.map +0 -1
- package/dist/openseadragon/annotorious-react-osd.es10.js +0 -9
- package/dist/openseadragon/annotorious-react-osd.es10.js.map +0 -1
- package/dist/openseadragon/annotorious-react-osd.es11.js +0 -156
- package/dist/openseadragon/annotorious-react-osd.es11.js.map +0 -1
- package/dist/openseadragon/annotorious-react-osd.es12.js +0 -5
- package/dist/openseadragon/annotorious-react-osd.es12.js.map +0 -1
- package/dist/openseadragon/annotorious-react-osd.es13.js +0 -33
- package/dist/openseadragon/annotorious-react-osd.es13.js.map +0 -1
- package/dist/openseadragon/annotorious-react-osd.es14.js +0 -602
- package/dist/openseadragon/annotorious-react-osd.es14.js.map +0 -1
- package/dist/openseadragon/annotorious-react-osd.es15.js +0 -5
- package/dist/openseadragon/annotorious-react-osd.es15.js.map +0 -1
- package/dist/openseadragon/annotorious-react-osd.es16.js +0 -5
- package/dist/openseadragon/annotorious-react-osd.es16.js.map +0 -1
- package/dist/openseadragon/annotorious-react-osd.es2.js +0 -32
- package/dist/openseadragon/annotorious-react-osd.es2.js.map +0 -1
- package/dist/openseadragon/annotorious-react-osd.es3.js +0 -39
- package/dist/openseadragon/annotorious-react-osd.es3.js.map +0 -1
- package/dist/openseadragon/annotorious-react-osd.es4.js +0 -19
- package/dist/openseadragon/annotorious-react-osd.es4.js.map +0 -1
- package/dist/openseadragon/annotorious-react-osd.es5.js +0 -6
- package/dist/openseadragon/annotorious-react-osd.es5.js.map +0 -1
- package/dist/openseadragon/annotorious-react-osd.es6.js +0 -21012
- package/dist/openseadragon/annotorious-react-osd.es6.js.map +0 -1
- package/dist/openseadragon/annotorious-react-osd.es7.js +0 -51
- package/dist/openseadragon/annotorious-react-osd.es7.js.map +0 -1
- package/dist/openseadragon/annotorious-react-osd.es8.js +0 -19
- package/dist/openseadragon/annotorious-react-osd.es8.js.map +0 -1
- package/dist/openseadragon/annotorious-react-osd.es9.js +0 -35
- package/dist/openseadragon/annotorious-react-osd.es9.js.map +0 -1
package/dist/Annotorious.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
|
-
import { Annotation, Annotator,
|
|
2
|
+
import { Annotation, Annotator, Store } from '@annotorious/annotorious';
|
|
3
3
|
interface Selection<T extends Annotation = Annotation> {
|
|
4
4
|
selected: {
|
|
5
5
|
annotation: T;
|
|
@@ -24,41 +24,8 @@ export declare const AnnotoriousContext: import("react").Context<{
|
|
|
24
24
|
export declare const Annotorious: import("react").ForwardRefExoticComponent<{
|
|
25
25
|
children: ReactNode;
|
|
26
26
|
} & import("react").RefAttributes<Annotator<Annotation, Annotation>>>;
|
|
27
|
-
export declare const useAnnotatorState: () => {
|
|
28
|
-
anno: any;
|
|
29
|
-
setAnno: any;
|
|
30
|
-
annotations: any[];
|
|
31
|
-
selection: {
|
|
32
|
-
selected: any[];
|
|
33
|
-
};
|
|
34
|
-
};
|
|
35
27
|
export declare const useAnnotator: <T extends Annotator<any, unknown>>() => T;
|
|
36
|
-
export declare const useAnnotationStore: <T extends
|
|
37
|
-
addAnnotation: (annotation: Annotation, origin?: import("@annotorious/core").Origin) => void;
|
|
38
|
-
addBody: (body: import("@annotorious/annotorious").AnnotationBody, origin?: import("@annotorious/core").Origin) => void;
|
|
39
|
-
all: () => Annotation[];
|
|
40
|
-
bulkAddAnnotation: (annotations: Annotation[], replace?: boolean, origin?: import("@annotorious/core").Origin) => void;
|
|
41
|
-
bulkDeleteAnnotation: (annotationsOrIds: (string | Annotation)[], origin?: import("@annotorious/core").Origin) => void;
|
|
42
|
-
bulkUpdateAnnotation: (annotations: Annotation[], origin?: import("@annotorious/core").Origin) => void;
|
|
43
|
-
bulkUpdateBodies: (bodies: import("@annotorious/annotorious").AnnotationBody[], origin?: import("@annotorious/core").Origin) => void;
|
|
44
|
-
bulkUpdateTargets: (targets: import("@annotorious/annotorious").AnnotationTarget[], origin?: import("@annotorious/core").Origin) => void;
|
|
45
|
-
clear: (origin?: import("@annotorious/core").Origin) => void;
|
|
46
|
-
deleteAnnotation: (annotationOrId: string | Annotation, origin?: import("@annotorious/core").Origin) => void;
|
|
47
|
-
deleteBody: (body: {
|
|
48
|
-
id: string;
|
|
49
|
-
annotation: string;
|
|
50
|
-
}, origin?: import("@annotorious/core").Origin) => void;
|
|
51
|
-
getAnnotation: (id: string) => Annotation;
|
|
52
|
-
getBody: (id: string) => import("@annotorious/annotorious").AnnotationBody;
|
|
53
|
-
observe: (onChange: (event: StoreChangeEvent<Annotation>) => void, options?: import("@annotorious/core").StoreObserveOptions) => number;
|
|
54
|
-
unobserve: (onChange: (event: StoreChangeEvent<Annotation>) => void) => void;
|
|
55
|
-
updateAnnotation: (arg1: string | Annotation, arg2?: Annotation | import("@annotorious/core").Origin, arg3?: import("@annotorious/core").Origin) => void;
|
|
56
|
-
updateBody: (oldBodyId: {
|
|
57
|
-
id: string;
|
|
58
|
-
annotation: string;
|
|
59
|
-
}, newBody: import("@annotorious/annotorious").AnnotationBody, origin?: import("@annotorious/core").Origin) => void;
|
|
60
|
-
updateTarget: (target: import("@annotorious/annotorious").AnnotationTarget, origin?: import("@annotorious/core").Origin) => void;
|
|
61
|
-
}>() => T;
|
|
28
|
+
export declare const useAnnotationStore: <T extends Store<Annotation>>() => T;
|
|
62
29
|
export declare const useAnnotations: <T extends Annotation>(debounce?: number) => T[];
|
|
63
30
|
export declare const useSelection: <T extends Annotation>() => Selection<T>;
|
|
64
31
|
export declare const useAnnotatorUser: () => any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Annotorious.d.ts","sourceRoot":"","sources":["../src/Annotorious.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA6B,SAAS,EAAC,MAAM,OAAO,CAAC;AAE5D,OAAO,EAAE,UAAU,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"Annotorious.d.ts","sourceRoot":"","sources":["../src/Annotorious.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA6B,SAAS,EAAC,MAAM,OAAO,CAAC;AAE5D,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAoB,MAAM,0BAA0B,CAAC;AAG1F,UAAU,SAAS,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU;IAEnD,QAAQ,EAAE;QAAE,UAAU,EAAE,CAAC,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;IAElD,YAAY,CAAC,EAAE,YAAY,CAAC;CAE7B;AAED,MAAM,WAAW,uBAAuB;IAEtC,IAAI,EAAE,SAAS,CAAC;IAEhB,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAEpD,WAAW,EAAE,UAAU,EAAE,CAAC;IAE1B,SAAS,EAAE,SAAS,CAAC;CAEtB;AAED,eAAO,MAAM,kBAAkB;;;;;;;EAU7B,CAAC;AAEH,eAAO,MAAM,WAAW;cAAqC,SAAS;qEAuEpE,CAAC;AAEH,eAAO,MAAM,YAAY,4CAGxB,CAAA;AAED,eAAO,MAAM,kBAAkB,sCAG9B,CAAA;AAYD,eAAO,MAAM,cAAc,oCAAqC,MAAM,QACE,CAAC;AAEzE,eAAO,MAAM,YAAY,0CAGxB,CAAA;AAED,eAAO,MAAM,gBAAgB,WAG5B,CAAA;AAmDD,eAAO,MAAM,gBAAgB,oCAAsC,MAAM,QACI,CAAC"}
|
|
@@ -1,39 +1,38 @@
|
|
|
1
|
-
import { Annotorious as
|
|
2
|
-
import { AnnotoriousPlugin as
|
|
3
|
-
import { Draggable as
|
|
4
|
-
import { ImageAnnotator as
|
|
1
|
+
import { Annotorious as g, AnnotoriousContext as A, useAnnotationStore as c, useAnnotations as f, useAnnotator as x, useAnnotatorUser as S, useSelection as I, useViewportState as d } from "./annotorious-react.es2.js";
|
|
2
|
+
import { AnnotoriousPlugin as y } from "./annotorious-react.es3.js";
|
|
3
|
+
import { Draggable as O } from "./annotorious-react.es4.js";
|
|
4
|
+
import { ImageAnnotator as h } from "./annotorious-react.es5.js";
|
|
5
5
|
import "./annotorious-react.es6.js";
|
|
6
6
|
import "./annotorious-react.es7.js";
|
|
7
|
-
import { Origin as
|
|
7
|
+
import { Origin as F, PointerSelectAction as T, createAnonymousGuest as V, createBody as W, defaultColorProvider as $ } from "./annotorious-react.es8.js";
|
|
8
8
|
import { createImageAnnotator as o, ShapeType as e, W3CImageFormat as t } from "@annotorious/annotorious";
|
|
9
|
-
import { OpenSeadragonAnnotator as
|
|
10
|
-
import { OpenSeadragonPopup as
|
|
11
|
-
import { OpenSeadragonViewer as
|
|
9
|
+
import { OpenSeadragonAnnotator as v, useViewer as B } from "./annotorious-react.es9.js";
|
|
10
|
+
import { OpenSeadragonPopup as G } from "./annotorious-react.es10.js";
|
|
11
|
+
import { OpenSeadragonViewer as j } from "./annotorious-react.es11.js";
|
|
12
12
|
const p = o, m = e, s = t;
|
|
13
13
|
export {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
14
|
+
g as Annotorious,
|
|
15
|
+
A as AnnotoriousContext,
|
|
16
|
+
y as AnnotoriousPlugin,
|
|
17
|
+
O as Draggable,
|
|
18
|
+
h as ImageAnnotator,
|
|
19
|
+
v as OpenSeadragonAnnotator,
|
|
20
|
+
G as OpenSeadragonPopup,
|
|
21
|
+
j as OpenSeadragonViewer,
|
|
22
|
+
F as Origin,
|
|
23
|
+
T as PointerSelectAction,
|
|
24
24
|
m as ShapeType,
|
|
25
25
|
s as W3CImageFormat,
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
V as createAnonymousGuest,
|
|
27
|
+
W as createBody,
|
|
28
28
|
p as createImageAnnotator,
|
|
29
|
-
|
|
29
|
+
$ as defaultColorProvider,
|
|
30
30
|
c as useAnnotationStore,
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
I as
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
l as useViewportState
|
|
31
|
+
f as useAnnotations,
|
|
32
|
+
x as useAnnotator,
|
|
33
|
+
S as useAnnotatorUser,
|
|
34
|
+
I as useSelection,
|
|
35
|
+
B as useViewer,
|
|
36
|
+
d as useViewportState
|
|
38
37
|
};
|
|
39
38
|
//# sourceMappingURL=annotorious-react.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"annotorious-react.es.js","sources":["../src/index.ts"],"sourcesContent":["export * from './Annotorious';\nexport * from './AnnotoriousPlugin';\nexport * from './AnnotoriousPopup';\nexport * from './ImageAnnotator';\n\nexport * from './openseadragon';\n\n// This ensures the Annotorious stylesheet gets packaged into annotorious-react\nimport '@annotorious/annotorious/annotorious.css';\nimport '@annotorious/openseadragon/annotorious-openseadragon.css';\n\n// Essential re-exports from @annotorious/core\nexport type {\n Annotation,\n AnnotationBody,\n AnnotationTarget,\n Annotator,\n AnnotatorState,\n Appearance,\n AppearanceProvider,\n Color,\n DrawingStyle,\n Filter,\n FormatAdapter,\n HoverState,\n LifecycleEvents,\n ParseResult,\n PresentUser,\n Purpose,\n Selection,\n SelectionState,\n Store,\n StoreChangeEvent,\n StoreObserver,\n User,\n W3CAnnotation,\n W3CAnnotationBody,\n W3CAnnotationTarget
|
|
1
|
+
{"version":3,"file":"annotorious-react.es.js","sources":["../src/index.ts"],"sourcesContent":["export * from './Annotorious';\nexport * from './AnnotoriousPlugin';\nexport * from './AnnotoriousPopup';\nexport * from './ImageAnnotator';\n\nexport * from './openseadragon';\n\n// This ensures the Annotorious stylesheet gets packaged into annotorious-react\nimport '@annotorious/annotorious/annotorious.css';\nimport '@annotorious/openseadragon/annotorious-openseadragon.css';\n\n// Essential re-exports from @annotorious/core\nexport type {\n Annotation,\n AnnotationBody,\n AnnotationTarget,\n Annotator,\n AnnotatorState,\n Appearance,\n AppearanceProvider,\n Color,\n DrawingStyle,\n Filter,\n FormatAdapter,\n HoverState,\n LifecycleEvents,\n ParseResult,\n PresentUser,\n Purpose,\n Selection,\n SelectionState,\n Store,\n StoreChangeEvent,\n StoreObserver,\n User,\n W3CAnnotation,\n W3CAnnotationBody,\n W3CAnnotationTarget\n} from '@annotorious/core';\n\nimport {\n createAnonymousGuest as _createAnonymousGuest, \n createBody as _createBody,\n defaultColorProvider as _defaultColorProvider,\n Origin as _Origin,\n PointerSelectAction as _PointerSelectAction\n} from '@annotorious/core';\n\nexport { _createAnonymousGuest as createAnonymousGuest };\nexport { _createBody as createBody };\nexport { _defaultColorProvider as defaultColorProvider };\nexport { _Origin as Origin };\nexport { _PointerSelectAction as PointerSelectAction };\n\n// Essential re-exports from @annotorious/annotorious \nexport type {\n AnnotoriousOpts,\n DrawingMode,\n DrawingTool,\n ImageAnnotator as AnnotoriousImageAnnotator,\n ImageAnnotation,\n ImageAnnotator,\n ImageAnnotatorState,\n Polygon,\n PolygonGeometry,\n Rectangle,\n RectangleGeometry,\n Shape\n} from '@annotorious/annotorious';\n\nimport { \n createImageAnnotator as _createImageAnnotator,\n ShapeType as _ShapeType,\n W3CImageFormat as _W3CImageFormat\n} from '@annotorious/annotorious';\n\nexport const createImageAnnotator = _createImageAnnotator;\nexport const ShapeType = _ShapeType;\nexport const W3CImageFormat = _W3CImageFormat;\n\n// Essential re-exports from @annotorious/openseadragon \nexport type {\n OpenSeadragonAnnotator as AnnotoriousOpenSeadragonAnnotator\n} from '@annotorious/openseadragon';\n\nexport type { Viewer } from 'openseadragon';\n"],"names":["createImageAnnotator","_createImageAnnotator","ShapeType","_ShapeType","W3CImageFormat","_W3CImageFormat"],"mappings":";;;;;;;;;;;AA4EO,MAAMA,IAAuBC,GACvBC,IAAYC,GACZC,IAAiBC;"}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { useRef as w, useState as d, useEffect as
|
|
3
|
-
import { Draggable as
|
|
4
|
-
import { useViewer as
|
|
5
|
-
import { useSelection as
|
|
6
|
-
import { setPosition as
|
|
7
|
-
const
|
|
8
|
-
const n = w(null), o =
|
|
1
|
+
import { j as v } from "./annotorious-react.es12.js";
|
|
2
|
+
import { useRef as w, useState as d, useEffect as u } from "react";
|
|
3
|
+
import { Draggable as x } from "./annotorious-react.es4.js";
|
|
4
|
+
import { useViewer as S } from "./annotorious-react.es9.js";
|
|
5
|
+
import { useSelection as j } from "./annotorious-react.es2.js";
|
|
6
|
+
import { setPosition as D } from "./annotorious-react.es16.js";
|
|
7
|
+
const R = (c) => {
|
|
8
|
+
const n = w(null), o = S(), { selected: t } = j(), [l, m] = d([]), [s, i] = d(!1), f = () => i(!0), p = () => {
|
|
9
9
|
const e = t[0].annotation;
|
|
10
|
-
|
|
10
|
+
D(o, e, n.current);
|
|
11
11
|
}, g = (e, r) => e.every((a) => r.includes(a)) && r.every((a) => e.includes(a));
|
|
12
|
-
return
|
|
12
|
+
return u(() => {
|
|
13
13
|
const e = t.map(({ annotation: r }) => r.id);
|
|
14
|
-
g(l, e) || (i(!1),
|
|
15
|
-
}, [t]),
|
|
14
|
+
g(l, e) || (i(!1), m(e));
|
|
15
|
+
}, [t]), u(() => {
|
|
16
16
|
if (!n.current)
|
|
17
17
|
return;
|
|
18
18
|
s || p();
|
|
@@ -22,18 +22,18 @@ const q = (u) => {
|
|
|
22
22
|
return o.addHandler("update-viewport", e), () => {
|
|
23
23
|
o.removeHandler("update-viewport", e);
|
|
24
24
|
};
|
|
25
|
-
}, [t, s]), t.length > 0 ? /* @__PURE__ */ v(
|
|
26
|
-
|
|
25
|
+
}, [t, s]), t.length > 0 ? /* @__PURE__ */ v.jsx(
|
|
26
|
+
x,
|
|
27
27
|
{
|
|
28
28
|
ref: n,
|
|
29
29
|
className: "a9s-popup a9s-osd-popup",
|
|
30
|
-
onDragStart:
|
|
31
|
-
children:
|
|
30
|
+
onDragStart: f,
|
|
31
|
+
children: c.popup({ viewer: o, selected: t })
|
|
32
32
|
},
|
|
33
33
|
t.map(({ annotation: e }) => e.id).join("-")
|
|
34
34
|
) : null;
|
|
35
35
|
};
|
|
36
36
|
export {
|
|
37
|
-
|
|
37
|
+
R as OpenSeadragonPopup
|
|
38
38
|
};
|
|
39
39
|
//# sourceMappingURL=annotorious-react.es10.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"annotorious-react.es10.js","sources":["../src/openseadragon/OpenSeadragonPopup.tsx"],"sourcesContent":["import { ReactNode, useEffect, useRef, useState } from 'react';\nimport { ImageAnnotation } from '@annotorious/annotorious';\nimport OpenSeadragon from 'openseadragon';\nimport { AnnotoriousPopupProps, Draggable } from '../AnnotoriousPopup';\nimport { useViewer } from './OpenSeadragonAnnotator';\nimport { useSelection } from '../Annotorious';\nimport { setPosition } from './setPosition';\n\nexport type OpenSeadragonPopupProps = AnnotoriousPopupProps & {\n\n viewer: OpenSeadragon.Viewer\n\n}\n\nexport type OpenSeadragonPopupContainerProps = {\n\n popup(props: OpenSeadragonPopupProps): ReactNode\n\n}\n\nexport const OpenSeadragonPopup = (props: OpenSeadragonPopupContainerProps) => {\n\n const el = useRef<HTMLDivElement>(null);\n\n const viewer = useViewer();\n\n const { selected } = useSelection<ImageAnnotation>();\n\n const [selectedIds, setSelectedIds] = useState<string[]>([]);\n\n const [dragged, setDragged] = useState(false);\n\n const onDragStart = () => setDragged(true);\n\n const updatePosition = () => {\n // Note: this popup only supports a single selection\n const annotation = selected[0].annotation;\n setPosition(viewer, annotation, el.current);\n }\n\n const equal = (a: string[], b: string[]) => \n a.every(str => b.includes(str)) && b.every(str => a.includes(str));\n\n useEffect(() => {\n // Reset drag flag if selected IDs have changed\n const nextIds = selected.map(({ annotation }) => annotation.id);\n\n if (!equal(selectedIds, nextIds)) {\n setDragged(false);\n setSelectedIds(nextIds);\n }\n }, [selected]);\n\n useEffect(() => {\n if (!el.current) return;\n\n if (!dragged) updatePosition();\n\n const onUpdateViewport = () => {\n if (!dragged) updatePosition();\n }\n\n viewer.addHandler('update-viewport', onUpdateViewport);\n\n return () => {\n viewer.removeHandler('update-viewport', onUpdateViewport);\n }\n }, [selected, dragged]);\n \n return selected.length > 0 ? (\n <Draggable \n ref={el} \n key={selected.map(({ annotation }) => annotation.id).join('-')} \n className=\"a9s-popup a9s-osd-popup\" \n onDragStart={onDragStart}>\n\n {props.popup({ viewer, selected })}\n \n </Draggable>\n ) : null;\n\n}"],"names":["OpenSeadragonPopup","props","el","useRef","viewer","useViewer","selected","useSelection","selectedIds","setSelectedIds","useState","dragged","setDragged","onDragStart","updatePosition","annotation","setPosition","equal","a","b","str","useEffect","nextIds","onUpdateViewport","jsx","Draggable"],"mappings":";;;;;;AAoBa,MAAAA,IAAqB,CAACC,MAA4C;AAEvE,QAAAC,IAAKC,EAAuB,IAAI,GAEhCC,IAASC,KAET,EAAE,UAAAC,MAAaC,KAEf,CAACC,GAAaC,CAAc,IAAIC,EAAmB,CAAE,CAAA,GAErD,CAACC,GAASC,CAAU,IAAIF,EAAS,EAAK,GAEtCG,IAAc,MAAMD,EAAW,EAAI,GAEnCE,IAAiB,MAAM;AAErB,UAAAC,IAAaT,EAAS,CAAC,EAAE;AACnB,IAAAU,EAAAZ,GAAQW,GAAYb,EAAG,OAAO;AAAA,EAAA,GAGtCe,IAAQ,CAACC,GAAaC,MAC1BD,EAAE,MAAM,OAAOC,EAAE,SAASC,CAAG,CAAC,KAAKD,EAAE,MAAM,OAAOD,EAAE,SAASE,CAAG,CAAC;AAEnE,SAAAC,EAAU,MAAM;AAER,UAAAC,IAAUhB,EAAS,IAAI,CAAC,EAAE,YAAAS,QAAiBA,EAAW,EAAE;AAE9D,IAAKE,EAAMT,GAAac,CAAO,MAC7BV,EAAW,EAAK,GAChBH,EAAea,CAAO;AAAA,EACxB,GACC,CAAChB,CAAQ,CAAC,GAEbe,EAAU,MAAM;AACd,QAAI,CAACnB,EAAG;AAAS;AAEjB,IAAKS,KAAwBG;AAE7B,UAAMS,IAAmB,MAAM;AAC7B,MAAKZ,KAAwBG;IAAA;AAGxB,WAAAV,EAAA,WAAW,mBAAmBmB,CAAgB,GAE9C,MAAM;AACJ,MAAAnB,EAAA,cAAc,mBAAmBmB,CAAgB;AAAA,IAAA;AAAA,EAC1D,GACC,CAACjB,GAAUK,CAAO,CAAC,GAEfL,EAAS,SAAS,
|
|
1
|
+
{"version":3,"file":"annotorious-react.es10.js","sources":["../src/openseadragon/OpenSeadragonPopup.tsx"],"sourcesContent":["import { ReactNode, useEffect, useRef, useState } from 'react';\nimport { ImageAnnotation } from '@annotorious/annotorious';\nimport OpenSeadragon from 'openseadragon';\nimport { AnnotoriousPopupProps, Draggable } from '../AnnotoriousPopup';\nimport { useViewer } from './OpenSeadragonAnnotator';\nimport { useSelection } from '../Annotorious';\nimport { setPosition } from './setPosition';\n\nexport type OpenSeadragonPopupProps = AnnotoriousPopupProps & {\n\n viewer: OpenSeadragon.Viewer\n\n}\n\nexport type OpenSeadragonPopupContainerProps = {\n\n popup(props: OpenSeadragonPopupProps): ReactNode\n\n}\n\nexport const OpenSeadragonPopup = (props: OpenSeadragonPopupContainerProps) => {\n\n const el = useRef<HTMLDivElement>(null);\n\n const viewer = useViewer();\n\n const { selected } = useSelection<ImageAnnotation>();\n\n const [selectedIds, setSelectedIds] = useState<string[]>([]);\n\n const [dragged, setDragged] = useState(false);\n\n const onDragStart = () => setDragged(true);\n\n const updatePosition = () => {\n // Note: this popup only supports a single selection\n const annotation = selected[0].annotation;\n setPosition(viewer, annotation, el.current);\n }\n\n const equal = (a: string[], b: string[]) => \n a.every(str => b.includes(str)) && b.every(str => a.includes(str));\n\n useEffect(() => {\n // Reset drag flag if selected IDs have changed\n const nextIds = selected.map(({ annotation }) => annotation.id);\n\n if (!equal(selectedIds, nextIds)) {\n setDragged(false);\n setSelectedIds(nextIds);\n }\n }, [selected]);\n\n useEffect(() => {\n if (!el.current) return;\n\n if (!dragged) updatePosition();\n\n const onUpdateViewport = () => {\n if (!dragged) updatePosition();\n }\n\n viewer.addHandler('update-viewport', onUpdateViewport);\n\n return () => {\n viewer.removeHandler('update-viewport', onUpdateViewport);\n }\n }, [selected, dragged]);\n \n return selected.length > 0 ? (\n <Draggable \n ref={el} \n key={selected.map(({ annotation }) => annotation.id).join('-')} \n className=\"a9s-popup a9s-osd-popup\" \n onDragStart={onDragStart}>\n\n {props.popup({ viewer, selected })}\n \n </Draggable>\n ) : null;\n\n}"],"names":["OpenSeadragonPopup","props","el","useRef","viewer","useViewer","selected","useSelection","selectedIds","setSelectedIds","useState","dragged","setDragged","onDragStart","updatePosition","annotation","setPosition","equal","a","b","str","useEffect","nextIds","onUpdateViewport","jsx","Draggable"],"mappings":";;;;;;AAoBa,MAAAA,IAAqB,CAACC,MAA4C;AAEvE,QAAAC,IAAKC,EAAuB,IAAI,GAEhCC,IAASC,KAET,EAAE,UAAAC,MAAaC,KAEf,CAACC,GAAaC,CAAc,IAAIC,EAAmB,CAAE,CAAA,GAErD,CAACC,GAASC,CAAU,IAAIF,EAAS,EAAK,GAEtCG,IAAc,MAAMD,EAAW,EAAI,GAEnCE,IAAiB,MAAM;AAErB,UAAAC,IAAaT,EAAS,CAAC,EAAE;AACnB,IAAAU,EAAAZ,GAAQW,GAAYb,EAAG,OAAO;AAAA,EAAA,GAGtCe,IAAQ,CAACC,GAAaC,MAC1BD,EAAE,MAAM,OAAOC,EAAE,SAASC,CAAG,CAAC,KAAKD,EAAE,MAAM,OAAOD,EAAE,SAASE,CAAG,CAAC;AAEnE,SAAAC,EAAU,MAAM;AAER,UAAAC,IAAUhB,EAAS,IAAI,CAAC,EAAE,YAAAS,QAAiBA,EAAW,EAAE;AAE9D,IAAKE,EAAMT,GAAac,CAAO,MAC7BV,EAAW,EAAK,GAChBH,EAAea,CAAO;AAAA,EACxB,GACC,CAAChB,CAAQ,CAAC,GAEbe,EAAU,MAAM;AACd,QAAI,CAACnB,EAAG;AAAS;AAEjB,IAAKS,KAAwBG;AAE7B,UAAMS,IAAmB,MAAM;AAC7B,MAAKZ,KAAwBG;IAAA;AAGxB,WAAAV,EAAA,WAAW,mBAAmBmB,CAAgB,GAE9C,MAAM;AACJ,MAAAnB,EAAA,cAAc,mBAAmBmB,CAAgB;AAAA,IAAA;AAAA,EAC1D,GACC,CAACjB,GAAUK,CAAO,CAAC,GAEfL,EAAS,SAAS,IACvBkB,gBAAAA,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,KAAKvB;AAAA,MAEL,WAAU;AAAA,MACV,aAAAW;AAAA,MAEC,UAAMZ,EAAA,MAAM,EAAE,QAAAG,GAAQ,UAAAE,GAAU;AAAA,IAAA;AAAA,IAJ5BA,EAAS,IAAI,CAAC,EAAE,YAAAS,EAAA,MAAiBA,EAAW,EAAE,EAAE,KAAK,GAAG;AAAA,EAO7D,IAAA;AAEN;"}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { forwardRef as a, useRef as
|
|
1
|
+
import { j as m } from "./annotorious-react.es12.js";
|
|
2
|
+
import { forwardRef as a, useRef as p, useContext as u, useEffect as c, useImperativeHandle as d } from "react";
|
|
3
3
|
import l from "openseadragon";
|
|
4
|
-
import { OpenSeadragonAnnotatorContext as
|
|
5
|
-
const
|
|
6
|
-
const { className:
|
|
7
|
-
return
|
|
4
|
+
import { OpenSeadragonAnnotatorContext as x } from "./annotorious-react.es9.js";
|
|
5
|
+
const O = a((n, s) => {
|
|
6
|
+
const { className: i, options: t } = n, r = p(null), { viewer: f, setViewer: e } = u(x);
|
|
7
|
+
return c(() => {
|
|
8
8
|
if (r.current) {
|
|
9
9
|
const o = l({ ...t, element: r.current });
|
|
10
10
|
return e && e(o), () => {
|
|
11
11
|
o.destroy(), e && e(void 0);
|
|
12
12
|
};
|
|
13
13
|
}
|
|
14
|
-
}, [JSON.stringify(t)]), d(
|
|
14
|
+
}, [JSON.stringify(t)]), d(s, () => f), /* @__PURE__ */ m.jsx("div", { className: i, ref: r });
|
|
15
15
|
});
|
|
16
16
|
export {
|
|
17
|
-
|
|
17
|
+
O as OpenSeadragonViewer
|
|
18
18
|
};
|
|
19
19
|
//# sourceMappingURL=annotorious-react.es11.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"annotorious-react.es11.js","sources":["../src/openseadragon/OpenSeadragonViewer.tsx"],"sourcesContent":["import { forwardRef, useContext, useEffect, useImperativeHandle, useRef } from 'react';\nimport OpenSeadragon from 'openseadragon';\nimport { OpenSeadragonAnnotatorContext } from './OpenSeadragonAnnotator';\n\nexport interface OpenSeadragonViewerProps {\n\n className?: string;\n\n options: OpenSeadragon.Options;\n\n}\n\nexport const OpenSeadragonViewer = forwardRef<OpenSeadragon.Viewer, OpenSeadragonViewerProps>((props: OpenSeadragonViewerProps, ref) => {\n\n const { className, options } = props;\n\n const element = useRef<HTMLDivElement>(null);\n\n const { viewer, setViewer } = useContext(OpenSeadragonAnnotatorContext);\n\n useEffect(() => { \n if (element.current) {\n const v = OpenSeadragon({...options, element: element.current });\n\n // Checking for setViewer is just a convenience so we can\n // use this component also without an OpenSeadragonAnnotator\n if (setViewer)\n setViewer(v);\n\n return () => {\n v.destroy();\n\n if (setViewer) \n setViewer(undefined);\n }\n }\n }, [JSON.stringify(options)]);\n\n useImperativeHandle(ref, () => viewer);\n\n return (\n <div className={className} ref={element} />\n );\n\n});"],"names":["OpenSeadragonViewer","forwardRef","props","ref","className","options","element","useRef","viewer","setViewer","useContext","OpenSeadragonAnnotatorContext","useEffect","v","OpenSeadragon","useImperativeHandle","jsx"],"mappings":";;;;AAYO,MAAMA,IAAsBC,EAA2D,CAACC,GAAiCC,MAAQ;AAEhI,QAAA,EAAE,WAAAC,GAAW,SAAAC,EAAY,IAAAH,GAEzBI,IAAUC,EAAuB,IAAI,GAErC,EAAE,QAAAC,GAAQ,WAAAC,EAAU,IAAIC,EAAWC,CAA6B;AAEtE,SAAAC,EAAU,MAAM;AACd,QAAIN,EAAQ,SAAS;AACb,YAAAO,IAAIC,EAAc,EAAC,GAAGT,GAAS,SAASC,EAAQ,SAAS;AAI3D,aAAAG,KACFA,EAAUI,CAAC,GAEN,MAAM;AACX,QAAAA,EAAE,QAAQ,GAENJ,KACFA,EAAU,MAAS;AAAA,MAAA;AAAA,IAEzB;AAAA,KACC,CAAC,KAAK,UAAUJ,CAAO,CAAC,CAAC,GAERU,EAAAZ,GAAK,MAAMK,CAAM,
|
|
1
|
+
{"version":3,"file":"annotorious-react.es11.js","sources":["../src/openseadragon/OpenSeadragonViewer.tsx"],"sourcesContent":["import { forwardRef, useContext, useEffect, useImperativeHandle, useRef } from 'react';\nimport OpenSeadragon from 'openseadragon';\nimport { OpenSeadragonAnnotatorContext } from './OpenSeadragonAnnotator';\n\nexport interface OpenSeadragonViewerProps {\n\n className?: string;\n\n options: OpenSeadragon.Options;\n\n}\n\nexport const OpenSeadragonViewer = forwardRef<OpenSeadragon.Viewer, OpenSeadragonViewerProps>((props: OpenSeadragonViewerProps, ref) => {\n\n const { className, options } = props;\n\n const element = useRef<HTMLDivElement>(null);\n\n const { viewer, setViewer } = useContext(OpenSeadragonAnnotatorContext);\n\n useEffect(() => { \n if (element.current) {\n const v = OpenSeadragon({...options, element: element.current });\n\n // Checking for setViewer is just a convenience so we can\n // use this component also without an OpenSeadragonAnnotator\n if (setViewer)\n setViewer(v);\n\n return () => {\n v.destroy();\n\n if (setViewer) \n setViewer(undefined);\n }\n }\n }, [JSON.stringify(options)]);\n\n useImperativeHandle(ref, () => viewer);\n\n return (\n <div className={className} ref={element} />\n );\n\n});"],"names":["OpenSeadragonViewer","forwardRef","props","ref","className","options","element","useRef","viewer","setViewer","useContext","OpenSeadragonAnnotatorContext","useEffect","v","OpenSeadragon","useImperativeHandle","jsx"],"mappings":";;;;AAYO,MAAMA,IAAsBC,EAA2D,CAACC,GAAiCC,MAAQ;AAEhI,QAAA,EAAE,WAAAC,GAAW,SAAAC,EAAY,IAAAH,GAEzBI,IAAUC,EAAuB,IAAI,GAErC,EAAE,QAAAC,GAAQ,WAAAC,EAAU,IAAIC,EAAWC,CAA6B;AAEtE,SAAAC,EAAU,MAAM;AACd,QAAIN,EAAQ,SAAS;AACb,YAAAO,IAAIC,EAAc,EAAC,GAAGT,GAAS,SAASC,EAAQ,SAAS;AAI3D,aAAAG,KACFA,EAAUI,CAAC,GAEN,MAAM;AACX,QAAAA,EAAE,QAAQ,GAENJ,KACFA,EAAU,MAAS;AAAA,MAAA;AAAA,IAEzB;AAAA,KACC,CAAC,KAAK,UAAUJ,CAAO,CAAC,CAAC,GAERU,EAAAZ,GAAK,MAAMK,CAAM,GAGlCQ,gBAAAA,EAAAA,IAAA,OAAA,EAAI,WAAAZ,GAAsB,KAAKE,EAAS,CAAA;AAG7C,CAAC;"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { __module as e } from "./annotorious-react.es17.js";
|
|
2
|
+
import { __require as r } from "./annotorious-react.es18.js";
|
|
3
|
+
import { __require as o } from "./annotorious-react.es19.js";
|
|
4
|
+
process.env.NODE_ENV === "production" ? e.exports = o() : e.exports = r();
|
|
5
|
+
var m = e.exports;
|
|
3
6
|
export {
|
|
4
|
-
|
|
5
|
-
r as jsx
|
|
7
|
+
m as j
|
|
6
8
|
};
|
|
7
9
|
//# sourceMappingURL=annotorious-react.es12.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"annotorious-react.es12.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
|
1
|
+
{"version":3,"file":"annotorious-react.es12.js","sources":["../../../node_modules/react/jsx-runtime.js"],"sourcesContent":["'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n"],"names":["jsxRuntimeModule","require$$1","require$$0"],"mappings":";;;AAEI,QAAQ,IAAI,aAAa,eAC3BA,EAAA,UAAiBC,MAEjBD,EAAA,UAAiBE;;","x_google_ignoreList":[0]}
|