@retoo/scena 0.0.1 → 0.1.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.
package/README.md CHANGED
@@ -2,9 +2,9 @@
2
2
 
3
3
  [![npm version](https://img.shields.io/npm/v/@retoo/scena)](https://www.npmjs.com/package/@retoo/scena)
4
4
  [![bundle size](https://img.shields.io/badge/gzipped-~30KB-blue)](https://use-retoo.github.io/scena/distribution/bundle-size)
5
- [![license](https://img.shields.io/npm/l/@retoo/scena)](./LICENSE.md)
5
+ [![license](https://img.shields.io/badge/license-PolyForm%20Shield%201.0.0-blue)](./LICENSE.md)
6
6
 
7
- Embeddable video widget for any website. Framework-agnostic, SSR-safe, ~26KB gzipped.
7
+ Embeddable video widget for any website. Framework-agnostic, SSR-safe, ~30KB gzipped.
8
8
 
9
9
  **[Documentation](https://use-retoo.github.io/scena)**
10
10
 
package/dist/index.d.ts CHANGED
@@ -2,8 +2,6 @@ export { default as Scena } from './app/entrypoint/ui/Scena.svelte';
2
2
 
3
3
  /** Event names emitted by the scena widget event bus. */
4
4
  declare enum ScenaEvent {
5
- /** Fired when the scena component is mounted in the DOM. */
6
- ON_SCENA_MOUNT = "scena:on-mount",
7
5
  /** Fired when the scena instance is destroyed. */
8
6
  ON_SCENA_DESTROY = "scena:on-destroy",
9
7
  /** Fired when the video element is ready for playback. */
@@ -131,6 +129,10 @@ declare enum OverrideLayer {
131
129
  PREVIEW = "preview"
132
130
  }
133
131
 
132
+ /** Shape of any component instance that exposes its DOM elements via `getElements()`. */
133
+ type ComponentRef<T> = {
134
+ getElements(): T;
135
+ };
134
136
  /** Inline styles — a raw CSS string or a partial `CSSStyleDeclaration` object. */
135
137
  type ComponentStyles = string | Partial<CSSStyleDeclaration>;
136
138
  /**
@@ -186,11 +188,13 @@ interface ScenaContainerProps {
186
188
  interface ScenaContainerSnippets {
187
189
  children: ComponentSnippet;
188
190
  }
191
+ /** DOM elements exposed by the outer container component. */
192
+ interface ScenaContainerElements {
193
+ root: HTMLDivElement | null;
194
+ }
189
195
  /** Component ref for the outer container. */
190
196
  interface ScenaContainerRef {
191
- getElements: () => {
192
- root: HTMLDivElement;
193
- };
197
+ getElements: () => ScenaContainerElements;
194
198
  }
195
199
 
196
200
  /** Possible values for `aria-pressed` on scena buttons. */
@@ -255,7 +259,7 @@ interface ScenaButtonSnippets {
255
259
  }
256
260
  /** DOM element references for the base button. */
257
261
  interface ScenaButtonElements {
258
- root: HTMLButtonElement;
262
+ root: HTMLButtonElement | null;
259
263
  }
260
264
 
261
265
  interface ScenaIconCustomClasses {
@@ -275,7 +279,7 @@ interface ScenaIconSnippets {
275
279
  children: ComponentSnippet;
276
280
  }
277
281
  interface ScenaIconElements {
278
- root: SVGSVGElement;
282
+ root: SVGSVGElement | null;
279
283
  }
280
284
 
281
285
  /** Custom CSS class overrides for the close button and its sub-components. */
@@ -290,6 +294,10 @@ interface ScenaCloseButtonComponentStyles {
290
294
  button: ComponentStyles;
291
295
  cross: ComponentStyles;
292
296
  }
297
+ /** Custom HTML override for the close button. */
298
+ interface ScenaCloseButtonComponentHtml {
299
+ button: string;
300
+ }
293
301
  /** Configuration props for the close button widget. */
294
302
  interface ScenaCloseButtonProps {
295
303
  id: string;
@@ -298,15 +306,18 @@ interface ScenaCloseButtonProps {
298
306
  aria: Partial<ComponentAriaProps>;
299
307
  customClasses: Partial<ScenaCloseButtonComponentClasses>;
300
308
  customStyles: Partial<ScenaCloseButtonComponentStyles>;
309
+ customHtml: Partial<ScenaCloseButtonComponentHtml>;
301
310
  onClick: (event: Event) => void;
302
311
  }
312
+ /** DOM elements exposed by the close button component. */
313
+ interface ScenaCloseButtonElements {
314
+ root: HTMLDivElement | null;
315
+ cross: ScenaIconElements | null;
316
+ button: ScenaButtonElements | null;
317
+ }
303
318
  /** Component ref for the close button. */
304
319
  interface ScenaCloseButtonRef {
305
- getElements: () => {
306
- root: HTMLDivElement;
307
- button: ScenaButtonElements | undefined;
308
- cross: ScenaIconElements | undefined;
309
- };
320
+ getElements: () => ScenaCloseButtonElements;
310
321
  }
311
322
 
312
323
  declare enum ScenaCtaButtonPlacement {
@@ -324,6 +335,10 @@ interface ScenaCtaButtonComponentStyles {
324
335
  root: ComponentStyles;
325
336
  button: ComponentStyles;
326
337
  }
338
+ /** Custom HTML override for the CTA button. */
339
+ interface ScenaCtaButtonComponentHtml {
340
+ button: string;
341
+ }
327
342
  /** Adaptive display settings for the CTA button across screen sizes. */
328
343
  interface ScenaCtaButtonAdaptive {
329
344
  sizes: ComponentSize[];
@@ -339,14 +354,17 @@ interface ScenaCtaButtonProps {
339
354
  aria: Partial<ComponentAriaProps>;
340
355
  customClasses: Partial<ScenaCtaButtonComponentClasses>;
341
356
  customStyles: Partial<ScenaCtaButtonComponentStyles>;
357
+ customHtml: Partial<ScenaCtaButtonComponentHtml>;
342
358
  onClick: (event: Event) => void;
343
359
  }
360
+ /** DOM elements exposed by the CTA button component. */
361
+ interface ScenaCtaButtonElements {
362
+ root: HTMLDivElement | null;
363
+ button: ScenaButtonElements | null;
364
+ }
344
365
  /** Component ref for the CTA button. */
345
366
  interface ScenaCtaButtonRef {
346
- getElements: () => {
347
- root: HTMLDivElement;
348
- button: ScenaButtonElements | undefined;
349
- };
367
+ getElements: () => ScenaCtaButtonElements;
350
368
  }
351
369
 
352
370
  /** Preload strategy for the `<video>` element. */
@@ -491,21 +509,22 @@ interface ScenaVideoSnippets {
491
509
  /** Options for creating the video controller. */
492
510
  interface UseVideoControllerOptions {
493
511
  /** Getter that returns the underlying `<video>` DOM element. */
494
- getVideoElement: () => HTMLVideoElement;
512
+ getVideoElement: () => HTMLVideoElement | null;
495
513
  /** Event emitter to broadcast video lifecycle events. */
496
514
  eventEmitter: ScenaEventEmitter;
497
515
  }
498
516
  /** Return value of `useVideoController` — combines reactive data, methods, and callbacks. */
499
517
  type UseVideoControllerReturns = ScenaVideoData & ScenaVideoMethods & ScenaVideoCallbacks;
518
+ /** DOM elements exposed by the video widget. */
519
+ interface ScenaVideoElements {
520
+ root: HTMLDivElement | null;
521
+ video: HTMLVideoElement | null;
522
+ }
500
523
  /** Component ref for the video widget. */
501
524
  interface ScenaVideoRef {
502
525
  /** Video playback controller. */
503
526
  controller: UseVideoControllerReturns;
504
- /** Returns references to the root wrapper and video DOM elements. */
505
- getElements: () => {
506
- root: HTMLDivElement;
507
- video: HTMLVideoElement;
508
- };
527
+ getElements: () => ScenaVideoElements;
509
528
  }
510
529
 
511
530
  declare function useVideoController({ getVideoElement, eventEmitter }: UseVideoControllerOptions): UseVideoControllerReturns;
@@ -534,11 +553,13 @@ interface ScenaVideoContainerProps {
534
553
  interface ScenaVideoContainerSnippets {
535
554
  children: ComponentSnippet;
536
555
  }
556
+ /** DOM elements exposed by the video container component. */
557
+ interface ScenaVideoContainerElements {
558
+ root: HTMLDivElement | null;
559
+ }
537
560
  /** Component ref for the video container. */
538
561
  interface ScenaVideoContainerRef {
539
- getElements: () => {
540
- root: HTMLDivElement;
541
- };
562
+ getElements: () => ScenaVideoContainerElements;
542
563
  }
543
564
 
544
565
  /** Custom CSS class overrides for the video play/pause controls. */
@@ -553,6 +574,11 @@ interface ScenaVideoControlsComponentStyles {
553
574
  play: ComponentStyles;
554
575
  pause: ComponentStyles;
555
576
  }
577
+ /** Custom HTML overrides for the video play/pause controls. */
578
+ interface ScenaVideoControlsComponentHtml {
579
+ play: string;
580
+ pause: string;
581
+ }
556
582
  /** Per-button ARIA overrides for video controls. */
557
583
  interface ScenaVideoControlsComponentAria {
558
584
  play: Partial<ComponentAriaProps>;
@@ -565,16 +591,19 @@ interface ScenaVideoControlsProps {
565
591
  aria: Partial<ScenaVideoControlsComponentAria>;
566
592
  customClasses: Partial<ScenaVideoControlsComponentClasses>;
567
593
  customStyles: Partial<ScenaVideoControlsComponentStyles>;
594
+ customHtml: Partial<ScenaVideoControlsComponentHtml>;
595
+ }
596
+ /** DOM elements exposed by the video controls component. */
597
+ interface ScenaVideoControlsElements {
598
+ root: HTMLDivElement | null;
599
+ pauseButton: ScenaButtonElements | null;
600
+ pauseIcon: ScenaIconElements | null;
601
+ playButton: ScenaButtonElements | null;
602
+ playIcon: ScenaIconElements | null;
568
603
  }
569
604
  /** Component ref for the video play/pause controls. */
570
605
  interface ScenaVideoControlsRef {
571
- getElements: () => {
572
- root: HTMLDivElement | null;
573
- pauseButton: ScenaButtonElements | undefined;
574
- pauseIcon: ScenaIconElements | undefined;
575
- playButton: ScenaButtonElements | undefined;
576
- playIcon: ScenaIconElements | undefined;
577
- };
606
+ getElements: () => ScenaVideoControlsElements;
578
607
  }
579
608
 
580
609
  /** Custom CSS class overrides for the loader spinner. */
@@ -594,7 +623,7 @@ interface ScenaLoaderProps {
594
623
  }
595
624
  /** DOM element references for the loader spinner. */
596
625
  interface ScenaLoaderElements {
597
- root: SVGSVGElement;
626
+ root: SVGSVGElement | null;
598
627
  }
599
628
 
600
629
  /** Custom CSS class overrides for the video loader widget. */
@@ -607,19 +636,26 @@ interface ScenaVideoLoaderComponentStyles {
607
636
  root: ComponentStyles;
608
637
  loader: ComponentStyles;
609
638
  }
639
+ /** Custom HTML override for the video loader. */
640
+ interface ScenaVideoLoaderComponentHtml {
641
+ loader: string;
642
+ }
610
643
  /** Configuration props for the video buffering/loading indicator. */
611
644
  interface ScenaVideoLoaderProps {
612
645
  id: string;
613
646
  size: ComponentSize;
614
647
  customClasses: Partial<ScenaVideoLoaderComponentClasses>;
615
648
  customStyles: Partial<ScenaVideoLoaderComponentStyles>;
649
+ customHtml: Partial<ScenaVideoLoaderComponentHtml>;
650
+ }
651
+ /** DOM elements exposed by the video loader component. */
652
+ interface ScenaVideoLoaderElements {
653
+ root: HTMLDivElement | null;
654
+ loader: ScenaLoaderElements | null;
616
655
  }
617
656
  /** Component ref for the video loader. */
618
657
  interface ScenaVideoLoaderRef {
619
- getElements: () => {
620
- root: HTMLDivElement;
621
- loader: ScenaLoaderElements | undefined;
622
- };
658
+ getElements: () => ScenaVideoLoaderElements;
623
659
  }
624
660
 
625
661
  declare enum ScenaVideoProgressVariant {
@@ -722,8 +758,8 @@ interface UseProgressLineReturn {
722
758
  /** Props accepted by the line progress hook. */
723
759
  interface UseProgressLineProps {
724
760
  getRootElement: () => HTMLElement;
725
- getSize: () => ComponentSize;
726
761
  getCustomThickness: () => ScenaProgressComponentThickness;
762
+ getSize: () => ComponentSize;
727
763
  getProgress: () => number;
728
764
  }
729
765
  /** Seek event callbacks used internally by the line progress hook. */
@@ -734,9 +770,9 @@ interface UseProgressLineEvents {
734
770
  }
735
771
  /** Props accepted by the circle progress hook. */
736
772
  interface UseProgressCircleProps {
737
- getRootElement: () => SVGSVGElement;
738
- getSize: () => ComponentSize;
773
+ getRootElement: () => SVGSVGElement | null;
739
774
  getCustomThickness: () => ScenaProgressComponentThickness;
775
+ getSize: () => ComponentSize;
740
776
  getProgress: () => number;
741
777
  getBuffer: () => number;
742
778
  }
@@ -758,14 +794,14 @@ interface UseProgressCircleReturnEvents {
758
794
  }
759
795
  /** DOM element references for the linear progress bar. */
760
796
  interface ScenaProgressLineElements {
761
- root: HTMLDivElement;
797
+ root: HTMLDivElement | null;
762
798
  track: HTMLDivElement;
763
799
  buffer: HTMLDivElement | null;
764
800
  progress: HTMLDivElement;
765
801
  }
766
802
  /** DOM element references for the circular progress indicator. */
767
803
  interface ScenaProgressCircleElements {
768
- root: SVGSVGElement;
804
+ root: SVGSVGElement | null;
769
805
  track: SVGCircleElement | null;
770
806
  buffer: SVGCircleElement | null;
771
807
  progress: SVGCircleElement | null;
@@ -823,9 +859,13 @@ interface ScenaVideoProgressProps {
823
859
  customClasses: Partial<ScenaVideoProgressComponentClasses>;
824
860
  customStyles: Partial<ScenaVideoProgressComponentStyles>;
825
861
  }
862
+ /** DOM elements exposed by the video progress component. */
863
+ interface ScenaVideoProgressElements {
864
+ root: ScenaProgressLineElements | ScenaProgressCircleElements | null;
865
+ }
826
866
  /** Component ref for the video progress bar. */
827
867
  interface ScenaVideoProgressRef {
828
- getElements: () => ScenaProgressLineElements | ScenaProgressCircleElements | null;
868
+ getElements: () => ScenaVideoProgressElements;
829
869
  }
830
870
 
831
871
  /** Custom CSS class overrides for the volume mute/unmute controls. */
@@ -840,6 +880,11 @@ interface ScenaVideoVolumeComponentStyles {
840
880
  mute: ComponentStyles;
841
881
  unmute: ComponentStyles;
842
882
  }
883
+ /** Custom HTML overrides for the volume mute/unmute controls. */
884
+ interface ScenaVideoVolumeComponentHtml {
885
+ mute: string;
886
+ unmute: string;
887
+ }
843
888
  /** Per-button ARIA overrides for volume controls. */
844
889
  interface ScenaVideoVolumeComponentAria {
845
890
  mute: Partial<ComponentAriaProps>;
@@ -853,16 +898,19 @@ interface ScenaVideoVolumeProps {
853
898
  aria: Partial<ScenaVideoVolumeComponentAria>;
854
899
  customClasses: Partial<ScenaVideoVolumeComponentClasses>;
855
900
  customStyles: Partial<ScenaVideoVolumeComponentStyles>;
901
+ customHtml: Partial<ScenaVideoVolumeComponentHtml>;
902
+ }
903
+ /** DOM elements exposed by the volume control component. */
904
+ interface ScenaVideoVolumeElements {
905
+ root: HTMLDivElement | null;
906
+ unmuteButton: ScenaButtonElements | null;
907
+ unmuteIcon: ScenaIconElements | null;
908
+ muteButton: ScenaButtonElements | null;
909
+ muteIcon: ScenaIconElements | null;
856
910
  }
857
911
  /** Component ref for the volume control widget. */
858
912
  interface ScenaVideoVolumeRef {
859
- getElements: () => {
860
- root: HTMLDivElement | null;
861
- unmuteButton: ScenaButtonElements | undefined;
862
- unmuteIcon: ScenaIconElements | undefined;
863
- muteButton: ScenaButtonElements | undefined;
864
- muteIcon: ScenaIconElements | undefined;
865
- };
913
+ getElements: () => ScenaVideoVolumeElements;
866
914
  }
867
915
 
868
916
  /** Return value of {@link useScenaOverrides}. */
@@ -1232,4 +1280,4 @@ declare const getScenaContext: () => ScenaContext;
1232
1280
  declare const setScenaContext: (context: ScenaContext) => ScenaContext;
1233
1281
 
1234
1282
  export { ComponentAriaHaspopup, ComponentAriaPressed, ComponentPlacement, ComponentPosition, ComponentShape, ComponentSize, OverrideLayer, ScenaButtonAriaHaspopup, ScenaButtonAriaPressed, ScenaButtonShape, ScenaButtonType, ScenaButtonVariant, ScenaCtaButtonPlacement, ScenaElement, ScenaEvent, ScenaVideoCrossOrigin, ScenaVideoPreload, ScenaVideoProgressVariant, ScenaVideoState, defineScenaElement, getScenaContext, getScenaElement, getScenaVideoContext, scenaProgressCircleThicknessMap, scenaProgressLineThicknessMap, setScenaContext, setScenaVideoContext, useEventEmitter, useProgressCircle, useProgressLine, useScena, useScenaConfig, useScenaOverrides, useScenaPreview, useScenaResponsive, useScenaVisibility, useVideoController };
1235
- export type { ComponentAriaProps, ComponentClasses, ComponentSnippet, ComponentSnippetReturn, ComponentStyles, ScenaApi, ScenaButtonComponentClasses, ScenaButtonComponentStyles, ScenaButtonElements, ScenaButtonEvents, ScenaButtonProps, ScenaButtonSnippets, ScenaCloseButtonComponentClasses, ScenaCloseButtonComponentStyles, ScenaCloseButtonProps, ScenaCloseButtonRef, ScenaComponents, ScenaConfig, ScenaConfigFeatures, ScenaConfigOverrides, ScenaContainerCustomClasses, ScenaContainerCustomStyles, ScenaContainerProps, ScenaContainerRef, ScenaContainerSnippets, ScenaContext, ScenaCtaButtonAdaptive, ScenaCtaButtonComponentClasses, ScenaCtaButtonComponentStyles, ScenaCtaButtonProps, ScenaCtaButtonRef, ScenaElementTag, ScenaEventEmitter, ScenaEventHandler, ScenaEventMap, ScenaFeatures, ScenaIconCustomClasses, ScenaIconCustomStyles, ScenaIconElements, ScenaIconProps, ScenaIconSnippets, ScenaInstance, ScenaLoaderCustomClasses, ScenaLoaderCustomStyles, ScenaLoaderElements, ScenaLoaderProps, ScenaOverrides, ScenaPreviewApi, ScenaPreviewConfig, ScenaProgressCircleComponentClasses, ScenaProgressCircleComponentStyles, ScenaProgressCircleElements, ScenaProgressCircleEvents, ScenaProgressCircleProps, ScenaProgressComponentThickness, ScenaProgressLineComponentClasses, ScenaProgressLineComponentStyles, ScenaProgressLineElements, ScenaProgressLineEvents, ScenaProgressLineProps, ScenaProgressThickness, ScenaProps, ScenaRef, ScenaResponsiveApi, ScenaResponsiveConfig, ScenaTarget, ScenaVideoCallbacks, ScenaVideoComponentClasses, ScenaVideoComponentStyles, ScenaVideoContainerCustomClasses, ScenaVideoContainerCustomStyles, ScenaVideoContainerProps, ScenaVideoContainerRef, ScenaVideoContainerSnippets, ScenaVideoContext, ScenaVideoControlsComponentAria, ScenaVideoControlsComponentClasses, ScenaVideoControlsComponentStyles, ScenaVideoControlsProps, ScenaVideoControlsRef, ScenaVideoData, ScenaVideoEventOptions, ScenaVideoEventOptionsWithError, ScenaVideoEventOptionsWithEvent, ScenaVideoLoaderComponentClasses, ScenaVideoLoaderComponentStyles, ScenaVideoLoaderProps, ScenaVideoLoaderRef, ScenaVideoMethods, ScenaVideoProgressComponentClasses, ScenaVideoProgressComponentStyles, ScenaVideoProgressComponentThickness, ScenaVideoProgressProps, ScenaVideoProgressRef, ScenaVideoProgressThickness, ScenaVideoProgressThicknessMap, ScenaVideoProps, ScenaVideoRef, ScenaVideoSnippets, ScenaVideoVolumeComponentAria, ScenaVideoVolumeComponentClasses, ScenaVideoVolumeComponentStyles, ScenaVideoVolumeProps, ScenaVideoVolumeRef, ScenaVisibilityApi, ScenaVisibilityConfig, UseProgressCircleEvents, UseProgressCircleProps, UseProgressCircleReturn, UseProgressCircleReturnEvents, UseProgressLineEvents, UseProgressLineProps, UseProgressLineReturn, UseProgressLineReturnEvents, UseScenaConfigReturns, UseScenaOverridesReturns, UseScenaPreviewOptions, UseScenaPreviewReturns, UseScenaResponsiveReturns, UseScenaReturns, UseScenaVisibilityReturns, UseVideoControllerOptions, UseVideoControllerReturns };
1283
+ export type { ComponentAriaProps, ComponentClasses, ComponentRef, ComponentSnippet, ComponentSnippetReturn, ComponentStyles, ScenaApi, ScenaButtonComponentClasses, ScenaButtonComponentStyles, ScenaButtonElements, ScenaButtonEvents, ScenaButtonProps, ScenaButtonSnippets, ScenaCloseButtonComponentClasses, ScenaCloseButtonComponentHtml, ScenaCloseButtonComponentStyles, ScenaCloseButtonElements, ScenaCloseButtonProps, ScenaCloseButtonRef, ScenaComponents, ScenaConfig, ScenaConfigFeatures, ScenaConfigOverrides, ScenaContainerCustomClasses, ScenaContainerCustomStyles, ScenaContainerElements, ScenaContainerProps, ScenaContainerRef, ScenaContainerSnippets, ScenaContext, ScenaCtaButtonAdaptive, ScenaCtaButtonComponentClasses, ScenaCtaButtonComponentHtml, ScenaCtaButtonComponentStyles, ScenaCtaButtonElements, ScenaCtaButtonProps, ScenaCtaButtonRef, ScenaElementTag, ScenaEventEmitter, ScenaEventHandler, ScenaEventMap, ScenaFeatures, ScenaIconCustomClasses, ScenaIconCustomStyles, ScenaIconElements, ScenaIconProps, ScenaIconSnippets, ScenaInstance, ScenaLoaderCustomClasses, ScenaLoaderCustomStyles, ScenaLoaderElements, ScenaLoaderProps, ScenaOverrides, ScenaPreviewApi, ScenaPreviewConfig, ScenaProgressCircleComponentClasses, ScenaProgressCircleComponentStyles, ScenaProgressCircleElements, ScenaProgressCircleEvents, ScenaProgressCircleProps, ScenaProgressComponentThickness, ScenaProgressLineComponentClasses, ScenaProgressLineComponentStyles, ScenaProgressLineElements, ScenaProgressLineEvents, ScenaProgressLineProps, ScenaProgressThickness, ScenaProps, ScenaRef, ScenaResponsiveApi, ScenaResponsiveConfig, ScenaTarget, ScenaVideoCallbacks, ScenaVideoComponentClasses, ScenaVideoComponentStyles, ScenaVideoContainerCustomClasses, ScenaVideoContainerCustomStyles, ScenaVideoContainerElements, ScenaVideoContainerProps, ScenaVideoContainerRef, ScenaVideoContainerSnippets, ScenaVideoContext, ScenaVideoControlsComponentAria, ScenaVideoControlsComponentClasses, ScenaVideoControlsComponentHtml, ScenaVideoControlsComponentStyles, ScenaVideoControlsElements, ScenaVideoControlsProps, ScenaVideoControlsRef, ScenaVideoData, ScenaVideoElements, ScenaVideoEventOptions, ScenaVideoEventOptionsWithError, ScenaVideoEventOptionsWithEvent, ScenaVideoLoaderComponentClasses, ScenaVideoLoaderComponentHtml, ScenaVideoLoaderComponentStyles, ScenaVideoLoaderElements, ScenaVideoLoaderProps, ScenaVideoLoaderRef, ScenaVideoMethods, ScenaVideoProgressComponentClasses, ScenaVideoProgressComponentStyles, ScenaVideoProgressComponentThickness, ScenaVideoProgressElements, ScenaVideoProgressProps, ScenaVideoProgressRef, ScenaVideoProgressThickness, ScenaVideoProgressThicknessMap, ScenaVideoProps, ScenaVideoRef, ScenaVideoSnippets, ScenaVideoVolumeComponentAria, ScenaVideoVolumeComponentClasses, ScenaVideoVolumeComponentHtml, ScenaVideoVolumeComponentStyles, ScenaVideoVolumeElements, ScenaVideoVolumeProps, ScenaVideoVolumeRef, ScenaVisibilityApi, ScenaVisibilityConfig, UseProgressCircleEvents, UseProgressCircleProps, UseProgressCircleReturn, UseProgressCircleReturnEvents, UseProgressLineEvents, UseProgressLineProps, UseProgressLineReturn, UseProgressLineReturnEvents, UseScenaConfigReturns, UseScenaOverridesReturns, UseScenaPreviewOptions, UseScenaPreviewReturns, UseScenaResponsiveReturns, UseScenaReturns, UseScenaVisibilityReturns, UseVideoControllerOptions, UseVideoControllerReturns };