or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

Files

docs

core-rendering.mdicon-components.mdicon-factory.mdindex.md

icon-components.mddocs/

0

# Icon Components

1

2

Individual pre-built Vue 3 functional components for all 1,600+ Lucide icons. Each component renders a specific SVG icon with consistent props interface and behavior.

3

4

## Capabilities

5

6

### All Icon Components

7

8

Every Lucide icon is available as a named export functional component. All components accept the same `LucideProps` interface and render as SVG elements with consistent styling and behavior.

9

10

```typescript { .api }

11

/**

12

* All icon components follow this signature pattern

13

* Each icon component is a Vue functional component accepting LucideProps

14

*/

15

type IconComponent = FunctionalComponent<LucideProps>;

16

17

// Alphabetically organized selection of available icon components:

18

const AArrowDown: IconComponent;

19

const AArrowUp: IconComponent;

20

const ALargeSmall: IconComponent;

21

const Accessibility: IconComponent;

22

const Activity: IconComponent;

23

const AirVent: IconComponent;

24

const AlarmClock: IconComponent;

25

const AlarmClockCheck: IconComponent;

26

const AlarmClockMinus: IconComponent;

27

const AlarmClockOff: IconComponent;

28

const AlarmClockPlus: IconComponent;

29

const Album: IconComponent;

30

const AlignCenter: IconComponent;

31

const AlignCenterHorizontal: IconComponent;

32

const AlignCenterVertical: IconComponent;

33

const AlignEndHorizontal: IconComponent;

34

const AlignEndVertical: IconComponent;

35

const AlignHorizontalDistributeCenter: IconComponent;

36

const AlignHorizontalDistributeEnd: IconComponent;

37

const AlignHorizontalDistributeStart: IconComponent;

38

const AlignHorizontalJustifyCenter: IconComponent;

39

const AlignHorizontalJustifyEnd: IconComponent;

40

const AlignHorizontalJustifyStart: IconComponent;

41

const AlignHorizontalSpaceAround: IconComponent;

42

const AlignHorizontalSpaceBetween: IconComponent;

43

const AlignJustify: IconComponent;

44

const AlignLeft: IconComponent;

45

const AlignRight: IconComponent;

46

const AlignStartHorizontal: IconComponent;

47

const AlignStartVertical: IconComponent;

48

const AlignVerticalDistributeCenter: IconComponent;

49

const AlignVerticalDistributeEnd: IconComponent;

50

const AlignVerticalDistributeStart: IconComponent;

51

const AlignVerticalJustifyCenter: IconComponent;

52

const AlignVerticalJustifyEnd: IconComponent;

53

const AlignVerticalJustifyStart: IconComponent;

54

const AlignVerticalSpaceAround: IconComponent;

55

const AlignVerticalSpaceBetween: IconComponent;

56

const Ambulance: IconComponent;

57

const Ampersand: IconComponent;

58

const Ampersands: IconComponent;

59

const Anchor: IconComponent;

60

const Angry: IconComponent;

61

const Annoyed: IconComponent;

62

const Antenna: IconComponent;

63

const Anvil: IconComponent;

64

const Aperture: IconComponent;

65

const AppWindow: IconComponent;

66

const AppWindowMac: IconComponent;

67

const Apple: IconComponent;

68

const Archive: IconComponent;

69

const ArchiveRestore: IconComponent;

70

const ArchiveX: IconComponent;

71

const AreaChart: IconComponent;

72

const Armchair: IconComponent;

73

const ArrowBigDown: IconComponent;

74

const ArrowBigDownDash: IconComponent;

75

const ArrowBigLeft: IconComponent;

76

const ArrowBigLeftDash: IconComponent;

77

const ArrowBigRight: IconComponent;

78

const ArrowBigRightDash: IconComponent;

79

const ArrowBigUp: IconComponent;

80

const ArrowBigUpDash: IconComponent;

81

const ArrowDown: IconComponent;

82

const ArrowDown01: IconComponent;

83

const ArrowDown10: IconComponent;

84

const ArrowDownAZ: IconComponent;

85

const ArrowDownFromLine: IconComponent;

86

const ArrowDownLeft: IconComponent;

87

const ArrowDownNarrowWide: IconComponent;

88

const ArrowDownRight: IconComponent;

89

const ArrowDownToDot: IconComponent;

90

const ArrowDownToLine: IconComponent;

91

const ArrowDownUp: IconComponent;

92

const ArrowDownWideNarrow: IconComponent;

93

const ArrowDownZA: IconComponent;

94

const ArrowLeft: IconComponent;

95

const ArrowLeftFromLine: IconComponent;

96

const ArrowLeftRight: IconComponent;

97

const ArrowLeftToLine: IconComponent;

98

const ArrowRight: IconComponent;

99

const ArrowRightFromLine: IconComponent;

100

const ArrowRightLeft: IconComponent;

101

const ArrowRightToLine: IconComponent;

102

const ArrowUp: IconComponent;

103

const ArrowUp01: IconComponent;

104

const ArrowUp10: IconComponent;

105

const ArrowUpAZ: IconComponent;

106

const ArrowUpDown: IconComponent;

107

const ArrowUpFromDot: IconComponent;

108

const ArrowUpFromLine: IconComponent;

109

const ArrowUpLeft: IconComponent;

110

const ArrowUpNarrowWide: IconComponent;

111

const ArrowUpRight: IconComponent;

112

const ArrowUpToLine: IconComponent;

113

const ArrowUpWideNarrow: IconComponent;

114

const ArrowUpZA: IconComponent;

115

const ArrowsUpFromLine: IconComponent;

116

const Asterisk: IconComponent;

117

const AtSign: IconComponent;

118

const Atom: IconComponent;

119

const AudioLines: IconComponent;

120

const AudioWaveform: IconComponent;

121

const Award: IconComponent;

122

const Axe: IconComponent;

123

const Axis3d: IconComponent;

124

// ... and approximately 1,550+ more icon components following the same pattern

125

126

// Popular icons for common use cases:

127

const Bell: IconComponent;

128

const Calendar: IconComponent;

129

const Check: IconComponent;

130

const ChevronDown: IconComponent;

131

const ChevronLeft: IconComponent;

132

const ChevronRight: IconComponent;

133

const ChevronUp: IconComponent;

134

const Download: IconComponent;

135

const Edit: IconComponent;

136

const Eye: IconComponent;

137

const EyeOff: IconComponent;

138

const Heart: IconComponent;

139

const Home: IconComponent;

140

const Mail: IconComponent;

141

const Menu: IconComponent;

142

const Plus: IconComponent;

143

const Search: IconComponent;

144

const Settings: IconComponent;

145

const Smile: IconComponent;

146

const Star: IconComponent;

147

const Trash: IconComponent;

148

const Upload: IconComponent;

149

const User: IconComponent;

150

const X: IconComponent;

151

```

