import * as React from 'react'; import { IconProps } from '../../types'; import { IconWrapper } from '../IconWrapper'; const Key = (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="M21.067 5c.592.958.933 2.086.933 3.293 0 3.476-2.83 6.294-6.32 6.294-.636 0-2.086-.146-2.791-.732l-.882.878c-.735.732-.147.732.147 1.317 0 0 .735 1.025 0 2.05-.441.585-1.676 1.404-3.086 0l-.294.292s.881 1.025.147 2.05c-.441.585-1.617 1.17-2.646.146l-1.028 1.024c-.706.703-1.568.293-1.91 0l-.883-.878c-.823-.82-.343-1.708 0-2.05l7.642-7.61s-.735-1.17-.735-2.78c0-3.476 2.83-6.294 6.32-6.294.819 0 1.601.155 2.319.437" stroke="currentColor" strokeWidth={1.5} strokeLinecap="round" strokeLinejoin="round" /><path d="M17.885 8.294a2.2 2.2 0 0 1-2.204 2.195 2.2 2.2 0 0 1-2.205-2.195 2.2 2.2 0 0 1 2.205-2.196 2.2 2.2 0 0 1 2.204 2.196Z" stroke="currentColor" strokeWidth={1.5} /></svg>, LineDuotone: <svg width="inherit" height="inherit" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" {...props}><path d="M15.68 14.587c3.49 0 6.32-2.818 6.32-6.294C22 4.818 19.17 2 15.68 2S9.362 4.818 9.362 8.293c0 1.61.735 2.781.735 2.781l-7.642 7.61c-.343.342-.823 1.23 0 2.05l.882.878c.343.293 1.205.703 1.91 0l1.03-1.024c1.028 1.024 2.204.439 2.645-.147.734-1.024-.147-2.049-.147-2.049l.294-.293c1.41 1.405 2.645.586 3.086 0 .735-1.024 0-2.049 0-2.049-.294-.585-.882-.585-.147-1.317l.882-.878c.705.585 2.155.732 2.792.732Z" stroke="currentColor" strokeWidth={1.5} strokeLinejoin="round" /><path opacity={0.5} d="M17.885 8.294a2.2 2.2 0 0 1-2.204 2.195 2.2 2.2 0 0 1-2.205-2.195 2.2 2.2 0 0 1 2.205-2.196 2.2 2.2 0 0 1 2.204 2.196Z" stroke="currentColor" strokeWidth={1.5} /></svg>, Linear: <svg width="inherit" height="inherit" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" {...props}><path d="M15.68 14.587c3.49 0 6.32-2.818 6.32-6.294C22 4.818 19.17 2 15.68 2S9.362 4.818 9.362 8.293c0 1.61.735 2.781.735 2.781l-7.642 7.61c-.343.342-.823 1.23 0 2.05l.882.878c.343.293 1.205.703 1.91 0l1.03-1.024c1.028 1.024 2.204.439 2.645-.147.734-1.024-.147-2.049-.147-2.049l.294-.293c1.41 1.405 2.645.586 3.086 0 .735-1.024 0-2.049 0-2.049-.294-.585-.882-.585-.147-1.317l.882-.878c.705.585 2.155.732 2.792.732Z" stroke="currentColor" strokeWidth={1.5} strokeLinejoin="round" /><path d="M17.885 8.294a2.2 2.2 0 0 1-2.204 2.195 2.2 2.2 0 0 1-2.204-2.195 2.2 2.2 0 0 1 2.204-2.196 2.2 2.2 0 0 1 2.204 2.196Z" stroke="currentColor" strokeWidth={1.5} /></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="M15.68 5.348a2.95 2.95 0 0 0-2.954 2.946 2.95 2.95 0 0 0 2.955 2.945 2.95 2.95 0 0 0 2.954-2.945 2.95 2.95 0 0 0-2.954-2.946Zm-1.454 2.946a1.45 1.45 0 0 1 1.455-1.446c.806 0 1.454.65 1.454 1.446a1.45 1.45 0 0 1-1.454 1.445 1.45 1.45 0 0 1-1.454-1.445Z" fill="currentColor" /><path fillRule="evenodd" clipRule="evenodd" d="M9.53 20.878c.333-.464.44-.935.432-1.355.392.116.78.13 1.152.06.768-.146 1.337-.632 1.639-1.032l.005-.007.005-.007a2.423 2.423 0 0 0 .396-2.02 2.85 2.85 0 0 0-.36-.85 2.196 2.196 0 0 0-.272-.393l.009-.01.464-.462c.382.183.796.298 1.158.373a7.958 7.958 0 0 0 1.523.162c3.901 0 7.069-3.15 7.069-7.044 0-3.892-3.168-7.043-7.07-7.043-3.9 0-7.069 3.15-7.069 7.043a6.519 6.519 0 0 0 .57 2.635l-7.256 7.226c-.256.255-.557.699-.648 1.255-.099.603.063 1.274.648 1.856l.882.878a2.46 2.46 0 0 0 1.239.584 1.982 1.982 0 0 0 1.73-.584l.566-.564a2.328 2.328 0 0 0 1.617.276 2.621 2.621 0 0 0 1.56-.963l.006-.007.005-.007Zm.581-12.585c0-3.058 2.491-5.543 5.57-5.543 3.078 0 5.569 2.485 5.569 5.543 0 3.06-2.49 5.544-5.57 5.544-.272 0-.743-.033-1.218-.13-.497-.104-.887-.257-1.095-.43a.75.75 0 0 0-1.008.047l-.882.878c-.201.2-.395.428-.498.691-.13.333-.088.653.06.92.088.157.23.307.289.37l.02.021c.07.077.107.127.135.183l.027.053.03.042.007.01a1.35 1.35 0 0 1 .153.373c.054.229.054.5-.15.79-.141.183-.408.396-.716.454-.257.049-.677.017-1.237-.54a.75.75 0 0 0-1.059 0l-.294.292a.75.75 0 0 0-.032 1.03 1.404 1.404 0 0 1 .2.38c.075.225.087.466-.096.726-.12.155-.363.332-.639.384-.234.045-.534.012-.872-.325a.75.75 0 0 0-1.059 0l-1.029 1.025c-.165.164-.31.183-.452.162a.97.97 0 0 1-.424-.187l-.857-.854c-.239-.237-.248-.42-.227-.55a.87.87 0 0 1 .227-.436l7.644-7.613a.746.746 0 0 0 .105-.925l-.002-.003a2.017 2.017 0 0 1-.082-.15 5.02 5.02 0 0 1-.538-2.232Zm-1.91 10.583c0 .002.002.003.004.005l-.001-.001-.003-.004Z" 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="M22 8.293c0 3.476-2.83 6.294-6.32 6.294-.636 0-2.086-.146-2.791-.732l-.882.878c-.519.517-.379.669-.148.919.096.105.208.226.295.399 0 0 .735 1.024 0 2.049-.441.585-1.676 1.404-3.086 0l-.294.292s.881 1.025.147 2.05c-.441.585-1.617 1.17-2.646.146l-1.028 1.024c-.706.703-1.568.293-1.91 0l-.883-.878c-.823-.82-.343-1.708 0-2.05l7.642-7.61s-.735-1.17-.735-2.78c0-3.476 2.83-6.294 6.32-6.294S22 4.818 22 8.293Zm-6.319 2.196a2.2 2.2 0 0 0 2.204-2.195 2.2 2.2 0 0 0-2.204-2.196 2.2 2.2 0 0 0-2.204 2.196 2.2 2.2 0 0 0 2.204 2.195Z" 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 opacity={0.5} fillRule="evenodd" clipRule="evenodd" d="M22 8.293c0 3.476-2.83 6.294-6.32 6.294-.636 0-2.086-.146-2.791-.732l-.882.878c-.519.517-.379.669-.148.919.096.105.208.226.295.399 0 0 .735 1.024 0 2.049-.441.585-1.676 1.404-3.086 0l-.294.292s.881 1.025.147 2.05c-.441.585-1.617 1.17-2.646.146l-1.028 1.024c-.706.703-1.568.293-1.91 0l-.883-.878c-.823-.82-.343-1.708 0-2.05l7.642-7.61s-.735-1.17-.735-2.78c0-3.476 2.83-6.294 6.32-6.294S22 4.818 22 8.293Z" fill="currentColor" /><path d="M17.885 8.294a2.2 2.2 0 0 1-2.204 2.195 2.2 2.2 0 0 1-2.204-2.195 2.2 2.2 0 0 1 2.204-2.196 2.2 2.2 0 0 1 2.204 2.196Z" fill="currentColor" /></svg> }; return <IconWrapper icon={styles[iconStyle || 'Linear']} {...restProps} /> }; export default Key