@myrialabs/clopen 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (456) hide show
  1. package/.env.example +6 -0
  2. package/.github/workflows/release.yml +60 -0
  3. package/.github/workflows/test.yml +40 -0
  4. package/CONTRIBUTING.md +499 -0
  5. package/LICENSE +21 -0
  6. package/README.md +209 -0
  7. package/backend/index.ts +156 -0
  8. package/backend/lib/chat/helpers.ts +42 -0
  9. package/backend/lib/chat/index.ts +2 -0
  10. package/backend/lib/chat/stream-manager.ts +1126 -0
  11. package/backend/lib/database/README.md +77 -0
  12. package/backend/lib/database/index.ts +119 -0
  13. package/backend/lib/database/migrations/001_create_projects_table.ts +31 -0
  14. package/backend/lib/database/migrations/002_create_chat_sessions_table.ts +33 -0
  15. package/backend/lib/database/migrations/003_create_messages_table.ts +32 -0
  16. package/backend/lib/database/migrations/004_create_prompt_templates_table.ts +34 -0
  17. package/backend/lib/database/migrations/005_create_settings_table.ts +24 -0
  18. package/backend/lib/database/migrations/006_add_user_to_messages.ts +58 -0
  19. package/backend/lib/database/migrations/007_create_stream_states_table.ts +41 -0
  20. package/backend/lib/database/migrations/008_create_message_snapshots_table.ts +62 -0
  21. package/backend/lib/database/migrations/009_add_delta_snapshot_fields.ts +41 -0
  22. package/backend/lib/database/migrations/010_add_soft_delete_and_branch_support.ts +70 -0
  23. package/backend/lib/database/migrations/011_git_like_commit_graph.ts +156 -0
  24. package/backend/lib/database/migrations/012_add_file_change_statistics.ts +41 -0
  25. package/backend/lib/database/migrations/013_checkpoint_tree_state.ts +118 -0
  26. package/backend/lib/database/migrations/014_add_engine_to_sessions.ts +18 -0
  27. package/backend/lib/database/migrations/015_add_model_to_sessions.ts +18 -0
  28. package/backend/lib/database/migrations/016_create_user_projects_table.ts +34 -0
  29. package/backend/lib/database/migrations/017_add_current_session_to_user_projects.ts +32 -0
  30. package/backend/lib/database/migrations/018_create_claude_accounts_table.ts +24 -0
  31. package/backend/lib/database/migrations/019_add_claude_account_to_sessions.ts +18 -0
  32. package/backend/lib/database/migrations/020_add_snapshot_tree_hash.ts +32 -0
  33. package/backend/lib/database/migrations/021_drop_prompt_templates_table.ts +33 -0
  34. package/backend/lib/database/migrations/index.ts +154 -0
  35. package/backend/lib/database/queries/checkpoint-queries.ts +87 -0
  36. package/backend/lib/database/queries/engine-queries.ts +75 -0
  37. package/backend/lib/database/queries/index.ts +9 -0
  38. package/backend/lib/database/queries/message-queries.ts +472 -0
  39. package/backend/lib/database/queries/project-queries.ts +117 -0
  40. package/backend/lib/database/queries/session-queries.ts +271 -0
  41. package/backend/lib/database/queries/settings-queries.ts +34 -0
  42. package/backend/lib/database/queries/snapshot-queries.ts +326 -0
  43. package/backend/lib/database/queries/utils-queries.ts +59 -0
  44. package/backend/lib/database/seeders/index.ts +13 -0
  45. package/backend/lib/database/seeders/settings_seeder.ts +84 -0
  46. package/backend/lib/database/utils/connection.ts +174 -0
  47. package/backend/lib/database/utils/index.ts +4 -0
  48. package/backend/lib/database/utils/migration-runner.ts +118 -0
  49. package/backend/lib/database/utils/seeder-runner.ts +121 -0
  50. package/backend/lib/engine/adapters/claude/environment.ts +164 -0
  51. package/backend/lib/engine/adapters/claude/error-handler.ts +60 -0
  52. package/backend/lib/engine/adapters/claude/index.ts +1 -0
  53. package/backend/lib/engine/adapters/claude/path-utils.ts +38 -0
  54. package/backend/lib/engine/adapters/claude/stream.ts +177 -0
  55. package/backend/lib/engine/adapters/opencode/index.ts +2 -0
  56. package/backend/lib/engine/adapters/opencode/message-converter.ts +862 -0
  57. package/backend/lib/engine/adapters/opencode/server.ts +104 -0
  58. package/backend/lib/engine/adapters/opencode/stream.ts +755 -0
  59. package/backend/lib/engine/index.ts +196 -0
  60. package/backend/lib/engine/types.ts +58 -0
  61. package/backend/lib/files/file-operations.ts +478 -0
  62. package/backend/lib/files/file-reading.ts +308 -0
  63. package/backend/lib/files/file-watcher.ts +383 -0
  64. package/backend/lib/files/path-browsing.ts +382 -0
  65. package/backend/lib/git/git-executor.ts +88 -0
  66. package/backend/lib/git/git-parser.ts +411 -0
  67. package/backend/lib/git/git-service.ts +505 -0
  68. package/backend/lib/mcp/README.md +1144 -0
  69. package/backend/lib/mcp/config.ts +316 -0
  70. package/backend/lib/mcp/index.ts +35 -0
  71. package/backend/lib/mcp/project-context.ts +236 -0
  72. package/backend/lib/mcp/servers/browser-automation/actions.ts +156 -0
  73. package/backend/lib/mcp/servers/browser-automation/browser.ts +419 -0
  74. package/backend/lib/mcp/servers/browser-automation/index.ts +791 -0
  75. package/backend/lib/mcp/servers/browser-automation/inspection.ts +501 -0
  76. package/backend/lib/mcp/servers/helper.ts +143 -0
  77. package/backend/lib/mcp/servers/index.ts +45 -0
  78. package/backend/lib/mcp/servers/weather/get-temperature.ts +56 -0
  79. package/backend/lib/mcp/servers/weather/index.ts +31 -0
  80. package/backend/lib/mcp/stdio-server.ts +103 -0
  81. package/backend/lib/mcp/types.ts +65 -0
  82. package/backend/lib/preview/browser/browser-audio-capture.ts +86 -0
  83. package/backend/lib/preview/browser/browser-console-manager.ts +263 -0
  84. package/backend/lib/preview/browser/browser-dialog-handler.ts +222 -0
  85. package/backend/lib/preview/browser/browser-interaction-handler.ts +421 -0
  86. package/backend/lib/preview/browser/browser-mcp-control.ts +415 -0
  87. package/backend/lib/preview/browser/browser-native-ui-handler.ts +512 -0
  88. package/backend/lib/preview/browser/browser-navigation-tracker.ts +104 -0
  89. package/backend/lib/preview/browser/browser-pool.ts +357 -0
  90. package/backend/lib/preview/browser/browser-preview-service.ts +882 -0
  91. package/backend/lib/preview/browser/browser-tab-manager.ts +935 -0
  92. package/backend/lib/preview/browser/browser-video-capture.ts +695 -0
  93. package/backend/lib/preview/browser/scripts/audio-stream.ts +292 -0
  94. package/backend/lib/preview/browser/scripts/cursor-tracking.ts +85 -0
  95. package/backend/lib/preview/browser/scripts/video-stream.ts +438 -0
  96. package/backend/lib/preview/browser/types.ts +359 -0
  97. package/backend/lib/preview/index.ts +24 -0
  98. package/backend/lib/project/index.ts +2 -0
  99. package/backend/lib/project/status-manager.ts +182 -0
  100. package/backend/lib/shared/index.ts +2 -0
  101. package/backend/lib/shared/port-utils.ts +25 -0
  102. package/backend/lib/shared/process-manager.ts +281 -0
  103. package/backend/lib/snapshot/blob-store.ts +227 -0
  104. package/backend/lib/snapshot/gitignore.ts +307 -0
  105. package/backend/lib/snapshot/helpers.ts +397 -0
  106. package/backend/lib/snapshot/snapshot-service.ts +483 -0
  107. package/backend/lib/terminal/helpers.ts +14 -0
  108. package/backend/lib/terminal/index.ts +8 -0
  109. package/backend/lib/terminal/pty-manager.ts +4 -0
  110. package/backend/lib/terminal/pty-session-manager.ts +387 -0
  111. package/backend/lib/terminal/shell-utils.ts +313 -0
  112. package/backend/lib/terminal/stream-manager.ts +293 -0
  113. package/backend/lib/tunnel/global-tunnel-manager.ts +243 -0
  114. package/backend/lib/tunnel/project-tunnel-manager.ts +311 -0
  115. package/backend/lib/user/helpers.ts +87 -0
  116. package/backend/lib/utils/ws.ts +944 -0
  117. package/backend/lib/vite-dev.ts +353 -0
  118. package/backend/middleware/cors.ts +15 -0
  119. package/backend/middleware/error-handler.ts +49 -0
  120. package/backend/middleware/logger.ts +9 -0
  121. package/backend/types/api.ts +24 -0
  122. package/backend/ws/README.md +1505 -0
  123. package/backend/ws/chat/background.ts +198 -0
  124. package/backend/ws/chat/index.ts +21 -0
  125. package/backend/ws/chat/stream.ts +707 -0
  126. package/backend/ws/engine/claude/accounts.ts +401 -0
  127. package/backend/ws/engine/claude/index.ts +13 -0
  128. package/backend/ws/engine/claude/status.ts +43 -0
  129. package/backend/ws/engine/index.ts +14 -0
  130. package/backend/ws/engine/opencode/index.ts +11 -0
  131. package/backend/ws/engine/opencode/status.ts +30 -0
  132. package/backend/ws/engine/utils.ts +36 -0
  133. package/backend/ws/files/index.ts +30 -0
  134. package/backend/ws/files/read.ts +189 -0
  135. package/backend/ws/files/search.ts +453 -0
  136. package/backend/ws/files/watch.ts +124 -0
  137. package/backend/ws/files/write.ts +143 -0
  138. package/backend/ws/git/branch.ts +106 -0
  139. package/backend/ws/git/commit.ts +39 -0
  140. package/backend/ws/git/conflict.ts +68 -0
  141. package/backend/ws/git/diff.ts +69 -0
  142. package/backend/ws/git/index.ts +24 -0
  143. package/backend/ws/git/log.ts +41 -0
  144. package/backend/ws/git/remote.ts +214 -0
  145. package/backend/ws/git/staging.ts +84 -0
  146. package/backend/ws/git/status.ts +90 -0
  147. package/backend/ws/index.ts +69 -0
  148. package/backend/ws/mcp/index.ts +61 -0
  149. package/backend/ws/messages/crud.ts +74 -0
  150. package/backend/ws/messages/index.ts +14 -0
  151. package/backend/ws/preview/browser/cleanup.ts +129 -0
  152. package/backend/ws/preview/browser/console.ts +114 -0
  153. package/backend/ws/preview/browser/interact.ts +513 -0
  154. package/backend/ws/preview/browser/mcp.ts +129 -0
  155. package/backend/ws/preview/browser/native-ui.ts +235 -0
  156. package/backend/ws/preview/browser/stats.ts +55 -0
  157. package/backend/ws/preview/browser/tab-info.ts +126 -0
  158. package/backend/ws/preview/browser/tab.ts +166 -0
  159. package/backend/ws/preview/browser/webcodecs.ts +293 -0
  160. package/backend/ws/preview/index.ts +146 -0
  161. package/backend/ws/projects/crud.ts +113 -0
  162. package/backend/ws/projects/index.ts +25 -0
  163. package/backend/ws/projects/presence.ts +46 -0
  164. package/backend/ws/projects/status.ts +116 -0
  165. package/backend/ws/sessions/crud.ts +327 -0
  166. package/backend/ws/sessions/index.ts +33 -0
  167. package/backend/ws/settings/crud.ts +112 -0
  168. package/backend/ws/settings/index.ts +14 -0
  169. package/backend/ws/snapshot/index.ts +17 -0
  170. package/backend/ws/snapshot/restore.ts +173 -0
  171. package/backend/ws/snapshot/timeline.ts +141 -0
  172. package/backend/ws/system/index.ts +14 -0
  173. package/backend/ws/system/operations.ts +49 -0
  174. package/backend/ws/terminal/index.ts +40 -0
  175. package/backend/ws/terminal/persistence.ts +153 -0
  176. package/backend/ws/terminal/session.ts +382 -0
  177. package/backend/ws/terminal/stream.ts +79 -0
  178. package/backend/ws/tunnel/index.ts +14 -0
  179. package/backend/ws/tunnel/operations.ts +91 -0
  180. package/backend/ws/types.ts +20 -0
  181. package/backend/ws/user/crud.ts +156 -0
  182. package/backend/ws/user/index.ts +14 -0
  183. package/bin/clopen.ts +307 -0
  184. package/bun.lock +1352 -0
  185. package/frontend/App.svelte +34 -0
  186. package/frontend/app.css +313 -0
  187. package/frontend/lib/app-environment.ts +10 -0
  188. package/frontend/lib/components/chat/ChatInterface.svelte +407 -0
  189. package/frontend/lib/components/chat/formatters/ErrorMessage.svelte +57 -0
  190. package/frontend/lib/components/chat/formatters/MessageFormatter.svelte +224 -0
  191. package/frontend/lib/components/chat/formatters/TextMessage.svelte +395 -0
  192. package/frontend/lib/components/chat/formatters/Tools.svelte +70 -0
  193. package/frontend/lib/components/chat/formatters/index.ts +3 -0
  194. package/frontend/lib/components/chat/input/ChatInput.svelte +421 -0
  195. package/frontend/lib/components/chat/input/components/ChatInputActions.svelte +78 -0
  196. package/frontend/lib/components/chat/input/components/DragDropOverlay.svelte +30 -0
  197. package/frontend/lib/components/chat/input/components/EditModeIndicator.svelte +33 -0
  198. package/frontend/lib/components/chat/input/components/EngineModelPicker.svelte +619 -0
  199. package/frontend/lib/components/chat/input/components/FileAttachmentPreview.svelte +48 -0
  200. package/frontend/lib/components/chat/input/components/LoadingIndicator.svelte +31 -0
  201. package/frontend/lib/components/chat/input/composables/use-animations.svelte.ts +201 -0
  202. package/frontend/lib/components/chat/input/composables/use-chat-actions.svelte.ts +148 -0
  203. package/frontend/lib/components/chat/input/composables/use-file-handling.svelte.ts +216 -0
  204. package/frontend/lib/components/chat/input/composables/use-input-state.svelte.ts +357 -0
  205. package/frontend/lib/components/chat/input/composables/use-textarea-resize.svelte.ts +57 -0
  206. package/frontend/lib/components/chat/message/ChatMessage.svelte +478 -0
  207. package/frontend/lib/components/chat/message/ChatMessages.svelte +541 -0
  208. package/frontend/lib/components/chat/message/DateSeparator.svelte +86 -0
  209. package/frontend/lib/components/chat/message/MessageBubble.svelte +86 -0
  210. package/frontend/lib/components/chat/message/MessageHeader.svelte +157 -0
  211. package/frontend/lib/components/chat/modal/DebugModal.svelte +59 -0
  212. package/frontend/lib/components/chat/modal/TokenUsageModal.svelte +124 -0
  213. package/frontend/lib/components/chat/shared/index.ts +2 -0
  214. package/frontend/lib/components/chat/shared/utils.ts +116 -0
  215. package/frontend/lib/components/chat/tools/BashOutputTool.svelte +35 -0
  216. package/frontend/lib/components/chat/tools/BashTool.svelte +46 -0
  217. package/frontend/lib/components/chat/tools/CustomMcpTool.svelte +139 -0
  218. package/frontend/lib/components/chat/tools/EditTool.svelte +48 -0
  219. package/frontend/lib/components/chat/tools/ExitPlanModeTool.svelte +32 -0
  220. package/frontend/lib/components/chat/tools/GlobTool.svelte +51 -0
  221. package/frontend/lib/components/chat/tools/GrepTool.svelte +90 -0
  222. package/frontend/lib/components/chat/tools/KillShellTool.svelte +26 -0
  223. package/frontend/lib/components/chat/tools/ListMcpResourcesTool.svelte +31 -0
  224. package/frontend/lib/components/chat/tools/NotebookEditTool.svelte +38 -0
  225. package/frontend/lib/components/chat/tools/ReadMcpResourceTool.svelte +34 -0
  226. package/frontend/lib/components/chat/tools/ReadTool.svelte +41 -0
  227. package/frontend/lib/components/chat/tools/TaskTool.svelte +64 -0
  228. package/frontend/lib/components/chat/tools/TodoWriteTool.svelte +75 -0
  229. package/frontend/lib/components/chat/tools/WebFetchTool.svelte +35 -0
  230. package/frontend/lib/components/chat/tools/WebSearchTool.svelte +84 -0
  231. package/frontend/lib/components/chat/tools/WriteTool.svelte +33 -0
  232. package/frontend/lib/components/chat/tools/components/CodeBlock.svelte +79 -0
  233. package/frontend/lib/components/chat/tools/components/DiffBlock.svelte +408 -0
  234. package/frontend/lib/components/chat/tools/components/FileHeader.svelte +45 -0
  235. package/frontend/lib/components/chat/tools/components/InfoLine.svelte +19 -0
  236. package/frontend/lib/components/chat/tools/components/StatsBadges.svelte +27 -0
  237. package/frontend/lib/components/chat/tools/components/TerminalCommand.svelte +54 -0
  238. package/frontend/lib/components/chat/tools/components/index.ts +7 -0
  239. package/frontend/lib/components/chat/tools/index.ts +26 -0
  240. package/frontend/lib/components/chat/widgets/FloatingTodoList.svelte +249 -0
  241. package/frontend/lib/components/chat/widgets/TokenUsage.svelte +78 -0
  242. package/frontend/lib/components/checkpoint/TimelineModal.svelte +391 -0
  243. package/frontend/lib/components/checkpoint/timeline/TimelineEdge.svelte +26 -0
  244. package/frontend/lib/components/checkpoint/timeline/TimelineGraph.svelte +87 -0
  245. package/frontend/lib/components/checkpoint/timeline/TimelineNode.svelte +108 -0
  246. package/frontend/lib/components/checkpoint/timeline/TimelineVersionGroup.svelte +59 -0
  247. package/frontend/lib/components/checkpoint/timeline/animation.ts +168 -0
  248. package/frontend/lib/components/checkpoint/timeline/config.ts +44 -0
  249. package/frontend/lib/components/checkpoint/timeline/graph-builder.ts +304 -0
  250. package/frontend/lib/components/checkpoint/timeline/types.ts +65 -0
  251. package/frontend/lib/components/checkpoint/timeline/utils.ts +53 -0
  252. package/frontend/lib/components/common/Alert.svelte +139 -0
  253. package/frontend/lib/components/common/AvatarBubble.svelte +56 -0
  254. package/frontend/lib/components/common/Button.svelte +71 -0
  255. package/frontend/lib/components/common/Card.svelte +102 -0
  256. package/frontend/lib/components/common/Checkbox.svelte +48 -0
  257. package/frontend/lib/components/common/Dialog.svelte +249 -0
  258. package/frontend/lib/components/common/FolderBrowser.svelte +843 -0
  259. package/frontend/lib/components/common/Icon.svelte +58 -0
  260. package/frontend/lib/components/common/Input.svelte +72 -0
  261. package/frontend/lib/components/common/Lightbox.svelte +233 -0
  262. package/frontend/lib/components/common/LoadingScreen.svelte +52 -0
  263. package/frontend/lib/components/common/LoadingSpinner.svelte +48 -0
  264. package/frontend/lib/components/common/Modal.svelte +177 -0
  265. package/frontend/lib/components/common/ModalProvider.svelte +28 -0
  266. package/frontend/lib/components/common/ModelSelector.svelte +110 -0
  267. package/frontend/lib/components/common/MonacoEditor.svelte +569 -0
  268. package/frontend/lib/components/common/NotificationToast.svelte +113 -0
  269. package/frontend/lib/components/common/PageTemplate.svelte +76 -0
  270. package/frontend/lib/components/common/ProjectUserAvatars.svelte +79 -0
  271. package/frontend/lib/components/common/Select.svelte +98 -0
  272. package/frontend/lib/components/common/Textarea.svelte +80 -0
  273. package/frontend/lib/components/common/ThemeToggle.svelte +44 -0
  274. package/frontend/lib/components/common/lucide-icons.ts +1642 -0
  275. package/frontend/lib/components/common/material-icons.ts +1082 -0
  276. package/frontend/lib/components/common/xterm/XTerm.svelte +796 -0
  277. package/frontend/lib/components/common/xterm/index.ts +16 -0
  278. package/frontend/lib/components/common/xterm/terminal-config.ts +68 -0
  279. package/frontend/lib/components/common/xterm/types.ts +31 -0
  280. package/frontend/lib/components/common/xterm/xterm-service.ts +353 -0
  281. package/frontend/lib/components/files/FileNode.svelte +384 -0
  282. package/frontend/lib/components/files/FileTree.svelte +681 -0
  283. package/frontend/lib/components/files/FileViewer.svelte +728 -0
  284. package/frontend/lib/components/files/SearchResults.svelte +303 -0
  285. package/frontend/lib/components/git/BranchManager.svelte +458 -0
  286. package/frontend/lib/components/git/ChangesSection.svelte +107 -0
  287. package/frontend/lib/components/git/CommitForm.svelte +76 -0
  288. package/frontend/lib/components/git/ConflictResolver.svelte +158 -0
  289. package/frontend/lib/components/git/DiffViewer.svelte +364 -0
  290. package/frontend/lib/components/git/FileChangeItem.svelte +97 -0
  291. package/frontend/lib/components/git/GitButton.svelte +33 -0
  292. package/frontend/lib/components/git/GitLog.svelte +361 -0
  293. package/frontend/lib/components/git/GitModal.svelte +80 -0
  294. package/frontend/lib/components/history/HistoryModal.svelte +563 -0
  295. package/frontend/lib/components/history/HistoryView.svelte +615 -0
  296. package/frontend/lib/components/index.ts +34 -0
  297. package/frontend/lib/components/preview/browser/BrowserPreview.svelte +549 -0
  298. package/frontend/lib/components/preview/browser/components/Canvas.svelte +1058 -0
  299. package/frontend/lib/components/preview/browser/components/ConsolePanel.svelte +757 -0
  300. package/frontend/lib/components/preview/browser/components/Container.svelte +450 -0
  301. package/frontend/lib/components/preview/browser/components/ContextMenu.svelte +236 -0
  302. package/frontend/lib/components/preview/browser/components/SelectDropdown.svelte +224 -0
  303. package/frontend/lib/components/preview/browser/components/Toolbar.svelte +339 -0
  304. package/frontend/lib/components/preview/browser/components/VirtualCursor.svelte +36 -0
  305. package/frontend/lib/components/preview/browser/core/cleanup.svelte.ts +155 -0
  306. package/frontend/lib/components/preview/browser/core/coordinator.svelte.ts +837 -0
  307. package/frontend/lib/components/preview/browser/core/interactions.svelte.ts +113 -0
  308. package/frontend/lib/components/preview/browser/core/mcp-handlers.svelte.ts +296 -0
  309. package/frontend/lib/components/preview/browser/core/native-ui-handlers.svelte.ts +391 -0
  310. package/frontend/lib/components/preview/browser/core/stream-handler.svelte.ts +231 -0
  311. package/frontend/lib/components/preview/browser/core/tab-manager.svelte.ts +210 -0
  312. package/frontend/lib/components/preview/browser/core/tab-operations.svelte.ts +239 -0
  313. package/frontend/lib/components/preview/index.ts +2 -0
  314. package/frontend/lib/components/settings/SettingsModal.svelte +235 -0
  315. package/frontend/lib/components/settings/SettingsView.svelte +36 -0
  316. package/frontend/lib/components/settings/appearance/AppearanceSettings.svelte +51 -0
  317. package/frontend/lib/components/settings/appearance/LayoutPresetSettings.svelte +160 -0
  318. package/frontend/lib/components/settings/appearance/LayoutPreview.svelte +76 -0
  319. package/frontend/lib/components/settings/engines/AIEnginesSettings.svelte +917 -0
  320. package/frontend/lib/components/settings/general/AdvancedSettings.svelte +187 -0
  321. package/frontend/lib/components/settings/general/DataManagementSettings.svelte +203 -0
  322. package/frontend/lib/components/settings/general/GeneralSettings.svelte +10 -0
  323. package/frontend/lib/components/settings/model/ModelSettings.svelte +357 -0
  324. package/frontend/lib/components/settings/notifications/NotificationSettings.svelte +205 -0
  325. package/frontend/lib/components/settings/user/UserSettings.svelte +197 -0
  326. package/frontend/lib/components/terminal/Terminal.svelte +368 -0
  327. package/frontend/lib/components/terminal/TerminalTabs.svelte +87 -0
  328. package/frontend/lib/components/terminal/TerminalView.svelte +55 -0
  329. package/frontend/lib/components/tunnel/TunnelActive.svelte +142 -0
  330. package/frontend/lib/components/tunnel/TunnelButton.svelte +54 -0
  331. package/frontend/lib/components/tunnel/TunnelInactive.svelte +284 -0
  332. package/frontend/lib/components/tunnel/TunnelModal.svelte +47 -0
  333. package/frontend/lib/components/tunnel/TunnelQRCode.svelte +49 -0
  334. package/frontend/lib/components/workspace/DesktopNavigator.svelte +382 -0
  335. package/frontend/lib/components/workspace/MobileNavigator.svelte +403 -0
  336. package/frontend/lib/components/workspace/PanelContainer.svelte +100 -0
  337. package/frontend/lib/components/workspace/PanelHeader.svelte +505 -0
  338. package/frontend/lib/components/workspace/ViewMenu.svelte +162 -0
  339. package/frontend/lib/components/workspace/WorkspaceLayout.svelte +169 -0
  340. package/frontend/lib/components/workspace/layout/DesktopLayout.svelte +15 -0
  341. package/frontend/lib/components/workspace/layout/MobileLayout.svelte +17 -0
  342. package/frontend/lib/components/workspace/layout/split-pane/Container.svelte +42 -0
  343. package/frontend/lib/components/workspace/layout/split-pane/Handle.svelte +85 -0
  344. package/frontend/lib/components/workspace/layout/split-pane/Layout.svelte +37 -0
  345. package/frontend/lib/components/workspace/panels/ChatPanel.svelte +274 -0
  346. package/frontend/lib/components/workspace/panels/FilesPanel.svelte +1261 -0
  347. package/frontend/lib/components/workspace/panels/GitPanel.svelte +1560 -0
  348. package/frontend/lib/components/workspace/panels/PreviewPanel.svelte +150 -0
  349. package/frontend/lib/components/workspace/panels/TerminalPanel.svelte +73 -0
  350. package/frontend/lib/constants/preview.ts +45 -0
  351. package/frontend/lib/services/chat/chat.service.ts +704 -0
  352. package/frontend/lib/services/chat/index.ts +7 -0
  353. package/frontend/lib/services/notification/global-stream-monitor.ts +86 -0
  354. package/frontend/lib/services/notification/index.ts +8 -0
  355. package/frontend/lib/services/notification/push.service.ts +144 -0
  356. package/frontend/lib/services/notification/sound.service.ts +127 -0
  357. package/frontend/lib/services/preview/browser/browser-console.service.ts +61 -0
  358. package/frontend/lib/services/preview/browser/browser-webcodecs.service.ts +1499 -0
  359. package/frontend/lib/services/preview/browser/mcp-integration.svelte.ts +67 -0
  360. package/frontend/lib/services/preview/index.ts +23 -0
  361. package/frontend/lib/services/project/index.ts +8 -0
  362. package/frontend/lib/services/project/status.service.ts +159 -0
  363. package/frontend/lib/services/snapshot/snapshot.service.ts +47 -0
  364. package/frontend/lib/services/terminal/background/index.ts +130 -0
  365. package/frontend/lib/services/terminal/background/session-restore.ts +274 -0
  366. package/frontend/lib/services/terminal/background/stream-manager.ts +286 -0
  367. package/frontend/lib/services/terminal/index.ts +14 -0
  368. package/frontend/lib/services/terminal/persistence.service.ts +260 -0
  369. package/frontend/lib/services/terminal/project.service.ts +953 -0
  370. package/frontend/lib/services/terminal/session.service.ts +364 -0
  371. package/frontend/lib/services/terminal/terminal.service.ts +369 -0
  372. package/frontend/lib/stores/core/app.svelte.ts +117 -0
  373. package/frontend/lib/stores/core/files.svelte.ts +73 -0
  374. package/frontend/lib/stores/core/presence.svelte.ts +48 -0
  375. package/frontend/lib/stores/core/projects.svelte.ts +317 -0
  376. package/frontend/lib/stores/core/sessions.svelte.ts +383 -0
  377. package/frontend/lib/stores/features/claude-accounts.svelte.ts +58 -0
  378. package/frontend/lib/stores/features/models.svelte.ts +89 -0
  379. package/frontend/lib/stores/features/settings.svelte.ts +87 -0
  380. package/frontend/lib/stores/features/terminal.svelte.ts +701 -0
  381. package/frontend/lib/stores/features/tunnel.svelte.ts +161 -0
  382. package/frontend/lib/stores/features/user.svelte.ts +96 -0
  383. package/frontend/lib/stores/ui/chat-input.svelte.ts +57 -0
  384. package/frontend/lib/stores/ui/chat-model.svelte.ts +61 -0
  385. package/frontend/lib/stores/ui/dialog.svelte.ts +59 -0
  386. package/frontend/lib/stores/ui/edit-mode.svelte.ts +214 -0
  387. package/frontend/lib/stores/ui/notification.svelte.ts +166 -0
  388. package/frontend/lib/stores/ui/settings-modal.svelte.ts +88 -0
  389. package/frontend/lib/stores/ui/theme.svelte.ts +179 -0
  390. package/frontend/lib/stores/ui/workspace.svelte.ts +754 -0
  391. package/frontend/lib/types/native-ui.ts +73 -0
  392. package/frontend/lib/utils/chat/date-separator.ts +39 -0
  393. package/frontend/lib/utils/chat/message-grouper.ts +219 -0
  394. package/frontend/lib/utils/chat/message-processor.ts +135 -0
  395. package/frontend/lib/utils/chat/tool-handler.ts +161 -0
  396. package/frontend/lib/utils/chat/virtual-scroll.svelte.ts +142 -0
  397. package/frontend/lib/utils/click-outside.ts +20 -0
  398. package/frontend/lib/utils/context-manager.ts +257 -0
  399. package/frontend/lib/utils/file-icon-mappings.ts +769 -0
  400. package/frontend/lib/utils/folder-icon-mappings.ts +1030 -0
  401. package/frontend/lib/utils/git-status.ts +68 -0
  402. package/frontend/lib/utils/platform.ts +113 -0
  403. package/frontend/lib/utils/port-check.ts +65 -0
  404. package/frontend/lib/utils/terminalFormatter.ts +207 -0
  405. package/frontend/lib/utils/theme.ts +6 -0
  406. package/frontend/lib/utils/tree-visualizer.ts +320 -0
  407. package/frontend/lib/utils/ws.ts +44 -0
  408. package/frontend/main.ts +13 -0
  409. package/index.html +70 -0
  410. package/package.json +111 -0
  411. package/scripts/generate-icons.ts +87 -0
  412. package/scripts/pre-publish-check.sh +142 -0
  413. package/scripts/setup-hooks.sh +134 -0
  414. package/scripts/validate-branch-name.sh +47 -0
  415. package/scripts/validate-commit-msg.sh +42 -0
  416. package/shared/constants/engines.ts +134 -0
  417. package/shared/types/database/connection.ts +16 -0
  418. package/shared/types/database/index.ts +6 -0
  419. package/shared/types/database/schema.ts +141 -0
  420. package/shared/types/engine/index.ts +45 -0
  421. package/shared/types/filesystem/index.ts +22 -0
  422. package/shared/types/git.ts +171 -0
  423. package/shared/types/messaging/index.ts +239 -0
  424. package/shared/types/messaging/tool.ts +526 -0
  425. package/shared/types/network/api.ts +18 -0
  426. package/shared/types/network/index.ts +5 -0
  427. package/shared/types/stores/app.ts +23 -0
  428. package/shared/types/stores/dialog.ts +21 -0
  429. package/shared/types/stores/index.ts +3 -0
  430. package/shared/types/stores/settings.ts +15 -0
  431. package/shared/types/terminal/index.ts +44 -0
  432. package/shared/types/ui/components.ts +61 -0
  433. package/shared/types/ui/icons.ts +23 -0
  434. package/shared/types/ui/index.ts +22 -0
  435. package/shared/types/ui/notifications.ts +14 -0
  436. package/shared/types/ui/theme.ts +12 -0
  437. package/shared/types/websocket/index.ts +43 -0
  438. package/shared/types/window.d.ts +13 -0
  439. package/shared/utils/anonymous-user.ts +168 -0
  440. package/shared/utils/async.ts +10 -0
  441. package/shared/utils/diff-calculator.ts +184 -0
  442. package/shared/utils/file-type-detection.ts +166 -0
  443. package/shared/utils/logger.ts +158 -0
  444. package/shared/utils/message-formatter.ts +79 -0
  445. package/shared/utils/path.ts +47 -0
  446. package/shared/utils/ws-client.ts +768 -0
  447. package/shared/utils/ws-server.ts +660 -0
  448. package/static/audio/notification.ogg +0 -0
  449. package/static/favicon.svg +8 -0
  450. package/static/fonts/dm-sans/dm-sans-italic-latin-ext.woff2 +0 -0
  451. package/static/fonts/dm-sans/dm-sans-italic-latin.woff2 +0 -0
  452. package/static/fonts/dm-sans/dm-sans-normal-latin-ext.woff2 +0 -0
  453. package/static/fonts/dm-sans/dm-sans-normal-latin.woff2 +0 -0
  454. package/static/fonts/dm-sans.css +96 -0
  455. package/svelte.config.js +20 -0
  456. package/vite.config.ts +33 -0
