@annotorious/react 3.7.18 → 3.7.20

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.
@@ -1,123 +1,47 @@
1
- import { jsxs as E, jsx as h } from "react/jsx-runtime";
2
- import { useState as O, useRef as P, useMemo as A, useEffect as L } from "react";
3
- import { createPortal as D } from "react-dom";
4
- import f from "openseadragon";
5
- import { useAnnotator as S, useSelection as b } from "./annotorious-react.es2.js";
6
- /* empty css */
7
- /* empty css */
8
- import "@annotorious/core";
9
- import "@annotorious/annotorious";
10
- import { toClientRects as M } from "./annotorious-react.es15.js";
11
- import { useFloating as U, FloatingArrow as F } from "./annotorious-react.es14.js";
12
- import { useViewer as V } from "./annotorious-react.es8.js";
13
- import { inline as j, offset as z, flip as H, shift as I, arrow as T } from "./annotorious-react.es17.js";
14
- import { autoUpdate as X } from "./annotorious-react.es16.js";
15
- import g from "./annotorious-react.es18.js";
16
- const Y = (t, r) => {
17
- const { minX: d, minY: a, maxX: n, maxY: m } = r.bounds, { top: s, left: c } = t.element.getBoundingClientRect(), o = t.viewport.imageToViewerElementCoordinates(new f.Point(d, a)), l = t.viewport.imageToViewerElementCoordinates(new f.Point(n, m));
18
- return new DOMRect(
19
- o.x + c,
20
- o.y + s,
21
- l.x - o.x,
22
- l.y - o.y
23
- );
24
- }, k = (t) => {
25
- var r;
26
- return ((r = t == null ? void 0 : t.target) == null ? void 0 : r.selector) && "geometry" in t.target.selector;
27
- }, ie = (t) => {
28
- var u;
29
- const r = S(), [d, a] = O(!1), n = V(), m = P(null), { selected: s, event: c } = b(), [o, l] = A(() => {
30
- const e = s[0];
31
- return k(e == null ? void 0 : e.annotation) ? [e.annotation, e.editable] : [void 0, void 0];
32
- }, [s]), { refs: p, floatingStyles: w, context: v } = U({
33
- open: d,
34
- onOpenChange: a,
35
- placement: t.placement,
36
- middleware: [
37
- j(),
38
- z(10),
39
- H({ crossAxis: !0 }),
40
- I({
41
- crossAxis: !0,
42
- boundary: n == null ? void 0 : n.element,
43
- padding: { right: 5, left: 5, top: 10, bottom: 10 }
44
- }),
45
- T({
46
- element: m,
47
- padding: ((u = t.arrowProps) == null ? void 0 : u.padding) || 5
48
- })
49
- ],
50
- whileElementsMounted: X
51
- });
52
- L(() => {
53
- if (s.length === 0 || !o)
54
- a(!1);
55
- else {
56
- const e = () => {
57
- if (!n.element) return;
58
- const i = Y(n, o.target.selector.geometry);
59
- p.setReference({
60
- getBoundingClientRect: () => i,
61
- getClientRects: () => M(i)
62
- });
63
- };
64
- return window.addEventListener("scroll", e, !0), window.addEventListener("resize", e), n.addHandler("update-viewport", e), e(), a(!0), () => {
65
- window.removeEventListener("scroll", e, !0), window.removeEventListener("resize", e), n.removeHandler("update-viewport", e);
66
- };
67
- }
68
- }, [t.popup, s, n]);
69
- const y = (e) => {
70
- const i = e.id || g();
71
- r.state.store.addBody({
72
- ...e,
73
- id: i,
74
- annotation: o.id,
75
- created: e.created || /* @__PURE__ */ new Date(),
76
- creator: r.getUser()
77
- });
78
- }, x = (e) => {
79
- r.state.store.deleteBody({ id: e, annotation: o.id });
80
- }, R = (e, i) => {
81
- const B = i.id || g(), C = {
82
- updated: /* @__PURE__ */ new Date(),
83
- updatedBy: r.getUser(),
84
- ...i,
85
- id: B,
86
- annotation: o.id
87
- };
88
- r.state.store.updateBody(e, C);
89
- };
90
- return d && o ? D(
91
- /* @__PURE__ */ E(
92
- "div",
93
- {
94
- className: "a9s-popup a9s-image-popup",
95
- ref: p.setFloating,
96
- style: w,
97
- children: [
98
- t.arrow && /* @__PURE__ */ h(
99
- F,
100
- {
101
- ref: m,
102
- context: v,
103
- ...t.arrowProps || {}
104
- }
105
- ),
106
- t.popup({
107
- annotation: o,
108
- editable: l,
109
- event: c,
110
- onCreateBody: y,
111
- onDeleteBody: x,
112
- onUpdateBody: R
113
- })
114
- ]
1
+ import { jsx as m } from "react/jsx-runtime";
2
+ import { forwardRef as w, useState as A, useContext as c, useImperativeHandle as S, useEffect as n, createContext as g } from "react";
3
+ import { createAnonymousGuest as h } from "@annotorious/core";
4
+ import { createOSDAnnotator as x } from "@annotorious/openseadragon";
5
+ import { AnnotoriousContext as y } from "./annotorious-react.es2.js";
6
+ const d = g({ viewer: null, setViewer: null }), V = w((t, s) => {
7
+ const { children: v, tool: o, ...f } = t, [i, u] = A(), { anno: e, setAnno: a } = c(y);
8
+ return S(s, () => e, [e]), n(() => {
9
+ var l;
10
+ if (i != null && i.element)
11
+ try {
12
+ const r = x(i, f);
13
+ return a(r), () => {
14
+ r.destroy(), a(void 0);
15
+ };
16
+ } catch (r) {
17
+ (l = t.onInitError) == null || l.call(t, r);
115
18
  }
116
- ),
117
- n.element
118
- ) : null;
19
+ }, [i]), n(() => {
20
+ e && e.setDrawingEnabled(t.drawingEnabled);
21
+ }, [e, t.drawingEnabled]), n(() => {
22
+ e && e.setDrawingMode(t.drawingMode);
23
+ }, [e, t.drawingMode]), n(() => {
24
+ e && e.setFilter(t.filter);
25
+ }, [e, t.filter]), n(() => {
26
+ e && e.setVisible(!t.hideAnnotations);
27
+ }, [e, t.hideAnnotations]), n(() => {
28
+ e && e.setStyle(t.style);
29
+ }, [e, t.style]), n(() => {
30
+ e && e.setDrawingTool(o || "rectangle");
31
+ }, [e, o]), n(() => {
32
+ e && e.setModalSelect(t.modalSelect);
33
+ }, [e, t.modalSelect]), n(() => {
34
+ e && (t.user ? e.setUser(t.user) : e.setUser(h()));
35
+ }, [e, t.user]), n(() => {
36
+ e && e.setUserSelectAction(t.userSelectAction);
37
+ }, [e, t.userSelectAction]), /* @__PURE__ */ m(d.Provider, { value: { viewer: i, setViewer: u }, children: t.children });
38
+ }), O = () => {
39
+ const { viewer: t } = c(d);
40
+ return t;
119
41
  };
120
42
  export {
121
- ie as OpenSeadragonAnnotationPopup
43
+ V as OpenSeadragonAnnotator,
44
+ d as OpenSeadragonAnnotatorContext,
45
+ O as useViewer
122
46
  };
123
47
  //# sourceMappingURL=annotorious-react.es9.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"annotorious-react.es9.js","sources":["../src/openseadragon/OpenSeadragonAnnotationPopup.tsx"],"sourcesContent":["import { ReactNode, useEffect, useMemo, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport OpenSeadragon from 'openseadragon';\nimport { v4 as uuidv4 } from 'uuid';\nimport { useAnnotator, useSelection, useViewer} from '@annotorious/react';\nimport type { PopupProps } from '@annotorious/react';\nimport type { Annotation, AnnotationBody, Annotator, Geometry, ImageAnnotation } from '@annotorious/annotorious';\nimport { toClientRects } from '../utils/toClientRects';\nimport {\n useFloating,\n arrow,\n shift,\n inline,\n autoUpdate,\n flip,\n offset,\n FloatingArrow,\n FloatingArrowProps,\n Placement\n} from '@floating-ui/react';\n\nconst toDOMRect = (viewer: OpenSeadragon.Viewer, geometry: Geometry) => {\n const { minX, minY, maxX, maxY } = geometry.bounds;\n\n const { top, left } = viewer.element.getBoundingClientRect();\n\n const topLeft = viewer.viewport.imageToViewerElementCoordinates(new OpenSeadragon.Point(minX, minY));\n const bottomRight = viewer.viewport.imageToViewerElementCoordinates(new OpenSeadragon.Point(maxX, maxY));\n\n return new DOMRect(\n topLeft.x + left,\n topLeft.y + top,\n bottomRight.x - topLeft.x,\n bottomRight.y - topLeft.y\n );\n}\n\n/**\n * Note that the store may hold different types of annotations.\n * Ignore any that the popup cannot handle.\n */\nconst isImageAnnotationLike = (annotation?: Annotation) =>\n annotation?.target?.selector && 'geometry' in annotation.target.selector;\n\ninterface OpenSeadragonAnnotationPopupProps {\n\n arrow?: boolean;\n\n arrowProps?: Omit<FloatingArrowProps, 'context' | 'ref'> & { padding?: number };\n\n placement?: Placement;\n\n popup: (props: PopupProps) => ReactNode;\n\n}\n\nexport const OpenSeadragonAnnotationPopup = (props: OpenSeadragonAnnotationPopupProps) => {\n \n const anno = useAnnotator<Annotator<ImageAnnotation>>();\n\n const [isOpen, setIsOpen] = useState(false);\n\n const viewer = useViewer();\n\n const arrowRef = useRef(null);\n\n const { selected, event } = useSelection();\n\n const [annotation, editable]= useMemo(() => {\n const first = selected[0];\n \n if (isImageAnnotationLike(first?.annotation)) {\n return [first.annotation, first.editable];\n } else {\n return [undefined, undefined];\n }\n }, [selected]);\n\n const { refs, floatingStyles, context } = useFloating({\n open: isOpen,\n onOpenChange: setIsOpen,\n placement: props.placement,\n middleware: [\n inline(), \n offset(10),\n flip({ crossAxis: true }),\n shift({ \n crossAxis: true,\n boundary: viewer?.element,\n padding: { right: 5, left: 5, top: 10, bottom: 10 }\n }),\n arrow({\n element: arrowRef,\n padding: props.arrowProps?.padding || 5\n })\n ],\n whileElementsMounted: autoUpdate\n });\n\n useEffect(() => {\n if (selected.length === 0 || !annotation) {\n setIsOpen(false);\n } else { \n const setPosition = () => { \n // This avoids issues when new viewer instances are mounted/unmounted \n // while the popup is open\n if (!viewer.element) return;\n\n const rect = toDOMRect(viewer, annotation.target.selector.geometry);\n \n refs.setReference({\n getBoundingClientRect: () => rect,\n getClientRects: () => toClientRects(rect)\n });\n }\n\n window.addEventListener('scroll', setPosition, true);\n window.addEventListener('resize', setPosition);\n viewer.addHandler('update-viewport', setPosition);\n\n setPosition();\n\n setIsOpen(true);\n\n return () => {\n window.removeEventListener('scroll', setPosition, true);\n window.removeEventListener('resize', setPosition);\n viewer.removeHandler('update-viewport', setPosition);\n };\n }\n }, [props.popup, selected, viewer]);\n\n const onCreateBody = (body: Partial<AnnotationBody>) => {\n const id = body.id || uuidv4();\n \n anno.state.store.addBody({\n ...body,\n id,\n annotation: annotation.id,\n created: body.created || new Date(),\n creator: anno.getUser()\n });\n }\n\n const onDeleteBody = (id: string) => {\n anno.state.store.deleteBody({ id, annotation: annotation.id });\n }\n\n const onUpdateBody = (current: AnnotationBody, next: AnnotationBody) => {\n const id = next.id || uuidv4();\n\n const updated: AnnotationBody = {\n updated: new Date(),\n updatedBy: anno.getUser(),\n ...next,\n id,\n annotation: annotation.id\n }\n\n anno.state.store.updateBody(current, updated);\n }\n\n return (isOpen && annotation) ? createPortal(\n <div\n className=\"a9s-popup a9s-image-popup\"\n ref={refs.setFloating}\n style={floatingStyles}>\n \n {props.arrow && (\n <FloatingArrow \n ref={arrowRef} \n context={context} \n {...(props.arrowProps || {})} />\n )}\n\n {props.popup({ \n annotation, \n editable, \n event,\n onCreateBody,\n onDeleteBody,\n onUpdateBody\n })}\n </div>\n , viewer.element) : null;\n\n}"],"names":["toDOMRect","viewer","geometry","minX","minY","maxX","maxY","top","left","topLeft","OpenSeadragon","bottomRight","isImageAnnotationLike","annotation","_a","OpenSeadragonAnnotationPopup","props","anno","useAnnotator","isOpen","setIsOpen","useState","useViewer","arrowRef","useRef","selected","event","useSelection","editable","useMemo","first","refs","floatingStyles","context","useFloating","inline","offset","flip","shift","arrow","autoUpdate","useEffect","setPosition","rect","toClientRects","onCreateBody","body","id","uuidv4","onDeleteBody","onUpdateBody","current","next","updated","createPortal","jsxs","jsx","FloatingArrow"],"mappings":"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"}
1
+ {"version":3,"file":"annotorious-react.es9.js","sources":["../src/openseadragon/OpenSeadragonAnnotator.tsx"],"sourcesContent":["import { \n createContext, \n forwardRef, \n ReactNode, \n useContext, \n useEffect, \n useImperativeHandle, \n useState \n} from 'react';\nimport OpenSeadragon from 'openseadragon';\nimport { createAnonymousGuest } from '@annotorious/core';\nimport { AnnotoriousOSDOpts, createOSDAnnotator } from '@annotorious/openseadragon';\nimport { Annotation, DrawingStyle, Filter, User} from '@annotorious/annotorious';\nimport { AnnotoriousContext } from '../Annotorious';\nimport { AnnotoriousOpenSeadragonAnnotator } from '.';\n\nexport const OpenSeadragonAnnotatorContext = createContext<{ \n viewer: OpenSeadragon.Viewer,\n setViewer(viewer: OpenSeadragon.Viewer): void\n}>({ viewer: null, setViewer: null });\n\nexport type OpenSeadragonAnnotatorProps<I extends Annotation, E extends unknown> = AnnotoriousOSDOpts<I, E> & {\n\n children?: ReactNode;\n\n filter?: Filter<I>;\n\n hideAnnotations?: boolean;\n\n style?: DrawingStyle | ((annotation: I) => DrawingStyle);\n\n tool?: string | null;\n\n user?: User;\n\n onInitError?(error: Error): void;\n\n}\n\nexport const OpenSeadragonAnnotator = forwardRef(<I extends Annotation, E extends unknown>(\n props: OpenSeadragonAnnotatorProps<I, E>, \n ref: React.ForwardedRef<AnnotoriousOpenSeadragonAnnotator<I, E> | null>\n) => {\n const { children, tool, ...opts } = props;\n\n const [viewer, setViewer] = useState<OpenSeadragon.Viewer>();\n\n const { anno, setAnno } = useContext(AnnotoriousContext);\n\n useImperativeHandle(ref, () => anno as AnnotoriousOpenSeadragonAnnotator<I, E> | null, [anno]);\n\n useEffect(() => {\n if (viewer?.element) {\n try {\n const anno = createOSDAnnotator<I, E>(viewer, opts as AnnotoriousOSDOpts<I, E>);\n setAnno(anno);\n\n return () => {\n anno.destroy();\n setAnno(undefined);\n }\n } catch (error) {\n // Typical scenario: hardware acceleration is disabled \n props.onInitError?.(error);\n }\n }\n }, [viewer]);\n\n useEffect(() => {\n if (anno) anno.setDrawingEnabled(props.drawingEnabled);\n }, [anno, props.drawingEnabled]);\n\n useEffect(() => {\n if (anno) anno.setDrawingMode(props.drawingMode);\n }, [anno, props.drawingMode]);\n\n useEffect(() => {\n if (anno) anno.setFilter(props.filter);\n }, [anno, props.filter]);\n\n useEffect(() => {\n if (anno) anno.setVisible(!props.hideAnnotations);\n }, [anno, props.hideAnnotations]);\n\n useEffect(() => {\n if (anno) anno.setStyle(props.style);\n }, [anno, props.style]);\n\n useEffect(() => {\n if (anno) anno.setDrawingTool(tool || 'rectangle');\n }, [anno, tool]);\n\n useEffect(() => {\n if (anno) anno.setModalSelect(props.modalSelect);\n }, [anno, props.modalSelect]);\n\n useEffect(() => {\n if (!anno) return;\n \n if (props.user)\n anno.setUser(props.user);\n else \n anno.setUser(createAnonymousGuest());\n }, [anno, props.user]);\n\n useEffect(() => {\n if (anno) anno.setUserSelectAction(props.userSelectAction);\n }, [anno, props.userSelectAction]);\n\n return (\n <OpenSeadragonAnnotatorContext.Provider value={{ viewer, setViewer }}>\n {props.children}\n </OpenSeadragonAnnotatorContext.Provider>\n )\n\n}) as <I extends Annotation, E extends unknown> (\n props: OpenSeadragonAnnotatorProps<I, E> & { ref?: React.ForwardedRef<AnnotoriousOpenSeadragonAnnotator<I, E> | null> }\n) => React.ReactElement;\n\nexport const useViewer = () => {\n const { viewer } = useContext(OpenSeadragonAnnotatorContext);\n return viewer;\n}"],"names":["OpenSeadragonAnnotatorContext","createContext","OpenSeadragonAnnotator","forwardRef","props","ref","children","tool","opts","viewer","setViewer","useState","anno","setAnno","useContext","AnnotoriousContext","useImperativeHandle","useEffect","createOSDAnnotator","error","_a","createAnonymousGuest","jsx","useViewer"],"mappings":";;;;;AAgBO,MAAMA,IAAgCC,EAG1C,EAAE,QAAQ,MAAM,WAAW,MAAM,GAoBvBC,IAAyBC,EAAW,CAC/CC,GACAC,MACG;AACH,QAAM,EAAE,UAAAC,GAAU,MAAAC,GAAM,GAAGC,MAASJ,GAE9B,CAACK,GAAQC,CAAS,IAAIC,EAAA,GAEtB,EAAE,MAAAC,GAAM,SAAAC,MAAYC,EAAWC,CAAkB;AAEvD,SAAAC,EAAoBX,GAAK,MAAMO,GAAwD,CAACA,CAAI,CAAC,GAE7FK,EAAU,MAAM;;AACd,QAAIR,KAAA,QAAAA,EAAQ;AACV,UAAI;AACF,cAAMG,IAAOM,EAAyBT,GAAQD,CAAgC;AAC9E,eAAAK,EAAQD,CAAI,GAEL,MAAM;AACXA,UAAAA,EAAK,QAAA,GACLC,EAAQ,MAAS;AAAA,QACnB;AAAA,MACF,SAASM,GAAO;AAEd,SAAAC,IAAAhB,EAAM,gBAAN,QAAAgB,EAAA,KAAAhB,GAAoBe;AAAA,MACtB;AAAA,EAEJ,GAAG,CAACV,CAAM,CAAC,GAEXQ,EAAU,MAAM;AACd,IAAIL,KAAMA,EAAK,kBAAkBR,EAAM,cAAc;AAAA,EACvD,GAAG,CAACQ,GAAMR,EAAM,cAAc,CAAC,GAE/Ba,EAAU,MAAM;AACd,IAAIL,KAAMA,EAAK,eAAeR,EAAM,WAAW;AAAA,EACjD,GAAG,CAACQ,GAAMR,EAAM,WAAW,CAAC,GAE5Ba,EAAU,MAAM;AACd,IAAIL,KAAMA,EAAK,UAAUR,EAAM,MAAM;AAAA,EACvC,GAAG,CAACQ,GAAMR,EAAM,MAAM,CAAC,GAEvBa,EAAU,MAAM;AACd,IAAIL,KAAMA,EAAK,WAAW,CAACR,EAAM,eAAe;AAAA,EAClD,GAAG,CAACQ,GAAMR,EAAM,eAAe,CAAC,GAEhCa,EAAU,MAAM;AACd,IAAIL,KAAMA,EAAK,SAASR,EAAM,KAAK;AAAA,EACrC,GAAG,CAACQ,GAAMR,EAAM,KAAK,CAAC,GAEtBa,EAAU,MAAM;AACd,IAAIL,KAAMA,EAAK,eAAeL,KAAQ,WAAW;AAAA,EACnD,GAAG,CAACK,GAAML,CAAI,CAAC,GAEfU,EAAU,MAAM;AACd,IAAIL,KAAMA,EAAK,eAAeR,EAAM,WAAW;AAAA,EACjD,GAAG,CAACQ,GAAMR,EAAM,WAAW,CAAC,GAE5Ba,EAAU,MAAM;AACd,IAAKL,MAEDR,EAAM,OACRQ,EAAK,QAAQR,EAAM,IAAI,IAEvBQ,EAAK,QAAQS,GAAsB;AAAA,EACvC,GAAG,CAACT,GAAMR,EAAM,IAAI,CAAC,GAErBa,EAAU,MAAM;AACd,IAAIL,KAAMA,EAAK,oBAAoBR,EAAM,gBAAgB;AAAA,EAC3D,GAAG,CAACQ,GAAMR,EAAM,gBAAgB,CAAC,GAG/B,gBAAAkB,EAACtB,EAA8B,UAA9B,EAAuC,OAAO,EAAE,QAAAS,GAAQ,WAAAC,KACtD,UAAAN,EAAM,SAAA,CACT;AAGJ,CAAC,GAIYmB,IAAY,MAAM;AAC7B,QAAM,EAAE,QAAAd,EAAA,IAAWK,EAAWd,CAA6B;AAC3D,SAAOS;AACT;"}
@@ -1 +1 @@
1
- {"version":3,"file":"OpenSeadragonAnnotator.d.ts","sourceRoot":"","sources":["../../src/openseadragon/OpenSeadragonAnnotator.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,SAAS,EAKV,MAAM,OAAO,CAAC;AACf,OAAO,aAAa,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAE,kBAAkB,EAAsB,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC,MAAM,0BAA0B,CAAC;AAEjF,OAAO,EAAE,iCAAiC,EAAE,MAAM,GAAG,CAAC;AAEtD,eAAO,MAAM,6BAA6B;YAChC,aAAa,CAAC,MAAM;sBACV,aAAa,CAAC,MAAM,GAAG,IAAI;EACV,CAAC;AAEtC,MAAM,MAAM,2BAA2B,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,OAAO,IAAI,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;IAE5G,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAEnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,KAAK,CAAC,EAAE,YAAY,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,KAAK,YAAY,CAAC,CAAC;IAEzD,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAErB,IAAI,CAAC,EAAE,IAAI,CAAC;IAEZ,WAAW,CAAC,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CAElC,CAAA;AAED,eAAO,MAAM,sBAAsB,EAwE7B,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,OAAO,EAC5C,KAAK,EAAE,2BAA2B,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,iCAAiC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;CAAE,KACpH,KAAK,CAAC,YAAY,CAAC;AAExB,eAAO,MAAM,SAAS,4BAGrB,CAAA"}
1
+ {"version":3,"file":"OpenSeadragonAnnotator.d.ts","sourceRoot":"","sources":["../../src/openseadragon/OpenSeadragonAnnotator.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,SAAS,EAKV,MAAM,OAAO,CAAC;AACf,OAAO,aAAa,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAE,kBAAkB,EAAsB,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAC,MAAM,0BAA0B,CAAC;AAEjF,OAAO,EAAE,iCAAiC,EAAE,MAAM,GAAG,CAAC;AAEtD,eAAO,MAAM,6BAA6B;YAChC,aAAa,CAAC,MAAM;sBACV,aAAa,CAAC,MAAM,GAAG,IAAI;EACV,CAAC;AAEtC,MAAM,MAAM,2BAA2B,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,OAAO,IAAI,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;IAE5G,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAEnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,KAAK,CAAC,EAAE,YAAY,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,KAAK,YAAY,CAAC,CAAC;IAEzD,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAErB,IAAI,CAAC,EAAE,IAAI,CAAC;IAEZ,WAAW,CAAC,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CAElC,CAAA;AAED,eAAO,MAAM,sBAAsB,EA4E7B,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,OAAO,EAC5C,KAAK,EAAE,2BAA2B,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,iCAAiC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;CAAE,KACpH,KAAK,CAAC,YAAY,CAAC;AAExB,eAAO,MAAM,SAAS,4BAGrB,CAAA"}
package/package.json CHANGED
@@ -1,11 +1,20 @@
1
1
  {
2
2
  "name": "@annotorious/react",
3
- "version": "3.7.18",
3
+ "version": "3.7.20",
4
4
  "description": "Annotorious React bindings",
5
5
  "author": "Rainer Simon",
6
6
  "license": "BSD-3-Clause",
7
7
  "homepage": "https://annotorious.dev",
8
- "funding": "https://steadyhq.com/rainer-simon",
8
+ "keywords": [
9
+ "annotation",
10
+ "image annotation",
11
+ "react image annotation",
12
+ "iiif",
13
+ "openseadragon",
14
+ "iiif annotation",
15
+ "openseadragon annotation",
16
+ "data annotation"
17
+ ],
9
18
  "type": "module",
10
19
  "scripts": {
11
20
  "start": "vite",
@@ -26,7 +35,7 @@
26
35
  "./annotorious-react.css": "./dist/annotorious-react.css"
27
36
  },
28
37
  "devDependencies": {
29
- "@types/react": "^19.2.6",
38
+ "@types/react": "^19.2.14",
30
39
  "@types/react-dom": "^19.2.3",
31
40
  "@vitejs/plugin-react": "^4.7.0",
32
41
  "typescript": "^5.9.3",
@@ -45,10 +54,10 @@
45
54
  }
46
55
  },
47
56
  "dependencies": {
48
- "@annotorious/annotorious": "3.7.18",
49
- "@annotorious/core": "3.7.18",
50
- "@annotorious/openseadragon": "3.7.18",
51
- "@floating-ui/react": "^0.27.16",
57
+ "@annotorious/annotorious": "3.7.20",
58
+ "@annotorious/core": "3.7.20",
59
+ "@annotorious/openseadragon": "3.7.20",
60
+ "@floating-ui/react": "^0.27.17",
52
61
  "dequal": "^2.0.3"
53
62
  },
54
63
  "sideEffects": false