152

153

**Usage Examples:**

154

155

```vue

156

<template>

157

<div>

158

<!-- Basic usage -->

159

<Smile />

160

<Activity />

161

<Home />

162

163

<!-- With customization -->

164

<Bell :size="32" color="red" />

165

<Star :size="24" :stroke-width="1" />

166

167

<!-- With all SVG attributes -->

168

<Heart

169

:size="48"

170

color="pink"

171

:stroke-width="2"

172

class="animated-heart"

173

@click="handleClick"

174

/>

175

</div>

176

</template>

177

178

<script setup>

179

import { Smile, Activity, Home, Bell, Star, Heart } from "lucide-vue-next";

180

181

const handleClick = () => {

182

console.log('Heart clicked!');

183

};

184

</script>

185

```

186

187

### Icon Aliases

188

189

Some icons have alias names for backward compatibility. These are deprecated but still functional.

190

191

```typescript { .api }

192

// Deprecated aliases (examples):

193

const Edit2: IconComponent; // Alias for Pen

194

const Pen: IconComponent; // Current name

195

196

// Usage of aliases works but generates deprecation warnings:

197

const ArrowLeftCircle: IconComponent; // May be alias

198

const CircleArrowLeft: IconComponent; // Current name

199

```

200

201

### Namespace Import Usage

202

203

All icons are also available through namespace import:

204

205

```typescript { .api }

206

import { icons } from "lucide-vue-next";

207

208

// Access any icon through the icons namespace:

209

// icons.Smile, icons.Activity, icons.Home, etc.

210

```

211

212

**Usage Example:**

213

214

```vue

215

<template>

216

<div>

217

<component :is="icons.Smile" :size="24" />

218

<component :is="icons[selectedIcon]" :size="32" />

219

</div>

220

</template>

221

222

<script setup>

223

import { icons } from "lucide-vue-next";

224

import { ref } from "vue";

225

226

const selectedIcon = ref("Activity");

227

</script>

228

```

229

230

## Icon Categories

231

232

Icons are organized into logical categories (examples of major categories):

233

234

- **Arrows**: ArrowUp, ArrowDown, ArrowLeft, ArrowRight, ChevronUp, etc.

235

- **Interface**: Menu, X, Plus, Minus, Settings, Search, etc.

236

- **Communication**: Mail, Phone, MessageCircle, Send, etc.

237

- **Media**: Play, Pause, Stop, Volume, Camera, etc.

238

- **Files**: File, Folder, Download, Upload, Save, etc.

239

- **Social**: Heart, Star, Share, Bookmark, etc.

240

- **Business**: Calendar, Clock, User, Users, Building, etc.

241

- **Transport**: Car, Plane, Train, Bike, etc.

242

- **Weather**: Sun, Cloud, Rain, Snow, etc.

243

- **Emojis**: Smile, Frown, Meh, Laugh, etc.

244

245

Each category contains dozens of related icons with consistent design and styling.