@@ -0,0 +1,1642 @@
1
+ // AUTO-GENERATED FILE: All Lucide Icons (1629 icons)
2
+ // Generated by generate-icons.ts
3
+ // DO NOT EDIT MANUALLY
4
+
5
+ import lucideIcons from '@iconify-json/lucide/icons.json';
6
+
7
+ // Type the icons object properly
8
+ const icons = lucideIcons.icons as Record<string, { body: string; width?: number; height?: number; top?: number }>;
9
+
10
+ export const lucideIconRegistry = {
11
+ 'lucide:a-arrow-down': icons['a-arrow-down'],
12
+ 'lucide:a-arrow-up': icons['a-arrow-up'],
13
+ 'lucide:a-large-small': icons['a-large-small'],
14
+ 'lucide:accessibility': icons['accessibility'],
15
+ 'lucide:activity': icons['activity'],
16
+ 'lucide:air-vent': icons['air-vent'],
17
+ 'lucide:airplay': icons['airplay'],
18
+ 'lucide:alarm-clock': icons['alarm-clock'],
19
+ 'lucide:alarm-clock-check': icons['alarm-clock-check'],
20
+ 'lucide:alarm-clock-minus': icons['alarm-clock-minus'],
21
+ 'lucide:alarm-clock-off': icons['alarm-clock-off'],
22
+ 'lucide:alarm-clock-plus': icons['alarm-clock-plus'],
23
+ 'lucide:alarm-smoke': icons['alarm-smoke'],
24
+ 'lucide:album': icons['album'],
25
+ 'lucide:align-center': icons['align-center'],
26
+ 'lucide:align-center-horizontal': icons['align-center-horizontal'],
27
+ 'lucide:align-center-vertical': icons['align-center-vertical'],
28
+ 'lucide:align-end-horizontal': icons['align-end-horizontal'],
29
+ 'lucide:align-end-vertical': icons['align-end-vertical'],
30
+ 'lucide:align-horizontal-distribute-center': icons['align-horizontal-distribute-center'],
31
+ 'lucide:align-horizontal-distribute-end': icons['align-horizontal-distribute-end'],
32
+ 'lucide:align-horizontal-distribute-start': icons['align-horizontal-distribute-start'],
33
+ 'lucide:align-horizontal-justify-center': icons['align-horizontal-justify-center'],
34
+ 'lucide:align-horizontal-justify-end': icons['align-horizontal-justify-end'],
35
+ 'lucide:align-horizontal-justify-start': icons['align-horizontal-justify-start'],
36
+ 'lucide:align-horizontal-space-around': icons['align-horizontal-space-around'],
37
+ 'lucide:align-horizontal-space-between': icons['align-horizontal-space-between'],
38
+ 'lucide:align-justify': icons['align-justify'],
39
+ 'lucide:align-left': icons['align-left'],
40
+ 'lucide:align-right': icons['align-right'],
41
+ 'lucide:align-start-horizontal': icons['align-start-horizontal'],
42
+ 'lucide:align-start-vertical': icons['align-start-vertical'],
43
+ 'lucide:align-vertical-distribute-center': icons['align-vertical-distribute-center'],
44
+ 'lucide:align-vertical-distribute-end': icons['align-vertical-distribute-end'],
45
+ 'lucide:align-vertical-distribute-start': icons['align-vertical-distribute-start'],
46
+ 'lucide:align-vertical-justify-center': icons['align-vertical-justify-center'],
47
+ 'lucide:align-vertical-justify-end': icons['align-vertical-justify-end'],
48
+ 'lucide:align-vertical-justify-start': icons['align-vertical-justify-start'],
49
+ 'lucide:align-vertical-space-around': icons['align-vertical-space-around'],
50
+ 'lucide:align-vertical-space-between': icons['align-vertical-space-between'],
51
+ 'lucide:ambulance': icons['ambulance'],
52
+ 'lucide:ampersand': icons['ampersand'],
53
+ 'lucide:ampersands': icons['ampersands'],
54
+ 'lucide:amphora': icons['amphora'],
55
+ 'lucide:anchor': icons['anchor'],
56
+ 'lucide:angry': icons['angry'],
57
+ 'lucide:annoyed': icons['annoyed'],
58
+ 'lucide:antenna': icons['antenna'],
59
+ 'lucide:anvil': icons['anvil'],
60
+ 'lucide:aperture': icons['aperture'],
61
+ 'lucide:app-window': icons['app-window'],
62
+ 'lucide:app-window-mac': icons['app-window-mac'],
63
+ 'lucide:apple': icons['apple'],
64
+ 'lucide:archive': icons['archive'],
65
+ 'lucide:archive-restore': icons['archive-restore'],
66
+ 'lucide:archive-x': icons['archive-x'],
67
+ 'lucide:area-chart': icons['area-chart'],
68
+ 'lucide:armchair': icons['armchair'],
69
+ 'lucide:arrow-big-down': icons['arrow-big-down'],
70
+ 'lucide:arrow-big-down-dash': icons['arrow-big-down-dash'],
71
+ 'lucide:arrow-big-left': icons['arrow-big-left'],
72
+ 'lucide:arrow-big-left-dash': icons['arrow-big-left-dash'],
73
+ 'lucide:arrow-big-right': icons['arrow-big-right'],
74
+ 'lucide:arrow-big-right-dash': icons['arrow-big-right-dash'],
75
+ 'lucide:arrow-big-up': icons['arrow-big-up'],
76
+ 'lucide:arrow-big-up-dash': icons['arrow-big-up-dash'],
77
+ 'lucide:arrow-down': icons['arrow-down'],
78
+ 'lucide:arrow-down-0-1': icons['arrow-down-0-1'],
79
+ 'lucide:arrow-down-1-0': icons['arrow-down-1-0'],
80
+ 'lucide:arrow-down-a-z': icons['arrow-down-a-z'],
81
+ 'lucide:arrow-down-from-line': icons['arrow-down-from-line'],
82
+ 'lucide:arrow-down-left': icons['arrow-down-left'],
83
+ 'lucide:arrow-down-narrow-wide': icons['arrow-down-narrow-wide'],
84
+ 'lucide:arrow-down-right': icons['arrow-down-right'],
85
+ 'lucide:arrow-down-to-dot': icons['arrow-down-to-dot'],
86
+ 'lucide:arrow-down-to-line': icons['arrow-down-to-line'],
87
+ 'lucide:arrow-down-up': icons['arrow-down-up'],
88
+ 'lucide:arrow-down-wide-narrow': icons['arrow-down-wide-narrow'],
89
+ 'lucide:arrow-down-z-a': icons['arrow-down-z-a'],
90
+ 'lucide:arrow-left': icons['arrow-left'],
91
+ 'lucide:arrow-left-from-line': icons['arrow-left-from-line'],
92
+ 'lucide:arrow-left-right': icons['arrow-left-right'],
93
+ 'lucide:arrow-left-to-line': icons['arrow-left-to-line'],
94
+ 'lucide:arrow-right': icons['arrow-right'],
95
+ 'lucide:arrow-right-from-line': icons['arrow-right-from-line'],
96
+ 'lucide:arrow-right-left': icons['arrow-right-left'],
97
+ 'lucide:arrow-right-to-line': icons['arrow-right-to-line'],
98
+ 'lucide:arrow-up': icons['arrow-up'],
99
+ 'lucide:arrow-up-0-1': icons['arrow-up-0-1'],
100
+ 'lucide:arrow-up-1-0': icons['arrow-up-1-0'],
101
+ 'lucide:arrow-up-a-z': icons['arrow-up-a-z'],
102
+ 'lucide:arrow-up-down': icons['arrow-up-down'],
103
+ 'lucide:arrow-up-from-dot': icons['arrow-up-from-dot'],
104
+ 'lucide:arrow-up-from-line': icons['arrow-up-from-line'],
105
+ 'lucide:arrow-up-left': icons['arrow-up-left'],
106
+ 'lucide:arrow-up-narrow-wide': icons['arrow-up-narrow-wide'],
107
+ 'lucide:arrow-up-right': icons['arrow-up-right'],
108
+ 'lucide:arrow-up-to-line': icons['arrow-up-to-line'],
109
+ 'lucide:arrow-up-wide-narrow': icons['arrow-up-wide-narrow'],
110
+ 'lucide:arrow-up-z-a': icons['arrow-up-z-a'],
111
+ 'lucide:arrows-up-from-line': icons['arrows-up-from-line'],
112
+ 'lucide:asterisk': icons['asterisk'],
113
+ 'lucide:at-sign': icons['at-sign'],
114
+ 'lucide:atom': icons['atom'],
115
+ 'lucide:audio-lines': icons['audio-lines'],
116
+ 'lucide:audio-waveform': icons['audio-waveform'],
117
+ 'lucide:award': icons['award'],
118
+ 'lucide:axe': icons['axe'],
119
+ 'lucide:axis-3d': icons['axis-3d'],
120
+ 'lucide:baby': icons['baby'],
121
+ 'lucide:backpack': icons['backpack'],
122
+ 'lucide:badge': icons['badge'],
123
+ 'lucide:badge-alert': icons['badge-alert'],
124
+ 'lucide:badge-cent': icons['badge-cent'],
125
+ 'lucide:badge-check': icons['badge-check'],
126
+ 'lucide:badge-dollar-sign': icons['badge-dollar-sign'],
127
+ 'lucide:badge-euro': icons['badge-euro'],
128
+ 'lucide:badge-indian-rupee': icons['badge-indian-rupee'],
129
+ 'lucide:badge-info': icons['badge-info'],
130
+ 'lucide:badge-japanese-yen': icons['badge-japanese-yen'],
131
+ 'lucide:badge-minus': icons['badge-minus'],
132
+ 'lucide:badge-percent': icons['badge-percent'],
133
+ 'lucide:badge-plus': icons['badge-plus'],
134
+ 'lucide:badge-pound-sterling': icons['badge-pound-sterling'],
135
+ 'lucide:badge-question-mark': icons['badge-question-mark'],
136
+ 'lucide:badge-russian-ruble': icons['badge-russian-ruble'],
137
+ 'lucide:badge-swiss-franc': icons['badge-swiss-franc'],
138
+ 'lucide:badge-turkish-lira': icons['badge-turkish-lira'],
139
+ 'lucide:badge-x': icons['badge-x'],
140
+ 'lucide:baggage-claim': icons['baggage-claim'],
141
+ 'lucide:ban': icons['ban'],
142
+ 'lucide:banana': icons['banana'],
143
+ 'lucide:bandage': icons['bandage'],
144
+ 'lucide:banknote': icons['banknote'],
145
+ 'lucide:banknote-arrow-down': icons['banknote-arrow-down'],
146
+ 'lucide:banknote-arrow-up': icons['banknote-arrow-up'],
147
+ 'lucide:banknote-x': icons['banknote-x'],
148
+ 'lucide:bar-chart-3': icons['bar-chart-3'],
149
+ 'lucide:bar-chart-4': icons['bar-chart-4'],
150
+ 'lucide:bar-chart-big': icons['bar-chart-big'],
151
+ 'lucide:bar-chart-horizontal': icons['bar-chart-horizontal'],
152
+ 'lucide:bar-chart-horizontal-big': icons['bar-chart-horizontal-big'],
153
+ 'lucide:barcode': icons['barcode'],
154
+ 'lucide:barrel': icons['barrel'],
155
+ 'lucide:baseline': icons['baseline'],
156
+ 'lucide:bath': icons['bath'],
157
+ 'lucide:battery': icons['battery'],
158
+ 'lucide:battery-charging': icons['battery-charging'],
159
+ 'lucide:battery-full': icons['battery-full'],
160
+ 'lucide:battery-low': icons['battery-low'],
161
+ 'lucide:battery-medium': icons['battery-medium'],
162
+ 'lucide:battery-plus': icons['battery-plus'],
163
+ 'lucide:battery-warning': icons['battery-warning'],
164
+ 'lucide:beaker': icons['beaker'],
165
+ 'lucide:bean': icons['bean'],
166
+ 'lucide:bean-off': icons['bean-off'],
167
+ 'lucide:bed': icons['bed'],
168
+ 'lucide:bed-double': icons['bed-double'],
169
+ 'lucide:bed-single': icons['bed-single'],
170
+ 'lucide:beef': icons['beef'],
171
+ 'lucide:beer': icons['beer'],
172
+ 'lucide:beer-off': icons['beer-off'],
173
+ 'lucide:bell': icons['bell'],
174
+ 'lucide:bell-dot': icons['bell-dot'],
175
+ 'lucide:bell-electric': icons['bell-electric'],
176
+ 'lucide:bell-minus': icons['bell-minus'],
177
+ 'lucide:bell-off': icons['bell-off'],
178
+ 'lucide:bell-plus': icons['bell-plus'],
179
+ 'lucide:bell-ring': icons['bell-ring'],
180
+ 'lucide:between-horizontal-end': icons['between-horizontal-end'],
181
+ 'lucide:between-horizontal-start': icons['between-horizontal-start'],
182
+ 'lucide:between-vertical-end': icons['between-vertical-end'],
183
+ 'lucide:between-vertical-start': icons['between-vertical-start'],
184
+ 'lucide:biceps-flexed': icons['biceps-flexed'],
185
+ 'lucide:bike': icons['bike'],
186
+ 'lucide:binary': icons['binary'],
187
+ 'lucide:binoculars': icons['binoculars'],
188
+ 'lucide:biohazard': icons['biohazard'],
189
+ 'lucide:bird': icons['bird'],
190
+ 'lucide:bitcoin': icons['bitcoin'],
191
+ 'lucide:blend': icons['blend'],
192
+ 'lucide:blinds': icons['blinds'],
193
+ 'lucide:blocks': icons['blocks'],
194
+ 'lucide:bluetooth': icons['bluetooth'],
195
+ 'lucide:bluetooth-connected': icons['bluetooth-connected'],
196
+ 'lucide:bluetooth-off': icons['bluetooth-off'],
197
+ 'lucide:bluetooth-searching': icons['bluetooth-searching'],
198
+ 'lucide:bold': icons['bold'],
199
+ 'lucide:bolt': icons['bolt'],
200
+ 'lucide:bomb': icons['bomb'],
201
+ 'lucide:bone': icons['bone'],
202
+ 'lucide:book': icons['book'],
203
+ 'lucide:book-a': icons['book-a'],
204
+ 'lucide:book-alert': icons['book-alert'],
205
+ 'lucide:book-audio': icons['book-audio'],
206
+ 'lucide:book-check': icons['book-check'],
207
+ 'lucide:book-copy': icons['book-copy'],
208
+ 'lucide:book-dashed': icons['book-dashed'],
209
+ 'lucide:book-down': icons['book-down'],
210
+ 'lucide:book-headphones': icons['book-headphones'],
211
+ 'lucide:book-heart': icons['book-heart'],
212
+ 'lucide:book-image': icons['book-image'],
213
+ 'lucide:book-key': icons['book-key'],
214
+ 'lucide:book-lock': icons['book-lock'],
215
+ 'lucide:book-marked': icons['book-marked'],
216
+ 'lucide:book-minus': icons['book-minus'],
217
+ 'lucide:book-open': icons['book-open'],
218
+ 'lucide:book-open-check': icons['book-open-check'],
219
+ 'lucide:book-open-text': icons['book-open-text'],
220
+ 'lucide:book-plus': icons['book-plus'],
221
+ 'lucide:book-text': icons['book-text'],
222
+ 'lucide:book-type': icons['book-type'],
223
+ 'lucide:book-up': icons['book-up'],
224
+ 'lucide:book-up-2': icons['book-up-2'],
225
+ 'lucide:book-user': icons['book-user'],
226
+ 'lucide:book-x': icons['book-x'],
227
+ 'lucide:bookmark': icons['bookmark'],
228
+ 'lucide:bookmark-check': icons['bookmark-check'],
229
+ 'lucide:bookmark-minus': icons['bookmark-minus'],
230
+ 'lucide:bookmark-plus': icons['bookmark-plus'],
231
+ 'lucide:bookmark-x': icons['bookmark-x'],
232
+ 'lucide:boom-box': icons['boom-box'],
233
+ 'lucide:bot': icons['bot'],
234
+ 'lucide:bot-message-square': icons['bot-message-square'],
235
+ 'lucide:bot-off': icons['bot-off'],
236
+ 'lucide:bottle-wine': icons['bottle-wine'],
237
+ 'lucide:bow-arrow': icons['bow-arrow'],
238
+ 'lucide:box': icons['box'],
239
+ 'lucide:boxes': icons['boxes'],
240
+ 'lucide:braces': icons['braces'],
241
+ 'lucide:brackets': icons['brackets'],
242
+ 'lucide:brain': icons['brain'],
243
+ 'lucide:brain-circuit': icons['brain-circuit'],
244
+ 'lucide:brain-cog': icons['brain-cog'],
245
+ 'lucide:brick-wall': icons['brick-wall'],
246
+ 'lucide:brick-wall-fire': icons['brick-wall-fire'],
247
+ 'lucide:briefcase': icons['briefcase'],
248
+ 'lucide:briefcase-business': icons['briefcase-business'],
249
+ 'lucide:briefcase-conveyor-belt': icons['briefcase-conveyor-belt'],
250
+ 'lucide:briefcase-medical': icons['briefcase-medical'],
251
+ 'lucide:bring-to-front': icons['bring-to-front'],
252
+ 'lucide:brush': icons['brush'],
253
+ 'lucide:brush-cleaning': icons['brush-cleaning'],
254
+ 'lucide:bubbles': icons['bubbles'],
255
+ 'lucide:bug': icons['bug'],
256
+ 'lucide:bug-off': icons['bug-off'],
257
+ 'lucide:bug-play': icons['bug-play'],
258
+ 'lucide:building': icons['building'],
259
+ 'lucide:building-2': icons['building-2'],
260
+ 'lucide:bus': icons['bus'],
261
+ 'lucide:bus-front': icons['bus-front'],
262
+ 'lucide:cable': icons['cable'],
263
+ 'lucide:cable-car': icons['cable-car'],
264
+ 'lucide:cake': icons['cake'],
265
+ 'lucide:cake-slice': icons['cake-slice'],
266
+ 'lucide:calculator': icons['calculator'],
267
+ 'lucide:calendar': icons['calendar'],
268
+ 'lucide:calendar-1': icons['calendar-1'],
269
+ 'lucide:calendar-arrow-down': icons['calendar-arrow-down'],
270
+ 'lucide:calendar-arrow-up': icons['calendar-arrow-up'],
271
+ 'lucide:calendar-check': icons['calendar-check'],
272
+ 'lucide:calendar-check-2': icons['calendar-check-2'],
273
+ 'lucide:calendar-clock': icons['calendar-clock'],
274
+ 'lucide:calendar-cog': icons['calendar-cog'],
275
+ 'lucide:calendar-days': icons['calendar-days'],
276
+ 'lucide:calendar-fold': icons['calendar-fold'],
277
+ 'lucide:calendar-heart': icons['calendar-heart'],
278
+ 'lucide:calendar-minus': icons['calendar-minus'],
279
+ 'lucide:calendar-minus-2': icons['calendar-minus-2'],
280
+ 'lucide:calendar-off': icons['calendar-off'],
281
+ 'lucide:calendar-plus': icons['calendar-plus'],
282
+ 'lucide:calendar-plus-2': icons['calendar-plus-2'],
283
+ 'lucide:calendar-range': icons['calendar-range'],
284
+ 'lucide:calendar-search': icons['calendar-search'],
285
+ 'lucide:calendar-sync': icons['calendar-sync'],
286
+ 'lucide:calendar-x': icons['calendar-x'],
287
+ 'lucide:calendar-x-2': icons['calendar-x-2'],
288
+ 'lucide:camera': icons['camera'],
289
+ 'lucide:camera-off': icons['camera-off'],
290
+ 'lucide:candlestick-chart': icons['candlestick-chart'],
291
+ 'lucide:candy': icons['candy'],
292
+ 'lucide:candy-cane': icons['candy-cane'],
293
+ 'lucide:candy-off': icons['candy-off'],
294
+ 'lucide:cannabis': icons['cannabis'],
295
+ 'lucide:captions': icons['captions'],
296
+ 'lucide:captions-off': icons['captions-off'],
297
+ 'lucide:car': icons['car'],
298
+ 'lucide:car-front': icons['car-front'],
299
+ 'lucide:car-taxi-front': icons['car-taxi-front'],
300
+ 'lucide:caravan': icons['caravan'],
301
+ 'lucide:card-sim': icons['card-sim'],
302
+ 'lucide:carrot': icons['carrot'],
303
+ 'lucide:case-lower': icons['case-lower'],
304
+ 'lucide:case-sensitive': icons['case-sensitive'],
305
+ 'lucide:case-upper': icons['case-upper'],
306
+ 'lucide:cassette-tape': icons['cassette-tape'],
307
+ 'lucide:cast': icons['cast'],
308
+ 'lucide:castle': icons['castle'],
309
+ 'lucide:cat': icons['cat'],
310
+ 'lucide:cctv': icons['cctv'],
311
+ 'lucide:chart-area': icons['chart-area'],
312
+ 'lucide:chart-bar': icons['chart-bar'],
313
+ 'lucide:chart-bar-big': icons['chart-bar-big'],
314
+ 'lucide:chart-bar-decreasing': icons['chart-bar-decreasing'],
315
+ 'lucide:chart-bar-increasing': icons['chart-bar-increasing'],
316
+ 'lucide:chart-bar-stacked': icons['chart-bar-stacked'],
317
+ 'lucide:chart-candlestick': icons['chart-candlestick'],
318
+ 'lucide:chart-column': icons['chart-column'],
319
+ 'lucide:chart-column-big': icons['chart-column-big'],
320
+ 'lucide:chart-column-decreasing': icons['chart-column-decreasing'],
321
+ 'lucide:chart-column-increasing': icons['chart-column-increasing'],
322
+ 'lucide:chart-column-stacked': icons['chart-column-stacked'],
323
+ 'lucide:chart-gantt': icons['chart-gantt'],
324
+ 'lucide:chart-line': icons['chart-line'],
325
+ 'lucide:chart-network': icons['chart-network'],
326
+ 'lucide:chart-no-axes-column': icons['chart-no-axes-column'],
327
+ 'lucide:chart-no-axes-column-decreasing': icons['chart-no-axes-column-decreasing'],
328
+ 'lucide:chart-no-axes-column-increasing': icons['chart-no-axes-column-increasing'],
329
+ 'lucide:chart-no-axes-combined': icons['chart-no-axes-combined'],
330
+ 'lucide:chart-no-axes-gantt': icons['chart-no-axes-gantt'],
331
+ 'lucide:chart-pie': icons['chart-pie'],
332
+ 'lucide:chart-scatter': icons['chart-scatter'],
333
+ 'lucide:chart-spline': icons['chart-spline'],
334
+ 'lucide:check': icons['check'],
335
+ 'lucide:check-check': icons['check-check'],
336
+ 'lucide:check-line': icons['check-line'],
337
+ 'lucide:chef-hat': icons['chef-hat'],
338
+ 'lucide:cherry': icons['cherry'],
339
+ 'lucide:chevron-down': icons['chevron-down'],
340
+ 'lucide:chevron-first': icons['chevron-first'],
341
+ 'lucide:chevron-last': icons['chevron-last'],
342
+ 'lucide:chevron-left': icons['chevron-left'],
343
+ 'lucide:chevron-right': icons['chevron-right'],
344
+ 'lucide:chevron-up': icons['chevron-up'],
345
+ 'lucide:chevrons-down': icons['chevrons-down'],
346
+ 'lucide:chevrons-down-up': icons['chevrons-down-up'],
347
+ 'lucide:chevrons-left': icons['chevrons-left'],
348
+ 'lucide:chevrons-left-right': icons['chevrons-left-right'],
349
+ 'lucide:chevrons-left-right-ellipsis': icons['chevrons-left-right-ellipsis'],
350
+ 'lucide:chevrons-right': icons['chevrons-right'],
351
+ 'lucide:chevrons-right-left': icons['chevrons-right-left'],
352
+ 'lucide:chevrons-up': icons['chevrons-up'],
353
+ 'lucide:chevrons-up-down': icons['chevrons-up-down'],
354
+ 'lucide:chrome': icons['chrome'],
355
+ 'lucide:church': icons['church'],
356
+ 'lucide:cigarette': icons['cigarette'],
357
+ 'lucide:cigarette-off': icons['cigarette-off'],
358
+ 'lucide:circle': icons['circle'],
359
+ 'lucide:circle-alert': icons['circle-alert'],
360
+ 'lucide:circle-arrow-down': icons['circle-arrow-down'],
361
+ 'lucide:circle-arrow-left': icons['circle-arrow-left'],
362
+ 'lucide:circle-arrow-out-down-left': icons['circle-arrow-out-down-left'],
363
+ 'lucide:circle-arrow-out-down-right': icons['circle-arrow-out-down-right'],
364
+ 'lucide:circle-arrow-out-up-left': icons['circle-arrow-out-up-left'],
365
+ 'lucide:circle-arrow-out-up-right': icons['circle-arrow-out-up-right'],
366
+ 'lucide:circle-arrow-right': icons['circle-arrow-right'],
367
+ 'lucide:circle-arrow-up': icons['circle-arrow-up'],
368
+ 'lucide:circle-check': icons['circle-check'],
369
+ 'lucide:circle-check-big': icons['circle-check-big'],
370
+ 'lucide:circle-chevron-down': icons['circle-chevron-down'],
371
+ 'lucide:circle-chevron-left': icons['circle-chevron-left'],
372
+ 'lucide:circle-chevron-right': icons['circle-chevron-right'],
373
+ 'lucide:circle-chevron-up': icons['circle-chevron-up'],
374
+ 'lucide:circle-dashed': icons['circle-dashed'],
375
+ 'lucide:circle-divide': icons['circle-divide'],
376
+ 'lucide:circle-dollar-sign': icons['circle-dollar-sign'],
377
+ 'lucide:circle-dot': icons['circle-dot'],
378
+ 'lucide:circle-dot-dashed': icons['circle-dot-dashed'],
379
+ 'lucide:circle-ellipsis': icons['circle-ellipsis'],
380
+ 'lucide:circle-equal': icons['circle-equal'],
381
+ 'lucide:circle-fading-arrow-up': icons['circle-fading-arrow-up'],
382
+ 'lucide:circle-fading-plus': icons['circle-fading-plus'],
383
+ 'lucide:circle-gauge': icons['circle-gauge'],
384
+ 'lucide:circle-minus': icons['circle-minus'],
385
+ 'lucide:circle-off': icons['circle-off'],
386
+ 'lucide:circle-parking': icons['circle-parking'],
387
+ 'lucide:circle-parking-off': icons['circle-parking-off'],
388
+ 'lucide:circle-pause': icons['circle-pause'],
389
+ 'lucide:circle-percent': icons['circle-percent'],
390
+ 'lucide:circle-play': icons['circle-play'],
391
+ 'lucide:circle-plus': icons['circle-plus'],
392
+ 'lucide:circle-pound-sterling': icons['circle-pound-sterling'],
393
+ 'lucide:circle-power': icons['circle-power'],
394
+ 'lucide:circle-question-mark': icons['circle-question-mark'],
395
+ 'lucide:circle-slash': icons['circle-slash'],
396
+ 'lucide:circle-slash-2': icons['circle-slash-2'],
397
+ 'lucide:circle-small': icons['circle-small'],
398
+ 'lucide:circle-stop': icons['circle-stop'],
399
+ 'lucide:circle-user': icons['circle-user'],
400
+ 'lucide:circle-user-round': icons['circle-user-round'],
401
+ 'lucide:circle-x': icons['circle-x'],
402
+ 'lucide:circuit-board': icons['circuit-board'],
403
+ 'lucide:citrus': icons['citrus'],
404
+ 'lucide:clapperboard': icons['clapperboard'],
405
+ 'lucide:clipboard': icons['clipboard'],
406
+ 'lucide:clipboard-check': icons['clipboard-check'],
407
+ 'lucide:clipboard-copy': icons['clipboard-copy'],
408
+ 'lucide:clipboard-list': icons['clipboard-list'],
409
+ 'lucide:clipboard-minus': icons['clipboard-minus'],
410
+ 'lucide:clipboard-paste': icons['clipboard-paste'],
411
+ 'lucide:clipboard-pen': icons['clipboard-pen'],
412
+ 'lucide:clipboard-pen-line': icons['clipboard-pen-line'],
413
+ 'lucide:clipboard-plus': icons['clipboard-plus'],
414
+ 'lucide:clipboard-type': icons['clipboard-type'],
415
+ 'lucide:clipboard-x': icons['clipboard-x'],
416
+ 'lucide:clock': icons['clock'],
417
+ 'lucide:clock-1': icons['clock-1'],
418
+ 'lucide:clock-10': icons['clock-10'],
419
+ 'lucide:clock-11': icons['clock-11'],
420
+ 'lucide:clock-12': icons['clock-12'],
421
+ 'lucide:clock-2': icons['clock-2'],
422
+ 'lucide:clock-3': icons['clock-3'],
423
+ 'lucide:clock-4': icons['clock-4'],
424
+ 'lucide:clock-5': icons['clock-5'],
425
+ 'lucide:clock-6': icons['clock-6'],
426
+ 'lucide:clock-7': icons['clock-7'],
427
+ 'lucide:clock-8': icons['clock-8'],
428
+ 'lucide:clock-9': icons['clock-9'],
429
+ 'lucide:clock-alert': icons['clock-alert'],
430
+ 'lucide:clock-arrow-down': icons['clock-arrow-down'],
431
+ 'lucide:clock-arrow-up': icons['clock-arrow-up'],
432
+ 'lucide:clock-fading': icons['clock-fading'],
433
+ 'lucide:clock-plus': icons['clock-plus'],
434
+ 'lucide:cloud': icons['cloud'],
435
+ 'lucide:cloud-alert': icons['cloud-alert'],
436
+ 'lucide:cloud-check': icons['cloud-check'],
437
+ 'lucide:cloud-cog': icons['cloud-cog'],
438
+ 'lucide:cloud-download': icons['cloud-download'],
439
+ 'lucide:cloud-drizzle': icons['cloud-drizzle'],
440
+ 'lucide:cloud-fog': icons['cloud-fog'],
441
+ 'lucide:cloud-hail': icons['cloud-hail'],
442
+ 'lucide:cloud-lightning': icons['cloud-lightning'],
443
+ 'lucide:cloud-moon': icons['cloud-moon'],
444
+ 'lucide:cloud-moon-rain': icons['cloud-moon-rain'],
445
+ 'lucide:cloud-off': icons['cloud-off'],
446
+ 'lucide:cloud-rain': icons['cloud-rain'],
447
+ 'lucide:cloud-rain-wind': icons['cloud-rain-wind'],
448
+ 'lucide:cloud-snow': icons['cloud-snow'],
449
+ 'lucide:cloud-sun': icons['cloud-sun'],
450
+ 'lucide:cloud-sun-rain': icons['cloud-sun-rain'],
451
+ 'lucide:cloud-upload': icons['cloud-upload'],
452
+ 'lucide:cloudy': icons['cloudy'],
453
+ 'lucide:clover': icons['clover'],
454
+ 'lucide:club': icons['club'],
455
+ 'lucide:code': icons['code'],
456
+ 'lucide:code-xml': icons['code-xml'],
457
+ 'lucide:codepen': icons['codepen'],
458
+ 'lucide:codesandbox': icons['codesandbox'],
459
+ 'lucide:coffee': icons['coffee'],
460
+ 'lucide:cog': icons['cog'],
461
+ 'lucide:coins': icons['coins'],
462
+ 'lucide:columns-2': icons['columns-2'],
463
+ 'lucide:columns-3': icons['columns-3'],
464
+ 'lucide:columns-3-cog': icons['columns-3-cog'],
465
+ 'lucide:columns-4': icons['columns-4'],
466
+ 'lucide:combine': icons['combine'],
467
+ 'lucide:command': icons['command'],
468
+ 'lucide:compass': icons['compass'],
469
+ 'lucide:component': icons['component'],
470
+ 'lucide:computer': icons['computer'],
471
+ 'lucide:concierge-bell': icons['concierge-bell'],
472
+ 'lucide:cone': icons['cone'],
473
+ 'lucide:construction': icons['construction'],
474
+ 'lucide:contact': icons['contact'],
475
+ 'lucide:contact-round': icons['contact-round'],
476
+ 'lucide:container': icons['container'],
477
+ 'lucide:contrast': icons['contrast'],
478
+ 'lucide:cookie': icons['cookie'],
479
+ 'lucide:cooking-pot': icons['cooking-pot'],
480
+ 'lucide:copy': icons['copy'],
481
+ 'lucide:copy-check': icons['copy-check'],
482
+ 'lucide:copy-minus': icons['copy-minus'],
483
+ 'lucide:copy-plus': icons['copy-plus'],
484
+ 'lucide:copy-slash': icons['copy-slash'],
485
+ 'lucide:copy-x': icons['copy-x'],
486
+ 'lucide:copyleft': icons['copyleft'],
487
+ 'lucide:copyright': icons['copyright'],
488
+ 'lucide:corner-down-left': icons['corner-down-left'],
489
+ 'lucide:corner-down-right': icons['corner-down-right'],
490
+ 'lucide:corner-left-down': icons['corner-left-down'],
491
+ 'lucide:corner-left-up': icons['corner-left-up'],
492
+ 'lucide:corner-right-down': icons['corner-right-down'],
493
+ 'lucide:corner-right-up': icons['corner-right-up'],
494
+ 'lucide:corner-up-left': icons['corner-up-left'],
495
+ 'lucide:corner-up-right': icons['corner-up-right'],
496
+ 'lucide:cpu': icons['cpu'],
497
+ 'lucide:creative-commons': icons['creative-commons'],
498
+ 'lucide:credit-card': icons['credit-card'],
499
+ 'lucide:croissant': icons['croissant'],
500
+ 'lucide:crop': icons['crop'],
501
+ 'lucide:cross': icons['cross'],
502
+ 'lucide:crosshair': icons['crosshair'],
503
+ 'lucide:crown': icons['crown'],
504
+ 'lucide:cuboid': icons['cuboid'],
505
+ 'lucide:cup-soda': icons['cup-soda'],
506
+ 'lucide:currency': icons['currency'],
507
+ 'lucide:cylinder': icons['cylinder'],
508
+ 'lucide:dam': icons['dam'],
509
+ 'lucide:database': icons['database'],
510
+ 'lucide:database-backup': icons['database-backup'],
511
+ 'lucide:database-zap': icons['database-zap'],
512
+ 'lucide:decimals-arrow-left': icons['decimals-arrow-left'],
513
+ 'lucide:decimals-arrow-right': icons['decimals-arrow-right'],
514
+ 'lucide:delete': icons['delete'],
515
+ 'lucide:dessert': icons['dessert'],
516
+ 'lucide:diameter': icons['diameter'],
517
+ 'lucide:diamond': icons['diamond'],
518
+ 'lucide:diamond-minus': icons['diamond-minus'],
519
+ 'lucide:diamond-percent': icons['diamond-percent'],
520
+ 'lucide:diamond-plus': icons['diamond-plus'],
521
+ 'lucide:dice-1': icons['dice-1'],
522
+ 'lucide:dice-2': icons['dice-2'],
523
+ 'lucide:dice-3': icons['dice-3'],
524
+ 'lucide:dice-4': icons['dice-4'],
525
+ 'lucide:dice-5': icons['dice-5'],
526
+ 'lucide:dice-6': icons['dice-6'],
527
+ 'lucide:dices': icons['dices'],
528
+ 'lucide:diff': icons['diff'],
529
+ 'lucide:disc': icons['disc'],
530
+ 'lucide:disc-2': icons['disc-2'],
531
+ 'lucide:disc-3': icons['disc-3'],
532
+ 'lucide:disc-album': icons['disc-album'],
533
+ 'lucide:divide': icons['divide'],
534
+ 'lucide:dna': icons['dna'],
535
+ 'lucide:dna-off': icons['dna-off'],
536
+ 'lucide:dock': icons['dock'],
537
+ 'lucide:dog': icons['dog'],
538
+ 'lucide:dollar-sign': icons['dollar-sign'],
539
+ 'lucide:donut': icons['donut'],
540
+ 'lucide:door-closed': icons['door-closed'],
541
+ 'lucide:door-closed-locked': icons['door-closed-locked'],
542
+ 'lucide:door-open': icons['door-open'],
543
+ 'lucide:dot': icons['dot'],
544
+ 'lucide:download': icons['download'],
545
+ 'lucide:drafting-compass': icons['drafting-compass'],
546
+ 'lucide:drama': icons['drama'],
547
+ 'lucide:dribbble': icons['dribbble'],
548
+ 'lucide:drill': icons['drill'],
549
+ 'lucide:drone': icons['drone'],
550
+ 'lucide:droplet': icons['droplet'],
551
+ 'lucide:droplet-off': icons['droplet-off'],
552
+ 'lucide:droplets': icons['droplets'],
553
+ 'lucide:drum': icons['drum'],
554
+ 'lucide:drumstick': icons['drumstick'],
555
+ 'lucide:dumbbell': icons['dumbbell'],
556
+ 'lucide:ear': icons['ear'],
557
+ 'lucide:ear-off': icons['ear-off'],
558
+ 'lucide:earth': icons['earth'],
559
+ 'lucide:earth-lock': icons['earth-lock'],
560
+ 'lucide:eclipse': icons['eclipse'],
561
+ 'lucide:egg': icons['egg'],
562
+ 'lucide:egg-fried': icons['egg-fried'],
563
+ 'lucide:egg-off': icons['egg-off'],
564
+ 'lucide:ellipsis': icons['ellipsis'],
565
+ 'lucide:ellipsis-vertical': icons['ellipsis-vertical'],
566
+ 'lucide:equal': icons['equal'],
567
+ 'lucide:equal-approximately': icons['equal-approximately'],
568
+ 'lucide:equal-not': icons['equal-not'],
569
+ 'lucide:eraser': icons['eraser'],
570
+ 'lucide:ethernet-port': icons['ethernet-port'],
571
+ 'lucide:euro': icons['euro'],
572
+ 'lucide:expand': icons['expand'],
573
+ 'lucide:external-link': icons['external-link'],
574
+ 'lucide:eye': icons['eye'],
575
+ 'lucide:eye-closed': icons['eye-closed'],
576
+ 'lucide:eye-off': icons['eye-off'],
577
+ 'lucide:facebook': icons['facebook'],
578
+ 'lucide:factory': icons['factory'],
579
+ 'lucide:fan': icons['fan'],
580
+ 'lucide:fast-forward': icons['fast-forward'],
581
+ 'lucide:feather': icons['feather'],
582
+ 'lucide:fence': icons['fence'],
583
+ 'lucide:ferris-wheel': icons['ferris-wheel'],
584
+ 'lucide:figma': icons['figma'],
585
+ 'lucide:file': icons['file'],
586
+ 'lucide:file-archive': icons['file-archive'],
587
+ 'lucide:file-audio': icons['file-audio'],
588
+ 'lucide:file-audio-2': icons['file-audio-2'],
589
+ 'lucide:file-axis-3d': icons['file-axis-3d'],
590
+ 'lucide:file-badge': icons['file-badge'],
591
+ 'lucide:file-badge-2': icons['file-badge-2'],
592
+ 'lucide:file-box': icons['file-box'],
593
+ 'lucide:file-chart-column': icons['file-chart-column'],
594
+ 'lucide:file-chart-column-increasing': icons['file-chart-column-increasing'],
595
+ 'lucide:file-chart-line': icons['file-chart-line'],
596
+ 'lucide:file-chart-pie': icons['file-chart-pie'],
597
+ 'lucide:file-check': icons['file-check'],
598
+ 'lucide:file-check-2': icons['file-check-2'],
599
+ 'lucide:file-clock': icons['file-clock'],
600
+ 'lucide:file-code': icons['file-code'],
601
+ 'lucide:file-code-2': icons['file-code-2'],
602
+ 'lucide:file-cog': icons['file-cog'],
603
+ 'lucide:file-diff': icons['file-diff'],
604
+ 'lucide:file-digit': icons['file-digit'],
605
+ 'lucide:file-down': icons['file-down'],
606
+ 'lucide:file-heart': icons['file-heart'],
607
+ 'lucide:file-image': icons['file-image'],
608
+ 'lucide:file-input': icons['file-input'],
609
+ 'lucide:file-json': icons['file-json'],
610
+ 'lucide:file-json-2': icons['file-json-2'],
611
+ 'lucide:file-key': icons['file-key'],
612
+ 'lucide:file-key-2': icons['file-key-2'],
613
+ 'lucide:file-lock': icons['file-lock'],
614
+ 'lucide:file-lock-2': icons['file-lock-2'],
615
+ 'lucide:file-minus': icons['file-minus'],
616
+ 'lucide:file-minus-2': icons['file-minus-2'],
617
+ 'lucide:file-music': icons['file-music'],
618
+ 'lucide:file-output': icons['file-output'],
619
+ 'lucide:file-pen': icons['file-pen'],
620
+ 'lucide:file-pen-line': icons['file-pen-line'],
621
+ 'lucide:file-pie-chart': icons['file-pie-chart'],
622
+ 'lucide:file-plus': icons['file-plus'],
623
+ 'lucide:file-plus-2': icons['file-plus-2'],
624
+ 'lucide:file-question-mark': icons['file-question-mark'],
625
+ 'lucide:file-scan': icons['file-scan'],
626
+ 'lucide:file-search': icons['file-search'],
627
+ 'lucide:file-search-2': icons['file-search-2'],
628
+ 'lucide:file-sliders': icons['file-sliders'],
629
+ 'lucide:file-spreadsheet': icons['file-spreadsheet'],
630
+ 'lucide:file-stack': icons['file-stack'],
631
+ 'lucide:file-symlink': icons['file-symlink'],
632
+ 'lucide:file-terminal': icons['file-terminal'],
633
+ 'lucide:file-text': icons['file-text'],
634
+ 'lucide:file-type': icons['file-type'],
635
+ 'lucide:file-type-2': icons['file-type-2'],
636
+ 'lucide:file-up': icons['file-up'],
637
+ 'lucide:file-user': icons['file-user'],
638
+ 'lucide:file-video': icons['file-video'],
639
+ 'lucide:file-video-2': icons['file-video-2'],
640
+ 'lucide:file-volume': icons['file-volume'],
641
+ 'lucide:file-volume-2': icons['file-volume-2'],
642
+ 'lucide:file-warning': icons['file-warning'],
643
+ 'lucide:file-x': icons['file-x'],
644
+ 'lucide:file-x-2': icons['file-x-2'],
645
+ 'lucide:files': icons['files'],
646
+ 'lucide:film': icons['film'],
647
+ 'lucide:filter': icons['filter'],
648
+ 'lucide:filter-x': icons['filter-x'],
649
+ 'lucide:fingerprint': icons['fingerprint'],
650
+ 'lucide:fire-extinguisher': icons['fire-extinguisher'],
651
+ 'lucide:fish': icons['fish'],
652
+ 'lucide:fish-off': icons['fish-off'],
653
+ 'lucide:fish-symbol': icons['fish-symbol'],
654
+ 'lucide:flag': icons['flag'],
655
+ 'lucide:flag-off': icons['flag-off'],
656
+ 'lucide:flag-triangle-left': icons['flag-triangle-left'],
657
+ 'lucide:flag-triangle-right': icons['flag-triangle-right'],
658
+ 'lucide:flame': icons['flame'],
659
+ 'lucide:flame-kindling': icons['flame-kindling'],
660
+ 'lucide:flashlight': icons['flashlight'],
661
+ 'lucide:flashlight-off': icons['flashlight-off'],
662
+ 'lucide:flask-conical': icons['flask-conical'],
663
+ 'lucide:flask-conical-off': icons['flask-conical-off'],
664
+ 'lucide:flask-round': icons['flask-round'],
665
+ 'lucide:flip-horizontal': icons['flip-horizontal'],
666
+ 'lucide:flip-horizontal-2': icons['flip-horizontal-2'],
667
+ 'lucide:flip-vertical': icons['flip-vertical'],
668
+ 'lucide:flip-vertical-2': icons['flip-vertical-2'],
669
+ 'lucide:flower': icons['flower'],
670
+ 'lucide:flower-2': icons['flower-2'],
671
+ 'lucide:focus': icons['focus'],
672
+ 'lucide:fold-horizontal': icons['fold-horizontal'],
673
+ 'lucide:fold-vertical': icons['fold-vertical'],
674
+ 'lucide:folder': icons['folder'],
675
+ 'lucide:folder-archive': icons['folder-archive'],
676
+ 'lucide:folder-check': icons['folder-check'],
677
+ 'lucide:folder-clock': icons['folder-clock'],
678
+ 'lucide:folder-closed': icons['folder-closed'],
679
+ 'lucide:folder-code': icons['folder-code'],
680
+ 'lucide:folder-cog': icons['folder-cog'],
681
+ 'lucide:folder-dot': icons['folder-dot'],
682
+ 'lucide:folder-down': icons['folder-down'],
683
+ 'lucide:folder-git': icons['folder-git'],
684
+ 'lucide:folder-git-2': icons['folder-git-2'],
685
+ 'lucide:folder-heart': icons['folder-heart'],
686
+ 'lucide:folder-input': icons['folder-input'],
687
+ 'lucide:folder-kanban': icons['folder-kanban'],
688
+ 'lucide:folder-key': icons['folder-key'],
689
+ 'lucide:folder-lock': icons['folder-lock'],
690
+ 'lucide:folder-minus': icons['folder-minus'],
691
+ 'lucide:folder-open': icons['folder-open'],
692
+ 'lucide:folder-open-dot': icons['folder-open-dot'],
693
+ 'lucide:folder-output': icons['folder-output'],
694
+ 'lucide:folder-pen': icons['folder-pen'],
695
+ 'lucide:folder-plus': icons['folder-plus'],
696
+ 'lucide:folder-root': icons['folder-root'],
697
+ 'lucide:folder-search': icons['folder-search'],
698
+ 'lucide:folder-search-2': icons['folder-search-2'],
699
+ 'lucide:folder-symlink': icons['folder-symlink'],
700
+ 'lucide:folder-sync': icons['folder-sync'],
701
+ 'lucide:folder-tree': icons['folder-tree'],
702
+ 'lucide:folder-up': icons['folder-up'],
703
+ 'lucide:folder-x': icons['folder-x'],
704
+ 'lucide:folders': icons['folders'],
705
+ 'lucide:footprints': icons['footprints'],
706
+ 'lucide:forklift': icons['forklift'],
707
+ 'lucide:forward': icons['forward'],
708
+ 'lucide:frame': icons['frame'],
709
+ 'lucide:framer': icons['framer'],
710
+ 'lucide:frown': icons['frown'],
711
+ 'lucide:fuel': icons['fuel'],
712
+ 'lucide:fullscreen': icons['fullscreen'],
713
+ 'lucide:funnel': icons['funnel'],
714
+ 'lucide:funnel-plus': icons['funnel-plus'],
715
+ 'lucide:funnel-x': icons['funnel-x'],
716
+ 'lucide:gallery-horizontal': icons['gallery-horizontal'],
717
+ 'lucide:gallery-horizontal-end': icons['gallery-horizontal-end'],
718
+ 'lucide:gallery-thumbnails': icons['gallery-thumbnails'],
719
+ 'lucide:gallery-vertical': icons['gallery-vertical'],
720
+ 'lucide:gallery-vertical-end': icons['gallery-vertical-end'],
721
+ 'lucide:gamepad': icons['gamepad'],
722
+ 'lucide:gamepad-2': icons['gamepad-2'],
723
+ 'lucide:gauge': icons['gauge'],
724
+ 'lucide:gavel': icons['gavel'],
725
+ 'lucide:gem': icons['gem'],
726
+ 'lucide:georgian-lari': icons['georgian-lari'],
727
+ 'lucide:ghost': icons['ghost'],
728
+ 'lucide:gift': icons['gift'],
729
+ 'lucide:git-branch': icons['git-branch'],
730
+ 'lucide:git-branch-plus': icons['git-branch-plus'],
731
+ 'lucide:git-commit-horizontal': icons['git-commit-horizontal'],
732
+ 'lucide:git-commit-vertical': icons['git-commit-vertical'],
733
+ 'lucide:git-compare': icons['git-compare'],
734
+ 'lucide:git-compare-arrows': icons['git-compare-arrows'],
735
+ 'lucide:git-fork': icons['git-fork'],
736
+ 'lucide:git-graph': icons['git-graph'],
737
+ 'lucide:git-merge': icons['git-merge'],
738
+ 'lucide:git-pull-request': icons['git-pull-request'],
739
+ 'lucide:git-pull-request-arrow': icons['git-pull-request-arrow'],
740
+ 'lucide:git-pull-request-closed': icons['git-pull-request-closed'],
741
+ 'lucide:git-pull-request-create': icons['git-pull-request-create'],
742
+ 'lucide:git-pull-request-create-arrow': icons['git-pull-request-create-arrow'],
743
+ 'lucide:git-pull-request-draft': icons['git-pull-request-draft'],
744
+ 'lucide:github': icons['github'],
745
+ 'lucide:gitlab': icons['gitlab'],
746
+ 'lucide:glass-water': icons['glass-water'],
747
+ 'lucide:glasses': icons['glasses'],
748
+ 'lucide:globe': icons['globe'],
749
+ 'lucide:globe-lock': icons['globe-lock'],
750
+ 'lucide:goal': icons['goal'],
751
+ 'lucide:gpu': icons['gpu'],
752
+ 'lucide:grab': icons['grab'],
753
+ 'lucide:graduation-cap': icons['graduation-cap'],
754
+ 'lucide:grape': icons['grape'],
755
+ 'lucide:grid-2x2': icons['grid-2x2'],
756
+ 'lucide:grid-2x2-check': icons['grid-2x2-check'],
757
+ 'lucide:grid-2x2-plus': icons['grid-2x2-plus'],
758
+ 'lucide:grid-2x2-x': icons['grid-2x2-x'],
759
+ 'lucide:grid-3x2': icons['grid-3x2'],
760
+ 'lucide:grid-3x3': icons['grid-3x3'],
761
+ 'lucide:grip': icons['grip'],
762
+ 'lucide:grip-horizontal': icons['grip-horizontal'],
763
+ 'lucide:grip-vertical': icons['grip-vertical'],
764
+ 'lucide:group': icons['group'],
765
+ 'lucide:guitar': icons['guitar'],
766
+ 'lucide:ham': icons['ham'],
767
+ 'lucide:hamburger': icons['hamburger'],
768
+ 'lucide:hammer': icons['hammer'],
769
+ 'lucide:hand': icons['hand'],
770
+ 'lucide:hand-coins': icons['hand-coins'],
771
+ 'lucide:hand-heart': icons['hand-heart'],
772
+ 'lucide:hand-helping': icons['hand-helping'],
773
+ 'lucide:hand-metal': icons['hand-metal'],
774
+ 'lucide:hand-platter': icons['hand-platter'],
775
+ 'lucide:handshake': icons['handshake'],
776
+ 'lucide:hard-drive': icons['hard-drive'],
777
+ 'lucide:hard-drive-download': icons['hard-drive-download'],
778
+ 'lucide:hard-drive-upload': icons['hard-drive-upload'],
779
+ 'lucide:hard-hat': icons['hard-hat'],
780
+ 'lucide:hash': icons['hash'],
781
+ 'lucide:haze': icons['haze'],
782
+ 'lucide:hdmi-port': icons['hdmi-port'],
783
+ 'lucide:heading': icons['heading'],
784
+ 'lucide:heading-1': icons['heading-1'],
785
+ 'lucide:heading-2': icons['heading-2'],
786
+ 'lucide:heading-3': icons['heading-3'],
787
+ 'lucide:heading-4': icons['heading-4'],
788
+ 'lucide:heading-5': icons['heading-5'],
789
+ 'lucide:heading-6': icons['heading-6'],
790
+ 'lucide:headphone-off': icons['headphone-off'],
791
+ 'lucide:headphones': icons['headphones'],
792
+ 'lucide:headset': icons['headset'],
793
+ 'lucide:heart': icons['heart'],
794
+ 'lucide:heart-crack': icons['heart-crack'],
795
+ 'lucide:heart-handshake': icons['heart-handshake'],
796
+ 'lucide:heart-minus': icons['heart-minus'],
797
+ 'lucide:heart-off': icons['heart-off'],
798
+ 'lucide:heart-plus': icons['heart-plus'],
799
+ 'lucide:heart-pulse': icons['heart-pulse'],
800
+ 'lucide:heater': icons['heater'],
801
+ 'lucide:hexagon': icons['hexagon'],
802
+ 'lucide:highlighter': icons['highlighter'],
803
+ 'lucide:history': icons['history'],
804
+ 'lucide:hop': icons['hop'],
805
+ 'lucide:hop-off': icons['hop-off'],
806
+ 'lucide:hospital': icons['hospital'],
807
+ 'lucide:hotel': icons['hotel'],
808
+ 'lucide:hourglass': icons['hourglass'],
809
+ 'lucide:house': icons['house'],
810
+ 'lucide:house-plug': icons['house-plug'],
811
+ 'lucide:house-plus': icons['house-plus'],
812
+ 'lucide:house-wifi': icons['house-wifi'],
813
+ 'lucide:ice-cream-bowl': icons['ice-cream-bowl'],
814
+ 'lucide:ice-cream-cone': icons['ice-cream-cone'],
815
+ 'lucide:id-card': icons['id-card'],
816
+ 'lucide:id-card-lanyard': icons['id-card-lanyard'],
817
+ 'lucide:image': icons['image'],
818
+ 'lucide:image-down': icons['image-down'],
819
+ 'lucide:image-minus': icons['image-minus'],
820
+ 'lucide:image-off': icons['image-off'],
821
+ 'lucide:image-play': icons['image-play'],
822
+ 'lucide:image-plus': icons['image-plus'],
823
+ 'lucide:image-up': icons['image-up'],
824
+ 'lucide:image-upscale': icons['image-upscale'],
825
+ 'lucide:images': icons['images'],
826
+ 'lucide:import': icons['import'],
827
+ 'lucide:inbox': icons['inbox'],
828
+ 'lucide:indent-decrease': icons['indent-decrease'],
829
+ 'lucide:indent-increase': icons['indent-increase'],
830
+ 'lucide:indian-rupee': icons['indian-rupee'],
831
+ 'lucide:infinity': icons['infinity'],
832
+ 'lucide:info': icons['info'],
833
+ 'lucide:inspection-panel': icons['inspection-panel'],
834
+ 'lucide:instagram': icons['instagram'],
835
+ 'lucide:italic': icons['italic'],
836
+ 'lucide:iteration-ccw': icons['iteration-ccw'],
837
+ 'lucide:iteration-cw': icons['iteration-cw'],
838
+ 'lucide:japanese-yen': icons['japanese-yen'],
839
+ 'lucide:joystick': icons['joystick'],
840
+ 'lucide:kanban': icons['kanban'],
841
+ 'lucide:key': icons['key'],
842
+ 'lucide:key-round': icons['key-round'],
843
+ 'lucide:key-square': icons['key-square'],
844
+ 'lucide:keyboard': icons['keyboard'],
845
+ 'lucide:keyboard-music': icons['keyboard-music'],
846
+ 'lucide:keyboard-off': icons['keyboard-off'],
847
+ 'lucide:lamp': icons['lamp'],
848
+ 'lucide:lamp-ceiling': icons['lamp-ceiling'],
849
+ 'lucide:lamp-desk': icons['lamp-desk'],
850
+ 'lucide:lamp-floor': icons['lamp-floor'],
851
+ 'lucide:lamp-wall-down': icons['lamp-wall-down'],
852
+ 'lucide:lamp-wall-up': icons['lamp-wall-up'],
853
+ 'lucide:land-plot': icons['land-plot'],
854
+ 'lucide:landmark': icons['landmark'],
855
+ 'lucide:languages': icons['languages'],
856
+ 'lucide:laptop': icons['laptop'],
857
+ 'lucide:laptop-minimal': icons['laptop-minimal'],
858
+ 'lucide:laptop-minimal-check': icons['laptop-minimal-check'],
859
+ 'lucide:lasso': icons['lasso'],
860
+ 'lucide:lasso-select': icons['lasso-select'],
861
+ 'lucide:laugh': icons['laugh'],
862
+ 'lucide:layers': icons['layers'],
863
+ 'lucide:layers-2': icons['layers-2'],
864
+ 'lucide:layers-3': icons['layers-3'],
865
+ 'lucide:layout-dashboard': icons['layout-dashboard'],
866
+ 'lucide:layout-grid': icons['layout-grid'],
867
+ 'lucide:layout-list': icons['layout-list'],
868
+ 'lucide:layout-panel-left': icons['layout-panel-left'],
869
+ 'lucide:layout-panel-top': icons['layout-panel-top'],
870
+ 'lucide:layout-template': icons['layout-template'],
871
+ 'lucide:leaf': icons['leaf'],
872
+ 'lucide:leafy-green': icons['leafy-green'],
873
+ 'lucide:lectern': icons['lectern'],
874
+ 'lucide:letter-text': icons['letter-text'],
875
+ 'lucide:library': icons['library'],
876
+ 'lucide:library-big': icons['library-big'],
877
+ 'lucide:life-buoy': icons['life-buoy'],
878
+ 'lucide:ligature': icons['ligature'],
879
+ 'lucide:lightbulb': icons['lightbulb'],
880
+ 'lucide:lightbulb-off': icons['lightbulb-off'],
881
+ 'lucide:line-chart': icons['line-chart'],
882
+ 'lucide:line-squiggle': icons['line-squiggle'],
883
+ 'lucide:link': icons['link'],
884
+ 'lucide:link-2': icons['link-2'],
885
+ 'lucide:link-2-off': icons['link-2-off'],
886
+ 'lucide:linkedin': icons['linkedin'],
887
+ 'lucide:list': icons['list'],
888
+ 'lucide:list-check': icons['list-check'],
889
+ 'lucide:list-checks': icons['list-checks'],
890
+ 'lucide:list-collapse': icons['list-collapse'],
891
+ 'lucide:list-end': icons['list-end'],
892
+ 'lucide:list-filter': icons['list-filter'],
893
+ 'lucide:list-filter-plus': icons['list-filter-plus'],
894
+ 'lucide:list-minus': icons['list-minus'],
895
+ 'lucide:list-music': icons['list-music'],
896
+ 'lucide:list-ordered': icons['list-ordered'],
897
+ 'lucide:list-plus': icons['list-plus'],
898
+ 'lucide:list-restart': icons['list-restart'],
899
+ 'lucide:list-start': icons['list-start'],
900
+ 'lucide:list-todo': icons['list-todo'],
901
+ 'lucide:list-tree': icons['list-tree'],
902
+ 'lucide:list-video': icons['list-video'],
903
+ 'lucide:list-x': icons['list-x'],
904
+ 'lucide:loader': icons['loader'],
905
+ 'lucide:loader-circle': icons['loader-circle'],
906
+ 'lucide:loader-pinwheel': icons['loader-pinwheel'],
907
+ 'lucide:locate': icons['locate'],
908
+ 'lucide:locate-fixed': icons['locate-fixed'],
909
+ 'lucide:locate-off': icons['locate-off'],
910
+ 'lucide:location-edit': icons['location-edit'],
911
+ 'lucide:lock': icons['lock'],
912
+ 'lucide:lock-keyhole': icons['lock-keyhole'],
913
+ 'lucide:lock-keyhole-open': icons['lock-keyhole-open'],
914
+ 'lucide:lock-open': icons['lock-open'],
915
+ 'lucide:log-in': icons['log-in'],
916
+ 'lucide:log-out': icons['log-out'],
917
+ 'lucide:logs': icons['logs'],
918
+ 'lucide:lollipop': icons['lollipop'],
919
+ 'lucide:luggage': icons['luggage'],
920
+ 'lucide:magnet': icons['magnet'],
921
+ 'lucide:mail': icons['mail'],
922
+ 'lucide:mail-check': icons['mail-check'],
923
+ 'lucide:mail-minus': icons['mail-minus'],
924
+ 'lucide:mail-open': icons['mail-open'],
925
+ 'lucide:mail-plus': icons['mail-plus'],
926
+ 'lucide:mail-question-mark': icons['mail-question-mark'],
927
+ 'lucide:mail-search': icons['mail-search'],
928
+ 'lucide:mail-warning': icons['mail-warning'],
929
+ 'lucide:mail-x': icons['mail-x'],
930
+ 'lucide:mailbox': icons['mailbox'],
931
+ 'lucide:mails': icons['mails'],
932
+ 'lucide:map': icons['map'],
933
+ 'lucide:map-pin': icons['map-pin'],
934
+ 'lucide:map-pin-check': icons['map-pin-check'],
935
+ 'lucide:map-pin-check-inside': icons['map-pin-check-inside'],
936
+ 'lucide:map-pin-house': icons['map-pin-house'],
937
+ 'lucide:map-pin-minus': icons['map-pin-minus'],
938
+ 'lucide:map-pin-minus-inside': icons['map-pin-minus-inside'],
939
+ 'lucide:map-pin-off': icons['map-pin-off'],
940
+ 'lucide:map-pin-plus': icons['map-pin-plus'],
941
+ 'lucide:map-pin-plus-inside': icons['map-pin-plus-inside'],
942
+ 'lucide:map-pin-x': icons['map-pin-x'],
943
+ 'lucide:map-pin-x-inside': icons['map-pin-x-inside'],
944
+ 'lucide:map-pinned': icons['map-pinned'],
945
+ 'lucide:map-plus': icons['map-plus'],
946
+ 'lucide:mars': icons['mars'],
947
+ 'lucide:mars-stroke': icons['mars-stroke'],
948
+ 'lucide:martini': icons['martini'],
949
+ 'lucide:maximize': icons['maximize'],
950
+ 'lucide:maximize-2': icons['maximize-2'],
951
+ 'lucide:medal': icons['medal'],
952
+ 'lucide:megaphone': icons['megaphone'],
953
+ 'lucide:megaphone-off': icons['megaphone-off'],
954
+ 'lucide:meh': icons['meh'],
955
+ 'lucide:memory-stick': icons['memory-stick'],
956
+ 'lucide:menu': icons['menu'],
957
+ 'lucide:merge': icons['merge'],
958
+ 'lucide:message-circle': icons['message-circle'],
959
+ 'lucide:message-circle-code': icons['message-circle-code'],
960
+ 'lucide:message-circle-dashed': icons['message-circle-dashed'],
961
+ 'lucide:message-circle-heart': icons['message-circle-heart'],
962
+ 'lucide:message-circle-more': icons['message-circle-more'],
963
+ 'lucide:message-circle-off': icons['message-circle-off'],
964
+ 'lucide:message-circle-plus': icons['message-circle-plus'],
965
+ 'lucide:message-circle-question-mark': icons['message-circle-question-mark'],
966
+ 'lucide:message-circle-reply': icons['message-circle-reply'],
967
+ 'lucide:message-circle-warning': icons['message-circle-warning'],
968
+ 'lucide:message-circle-x': icons['message-circle-x'],
969
+ 'lucide:message-square': icons['message-square'],
970
+ 'lucide:message-square-code': icons['message-square-code'],
971
+ 'lucide:message-square-dashed': icons['message-square-dashed'],
972
+ 'lucide:message-square-diff': icons['message-square-diff'],
973
+ 'lucide:message-square-dot': icons['message-square-dot'],
974
+ 'lucide:message-square-heart': icons['message-square-heart'],
975
+ 'lucide:message-square-lock': icons['message-square-lock'],
976
+ 'lucide:message-square-more': icons['message-square-more'],
977
+ 'lucide:message-square-off': icons['message-square-off'],
978
+ 'lucide:message-square-plus': icons['message-square-plus'],
979
+ 'lucide:message-square-quote': icons['message-square-quote'],
980
+ 'lucide:message-square-reply': icons['message-square-reply'],
981
+ 'lucide:message-square-share': icons['message-square-share'],
982
+ 'lucide:message-square-text': icons['message-square-text'],
983
+ 'lucide:message-square-warning': icons['message-square-warning'],
984
+ 'lucide:message-square-x': icons['message-square-x'],
985
+ 'lucide:messages-square': icons['messages-square'],
986
+ 'lucide:mic': icons['mic'],
987
+ 'lucide:mic-off': icons['mic-off'],
988
+ 'lucide:mic-vocal': icons['mic-vocal'],
989
+ 'lucide:microchip': icons['microchip'],
990
+ 'lucide:microscope': icons['microscope'],
991
+ 'lucide:microwave': icons['microwave'],
992
+ 'lucide:milestone': icons['milestone'],
993
+ 'lucide:milk': icons['milk'],
994
+ 'lucide:milk-off': icons['milk-off'],
995
+ 'lucide:minimize': icons['minimize'],
996
+ 'lucide:minimize-2': icons['minimize-2'],
997
+ 'lucide:minus': icons['minus'],
998
+ 'lucide:monitor': icons['monitor'],
999
+ 'lucide:monitor-check': icons['monitor-check'],
1000
+ 'lucide:monitor-cog': icons['monitor-cog'],
1001
+ 'lucide:monitor-dot': icons['monitor-dot'],
1002
+ 'lucide:monitor-down': icons['monitor-down'],
1003
+ 'lucide:monitor-off': icons['monitor-off'],
1004
+ 'lucide:monitor-pause': icons['monitor-pause'],
1005
+ 'lucide:monitor-play': icons['monitor-play'],
1006
+ 'lucide:monitor-smartphone': icons['monitor-smartphone'],
1007
+ 'lucide:monitor-speaker': icons['monitor-speaker'],
1008
+ 'lucide:monitor-stop': icons['monitor-stop'],
1009
+ 'lucide:monitor-up': icons['monitor-up'],
1010
+ 'lucide:monitor-x': icons['monitor-x'],
1011
+ 'lucide:moon': icons['moon'],
1012
+ 'lucide:moon-star': icons['moon-star'],
1013
+ 'lucide:mountain': icons['mountain'],
1014
+ 'lucide:mountain-snow': icons['mountain-snow'],
1015
+ 'lucide:mouse': icons['mouse'],
1016
+ 'lucide:mouse-off': icons['mouse-off'],
1017
+ 'lucide:mouse-pointer': icons['mouse-pointer'],
1018
+ 'lucide:mouse-pointer-2': icons['mouse-pointer-2'],
1019
+ 'lucide:mouse-pointer-ban': icons['mouse-pointer-ban'],
1020
+ 'lucide:mouse-pointer-click': icons['mouse-pointer-click'],
1021
+ 'lucide:move': icons['move'],
1022
+ 'lucide:move-3d': icons['move-3d'],
1023
+ 'lucide:move-diagonal': icons['move-diagonal'],
1024
+ 'lucide:move-diagonal-2': icons['move-diagonal-2'],
1025
+ 'lucide:move-down': icons['move-down'],
1026
+ 'lucide:move-down-left': icons['move-down-left'],
1027
+ 'lucide:move-down-right': icons['move-down-right'],
1028
+ 'lucide:move-horizontal': icons['move-horizontal'],
1029
+ 'lucide:move-left': icons['move-left'],
1030
+ 'lucide:move-right': icons['move-right'],
1031
+ 'lucide:move-up': icons['move-up'],
1032
+ 'lucide:move-up-left': icons['move-up-left'],
1033
+ 'lucide:move-up-right': icons['move-up-right'],
1034
+ 'lucide:move-vertical': icons['move-vertical'],
1035
+ 'lucide:music': icons['music'],
1036
+ 'lucide:music-2': icons['music-2'],
1037
+ 'lucide:music-3': icons['music-3'],
1038
+ 'lucide:music-4': icons['music-4'],
1039
+ 'lucide:navigation': icons['navigation'],
1040
+ 'lucide:navigation-2': icons['navigation-2'],
1041
+ 'lucide:navigation-2-off': icons['navigation-2-off'],
1042
+ 'lucide:navigation-off': icons['navigation-off'],
1043
+ 'lucide:network': icons['network'],
1044
+ 'lucide:newspaper': icons['newspaper'],
1045
+ 'lucide:nfc': icons['nfc'],
1046
+ 'lucide:non-binary': icons['non-binary'],
1047
+ 'lucide:notebook': icons['notebook'],
1048
+ 'lucide:notebook-pen': icons['notebook-pen'],
1049
+ 'lucide:notebook-tabs': icons['notebook-tabs'],
1050
+ 'lucide:notebook-text': icons['notebook-text'],
1051
+ 'lucide:notepad-text': icons['notepad-text'],
1052
+ 'lucide:notepad-text-dashed': icons['notepad-text-dashed'],
1053
+ 'lucide:nut': icons['nut'],
1054
+ 'lucide:nut-off': icons['nut-off'],
1055
+ 'lucide:octagon': icons['octagon'],
1056
+ 'lucide:octagon-alert': icons['octagon-alert'],
1057
+ 'lucide:octagon-minus': icons['octagon-minus'],
1058
+ 'lucide:octagon-pause': icons['octagon-pause'],
1059
+ 'lucide:octagon-x': icons['octagon-x'],
1060
+ 'lucide:omega': icons['omega'],
1061
+ 'lucide:option': icons['option'],
1062
+ 'lucide:orbit': icons['orbit'],
1063
+ 'lucide:origami': icons['origami'],
1064
+ 'lucide:package': icons['package'],
1065
+ 'lucide:package-2': icons['package-2'],
1066
+ 'lucide:package-check': icons['package-check'],
1067
+ 'lucide:package-minus': icons['package-minus'],
1068
+ 'lucide:package-open': icons['package-open'],
1069
+ 'lucide:package-plus': icons['package-plus'],
1070
+ 'lucide:package-search': icons['package-search'],
1071
+ 'lucide:package-x': icons['package-x'],
1072
+ 'lucide:paint-bucket': icons['paint-bucket'],
1073
+ 'lucide:paint-roller': icons['paint-roller'],
1074
+ 'lucide:paintbrush': icons['paintbrush'],
1075
+ 'lucide:paintbrush-vertical': icons['paintbrush-vertical'],
1076
+ 'lucide:palette': icons['palette'],
1077
+ 'lucide:panda': icons['panda'],
1078
+ 'lucide:panel-bottom': icons['panel-bottom'],
1079
+ 'lucide:panel-bottom-close': icons['panel-bottom-close'],
1080
+ 'lucide:panel-bottom-dashed': icons['panel-bottom-dashed'],
1081
+ 'lucide:panel-bottom-open': icons['panel-bottom-open'],
1082
+ 'lucide:panel-left': icons['panel-left'],
1083
+ 'lucide:panel-left-close': icons['panel-left-close'],
1084
+ 'lucide:panel-left-dashed': icons['panel-left-dashed'],
1085
+ 'lucide:panel-left-open': icons['panel-left-open'],
1086
+ 'lucide:panel-right': icons['panel-right'],
1087
+ 'lucide:panel-right-close': icons['panel-right-close'],
1088
+ 'lucide:panel-right-dashed': icons['panel-right-dashed'],
1089
+ 'lucide:panel-right-open': icons['panel-right-open'],
1090
+ 'lucide:panel-top': icons['panel-top'],
1091
+ 'lucide:panel-top-close': icons['panel-top-close'],
1092
+ 'lucide:panel-top-dashed': icons['panel-top-dashed'],
1093
+ 'lucide:panel-top-open': icons['panel-top-open'],
1094
+ 'lucide:panels-left-bottom': icons['panels-left-bottom'],
1095
+ 'lucide:panels-right-bottom': icons['panels-right-bottom'],
1096
+ 'lucide:panels-top-left': icons['panels-top-left'],
1097
+ 'lucide:paperclip': icons['paperclip'],
1098
+ 'lucide:parentheses': icons['parentheses'],
1099
+ 'lucide:parking-meter': icons['parking-meter'],
1100
+ 'lucide:party-popper': icons['party-popper'],
1101
+ 'lucide:pause': icons['pause'],
1102
+ 'lucide:paw-print': icons['paw-print'],
1103
+ 'lucide:pc-case': icons['pc-case'],
1104
+ 'lucide:pen': icons['pen'],
1105
+ 'lucide:pen-line': icons['pen-line'],
1106
+ 'lucide:pen-off': icons['pen-off'],
1107
+ 'lucide:pen-tool': icons['pen-tool'],
1108
+ 'lucide:pencil': icons['pencil'],
1109
+ 'lucide:pencil-line': icons['pencil-line'],
1110
+ 'lucide:pencil-off': icons['pencil-off'],
1111
+ 'lucide:pencil-ruler': icons['pencil-ruler'],
1112
+ 'lucide:pentagon': icons['pentagon'],
1113
+ 'lucide:percent': icons['percent'],
1114
+ 'lucide:person-standing': icons['person-standing'],
1115
+ 'lucide:philippine-peso': icons['philippine-peso'],
1116
+ 'lucide:phone': icons['phone'],
1117
+ 'lucide:phone-call': icons['phone-call'],
1118
+ 'lucide:phone-forwarded': icons['phone-forwarded'],
1119
+ 'lucide:phone-incoming': icons['phone-incoming'],
1120
+ 'lucide:phone-missed': icons['phone-missed'],
1121
+ 'lucide:phone-off': icons['phone-off'],
1122
+ 'lucide:phone-outgoing': icons['phone-outgoing'],
1123
+ 'lucide:pi': icons['pi'],
1124
+ 'lucide:piano': icons['piano'],
1125
+ 'lucide:pickaxe': icons['pickaxe'],
1126
+ 'lucide:picture-in-picture': icons['picture-in-picture'],
1127
+ 'lucide:picture-in-picture-2': icons['picture-in-picture-2'],
1128
+ 'lucide:pie-chart': icons['pie-chart'],
1129
+ 'lucide:piggy-bank': icons['piggy-bank'],
1130
+ 'lucide:pilcrow': icons['pilcrow'],
1131
+ 'lucide:pilcrow-left': icons['pilcrow-left'],
1132
+ 'lucide:pilcrow-right': icons['pilcrow-right'],
1133
+ 'lucide:pill': icons['pill'],
1134
+ 'lucide:pill-bottle': icons['pill-bottle'],
1135
+ 'lucide:pin': icons['pin'],
1136
+ 'lucide:pin-off': icons['pin-off'],
1137
+ 'lucide:pipette': icons['pipette'],
1138
+ 'lucide:pizza': icons['pizza'],
1139
+ 'lucide:plane': icons['plane'],
1140
+ 'lucide:plane-landing': icons['plane-landing'],
1141
+ 'lucide:plane-takeoff': icons['plane-takeoff'],
1142
+ 'lucide:play': icons['play'],
1143
+ 'lucide:plug': icons['plug'],
1144
+ 'lucide:plug-2': icons['plug-2'],
1145
+ 'lucide:plug-zap': icons['plug-zap'],
1146
+ 'lucide:plus': icons['plus'],
1147
+ 'lucide:pocket': icons['pocket'],
1148
+ 'lucide:pocket-knife': icons['pocket-knife'],
1149
+ 'lucide:podcast': icons['podcast'],
1150
+ 'lucide:pointer': icons['pointer'],
1151
+ 'lucide:pointer-off': icons['pointer-off'],
1152
+ 'lucide:popcorn': icons['popcorn'],
1153
+ 'lucide:popsicle': icons['popsicle'],
1154
+ 'lucide:pound-sterling': icons['pound-sterling'],
1155
+ 'lucide:power': icons['power'],
1156
+ 'lucide:power-off': icons['power-off'],
1157
+ 'lucide:presentation': icons['presentation'],
1158
+ 'lucide:printer': icons['printer'],
1159
+ 'lucide:printer-check': icons['printer-check'],
1160
+ 'lucide:projector': icons['projector'],
1161
+ 'lucide:proportions': icons['proportions'],
1162
+ 'lucide:puzzle': icons['puzzle'],
1163
+ 'lucide:pyramid': icons['pyramid'],
1164
+ 'lucide:qr-code': icons['qr-code'],
1165
+ 'lucide:quote': icons['quote'],
1166
+ 'lucide:rabbit': icons['rabbit'],
1167
+ 'lucide:radar': icons['radar'],
1168
+ 'lucide:radiation': icons['radiation'],
1169
+ 'lucide:radical': icons['radical'],
1170
+ 'lucide:radio': icons['radio'],
1171
+ 'lucide:radio-receiver': icons['radio-receiver'],
1172
+ 'lucide:radio-tower': icons['radio-tower'],
1173
+ 'lucide:radius': icons['radius'],
1174
+ 'lucide:rail-symbol': icons['rail-symbol'],
1175
+ 'lucide:rainbow': icons['rainbow'],
1176
+ 'lucide:rat': icons['rat'],
1177
+ 'lucide:ratio': icons['ratio'],
1178
+ 'lucide:receipt': icons['receipt'],
1179
+ 'lucide:receipt-cent': icons['receipt-cent'],
1180
+ 'lucide:receipt-euro': icons['receipt-euro'],
1181
+ 'lucide:receipt-indian-rupee': icons['receipt-indian-rupee'],
1182
+ 'lucide:receipt-japanese-yen': icons['receipt-japanese-yen'],
1183
+ 'lucide:receipt-pound-sterling': icons['receipt-pound-sterling'],
1184
+ 'lucide:receipt-russian-ruble': icons['receipt-russian-ruble'],
1185
+ 'lucide:receipt-swiss-franc': icons['receipt-swiss-franc'],
1186
+ 'lucide:receipt-text': icons['receipt-text'],
1187
+ 'lucide:receipt-turkish-lira': icons['receipt-turkish-lira'],
1188
+ 'lucide:rectangle-circle': icons['rectangle-circle'],
1189
+ 'lucide:rectangle-ellipsis': icons['rectangle-ellipsis'],
1190
+ 'lucide:rectangle-goggles': icons['rectangle-goggles'],
1191
+ 'lucide:rectangle-horizontal': icons['rectangle-horizontal'],
1192
+ 'lucide:rectangle-vertical': icons['rectangle-vertical'],
1193
+ 'lucide:recycle': icons['recycle'],
1194
+ 'lucide:redo': icons['redo'],
1195
+ 'lucide:redo-2': icons['redo-2'],
1196
+ 'lucide:redo-dot': icons['redo-dot'],
1197
+ 'lucide:refresh-ccw': icons['refresh-ccw'],
1198
+ 'lucide:refresh-ccw-dot': icons['refresh-ccw-dot'],
1199
+ 'lucide:refresh-cw': icons['refresh-cw'],
1200
+ 'lucide:refresh-cw-off': icons['refresh-cw-off'],
1201
+ 'lucide:refrigerator': icons['refrigerator'],
1202
+ 'lucide:regex': icons['regex'],
1203
+ 'lucide:remove-formatting': icons['remove-formatting'],
1204
+ 'lucide:repeat': icons['repeat'],
1205
+ 'lucide:repeat-1': icons['repeat-1'],
1206
+ 'lucide:repeat-2': icons['repeat-2'],
1207
+ 'lucide:replace': icons['replace'],
1208
+ 'lucide:replace-all': icons['replace-all'],
1209
+ 'lucide:reply': icons['reply'],
1210
+ 'lucide:reply-all': icons['reply-all'],
1211
+ 'lucide:rewind': icons['rewind'],
1212
+ 'lucide:ribbon': icons['ribbon'],
1213
+ 'lucide:rocket': icons['rocket'],
1214
+ 'lucide:rocking-chair': icons['rocking-chair'],
1215
+ 'lucide:roller-coaster': icons['roller-coaster'],
1216
+ 'lucide:rotate-3d': icons['rotate-3d'],
1217
+ 'lucide:rotate-ccw': icons['rotate-ccw'],
1218
+ 'lucide:rotate-ccw-key': icons['rotate-ccw-key'],
1219
+ 'lucide:rotate-ccw-square': icons['rotate-ccw-square'],
1220
+ 'lucide:rotate-cw': icons['rotate-cw'],
1221
+ 'lucide:rotate-cw-square': icons['rotate-cw-square'],
1222
+ 'lucide:route': icons['route'],
1223
+ 'lucide:route-off': icons['route-off'],
1224
+ 'lucide:router': icons['router'],
1225
+ 'lucide:rows-2': icons['rows-2'],
1226
+ 'lucide:rows-3': icons['rows-3'],
1227
+ 'lucide:rows-4': icons['rows-4'],
1228
+ 'lucide:rss': icons['rss'],
1229
+ 'lucide:ruler': icons['ruler'],
1230
+ 'lucide:ruler-dimension-line': icons['ruler-dimension-line'],
1231
+ 'lucide:russian-ruble': icons['russian-ruble'],
1232
+ 'lucide:sailboat': icons['sailboat'],
1233
+ 'lucide:salad': icons['salad'],
1234
+ 'lucide:sandwich': icons['sandwich'],
1235
+ 'lucide:satellite': icons['satellite'],
1236
+ 'lucide:satellite-dish': icons['satellite-dish'],
1237
+ 'lucide:saudi-riyal': icons['saudi-riyal'],
1238
+ 'lucide:save': icons['save'],
1239
+ 'lucide:save-all': icons['save-all'],
1240
+ 'lucide:save-off': icons['save-off'],
1241
+ 'lucide:scale': icons['scale'],
1242
+ 'lucide:scale-3d': icons['scale-3d'],
1243
+ 'lucide:scaling': icons['scaling'],
1244
+ 'lucide:scan': icons['scan'],
1245
+ 'lucide:scan-barcode': icons['scan-barcode'],
1246
+ 'lucide:scan-eye': icons['scan-eye'],
1247
+ 'lucide:scan-face': icons['scan-face'],
1248
+ 'lucide:scan-heart': icons['scan-heart'],
1249
+ 'lucide:scan-line': icons['scan-line'],
1250
+ 'lucide:scan-qr-code': icons['scan-qr-code'],
1251
+ 'lucide:scan-search': icons['scan-search'],
1252
+ 'lucide:scan-text': icons['scan-text'],
1253
+ 'lucide:scatter-chart': icons['scatter-chart'],
1254
+ 'lucide:school': icons['school'],
1255
+ 'lucide:scissors': icons['scissors'],
1256
+ 'lucide:scissors-line-dashed': icons['scissors-line-dashed'],
1257
+ 'lucide:screen-share': icons['screen-share'],
1258
+ 'lucide:screen-share-off': icons['screen-share-off'],
1259
+ 'lucide:scroll': icons['scroll'],
1260
+ 'lucide:scroll-text': icons['scroll-text'],
1261
+ 'lucide:search': icons['search'],
1262
+ 'lucide:search-check': icons['search-check'],
1263
+ 'lucide:search-code': icons['search-code'],
1264
+ 'lucide:search-large': icons['search-large'],
1265
+ 'lucide:search-slash': icons['search-slash'],
1266
+ 'lucide:search-x': icons['search-x'],
1267
+ 'lucide:section': icons['section'],
1268
+ 'lucide:send': icons['send'],
1269
+ 'lucide:send-horizontal': icons['send-horizontal'],
1270
+ 'lucide:send-to-back': icons['send-to-back'],
1271
+ 'lucide:separator-horizontal': icons['separator-horizontal'],
1272
+ 'lucide:separator-vertical': icons['separator-vertical'],
1273
+ 'lucide:server': icons['server'],
1274
+ 'lucide:server-cog': icons['server-cog'],
1275
+ 'lucide:server-crash': icons['server-crash'],
1276
+ 'lucide:server-off': icons['server-off'],
1277
+ 'lucide:settings': icons['settings'],
1278
+ 'lucide:settings-2': icons['settings-2'],
1279
+ 'lucide:shapes': icons['shapes'],
1280
+ 'lucide:share': icons['share'],
1281
+ 'lucide:share-2': icons['share-2'],
1282
+ 'lucide:sheet': icons['sheet'],
1283
+ 'lucide:shell': icons['shell'],
1284
+ 'lucide:shield': icons['shield'],
1285
+ 'lucide:shield-alert': icons['shield-alert'],
1286
+ 'lucide:shield-ban': icons['shield-ban'],
1287
+ 'lucide:shield-check': icons['shield-check'],
1288
+ 'lucide:shield-ellipsis': icons['shield-ellipsis'],
1289
+ 'lucide:shield-half': icons['shield-half'],
1290
+ 'lucide:shield-minus': icons['shield-minus'],
1291
+ 'lucide:shield-off': icons['shield-off'],
1292
+ 'lucide:shield-plus': icons['shield-plus'],
1293
+ 'lucide:shield-question-mark': icons['shield-question-mark'],
1294
+ 'lucide:shield-user': icons['shield-user'],
1295
+ 'lucide:shield-x': icons['shield-x'],
1296
+ 'lucide:ship': icons['ship'],
1297
+ 'lucide:ship-wheel': icons['ship-wheel'],
1298
+ 'lucide:shirt': icons['shirt'],
1299
+ 'lucide:shopping-bag': icons['shopping-bag'],
1300
+ 'lucide:shopping-basket': icons['shopping-basket'],
1301
+ 'lucide:shopping-cart': icons['shopping-cart'],
1302
+ 'lucide:shovel': icons['shovel'],
1303
+ 'lucide:shower-head': icons['shower-head'],
1304
+ 'lucide:shredder': icons['shredder'],
1305
+ 'lucide:shrimp': icons['shrimp'],
1306
+ 'lucide:shrink': icons['shrink'],
1307
+ 'lucide:shrub': icons['shrub'],
1308
+ 'lucide:shuffle': icons['shuffle'],
1309
+ 'lucide:sigma': icons['sigma'],
1310
+ 'lucide:signal': icons['signal'],
1311
+ 'lucide:signal-high': icons['signal-high'],
1312
+ 'lucide:signal-low': icons['signal-low'],
1313
+ 'lucide:signal-medium': icons['signal-medium'],
1314
+ 'lucide:signal-zero': icons['signal-zero'],
1315
+ 'lucide:signature': icons['signature'],
1316
+ 'lucide:signpost': icons['signpost'],
1317
+ 'lucide:signpost-big': icons['signpost-big'],
1318
+ 'lucide:siren': icons['siren'],
1319
+ 'lucide:skip-back': icons['skip-back'],
1320
+ 'lucide:skip-forward': icons['skip-forward'],
1321
+ 'lucide:skull': icons['skull'],
1322
+ 'lucide:slack': icons['slack'],
1323
+ 'lucide:slash': icons['slash'],
1324
+ 'lucide:slice': icons['slice'],
1325
+ 'lucide:sliders-horizontal': icons['sliders-horizontal'],
1326
+ 'lucide:sliders-vertical': icons['sliders-vertical'],
1327
+ 'lucide:smartphone': icons['smartphone'],
1328
+ 'lucide:smartphone-charging': icons['smartphone-charging'],
1329
+ 'lucide:smartphone-nfc': icons['smartphone-nfc'],
1330
+ 'lucide:smile': icons['smile'],
1331
+ 'lucide:smile-plus': icons['smile-plus'],
1332
+ 'lucide:snail': icons['snail'],
1333
+ 'lucide:snowflake': icons['snowflake'],
1334
+ 'lucide:soap-dispenser-droplet': icons['soap-dispenser-droplet'],
1335
+ 'lucide:sofa': icons['sofa'],
1336
+ 'lucide:soup': icons['soup'],
1337
+ 'lucide:space': icons['space'],
1338
+ 'lucide:spade': icons['spade'],
1339
+ 'lucide:sparkle': icons['sparkle'],
1340
+ 'lucide:sparkles': icons['sparkles'],
1341
+ 'lucide:speaker': icons['speaker'],
1342
+ 'lucide:speech': icons['speech'],
1343
+ 'lucide:spell-check': icons['spell-check'],
1344
+ 'lucide:spell-check-2': icons['spell-check-2'],
1345
+ 'lucide:spline': icons['spline'],
1346
+ 'lucide:spline-pointer': icons['spline-pointer'],
1347
+ 'lucide:split': icons['split'],
1348
+ 'lucide:spool': icons['spool'],
1349
+ 'lucide:spray-can': icons['spray-can'],
1350
+ 'lucide:sprout': icons['sprout'],
1351
+ 'lucide:square': icons['square'],
1352
+ 'lucide:square-activity': icons['square-activity'],
1353
+ 'lucide:square-arrow-down': icons['square-arrow-down'],
1354
+ 'lucide:square-arrow-down-left': icons['square-arrow-down-left'],
1355
+ 'lucide:square-arrow-down-right': icons['square-arrow-down-right'],
1356
+ 'lucide:square-arrow-left': icons['square-arrow-left'],
1357
+ 'lucide:square-arrow-out-down-left': icons['square-arrow-out-down-left'],
1358
+ 'lucide:square-arrow-out-down-right': icons['square-arrow-out-down-right'],
1359
+ 'lucide:square-arrow-out-up-left': icons['square-arrow-out-up-left'],
1360
+ 'lucide:square-arrow-out-up-right': icons['square-arrow-out-up-right'],
1361
+ 'lucide:square-arrow-right': icons['square-arrow-right'],
1362
+ 'lucide:square-arrow-up': icons['square-arrow-up'],
1363
+ 'lucide:square-arrow-up-left': icons['square-arrow-up-left'],
1364
+ 'lucide:square-arrow-up-right': icons['square-arrow-up-right'],
1365
+ 'lucide:square-asterisk': icons['square-asterisk'],
1366
+ 'lucide:square-bottom-dashed-scissors': icons['square-bottom-dashed-scissors'],
1367
+ 'lucide:square-chart-gantt': icons['square-chart-gantt'],
1368
+ 'lucide:square-check': icons['square-check'],
1369
+ 'lucide:square-check-big': icons['square-check-big'],
1370
+ 'lucide:square-chevron-down': icons['square-chevron-down'],
1371
+ 'lucide:square-chevron-left': icons['square-chevron-left'],
1372
+ 'lucide:square-chevron-right': icons['square-chevron-right'],
1373
+ 'lucide:square-chevron-up': icons['square-chevron-up'],
1374
+ 'lucide:square-code': icons['square-code'],
1375
+ 'lucide:square-dashed': icons['square-dashed'],
1376
+ 'lucide:square-dashed-bottom': icons['square-dashed-bottom'],
1377
+ 'lucide:square-dashed-bottom-code': icons['square-dashed-bottom-code'],
1378
+ 'lucide:square-dashed-kanban': icons['square-dashed-kanban'],
1379
+ 'lucide:square-dashed-mouse-pointer': icons['square-dashed-mouse-pointer'],
1380
+ 'lucide:square-dashed-top-solid': icons['square-dashed-top-solid'],
1381
+ 'lucide:square-divide': icons['square-divide'],
1382
+ 'lucide:square-dot': icons['square-dot'],
1383
+ 'lucide:square-equal': icons['square-equal'],
1384
+ 'lucide:square-function': icons['square-function'],
1385
+ 'lucide:square-kanban': icons['square-kanban'],
1386
+ 'lucide:square-library': icons['square-library'],
1387
+ 'lucide:square-m': icons['square-m'],
1388
+ 'lucide:square-menu': icons['square-menu'],
1389
+ 'lucide:square-minus': icons['square-minus'],
1390
+ 'lucide:square-mouse-pointer': icons['square-mouse-pointer'],
1391
+ 'lucide:square-parking': icons['square-parking'],
1392
+ 'lucide:square-parking-off': icons['square-parking-off'],
1393
+ 'lucide:square-pen': icons['square-pen'],
1394
+ 'lucide:square-percent': icons['square-percent'],
1395
+ 'lucide:square-pi': icons['square-pi'],
1396
+ 'lucide:square-pilcrow': icons['square-pilcrow'],
1397
+ 'lucide:square-play': icons['square-play'],
1398
+ 'lucide:square-plus': icons['square-plus'],
1399
+ 'lucide:square-power': icons['square-power'],
1400
+ 'lucide:square-radical': icons['square-radical'],
1401
+ 'lucide:square-round-corner': icons['square-round-corner'],
1402
+ 'lucide:square-scissors': icons['square-scissors'],
1403
+ 'lucide:square-sigma': icons['square-sigma'],
1404
+ 'lucide:square-slash': icons['square-slash'],
1405
+ 'lucide:square-split-horizontal': icons['square-split-horizontal'],
1406
+ 'lucide:square-split-vertical': icons['square-split-vertical'],
1407
+ 'lucide:square-square': icons['square-square'],
1408
+ 'lucide:square-stack': icons['square-stack'],
1409
+ 'lucide:square-terminal': icons['square-terminal'],
1410
+ 'lucide:square-user': icons['square-user'],
1411
+ 'lucide:square-user-round': icons['square-user-round'],
1412
+ 'lucide:square-x': icons['square-x'],
1413
+ 'lucide:squares-exclude': icons['squares-exclude'],
1414
+ 'lucide:squares-intersect': icons['squares-intersect'],
1415
+ 'lucide:squares-subtract': icons['squares-subtract'],
1416
+ 'lucide:squares-unite': icons['squares-unite'],
1417
+ 'lucide:squircle': icons['squircle'],
1418
+ 'lucide:squircle-dashed': icons['squircle-dashed'],
1419
+ 'lucide:squirrel': icons['squirrel'],
1420
+ 'lucide:stamp': icons['stamp'],
1421
+ 'lucide:star': icons['star'],
1422
+ 'lucide:star-half': icons['star-half'],
1423
+ 'lucide:star-off': icons['star-off'],
1424
+ 'lucide:step-back': icons['step-back'],
1425
+ 'lucide:step-forward': icons['step-forward'],
1426
+ 'lucide:stethoscope': icons['stethoscope'],
1427
+ 'lucide:sticker': icons['sticker'],
1428
+ 'lucide:sticky-note': icons['sticky-note'],
1429
+ 'lucide:store': icons['store'],
1430
+ 'lucide:stretch-horizontal': icons['stretch-horizontal'],
1431
+ 'lucide:stretch-vertical': icons['stretch-vertical'],
1432
+ 'lucide:strikethrough': icons['strikethrough'],
1433
+ 'lucide:subscript': icons['subscript'],
1434
+ 'lucide:sun': icons['sun'],
1435
+ 'lucide:sun-dim': icons['sun-dim'],
1436
+ 'lucide:sun-medium': icons['sun-medium'],
1437
+ 'lucide:sun-moon': icons['sun-moon'],
1438
+ 'lucide:sun-snow': icons['sun-snow'],
1439
+ 'lucide:sunrise': icons['sunrise'],
1440
+ 'lucide:sunset': icons['sunset'],
1441
+ 'lucide:superscript': icons['superscript'],
1442
+ 'lucide:swatch-book': icons['swatch-book'],
1443
+ 'lucide:swiss-franc': icons['swiss-franc'],
1444
+ 'lucide:switch-camera': icons['switch-camera'],
1445
+ 'lucide:sword': icons['sword'],
1446
+ 'lucide:swords': icons['swords'],
1447
+ 'lucide:syringe': icons['syringe'],
1448
+ 'lucide:table': icons['table'],
1449
+ 'lucide:table-2': icons['table-2'],
1450
+ 'lucide:table-cells-merge': icons['table-cells-merge'],
1451
+ 'lucide:table-cells-split': icons['table-cells-split'],
1452
+ 'lucide:table-columns-split': icons['table-columns-split'],
1453
+ 'lucide:table-of-contents': icons['table-of-contents'],
1454
+ 'lucide:table-properties': icons['table-properties'],
1455
+ 'lucide:table-rows-split': icons['table-rows-split'],
1456
+ 'lucide:tablet': icons['tablet'],
1457
+ 'lucide:tablet-smartphone': icons['tablet-smartphone'],
1458
+ 'lucide:tablets': icons['tablets'],
1459
+ 'lucide:tag': icons['tag'],
1460
+ 'lucide:tags': icons['tags'],
1461
+ 'lucide:tally-1': icons['tally-1'],
1462
+ 'lucide:tally-2': icons['tally-2'],
1463
+ 'lucide:tally-3': icons['tally-3'],
1464
+ 'lucide:tally-4': icons['tally-4'],
1465
+ 'lucide:tally-5': icons['tally-5'],
1466
+ 'lucide:tangent': icons['tangent'],
1467
+ 'lucide:target': icons['target'],
1468
+ 'lucide:telescope': icons['telescope'],
1469
+ 'lucide:tent': icons['tent'],
1470
+ 'lucide:tent-tree': icons['tent-tree'],
1471
+ 'lucide:terminal': icons['terminal'],
1472
+ 'lucide:test-tube': icons['test-tube'],
1473
+ 'lucide:test-tube-diagonal': icons['test-tube-diagonal'],
1474
+ 'lucide:test-tubes': icons['test-tubes'],
1475
+ 'lucide:text': icons['text'],
1476
+ 'lucide:text-cursor': icons['text-cursor'],
1477
+ 'lucide:text-cursor-input': icons['text-cursor-input'],
1478
+ 'lucide:text-quote': icons['text-quote'],
1479
+ 'lucide:text-search': icons['text-search'],
1480
+ 'lucide:text-select': icons['text-select'],
1481
+ 'lucide:theater': icons['theater'],
1482
+ 'lucide:thermometer': icons['thermometer'],
1483
+ 'lucide:thermometer-snowflake': icons['thermometer-snowflake'],
1484
+ 'lucide:thermometer-sun': icons['thermometer-sun'],
1485
+ 'lucide:thumbs-down': icons['thumbs-down'],
1486
+ 'lucide:thumbs-up': icons['thumbs-up'],
1487
+ 'lucide:ticket': icons['ticket'],
1488
+ 'lucide:ticket-check': icons['ticket-check'],
1489
+ 'lucide:ticket-minus': icons['ticket-minus'],
1490
+ 'lucide:ticket-percent': icons['ticket-percent'],
1491
+ 'lucide:ticket-plus': icons['ticket-plus'],
1492
+ 'lucide:ticket-slash': icons['ticket-slash'],
1493
+ 'lucide:ticket-x': icons['ticket-x'],
1494
+ 'lucide:tickets': icons['tickets'],
1495
+ 'lucide:tickets-plane': icons['tickets-plane'],
1496
+ 'lucide:timer': icons['timer'],
1497
+ 'lucide:timer-off': icons['timer-off'],
1498
+ 'lucide:timer-reset': icons['timer-reset'],
1499
+ 'lucide:toggle-left': icons['toggle-left'],
1500
+ 'lucide:toggle-right': icons['toggle-right'],
1501
+ 'lucide:toilet': icons['toilet'],
1502
+ 'lucide:tool-case': icons['tool-case'],
1503
+ 'lucide:tornado': icons['tornado'],
1504
+ 'lucide:torus': icons['torus'],
1505
+ 'lucide:touchpad': icons['touchpad'],
1506
+ 'lucide:touchpad-off': icons['touchpad-off'],
1507
+ 'lucide:tower-control': icons['tower-control'],
1508
+ 'lucide:toy-brick': icons['toy-brick'],
1509
+ 'lucide:tractor': icons['tractor'],
1510
+ 'lucide:traffic-cone': icons['traffic-cone'],
1511
+ 'lucide:train-front': icons['train-front'],
1512
+ 'lucide:train-front-tunnel': icons['train-front-tunnel'],
1513
+ 'lucide:train-track': icons['train-track'],
1514
+ 'lucide:tram-front': icons['tram-front'],
1515
+ 'lucide:transgender': icons['transgender'],
1516
+ 'lucide:trash': icons['trash'],
1517
+ 'lucide:trash-2': icons['trash-2'],
1518
+ 'lucide:tree-deciduous': icons['tree-deciduous'],
1519
+ 'lucide:tree-palm': icons['tree-palm'],
1520
+ 'lucide:tree-pine': icons['tree-pine'],
1521
+ 'lucide:trees': icons['trees'],
1522
+ 'lucide:trello': icons['trello'],
1523
+ 'lucide:trending-down': icons['trending-down'],
1524
+ 'lucide:trending-up': icons['trending-up'],
1525
+ 'lucide:trending-up-down': icons['trending-up-down'],
1526
+ 'lucide:triangle': icons['triangle'],
1527
+ 'lucide:triangle-alert': icons['triangle-alert'],
1528
+ 'lucide:triangle-dashed': icons['triangle-dashed'],
1529
+ 'lucide:triangle-right': icons['triangle-right'],
1530
+ 'lucide:trophy': icons['trophy'],
1531
+ 'lucide:truck': icons['truck'],
1532
+ 'lucide:truck-electric': icons['truck-electric'],
1533
+ 'lucide:turkish-lira': icons['turkish-lira'],
1534
+ 'lucide:turtle': icons['turtle'],
1535
+ 'lucide:tv': icons['tv'],
1536
+ 'lucide:tv-minimal': icons['tv-minimal'],
1537
+ 'lucide:tv-minimal-play': icons['tv-minimal-play'],
1538
+ 'lucide:twitch': icons['twitch'],
1539
+ 'lucide:twitter': icons['twitter'],
1540
+ 'lucide:type': icons['type'],
1541
+ 'lucide:type-outline': icons['type-outline'],
1542
+ 'lucide:umbrella': icons['umbrella'],
1543
+ 'lucide:umbrella-off': icons['umbrella-off'],
1544
+ 'lucide:underline': icons['underline'],
1545
+ 'lucide:undo': icons['undo'],
1546
+ 'lucide:undo-2': icons['undo-2'],
1547
+ 'lucide:undo-dot': icons['undo-dot'],
1548
+ 'lucide:unfold-horizontal': icons['unfold-horizontal'],
1549
+ 'lucide:unfold-vertical': icons['unfold-vertical'],
1550
+ 'lucide:ungroup': icons['ungroup'],
1551
+ 'lucide:university': icons['university'],
1552
+ 'lucide:unlink': icons['unlink'],
1553
+ 'lucide:unlink-2': icons['unlink-2'],
1554
+ 'lucide:unplug': icons['unplug'],
1555
+ 'lucide:upload': icons['upload'],
1556
+ 'lucide:usb': icons['usb'],
1557
+ 'lucide:user': icons['user'],
1558
+ 'lucide:user-check': icons['user-check'],
1559
+ 'lucide:user-cog': icons['user-cog'],
1560
+ 'lucide:user-lock': icons['user-lock'],
1561
+ 'lucide:user-minus': icons['user-minus'],
1562
+ 'lucide:user-pen': icons['user-pen'],
1563
+ 'lucide:user-plus': icons['user-plus'],
1564
+ 'lucide:user-round': icons['user-round'],
1565
+ 'lucide:user-round-check': icons['user-round-check'],
1566
+ 'lucide:user-round-cog': icons['user-round-cog'],
1567
+ 'lucide:user-round-minus': icons['user-round-minus'],
1568
+ 'lucide:user-round-pen': icons['user-round-pen'],
1569
+ 'lucide:user-round-plus': icons['user-round-plus'],
1570
+ 'lucide:user-round-search': icons['user-round-search'],
1571
+ 'lucide:user-round-x': icons['user-round-x'],
1572
+ 'lucide:user-search': icons['user-search'],
1573
+ 'lucide:user-x': icons['user-x'],
1574
+ 'lucide:users': icons['users'],
1575
+ 'lucide:users-round': icons['users-round'],
1576
+ 'lucide:utensils': icons['utensils'],
1577
+ 'lucide:utensils-crossed': icons['utensils-crossed'],
1578
+ 'lucide:utility-pole': icons['utility-pole'],
1579
+ 'lucide:variable': icons['variable'],
1580
+ 'lucide:vault': icons['vault'],
1581
+ 'lucide:vector-square': icons['vector-square'],
1582
+ 'lucide:vegan': icons['vegan'],
1583
+ 'lucide:venetian-mask': icons['venetian-mask'],
1584
+ 'lucide:venus': icons['venus'],
1585
+ 'lucide:venus-and-mars': icons['venus-and-mars'],
1586
+ 'lucide:vibrate': icons['vibrate'],
1587
+ 'lucide:vibrate-off': icons['vibrate-off'],
1588
+ 'lucide:video': icons['video'],
1589
+ 'lucide:video-off': icons['video-off'],
1590
+ 'lucide:videotape': icons['videotape'],
1591
+ 'lucide:view': icons['view'],
1592
+ 'lucide:voicemail': icons['voicemail'],
1593
+ 'lucide:volleyball': icons['volleyball'],
1594
+ 'lucide:volume': icons['volume'],
1595
+ 'lucide:volume-1': icons['volume-1'],
1596
+ 'lucide:volume-2': icons['volume-2'],
1597
+ 'lucide:volume-off': icons['volume-off'],
1598
+ 'lucide:volume-x': icons['volume-x'],
1599
+ 'lucide:vote': icons['vote'],
1600
+ 'lucide:wallet': icons['wallet'],
1601
+ 'lucide:wallet-cards': icons['wallet-cards'],
1602
+ 'lucide:wallet-minimal': icons['wallet-minimal'],
1603
+ 'lucide:wallpaper': icons['wallpaper'],
1604
+ 'lucide:wand': icons['wand'],
1605
+ 'lucide:wand-sparkles': icons['wand-sparkles'],
1606
+ 'lucide:warehouse': icons['warehouse'],
1607
+ 'lucide:washing-machine': icons['washing-machine'],
1608
+ 'lucide:watch': icons['watch'],
1609
+ 'lucide:waves': icons['waves'],
1610
+ 'lucide:waves-ladder': icons['waves-ladder'],
1611
+ 'lucide:waypoints': icons['waypoints'],
1612
+ 'lucide:webcam': icons['webcam'],
1613
+ 'lucide:webhook': icons['webhook'],
1614
+ 'lucide:webhook-off': icons['webhook-off'],
1615
+ 'lucide:weight': icons['weight'],
1616
+ 'lucide:wheat': icons['wheat'],
1617
+ 'lucide:wheat-off': icons['wheat-off'],
1618
+ 'lucide:whole-word': icons['whole-word'],
1619
+ 'lucide:wifi': icons['wifi'],
1620
+ 'lucide:wifi-cog': icons['wifi-cog'],
1621
+ 'lucide:wifi-high': icons['wifi-high'],
1622
+ 'lucide:wifi-low': icons['wifi-low'],
1623
+ 'lucide:wifi-off': icons['wifi-off'],
1624
+ 'lucide:wifi-pen': icons['wifi-pen'],
1625
+ 'lucide:wifi-zero': icons['wifi-zero'],
1626
+ 'lucide:wind': icons['wind'],
1627
+ 'lucide:wind-arrow-down': icons['wind-arrow-down'],
1628
+ 'lucide:wine': icons['wine'],
1629
+ 'lucide:wine-off': icons['wine-off'],
1630
+ 'lucide:workflow': icons['workflow'],
1631
+ 'lucide:worm': icons['worm'],
1632
+ 'lucide:wrap-text': icons['wrap-text'],
1633
+ 'lucide:wrench': icons['wrench'],
1634
+ 'lucide:x': icons['x'],
1635
+ 'lucide:youtube': icons['youtube'],
1636
+ 'lucide:zap': icons['zap'],
1637
+ 'lucide:zap-off': icons['zap-off'],
1638
+ 'lucide:zoom-in': icons['zoom-in'],
1639
+ 'lucide:zoom-out': icons['zoom-out'],
1640
+ } as const;
1641
+
1642
+ export type LucideIconName = keyof typeof lucideIconRegistry;