or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

Files

docs

accessibility.mdcustomization.mdicon-components.mdindex.mdstyling.md

icon-components.mddocs/

0

# Icon Components

1

2

## Overview

3

4

@primer/octicons-react provides 339 individual icon components, each following a consistent naming pattern and accepting the same props interface. All icons are React functional components that render SVG elements.

5

6

## Component Interface

7

8

```typescript { .api }

9

interface OcticonProps extends React.ComponentPropsWithoutRef<'svg'> {

10

/** Accessible label for screen readers */

11

'aria-label'?: string

12

/** References element that labels this icon */

13

'aria-labelledby'?: string

14

/** Tab order for keyboard navigation */

15

tabIndex?: number

16

/** Child elements (typically not used) */

17

children?: React.ReactElement<any>

18

/** CSS class names */

19

className?: string

20

/** Title text or element for tooltips */

21

title?: string | React.ReactElement<any>

22

/** Unique identifier */

23

id?: string

24

/** Fill color (defaults to 'currentColor') */

25

fill?: string

26

/** Icon data (for generic icon component) */

27

icon?: Icon | React.ReactNode

28

/** Size as number (pixels) or predefined size */

29

size?: number | Size

30

/** Vertical alignment relative to text */

31

verticalAlign?: 'middle' | 'text-bottom' | 'text-top' | 'top' | 'unset'

32

}

33

34

type Size = 'small' | 'medium' | 'large'

35

type Icon = React.FC<OcticonProps>

36

```

37

38

## Complete Icon List

39

40

All icons follow the pattern `{IconName}Icon` and accept `OcticonProps`:

41

42

