Bluesky app fork with some witchin' additions 馃挮
at main 343 lines 9.4 kB view raw
1import {type StyleProp, type TextStyle, type ViewStyle} from 'react-native' 2import Svg, {Ellipse, Line, Path, Rect} from 'react-native-svg' 3 4// Copyright (c) 2020 Refactoring UI Inc. 5// https://github.com/tailwindlabs/heroicons/blob/master/LICENSE 6export function MagnifyingGlassIcon({ 7 style, 8 size, 9 strokeWidth = 2, 10 color = 'currentColor', 11}: { 12 style?: StyleProp<ViewStyle> 13 size?: string | number 14 strokeWidth?: number 15 color?: string 16}) { 17 return ( 18 <Svg 19 fill="none" 20 viewBox="0 0 24 24" 21 strokeWidth={strokeWidth} 22 stroke={color} 23 width={size || 24} 24 height={size || 24} 25 style={style}> 26 <Path 27 strokeLinecap="round" 28 strokeLinejoin="round" 29 d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z" 30 /> 31 </Svg> 32 ) 33} 34 35export function MagnifyingGlassIcon2({ 36 style, 37 size, 38 strokeWidth = 2, 39}: { 40 style?: StyleProp<ViewStyle> 41 size?: string | number 42 strokeWidth?: number 43}) { 44 return ( 45 <Svg 46 fill="none" 47 viewBox="0 0 24 24" 48 strokeWidth={strokeWidth} 49 stroke="currentColor" 50 width={size || 24} 51 height={size || 24} 52 style={style}> 53 <Ellipse cx="12" cy="10.5" rx="9" ry="9" /> 54 <Line x1="18.5" y1="17" x2="22" y2="20.5" strokeLinecap="round" /> 55 </Svg> 56 ) 57} 58 59export function CogIcon({ 60 style, 61 size, 62 strokeWidth = 1.5, 63}: { 64 style?: StyleProp<ViewStyle> 65 size?: string | number 66 strokeWidth: number 67}) { 68 return ( 69 <Svg 70 fill="none" 71 viewBox="0 0 24 24" 72 width={size || 32} 73 height={size || 32} 74 strokeWidth={strokeWidth} 75 stroke="currentColor" 76 style={style}> 77 <Path 78 strokeLinecap="round" 79 strokeLinejoin="round" 80 d="M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87.074.04.147.083.22.127.324.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 011.37.49l1.296 2.247a1.125 1.125 0 01-.26 1.431l-1.003.827c-.293.24-.438.613-.431.992a6.759 6.759 0 010 .255c-.007.378.138.75.43.99l1.005.828c.424.35.534.954.26 1.43l-1.298 2.247a1.125 1.125 0 01-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.57 6.57 0 01-.22.128c-.331.183-.581.495-.644.869l-.213 1.28c-.09.543-.56.941-1.11.941h-2.594c-.55 0-1.02-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 01-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 01-1.369-.49l-1.297-2.247a1.125 1.125 0 01.26-1.431l1.004-.827c.292-.24.437-.613.43-.992a6.932 6.932 0 010-.255c.007-.378-.138-.75-.43-.99l-1.004-.828a1.125 1.125 0 01-.26-1.43l1.297-2.247a1.125 1.125 0 011.37-.491l1.216.456c.356.133.751.072 1.076-.124.072-.044.146-.087.22-.128.332-.183.582-.495.644-.869l.214-1.281z" 81 /> 82 <Path 83 strokeLinecap="round" 84 strokeLinejoin="round" 85 d="M15 12a3 3 0 11-6 0 3 3 0 016 0z" 86 /> 87 </Svg> 88 ) 89} 90 91// Copyright (c) 2020 Refactoring UI Inc. 92// https://github.com/tailwindlabs/heroicons/blob/master/LICENSE 93export function UserGroupIcon({ 94 style, 95 size, 96}: { 97 style?: StyleProp<ViewStyle> 98 size?: string | number 99}) { 100 return ( 101 <Svg 102 fill="none" 103 viewBox="0 0 24 24" 104 width={size || 32} 105 height={size || 32} 106 strokeWidth={2} 107 stroke="currentColor" 108 style={style}> 109 <Path 110 strokeLinecap="round" 111 strokeLinejoin="round" 112 d="M18 18.72a9.094 9.094 0 003.741-.479 3 3 0 00-4.682-2.72m.94 3.198l.001.031c0 .225-.012.447-.037.666A11.944 11.944 0 0112 21c-2.17 0-4.207-.576-5.963-1.584A6.062 6.062 0 016 18.719m12 0a5.971 5.971 0 00-.941-3.197m0 0A5.995 5.995 0 0012 12.75a5.995 5.995 0 00-5.058 2.772m0 0a3 3 0 00-4.681 2.72 8.986 8.986 0 003.74.477m.94-3.197a5.971 5.971 0 00-.94 3.197M15 6.75a3 3 0 11-6 0 3 3 0 016 0zm6 3a2.25 2.25 0 11-4.5 0 2.25 2.25 0 014.5 0zm-13.5 0a2.25 2.25 0 11-4.5 0 2.25 2.25 0 014.5 0z" 113 /> 114 </Svg> 115 ) 116} 117 118export function SquareIcon({ 119 style, 120 size, 121 strokeWidth = 1.3, 122}: { 123 style?: StyleProp<TextStyle> 124 size?: string | number 125 strokeWidth?: number 126}) { 127 return ( 128 <Svg 129 fill="none" 130 viewBox="0 0 24 24" 131 strokeWidth={strokeWidth || 1} 132 stroke="currentColor" 133 width={size || 24} 134 height={size || 24} 135 style={style}> 136 <Rect x="6" y="6" width="12" height="12" strokeLinejoin="round" /> 137 </Svg> 138 ) 139} 140 141export function RectWideIcon({ 142 style, 143 size, 144 strokeWidth = 1.3, 145}: { 146 style?: StyleProp<TextStyle> 147 size?: string | number 148 strokeWidth?: number 149}) { 150 return ( 151 <Svg 152 fill="none" 153 viewBox="0 0 24 24" 154 strokeWidth={strokeWidth || 1} 155 stroke="currentColor" 156 width={size || 24} 157 height={size || 24} 158 style={style}> 159 <Rect x="4" y="6" width="16" height="12" strokeLinejoin="round" /> 160 </Svg> 161 ) 162} 163 164export function RectTallIcon({ 165 style, 166 size, 167 strokeWidth = 1.3, 168}: { 169 style?: StyleProp<TextStyle> 170 size?: string | number 171 strokeWidth?: number 172}) { 173 return ( 174 <Svg 175 fill="none" 176 viewBox="0 0 24 24" 177 strokeWidth={strokeWidth || 1} 178 stroke="currentColor" 179 width={size || 24} 180 height={size || 24} 181 style={style}> 182 <Rect x="6" y="4" width="12" height="16" strokeLinejoin="round" /> 183 </Svg> 184 ) 185} 186 187export function ComposeIcon2({ 188 style, 189 size, 190 strokeWidth = 1.5, 191}: { 192 style?: StyleProp<TextStyle> 193 size?: string | number 194 strokeWidth?: number 195}) { 196 return ( 197 <Svg 198 viewBox="0 0 24 24" 199 stroke="currentColor" 200 fill="none" 201 width={size || 24} 202 height={size || 24} 203 style={style}> 204 <Path 205 d="M 20 9 L 20 16 C 20 18.209 18.209 20 16 20 L 8 20 C 5.791 20 4 18.209 4 16 L 4 8 C 4 5.791 5.791 4 8 4 L 15 4" 206 strokeWidth={strokeWidth} 207 /> 208 <Line 209 strokeLinecap="round" 210 x1="10" 211 y1="14" 212 x2="18.5" 213 y2="5.5" 214 strokeWidth={strokeWidth * 1.5} 215 /> 216 <Line 217 strokeLinecap="round" 218 x1="20.5" 219 y1="3.5" 220 x2="21" 221 y2="3" 222 strokeWidth={strokeWidth * 1.5} 223 /> 224 </Svg> 225 ) 226} 227 228export function InfoCircleIcon({ 229 style, 230 size, 231 strokeWidth = 1.5, 232}: { 233 style?: StyleProp<TextStyle> 234 size?: string | number 235 strokeWidth?: number 236}) { 237 return ( 238 <Svg 239 fill="none" 240 viewBox="0 0 24 24" 241 strokeWidth={strokeWidth} 242 stroke="currentColor" 243 width={size} 244 height={size} 245 style={style}> 246 <Path 247 strokeLinecap="round" 248 strokeLinejoin="round" 249 d="M11.25 11.25l.041-.02a.75.75 0 011.063.852l-.708 2.836a.75.75 0 001.063.853l.041-.021M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-9-3.75h.008v.008H12V8.25z" 250 /> 251 </Svg> 252 ) 253} 254 255export function HandIcon({ 256 style, 257 size, 258 strokeWidth = 1.5, 259}: { 260 style?: StyleProp<TextStyle> 261 size?: string | number 262 strokeWidth?: number 263}) { 264 return ( 265 <Svg 266 width={size} 267 height={size} 268 viewBox="0 0 76 76" 269 stroke="currentColor" 270 strokeWidth={strokeWidth} 271 strokeLinecap="round" 272 fill="none" 273 style={style}> 274 <Path d="M33.5 37V11.5C33.5 8.46243 31.0376 6 28 6V6C24.9624 6 22.5 8.46243 22.5 11.5V48V48C22.5 48.5802 21.8139 48.8874 21.3811 48.501L13.2252 41.2189C10.72 38.9821 6.81945 39.4562 4.92296 42.228L4.77978 42.4372C3.17708 44.7796 3.50863 47.9385 5.56275 49.897L16.0965 59.9409C20.9825 64.5996 26.7533 68.231 33.0675 70.6201V70.6201C38.8234 72.798 45.1766 72.798 50.9325 70.6201L51.9256 70.2444C57.4044 68.1713 61.8038 63.9579 64.1113 58.5735V58.5735C65.6874 54.8962 66.5 50.937 66.5 46.9362V22.5C66.5 19.4624 64.0376 17 61 17V17C57.9624 17 55.5 19.4624 55.5 22.5V36.5" /> 275 <Path d="M55.5 37V11.5C55.5 8.46243 53.0376 6 50 6V6C46.9624 6 44.5 8.46243 44.5 11.5V37" /> 276 <Path d="M44.5 37V8.5C44.5 5.46243 42.0376 3 39 3V3C35.9624 3 33.5 5.46243 33.5 8.5V37" /> 277 </Svg> 278 ) 279} 280 281export function HashtagIcon({ 282 style, 283 size, 284 strokeWidth = 1.5, 285}: { 286 style?: StyleProp<TextStyle> 287 size?: string | number 288 strokeWidth?: number 289}) { 290 return ( 291 <Svg 292 fill="none" 293 stroke="currentColor" 294 viewBox="0 0 30 30" 295 strokeWidth={strokeWidth} 296 width={size} 297 height={size} 298 style={style}> 299 <Path d="M2 10H28" strokeLinecap="round" /> 300 <Path d="M2 20H28" strokeLinecap="round" /> 301 <Path d="M11 3L9 27" strokeLinecap="round" /> 302 <Path d="M21 3L19 27" strokeLinecap="round" /> 303 </Svg> 304 ) 305} 306 307// Copyright (c) 2020 Refactoring UI Inc. 308// https://github.com/tailwindlabs/heroicons/blob/master/LICENSE 309export function ShieldExclamation({ 310 style, 311 size, 312 strokeWidth = 1.5, 313}: { 314 style?: StyleProp<TextStyle> 315 size?: string | number 316 strokeWidth?: number 317}) { 318 let color = 'currentColor' 319 if ( 320 style && 321 typeof style === 'object' && 322 'color' in style && 323 typeof style.color === 'string' 324 ) { 325 color = style.color 326 } 327 return ( 328 <Svg 329 width={size} 330 height={size} 331 fill="none" 332 viewBox="0 0 24 24" 333 strokeWidth={strokeWidth || 1.5} 334 stroke={color} 335 style={style}> 336 <Path 337 strokeLinecap="round" 338 strokeLinejoin="round" 339 d="M12 9v3.75m0-10.036A11.959 11.959 0 013.598 6 11.99 11.99 0 003 9.75c0 5.592 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.31-.21-2.57-.598-3.75h-.152c-3.196 0-6.1-1.249-8.25-3.286zm0 13.036h.008v.008H12v-.008z" 340 /> 341 </Svg> 342 ) 343}