# UploadAudio Props (свойства) для компонента UploadAudio: [{"name":"content","type":{"name":"string | Element"}},{"name":"progress","type":{"name":"number"}},{"name":"message","type":{"name":"string"}},{"name":"onChange","type":{"name":"((file: File, event?: ChangeEvent) => void)"}},{"name":"disabled","type":{"name":"boolean"}},{"name":"status","type":{"name":"enum","raw":"StatusType","value":[{"value":"\"success\""},{"value":"\"error\""}]}},{"name":"loader","type":{"name":"Element"}},{"name":"accept","type":{"name":"string"}},{"name":"validate","type":{"name":"((files: FileList | null, accept?: string) => ValidationResult)"}},{"name":"onValidation","type":{"name":"((result: ValidationResult) => void)"}}] ## Использование ```tsx import React, { useState, useCallback } from 'react'; import { UploadAudio } from '@salutejs/plasma-web'; export function App() { const [progress, setProgress] = useState(undefined); const [state, setState] = useState({ status: undefined, message: undefined, }); const onValidation = useCallback((result) => { const { message, status: rStatus } = result; setState((prevState) => ({ ...prevState, message, status: rStatus, })); }, []); const onChange = useCallback(() => { const interval = setInterval( () => setProgress((prevValue) => { const value = prevValue === undefined ? 0 : prevValue; if (value + 5 > 100) { clearInterval(interval); return undefined; } return value + 5; }), 1000, ); }, []); return (
); } ```