```typescript { .api }

43

// Accessibility Icons

44

function AccessibilityIcon(props: OcticonProps): JSX.Element

45

function AccessibilityInsetIcon(props: OcticonProps): JSX.Element

46

47

// Agent & AI Icons

48

function AgentIcon(props: OcticonProps): JSX.Element

49

function AiModelIcon(props: OcticonProps): JSX.Element

50

51

// Alert & Status Icons

52

function AlertFillIcon(props: OcticonProps): JSX.Element

53

function AlertIcon(props: OcticonProps): JSX.Element

54

function CheckCircleFillIcon(props: OcticonProps): JSX.Element

55

function CheckCircleIcon(props: OcticonProps): JSX.Element

56

function CheckIcon(props: OcticonProps): JSX.Element

57

58

// Application Icons

59

function AppsIcon(props: OcticonProps): JSX.Element

60

function ArchiveIcon(props: OcticonProps): JSX.Element

61

62

// Arrow & Navigation Icons

63

function ArrowBothIcon(props: OcticonProps): JSX.Element

64

function ArrowDownIcon(props: OcticonProps): JSX.Element

65

function ArrowDownLeftIcon(props: OcticonProps): JSX.Element

66

function ArrowDownRightIcon(props: OcticonProps): JSX.Element

67

function ArrowLeftIcon(props: OcticonProps): JSX.Element

68

function ArrowRightIcon(props: OcticonProps): JSX.Element

69

function ArrowSwitchIcon(props: OcticonProps): JSX.Element

70

function ArrowUpIcon(props: OcticonProps): JSX.Element

71

function ArrowUpLeftIcon(props: OcticonProps): JSX.Element

72

function ArrowUpRightIcon(props: OcticonProps): JSX.Element

73

function ChevronDownIcon(props: OcticonProps): JSX.Element

74

function ChevronLeftIcon(props: OcticonProps): JSX.Element

75

function ChevronRightIcon(props: OcticonProps): JSX.Element

76

function ChevronUpIcon(props: OcticonProps): JSX.Element

77

78

// Science & Lab Icons

79

function BeakerIcon(props: OcticonProps): JSX.Element

80

81

// Notification Icons

82

function BellFillIcon(props: OcticonProps): JSX.Element

83

function BellIcon(props: OcticonProps): JSX.Element

84

function BellSlashIcon(props: OcticonProps): JSX.Element

85

86

// Block & Restriction Icons

87

function BlockedIcon(props: OcticonProps): JSX.Element

88

89

// Text Formatting Icons

90

function BoldIcon(props: OcticonProps): JSX.Element

91

function ItalicIcon(props: OcticonProps): JSX.Element

92

function StrikethroughIcon(props: OcticonProps): JSX.Element

93

94

// Book & Documentation Icons

95

function BookIcon(props: OcticonProps): JSX.Element

96

function BookmarkFillIcon(props: OcticonProps): JSX.Element

97

function BookmarkFilledIcon(props: OcticonProps): JSX.Element

98

function BookmarkIcon(props: OcticonProps): JSX.Element

99

function BookmarkSlashFillIcon(props: OcticonProps): JSX.Element

100

function BookmarkSlashIcon(props: OcticonProps): JSX.Element

101

102

// Work & Business Icons

103

function BriefcaseIcon(props: OcticonProps): JSX.Element

104

function BroadcastIcon(props: OcticonProps): JSX.Element

105

function BrowserIcon(props: OcticonProps): JSX.Element

106

107

// Bug & Development Icons

108

function BugIcon(props: OcticonProps): JSX.Element

109

110

// Cache & Storage Icons

111

function CacheIcon(props: OcticonProps): JSX.Element

112

113

// Calendar & Time Icons

114

function CalendarIcon(props: OcticonProps): JSX.Element

115

function ClockFillIcon(props: OcticonProps): JSX.Element

116

function ClockIcon(props: OcticonProps): JSX.Element

117

118

// Checkbox & Selection Icons

119

function CheckboxIcon(props: OcticonProps): JSX.Element

120

function ChecklistIcon(props: OcticonProps): JSX.Element

121

122

// Shape Icons

123

function CircleIcon(props: OcticonProps): JSX.Element

124

function CircleSlashIcon(props: OcticonProps): JSX.Element

125

126

// Cloud & Network Icons

127

function CloudIcon(props: OcticonProps): JSX.Element

128

function CloudOfflineIcon(props: OcticonProps): JSX.Element

129

130

// Code & Development Icons

131

function CodeIcon(props: OcticonProps): JSX.Element

132

function CodeOfConductIcon(props: OcticonProps): JSX.Element

133

function CodeReviewIcon(props: OcticonProps): JSX.Element

134

function CodeSquareIcon(props: OcticonProps): JSX.Element

135

function CodescanCheckmarkIcon(props: OcticonProps): JSX.Element

136

function CodescanIcon(props: OcticonProps): JSX.Element

137

function CodespacesIcon(props: OcticonProps): JSX.Element

138

139

// Layout Icons

140

function ColumnsIcon(props: OcticonProps): JSX.Element

141

function RowsIcon(props: OcticonProps): JSX.Element

142

143

// Command & Interface Icons

144

function CommandPaletteIcon(props: OcticonProps): JSX.Element

145

146

// Communication Icons

147

function CommentDiscussionIcon(props: OcticonProps): JSX.Element

148

function CommentIcon(props: OcticonProps): JSX.Element

149

150

// Container & Deployment Icons

151

function ContainerIcon(props: OcticonProps): JSX.Element

152

153

// Copilot & AI Icons

154

function CopilotErrorIcon(props: OcticonProps): JSX.Element

155

function CopilotIcon(props: OcticonProps): JSX.Element

156

function CopilotWarningIcon(props: OcticonProps): JSX.Element

157

158

// Action Icons

159

function CopyIcon(props: OcticonProps): JSX.Element

160

function PasteIcon(props: OcticonProps): JSX.Element

161

162

// Hardware Icons

163

function CpuIcon(props: OcticonProps): JSX.Element

164

165

// Payment Icons

166

function CreditCardIcon(props: OcticonProps): JSX.Element

167

168

// Reference Icons

169

function CrossReferenceIcon(props: OcticonProps): JSX.Element

170

171

// Separator Icons

172

function DashIcon(props: OcticonProps): JSX.Element

173

174

// Database Icons

175

function DatabaseIcon(props: OcticonProps): JSX.Element

176

177

// Bot & Automation Icons

178

function DependabotIcon(props: OcticonProps): JSX.Element

179

180

// Download Icons

181

function DesktopDownloadIcon(props: OcticonProps): JSX.Element

182

function DownloadIcon(props: OcticonProps): JSX.Element

183

184

// Device Icons

185

function DeviceCameraIcon(props: OcticonProps): JSX.Element

186

function DeviceCameraVideoIcon(props: OcticonProps): JSX.Element

187

function DeviceDesktopIcon(props: OcticonProps): JSX.Element

188

function DeviceMobileIcon(props: OcticonProps): JSX.Element

189

function DevicesIcon(props: OcticonProps): JSX.Element

190

191

// Special Shape Icons

192

function DiamondIcon(props: OcticonProps): JSX.Element

193

194

// Diff & Version Control Icons

195

function DiffAddedIcon(props: OcticonProps): JSX.Element

196

function DiffIcon(props: OcticonProps): JSX.Element

197

function DiffIgnoredIcon(props: OcticonProps): JSX.Element

198

function DiffModifiedIcon(props: OcticonProps): JSX.Element

199

function DiffRemovedIcon(props: OcticonProps): JSX.Element

200

function DiffRenamedIcon(props: OcticonProps): JSX.Element

201

202

// Discussion Icons

203

function DiscussionClosedIcon(props: OcticonProps): JSX.Element

204

function DiscussionDuplicateIcon(props: OcticonProps): JSX.Element

205

function DiscussionOutdatedIcon(props: OcticonProps): JSX.Element

206

207

// Dot & Point Icons

208

function DotFillIcon(props: OcticonProps): JSX.Element

209

function DotIcon(props: OcticonProps): JSX.Element

210

211

// Duplicate Icons

212

function DuplicateIcon(props: OcticonProps): JSX.Element

213

214

// Menu Icons

215

function EllipsisIcon(props: OcticonProps): JSX.Element

216

function KebabHorizontalIcon(props: OcticonProps): JSX.Element

217

function ThreeBarsIcon(props: OcticonProps): JSX.Element

218

219

// Visibility Icons

220

function EyeClosedIcon(props: OcticonProps): JSX.Element

221

function EyeIcon(props: OcticonProps): JSX.Element

222

223

// Feed & Activity Icons

224

function FeedDiscussionIcon(props: OcticonProps): JSX.Element

225

function FeedForkedIcon(props: OcticonProps): JSX.Element

226

function FeedHeartIcon(props: OcticonProps): JSX.Element

227

function FeedIssueClosedIcon(props: OcticonProps): JSX.Element

228

function FeedIssueDraftIcon(props: OcticonProps): JSX.Element

229

function FeedIssueOpenIcon(props: OcticonProps): JSX.Element

230

function FeedIssueReopenIcon(props: OcticonProps): JSX.Element

231

function FeedMergedIcon(props: OcticonProps): JSX.Element

232

function FeedPersonIcon(props: OcticonProps): JSX.Element

233

function FeedPlusIcon(props: OcticonProps): JSX.Element

234

function FeedPublicIcon(props: OcticonProps): JSX.Element

235

function FeedPullRequestClosedIcon(props: OcticonProps): JSX.Element

236

function FeedPullRequestDraftIcon(props: OcticonProps): JSX.Element

237

function FeedPullRequestOpenIcon(props: OcticonProps): JSX.Element

238

function FeedRepoIcon(props: OcticonProps): JSX.Element

239

function FeedRocketIcon(props: OcticonProps): JSX.Element

240

function FeedStarIcon(props: OcticonProps): JSX.Element

241

function FeedTagIcon(props: OcticonProps): JSX.Element

242

function FeedTrophyIcon(props: OcticonProps): JSX.Element

243

244

// File System Icons

245

function FileAddedIcon(props: OcticonProps): JSX.Element

246

function FileBadgeIcon(props: OcticonProps): JSX.Element

247

function FileBinaryIcon(props: OcticonProps): JSX.Element

248

function FileCodeIcon(props: OcticonProps): JSX.Element

249

function FileDiffIcon(props: OcticonProps): JSX.Element

250

function FileDirectoryFillIcon(props: OcticonProps): JSX.Element

251

function FileDirectoryIcon(props: OcticonProps): JSX.Element

252

function FileDirectoryOpenFillIcon(props: OcticonProps): JSX.Element

253

function FileDirectorySymlinkIcon(props: OcticonProps): JSX.Element

254

function FileIcon(props: OcticonProps): JSX.Element

255

function FileMediaIcon(props: OcticonProps): JSX.Element

256

function FileMovedIcon(props: OcticonProps): JSX.Element

257

function FileRemovedIcon(props: OcticonProps): JSX.Element

258

function FileSubmoduleIcon(props: OcticonProps): JSX.Element

259

function FileSymlinkFileIcon(props: OcticonProps): JSX.Element

260

function FileZipIcon(props: OcticonProps): JSX.Element

261

262

// Filter Icons

263

function FilterIcon(props: OcticonProps): JSX.Element

264

function FilterRemoveIcon(props: OcticonProps): JSX.Element

265

266

// Organization Icons

267

function FiscalHostIcon(props: OcticonProps): JSX.Element

268

269

// Fire & Activity Icons

270

function FlameIcon(props: OcticonProps): JSX.Element

271

272

// Folding Icons

273

function FoldDownIcon(props: OcticonProps): JSX.Element

274

function FoldIcon(props: OcticonProps): JSX.Element

275

function FoldUpIcon(props: OcticonProps): JSX.Element

276

function UnfoldIcon(props: OcticonProps): JSX.Element

277

278

// Settings Icons

279

function GearIcon(props: OcticonProps): JSX.Element

280

281

// Gift Icons

282

function GiftIcon(props: OcticonProps): JSX.Element

283

284

// Git & Version Control Icons

285

function GitBranchIcon(props: OcticonProps): JSX.Element

286

function GitCommitIcon(props: OcticonProps): JSX.Element

287

function GitCompareIcon(props: OcticonProps): JSX.Element

288

function GitMergeIcon(props: OcticonProps): JSX.Element

289

function GitMergeQueueIcon(props: OcticonProps): JSX.Element

290

function GitPullRequestClosedIcon(props: OcticonProps): JSX.Element

291

function GitPullRequestDraftIcon(props: OcticonProps): JSX.Element

292

function GitPullRequestIcon(props: OcticonProps): JSX.Element

293

294

// Global Icons

295

function GlobeIcon(props: OcticonProps): JSX.Element

296

297

// Goal Icons

298

function GoalIcon(props: OcticonProps): JSX.Element

299

300

// Interface Icons

301

function GrabberIcon(props: OcticonProps): JSX.Element

302

303

// Chart Icons

304

function GraphIcon(props: OcticonProps): JSX.Element

305

306

// Hash Icons

307

function HashIcon(props: OcticonProps): JSX.Element

308

309

// Text Formatting Icons

310

function HeadingIcon(props: OcticonProps): JSX.Element

311

function HorizontalRuleIcon(props: OcticonProps): JSX.Element

312

313

// Heart & Like Icons

314

function HeartFillIcon(props: OcticonProps): JSX.Element

315

function HeartIcon(props: OcticonProps): JSX.Element

316

317

// History Icons

318

function HistoryIcon(props: OcticonProps): JSX.Element

319

320

// Home Icons

321

function HomeFillIcon(props: OcticonProps): JSX.Element

322

function HomeIcon(props: OcticonProps): JSX.Element

323

324

// Time Icons

325

function HourglassIcon(props: OcticonProps): JSX.Element

326

327

// Bot Icons

328

function HubotIcon(props: OcticonProps): JSX.Element

329

330

// Identity Icons

331

function IdBadgeIcon(props: OcticonProps): JSX.Element

332

333

// Media Icons

334

function ImageIcon(props: OcticonProps): JSX.Element

335

function VideoIcon(props: OcticonProps): JSX.Element

336

337

// Inbox Icons

338

function InboxIcon(props: OcticonProps): JSX.Element

339

340

// Infinity Icons

341

function InfinityIcon(props: OcticonProps): JSX.Element

342

343

// Information Icons

344

function InfoIcon(props: OcticonProps): JSX.Element

345

346

// Issue Icons

347

function IssueClosedIcon(props: OcticonProps): JSX.Element

348

function IssueDraftIcon(props: OcticonProps): JSX.Element

349

function IssueOpenedIcon(props: OcticonProps): JSX.Element

350

function IssueReopenedIcon(props: OcticonProps): JSX.Element

351

function IssueTrackedByIcon(props: OcticonProps): JSX.Element

352

function IssueTracksIcon(props: OcticonProps): JSX.Element

353

354

// Iteration Icons

355

function IterationsIcon(props: OcticonProps): JSX.Element

356

357

// Key Icons

358

function KeyAsteriskIcon(props: OcticonProps): JSX.Element

359

function KeyIcon(props: OcticonProps): JSX.Element

360

361

// Legal Icons

362

function LawIcon(props: OcticonProps): JSX.Element

363

364

// Ideas Icons

365

function LightBulbIcon(props: OcticonProps): JSX.Element

366

367

// Link Icons

368

function LinkExternalIcon(props: OcticonProps): JSX.Element

369

function LinkIcon(props: OcticonProps): JSX.Element

370

function UnlinkIcon(props: OcticonProps): JSX.Element

371

372

// List Icons

373

function ListOrderedIcon(props: OcticonProps): JSX.Element

374

function ListUnorderedIcon(props: OcticonProps): JSX.Element

375

376

// Location Icons

377

function LocationIcon(props: OcticonProps): JSX.Element

378

379

// Security Icons

380

function LockIcon(props: OcticonProps): JSX.Element

381

function UnlockIcon(props: OcticonProps): JSX.Element

382

383

// Log Icons

384

function LogIcon(props: OcticonProps): JSX.Element

385

386

// GitHub Logo Icons

387

function LogoGistIcon(props: OcticonProps): JSX.Element

388

function LogoGithubIcon(props: OcticonProps): JSX.Element

389

function MarkGithubIcon(props: OcticonProps): JSX.Element

390

391

// Loop Icons

392

function LoopIcon(props: OcticonProps): JSX.Element

393

394

// Mail Icons

395

function MailIcon(props: OcticonProps): JSX.Element

396

397

// Documentation Icons

398

function MarkdownIcon(props: OcticonProps): JSX.Element

399

400

// Window Controls

401

function MaximizeIcon(props: OcticonProps): JSX.Element

402

function MinimizeIcon(props: OcticonProps): JSX.Element

403

404

// Announcement Icons

405

function MegaphoneIcon(props: OcticonProps): JSX.Element

406

407

// Mention Icons

408

function MentionIcon(props: OcticonProps): JSX.Element

409

410

// Measurement Icons

411

function MeterIcon(props: OcticonProps): JSX.Element

412

413

// Project Management Icons

414

function MilestoneIcon(props: OcticonProps): JSX.Element

415

416

// Mirror Icons

417

function MirrorIcon(props: OcticonProps): JSX.Element

418

419

// Theme Icons

420

function MoonIcon(props: OcticonProps): JSX.Element

421

function SunIcon(props: OcticonProps): JSX.Element

422

423

// Education Icons

424

function MortarBoardIcon(props: OcticonProps): JSX.Element

425

426

// Movement Icons

427

function MoveToBottomIcon(props: OcticonProps): JSX.Element

428

function MoveToEndIcon(props: OcticonProps): JSX.Element

429

function MoveToStartIcon(props: OcticonProps): JSX.Element

430

function MoveToTopIcon(props: OcticonProps): JSX.Element

431

432

// Selection Icons

433

function MultiSelectIcon(props: OcticonProps): JSX.Element

434

function SingleSelectIcon(props: OcticonProps): JSX.Element

435

436

// Audio Icons

437

function MuteIcon(props: OcticonProps): JSX.Element

438

function UnmuteIcon(props: OcticonProps): JSX.Element

439

440

// Restriction Icons

441

function NoEntryFillIcon(props: OcticonProps): JSX.Element

442

function NoEntryIcon(props: OcticonProps): JSX.Element

443

444

// Star Icons

445

function NorthStarIcon(props: OcticonProps): JSX.Element

446

447

// Note Icons

448

function NoteIcon(props: OcticonProps): JSX.Element

449

450

// Number Icons

451

function NumberIcon(props: OcticonProps): JSX.Element

452

453

// Organization Icons

454

function OrganizationIcon(props: OcticonProps): JSX.Element

455

456

// Package Icons

457

function PackageDependenciesIcon(props: OcticonProps): JSX.Element

458

function PackageDependentsIcon(props: OcticonProps): JSX.Element

459

function PackageIcon(props: OcticonProps): JSX.Element

460

461

// Design Icons

462

function PaintbrushIcon(props: OcticonProps): JSX.Element

463

464

// Send Icons

465

function PaperAirplaneIcon(props: OcticonProps): JSX.Element

466

467

// Attachment Icons

468

function PaperclipIcon(props: OcticonProps): JSX.Element

469

470

// Authentication Icons

471

function PasskeyFillIcon(props: OcticonProps): JSX.Element

472

473

// Media Control Icons

474

function PauseIcon(props: OcticonProps): JSX.Element

475

function PlayIcon(props: OcticonProps): JSX.Element

476

function StopIcon(props: OcticonProps): JSX.Element

477

478

// Edit Icons

479

function PencilIcon(props: OcticonProps): JSX.Element

480

481

// People Icons

482

function PeopleIcon(props: OcticonProps): JSX.Element

483

function PersonAddIcon(props: OcticonProps): JSX.Element

484

function PersonFillIcon(props: OcticonProps): JSX.Element

485

function PersonIcon(props: OcticonProps): JSX.Element

486

487

// Pin Icons

488

function PinIcon(props: OcticonProps): JSX.Element

489

function PinSlashIcon(props: OcticonProps): JSX.Element

490

491

// Pivot Icons

492

function PivotColumnIcon(props: OcticonProps): JSX.Element

493

494

// Connection Icons

495

function PlugIcon(props: OcticonProps): JSX.Element

496

497

// Add Icons

498

function PlusCircleIcon(props: OcticonProps): JSX.Element

499

function PlusIcon(props: OcticonProps): JSX.Element

500

501

// Project Icons

502

function ProjectIcon(props: OcticonProps): JSX.Element

503

function ProjectRoadmapIcon(props: OcticonProps): JSX.Element

504

function ProjectSymlinkIcon(props: OcticonProps): JSX.Element

505

function ProjectTemplateIcon(props: OcticonProps): JSX.Element

506

507

// Activity Icons

508

function PulseIcon(props: OcticonProps): JSX.Element

509

510

// Question Icons

511

function QuestionIcon(props: OcticonProps): JSX.Element

512

513

// Quote Icons

514

function QuoteIcon(props: OcticonProps): JSX.Element

515

516

// Read Icons

517

function ReadIcon(props: OcticonProps): JSX.Element

518

function UnreadIcon(props: OcticonProps): JSX.Element

519

520

// Undo/Redo Icons

521

function RedoIcon(props: OcticonProps): JSX.Element

522

function UndoIcon(props: OcticonProps): JSX.Element

523

524

// Path Icons

525

function RelFilePathIcon(props: OcticonProps): JSX.Element

526

527

// Reply Icons

528

function ReplyIcon(props: OcticonProps): JSX.Element

529

530

// Repository Icons

531

function RepoCloneIcon(props: OcticonProps): JSX.Element

532

function RepoDeleteIcon(props: OcticonProps): JSX.Element

533

function RepoDeletedIcon(props: OcticonProps): JSX.Element

534

function RepoForkedIcon(props: OcticonProps): JSX.Element

535

function RepoIcon(props: OcticonProps): JSX.Element

536

function RepoLockedIcon(props: OcticonProps): JSX.Element

537

function RepoPullIcon(props: OcticonProps): JSX.Element

538

function RepoPushIcon(props: OcticonProps): JSX.Element

539

function RepoTemplateIcon(props: OcticonProps): JSX.Element

540

541

// Report Icons

542

function ReportIcon(props: OcticonProps): JSX.Element

543

544

// Rocket Icons

545

function RocketIcon(props: OcticonProps): JSX.Element

546

547

// RSS Icons

548

function RssIcon(props: OcticonProps): JSX.Element

549

550

// Language Icons

551

function RubyIcon(props: OcticonProps): JSX.Element

552

553

// Screen Icons

554

function ScreenFullIcon(props: OcticonProps): JSX.Element

555

function ScreenNormalIcon(props: OcticonProps): JSX.Element

556

557

// Search Icons

558

function SearchIcon(props: OcticonProps): JSX.Element

559

560

// Server Icons

561

function ServerIcon(props: OcticonProps): JSX.Element

562

563

// Share Icons

564

function ShareAndroidIcon(props: OcticonProps): JSX.Element

565

function ShareIcon(props: OcticonProps): JSX.Element

566

567

// Shield & Security Icons

568

function ShieldCheckIcon(props: OcticonProps): JSX.Element

569

function ShieldIcon(props: OcticonProps): JSX.Element

570

function ShieldLockIcon(props: OcticonProps): JSX.Element

571

function ShieldSlashIcon(props: OcticonProps): JSX.Element

572

function ShieldXIcon(props: OcticonProps): JSX.Element

573

574

// Sidebar Icons

575

function SidebarCollapseIcon(props: OcticonProps): JSX.Element

576

function SidebarExpandIcon(props: OcticonProps): JSX.Element

577

578

// Authentication Icons

579

function SignInIcon(props: OcticonProps): JSX.Element

580

function SignOutIcon(props: OcticonProps): JSX.Element

581

582

// Skip Icons

583

function SkipFillIcon(props: OcticonProps): JSX.Element

584

function SkipIcon(props: OcticonProps): JSX.Element

585

586

// Control Icons

587

function SlidersIcon(props: OcticonProps): JSX.Element

588

589

// Emotion Icons

590

function SmileyIcon(props: OcticonProps): JSX.Element

591

592

// Sort Icons

593

function SortAscIcon(props: OcticonProps): JSX.Element

594

function SortDescIcon(props: OcticonProps): JSX.Element

595

596

// Space Icons

597

function SpaceIcon(props: OcticonProps): JSX.Element

598

599

// Sparkle Icons

600

function SparkleFillIcon(props: OcticonProps): JSX.Element

601

function SparkleIcon(props: OcticonProps): JSX.Element

602

function SparklesFillIcon(props: OcticonProps): JSX.Element

603

604

// Sponsor Icons

605

function SponsorTiersIcon(props: OcticonProps): JSX.Element

606

607

// Shape Icons

608

function SquareCircleIcon(props: OcticonProps): JSX.Element

609

function SquareFillIcon(props: OcticonProps): JSX.Element

610

function SquareIcon(props: OcticonProps): JSX.Element

611

612

// Mascot Icons

613

function SquirrelIcon(props: OcticonProps): JSX.Element

614

615

// Stack Icons

616

function StackIcon(props: OcticonProps): JSX.Element

617

618

// Star Icons

619

function StarFillIcon(props: OcticonProps): JSX.Element

620

function StarIcon(props: OcticonProps): JSX.Element

621

622

// Timer Icons

623

function StopwatchIcon(props: OcticonProps): JSX.Element

624

625

// Sync Icons

626

function SyncIcon(props: OcticonProps): JSX.Element

627

628

// Tab Icons

629

function TabExternalIcon(props: OcticonProps): JSX.Element

630

function TabIcon(props: OcticonProps): JSX.Element

631

632

// Table Icons

633

function TableIcon(props: OcticonProps): JSX.Element

634

635

// Tag Icons

636

function TagIcon(props: OcticonProps): JSX.Element

637

638

// Task Icons

639

function TasklistIcon(props: OcticonProps): JSX.Element

640

641

// Telescope Icons

642

function TelescopeFillIcon(props: OcticonProps): JSX.Element

643

function TelescopeIcon(props: OcticonProps): JSX.Element

644

645

// Terminal Icons

646

function TerminalIcon(props: OcticonProps): JSX.Element

647

648

// Feedback Icons

649

function ThumbsdownIcon(props: OcticonProps): JSX.Element

650

function ThumbsupIcon(props: OcticonProps): JSX.Element

651

652

// Tools Icons

653

function ToolsIcon(props: OcticonProps): JSX.Element

654

655

// Tracking Icons

656

function TrackedByClosedCompletedIcon(props: OcticonProps): JSX.Element

657

function TrackedByClosedNotPlannedIcon(props: OcticonProps): JSX.Element

658

659

// Delete Icons

660

function TrashIcon(props: OcticonProps): JSX.Element

661

662

// Triangle Icons

663

function TriangleDownIcon(props: OcticonProps): JSX.Element

664

function TriangleLeftIcon(props: OcticonProps): JSX.Element

665

function TriangleRightIcon(props: OcticonProps): JSX.Element

666

function TriangleUpIcon(props: OcticonProps): JSX.Element

667

668

// Achievement Icons

669

function TrophyIcon(props: OcticonProps): JSX.Element

670

671

// Typography Icons

672

function TypographyIcon(props: OcticonProps): JSX.Element

673

674

// Verification Icons

675

function UnverifiedIcon(props: OcticonProps): JSX.Element

676

function VerifiedIcon(props: OcticonProps): JSX.Element

677

678

// Upload Icons

679

function UploadIcon(props: OcticonProps): JSX.Element

680

681

// Version Icons

682

function VersionsIcon(props: OcticonProps): JSX.Element

683

684

// Webhook Icons

685

function WebhookIcon(props: OcticonProps): JSX.Element

686

687

// Workflow Icons

688

function WorkflowIcon(props: OcticonProps): JSX.Element

689

690

// Close Icons

691

function XCircleFillIcon(props: OcticonProps): JSX.Element

692

function XCircleIcon(props: OcticonProps): JSX.Element

693

function XIcon(props: OcticonProps): JSX.Element

694

695

// Lightning Icons

696

function ZapIcon(props: OcticonProps): JSX.Element

697

698

// Zoom Icons

699

function ZoomInIcon(props: OcticonProps): JSX.Element

700

function ZoomOutIcon(props: OcticonProps): JSX.Element

701

```

702

703

## Usage Examples

704

705

### Basic Icon Usage

706

```jsx

707

import { AlertIcon, CheckIcon } from '@primer/octicons-react'

708

709

function StatusIndicator({ isError }) {

710

return isError ? <AlertIcon /> : <CheckIcon />

711

}

712

```

713

714

### Multiple Icons with Different Sizes

715

```jsx

716

import {

717

BeakerIcon,

718

RocketIcon,

719

GearIcon

720

} from '@primer/octicons-react'

721

722

function Toolbar() {

723

return (

724

<div className="toolbar">

725

<BeakerIcon size="small" />

726

<RocketIcon size="medium" />

727

<GearIcon size="large" />

728

</div>

729

)

730

}

731

```

732

733

### Tree-Shaking Benefits

734

When importing individual icons, bundlers like Webpack, Rollup, and Parcel will only include the imported icons in your bundle, dramatically reducing bundle size compared to importing all icons.

735

736

```jsx

737

// ✅ Good - Only AlertIcon will be bundled

738

import { AlertIcon } from '@primer/octicons-react'

739

740

// ❌ Bad - All 339 icons will be bundled

741

import * as Octicons from '@primer/octicons-react'

742

const { AlertIcon } = Octicons

743

```