react-iiif-vault 1.3.6 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ import{expandTarget as D}from"@iiif/helpers";function _(e){return e.type==="SpecificResource"?[e.source,{selector:e.selector}]:[e,{selector:null}]}function x(e,o){let{selector:n,source:s}=D(o);if(s.id!==e.id)return[null,s];let t={type:"BoxSelector",spatial:{x:0,y:0,width:Number(e.width),height:Number(e.height)}};return[n?n.type==="TemporalSelector"?{type:"TemporalBoxSelector",temporal:n.temporal,spatial:t.spatial}:n:null,s]}var K={makeChoice:()=>{}},T={type:"unknown"},m=e=>({type:"unknown",reason:e,annotations:{pages:[]}}),w=(e,o)=>({type:"empty",width:e,height:o,annotations:{pages:[]},image:null,images:[]});var A=["model/gltf-binary"];function v(e,o){let s=o.items[0].resource;return s.format?A.indexOf(s.format)===-1?m(`3D format: ${s.format} is unsupported`):{type:"3d-model",model:s}:m("Unknown format")}import{getImageServices as O}from"@iiif/parser/image-3";import{expandTarget as P}from"@iiif/helpers/annotation-targets";function C(e,o,n){let s=[];for(let t of o.items){let a=t.resource&&t.resource.type==="SpecificResource"?t.resource.source:t.resource;if(!a.id)return m("No resource Identifier");let c;if(a.service){let g=O(a);g[0]&&(c=n(g[0],e))}let y={type:"BoxSelector",spatial:{x:0,y:0,width:Number(e.width),height:Number(e.height)}},[u,i]=x(e,t.target),r=e.id?.split("?")[0]||"";if(!(i.id===e.id||decodeURIComponent(i.id||"")===(e.id||"")||i.id===r||decodeURIComponent(i.id||"")===r))continue;let l=t.resource.width&&t.resource.height?{type:"BoxSelector",spatial:{x:0,y:0,width:t.resource.width,height:t.resource.height}}:void 0,p=t.resource.type==="SpecificResource"?P(t.resource):null;if(t.selector){let g=P({type:"SpecificResource",source:t.resource,selector:t.selector});g&&(p=g)}let d=p&&p.selector&&(p.selector.type==="BoxSelector"||p.selector.type==="TemporalBoxSelector")?{type:"BoxSelector",spatial:{x:p.selector.spatial.x,y:p.selector.spatial.y,width:p.selector.spatial.width,height:p.selector.spatial.height}}:void 0;c&&!c.id&&(c.id=c["@id"]);let f={id:a.id,type:"Image",annotationId:t.annotationId,width:Number(u||d?a.width:e.width),height:Number(u||d?a.height:e.height),service:c,sizes:c&&c.sizes?c.sizes:a.width&&a.height?[{width:a.width,height:a.height}]:[],target:u&&u.type!=="PointSelector"?u:y,selector:d||{type:"BoxSelector",spatial:{x:0,y:0,width:Number(e.width),height:Number(e.height)}}};s.push(f)}return{type:"images",image:s[0],images:s,choice:o.choice}}function k(e,o={},n){let s=e.language||n||"none";switch(e.type){case"TextualBody":{typeof e.value<"u"&&(o[s]=[e.value]);break}case"List":case"Composite":case"Choice":e.items&&e.items.forEach(t=>k(t,o,s))}return o}function I(e,o){let n=[];return o.items.forEach(s=>{if(s.resource){let[t]=x(e,s.target);n.push({type:"Text",annotationId:s.annotationId,text:k(s.resource),target:t})}}),{type:"textual-content",items:n}}import{expandTarget as U,parseSelector as W}from"@iiif/helpers";var L=/^.*(?:(?:youtu\.be\/|v\/|vi\/|u\/\w\/|embed\/|shorts\/)|(?:(?:watch)?\?vi?=|&vi?=))([^#&?]*).*/;function b(e,o,n){let s=o.items.filter(d=>d.type==="video"),t=!1;if(e.duration||(t=!0),s.length>1)return m("Only one video source supported");let a=s[0]?.resource,c=!!(a.service||[]).find(d=>(d.profile||"").includes("youtube.com"));if(!c&&t)return m("Video does not have duration");if(!a)return m("Unknown video");if((!a.format||a.format==="text/html")&&!c)return m("Video does not have format");let y=[],u=n.get(e.annotations);for(let d of u){let f=n.get(d.items);for(let g of f)if((g.motivation?Array.isArray(g.motivation||"")?g.motivation:[g.motivation]:[]).includes("supplementing")){let V=n.get(g.body);for(let z of V){let h=z;if(h.type==="Choice")for(let B of h.items){let S=n.get(B);S.format==="text/vtt"&&y.push({id:S.id,type:"Text",format:"text/vtt",label:S.label,language:S.language})}else h.format==="text/vtt"&&y.push({id:h.id,type:"Text",format:"text/vtt",label:h.label,language:h.language})}}}let i=o.items[0],r={annotationId:o.items[0].annotationId,duration:e.duration,url:a.id,type:"Video",target:{type:"TemporalSelector",temporal:{startTime:0,endTime:e.duration}},format:a.format,selector:{type:"TemporalSelector",temporal:{startTime:0,endTime:e.duration}}},l=U(i.target);l.selector&&l.selector.type==="TemporalBoxSelector"&&(r.target=l.selector);let{selector:p}=W(i.selector);if(p===null){let d=r.target.temporal.startTime,g=(r.target.temporal.endTime||e.duration)-d;r.selector={type:"TemporalSelector",temporal:{startTime:0,endTime:g}}}else p.type==="TemporalSelector"&&(r.selector=p);if(c){r.type="VideoYouTube";let d=a.id.match(L);if(!d[1])return m("Video is not known youtube video");r.youTubeId=d[1]}return{type:"media",media:r,annotations:{pages:[]},captions:y}}function R(e,o,n,s){let t={type:"complex-timeline",items:[],keyframes:[],duration:e.duration||0},a={type:"complex-choice",items:[]};function c(i){i.choice&&(i.choice.type==="complex-choice"?a.items.push(...i.choice.items):a.items.push(i.choice))}for(let i of o.items){if(i.type==="image"){let r=C(e,{choice:null,allChoices:null,types:["image"],items:[i]},n);if(r.type==="images"){c(r),t.items.push(r.image);let l={id:r.image.annotationId,type:"enter",resourceType:"image",time:r.image.target?.temporal?.startTime||0};t.keyframes.push(l);let p={id:r.image.annotationId,type:"exit",resourceType:"image",time:r.image.target?.temporal?.endTime||e.duration||0};t.keyframes.push(p)}}if(i.type==="textualbody"){let r=I(e,{choice:null,allChoices:null,types:["textualbody"],items:[i]});if(r.type==="textual-content"){c(r);let l=r.items[0];t.items.push(l);let p=l.target,d={id:l.annotationId,type:"enter",resourceType:"text",time:p.temporal?.startTime||0};t.keyframes.push(d);let f={id:l.annotationId,type:"exit",resourceType:"text",time:p.temporal?.endTime||e.duration||0};t.keyframes.push(f)}}if(i.type==="video"){let r=b(e,{choice:null,allChoices:null,types:["video"],items:[i]},s);if(r.type==="media"){c(r);let l=r.media;t.items.push(l);let p={id:l.annotationId,type:"enter",resourceType:"video",time:l.target?.temporal?.startTime||0};t.keyframes.push(p);let d={id:l.annotationId,type:"exit",resourceType:"video",time:l.target?.temporal?.endTime||e.duration||0};t.keyframes.push(d)}}}t.keyframes.sort((i,r)=>i.time-r.time);let y=[],u=[];for(let i of t.keyframes){if(i.resourceType==="image"||i.resourceType==="text"){u.push(i);continue}if(i.type==="enter"){y.length===0&&(i.isPrime=!0),y.push(i),u.push(i);continue}if(i.type==="exit"&&(u.push(i),y=y.filter(r=>r.id!==i.id),y.length!==0)){let r=y[0],l={id:r.id,type:"change",isPrime:!0,resourceType:r.resourceType,time:i.time};u.push(l)}}return t.keyframes=u,a.items.length&&(t.choice=a),t}function N(e,o){if(!e.duration)return m("No duration on canvas");if(o.items.length>1)return m("Only one audio source supported");let n=o.items[0]?.resource;return n?n.format?{type:"media",media:{annotationId:o.items[0].annotationId,duration:e.duration,url:n.id,type:"Sound",target:{type:"TemporalSelector",temporal:{startTime:0,endTime:e.duration}},format:n.format,selector:{type:"TemporalSelector",temporal:{startTime:0,endTime:e.duration}}},annotations:{pages:[]}}:m("Audio does not have format"):m("Unknown audio")}function xe({canvas:e,paintables:o,supports:n,loadImageService:s,vault:t}){if(!e)return T;if(o.types.length===0)return n.indexOf("empty")!==-1?w(e.width,e.height):T;if(o.types.length!==1)if(o.types.length===2&&o.types.indexOf("text")!==-1)o.types=o.types.filter(c=>c!=="text");else return n.indexOf("complex-timeline")===-1?m("Complex timeline not supported"):R(e,o,s,t);let a=o.types[0];return a==="image"?n.indexOf("images")===-1?m("Image not supported"):C(e,o,s):a==="Model"||a==="model"?n.indexOf("3d-model")===-1?m("3D not supported"):v(e,o):a==="textualbody"?n.indexOf("textual-content")===-1?m("Textual content not supported"):I(e,o):a==="sound"||a==="audio"?n.indexOf("media")===-1?m("Media not supported"):N(e,o):a==="video"?n.indexOf("media")===-1?m("Media not supported"):b(e,o,t):T}export{_ as a,x as b,K as c,T as d,m as e,w as f,v as g,C as h,I as i,b as j,R as k,xe as l};
@@ -1,11 +1,10 @@
1
- import { ReactNode, FC, RefObject, ForwardRefExoticComponent, RefAttributes } from 'react';
1
+ import React__default, { ReactNode, FC, ComponentType, RefObject, ForwardRefExoticComponent, RefAttributes } from 'react';
2
2
  import * as react_jsx_runtime from 'react/jsx-runtime';
3
3
  import { AtlasProps, Preset, BoxStyle, ViewerMode } from '@atlas-viewer/atlas';
4
4
  import { AnnotationPage, Reference } from '@iiif/presentation-3';
5
- import { AnnotationPageNormalized } from '@iiif/presentation-3-normalized';
6
- import { S as StrategyActions, a as SingleImageStrategy, E as EmptyStrategy, M as MediaStrategy, C as ComplexTimelineStrategy, R as RenderingStrategy, I as ImageWithOptionalService, b as SingleAudio, c as SingleVideo } from './useRenderingStrategy-2EaRC2Nc.cjs';
7
- import { ChoiceDescription, BoxSelector } from '@iiif/helpers';
8
- import { ImageCandidate } from '@atlas-viewer/iiif-image-api';
5
+ import { AnnotationPageNormalized, CanvasNormalized } from '@iiif/presentation-3-normalized';
6
+ import { S as SingleAudio, a as SingleVideo, M as MediaStrategy, b as StrategyActions, c as SingleImageStrategy, E as EmptyStrategy, C as ComplexTimelineStrategy, R as RenderingStrategy, I as ImageWithOptionalService } from './useRenderingStrategy-B03X9rQS.cjs';
7
+ import { ChoiceDescription, ImageCandidate, BoxSelector } from '@iiif/helpers';
9
8
  import { Vault } from '@iiif/helpers/vault';
10
9
 
11
10
  declare function Viewer({ children, errorFallback, outerContainerProps, worldScale: _worldScale, ...props }: AtlasProps & {
@@ -34,6 +33,38 @@ declare const RenderAnnotationPage: FC<{
34
33
  className?: string;
35
34
  }>;
36
35
 
36
+ interface AudioComponentProps {
37
+ media: SingleAudio;
38
+ startTime?: number | null;
39
+ children: ReactNode;
40
+ }
41
+ declare function AudioHTML({ media, startTime, children }: AudioComponentProps): react_jsx_runtime.JSX.Element;
42
+ declare function Audio({ media, mediaControlsDeps, audioCopmonent, children, }: {
43
+ media: SingleAudio;
44
+ mediaControlsDeps?: any[];
45
+ children: ReactNode;
46
+ audioCopmonent?: ComponentType<AudioComponentProps>;
47
+ }): null;
48
+
49
+ interface VideoComponentProps {
50
+ element: RefObject<HTMLVideoElement>;
51
+ media: SingleVideo;
52
+ playPause: () => void;
53
+ canvas: CanvasNormalized;
54
+ poster?: string;
55
+ startTime?: number;
56
+ captions?: MediaStrategy['captions'];
57
+ }
58
+ declare function VideoHTML({ element, media, startTime, playPause, poster }: VideoComponentProps): react_jsx_runtime.JSX.Element;
59
+ declare function Video({ media, mediaControlsDeps, children, videoComponent, captions, }: {
60
+ media: SingleVideo;
61
+ mediaControlsDeps?: any[];
62
+ children: ReactNode;
63
+ posterCanvasId?: string;
64
+ videoComponent?: ComponentType<VideoComponentProps>;
65
+ captions?: MediaStrategy['captions'];
66
+ }): null;
67
+
37
68
  type CanvasProps = {
38
69
  x?: number;
39
70
  y?: number;
@@ -51,6 +82,7 @@ type CanvasProps = {
51
82
  viewControlsDeps?: any[];
52
83
  renderMediaControls?: (strategy: MediaStrategy) => ReactNode;
53
84
  renderComplexTimelineControls?: (strategy: ComplexTimelineStrategy) => ReactNode;
85
+ complexTimelineControlsDeps?: any[];
54
86
  mediaControlsDeps?: any[];
55
87
  strategies?: Array<RenderingStrategy['type']>;
56
88
  backgroundStyle?: BoxStyle;
@@ -60,8 +92,12 @@ type CanvasProps = {
60
92
  ignoreSize?: boolean;
61
93
  throwOnUnknown?: boolean;
62
94
  onClickPaintingAnnotation?: (id: string, image: ImageWithOptionalService, e: any) => void;
95
+ components?: {
96
+ Video?: React__default.ComponentType<VideoComponentProps>;
97
+ Audio?: React__default.ComponentType<AudioComponentProps>;
98
+ };
63
99
  };
64
- declare function RenderCanvas({ x, y, onChoiceChange, registerActions, defaultChoices, isStatic, renderViewerControls, renderMediaControls, renderComplexTimelineControls, viewControlsDeps, mediaControlsDeps, strategies, throwOnUnknown, backgroundStyle, alwaysShowBackground, keepCanvasScale, enableSizes, enableYouTube, onClickPaintingAnnotation, children, }: CanvasProps): react_jsx_runtime.JSX.Element | null;
100
+ declare function RenderCanvas({ x, y, onChoiceChange, registerActions, defaultChoices, isStatic, renderViewerControls, renderMediaControls, renderComplexTimelineControls, complexTimelineControlsDeps, viewControlsDeps, mediaControlsDeps, strategies, throwOnUnknown, backgroundStyle, alwaysShowBackground, keepCanvasScale, enableSizes, enableYouTube, onClickPaintingAnnotation, components, children, }: CanvasProps): react_jsx_runtime.JSX.Element;
65
101
 
66
102
  declare function RenderImage({ id, image, thumbnail, isStatic, x, y, children, selector, onClick, enableSizes, }: {
67
103
  id: string;
@@ -124,33 +160,6 @@ type SimpleViewerActionsType = {
124
160
  };
125
161
  }[keyof SimpleViewerActions];
126
162
 
127
- declare function AudioHTML({ media, startTime, children, }: {
128
- media: SingleAudio;
129
- startTime?: number | null;
130
- children: ReactNode;
131
- }): react_jsx_runtime.JSX.Element;
132
- declare function Audio({ media, mediaControlsDeps, children, }: {
133
- media: SingleAudio;
134
- mediaControlsDeps?: any[];
135
- children: ReactNode;
136
- }): null;
137
-
138
- interface VideoComponentProps {
139
- element: RefObject<HTMLVideoElement>;
140
- media: SingleVideo;
141
- playPause: () => void;
142
- poster?: string;
143
- startTime?: number;
144
- }
145
- declare function VideoHTML({ element, media, startTime, playPause, poster }: VideoComponentProps): react_jsx_runtime.JSX.Element;
146
- declare function Video({ media, mediaControlsDeps, children, videoComponent, }: {
147
- media: SingleVideo;
148
- mediaControlsDeps?: any[];
149
- children: ReactNode;
150
- posterCanvasId?: string;
151
- videoComponent?: FC<VideoComponentProps>;
152
- }): null;
153
-
154
163
  declare function ModelHTML({ model }: {
155
164
  model: any;
156
165
  }): react_jsx_runtime.JSX.Element;
@@ -202,4 +211,4 @@ type CanvasPanelType = ForwardRefExoticComponent<CanvasPanelProps & RefAttribute
202
211
  };
203
212
  declare const CanvasPanel: CanvasPanelType;
204
213
 
205
- export { CanvasPanel as C, type SimpleViewerContext as S, type SimpleViewerProps as a, type SimpleViewerReducerState as b, type SimpleViewerActions as c, type SimpleViewerActionsType as d };
214
+ export { type AudioComponentProps as A, CanvasPanel as C, type SimpleViewerContext as S, type VideoComponentProps as V, type SimpleViewerProps as a, type SimpleViewerReducerState as b, type SimpleViewerActions as c, type SimpleViewerActionsType as d };
@@ -1,11 +1,10 @@
1
- import { ReactNode, FC, RefObject, ForwardRefExoticComponent, RefAttributes } from 'react';
1
+ import React__default, { ReactNode, FC, ComponentType, RefObject, ForwardRefExoticComponent, RefAttributes } from 'react';
2
2
  import * as react_jsx_runtime from 'react/jsx-runtime';
3
3
  import { AtlasProps, Preset, BoxStyle, ViewerMode } from '@atlas-viewer/atlas';
4
4
  import { AnnotationPage, Reference } from '@iiif/presentation-3';
5
- import { AnnotationPageNormalized } from '@iiif/presentation-3-normalized';
6
- import { S as StrategyActions, a as SingleImageStrategy, E as EmptyStrategy, M as MediaStrategy, C as ComplexTimelineStrategy, R as RenderingStrategy, I as ImageWithOptionalService, b as SingleAudio, c as SingleVideo } from './useRenderingStrategy-2EaRC2Nc.js';
7
- import { ChoiceDescription, BoxSelector } from '@iiif/helpers';
8
- import { ImageCandidate } from '@atlas-viewer/iiif-image-api';
5
+ import { AnnotationPageNormalized, CanvasNormalized } from '@iiif/presentation-3-normalized';
6
+ import { S as SingleAudio, a as SingleVideo, M as MediaStrategy, b as StrategyActions, c as SingleImageStrategy, E as EmptyStrategy, C as ComplexTimelineStrategy, R as RenderingStrategy, I as ImageWithOptionalService } from './useRenderingStrategy-B03X9rQS.js';
7
+ import { ChoiceDescription, ImageCandidate, BoxSelector } from '@iiif/helpers';
9
8
  import { Vault } from '@iiif/helpers/vault';
10
9
 
11
10
  declare function Viewer({ children, errorFallback, outerContainerProps, worldScale: _worldScale, ...props }: AtlasProps & {
@@ -34,6 +33,38 @@ declare const RenderAnnotationPage: FC<{
34
33
  className?: string;
35
34
  }>;
36
35
 
36
+ interface AudioComponentProps {
37
+ media: SingleAudio;
38
+ startTime?: number | null;
39
+ children: ReactNode;
40
+ }
41
+ declare function AudioHTML({ media, startTime, children }: AudioComponentProps): react_jsx_runtime.JSX.Element;
42
+ declare function Audio({ media, mediaControlsDeps, audioCopmonent, children, }: {
43
+ media: SingleAudio;
44
+ mediaControlsDeps?: any[];
45
+ children: ReactNode;
46
+ audioCopmonent?: ComponentType<AudioComponentProps>;
47
+ }): null;
48
+
49
+ interface VideoComponentProps {
50
+ element: RefObject<HTMLVideoElement>;
51
+ media: SingleVideo;
52
+ playPause: () => void;
53
+ canvas: CanvasNormalized;
54
+ poster?: string;
55
+ startTime?: number;
56
+ captions?: MediaStrategy['captions'];
57
+ }
58
+ declare function VideoHTML({ element, media, startTime, playPause, poster }: VideoComponentProps): react_jsx_runtime.JSX.Element;
59
+ declare function Video({ media, mediaControlsDeps, children, videoComponent, captions, }: {
60
+ media: SingleVideo;
61
+ mediaControlsDeps?: any[];
62
+ children: ReactNode;
63
+ posterCanvasId?: string;
64
+ videoComponent?: ComponentType<VideoComponentProps>;
65
+ captions?: MediaStrategy['captions'];
66
+ }): null;
67
+
37
68
  type CanvasProps = {
38
69
  x?: number;
39
70
  y?: number;
@@ -51,6 +82,7 @@ type CanvasProps = {
51
82
  viewControlsDeps?: any[];
52
83
  renderMediaControls?: (strategy: MediaStrategy) => ReactNode;
53
84
  renderComplexTimelineControls?: (strategy: ComplexTimelineStrategy) => ReactNode;
85
+ complexTimelineControlsDeps?: any[];
54
86
  mediaControlsDeps?: any[];
55
87
  strategies?: Array<RenderingStrategy['type']>;
56
88
  backgroundStyle?: BoxStyle;
@@ -60,8 +92,12 @@ type CanvasProps = {
60
92
  ignoreSize?: boolean;
61
93
  throwOnUnknown?: boolean;
62
94
  onClickPaintingAnnotation?: (id: string, image: ImageWithOptionalService, e: any) => void;
95
+ components?: {
96
+ Video?: React__default.ComponentType<VideoComponentProps>;
97
+ Audio?: React__default.ComponentType<AudioComponentProps>;
98
+ };
63
99
  };
64
- declare function RenderCanvas({ x, y, onChoiceChange, registerActions, defaultChoices, isStatic, renderViewerControls, renderMediaControls, renderComplexTimelineControls, viewControlsDeps, mediaControlsDeps, strategies, throwOnUnknown, backgroundStyle, alwaysShowBackground, keepCanvasScale, enableSizes, enableYouTube, onClickPaintingAnnotation, children, }: CanvasProps): react_jsx_runtime.JSX.Element | null;
100
+ declare function RenderCanvas({ x, y, onChoiceChange, registerActions, defaultChoices, isStatic, renderViewerControls, renderMediaControls, renderComplexTimelineControls, complexTimelineControlsDeps, viewControlsDeps, mediaControlsDeps, strategies, throwOnUnknown, backgroundStyle, alwaysShowBackground, keepCanvasScale, enableSizes, enableYouTube, onClickPaintingAnnotation, components, children, }: CanvasProps): react_jsx_runtime.JSX.Element;
65
101
 
66
102
  declare function RenderImage({ id, image, thumbnail, isStatic, x, y, children, selector, onClick, enableSizes, }: {
67
103
  id: string;
@@ -124,33 +160,6 @@ type SimpleViewerActionsType = {
124
160
  };
125
161
  }[keyof SimpleViewerActions];
126
162
 
127
- declare function AudioHTML({ media, startTime, children, }: {
128
- media: SingleAudio;
129
- startTime?: number | null;
130
- children: ReactNode;
131
- }): react_jsx_runtime.JSX.Element;
132
- declare function Audio({ media, mediaControlsDeps, children, }: {
133
- media: SingleAudio;
134
- mediaControlsDeps?: any[];
135
- children: ReactNode;
136
- }): null;
137
-
138
- interface VideoComponentProps {
139
- element: RefObject<HTMLVideoElement>;
140
- media: SingleVideo;
141
- playPause: () => void;
142
- poster?: string;
143
- startTime?: number;
144
- }
145
- declare function VideoHTML({ element, media, startTime, playPause, poster }: VideoComponentProps): react_jsx_runtime.JSX.Element;
146
- declare function Video({ media, mediaControlsDeps, children, videoComponent, }: {
147
- media: SingleVideo;
148
- mediaControlsDeps?: any[];
149
- children: ReactNode;
150
- posterCanvasId?: string;
151
- videoComponent?: FC<VideoComponentProps>;
152
- }): null;
153
-
154
163
  declare function ModelHTML({ model }: {
155
164
  model: any;
156
165
  }): react_jsx_runtime.JSX.Element;
@@ -202,4 +211,4 @@ type CanvasPanelType = ForwardRefExoticComponent<CanvasPanelProps & RefAttribute
202
211
  };
203
212
  declare const CanvasPanel: CanvasPanelType;
204
213
 
205
- export { CanvasPanel as C, type SimpleViewerContext as S, type SimpleViewerProps as a, type SimpleViewerReducerState as b, type SimpleViewerActions as c, type SimpleViewerActionsType as d };
214
+ export { type AudioComponentProps as A, CanvasPanel as C, type SimpleViewerContext as S, type VideoComponentProps as V, type SimpleViewerProps as a, type SimpleViewerReducerState as b, type SimpleViewerActions as c, type SimpleViewerActionsType as d };