@iboshkov/wavesurfer-react
Version:
react wrapper for wavesurfer.js
66 lines (57 loc) • 2.19 kB
TypeScript
import { RegionParams } from 'wavesurfer.js/src/plugin/regions';
import { EventHandler } from 'wavesurfer.js/types/util';
import { MarkerParams } from 'wavesurfer.js/src/plugin/markers';
import React from 'react';
import * as WaveSurferRef from 'wavesurfer.js';
import WaveSurferRef__default from 'wavesurfer.js';
import { WaveSurferParams } from 'wavesurfer.js/types/params';
interface RegionProps extends RegionParams {
onClick?: EventHandler;
onOver?: EventHandler;
onLeave?: EventHandler;
onDoubleClick?: EventHandler;
onIn?: EventHandler;
onOut?: EventHandler;
onRemove?: EventHandler;
onUpdate?: EventHandler;
onUpdateEnd?: EventHandler;
id: string;
}
declare const Region: ({ onOver, onLeave, onClick, onDoubleClick, onIn, onOut, onRemove, onUpdate, onUpdateEnd, ...props }: RegionProps) => null;
interface MarkerProps extends MarkerParams {
draggable?: boolean;
onClick?: EventHandler;
onDrop?: EventHandler;
onDrag?: EventHandler;
}
declare function Marker({ onClick, onDrop, onDrag, ...data }: MarkerProps): null;
interface PluginType {
plugin: object;
options: any;
creator?: string;
}
interface WaveSurferProps {
children: React.ReactNode;
plugins: PluginType[];
onMount: (wavesurferRef: null | WaveSurferRef__default) => any;
}
declare const WaveSurfer: {
({ children, plugins, onMount, ...props }: WaveSurferProps): JSX.Element;
defaultProps: {
children: null;
plugins: never[];
};
};
interface WaveFormProps extends Partial<WaveSurferParams> {
id: string;
children?: React.ReactNode;
}
declare const WaveForm: ({ id, children }: WaveFormProps) => JSX.Element;
declare type UseWaveSurferParams = {
container?: string | HTMLElement;
plugins: PluginType[];
onMount: (wavesurferRef: null | WaveSurferRef__default) => any;
};
declare function useWavesurfer({ container, plugins, onMount, ...props }: UseWaveSurferParams): WaveSurferRef__default | null;
declare function useWavesurferContext(): WaveSurferRef | null;
export { Marker, Region, WaveForm, WaveSurfer, useWavesurfer, useWavesurferContext };