import React, { useState } from 'react'; import Graphic from '../Graphic'; import { loremIpsum } from 'lorem-ipsum'; import Scrollyteller, { PanelDefinition } from '../../../../.'; type MarkerData = { index: number; number: number; }; interface AppProps {} // Generate some example panels for use in the component. const text = loremIpsum({ count: 7, units: 'paragraph' }); const pars = text.split('\n').map((t, i) =>

{t}

); const panels: PanelDefinition[] = text.split('\n').map((t, i) => { const p = document.createElement('p'); p.textContent = t; return { data: { index: i, number: i + 1 }, nodes: [p], }; }); const App: React.FC = () => { const [data, setData] = useState(null!); const [progress, setProgress] = useState(null!); const [counter, setCounter] = useState(0); return ( <> {pars} panels={panels} onMarker={(data) => { setData(data); setCounter(counter + 1); }} onProgress={({ pctAboveFold }) => setProgress(pctAboveFold)} >
{pars} ); }; export default App;