react-iiif-vault 2.0.7 → 2.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/bundle.d.ts CHANGED
@@ -315,6 +315,7 @@ type AnnotationRequestOptions = {
315
315
  };
316
316
  interface AtlasStore {
317
317
  mode: ViewerMode;
318
+ runtime: Runtime | null;
318
319
  tool: {
319
320
  enabled: boolean;
320
321
  requestId: string | null;
@@ -387,13 +388,22 @@ interface AtlasStore {
387
388
  cancelRequest(requestId?: string): void;
388
389
  reset(): void;
389
390
  changeMode(mode: ViewerMode): void;
390
- nudgeLeft(): void;
391
- nudgeRight(): void;
392
- nudgeUp(): void;
393
- nudgeDown(): void;
391
+ nudgeLeft(amount?: number): void;
392
+ nudgeRight(amount?: number): void;
393
+ nudgeUp(amount?: number): void;
394
+ nudgeDown(amount?: number): void;
394
395
  zoomIn(): void;
395
396
  zoomOut(): void;
396
397
  goHome(): void;
398
+ goToRegion(region: {
399
+ x: number;
400
+ y: number;
401
+ width: number;
402
+ height: number;
403
+ padding?: number;
404
+ immediate?: boolean;
405
+ }): void;
406
+ getRuntime(): Runtime | null;
397
407
  }
398
408
  declare function polygonToTarget(polygon: InputShape, on?: {
399
409
  width: number;
@@ -813,6 +823,7 @@ interface CanvasPanelProps {
813
823
  runtimeOptions?: any;
814
824
  renderPreset?: any;
815
825
  name?: string;
826
+ padding?: AtlasProps['homePaddingPx'];
816
827
  height?: number;
817
828
  spacing?: number;
818
829
  components?: {
@@ -2107,6 +2118,79 @@ declare const useVaultEffect: (callback: (vault: Vault) => void, deps?: any[]) =
2107
2118
 
2108
2119
  declare function useVaultSelector<T>(selector: (state: IIIFStore, vault: Vault) => T, deps?: any[]): T;
2109
2120
 
2121
+ type Rect = {
2122
+ x: number;
2123
+ y: number;
2124
+ width: number;
2125
+ height: number;
2126
+ };
2127
+ type Transition = {
2128
+ from: Rect;
2129
+ to: Rect;
2130
+ };
2131
+ declare const DEFAULT_BEZIER: [number, number, number, number];
2132
+ declare const DEFAULT_POLL_INTERVAL = 16;
2133
+ type EasingPreset = 'linear' | 'ease-in' | 'ease-out' | 'ease-in-out' | 'ease-in-cubic' | 'ease-out-cubic';
2134
+ declare const EASING_PRESETS: Record<EasingPreset, [number, number, number, number]>;
2135
+ declare function interpolateRect(a: Rect, b: Rect, t: number): Rect;
2136
+ declare function buildTransitions(initial: Rect, regions: Rect[]): Transition[];
2137
+ /**
2138
+ * Create a cubic-bezier easing function given control points [x1,y1,x2,y2].
2139
+ * Uses a numeric solve to invert x(t) -> t for a given x input.
2140
+ */
2141
+ declare function cubicBezierEasing([x1, y1, x2, y2]: [number, number, number, number]): (x: number) => number;
2142
+ /**
2143
+ * Map a progress value to a step index and local t in [0,1].
2144
+ * If progress < 0 returns index -1 and t 0. If progress >= transitions.length returns index = transitions.length and t 0.
2145
+ */
2146
+ declare function getStepFromProgress(progress: number, transitions: Transition[]): {
2147
+ index: number;
2148
+ t: number;
2149
+ };
2150
+
2151
+ type EasingInput = ((t: number) => number) | EasingPreset | [number, number, number, number];
2152
+ type UseViewportTourOptions = {
2153
+ initial: Rect;
2154
+ regions: Rect[];
2155
+ /** Provide either a numeric progress or a function that returns progress */
2156
+ progress?: number;
2157
+ getProgress?: () => number;
2158
+ enabled?: boolean;
2159
+ easing?: EasingInput;
2160
+ /** if true, report progress every tick; otherwise only when step index changes */
2161
+ reportEveryFrame?: boolean;
2162
+ pollInterval?: number;
2163
+ loop?: boolean;
2164
+ onEnter?: (index: number) => void;
2165
+ onExit?: (index: number) => void;
2166
+ onProgress?: (index: number, t: number) => void;
2167
+ /** optional callback to receive jump-to function for programmatic navigation */
2168
+ jumpTo?: (fn: (index: number) => void) => void;
2169
+ };
2170
+ declare function useViewportTour(options: UseViewportTourOptions): {
2171
+ transitions: Transition[];
2172
+ currentIndex: number;
2173
+ currentTransition: Transition | undefined;
2174
+ t: number;
2175
+ rect: Rect | undefined;
2176
+ jumpTo: (indexToJump: number) => void;
2177
+ };
2178
+
2179
+ type UseViewportScrollOptions = {
2180
+ axis?: 'y' | 'x';
2181
+ offset?: number;
2182
+ steps?: number;
2183
+ enabled?: boolean;
2184
+ };
2185
+ /**
2186
+ * Returns a progress value derived from scroll position of provided element.
2187
+ * The returned value is in range [0, steps].
2188
+ * Uses passive scroll listener + requestAnimationFrame for efficient updates.
2189
+ */
2190
+ declare function useViewportScroll(ref: {
2191
+ current: HTMLElement | null;
2192
+ } | null, options?: UseViewportScrollOptions): number;
2193
+
2110
2194
  interface VaultActivatedAnnotation {
2111
2195
  __vault?: Vault;
2112
2196
  bindToVault(vault: Vault): void;
@@ -2269,4 +2353,4 @@ declare function getManifestSequence(vault: Vault, manifestOrRange: ManifestNorm
2269
2353
  skipNonPaged?: boolean;
2270
2354
  }): [Reference<'Canvas'>[], number[][]];
2271
2355
 
2272
- export { AnnotationContext, AnnotationPageContext, type AnnotationPageDescription, type AnnotationRequest, type AnnotationRequestOptions, type AnnotationResponse, type AnnotationStrategyProps, AnnotationStyleProvider, type AnnotationStyles, type AnnotationThemeDefinition, type AtlasStore, type AtlasStoreEvents, AtlasStoreProvider, AtlasStoreReactContext, type AudioSequence, Auth, type AuthAccessState, type AuthContextActions, type AuthContextCurrentActions, type AuthContextState, AuthProvider, AuthRContext, AuthReactContext, AuthReactContextActions, type AuthState, CanvasAnnotations, CanvasContext, CanvasPanel, type CanvasPanelProps, CanvasStrategyProvider, CanvasWorldObject, type ChoiceEvents, CollectionContext, CombinedMetadata, ComplexTimelineProvider, type ComplexTimelineStrategy, ContextBridge, type ControlsContext, ControlsReactContext, type CreateAtlasStoreProps, CreateCustomShape, type CreateCustomShapeProps, CustomContextBridge, CustomContextBridgeProvider, DefaultEditingTools, type EmptyStrategy, EventEmitterProvider, EventsProvider, Image, type ImageProps, ImageService, ImageServiceLoaderContext, type ImageServiceLoaderType, type ImageServiceRequestOptions, type ImageStrategyProps, type ImageWithOptionalService, InnerViewerProvider, LanguageProvider, LanguageString, LocaleString, ManifestContext, ManifestMetadata, type MediaPlayerActions, MediaPlayerProvider, type MediaPlayerState, type MediaStrategy, Metadata, type MetadataProps, PolygonSelector, type PolygonSelectorProps, type ProbeStore, RangeContext, ReactEmitterContext, ReactEventContext, ReactVaultContext, RegionHighlight, Render3DModelStrategy, RenderAccompanyingCanvas, RenderAnnotation, RenderAnnotationEditing, RenderAnnotationPage, RenderAnnotationStrategy, RenderAudioStrategy, RenderComplexTimelineStrategy, type RenderContextProps, RenderEmptyStrategy, RenderImageStrategy, RenderSvgEditorControls, RenderTextualContentStrategy, RenderVideoStrategy, RenderYouTubeStrategy, type RenderingStrategy, ResizeWorldItem, type ResourceContextType, ResourceProvider, ResourceReactContext, type ResourceRequestOptions, type SVGTheme, SelectorControllerProvider, type SelectorHelperEventTypes, SequenceThumbnails, type SimpleViewerActions, type SimpleViewerActionsType, type SimpleViewerContext, type SimpleViewerProps, SimpleViewerProvider, SimpleViewerReactContext, type SimpleViewerReducerState, type Single3DModelStrategy, type SingleAudio, SingleCanvasThumbnail, type SingleImageStrategy, type SingleVideo, type SingleYouTubeVideo, type StrategyActions, type StrategyContext, StrategyReactContext, type SvgTheme, type TextContent, type TextualContentStrategy, ThumbnailFallbackImage, type TimelineKeyframe, TranslationProvider, TransliterationProvider, type UnknownStrategy, type UseRenderingStrategy, type UseRenderingStrategyOptions, type VaultActivatedAnnotation, VaultProvider, type VideoSequence, ViewerPresetContext, VirtualAnnotationProvider, VisibleCanvasReactContext, annotationResponseToSelector, authDetailsForResource, createAtlasStore, createAuthStateStore, createProbe, defaultEmitter, defaultSvgTheme, emptyActions, emptyStrategy, findAllCanvasesInRange, findFirstCanvasFromRange, findManifestSelectedRange, findSelectedRange, flattenAnnotationPageIds, formatTime, get3dStrategy, getAtlasStoreByName, getComplexTimelineStrategy, getDefaultAnnotationStyles, getImageStrategy, getManifestSequence, getParsedTargetSelector, getRenderingStrategy, getTextualContentStrategy, getVideoStrategy, getVisibleCanvasesFromCanvasId, hasAuth, isBoxSelector, isRectangle, isSvgSelector, makeAccessServiceRequest, makeAccessTokenRequest, parseSpecificResource, polygonToTarget, requestToAnnotationResponse, seraliseSupportedSelector, svgThemes, targetIntersects, unknownResponse, unsupportedStrategy, useAnnotation, useAnnotationPage, useAnnotationPageManager, useAnnotationStyles, useAnnotationsAtTime, useAtlasContextMenu, useAtlasStore, useAuthActions, useAuthService, useAuthStore, useAuthToken, useAuthTokens, useCanvas, useCanvasChoices, useCanvasClock, useCanvasSequence, useCanvasStartTime, useCanvasSubset, useClosestLanguage, useCollection, useComplexTimeline, useContextBridge, useContextMenuStore, useCreateLocaleString, useCurrentAnnotationActions, useCurrentAnnotationMetadata, useCurrentAnnotationRequest, useCurrentAnnotationTransition, useCurrentAuth, useCustomContextBridge, useDispatch, useEmitter, useEvent, useEventEmitter, useEventListener, useExistingVault, useExternalCollection, useExternalManifest, useExternalResource, useIIIFLanguage, useImage, useImageService, useImageServiceLoader, useImageTile, useIsAuthEnabled, useLoadImageService, useLocaleString, useManifest, useMediaActions, useMediaElements, useMediaState, usePaintables, usePaintingAnnotations, usePolygonHelper, useRange, useRemoteStylesheet, useRenderControls, useRenderingStrategy, useRequestAnnotation, useResourceContext, useResourceEvents, useResources, useSearchService, useSelectorController, useSelectorEmitter, useSelectorEvents, useSelectorHelper, useSimpleMediaPlayer, useSimpleViewer, useStaticRenderingStrategy, useStrategy, useStyleHelper, useStyles, useStylesheetStore, useSvgEditor, useSvgEditorControls, useThumbnail, useTranslations, useTransliteration, useVault, useVaultEffect, useVaultSelector, useViewerPreset, useVirtualAnnotationPage, useVirtualAnnotationPageContext, useVisibleCanvases };
2356
+ export { AnnotationContext, AnnotationPageContext, type AnnotationPageDescription, type AnnotationRequest, type AnnotationRequestOptions, type AnnotationResponse, type AnnotationStrategyProps, AnnotationStyleProvider, type AnnotationStyles, type AnnotationThemeDefinition, type AtlasStore, type AtlasStoreEvents, AtlasStoreProvider, AtlasStoreReactContext, type AudioSequence, Auth, type AuthAccessState, type AuthContextActions, type AuthContextCurrentActions, type AuthContextState, AuthProvider, AuthRContext, AuthReactContext, AuthReactContextActions, type AuthState, CanvasAnnotations, CanvasContext, CanvasPanel, type CanvasPanelProps, CanvasStrategyProvider, CanvasWorldObject, type ChoiceEvents, CollectionContext, CombinedMetadata, ComplexTimelineProvider, type ComplexTimelineStrategy, ContextBridge, type ControlsContext, ControlsReactContext, type CreateAtlasStoreProps, CreateCustomShape, type CreateCustomShapeProps, CustomContextBridge, CustomContextBridgeProvider, DEFAULT_BEZIER, DEFAULT_POLL_INTERVAL, DefaultEditingTools, EASING_PRESETS, type EasingInput, type EasingPreset, type EmptyStrategy, EventEmitterProvider, EventsProvider, Image, type ImageProps, ImageService, ImageServiceLoaderContext, type ImageServiceLoaderType, type ImageServiceRequestOptions, type ImageStrategyProps, type ImageWithOptionalService, InnerViewerProvider, LanguageProvider, LanguageString, LocaleString, ManifestContext, ManifestMetadata, type MediaPlayerActions, MediaPlayerProvider, type MediaPlayerState, type MediaStrategy, Metadata, type MetadataProps, PolygonSelector, type PolygonSelectorProps, type ProbeStore, RangeContext, ReactEmitterContext, ReactEventContext, ReactVaultContext, type Rect, RegionHighlight, Render3DModelStrategy, RenderAccompanyingCanvas, RenderAnnotation, RenderAnnotationEditing, RenderAnnotationPage, RenderAnnotationStrategy, RenderAudioStrategy, RenderComplexTimelineStrategy, type RenderContextProps, RenderEmptyStrategy, RenderImageStrategy, RenderSvgEditorControls, RenderTextualContentStrategy, RenderVideoStrategy, RenderYouTubeStrategy, type RenderingStrategy, ResizeWorldItem, type ResourceContextType, ResourceProvider, ResourceReactContext, type ResourceRequestOptions, type SVGTheme, SelectorControllerProvider, type SelectorHelperEventTypes, SequenceThumbnails, type SimpleViewerActions, type SimpleViewerActionsType, type SimpleViewerContext, type SimpleViewerProps, SimpleViewerProvider, SimpleViewerReactContext, type SimpleViewerReducerState, type Single3DModelStrategy, type SingleAudio, SingleCanvasThumbnail, type SingleImageStrategy, type SingleVideo, type SingleYouTubeVideo, type StrategyActions, type StrategyContext, StrategyReactContext, type SvgTheme, type TextContent, type TextualContentStrategy, ThumbnailFallbackImage, type TimelineKeyframe, type Transition, TranslationProvider, TransliterationProvider, type UnknownStrategy, type UseRenderingStrategy, type UseRenderingStrategyOptions, type UseViewportScrollOptions, type UseViewportTourOptions, type VaultActivatedAnnotation, VaultProvider, type VideoSequence, ViewerPresetContext, VirtualAnnotationProvider, VisibleCanvasReactContext, annotationResponseToSelector, authDetailsForResource, buildTransitions, createAtlasStore, createAuthStateStore, createProbe, cubicBezierEasing, defaultEmitter, defaultSvgTheme, emptyActions, emptyStrategy, findAllCanvasesInRange, findFirstCanvasFromRange, findManifestSelectedRange, findSelectedRange, flattenAnnotationPageIds, formatTime, get3dStrategy, getAtlasStoreByName, getComplexTimelineStrategy, getDefaultAnnotationStyles, getImageStrategy, getManifestSequence, getParsedTargetSelector, getRenderingStrategy, getStepFromProgress, getTextualContentStrategy, getVideoStrategy, getVisibleCanvasesFromCanvasId, hasAuth, interpolateRect, isBoxSelector, isRectangle, isSvgSelector, makeAccessServiceRequest, makeAccessTokenRequest, parseSpecificResource, polygonToTarget, requestToAnnotationResponse, seraliseSupportedSelector, svgThemes, targetIntersects, unknownResponse, unsupportedStrategy, useAnnotation, useAnnotationPage, useAnnotationPageManager, useAnnotationStyles, useAnnotationsAtTime, useAtlasContextMenu, useAtlasStore, useAuthActions, useAuthService, useAuthStore, useAuthToken, useAuthTokens, useCanvas, useCanvasChoices, useCanvasClock, useCanvasSequence, useCanvasStartTime, useCanvasSubset, useClosestLanguage, useCollection, useComplexTimeline, useContextBridge, useContextMenuStore, useCreateLocaleString, useCurrentAnnotationActions, useCurrentAnnotationMetadata, useCurrentAnnotationRequest, useCurrentAnnotationTransition, useCurrentAuth, useCustomContextBridge, useDispatch, useEmitter, useEvent, useEventEmitter, useEventListener, useExistingVault, useExternalCollection, useExternalManifest, useExternalResource, useIIIFLanguage, useImage, useImageService, useImageServiceLoader, useImageTile, useIsAuthEnabled, useLoadImageService, useLocaleString, useManifest, useMediaActions, useMediaElements, useMediaState, usePaintables, usePaintingAnnotations, usePolygonHelper, useRange, useRemoteStylesheet, useRenderControls, useRenderingStrategy, useRequestAnnotation, useResourceContext, useResourceEvents, useResources, useSearchService, useSelectorController, useSelectorEmitter, useSelectorEvents, useSelectorHelper, useSimpleMediaPlayer, useSimpleViewer, useStaticRenderingStrategy, useStrategy, useStyleHelper, useStyles, useStylesheetStore, useSvgEditor, useSvgEditorControls, useThumbnail, useTranslations, useTransliteration, useVault, useVaultEffect, useVaultSelector, useViewerPreset, useViewportScroll, useViewportTour, useVirtualAnnotationPage, useVirtualAnnotationPageContext, useVisibleCanvases };