import * as React from 'react'; import { IconProps } from '../../types'; import { IconWrapper } from '../IconWrapper'; const Structure = (allProps: IconProps) => { const { svgProps: props, iconStyle, ...restProps } = allProps; const styles: { [style: string]: React.ReactNode } = { Broken: <svg width="inherit" height="inherit" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" {...props}><path d="M8 5a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM22 5a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM8 19a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM22 19a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z" stroke="currentColor" strokeWidth={1.5} /><path d="M8 5h8M19 16v-3m0-5v1M16 19h-3m-3 0H8M5 16V8" stroke="currentColor" strokeWidth={1.5} strokeLinecap="round" /></svg>, LineDuotone: <svg width="inherit" height="inherit" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" {...props}><path d="M8 5a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM22 5a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM8 19a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM22 19a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z" stroke="currentColor" strokeWidth={1.5} /><path opacity={0.5} d="M8 19h8M8 5h8M19 16V8M5 16V8" stroke="currentColor" strokeWidth={1.5} strokeLinecap="round" /></svg>, Linear: <svg width="inherit" height="inherit" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" {...props}><path d="M8 5a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM22 5a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM8 19a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM22 19a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z" stroke="currentColor" strokeWidth={1.5} /><path d="M8 19h8M8 5h8M19 16V8M5 16V8" stroke="currentColor" strokeWidth={1.5} strokeLinecap="round" /></svg>, Outline: <svg width="inherit" height="inherit" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" {...props}><path fillRule="evenodd" clipRule="evenodd" d="M4.25 8.675A3.751 3.751 0 1 1 8.675 4.25h6.65a3.751 3.751 0 1 1 4.425 4.425v6.65a3.751 3.751 0 1 1-4.425 4.425h-6.65a3.751 3.751 0 1 1-4.425-4.425v-6.65ZM2.75 5a2.25 2.25 0 1 1 4.5 0 2.25 2.25 0 0 1-4.5 0Zm3 10.325v-6.65A3.754 3.754 0 0 0 8.675 5.75h6.65a3.755 3.755 0 0 0 2.925 2.925v6.65a3.755 3.755 0 0 0-2.925 2.925h-6.65a3.755 3.755 0 0 0-2.925-2.925ZM5 16.75a2.25 2.25 0 1 0 0 4.5 2.25 2.25 0 0 0 0-4.5ZM21.25 5a2.25 2.25 0 1 1-4.5 0 2.25 2.25 0 0 1 4.5 0Zm-4.5 14a2.25 2.25 0 1 1 4.5 0 2.25 2.25 0 0 1-4.5 0Z" fill="currentColor" /></svg>, Bold: <svg width="inherit" height="inherit" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" {...props}><path fillRule="evenodd" clipRule="evenodd" d="M7.907 4.256a3.001 3.001 0 1 0-3.651 3.651A.756.756 0 0 0 4.25 8v8c0 .032.002.063.006.093a3.001 3.001 0 1 0 3.651 3.651c.03.004.061.006.093.006h8a.75.75 0 0 0 .093-.006 3.001 3.001 0 1 0 3.651-3.651.75.75 0 0 0 .006-.093V8a.752.752 0 0 0-.006-.093 3.001 3.001 0 1 0-3.651-3.651A.756.756 0 0 0 16 4.25H8a.756.756 0 0 0-.093.006ZM5.744 7.907c.004.03.006.061.006.093v8a.756.756 0 0 1-.006.093 3.005 3.005 0 0 1 2.163 2.163A.752.752 0 0 1 8 18.25h8a.75.75 0 0 1 .093.006 3.005 3.005 0 0 1 2.163-2.163.75.75 0 0 1-.006-.093V8c0-.032.002-.063.006-.093a3.005 3.005 0 0 1-2.163-2.163.756.756 0 0 1-.093.006H8a.758.758 0 0 1-.093-.006 3.005 3.005 0 0 1-2.163 2.163Z" fill="currentColor" /></svg>, BoldDuotone: <svg width="inherit" height="inherit" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" {...props}><path d="M8 5a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM22 5a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM8 19a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM22 19a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z" fill="currentColor" /><g opacity={0.5} fill="currentColor"><path d="M16.093 4.256A.754.754 0 0 0 16 4.25H8a.756.756 0 0 0-.093.006 3.006 3.006 0 0 1 0 1.488c.03.004.061.006.093.006h8a.756.756 0 0 0 .093-.006 3.008 3.008 0 0 1 0-1.488ZM19 8c.257 0 .506-.032.744-.093.004.03.006.061.006.093v8a.753.753 0 0 1-.006.093 3.004 3.004 0 0 0-1.488 0A.753.753 0 0 1 18.25 16V8c0-.032.002-.063.006-.093.238.06.487.093.744.093ZM16.093 18.256A.753.753 0 0 0 16 18.25H8a.752.752 0 0 0-.093.006 3.006 3.006 0 0 1 0 1.488c.03.004.061.006.093.006h8a.753.753 0 0 0 .093-.006 3.004 3.004 0 0 1 0-1.488ZM5 8c-.257 0-.506-.032-.744-.093A.756.756 0 0 0 4.25 8v8c0 .032.002.063.006.093a3.008 3.008 0 0 1 1.488 0A.757.757 0 0 0 5.75 16V8a.756.756 0 0 0-.006-.093C5.506 7.967 5.257 8 5 8Z" /></g></svg> }; return <IconWrapper icon={styles[iconStyle || 'Linear']} {...restProps} /> }; export default Structure