From 26ac2575cb36f38150260ea6b3c7433c1d144733 Mon Sep 17 00:00:00 2001 From: Oleksandr Danylchenko Date: Thu, 29 Feb 2024 19:21:06 +0200 Subject: [PATCH 01/22] Revert "Removed `styleClass` prop from the Core model" This reverts commit abdc29c470821751c044da361e602c6c23b5a714. --- packages/text-annotator/src/model/core/TextAnnotation.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/text-annotator/src/model/core/TextAnnotation.ts b/packages/text-annotator/src/model/core/TextAnnotation.ts index 1bce53f0..b49cda76 100644 --- a/packages/text-annotator/src/model/core/TextAnnotation.ts +++ b/packages/text-annotator/src/model/core/TextAnnotation.ts @@ -10,6 +10,8 @@ export interface TextAnnotationTarget extends AnnotationTarget { selector: TextSelector[]; + styleClass?: string; + } export interface TextSelector { From 666e392919c85a3ccc57b9c56dc382c19d406c3e Mon Sep 17 00:00:00 2001 From: Oleksandr Danylchenko Date: Thu, 29 Feb 2024 19:25:24 +0200 Subject: [PATCH 02/22] Added parsing of the `styleClass` --- packages/text-annotator-react/vite.config.js | 2 +- .../src/highlight/canvas/highlightRenderer.ts | 2 +- .../text-annotator/src/model/w3c/W3CTextFormatAdapter.ts | 6 +++++- packages/text-annotator/vite.config.js | 2 +- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/packages/text-annotator-react/vite.config.js b/packages/text-annotator-react/vite.config.js index ef81e64b..9522ccc0 100644 --- a/packages/text-annotator-react/vite.config.js +++ b/packages/text-annotator-react/vite.config.js @@ -41,4 +41,4 @@ export default defineConfig(({ command, mode }) => ({ }, sourcemap: true } -})); \ No newline at end of file +})); diff --git a/packages/text-annotator/src/highlight/canvas/highlightRenderer.ts b/packages/text-annotator/src/highlight/canvas/highlightRenderer.ts index a00ab644..e3d8f1f3 100644 --- a/packages/text-annotator/src/highlight/canvas/highlightRenderer.ts +++ b/packages/text-annotator/src/highlight/canvas/highlightRenderer.ts @@ -70,7 +70,7 @@ export const createCanvasHighlightRenderer = ( container.addEventListener('pointermove', onPointerMove); const refresh = () => requestAnimationFrame(() => { - const bounds = getViewportBounds(container); + const bounds = getViewportBounds(container); const { top, left, minX, minY, maxX, maxY } = bounds; diff --git a/packages/text-annotator/src/model/w3c/W3CTextFormatAdapter.ts b/packages/text-annotator/src/model/w3c/W3CTextFormatAdapter.ts index cbf739f1..9582978a 100644 --- a/packages/text-annotator/src/model/w3c/W3CTextFormatAdapter.ts +++ b/packages/text-annotator/src/model/w3c/W3CTextFormatAdapter.ts @@ -38,13 +38,17 @@ const parseW3CTextTargets = (annotation: W3CTextAnnotation) => { } = annotation; const w3cTargets = Array.isArray(target) ? target : [target]; + if (w3cTargets.length === 0) { + return { error: Error(`No targets found for annotation: ${annotation.id}`) }; + } const parsed: TextAnnotationTarget = { creator: parseW3CUser(creator), created: created ? new Date(created) : undefined, updated: modified ? new Date(modified) : undefined, annotation: annotationId, - selector: [] + selector: [], + styleClass: w3cTargets[0].styleClass }; for (const w3cTarget of w3cTargets) { diff --git a/packages/text-annotator/vite.config.js b/packages/text-annotator/vite.config.js index c302dd58..43712e77 100644 --- a/packages/text-annotator/vite.config.js +++ b/packages/text-annotator/vite.config.js @@ -25,4 +25,4 @@ export default defineConfig({ } } } -}); \ No newline at end of file +}); From c899610e890fce3645078649f324fda3c94dba0f Mon Sep 17 00:00:00 2001 From: Oleksandr Danylchenko Date: Mon, 4 Nov 2024 13:47:22 +0200 Subject: [PATCH 03/22] Dropped `styleClass` from the core type --- packages/text-annotator/src/model/core/TextAnnotation.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/text-annotator/src/model/core/TextAnnotation.ts b/packages/text-annotator/src/model/core/TextAnnotation.ts index 4d94c587..4dacf9bf 100644 --- a/packages/text-annotator/src/model/core/TextAnnotation.ts +++ b/packages/text-annotator/src/model/core/TextAnnotation.ts @@ -10,8 +10,6 @@ export interface TextAnnotationTarget extends AnnotationTarget { selector: TextSelector[]; - styleClass?: string; - } export interface TextSelector { From 2110c588e06941a90bc713c5227d5cf5dfda26f8 Mon Sep 17 00:00:00 2001 From: Oleksandr Danylchenko Date: Mon, 4 Nov 2024 13:47:38 +0200 Subject: [PATCH 04/22] Added `styleClass` processing with `expect-error` --- .../src/model/w3c/W3CTextFormatAdapter.ts | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/packages/text-annotator/src/model/w3c/W3CTextFormatAdapter.ts b/packages/text-annotator/src/model/w3c/W3CTextFormatAdapter.ts index 06313c56..2dbe138f 100644 --- a/packages/text-annotator/src/model/w3c/W3CTextFormatAdapter.ts +++ b/packages/text-annotator/src/model/w3c/W3CTextFormatAdapter.ts @@ -48,7 +48,8 @@ const parseW3CTextTargets = (annotation: W3CTextAnnotation) => { updated: modified ? new Date(modified) : undefined, annotation: annotationId, selector: [], - styleClass: w3cTargets[0].styleClass + // @ts-expect-error: `styleClass` is not part of the core `TextAnnotationTarget` type + styleClass: 'styleClass' in w3cTargets[0] ? w3cTargets[0].styleClass : undefined }; for (const w3cTarget of w3cTargets) { @@ -68,12 +69,14 @@ const parseW3CTextTargets = (annotation: W3CTextAnnotation) => { }, {}); if (isTextSelector(selector)) { - parsed.selector.push({ - ...selector, - id: w3cTarget.id, - // @ts-ignore - scope: w3cTarget.scope - }); + parsed.selector.push( + { + ...selector, + id: w3cTarget.id, + // @ts-expect-error: `scope` is not part of the core `TextSelector` type + scope: w3cTarget.scope + } + ); } else { const missingTypes = [ !selector.start ? 'TextPositionSelector' : undefined, @@ -131,7 +134,7 @@ export const serializeW3CTextAnnotation = ( ...targetRest } = target; - const w3cTargets = selector.map((s) => { + const w3cTargets = selector.map((s): W3CTextAnnotationTarget => { const { id, quote, start, end, range } = s; const { prefix, suffix } = getQuoteContext(range, container); @@ -150,10 +153,11 @@ export const serializeW3CTextAnnotation = ( return { ...targetRest, id, + // @ts-expect-error: `scope` is not part of the core `TextAnnotationTarget` type scope: 'scope' in s ? s.scope : undefined, source, selector: w3cSelectors - } as W3CTextAnnotationTarget; + }; }); From 4cd6b7ccabd25263e913bb18486d7cd0a111abac Mon Sep 17 00:00:00 2001 From: Oleksandr Danylchenko Date: Mon, 4 Nov 2024 15:00:51 +0200 Subject: [PATCH 05/22] Fixed reference typo --- packages/text-annotator/src/model/w3c/W3CTextFormatAdapter.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/text-annotator/src/model/w3c/W3CTextFormatAdapter.ts b/packages/text-annotator/src/model/w3c/W3CTextFormatAdapter.ts index 2dbe138f..d0ca1f9f 100644 --- a/packages/text-annotator/src/model/w3c/W3CTextFormatAdapter.ts +++ b/packages/text-annotator/src/model/w3c/W3CTextFormatAdapter.ts @@ -153,7 +153,7 @@ export const serializeW3CTextAnnotation = ( return { ...targetRest, id, - // @ts-expect-error: `scope` is not part of the core `TextAnnotationTarget` type + // @ts-expect-error: `scope` is not part of the core `TextSelector` type scope: 'scope' in s ? s.scope : undefined, source, selector: w3cSelectors From e12fa5bdff76d4ecccdfcfba37b3d7ac21e113ae Mon Sep 17 00:00:00 2001 From: Rainer Simon Date: Tue, 5 Nov 2024 08:56:19 +0100 Subject: [PATCH 06/22] Removed 'could not revive' warning, since its sometimes expected behavior --- .../src/state/TextAnnotatorState.ts | 20 ++++--------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/packages/text-annotator/src/state/TextAnnotatorState.ts b/packages/text-annotator/src/state/TextAnnotatorState.ts index 710f22ff..7942f202 100644 --- a/packages/text-annotator/src/state/TextAnnotatorState.ts +++ b/packages/text-annotator/src/state/TextAnnotatorState.ts @@ -65,19 +65,9 @@ export const createTextAnnotatorState = !isRevived(a.target.selector)); - if (couldNotRevive.length > 0) { - console.warn('Could not revive all targets for these annotations:', couldNotRevive); - - // Note: we want to keep ALL annotations in the store, even those that - // were not revived - even if the highlighter won't be able to render - // the un-revived ones to the screen. - store.bulkAddAnnotation(revived, replace, origin); - - return couldNotRevive; - } else { - store.bulkAddAnnotation(revived, replace, origin); - return []; - } + store.bulkAddAnnotation(revived, replace, origin); + + return couldNotRevive; } const bulkUpsertAnnotations = ( @@ -88,9 +78,7 @@ export const createTextAnnotatorState = !isRevived(a.target.selector)); - if (couldNotRevive.length > 0) - console.warn('Could not revive all targets for these annotations:', couldNotRevive); - + revived.forEach(a => { if (store.getAnnotation(a.id)) store.updateAnnotation(a, origin); From e80d72dad2d3e21df2158143e3f4198a06f93457 Mon Sep 17 00:00:00 2001 From: Oleksandr Danylchenko Date: Wed, 6 Nov 2024 18:52:16 +0200 Subject: [PATCH 07/22] Comments formatting --- packages/text-annotator/src/SelectionHandler.ts | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/packages/text-annotator/src/SelectionHandler.ts b/packages/text-annotator/src/SelectionHandler.ts index 84d45071..84d1efbd 100644 --- a/packages/text-annotator/src/SelectionHandler.ts +++ b/packages/text-annotator/src/SelectionHandler.ts @@ -73,9 +73,12 @@ export const SelectionHandler = ( const onSelectionChange = debounce((evt: Event) => { const sel = document.getSelection(); - // This is to handle cases where the selection is "hijacked" by another element - // in a not-annotatable area. A rare case in theory. But rich text editors - // will like Quill do it... + /** + * This is to handle cases where the selection is "hijacked" + * by another element in a not-annotatable area. + * A rare case in theory. + * But rich text editors will like Quill do it. + */ if (isNotAnnotatable(sel.anchorNode)) { currentTarget = undefined; return; @@ -130,7 +133,6 @@ export const SelectionHandler = ( const hasChanged = annotatableRanges.length !== currentTarget.selector.length || annotatableRanges.some((r, i) => r.toString() !== currentTarget.selector[i]?.quote); - if (!hasChanged) return; currentTarget = { @@ -140,8 +142,8 @@ export const SelectionHandler = ( }; /** - * During mouse selection on the desktop, annotation won't usually exist while the selection is being edited. - * But it will be typical during keyboard or mobile handlebars selection! + * During mouse selection on the desktop, the annotation won't usually exist while the selection is being edited. + * But it'll be typical during selection via the keyboard or mobile's handlebars. */ if (store.getAnnotation(currentTarget.annotation)) { store.updateTarget(currentTarget, Origin.LOCAL); @@ -152,7 +154,7 @@ export const SelectionHandler = ( }); /** - * Select events don't carry information about the mouse button + * Select events don't carry information about the mouse button. * Therefore, to prevent right-click selection, we need to listen * to the initial pointerdown event and remember the button */ From 7eb3603c8c2fc9f0823623e0b14c35ad2820576e Mon Sep 17 00:00:00 2001 From: Oleksandr Danylchenko Date: Wed, 6 Nov 2024 18:54:17 +0200 Subject: [PATCH 08/22] Added update target call only when it's newer --- .../text-annotator/src/SelectionHandler.ts | 37 ++++++++++++------- 1 file changed, 23 insertions(+), 14 deletions(-) diff --git a/packages/text-annotator/src/SelectionHandler.ts b/packages/text-annotator/src/SelectionHandler.ts index 84d1efbd..ce31b82b 100644 --- a/packages/text-annotator/src/SelectionHandler.ts +++ b/packages/text-annotator/src/SelectionHandler.ts @@ -169,20 +169,6 @@ export const SelectionHandler = ( isLeftClick = lastDownEvent.button === 0; }; - // Helper - const upsertCurrentTarget = () => { - const exists = store.getAnnotation(currentTarget.annotation); - if (exists) { - store.updateTarget(currentTarget); - } else { - store.addAnnotation({ - id: currentTarget.annotation, - bodies: [], - target: currentTarget - }); - } - } - const onPointerUp = (evt: PointerEvent) => { if (isNotAnnotatable(evt.target as Node) || !isLeftClick) return; @@ -319,6 +305,29 @@ export const SelectionHandler = ( hotkeys(ARROW_KEYS.join(','), { keydown: true, keyup: false }, handleArrowKeyPress); + // Helper + const upsertCurrentTarget = () => { + const existingAnnotation = store.getAnnotation(currentTarget.annotation); + if (!existingAnnotation) { + store.addAnnotation({ + id: currentTarget.annotation, + bodies: [], + target: currentTarget + }); + return; + } + + const { target: { updated: existingTargetUpdated } } = existingAnnotation; + const { updated: currentTargetUpdated } = currentTarget; + if ( + !existingAnnotation || + !currentTargetUpdated || + existingTargetUpdated < currentTargetUpdated + ) { + store.updateTarget(currentTarget); + } + }; + container.addEventListener('pointerdown', onPointerDown); document.addEventListener('pointerup', onPointerUp); document.addEventListener('contextmenu', onContextMenu); From 7a97e64f52d2ae115cfc7548de0d94b56cb516ac Mon Sep 17 00:00:00 2001 From: Oleksandr Danylchenko Date: Wed, 6 Nov 2024 19:26:15 +0200 Subject: [PATCH 09/22] Populated floating props with prevention --- .../TextAnnotatorPopup/TextAnnotatorPopup.tsx | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/packages/text-annotator-react/src/TextAnnotatorPopup/TextAnnotatorPopup.tsx b/packages/text-annotator-react/src/TextAnnotatorPopup/TextAnnotatorPopup.tsx index 6d1d0aac..608308c8 100644 --- a/packages/text-annotator-react/src/TextAnnotatorPopup/TextAnnotatorPopup.tsx +++ b/packages/text-annotator-react/src/TextAnnotatorPopup/TextAnnotatorPopup.tsx @@ -106,12 +106,6 @@ export const TextAnnotatorPopup = (props: TextAnnotationPopupProps) => { }; }, [update]); - // Prevent text-annotator from handling the irrelevant events triggered from the popup - const getStopEventsPropagationProps = useCallback( - () => ({ onPointerUp: (event: PointerEvent) => event.stopPropagation() }), - [] - ); - // Don't shift focus to the floating element if selected via keyboard or on mobile. const initialFocus = useMemo(() => { return (event?.type === 'keyup' || event?.type === 'contextmenu' || isMobile()) ? -1 : 0; @@ -131,8 +125,7 @@ export const TextAnnotatorPopup = (props: TextAnnotationPopupProps) => { className="a9s-popup r6o-popup annotation-popup r6o-text-popup not-annotatable" ref={refs.setFloating} style={floatingStyles} - {...getFloatingProps()} - {...getStopEventsPropagationProps()}> + {...getFloatingProps(getStopEventsPropagationProps())}> {props.popup({ annotation: selected[0].annotation, editable: selected[0].editable, @@ -148,3 +141,14 @@ export const TextAnnotatorPopup = (props: TextAnnotationPopupProps) => { ) : null; } + +/** + * Prevent text-annotator from handling the irrelevant events + * triggered from the popup/toolbar/dialog + */ +const getStopEventsPropagationProps = () => ({ + onPointerUp: (event: PointerEvent) => event.stopPropagation(), + onPointerDown: (event: PointerEvent) => event.stopPropagation(), + onMouseDown: (event: MouseEvent) => event.stopPropagation(), + onMouseUp: (event: MouseEvent) => event.stopPropagation() +}); From a53adb00e446b97e9c61a87654dae14aaee98ff5 Mon Sep 17 00:00:00 2001 From: Oleksandr Danylchenko Date: Wed, 6 Nov 2024 19:33:07 +0200 Subject: [PATCH 10/22] Added not annotatable class usage --- .../src/TextAnnotatorPopup/TextAnnotatorPopup.tsx | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/text-annotator-react/src/TextAnnotatorPopup/TextAnnotatorPopup.tsx b/packages/text-annotator-react/src/TextAnnotatorPopup/TextAnnotatorPopup.tsx index 608308c8..edfd96e5 100644 --- a/packages/text-annotator-react/src/TextAnnotatorPopup/TextAnnotatorPopup.tsx +++ b/packages/text-annotator-react/src/TextAnnotatorPopup/TextAnnotatorPopup.tsx @@ -1,7 +1,8 @@ -import { PointerEvent, ReactNode, useCallback, useEffect, useMemo, useState } from 'react'; +import { PointerEvent, ReactNode, useEffect, useMemo, useState } from 'react'; + import { useAnnotator, useSelection } from '@annotorious/react'; -import { isRevived, TextAnnotation, TextAnnotator } from '@recogito/text-annotator'; -import { isMobile } from './isMobile'; +import { isRevived, NOT_ANNOTATABLE_CLASS, TextAnnotation, TextAnnotator } from '@recogito/text-annotator'; + import { autoUpdate, flip, @@ -16,6 +17,8 @@ import { useRole } from '@floating-ui/react'; +import { isMobile } from './isMobile'; + import './TextAnnotatorPopup.css'; interface TextAnnotationPopupProps { @@ -122,7 +125,7 @@ export const TextAnnotatorPopup = (props: TextAnnotationPopupProps) => { returnFocus={false} initialFocus={initialFocus}>
From d05d7231661077392218bf9185e5ad4b7b889782 Mon Sep 17 00:00:00 2001 From: Rainer Simon Date: Fri, 8 Nov 2024 07:36:54 +0100 Subject: [PATCH 11/22] Dependency updates --- package-lock.json | 212 ++++++++++----------- packages/text-annotator-react/package.json | 2 +- 2 files changed, 107 insertions(+), 107 deletions(-) diff --git a/package-lock.json b/package-lock.json index e1b076e8..7ab080c7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1432,9 +1432,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.24.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.24.3.tgz", - "integrity": "sha512-ufb2CH2KfBWPJok95frEZZ82LtDl0A6QKTa8MoM+cWwDZvVGl5/jNb79pIhRvAalUu+7LD91VYR0nwRD799HkQ==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.24.4.tgz", + "integrity": "sha512-jfUJrFct/hTA0XDM5p/htWKoNNTbDLY0KRwEt6pyOA6k2fmk0WVwl65PdUdJZgzGEHWx+49LilkcSaumQRyNQw==", "cpu": [ "arm" ], @@ -1446,9 +1446,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.24.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.24.3.tgz", - "integrity": "sha512-iAHpft/eQk9vkWIV5t22V77d90CRofgR2006UiCjHcHJFVI1E0oBkQIAbz+pLtthFw3hWEmVB4ilxGyBf48i2Q==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.24.4.tgz", + "integrity": "sha512-j4nrEO6nHU1nZUuCfRKoCcvh7PIywQPUCBa2UsootTHvTHIoIu2BzueInGJhhvQO/2FTRdNYpf63xsgEqH9IhA==", "cpu": [ "arm64" ], @@ -1460,9 +1460,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.24.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.24.3.tgz", - "integrity": "sha512-QPW2YmkWLlvqmOa2OwrfqLJqkHm7kJCIMq9kOz40Zo9Ipi40kf9ONG5Sz76zszrmIZZ4hgRIkez69YnTHgEz1w==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.24.4.tgz", + "integrity": "sha512-GmU/QgGtBTeraKyldC7cDVVvAJEOr3dFLKneez/n7BvX57UdhOqDsVwzU7UOnYA7AAOt+Xb26lk79PldDHgMIQ==", "cpu": [ "arm64" ], @@ -1474,9 +1474,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.24.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.24.3.tgz", - "integrity": "sha512-KO0pN5x3+uZm1ZXeIfDqwcvnQ9UEGN8JX5ufhmgH5Lz4ujjZMAnxQygZAVGemFWn+ZZC0FQopruV4lqmGMshow==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.24.4.tgz", + "integrity": "sha512-N6oDBiZCBKlwYcsEPXGDE4g9RoxZLK6vT98M8111cW7VsVJFpNEqvJeIPfsCzbf0XEakPslh72X0gnlMi4Ddgg==", "cpu": [ "x64" ], @@ -1488,9 +1488,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.24.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.24.3.tgz", - "integrity": "sha512-CsC+ZdIiZCZbBI+aRlWpYJMSWvVssPuWqrDy/zi9YfnatKKSLFCe6fjna1grHuo/nVaHG+kiglpRhyBQYRTK4A==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.24.4.tgz", + "integrity": "sha512-py5oNShCCjCyjWXCZNrRGRpjWsF0ic8f4ieBNra5buQz0O/U6mMXCpC1LvrHuhJsNPgRt36tSYMidGzZiJF6mw==", "cpu": [ "arm64" ], @@ -1502,9 +1502,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.24.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.24.3.tgz", - "integrity": "sha512-F0nqiLThcfKvRQhZEzMIXOQG4EeX61im61VYL1jo4eBxv4aZRmpin6crnBJQ/nWnCsjH5F6J3W6Stdm0mBNqBg==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.24.4.tgz", + "integrity": "sha512-L7VVVW9FCnTTp4i7KrmHeDsDvjB4++KOBENYtNYAiYl96jeBThFfhP6HVxL74v4SiZEVDH/1ILscR5U9S4ms4g==", "cpu": [ "x64" ], @@ -1516,9 +1516,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.24.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.24.3.tgz", - "integrity": "sha512-KRSFHyE/RdxQ1CSeOIBVIAxStFC/hnBgVcaiCkQaVC+EYDtTe4X7z5tBkFyRoBgUGtB6Xg6t9t2kulnX6wJc6A==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.24.4.tgz", + "integrity": "sha512-10ICosOwYChROdQoQo589N5idQIisxjaFE/PAnX2i0Zr84mY0k9zul1ArH0rnJ/fpgiqfu13TFZR5A5YJLOYZA==", "cpu": [ "arm" ], @@ -1530,9 +1530,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.24.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.24.3.tgz", - "integrity": "sha512-h6Q8MT+e05zP5BxEKz0vi0DhthLdrNEnspdLzkoFqGwnmOzakEHSlXfVyA4HJ322QtFy7biUAVFPvIDEDQa6rw==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.24.4.tgz", + "integrity": "sha512-ySAfWs69LYC7QhRDZNKqNhz2UKN8LDfbKSMAEtoEI0jitwfAG2iZwVqGACJT+kfYvvz3/JgsLlcBP+WWoKCLcw==", "cpu": [ "arm" ], @@ -1544,9 +1544,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.24.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.24.3.tgz", - "integrity": "sha512-fKElSyXhXIJ9pqiYRqisfirIo2Z5pTTve5K438URf08fsypXrEkVmShkSfM8GJ1aUyvjakT+fn2W7Czlpd/0FQ==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.24.4.tgz", + "integrity": "sha512-uHYJ0HNOI6pGEeZ/5mgm5arNVTI0nLlmrbdph+pGXpC9tFHFDQmDMOEqkmUObRfosJqpU8RliYoGz06qSdtcjg==", "cpu": [ "arm64" ], @@ -1558,9 +1558,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.24.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.24.3.tgz", - "integrity": "sha512-YlddZSUk8G0px9/+V9PVilVDC6ydMz7WquxozToozSnfFK6wa6ne1ATUjUvjin09jp34p84milxlY5ikueoenw==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.24.4.tgz", + "integrity": "sha512-38yiWLemQf7aLHDgTg85fh3hW9stJ0Muk7+s6tIkSUOMmi4Xbv5pH/5Bofnsb6spIwD5FJiR+jg71f0CH5OzoA==", "cpu": [ "arm64" ], @@ -1572,9 +1572,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.24.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.24.3.tgz", - "integrity": "sha512-yNaWw+GAO8JjVx3s3cMeG5Esz1cKVzz8PkTJSfYzE5u7A+NvGmbVFEHP+BikTIyYWuz0+DX9kaA3pH9Sqxp69g==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.24.4.tgz", + "integrity": "sha512-q73XUPnkwt9ZNF2xRS4fvneSuaHw2BXuV5rI4cw0fWYVIWIBeDZX7c7FWhFQPNTnE24172K30I+dViWRVD9TwA==", "cpu": [ "ppc64" ], @@ -1586,9 +1586,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.24.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.24.3.tgz", - "integrity": "sha512-lWKNQfsbpv14ZCtM/HkjCTm4oWTKTfxPmr7iPfp3AHSqyoTz5AgLemYkWLwOBWc+XxBbrU9SCokZP0WlBZM9lA==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.24.4.tgz", + "integrity": "sha512-Aie/TbmQi6UXokJqDZdmTJuZBCU3QBDA8oTKRGtd4ABi/nHgXICulfg1KI6n9/koDsiDbvHAiQO3YAUNa/7BCw==", "cpu": [ "riscv64" ], @@ -1600,9 +1600,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.24.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.24.3.tgz", - "integrity": "sha512-HoojGXTC2CgCcq0Woc/dn12wQUlkNyfH0I1ABK4Ni9YXyFQa86Fkt2Q0nqgLfbhkyfQ6003i3qQk9pLh/SpAYw==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.24.4.tgz", + "integrity": "sha512-P8MPErVO/y8ohWSP9JY7lLQ8+YMHfTI4bAdtCi3pC2hTeqFJco2jYspzOzTUB8hwUWIIu1xwOrJE11nP+0JFAQ==", "cpu": [ "s390x" ], @@ -1614,9 +1614,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.24.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.24.3.tgz", - "integrity": "sha512-mnEOh4iE4USSccBOtcrjF5nj+5/zm6NcNhbSEfR3Ot0pxBwvEn5QVUXcuOwwPkapDtGZ6pT02xLoPaNv06w7KQ==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.24.4.tgz", + "integrity": "sha512-K03TljaaoPK5FOyNMZAAEmhlyO49LaE4qCsr0lYHUKyb6QacTNF9pnfPpXnFlFD3TXuFbFbz7tJ51FujUXkXYA==", "cpu": [ "x64" ], @@ -1628,9 +1628,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.24.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.24.3.tgz", - "integrity": "sha512-rMTzawBPimBQkG9NKpNHvquIUTQPzrnPxPbCY1Xt+mFkW7pshvyIS5kYgcf74goxXOQk0CP3EoOC1zcEezKXhw==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.24.4.tgz", + "integrity": "sha512-VJYl4xSl/wqG2D5xTYncVWW+26ICV4wubwN9Gs5NrqhJtayikwCXzPL8GDsLnaLU3WwhQ8W02IinYSFJfyo34Q==", "cpu": [ "x64" ], @@ -1642,9 +1642,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.24.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.24.3.tgz", - "integrity": "sha512-2lg1CE305xNvnH3SyiKwPVsTVLCg4TmNCF1z7PSHX2uZY2VbUpdkgAllVoISD7JO7zu+YynpWNSKAtOrX3AiuA==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.24.4.tgz", + "integrity": "sha512-ku2GvtPwQfCqoPFIJCqZ8o7bJcj+Y54cZSr43hHca6jLwAiCbZdBUOrqE6y29QFajNAzzpIOwsckaTFmN6/8TA==", "cpu": [ "arm64" ], @@ -1656,9 +1656,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.24.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.24.3.tgz", - "integrity": "sha512-9SjYp1sPyxJsPWuhOCX6F4jUMXGbVVd5obVpoVEi8ClZqo52ViZewA6eFz85y8ezuOA+uJMP5A5zo6Oz4S5rVQ==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.24.4.tgz", + "integrity": "sha512-V3nCe+eTt/W6UYNr/wGvO1fLpHUrnlirlypZfKCT1fG6hWfqhPgQV/K/mRBXBpxc0eKLIF18pIOFVPh0mqHjlg==", "cpu": [ "ia32" ], @@ -1670,9 +1670,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.24.3", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.24.3.tgz", - "integrity": "sha512-HGZgRFFYrMrP3TJlq58nR1xy8zHKId25vhmm5S9jETEfDf6xybPxsavFTJaufe2zgOGYJBskGlj49CwtEuFhWQ==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.24.4.tgz", + "integrity": "sha512-LTw1Dfd0mBIEqUVCxbvTE/LLo+9ZxVC9k99v1v4ahg9Aak6FpqOfNu5kRkeTAn0wphoC4JU7No1/rL+bBCEwhg==", "cpu": [ "x64" ], @@ -1888,9 +1888,9 @@ } }, "node_modules/@types/node": { - "version": "22.8.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.8.7.tgz", - "integrity": "sha512-LidcG+2UeYIWcMuMUpBKOnryBWG/rnmOHQR5apjn8myTQcx3rinFRn7DcIFhMnS0PPFSC6OafdIKEad0lj6U0Q==", + "version": "22.9.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.9.0.tgz", + "integrity": "sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2083,30 +2083,30 @@ } }, "node_modules/@volar/language-core": { - "version": "2.4.8", - "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.8.tgz", - "integrity": "sha512-K/GxMOXGq997bO00cdFhTNuR85xPxj0BEEAy+BaqqayTmy9Tmhfgmq2wpJcVspRhcwfgPoE2/mEJa26emUhG/g==", + "version": "2.4.10", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.10.tgz", + "integrity": "sha512-hG3Z13+nJmGaT+fnQzAkS0hjJRa2FCeqZt6Bd+oGNhUkQ+mTFsDETg5rqUTxyzIh5pSOGY7FHCWUS8G82AzLCA==", "dev": true, "license": "MIT", "dependencies": { - "@volar/source-map": "2.4.8" + "@volar/source-map": "2.4.10" } }, "node_modules/@volar/source-map": { - "version": "2.4.8", - "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.8.tgz", - "integrity": "sha512-jeWJBkC/WivdelMwxKkpFL811uH/jJ1kVxa+c7OvG48DXc3VrP7pplSWPP2W1dLMqBxD+awRlg55FQQfiup4cA==", + "version": "2.4.10", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.10.tgz", + "integrity": "sha512-OCV+b5ihV0RF3A7vEvNyHPi4G4kFa6ukPmyVocmqm5QzOd8r5yAtiNvaPEjl8dNvgC/lj4JPryeeHLdXd62rWA==", "dev": true, "license": "MIT" }, "node_modules/@volar/typescript": { - "version": "2.4.8", - "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.8.tgz", - "integrity": "sha512-6xkIYJ5xxghVBhVywMoPMidDDAFT1OoQeXwa27HSgJ6AiIKRe61RXLoik+14Z7r0JvnblXVsjsRLmCr42SGzqg==", + "version": "2.4.10", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.10.tgz", + "integrity": "sha512-F8ZtBMhSXyYKuBfGpYwqA5rsONnOwAVvjyE7KPYJ7wgZqo2roASqNWUnianOomJX5u1cxeRooHV59N0PhvEOgw==", "dev": true, "license": "MIT", "dependencies": { - "@volar/language-core": "2.4.8", + "@volar/language-core": "2.4.10", "path-browserify": "^1.0.1", "vscode-uri": "^3.0.8" } @@ -2389,9 +2389,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001677", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001677.tgz", - "integrity": "sha512-fmfjsOlJUpMWu+mAAtZZZHz7UEwsUxIIvu1TJfO1HqFQvB/B+ii0xr9B5HpbZY/mC4XZ8SvjHJqtAY6pDPQEog==", + "version": "1.0.30001678", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001678.tgz", + "integrity": "sha512-RR+4U/05gNtps58PEBDZcPWTgEO2MBeoPZ96aQcjmfkBWRIDfN451fW2qyDA9/+HohLLIL5GqiMwA+IB1pWarw==", "dev": true, "funding": [ { @@ -2615,9 +2615,9 @@ "license": "ISC" }, "node_modules/electron-to-chromium": { - "version": "1.5.50", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.50.tgz", - "integrity": "sha512-eMVObiUQ2LdgeO1F/ySTXsvqvxb6ZH2zPGaMYsWzRDdOddUa77tdmI0ltg+L16UpbWdhPmuF3wIQYyQq65WfZw==", + "version": "1.5.55", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.55.tgz", + "integrity": "sha512-6maZ2ASDOTBtjt9FhqYPRnbvKU5tjG0IN9SztUOWYw2AzNDNpKJYLJmlK0/En4Hs/aiWnB+JZ+gW19PIGszgKg==", "dev": true, "license": "ISC" }, @@ -3582,9 +3582,9 @@ } }, "node_modules/rollup": { - "version": "4.24.3", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.24.3.tgz", - "integrity": "sha512-HBW896xR5HGmoksbi3JBDtmVzWiPAYqp7wip50hjQ67JbDz61nyoMPdqu1DvVW9asYb2M65Z20ZHsyJCMqMyDg==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.24.4.tgz", + "integrity": "sha512-vGorVWIsWfX3xbcyAS+I047kFKapHYivmkaT63Smj77XwvLSJos6M1xGqZnBPFQFBRZDOcG1QnYEIxAvTr/HjA==", "dev": true, "license": "MIT", "dependencies": { @@ -3598,24 +3598,24 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.24.3", - "@rollup/rollup-android-arm64": "4.24.3", - "@rollup/rollup-darwin-arm64": "4.24.3", - "@rollup/rollup-darwin-x64": "4.24.3", - "@rollup/rollup-freebsd-arm64": "4.24.3", - "@rollup/rollup-freebsd-x64": "4.24.3", - "@rollup/rollup-linux-arm-gnueabihf": "4.24.3", - "@rollup/rollup-linux-arm-musleabihf": "4.24.3", - "@rollup/rollup-linux-arm64-gnu": "4.24.3", - "@rollup/rollup-linux-arm64-musl": "4.24.3", - "@rollup/rollup-linux-powerpc64le-gnu": "4.24.3", - "@rollup/rollup-linux-riscv64-gnu": "4.24.3", - "@rollup/rollup-linux-s390x-gnu": "4.24.3", - "@rollup/rollup-linux-x64-gnu": "4.24.3", - "@rollup/rollup-linux-x64-musl": "4.24.3", - "@rollup/rollup-win32-arm64-msvc": "4.24.3", - "@rollup/rollup-win32-ia32-msvc": "4.24.3", - "@rollup/rollup-win32-x64-msvc": "4.24.3", + "@rollup/rollup-android-arm-eabi": "4.24.4", + "@rollup/rollup-android-arm64": "4.24.4", + "@rollup/rollup-darwin-arm64": "4.24.4", + "@rollup/rollup-darwin-x64": "4.24.4", + "@rollup/rollup-freebsd-arm64": "4.24.4", + "@rollup/rollup-freebsd-x64": "4.24.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.24.4", + "@rollup/rollup-linux-arm-musleabihf": "4.24.4", + "@rollup/rollup-linux-arm64-gnu": "4.24.4", + "@rollup/rollup-linux-arm64-musl": "4.24.4", + "@rollup/rollup-linux-powerpc64le-gnu": "4.24.4", + "@rollup/rollup-linux-riscv64-gnu": "4.24.4", + "@rollup/rollup-linux-s390x-gnu": "4.24.4", + "@rollup/rollup-linux-x64-gnu": "4.24.4", + "@rollup/rollup-linux-x64-musl": "4.24.4", + "@rollup/rollup-win32-arm64-msvc": "4.24.4", + "@rollup/rollup-win32-ia32-msvc": "4.24.4", + "@rollup/rollup-win32-x64-msvc": "4.24.4", "fsevents": "~2.3.2" } }, @@ -3858,22 +3858,22 @@ } }, "node_modules/tldts": { - "version": "6.1.58", - "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.58.tgz", - "integrity": "sha512-MQJrJhjHOYGYb8DobR6Y4AdDbd4TYkyQ+KBDVc5ODzs1cbrvPpfN1IemYi9jfipJ/vR1YWvrDli0hg1y19VRoA==", + "version": "6.1.59", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.59.tgz", + "integrity": "sha512-472ilPxsRuqBBpn+KuRBHJvZhk6tTo4yTVsmODrLBNLwRYJPkDfMEHivgNwp5iEl+cbrZzzRtLKRxZs7+QKkRg==", "dev": true, "license": "MIT", "dependencies": { - "tldts-core": "^6.1.58" + "tldts-core": "^6.1.59" }, "bin": { "tldts": "bin/cli.js" } }, "node_modules/tldts-core": { - "version": "6.1.58", - "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.58.tgz", - "integrity": "sha512-dR936xmhBm7AeqHIhCWwK765gZ7dFyL+IqLSFAjJbFlUXGMLCb8i2PzlzaOuWBuplBTaBYseSb565nk/ZEM0Bg==", + "version": "6.1.59", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.59.tgz", + "integrity": "sha512-EiYgNf275AQyVORl8HQYYe7rTVnmLb4hkWK7wAk/12Ksy5EiHpmUmTICa4GojookBPC8qkLMBKKwCmzNA47ZPQ==", "dev": true, "license": "MIT" }, @@ -4162,9 +4162,9 @@ } }, "node_modules/vite-tsconfig-paths": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-5.0.1.tgz", - "integrity": "sha512-yqwv+LstU7NwPeNqajZzLEBVpUFU6Dugtb2P84FXuvaoYA+/70l9MHE+GYfYAycVyPSDYZ7mjOFuYBRqlEpTig==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-5.1.0.tgz", + "integrity": "sha512-Y1PLGHCJfAq1Zf4YIGEsmuU/NCX1epoZx9zwSr32Gjn3aalwQHRKr5aUmbo6r0JHeHkqmWpmDg7WOynhYXw1og==", "dev": true, "license": "MIT", "dependencies": { @@ -4434,7 +4434,7 @@ "typescript": "5.6.3", "vite": "^5.4.10", "vite-plugin-dts": "^4.3.0", - "vite-tsconfig-paths": "^5.0.1" + "vite-tsconfig-paths": "^5.1.0" }, "peerDependencies": { "openseadragon": "^3.0.0 || ^4.0.0 || ^5.0.0", diff --git a/packages/text-annotator-react/package.json b/packages/text-annotator-react/package.json index b5973d2c..18f88d9b 100644 --- a/packages/text-annotator-react/package.json +++ b/packages/text-annotator-react/package.json @@ -31,7 +31,7 @@ "typescript": "5.6.3", "vite": "^5.4.10", "vite-plugin-dts": "^4.3.0", - "vite-tsconfig-paths": "^5.0.1" + "vite-tsconfig-paths": "^5.1.0" }, "peerDependencies": { "openseadragon": "^3.0.0 || ^4.0.0 || ^5.0.0", From 5abe652c4e313858a5c4e72c6e83848f5ade7498 Mon Sep 17 00:00:00 2001 From: Rainer Simon Date: Fri, 8 Nov 2024 07:38:49 +0100 Subject: [PATCH 12/22] Minor tweaks --- .../src/TextAnnotatorPopup/TextAnnotatorPopup.tsx | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/packages/text-annotator-react/src/TextAnnotatorPopup/TextAnnotatorPopup.tsx b/packages/text-annotator-react/src/TextAnnotatorPopup/TextAnnotatorPopup.tsx index edfd96e5..26c05271 100644 --- a/packages/text-annotator-react/src/TextAnnotatorPopup/TextAnnotatorPopup.tsx +++ b/packages/text-annotator-react/src/TextAnnotatorPopup/TextAnnotatorPopup.tsx @@ -1,8 +1,7 @@ -import { PointerEvent, ReactNode, useEffect, useMemo, useState } from 'react'; - +import { ReactNode, useEffect, useMemo, useState } from 'react'; import { useAnnotator, useSelection } from '@annotorious/react'; import { isRevived, NOT_ANNOTATABLE_CLASS, TextAnnotation, TextAnnotator } from '@recogito/text-annotator'; - +import { isMobile } from './isMobile'; import { autoUpdate, flip, @@ -17,8 +16,6 @@ import { useRole } from '@floating-ui/react'; -import { isMobile } from './isMobile'; - import './TextAnnotatorPopup.css'; interface TextAnnotationPopupProps { @@ -150,8 +147,8 @@ export const TextAnnotatorPopup = (props: TextAnnotationPopupProps) => { * triggered from the popup/toolbar/dialog */ const getStopEventsPropagationProps = () => ({ - onPointerUp: (event: PointerEvent) => event.stopPropagation(), - onPointerDown: (event: PointerEvent) => event.stopPropagation(), - onMouseDown: (event: MouseEvent) => event.stopPropagation(), - onMouseUp: (event: MouseEvent) => event.stopPropagation() + onPointerUp: (event: React.PointerEvent) => event.stopPropagation(), + onPointerDown: (event: React.PointerEvent) => event.stopPropagation(), + onMouseDown: (event: React.MouseEvent) => event.stopPropagation(), + onMouseUp: (event: React.MouseEvent) => event.stopPropagation() }); From ce7014d6f74d929488cb0c277f7015a5abc90b0e Mon Sep 17 00:00:00 2001 From: Rainer Simon Date: Fri, 8 Nov 2024 08:03:28 +0100 Subject: [PATCH 13/22] Added optional FloatingArrow to TextAnnotatorPopup --- .../TextAnnotatorPopup/TextAnnotatorPopup.tsx | 39 +++++++++++++++---- packages/text-annotator-react/test/App.tsx | 4 ++ packages/text-annotator-react/test/index.html | 1 + 3 files changed, 37 insertions(+), 7 deletions(-) diff --git a/packages/text-annotator-react/src/TextAnnotatorPopup/TextAnnotatorPopup.tsx b/packages/text-annotator-react/src/TextAnnotatorPopup/TextAnnotatorPopup.tsx index 26c05271..12d4adc4 100644 --- a/packages/text-annotator-react/src/TextAnnotatorPopup/TextAnnotatorPopup.tsx +++ b/packages/text-annotator-react/src/TextAnnotatorPopup/TextAnnotatorPopup.tsx @@ -1,10 +1,13 @@ -import { ReactNode, useEffect, useMemo, useState } from 'react'; +import { ReactNode, useEffect, useMemo, useRef, useState } from 'react'; import { useAnnotator, useSelection } from '@annotorious/react'; import { isRevived, NOT_ANNOTATABLE_CLASS, TextAnnotation, TextAnnotator } from '@recogito/text-annotator'; import { isMobile } from './isMobile'; import { + arrow, autoUpdate, flip, + FloatingArrow, + FloatingArrowProps, FloatingFocusManager, FloatingPortal, inline, @@ -22,6 +25,10 @@ interface TextAnnotationPopupProps { ariaCloseWarning?: string; + arrow?: boolean; + + arrowProps?: Omit; + popup(props: TextAnnotationPopupContentProps): ReactNode; } @@ -46,6 +53,22 @@ export const TextAnnotatorPopup = (props: TextAnnotationPopupProps) => { const [isOpen, setOpen] = useState(selected?.length > 0); + const arrowRef = useRef(null); + + // Conditional floating-ui middleware + const middleware = useMemo(() => { + const m = [ + inline(), + offset(10), + flip({ crossAxis: true }), + shift({ crossAxis: true, padding: 10 }) + ]; + + return props.arrow + ? [...m, arrow({ element: arrowRef }) ] + : m; + }, [props.arrow]); + const { refs, floatingStyles, update, context } = useFloating({ placement: isMobile() ? 'bottom' : 'top', open: isOpen, @@ -55,12 +78,7 @@ export const TextAnnotatorPopup = (props: TextAnnotationPopupProps) => { r?.cancelSelected(); } }, - middleware: [ - offset(10), - inline(), - flip(), - shift({ mainAxis: false, crossAxis: true, padding: 10 }) - ], + middleware, whileElementsMounted: autoUpdate }); @@ -132,6 +150,13 @@ export const TextAnnotatorPopup = (props: TextAnnotationPopupProps) => { event })} + {props.arrow && ( + + )} + diff --git a/packages/text-annotator-react/test/App.tsx b/packages/text-annotator-react/test/App.tsx index 74849e2c..25b543e9 100644 --- a/packages/text-annotator-react/test/App.tsx +++ b/packages/text-annotator-react/test/App.tsx @@ -190,6 +190,10 @@ export const App: FC = () => { () } diff --git a/packages/text-annotator-react/test/index.html b/packages/text-annotator-react/test/index.html index 3f33c769..ba514892 100644 --- a/packages/text-annotator-react/test/index.html +++ b/packages/text-annotator-react/test/index.html @@ -26,6 +26,7 @@ p { font-size: 17px; line-height: 160%; + min-width: 600px; } .r6o-popup { From c2f1c49377503c4793b948dff9c12235bd9e81e1 Mon Sep 17 00:00:00 2001 From: Rainer Simon Date: Fri, 8 Nov 2024 08:04:49 +0100 Subject: [PATCH 14/22] v3.0.0-rc.51 --- package-lock.json | 16 ++++++++-------- package.json | 2 +- packages/extension-tei/package.json | 4 ++-- packages/text-annotator-react/package.json | 6 +++--- packages/text-annotator/package.json | 4 ++-- 5 files changed, 16 insertions(+), 16 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7ab080c7..6459a70b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@recogito/text-annotator-monorepo", - "version": "3.0.0-rc.50", + "version": "3.0.0-rc.51", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@recogito/text-annotator-monorepo", - "version": "3.0.0-rc.50", + "version": "3.0.0-rc.51", "license": "BSD-3-Clause", "workspaces": [ "./packages/text-annotator", @@ -4379,7 +4379,7 @@ }, "packages/extension-tei": { "name": "@recogito/text-annotator-tei", - "version": "3.0.0-rc.50", + "version": "3.0.0-rc.51", "license": "BSD-3-Clause", "devDependencies": { "CETEIcean": "^1.9.3", @@ -4389,12 +4389,12 @@ }, "peerDependencies": { "@annotorious/core": "^3.0.11", - "@recogito/text-annotator": "3.0.0-rc.50" + "@recogito/text-annotator": "3.0.0-rc.51" } }, "packages/text-annotator": { "name": "@recogito/text-annotator", - "version": "3.0.0-rc.50", + "version": "3.0.0-rc.51", "license": "BSD-3-Clause", "dependencies": { "@annotorious/core": "^3.0.11", @@ -4416,14 +4416,14 @@ }, "packages/text-annotator-react": { "name": "@recogito/react-text-annotator", - "version": "3.0.0-rc.50", + "version": "3.0.0-rc.51", "license": "BSD-3-Clause", "dependencies": { "@annotorious/core": "^3.0.11", "@annotorious/react": "^3.0.11", "@floating-ui/react": "^0.26.27", - "@recogito/text-annotator": "3.0.0-rc.50", - "@recogito/text-annotator-tei": "3.0.0-rc.50", + "@recogito/text-annotator": "3.0.0-rc.51", + "@recogito/text-annotator-tei": "3.0.0-rc.51", "CETEIcean": "^1.9.3" }, "devDependencies": { diff --git a/package.json b/package.json index 6e786cfe..a7f54451 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@recogito/text-annotator-monorepo", - "version": "3.0.0-rc.50", + "version": "3.0.0-rc.51", "description": "Recogito Text Annotator monorepo", "author": "Rainer Simon", "repository": { diff --git a/packages/extension-tei/package.json b/packages/extension-tei/package.json index 4c7fb114..984f8531 100644 --- a/packages/extension-tei/package.json +++ b/packages/extension-tei/package.json @@ -1,6 +1,6 @@ { "name": "@recogito/text-annotator-tei", - "version": "3.0.0-rc.50", + "version": "3.0.0-rc.51", "description": "Recogito Text Annotator TEI extension", "author": "Rainer Simon", "license": "BSD-3-Clause", @@ -33,6 +33,6 @@ }, "peerDependencies": { "@annotorious/core": "^3.0.11", - "@recogito/text-annotator": "3.0.0-rc.50" + "@recogito/text-annotator": "3.0.0-rc.51" } } \ No newline at end of file diff --git a/packages/text-annotator-react/package.json b/packages/text-annotator-react/package.json index 18f88d9b..ec0e4042 100644 --- a/packages/text-annotator-react/package.json +++ b/packages/text-annotator-react/package.json @@ -1,6 +1,6 @@ { "name": "@recogito/react-text-annotator", - "version": "3.0.0-rc.50", + "version": "3.0.0-rc.51", "description": "Recogito Text Annotator React bindings", "author": "Rainer Simon", "license": "BSD-3-Clause", @@ -47,8 +47,8 @@ "@annotorious/core": "^3.0.11", "@annotorious/react": "^3.0.11", "@floating-ui/react": "^0.26.27", - "@recogito/text-annotator": "3.0.0-rc.50", - "@recogito/text-annotator-tei": "3.0.0-rc.50", + "@recogito/text-annotator": "3.0.0-rc.51", + "@recogito/text-annotator-tei": "3.0.0-rc.51", "CETEIcean": "^1.9.3" } } \ No newline at end of file diff --git a/packages/text-annotator/package.json b/packages/text-annotator/package.json index 39291edf..1b019b2b 100644 --- a/packages/text-annotator/package.json +++ b/packages/text-annotator/package.json @@ -1,6 +1,6 @@ { "name": "@recogito/text-annotator", - "version": "3.0.0-rc.50", + "version": "3.0.0-rc.51", "description": "A JavaScript text annotation library", "author": "Rainer Simon", "license": "BSD-3-Clause", @@ -42,4 +42,4 @@ "rbush": "^4.0.1", "uuid": "^11.0.2" } -} +} \ No newline at end of file From e9fbea8869ed95f9506923efa63432803cf46e6f Mon Sep 17 00:00:00 2001 From: Oleksandr Danylchenko <68850090+oleksandr-danylchenko@users.noreply.github.com> Date: Fri, 8 Nov 2024 12:17:52 +0200 Subject: [PATCH 15/22] Added proper `existingTargetUpdated` existence check --- packages/text-annotator/src/SelectionHandler.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/text-annotator/src/SelectionHandler.ts b/packages/text-annotator/src/SelectionHandler.ts index ce31b82b..510932bd 100644 --- a/packages/text-annotator/src/SelectionHandler.ts +++ b/packages/text-annotator/src/SelectionHandler.ts @@ -320,7 +320,7 @@ export const SelectionHandler = ( const { target: { updated: existingTargetUpdated } } = existingAnnotation; const { updated: currentTargetUpdated } = currentTarget; if ( - !existingAnnotation || + !existingTargetUpdated || !currentTargetUpdated || existingTargetUpdated < currentTargetUpdated ) { From 33abfb1449326a06d418c29eba45d50f0695208f Mon Sep 17 00:00:00 2001 From: Rainer Simon Date: Mon, 11 Nov 2024 12:01:10 +0100 Subject: [PATCH 16/22] Introduced 'selectionMode' init prop + renamed TextAnnotatorPopup --- package-lock.json | 349 +++++++++--------- packages/extension-tei/package.json | 4 +- packages/text-annotator-react/package.json | 8 +- ...tatorPopup.css => TextAnnotationPopup.css} | 0 ...tatorPopup.tsx => TextAnnotationPopup.tsx} | 17 +- .../src/TextAnnotatorPopup/index.ts | 2 +- packages/text-annotator/package.json | 6 +- .../text-annotator/src/SelectionHandler.ts | 20 +- packages/text-annotator/src/TextAnnotator.ts | 2 +- .../src/TextAnnotatorOptions.ts | 2 + .../src/highlight/baseRenderer.ts | 2 +- .../src/state/TextAnnotationStore.ts | 4 +- .../src/state/TextAnnotatorState.ts | 17 +- packages/text-annotator/test/index.html | 1 + 14 files changed, 229 insertions(+), 205 deletions(-) rename packages/text-annotator-react/src/TextAnnotatorPopup/{TextAnnotatorPopup.css => TextAnnotationPopup.css} (100%) rename packages/text-annotator-react/src/TextAnnotatorPopup/{TextAnnotatorPopup.tsx => TextAnnotationPopup.tsx} (91%) diff --git a/package-lock.json b/package-lock.json index 6459a70b..1ce4a268 100644 --- a/package-lock.json +++ b/package-lock.json @@ -29,70 +29,44 @@ } }, "node_modules/@annotorious/annotorious": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/@annotorious/annotorious/-/annotorious-3.0.11.tgz", - "integrity": "sha512-5w8ES2hTJU/WVwzlqzxX6McouC9bR/P9zoOxF1SHa+D4Z4E8RbygyE4XfVy7fuDNHUEQAlq3DQdvW2S4TyZ4Qw==", + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/@annotorious/annotorious/-/annotorious-3.0.12.tgz", + "integrity": "sha512-Wkb7hqETWaWGWNwJ2muQUNrv5ePzHyZOGty5Xtsjrc47tDGl4ZwH/9jt1666bB5ttqANq/eYdy8Jch8UcUIJmg==", "license": "BSD-3-Clause", "dependencies": { - "@annotorious/core": "3.0.11", + "@annotorious/core": "3.0.12", "rbush": "^4.0.1", - "uuid": "^10.0.0" + "uuid": "^11.0.3" }, "funding": { "url": "https://steadyhq.com/rainer-simon" } }, - "node_modules/@annotorious/annotorious/node_modules/uuid": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz", - "integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==", - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" - } - }, "node_modules/@annotorious/core": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/@annotorious/core/-/core-3.0.11.tgz", - "integrity": "sha512-PZuQyyux1WgJEjZQwDvGwxlWeZEycUj7zJuJL5v02p+AVNeflUGIKGHBhphCdJhz7LpawWfCbrhlhYO8jit8Hw==", + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/@annotorious/core/-/core-3.0.12.tgz", + "integrity": "sha512-QKLHqeKa5YieuWog/6fsyrA5851zncQGE8NpK1s90+Ckr/eZ/b9TsK+vEssA7vBH0AcEFrsE3HsEZ2S4jlJ6LA==", "license": "BSD-3-Clause", "dependencies": { "dequal": "^2.0.3", - "nanoevents": "^9.0.0", - "nanoid": "^5.0.7", - "uuid": "^10.0.0" + "nanoevents": "^9.1.0", + "nanoid": "^5.0.8", + "uuid": "^11.0.3" }, "funding": { "url": "https://steadyhq.com/rainer-simon" } }, - "node_modules/@annotorious/core/node_modules/uuid": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz", - "integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==", - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" - } - }, "node_modules/@annotorious/openseadragon": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/@annotorious/openseadragon/-/openseadragon-3.0.11.tgz", - "integrity": "sha512-AkSBy0r6HNxS6NXyfP94RyXOhb4yatjFph49ZPcBMyO7zKXPEJWT/t4HyFbg5QpJ8/xTY3wFaXThRcU0yYxB8A==", + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/@annotorious/openseadragon/-/openseadragon-3.0.12.tgz", + "integrity": "sha512-vXFbvgTNfZHKK/jUyOnooX5k52zHpiYk5ehIEEWCy+hY0/3HOLR1R3+mE9PnVh2DwsYXMlR2qJ55qCV5loVv4Q==", "license": "BSD-3-Clause", "dependencies": { - "@annotorious/annotorious": "3.0.11", - "@annotorious/core": "3.0.11", + "@annotorious/annotorious": "3.0.12", + "@annotorious/core": "3.0.12", "pixi.js": "^7.4.2", - "uuid": "^10.0.0" + "uuid": "^11.0.3" }, "funding": { "url": "https://steadyhq.com/rainer-simon" @@ -101,29 +75,17 @@ "openseadragon": "^3.0.0 || ^4.0.0 || ^5.0.0" } }, - "node_modules/@annotorious/openseadragon/node_modules/uuid": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz", - "integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==", - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" - } - }, "node_modules/@annotorious/react": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/@annotorious/react/-/react-3.0.11.tgz", - "integrity": "sha512-auhoOgZhRKnSiXadw+jrZpddJujv6KxPNsG/D5L2pEk6EznBRuuX/e5wlCbcK609Q1guUMskx1GEl1AuR5kl5g==", + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/@annotorious/react/-/react-3.0.12.tgz", + "integrity": "sha512-HLk8NXOMCPadQ1kBqyD6h87VA9IlBv5LAGZn3yfONXnKfrPuBuZE/DWeOgi0E725HmAZWtHvJZarV5WQHgMTow==", "license": "BSD-3-Clause", "dependencies": { - "@annotorious/annotorious": "3.0.11", - "@annotorious/core": "3.0.11", - "@annotorious/openseadragon": "3.0.11", - "@floating-ui/react": "^0.26.24" + "@annotorious/annotorious": "3.0.12", + "@annotorious/core": "3.0.12", + "@annotorious/openseadragon": "3.0.12", + "@floating-ui/react": "^0.26.27", + "zustand": "^5.0.1" }, "funding": { "url": "https://steadyhq.com/rainer-simon" @@ -1432,9 +1394,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.24.4.tgz", - "integrity": "sha512-jfUJrFct/hTA0XDM5p/htWKoNNTbDLY0KRwEt6pyOA6k2fmk0WVwl65PdUdJZgzGEHWx+49LilkcSaumQRyNQw==", + "version": "4.25.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.25.0.tgz", + "integrity": "sha512-CC/ZqFZwlAIbU1wUPisHyV/XRc5RydFrNLtgl3dGYskdwPZdt4HERtKm50a/+DtTlKeCq9IXFEWR+P6blwjqBA==", "cpu": [ "arm" ], @@ -1446,9 +1408,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.24.4.tgz", - "integrity": "sha512-j4nrEO6nHU1nZUuCfRKoCcvh7PIywQPUCBa2UsootTHvTHIoIu2BzueInGJhhvQO/2FTRdNYpf63xsgEqH9IhA==", + "version": "4.25.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.25.0.tgz", + "integrity": "sha512-/Y76tmLGUJqVBXXCfVS8Q8FJqYGhgH4wl4qTA24E9v/IJM0XvJCGQVSW1QZ4J+VURO9h8YCa28sTFacZXwK7Rg==", "cpu": [ "arm64" ], @@ -1460,9 +1422,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.24.4.tgz", - "integrity": "sha512-GmU/QgGtBTeraKyldC7cDVVvAJEOr3dFLKneez/n7BvX57UdhOqDsVwzU7UOnYA7AAOt+Xb26lk79PldDHgMIQ==", + "version": "4.25.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.25.0.tgz", + "integrity": "sha512-YVT6L3UrKTlC0FpCZd0MGA7NVdp7YNaEqkENbWQ7AOVOqd/7VzyHpgIpc1mIaxRAo1ZsJRH45fq8j4N63I/vvg==", "cpu": [ "arm64" ], @@ -1474,9 +1436,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.24.4.tgz", - "integrity": "sha512-N6oDBiZCBKlwYcsEPXGDE4g9RoxZLK6vT98M8111cW7VsVJFpNEqvJeIPfsCzbf0XEakPslh72X0gnlMi4Ddgg==", + "version": "4.25.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.25.0.tgz", + "integrity": "sha512-ZRL+gexs3+ZmmWmGKEU43Bdn67kWnMeWXLFhcVv5Un8FQcx38yulHBA7XR2+KQdYIOtD0yZDWBCudmfj6lQJoA==", "cpu": [ "x64" ], @@ -1488,9 +1450,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.24.4.tgz", - "integrity": "sha512-py5oNShCCjCyjWXCZNrRGRpjWsF0ic8f4ieBNra5buQz0O/U6mMXCpC1LvrHuhJsNPgRt36tSYMidGzZiJF6mw==", + "version": "4.25.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.25.0.tgz", + "integrity": "sha512-xpEIXhiP27EAylEpreCozozsxWQ2TJbOLSivGfXhU4G1TBVEYtUPi2pOZBnvGXHyOdLAUUhPnJzH3ah5cqF01g==", "cpu": [ "arm64" ], @@ -1502,9 +1464,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.24.4.tgz", - "integrity": "sha512-L7VVVW9FCnTTp4i7KrmHeDsDvjB4++KOBENYtNYAiYl96jeBThFfhP6HVxL74v4SiZEVDH/1ILscR5U9S4ms4g==", + "version": "4.25.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.25.0.tgz", + "integrity": "sha512-sC5FsmZGlJv5dOcURrsnIK7ngc3Kirnx3as2XU9uER+zjfyqIjdcMVgzy4cOawhsssqzoAX19qmxgJ8a14Qrqw==", "cpu": [ "x64" ], @@ -1516,9 +1478,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.24.4.tgz", - "integrity": "sha512-10ICosOwYChROdQoQo589N5idQIisxjaFE/PAnX2i0Zr84mY0k9zul1ArH0rnJ/fpgiqfu13TFZR5A5YJLOYZA==", + "version": "4.25.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.25.0.tgz", + "integrity": "sha512-uD/dbLSs1BEPzg564TpRAQ/YvTnCds2XxyOndAO8nJhaQcqQGFgv/DAVko/ZHap3boCvxnzYMa3mTkV/B/3SWA==", "cpu": [ "arm" ], @@ -1530,9 +1492,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.24.4.tgz", - "integrity": "sha512-ySAfWs69LYC7QhRDZNKqNhz2UKN8LDfbKSMAEtoEI0jitwfAG2iZwVqGACJT+kfYvvz3/JgsLlcBP+WWoKCLcw==", + "version": "4.25.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.25.0.tgz", + "integrity": "sha512-ZVt/XkrDlQWegDWrwyC3l0OfAF7yeJUF4fq5RMS07YM72BlSfn2fQQ6lPyBNjt+YbczMguPiJoCfaQC2dnflpQ==", "cpu": [ "arm" ], @@ -1544,9 +1506,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.24.4.tgz", - "integrity": "sha512-uHYJ0HNOI6pGEeZ/5mgm5arNVTI0nLlmrbdph+pGXpC9tFHFDQmDMOEqkmUObRfosJqpU8RliYoGz06qSdtcjg==", + "version": "4.25.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.25.0.tgz", + "integrity": "sha512-qboZ+T0gHAW2kkSDPHxu7quaFaaBlynODXpBVnPxUgvWYaE84xgCKAPEYE+fSMd3Zv5PyFZR+L0tCdYCMAtG0A==", "cpu": [ "arm64" ], @@ -1558,9 +1520,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.24.4.tgz", - "integrity": "sha512-38yiWLemQf7aLHDgTg85fh3hW9stJ0Muk7+s6tIkSUOMmi4Xbv5pH/5Bofnsb6spIwD5FJiR+jg71f0CH5OzoA==", + "version": "4.25.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.25.0.tgz", + "integrity": "sha512-ndWTSEmAaKr88dBuogGH2NZaxe7u2rDoArsejNslugHZ+r44NfWiwjzizVS1nUOHo+n1Z6qV3X60rqE/HlISgw==", "cpu": [ "arm64" ], @@ -1572,9 +1534,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.24.4.tgz", - "integrity": "sha512-q73XUPnkwt9ZNF2xRS4fvneSuaHw2BXuV5rI4cw0fWYVIWIBeDZX7c7FWhFQPNTnE24172K30I+dViWRVD9TwA==", + "version": "4.25.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.25.0.tgz", + "integrity": "sha512-BVSQvVa2v5hKwJSy6X7W1fjDex6yZnNKy3Kx1JGimccHft6HV0THTwNtC2zawtNXKUu+S5CjXslilYdKBAadzA==", "cpu": [ "ppc64" ], @@ -1586,9 +1548,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.24.4.tgz", - "integrity": "sha512-Aie/TbmQi6UXokJqDZdmTJuZBCU3QBDA8oTKRGtd4ABi/nHgXICulfg1KI6n9/koDsiDbvHAiQO3YAUNa/7BCw==", + "version": "4.25.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.25.0.tgz", + "integrity": "sha512-G4hTREQrIdeV0PE2JruzI+vXdRnaK1pg64hemHq2v5fhv8C7WjVaeXc9P5i4Q5UC06d/L+zA0mszYIKl+wY8oA==", "cpu": [ "riscv64" ], @@ -1600,9 +1562,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.24.4.tgz", - "integrity": "sha512-P8MPErVO/y8ohWSP9JY7lLQ8+YMHfTI4bAdtCi3pC2hTeqFJco2jYspzOzTUB8hwUWIIu1xwOrJE11nP+0JFAQ==", + "version": "4.25.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.25.0.tgz", + "integrity": "sha512-9T/w0kQ+upxdkFL9zPVB6zy9vWW1deA3g8IauJxojN4bnz5FwSsUAD034KpXIVX5j5p/rn6XqumBMxfRkcHapQ==", "cpu": [ "s390x" ], @@ -1614,9 +1576,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.24.4.tgz", - "integrity": "sha512-K03TljaaoPK5FOyNMZAAEmhlyO49LaE4qCsr0lYHUKyb6QacTNF9pnfPpXnFlFD3TXuFbFbz7tJ51FujUXkXYA==", + "version": "4.25.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.25.0.tgz", + "integrity": "sha512-ThcnU0EcMDn+J4B9LD++OgBYxZusuA7iemIIiz5yzEcFg04VZFzdFjuwPdlURmYPZw+fgVrFzj4CA64jSTG4Ig==", "cpu": [ "x64" ], @@ -1628,9 +1590,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.24.4.tgz", - "integrity": "sha512-VJYl4xSl/wqG2D5xTYncVWW+26ICV4wubwN9Gs5NrqhJtayikwCXzPL8GDsLnaLU3WwhQ8W02IinYSFJfyo34Q==", + "version": "4.25.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.25.0.tgz", + "integrity": "sha512-zx71aY2oQxGxAT1JShfhNG79PnjYhMC6voAjzpu/xmMjDnKNf6Nl/xv7YaB/9SIa9jDYf8RBPWEnjcdlhlv1rQ==", "cpu": [ "x64" ], @@ -1642,9 +1604,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.24.4.tgz", - "integrity": "sha512-ku2GvtPwQfCqoPFIJCqZ8o7bJcj+Y54cZSr43hHca6jLwAiCbZdBUOrqE6y29QFajNAzzpIOwsckaTFmN6/8TA==", + "version": "4.25.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.25.0.tgz", + "integrity": "sha512-JT8tcjNocMs4CylWY/CxVLnv8e1lE7ff1fi6kbGocWwxDq9pj30IJ28Peb+Y8yiPNSF28oad42ApJB8oUkwGww==", "cpu": [ "arm64" ], @@ -1656,9 +1618,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.24.4.tgz", - "integrity": "sha512-V3nCe+eTt/W6UYNr/wGvO1fLpHUrnlirlypZfKCT1fG6hWfqhPgQV/K/mRBXBpxc0eKLIF18pIOFVPh0mqHjlg==", + "version": "4.25.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.25.0.tgz", + "integrity": "sha512-dRLjLsO3dNOfSN6tjyVlG+Msm4IiZnGkuZ7G5NmpzwF9oOc582FZG05+UdfTbz5Jd4buK/wMb6UeHFhG18+OEg==", "cpu": [ "ia32" ], @@ -1670,9 +1632,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.24.4.tgz", - "integrity": "sha512-LTw1Dfd0mBIEqUVCxbvTE/LLo+9ZxVC9k99v1v4ahg9Aak6FpqOfNu5kRkeTAn0wphoC4JU7No1/rL+bBCEwhg==", + "version": "4.25.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.25.0.tgz", + "integrity": "sha512-/RqrIFtLB926frMhZD0a5oDa4eFIbyNEwLLloMTEjmqfwZWXywwVVOVmwTsuyhC9HKkVEZcOOi+KV4U9wmOdlg==", "cpu": [ "x64" ], @@ -1901,7 +1863,7 @@ "version": "15.7.13", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.13.tgz", "integrity": "sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/@types/rbush": { @@ -1915,7 +1877,7 @@ "version": "18.3.12", "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.12.tgz", "integrity": "sha512-D2wOSq/d6Agt28q7rSI3jhU7G6aiuzljDGZ2hTZHIkrTLUI+AF3WMeKkEZ9nN2fkBAlcktT6vcZjDFiIhMYEQw==", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "@types/prop-types": "*", @@ -2389,9 +2351,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001678", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001678.tgz", - "integrity": "sha512-RR+4U/05gNtps58PEBDZcPWTgEO2MBeoPZ96aQcjmfkBWRIDfN451fW2qyDA9/+HohLLIL5GqiMwA+IB1pWarw==", + "version": "1.0.30001680", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001680.tgz", + "integrity": "sha512-rPQy70G6AGUMnbwS1z6Xg+RkHYPAi18ihs47GH0jcxIG7wArmPgY3XbS2sRdBbxJljp3thdT8BIqv9ccCypiPA==", "dev": true, "funding": [ { @@ -2513,7 +2475,7 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/data-urls": { @@ -3295,9 +3257,9 @@ "license": "MIT" }, "node_modules/object-inspect": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", - "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz", + "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==", "license": "MIT", "engines": { "node": ">= 0.4" @@ -3435,9 +3397,9 @@ } }, "node_modules/postcss": { - "version": "8.4.47", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", - "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", + "version": "8.4.48", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.48.tgz", + "integrity": "sha512-GCRK8F6+Dl7xYniR5a4FYbpBzU8XnZVeowqsQFYdcXuSbChgiks7qybSkbvnaeqv0G0B+dd9/jJgH8kkLDQeEA==", "dev": true, "funding": [ { @@ -3456,7 +3418,7 @@ "license": "MIT", "dependencies": { "nanoid": "^3.3.7", - "picocolors": "^1.1.0", + "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, "engines": { @@ -3582,9 +3544,9 @@ } }, "node_modules/rollup": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.24.4.tgz", - "integrity": "sha512-vGorVWIsWfX3xbcyAS+I047kFKapHYivmkaT63Smj77XwvLSJos6M1xGqZnBPFQFBRZDOcG1QnYEIxAvTr/HjA==", + "version": "4.25.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.25.0.tgz", + "integrity": "sha512-uVbClXmR6wvx5R1M3Od4utyLUxrmOcEm3pAtMphn73Apq19PDtHpgZoEvqH2YnnaNUuvKmg2DgRd2Sqv+odyqg==", "dev": true, "license": "MIT", "dependencies": { @@ -3598,24 +3560,24 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.24.4", - "@rollup/rollup-android-arm64": "4.24.4", - "@rollup/rollup-darwin-arm64": "4.24.4", - "@rollup/rollup-darwin-x64": "4.24.4", - "@rollup/rollup-freebsd-arm64": "4.24.4", - "@rollup/rollup-freebsd-x64": "4.24.4", - "@rollup/rollup-linux-arm-gnueabihf": "4.24.4", - "@rollup/rollup-linux-arm-musleabihf": "4.24.4", - "@rollup/rollup-linux-arm64-gnu": "4.24.4", - "@rollup/rollup-linux-arm64-musl": "4.24.4", - "@rollup/rollup-linux-powerpc64le-gnu": "4.24.4", - "@rollup/rollup-linux-riscv64-gnu": "4.24.4", - "@rollup/rollup-linux-s390x-gnu": "4.24.4", - "@rollup/rollup-linux-x64-gnu": "4.24.4", - "@rollup/rollup-linux-x64-musl": "4.24.4", - "@rollup/rollup-win32-arm64-msvc": "4.24.4", - "@rollup/rollup-win32-ia32-msvc": "4.24.4", - "@rollup/rollup-win32-x64-msvc": "4.24.4", + "@rollup/rollup-android-arm-eabi": "4.25.0", + "@rollup/rollup-android-arm64": "4.25.0", + "@rollup/rollup-darwin-arm64": "4.25.0", + "@rollup/rollup-darwin-x64": "4.25.0", + "@rollup/rollup-freebsd-arm64": "4.25.0", + "@rollup/rollup-freebsd-x64": "4.25.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.25.0", + "@rollup/rollup-linux-arm-musleabihf": "4.25.0", + "@rollup/rollup-linux-arm64-gnu": "4.25.0", + "@rollup/rollup-linux-arm64-musl": "4.25.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.25.0", + "@rollup/rollup-linux-riscv64-gnu": "4.25.0", + "@rollup/rollup-linux-s390x-gnu": "4.25.0", + "@rollup/rollup-linux-x64-gnu": "4.25.0", + "@rollup/rollup-linux-x64-musl": "4.25.0", + "@rollup/rollup-win32-arm64-msvc": "4.25.0", + "@rollup/rollup-win32-ia32-msvc": "4.25.0", + "@rollup/rollup-win32-x64-msvc": "4.25.0", "fsevents": "~2.3.2" } }, @@ -3742,9 +3704,9 @@ "license": "MIT" }, "node_modules/std-env": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", - "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.8.0.tgz", + "integrity": "sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==", "dev": true, "license": "MIT" }, @@ -3858,22 +3820,22 @@ } }, "node_modules/tldts": { - "version": "6.1.59", - "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.59.tgz", - "integrity": "sha512-472ilPxsRuqBBpn+KuRBHJvZhk6tTo4yTVsmODrLBNLwRYJPkDfMEHivgNwp5iEl+cbrZzzRtLKRxZs7+QKkRg==", + "version": "6.1.60", + "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.60.tgz", + "integrity": "sha512-TYVHm7G9NCnhgqOsFalbX6MG1Po5F4efF+tLfoeiOGQq48Oqgwcgz8upY2R1BHWa4aDrj28RYx0dkYJ63qCFMg==", "dev": true, "license": "MIT", "dependencies": { - "tldts-core": "^6.1.59" + "tldts-core": "^6.1.60" }, "bin": { "tldts": "bin/cli.js" } }, "node_modules/tldts-core": { - "version": "6.1.59", - "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.59.tgz", - "integrity": "sha512-EiYgNf275AQyVORl8HQYYe7rTVnmLb4hkWK7wAk/12Ksy5EiHpmUmTICa4GojookBPC8qkLMBKKwCmzNA47ZPQ==", + "version": "6.1.60", + "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.60.tgz", + "integrity": "sha512-XHjoxak8SFQnHnmYHb3PcnW5TZ+9ErLZemZei3azuIRhQLw4IExsVbL3VZJdHcLeNaXq6NqawgpDPpjBOg4B5g==", "dev": true, "license": "MIT" }, @@ -4037,9 +3999,9 @@ } }, "node_modules/uuid": { - "version": "11.0.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.0.2.tgz", - "integrity": "sha512-14FfcOJmqdjbBPdDjFQyk/SdT4NySW4eM0zcG+HqbHP5jzuH56xO3J1DGhgs/cEMCfwYi3HQI1gnTO62iaG+tQ==", + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.0.3.tgz", + "integrity": "sha512-d0z310fCWv5dJwnX1Y/MncBAqGMKEzlBb1AOf7z9K8ALnd0utBX/msg/fA0+sbyN1ihbMsLhrBlnl1ak7Wa0rg==", "funding": [ "https://github.com/sponsors/broofa", "https://github.com/sponsors/ctavan" @@ -4050,9 +4012,9 @@ } }, "node_modules/vite": { - "version": "5.4.10", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.10.tgz", - "integrity": "sha512-1hvaPshuPUtxeQ0hsVH3Mud0ZanOLwVTneA1EgbAM5LhaZEqyPWGRQ7BtaMvUrTDeEaC8pxtj6a6jku3x4z6SQ==", + "version": "5.4.11", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.11.tgz", + "integrity": "sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q==", "dev": true, "license": "MIT", "dependencies": { @@ -4162,9 +4124,9 @@ } }, "node_modules/vite-tsconfig-paths": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-5.1.0.tgz", - "integrity": "sha512-Y1PLGHCJfAq1Zf4YIGEsmuU/NCX1epoZx9zwSr32Gjn3aalwQHRKr5aUmbo6r0JHeHkqmWpmDg7WOynhYXw1og==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-5.1.2.tgz", + "integrity": "sha512-gEIbKfJzSEv0yR3XS2QEocKetONoWkbROj6hGx0FHM18qKUojhvcokQsxQx5nMkelZq2n37zbSGCJn+FSODSjA==", "dev": true, "license": "MIT", "dependencies": { @@ -4377,6 +4339,35 @@ "dev": true, "license": "ISC" }, + "node_modules/zustand": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/zustand/-/zustand-5.0.1.tgz", + "integrity": "sha512-pRET7Lao2z+n5R/HduXMio35TncTlSW68WsYBq2Lg1ASspsNGjpwLAsij3RpouyV6+kHMwwwzP0bZPD70/Jx/w==", + "license": "MIT", + "engines": { + "node": ">=12.20.0" + }, + "peerDependencies": { + "@types/react": ">=18.0.0", + "immer": ">=9.0.6", + "react": ">=18.0.0", + "use-sync-external-store": ">=1.2.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "immer": { + "optional": true + }, + "react": { + "optional": true + }, + "use-sync-external-store": { + "optional": true + } + } + }, "packages/extension-tei": { "name": "@recogito/text-annotator-tei", "version": "3.0.0-rc.51", @@ -4384,11 +4375,11 @@ "devDependencies": { "CETEIcean": "^1.9.3", "typescript": "5.6.3", - "vite": "^5.4.10", + "vite": "^5.4.11", "vite-plugin-dts": "^4.3.0" }, "peerDependencies": { - "@annotorious/core": "^3.0.11", + "@annotorious/core": "^3.0.12", "@recogito/text-annotator": "3.0.0-rc.51" } }, @@ -4397,19 +4388,19 @@ "version": "3.0.0-rc.51", "license": "BSD-3-Clause", "dependencies": { - "@annotorious/core": "^3.0.11", + "@annotorious/core": "^3.0.12", "colord": "^2.9.3", "dequal": "^2.0.3", "hotkeys-js": "^3.13.7", "rbush": "^4.0.1", - "uuid": "^11.0.2" + "uuid": "^11.0.3" }, "devDependencies": { "@types/jsdom": "^21.1.7", "@types/rbush": "^4.0.0", "jsdom": "^25.0.1", "typescript": "5.6.3", - "vite": "^5.4.10", + "vite": "^5.4.11", "vite-plugin-dts": "^4.3.0", "vitest": "^2.1.4" } @@ -4419,8 +4410,8 @@ "version": "3.0.0-rc.51", "license": "BSD-3-Clause", "dependencies": { - "@annotorious/core": "^3.0.11", - "@annotorious/react": "^3.0.11", + "@annotorious/core": "^3.0.12", + "@annotorious/react": "^3.0.12", "@floating-ui/react": "^0.26.27", "@recogito/text-annotator": "3.0.0-rc.51", "@recogito/text-annotator-tei": "3.0.0-rc.51", @@ -4432,9 +4423,9 @@ "react": "^18.3.1", "react-dom": "^18.3.1", "typescript": "5.6.3", - "vite": "^5.4.10", + "vite": "^5.4.11", "vite-plugin-dts": "^4.3.0", - "vite-tsconfig-paths": "^5.1.0" + "vite-tsconfig-paths": "^5.1.2" }, "peerDependencies": { "openseadragon": "^3.0.0 || ^4.0.0 || ^5.0.0", diff --git a/packages/extension-tei/package.json b/packages/extension-tei/package.json index 984f8531..7d909828 100644 --- a/packages/extension-tei/package.json +++ b/packages/extension-tei/package.json @@ -28,11 +28,11 @@ "devDependencies": { "CETEIcean": "^1.9.3", "typescript": "5.6.3", - "vite": "^5.4.10", + "vite": "^5.4.11", "vite-plugin-dts": "^4.3.0" }, "peerDependencies": { - "@annotorious/core": "^3.0.11", + "@annotorious/core": "^3.0.12", "@recogito/text-annotator": "3.0.0-rc.51" } } \ No newline at end of file diff --git a/packages/text-annotator-react/package.json b/packages/text-annotator-react/package.json index ec0e4042..21300e9f 100644 --- a/packages/text-annotator-react/package.json +++ b/packages/text-annotator-react/package.json @@ -29,9 +29,9 @@ "react": "^18.3.1", "react-dom": "^18.3.1", "typescript": "5.6.3", - "vite": "^5.4.10", + "vite": "^5.4.11", "vite-plugin-dts": "^4.3.0", - "vite-tsconfig-paths": "^5.1.0" + "vite-tsconfig-paths": "^5.1.2" }, "peerDependencies": { "openseadragon": "^3.0.0 || ^4.0.0 || ^5.0.0", @@ -44,8 +44,8 @@ } }, "dependencies": { - "@annotorious/core": "^3.0.11", - "@annotorious/react": "^3.0.11", + "@annotorious/core": "^3.0.12", + "@annotorious/react": "^3.0.12", "@floating-ui/react": "^0.26.27", "@recogito/text-annotator": "3.0.0-rc.51", "@recogito/text-annotator-tei": "3.0.0-rc.51", diff --git a/packages/text-annotator-react/src/TextAnnotatorPopup/TextAnnotatorPopup.css b/packages/text-annotator-react/src/TextAnnotatorPopup/TextAnnotationPopup.css similarity index 100% rename from packages/text-annotator-react/src/TextAnnotatorPopup/TextAnnotatorPopup.css rename to packages/text-annotator-react/src/TextAnnotatorPopup/TextAnnotationPopup.css diff --git a/packages/text-annotator-react/src/TextAnnotatorPopup/TextAnnotatorPopup.tsx b/packages/text-annotator-react/src/TextAnnotatorPopup/TextAnnotationPopup.tsx similarity index 91% rename from packages/text-annotator-react/src/TextAnnotatorPopup/TextAnnotatorPopup.tsx rename to packages/text-annotator-react/src/TextAnnotatorPopup/TextAnnotationPopup.tsx index 12d4adc4..7f62e990 100644 --- a/packages/text-annotator-react/src/TextAnnotatorPopup/TextAnnotatorPopup.tsx +++ b/packages/text-annotator-react/src/TextAnnotatorPopup/TextAnnotationPopup.tsx @@ -19,7 +19,7 @@ import { useRole } from '@floating-ui/react'; -import './TextAnnotatorPopup.css'; +import './TextAnnotationPopup.css'; interface TextAnnotationPopupProps { @@ -39,11 +39,11 @@ export interface TextAnnotationPopupContentProps { editable?: boolean; - event?: PointerEvent; + event?: PointerEvent | KeyboardEvent; } -export const TextAnnotatorPopup = (props: TextAnnotationPopupProps) => { +export const TextAnnotationPopup = (props: TextAnnotationPopupProps) => { const r = useAnnotator(); @@ -177,3 +177,14 @@ const getStopEventsPropagationProps = () => onMouseDown: (event: React.MouseEvent) => event.stopPropagation(), onMouseUp: (event: React.MouseEvent) => event.stopPropagation() }); + +/** For backwards compatibility **/ +/** @deprecated Use TextAnnotationPopup instead */ +export const TextAnnotatorPopup = (props: TextAnnotationPopupProps) => { + + useEffect(() => { + console.warn('TextAnnotatorPopup is deprecated and will be removed in a future version. Please use TextAnnotationPopup instead.'); + }, []); + + return ; +}; diff --git a/packages/text-annotator-react/src/TextAnnotatorPopup/index.ts b/packages/text-annotator-react/src/TextAnnotatorPopup/index.ts index 259f9b65..0f8139ae 100644 --- a/packages/text-annotator-react/src/TextAnnotatorPopup/index.ts +++ b/packages/text-annotator-react/src/TextAnnotatorPopup/index.ts @@ -1 +1 @@ -export * from './TextAnnotatorPopup'; +export * from './TextAnnotationPopup'; diff --git a/packages/text-annotator/package.json b/packages/text-annotator/package.json index 1b019b2b..390defb9 100644 --- a/packages/text-annotator/package.json +++ b/packages/text-annotator/package.json @@ -30,16 +30,16 @@ "@types/rbush": "^4.0.0", "jsdom": "^25.0.1", "typescript": "5.6.3", - "vite": "^5.4.10", + "vite": "^5.4.11", "vite-plugin-dts": "^4.3.0", "vitest": "^2.1.4" }, "dependencies": { - "@annotorious/core": "^3.0.11", + "@annotorious/core": "^3.0.12", "colord": "^2.9.3", "dequal": "^2.0.3", "hotkeys-js": "^3.13.7", "rbush": "^4.0.1", - "uuid": "^11.0.2" + "uuid": "^11.0.3" } } \ No newline at end of file diff --git a/packages/text-annotator/src/SelectionHandler.ts b/packages/text-annotator/src/SelectionHandler.ts index 510932bd..626a74a8 100644 --- a/packages/text-annotator/src/SelectionHandler.ts +++ b/packages/text-annotator/src/SelectionHandler.ts @@ -15,6 +15,7 @@ import { trimRangeToContainer, isNotAnnotatable } from './utils'; +import type { TextAnnotatorOptions } from './TextAnnotatorOptions'; const CLICK_TIMEOUT = 300; @@ -30,12 +31,13 @@ const SELECTION_KEYS = [ export const SelectionHandler = ( container: HTMLElement, state: TextAnnotatorState, - annotatingEnabled: boolean, - offsetReferenceSelector?: string + options: TextAnnotatorOptions ) => { let currentUser: User | undefined; + const { annotatingEnabled, offsetReferenceSelector, selectionMode } = options; + const setUser = (user?: User) => currentUser = user; let currentFilter: Filter | undefined; @@ -179,14 +181,20 @@ export const SelectionHandler = ( const hovered = evt.target instanceof Node && container.contains(evt.target) && - store.getAt(evt.clientX - x, evt.clientY - y, currentFilter); + store.getAt(evt.clientX - x, evt.clientY - y, selectionMode === 'all', currentFilter); if (hovered) { const { selected } = selection; - if (selected.length !== 1 || selected[0].id !== hovered.id) { - selection.userSelect(hovered.id, evt); - } + const currentIds = new Set(selected.map(s => s.id)); + const nextIds = Array.isArray(hovered) ? hovered.map(a => a.id) : [hovered.id]; + + const hasChanged = + currentIds.size !== nextIds.length || + !nextIds.every(id => currentIds.has(id)); + + if (hasChanged) + selection.userSelect(nextIds, evt); } else { selection.clear(); } diff --git a/packages/text-annotator/src/TextAnnotator.ts b/packages/text-annotator/src/TextAnnotator.ts index a6995347..81a604a5 100644 --- a/packages/text-annotator/src/TextAnnotator.ts +++ b/packages/text-annotator/src/TextAnnotator.ts @@ -76,7 +76,7 @@ export const createTextAnnotator = ( if (opts.style) highlightRenderer.setStyle(opts.style); - const selectionHandler = SelectionHandler(container, state, opts.annotatingEnabled, opts.offsetReferenceSelector); + const selectionHandler = SelectionHandler(container, state, opts); selectionHandler.setUser(currentUser); /*************************/ diff --git a/packages/text-annotator/src/TextAnnotatorOptions.ts b/packages/text-annotator/src/TextAnnotatorOptions.ts index d31eace6..bd9ced93 100644 --- a/packages/text-annotator/src/TextAnnotatorOptions.ts +++ b/packages/text-annotator/src/TextAnnotatorOptions.ts @@ -17,6 +17,8 @@ export interface TextAnnotatorOptions { const {x, y} = container.getBoundingClientRect(); - const hit = store.getAt(event.clientX - x, event.clientY - y, currentFilter); + const hit = store.getAt(event.clientX - x, event.clientY - y, false, currentFilter); if (hit) { if (hover.current !== hit.id) { container.classList.add('hovered'); diff --git a/packages/text-annotator/src/state/TextAnnotationStore.ts b/packages/text-annotator/src/state/TextAnnotationStore.ts index 7b81e2b1..8e277ecc 100644 --- a/packages/text-annotator/src/state/TextAnnotationStore.ts +++ b/packages/text-annotator/src/state/TextAnnotationStore.ts @@ -15,7 +15,9 @@ export interface TextAnnotationStore getAnnotationRects(id: string): DOMRect[]; - getAt(x: number, y: number, filter?: Filter): T | undefined; + getAt(x: number, y: number, all: true, filter?: Filter): T[] | undefined; + getAt(x: number, y: number, all: false, filter?: Filter): T | undefined; + getAt(x: number, y: number, all?: boolean, filter?: Filter): T | T[] | undefined; getIntersecting(minX: number, minY: number, maxX: number, maxY: number): AnnotationRects[]; diff --git a/packages/text-annotator/src/state/TextAnnotatorState.ts b/packages/text-annotator/src/state/TextAnnotatorState.ts index 7942f202..f5662303 100644 --- a/packages/text-annotator/src/state/TextAnnotatorState.ts +++ b/packages/text-annotator/src/state/TextAnnotatorState.ts @@ -1,4 +1,4 @@ -import type { Filter, Store, ViewportState, UserSelectActionExpression, Annotation } from '@annotorious/core'; +import type { Filter, Store, ViewportState, UserSelectActionExpression } from '@annotorious/core'; import { createHoverState, createSelectionState, @@ -99,10 +99,19 @@ export const createTextAnnotatorState = { - const annotations = tree.getAt(x, y, Boolean(filter)).map(id => store.getAnnotation(id)); + function getAt(x: number, y: number, all: true, filter?: Filter): I[] | undefined; + function getAt(x: number, y: number, all: false, filter?: Filter): I | undefined; + function getAt(x: number, y: number, all?: boolean, filter?: Filter): I | I[] | undefined { + const getAll = all || Boolean(filter); + + const annotations = tree.getAt(x, y, getAll).map(id => store.getAnnotation(id)); + const filtered = filter ? annotations.filter(filter) : annotations; - return filtered.length > 0 ? filtered[0] : undefined; + + if (filtered.length === 0) + return undefined; + + return all ? filtered : filtered[0]; } const getAnnotationBounds = (id: string, x?: number, y?: number, buffer = 5): DOMRect => { diff --git a/packages/text-annotator/test/index.html b/packages/text-annotator/test/index.html index 04aea80b..4f17b699 100644 --- a/packages/text-annotator/test/index.html +++ b/packages/text-annotator/test/index.html @@ -304,6 +304,7 @@

Not annotatable block!

adapter: W3CTextFormat('https://www.gutenberg.org', contentContainer), renderer: 'SPANS', // annotatingEnabled: false, + // selectionMode: 'all', style }); From b184c8232db6bc167e5230c2cc11461db0df6b58 Mon Sep 17 00:00:00 2001 From: Rainer Simon Date: Mon, 11 Nov 2024 12:02:34 +0100 Subject: [PATCH 17/22] Renamed default selectionMode --- packages/text-annotator/src/TextAnnotatorOptions.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/text-annotator/src/TextAnnotatorOptions.ts b/packages/text-annotator/src/TextAnnotatorOptions.ts index bd9ced93..875ab9a1 100644 --- a/packages/text-annotator/src/TextAnnotatorOptions.ts +++ b/packages/text-annotator/src/TextAnnotatorOptions.ts @@ -17,7 +17,7 @@ export interface TextAnnotatorOptions Date: Mon, 11 Nov 2024 12:03:22 +0100 Subject: [PATCH 18/22] Revert "Renamed default selectionMode" This reverts commit b184c8232db6bc167e5230c2cc11461db0df6b58. --- packages/text-annotator/src/TextAnnotatorOptions.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/text-annotator/src/TextAnnotatorOptions.ts b/packages/text-annotator/src/TextAnnotatorOptions.ts index 875ab9a1..bd9ced93 100644 --- a/packages/text-annotator/src/TextAnnotatorOptions.ts +++ b/packages/text-annotator/src/TextAnnotatorOptions.ts @@ -17,7 +17,7 @@ export interface TextAnnotatorOptions Date: Mon, 11 Nov 2024 12:16:01 +0100 Subject: [PATCH 19/22] Renaming --- .../TextAnnotationPopup.css | 0 .../TextAnnotationPopup.tsx | 0 .../src/{TextAnnotatorPopup => TextAnnotationPopup}/index.ts | 0 .../src/{TextAnnotatorPopup => TextAnnotationPopup}/isMobile.ts | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename packages/text-annotator-react/src/{TextAnnotatorPopup => TextAnnotationPopup}/TextAnnotationPopup.css (100%) rename packages/text-annotator-react/src/{TextAnnotatorPopup => TextAnnotationPopup}/TextAnnotationPopup.tsx (100%) rename packages/text-annotator-react/src/{TextAnnotatorPopup => TextAnnotationPopup}/index.ts (100%) rename packages/text-annotator-react/src/{TextAnnotatorPopup => TextAnnotationPopup}/isMobile.ts (100%) diff --git a/packages/text-annotator-react/src/TextAnnotatorPopup/TextAnnotationPopup.css b/packages/text-annotator-react/src/TextAnnotationPopup/TextAnnotationPopup.css similarity index 100% rename from packages/text-annotator-react/src/TextAnnotatorPopup/TextAnnotationPopup.css rename to packages/text-annotator-react/src/TextAnnotationPopup/TextAnnotationPopup.css diff --git a/packages/text-annotator-react/src/TextAnnotatorPopup/TextAnnotationPopup.tsx b/packages/text-annotator-react/src/TextAnnotationPopup/TextAnnotationPopup.tsx similarity index 100% rename from packages/text-annotator-react/src/TextAnnotatorPopup/TextAnnotationPopup.tsx rename to packages/text-annotator-react/src/TextAnnotationPopup/TextAnnotationPopup.tsx diff --git a/packages/text-annotator-react/src/TextAnnotatorPopup/index.ts b/packages/text-annotator-react/src/TextAnnotationPopup/index.ts similarity index 100% rename from packages/text-annotator-react/src/TextAnnotatorPopup/index.ts rename to packages/text-annotator-react/src/TextAnnotationPopup/index.ts diff --git a/packages/text-annotator-react/src/TextAnnotatorPopup/isMobile.ts b/packages/text-annotator-react/src/TextAnnotationPopup/isMobile.ts similarity index 100% rename from packages/text-annotator-react/src/TextAnnotatorPopup/isMobile.ts rename to packages/text-annotator-react/src/TextAnnotationPopup/isMobile.ts From 1400ee506a1709dce35d15b500fef91bc9d97cdd Mon Sep 17 00:00:00 2001 From: Rainer Simon Date: Mon, 11 Nov 2024 12:20:19 +0100 Subject: [PATCH 20/22] Bugfix: export regression --- packages/text-annotator-react/src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/text-annotator-react/src/index.ts b/packages/text-annotator-react/src/index.ts index 645d635f..f67af5d3 100644 --- a/packages/text-annotator-react/src/index.ts +++ b/packages/text-annotator-react/src/index.ts @@ -1,6 +1,6 @@ export * from './tei'; export * from './TextAnnotator'; -export * from './TextAnnotatorPopup'; +export * from './TextAnnotationPopup'; export * from './TextAnnotatorPlugin'; // Essential re-exports from @annotorious/core From 9651a51105bfe14b2d2657b72252ab57fc05362a Mon Sep 17 00:00:00 2001 From: Rainer Simon Date: Mon, 11 Nov 2024 12:21:50 +0100 Subject: [PATCH 21/22] Fixed deprecation --- packages/text-annotator-react/test/App.tsx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/text-annotator-react/test/App.tsx b/packages/text-annotator-react/test/App.tsx index 25b543e9..3e6db393 100644 --- a/packages/text-annotator-react/test/App.tsx +++ b/packages/text-annotator-react/test/App.tsx @@ -1,6 +1,6 @@ import React, { FC, useCallback, useEffect } from 'react'; import { AnnotationBody, Annotorious, useAnnotationStore, useAnnotator } from '@annotorious/react'; -import { TextAnnotationPopupContentProps, TextAnnotator, TextAnnotatorPopup } from '../src'; +import { TextAnnotationPopup, TextAnnotationPopupContentProps, TextAnnotator } from '../src'; import { W3CTextFormat, type TextAnnotation, type TextAnnotator as RecogitoTextAnnotator } from '@recogito/text-annotator'; const TestPopup: FC = (props) => { @@ -67,7 +67,8 @@ export const App: FC = () => { return ( - +

Tell me, O muse, of that ingenious hero who travelled far and wide after he had sacked the famous town of Troy. Many cities did he @@ -189,7 +190,7 @@ export const App: FC = () => {

- Date: Mon, 11 Nov 2024 12:23:08 +0100 Subject: [PATCH 22/22] v3.0.0-rc.52 --- package-lock.json | 16 ++++++++-------- package.json | 2 +- packages/extension-tei/package.json | 4 ++-- packages/text-annotator-react/package.json | 6 +++--- packages/text-annotator/package.json | 2 +- 5 files changed, 15 insertions(+), 15 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1ce4a268..728fe47b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@recogito/text-annotator-monorepo", - "version": "3.0.0-rc.51", + "version": "3.0.0-rc.52", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@recogito/text-annotator-monorepo", - "version": "3.0.0-rc.51", + "version": "3.0.0-rc.52", "license": "BSD-3-Clause", "workspaces": [ "./packages/text-annotator", @@ -4370,7 +4370,7 @@ }, "packages/extension-tei": { "name": "@recogito/text-annotator-tei", - "version": "3.0.0-rc.51", + "version": "3.0.0-rc.52", "license": "BSD-3-Clause", "devDependencies": { "CETEIcean": "^1.9.3", @@ -4380,12 +4380,12 @@ }, "peerDependencies": { "@annotorious/core": "^3.0.12", - "@recogito/text-annotator": "3.0.0-rc.51" + "@recogito/text-annotator": "3.0.0-rc.52" } }, "packages/text-annotator": { "name": "@recogito/text-annotator", - "version": "3.0.0-rc.51", + "version": "3.0.0-rc.52", "license": "BSD-3-Clause", "dependencies": { "@annotorious/core": "^3.0.12", @@ -4407,14 +4407,14 @@ }, "packages/text-annotator-react": { "name": "@recogito/react-text-annotator", - "version": "3.0.0-rc.51", + "version": "3.0.0-rc.52", "license": "BSD-3-Clause", "dependencies": { "@annotorious/core": "^3.0.12", "@annotorious/react": "^3.0.12", "@floating-ui/react": "^0.26.27", - "@recogito/text-annotator": "3.0.0-rc.51", - "@recogito/text-annotator-tei": "3.0.0-rc.51", + "@recogito/text-annotator": "3.0.0-rc.52", + "@recogito/text-annotator-tei": "3.0.0-rc.52", "CETEIcean": "^1.9.3" }, "devDependencies": { diff --git a/package.json b/package.json index a7f54451..3fdc7213 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@recogito/text-annotator-monorepo", - "version": "3.0.0-rc.51", + "version": "3.0.0-rc.52", "description": "Recogito Text Annotator monorepo", "author": "Rainer Simon", "repository": { diff --git a/packages/extension-tei/package.json b/packages/extension-tei/package.json index 7d909828..81396ee7 100644 --- a/packages/extension-tei/package.json +++ b/packages/extension-tei/package.json @@ -1,6 +1,6 @@ { "name": "@recogito/text-annotator-tei", - "version": "3.0.0-rc.51", + "version": "3.0.0-rc.52", "description": "Recogito Text Annotator TEI extension", "author": "Rainer Simon", "license": "BSD-3-Clause", @@ -33,6 +33,6 @@ }, "peerDependencies": { "@annotorious/core": "^3.0.12", - "@recogito/text-annotator": "3.0.0-rc.51" + "@recogito/text-annotator": "3.0.0-rc.52" } } \ No newline at end of file diff --git a/packages/text-annotator-react/package.json b/packages/text-annotator-react/package.json index 21300e9f..5d30334f 100644 --- a/packages/text-annotator-react/package.json +++ b/packages/text-annotator-react/package.json @@ -1,6 +1,6 @@ { "name": "@recogito/react-text-annotator", - "version": "3.0.0-rc.51", + "version": "3.0.0-rc.52", "description": "Recogito Text Annotator React bindings", "author": "Rainer Simon", "license": "BSD-3-Clause", @@ -47,8 +47,8 @@ "@annotorious/core": "^3.0.12", "@annotorious/react": "^3.0.12", "@floating-ui/react": "^0.26.27", - "@recogito/text-annotator": "3.0.0-rc.51", - "@recogito/text-annotator-tei": "3.0.0-rc.51", + "@recogito/text-annotator": "3.0.0-rc.52", + "@recogito/text-annotator-tei": "3.0.0-rc.52", "CETEIcean": "^1.9.3" } } \ No newline at end of file diff --git a/packages/text-annotator/package.json b/packages/text-annotator/package.json index 390defb9..7c9d5d40 100644 --- a/packages/text-annotator/package.json +++ b/packages/text-annotator/package.json @@ -1,6 +1,6 @@ { "name": "@recogito/text-annotator", - "version": "3.0.0-rc.51", + "version": "3.0.0-rc.52", "description": "A JavaScript text annotation library", "author": "Rainer Simon", "license": "BSD-3-Clause",