import * as React from 'react'; import { Shimmer, ShimmerElementsGroup, ShimmerElementType } from '@fluentui/react/lib/Shimmer'; import { Persona, PersonaSize, PersonaPresence } from '@fluentui/react/lib/Persona'; import { Toggle } from '@fluentui/react/lib/Toggle'; import { mergeStyles } from '@fluentui/react/lib/Styling'; import { useBoolean } from '@fluentui/react-hooks'; const wrapperClass = mergeStyles({ padding: 2, selectors: { '& > .ms-Shimmer-container': { margin: '10px 0', }, }, }); const wrapperStyles = { display: 'flex' }; const getCustomElements = (): JSX.Element => { return (
); }; export const ShimmerLoadDataExample: React.FunctionComponent = () => { const [examplePersona, setExamplePersona] = React.useState({}); const [contentOne, setContentOne] = React.useState(''); const [isDataLoadedOne, { toggle: toggleIsDataLoadedOne }] = useBoolean(false); const [isDataLoadedTwo, { toggle: toggleIsDataLoadedTwo }] = useBoolean(false); const getContentOne = (ev: React.MouseEvent, checked: boolean): void => { toggleIsDataLoadedOne(); setContentOne(!isDataLoadedOne ? 'Congratulations!!! You have successfully loaded the content. ' : ''); }; const getContentTwo = (ev: React.MouseEvent, checked: boolean): void => { toggleIsDataLoadedTwo(); setExamplePersona( !isDataLoadedTwo ? { imageUrl: 'https://static2.sharepointonline.com/files/fabric/office-ui-fabric-react-assets/persona-female.png', imageInitials: 'AL', primaryText: 'Annie Lindqvist', secondaryText: 'Software Engineer', } : {}, ); }; return (
{contentOne} {contentOne} {contentOne}
); };