Skip to content

Icons

Entangle UI includes 63 built-in SVG icons designed for editor interfaces. All icons use the Icon component wrapper, support consistent sizing and coloring through theme tokens, and are tree-shakeable.

Icon Gallery

Import

Import icons individually for optimal tree-shaking:

import { SaveIcon, PlayIcon, AddIcon } from 'entangle-ui';

Usage

// Standalone icon
<SaveIcon size="md" />
// Inside a button
<Button icon={<SaveIcon />}>Save</Button>
// With IconButton
<IconButton icon={<TrashIcon />} label="Delete" />

Sizing

All icons accept the same size prop as other components:

SizeDimensions
sm14x14px
md16x16px
lg20x20px
<AddIcon size="sm" />
<AddIcon size="md" />
<AddIcon size="lg" />

Icon Reference

Actions

IconNameImport
+AddIconimport { AddIcon } from 'entangle-ui'
βœ•CloseIconimport { CloseIcon } from 'entangle-ui'
βœ“CheckIconimport { CheckIcon } from 'entangle-ui'
✎EditIconimport { EditIcon } from 'entangle-ui'
πŸ—‘TrashIconimport { TrashIcon } from 'entangle-ui'
πŸ’ΎSaveIconimport { SaveIcon } from 'entangle-ui'
β–ΆPlayIconimport { PlayIcon } from 'entangle-ui'
β†ΊUndoIconimport { UndoIcon } from 'entangle-ui'
↻RedoIconimport { RedoIcon } from 'entangle-ui'
↻RefreshIconimport { RefreshIcon } from 'entangle-ui'
βœ‚CutIconimport { CutIcon } from 'entangle-ui'
❐CopyIconimport { CopyIcon } from 'entangle-ui'
πŸ“‹PasteIconimport { PasteIcon } from 'entangle-ui'
IconNameImport
←ArrowLeftIconimport { ArrowLeftIcon } from 'entangle-ui'
β†’ArrowRightIconimport { ArrowRightIcon } from 'entangle-ui'
↑ArrowUpIconimport { ArrowUpIcon } from 'entangle-ui'
↓ArrowDownIconimport { ArrowDownIcon } from 'entangle-ui'
β–ΎChevronDownIconimport { ChevronDownIcon } from 'entangle-ui'
β–΄ChevronUpIconimport { ChevronUpIcon } from 'entangle-ui'
☰MenuIconimport { MenuIcon } from 'entangle-ui'
🏠HomeIconimport { HomeIcon } from 'entangle-ui'

File & Data

IconNameImport
πŸ“FolderIconimport { FolderIcon } from 'entangle-ui'
↓DownloadIconimport { DownloadIcon } from 'entangle-ui'
↑UploadIconimport { UploadIcon } from 'entangle-ui'
πŸ”—LinkIconimport { LinkIcon } from 'entangle-ui'
πŸ”–BookmarkIconimport { BookmarkIcon } from 'entangle-ui'
🏷TagIconimport { TagIcon } from 'entangle-ui'

View & Display

IconNameImport
πŸ‘EyeIconimport { EyeIcon } from 'entangle-ui'
πŸ”+ZoomInIconimport { ZoomInIcon } from 'entangle-ui'
πŸ”-ZoomOutIconimport { ZoomOutIcon } from 'entangle-ui'
β›ΆFullscreenIconimport { FullscreenIcon } from 'entangle-ui'
β–£MaximizeIconimport { MaximizeIcon } from 'entangle-ui'
β–«MinimizeIconimport { MinimizeIcon } from 'entangle-ui'
β–¦GridIconimport { GridIcon } from 'entangle-ui'
☰ListIconimport { ListIcon } from 'entangle-ui'
β‡…SortIconimport { SortIcon } from 'entangle-ui'
β–ΌFilterIconimport { FilterIcon } from 'entangle-ui'
πŸ”SearchIconimport { SearchIcon } from 'entangle-ui'

Status & Feedback

IconNameImport
βœ“SuccessIconimport { SuccessIcon } from 'entangle-ui'
⚠WarningIconimport { WarningIcon } from 'entangle-ui'
βœ•ErrorIconimport { ErrorIcon } from 'entangle-ui'
β„ΉInfoIconimport { InfoIcon } from 'entangle-ui'
?HelpIconimport { HelpIcon } from 'entangle-ui'

Security

IconNameImport
πŸ”’LockIconimport { LockIcon } from 'entangle-ui'
πŸ”“UnlockIconimport { UnlockIcon } from 'entangle-ui'

Misc

IconNameImport
βš™SettingsIconimport { SettingsIcon } from 'entangle-ui'
πŸ‘€UserIconimport { UserIcon } from 'entangle-ui'
β™₯HeartIconimport { HeartIcon } from 'entangle-ui'
β˜…StarIconimport { StarIcon } from 'entangle-ui'
●CircleIconimport { CircleIcon } from 'entangle-ui'
πŸ•ClockIconimport { ClockIcon } from 'entangle-ui'
πŸ“…CalendarIconimport { CalendarIcon } from 'entangle-ui'
</>CodeIconimport { CodeIcon } from 'entangle-ui'
πŸ’§EyeDropperIconimport { EyeDropperIcon } from 'entangle-ui'
πŸ€–RobotIconimport { RobotIcon } from 'entangle-ui'

AI

IconNameImport
πŸ’¬AiChatIconimport { AiChatIcon } from 'entangle-ui'
✨AiSparklesIconimport { AiSparklesIcon } from 'entangle-ui'

Curve Editor Tangents

Specialized icons for the CurveEditor component’s tangent handles:

IconNameImport
β€”TangentLinearIconimport { TangentLinearIcon } from 'entangle-ui'
~TangentAutoIconimport { TangentAutoIcon } from 'entangle-ui'
∿TangentFreeIconimport { TangentFreeIcon } from 'entangle-ui'
β‰ˆTangentAlignedIconimport { TangentAlignedIcon } from 'entangle-ui'
⊼TangentMirroredIconimport { TangentMirroredIcon } from 'entangle-ui'
⌐TangentStepIconimport { TangentStepIcon } from 'entangle-ui'

Creating Custom Icons

All icons use the Icon wrapper component. To create a custom icon:

import { Icon } from 'entangle-ui';
import type { IconProps } from 'entangle-ui';
export const MyCustomIcon = (props: Omit<IconProps, 'children'>) => (
<Icon {...props}>
<path d="M12 2L2 22h20L12 2z" />
</Icon>
);

The Icon component renders an SVG element with:

  • viewBox="0 0 24 24" coordinate system
  • stroke="currentColor" for color inheritance
  • fill="none" and strokeLinecap="round" defaults
  • Theme-aware sizing via the size prop