@pgcorp/ui-kit 0.1.0

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 (251) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +157 -0
  3. package/docs/accessibility.md +27 -0
  4. package/docs/getting-started.md +80 -0
  5. package/docs/licensing.md +30 -0
  6. package/docs/public-api.md +39 -0
  7. package/docs/security.md +21 -0
  8. package/docs/theming.md +35 -0
  9. package/docs/versioning.md +23 -0
  10. package/index.ts +3 -0
  11. package/package.json +592 -0
  12. package/src/components/icons/_internal/generatedSputnigUiIconMarkup.ts +971 -0
  13. package/src/components/icons/sputnigUiIcons.ts +530 -0
  14. package/src/components/layout/SAppShell.vue +232 -0
  15. package/src/components/layout/SDockRegion.vue +200 -0
  16. package/src/components/layout/SResizeHandle.vue +251 -0
  17. package/src/components/layout/SSideMenuButton.vue +104 -0
  18. package/src/components/layout/SSideMenuRail.vue +47 -0
  19. package/src/components/layout/SStack.css +25 -0
  20. package/src/components/layout/SStack.vue +57 -0
  21. package/src/components/layout/SStatusBarShell.css +15 -0
  22. package/src/components/layout/SStatusBarShell.vue +26 -0
  23. package/src/components/layout/SWorkbenchLayout.vue +53 -0
  24. package/src/components/layout/SWorkbenchPanelShell.css +161 -0
  25. package/src/components/layout/SWorkbenchPanelShell.vue +286 -0
  26. package/src/components/layout/_internal/SAppBrand.css +45 -0
  27. package/src/components/layout/_internal/SAppBrand.vue +37 -0
  28. package/src/components/layout/_internal/SAppBrandContent.vue +30 -0
  29. package/src/components/layout/types.ts +28 -0
  30. package/src/components/shared/_internal/SDialogSurface.css +127 -0
  31. package/src/components/shared/_internal/SDialogSurface.vue +117 -0
  32. package/src/components/shared/_internal/SDisclosureSummary.css +92 -0
  33. package/src/components/shared/_internal/SDisclosureSummary.vue +121 -0
  34. package/src/components/shared/_internal/SListboxGroup.css +18 -0
  35. package/src/components/shared/_internal/SListboxGroup.vue +24 -0
  36. package/src/components/shared/_internal/SMenuItem.css +112 -0
  37. package/src/components/shared/_internal/SMenuItem.vue +213 -0
  38. package/src/components/shared/_internal/SMenuLayer.css +21 -0
  39. package/src/components/shared/_internal/SMenuLayer.vue +48 -0
  40. package/src/components/shared/_internal/SMenuSeparator.css +5 -0
  41. package/src/components/shared/_internal/SMenuSeparator.vue +13 -0
  42. package/src/components/shared/_internal/SToastItem.css +65 -0
  43. package/src/components/shared/_internal/SToastItem.vue +58 -0
  44. package/src/components/shared/_internal/STreeNode.vue +761 -0
  45. package/src/components/shared/_internal/dialogSurface.ts +105 -0
  46. package/src/components/shared/_internal/focusTrap.ts +40 -0
  47. package/src/components/shared/_internal/listboxContext.ts +16 -0
  48. package/src/components/shared/_internal/markerContract.ts +10 -0
  49. package/src/components/shared/_internal/menuContext.ts +23 -0
  50. package/src/components/shared/_internal/selectionContract.ts +239 -0
  51. package/src/components/shared/_internal/sidebarGroupContext.ts +31 -0
  52. package/src/components/shared/_internal/tabsContext.ts +57 -0
  53. package/src/components/shared/_internal/treeRuntime.ts +203 -0
  54. package/src/components/shared/_internal/useSelectionRoving.ts +162 -0
  55. package/src/components/shared/codeLanguages.ts +168 -0
  56. package/src/components/shared/complex/SKanbanCard.css +8 -0
  57. package/src/components/shared/complex/SKanbanCard.vue +76 -0
  58. package/src/components/shared/complex/SKanbanLane.vue +82 -0
  59. package/src/components/shared/complex/STree.css +24 -0
  60. package/src/components/shared/complex/STree.vue +288 -0
  61. package/src/components/shared/complex/treeAdapter.ts +210 -0
  62. package/src/components/shared/complex/types.ts +102 -0
  63. package/src/components/shared/containers/SCloudChrome.css +103 -0
  64. package/src/components/shared/containers/SCloudChrome.vue +87 -0
  65. package/src/components/shared/containers/SCloudChromeEmpty.css +10 -0
  66. package/src/components/shared/containers/SCloudChromeEmpty.vue +18 -0
  67. package/src/components/shared/containers/SCloudChromeRow.css +78 -0
  68. package/src/components/shared/containers/SCloudChromeRow.vue +108 -0
  69. package/src/components/shared/containers/SCollapsiblePanel.css +57 -0
  70. package/src/components/shared/containers/SCollapsiblePanel.vue +360 -0
  71. package/src/components/shared/containers/SDrawer.css +60 -0
  72. package/src/components/shared/containers/SDrawer.vue +86 -0
  73. package/src/components/shared/containers/SFormGrid.css +26 -0
  74. package/src/components/shared/containers/SFormGrid.vue +46 -0
  75. package/src/components/shared/containers/SFormGridItem.css +18 -0
  76. package/src/components/shared/containers/SFormGridItem.vue +29 -0
  77. package/src/components/shared/containers/SLeftSidebar.vue +74 -0
  78. package/src/components/shared/containers/SModal.css +27 -0
  79. package/src/components/shared/containers/SModal.vue +105 -0
  80. package/src/components/shared/containers/SPageHeader.css +66 -0
  81. package/src/components/shared/containers/SPageHeader.vue +45 -0
  82. package/src/components/shared/containers/SPanel.css +134 -0
  83. package/src/components/shared/containers/SPanel.vue +169 -0
  84. package/src/components/shared/containers/SPopover.css +35 -0
  85. package/src/components/shared/containers/SPopover.vue +551 -0
  86. package/src/components/shared/containers/SSidebarGroup.css +12 -0
  87. package/src/components/shared/containers/SSidebarGroup.vue +443 -0
  88. package/src/components/shared/containers/SSidebarSection.css +41 -0
  89. package/src/components/shared/containers/SSidebarSection.vue +268 -0
  90. package/src/components/shared/containers/disclosureSummary.ts +48 -0
  91. package/src/components/shared/containers/popover.ts +72 -0
  92. package/src/components/shared/containers/sidebar.ts +206 -0
  93. package/src/components/shared/controls/SButton.css +274 -0
  94. package/src/components/shared/controls/SButton.vue +211 -0
  95. package/src/components/shared/controls/SCheckbox.css +65 -0
  96. package/src/components/shared/controls/SCheckbox.vue +130 -0
  97. package/src/components/shared/controls/SCheckboxGroup.vue +134 -0
  98. package/src/components/shared/controls/SChoiceCards.css +29 -0
  99. package/src/components/shared/controls/SChoiceCards.vue +145 -0
  100. package/src/components/shared/controls/SColorSelect.vue +146 -0
  101. package/src/components/shared/controls/SComboboxTrigger.css +35 -0
  102. package/src/components/shared/controls/SComboboxTrigger.vue +122 -0
  103. package/src/components/shared/controls/SContextMenu.css +11 -0
  104. package/src/components/shared/controls/SContextMenu.vue +186 -0
  105. package/src/components/shared/controls/SContextToggleButton.vue +64 -0
  106. package/src/components/shared/controls/SDragHandle.vue +100 -0
  107. package/src/components/shared/controls/SDropdownMenu.css +5 -0
  108. package/src/components/shared/controls/SDropdownMenu.vue +188 -0
  109. package/src/components/shared/controls/SField.css +79 -0
  110. package/src/components/shared/controls/SField.vue +89 -0
  111. package/src/components/shared/controls/SFieldGroup.css +58 -0
  112. package/src/components/shared/controls/SFieldGroup.vue +117 -0
  113. package/src/components/shared/controls/SFieldLabel.css +12 -0
  114. package/src/components/shared/controls/SFieldLabel.vue +51 -0
  115. package/src/components/shared/controls/SInlineTokenEditor.css +61 -0
  116. package/src/components/shared/controls/SInlineTokenEditor.vue +1081 -0
  117. package/src/components/shared/controls/SInputText.css +66 -0
  118. package/src/components/shared/controls/SInputText.vue +321 -0
  119. package/src/components/shared/controls/SInteractiveSurface.css +72 -0
  120. package/src/components/shared/controls/SInteractiveSurface.vue +326 -0
  121. package/src/components/shared/controls/SLink.css +114 -0
  122. package/src/components/shared/controls/SLink.ts +85 -0
  123. package/src/components/shared/controls/SLink.vue +114 -0
  124. package/src/components/shared/controls/SListbox.css +31 -0
  125. package/src/components/shared/controls/SListbox.vue +388 -0
  126. package/src/components/shared/controls/SListboxOption.css +63 -0
  127. package/src/components/shared/controls/SListboxOption.vue +85 -0
  128. package/src/components/shared/controls/SMarker.css +19 -0
  129. package/src/components/shared/controls/SMarker.vue +33 -0
  130. package/src/components/shared/controls/SMenuSurface.css +20 -0
  131. package/src/components/shared/controls/SMenuSurface.vue +333 -0
  132. package/src/components/shared/controls/SSegmentedControl.css +38 -0
  133. package/src/components/shared/controls/SSegmentedControl.vue +134 -0
  134. package/src/components/shared/controls/SSelect.css +12 -0
  135. package/src/components/shared/controls/SSelect.vue +338 -0
  136. package/src/components/shared/controls/STextarea.css +31 -0
  137. package/src/components/shared/controls/STextarea.vue +316 -0
  138. package/src/components/shared/controls/_internal/SInlineTokenSurface.vue +224 -0
  139. package/src/components/shared/controls/menu.ts +178 -0
  140. package/src/components/shared/data-display/SActionCard.css +6 -0
  141. package/src/components/shared/data-display/SActionCard.vue +49 -0
  142. package/src/components/shared/data-display/SActionList.css +15 -0
  143. package/src/components/shared/data-display/SActionList.vue +34 -0
  144. package/src/components/shared/data-display/SActionListItem.css +114 -0
  145. package/src/components/shared/data-display/SActionListItem.vue +230 -0
  146. package/src/components/shared/data-display/SBadge.css +73 -0
  147. package/src/components/shared/data-display/SBadge.vue +52 -0
  148. package/src/components/shared/data-display/SCodeBlock.css +56 -0
  149. package/src/components/shared/data-display/SCodeBlock.vue +188 -0
  150. package/src/components/shared/data-display/SCodeEditor.css +178 -0
  151. package/src/components/shared/data-display/SCodeEditor.vue +274 -0
  152. package/src/components/shared/data-display/SCodeSearchPanel.vue +327 -0
  153. package/src/components/shared/data-display/SCopyField.vue +77 -0
  154. package/src/components/shared/data-display/SDocBlock.css +136 -0
  155. package/src/components/shared/data-display/SDocBlock.vue +358 -0
  156. package/src/components/shared/data-display/SEmptyState.css +42 -0
  157. package/src/components/shared/data-display/SEmptyState.vue +79 -0
  158. package/src/components/shared/data-display/SExpandableText.vue +314 -0
  159. package/src/components/shared/data-display/SJsonTree.css +6 -0
  160. package/src/components/shared/data-display/SJsonTree.vue +111 -0
  161. package/src/components/shared/data-display/SKeyValueGrid.css +37 -0
  162. package/src/components/shared/data-display/SKeyValueGrid.vue +277 -0
  163. package/src/components/shared/data-display/SLinkedSystemsList.vue +270 -0
  164. package/src/components/shared/data-display/SMessage.css +88 -0
  165. package/src/components/shared/data-display/SMessage.vue +152 -0
  166. package/src/components/shared/data-display/SMetricCard.css +32 -0
  167. package/src/components/shared/data-display/SMetricCard.vue +117 -0
  168. package/src/components/shared/data-display/SProgressBar.css +84 -0
  169. package/src/components/shared/data-display/SProgressBar.vue +114 -0
  170. package/src/components/shared/data-display/SProgressIndicator.css +59 -0
  171. package/src/components/shared/data-display/SProgressIndicator.vue +104 -0
  172. package/src/components/shared/data-display/SSectionHeader.css +84 -0
  173. package/src/components/shared/data-display/SSectionHeader.vue +58 -0
  174. package/src/components/shared/data-display/SStatus.css +90 -0
  175. package/src/components/shared/data-display/SStatus.vue +79 -0
  176. package/src/components/shared/data-display/STable.css +83 -0
  177. package/src/components/shared/data-display/STable.vue +339 -0
  178. package/src/components/shared/data-display/SToastContainer.css +53 -0
  179. package/src/components/shared/data-display/SToastContainer.vue +31 -0
  180. package/src/components/shared/data-display/STooltip.css +114 -0
  181. package/src/components/shared/data-display/STooltip.vue +550 -0
  182. package/src/components/shared/data-display/STooltipAnchor.css +21 -0
  183. package/src/components/shared/data-display/STooltipAnchor.vue +119 -0
  184. package/src/components/shared/data-display/SVirtualList.css +24 -0
  185. package/src/components/shared/data-display/SVirtualList.ts +19 -0
  186. package/src/components/shared/data-display/SVirtualList.vue +361 -0
  187. package/src/components/shared/data-display/json.ts +136 -0
  188. package/src/components/shared/data-display/table.ts +76 -0
  189. package/src/components/shared/database/SDataGrid.css +3 -0
  190. package/src/components/shared/database/SDataGrid.vue +464 -0
  191. package/src/components/shared/database/SSqlEditor.vue +363 -0
  192. package/src/components/shared/database/dataGrid.ts +61 -0
  193. package/src/components/shared/feedback/SAsyncState.css +26 -0
  194. package/src/components/shared/feedback/SAsyncState.vue +190 -0
  195. package/src/components/shared/graph/SGraphViewport.ts +1 -0
  196. package/src/components/shared/graph/SGraphViewport.vue +858 -0
  197. package/src/components/shared/graph/_internal/graphViewportContract.ts +362 -0
  198. package/src/components/shared/markdown.ts +169 -0
  199. package/src/components/shared/navigation/SBottomNav.vue +692 -0
  200. package/src/components/shared/navigation/SBreadcrumbs.css +26 -0
  201. package/src/components/shared/navigation/SBreadcrumbs.vue +155 -0
  202. package/src/components/shared/navigation/SCatalogNavigator.css +100 -0
  203. package/src/components/shared/navigation/SCatalogNavigator.vue +308 -0
  204. package/src/components/shared/navigation/STab.vue +363 -0
  205. package/src/components/shared/navigation/STabList.vue +442 -0
  206. package/src/components/shared/navigation/STabPanel.vue +165 -0
  207. package/src/components/shared/navigation/STabPanels.vue +33 -0
  208. package/src/components/shared/navigation/STabs.vue +617 -0
  209. package/src/components/shared/navigation/SWizardSteps.css +69 -0
  210. package/src/components/shared/navigation/SWizardSteps.vue +171 -0
  211. package/src/components/shared/navigation/_internal/SCatalogNavigatorGroup.vue +63 -0
  212. package/src/components/shared/persona/SPersonaProjectPicker.css +36 -0
  213. package/src/components/shared/persona/SPersonaProjectPicker.vue +361 -0
  214. package/src/components/shared/persona/SPersonaRunWorkbench.css +109 -0
  215. package/src/components/shared/persona/SPersonaRunWorkbench.vue +549 -0
  216. package/src/components/shared/persona/_internal/SPersonaRunConsole.css +40 -0
  217. package/src/components/shared/persona/_internal/SPersonaRunConsole.vue +298 -0
  218. package/src/components/shared/persona/_internal/inventory.ts +110 -0
  219. package/src/components/shared/persona/_internal/labels.ts +79 -0
  220. package/src/components/shared/persona/presentation.ts +371 -0
  221. package/src/components/shared/persona/types.ts +256 -0
  222. package/src/composables/uiPreferencesReset.ts +52 -0
  223. package/src/composables/useClipboard.ts +37 -0
  224. package/src/composables/useDialogOverlay.ts +85 -0
  225. package/src/composables/useDisclosure.ts +40 -0
  226. package/src/composables/useFloatingPosition.ts +245 -0
  227. package/src/composables/useNotifier.ts +26 -0
  228. package/src/composables/useSidebarPanelState.ts +610 -0
  229. package/src/internal/codeEditorContract.ts +110 -0
  230. package/src/internal/codeEditorExtensions.ts +27 -0
  231. package/src/internal/feedbackPresentation.ts +136 -0
  232. package/src/internal/fieldSurface.ts +59 -0
  233. package/src/internal/focusNavigation.ts +69 -0
  234. package/src/internal/inlineTokenEditorContract.ts +136 -0
  235. package/src/internal/interactiveElement.ts +33 -0
  236. package/src/internal/layerStack.ts +202 -0
  237. package/src/internal/linkTarget.ts +256 -0
  238. package/src/internal/ownedAttrs.ts +464 -0
  239. package/src/internal/passiveContentContract.ts +129 -0
  240. package/src/internal/pointerInteractionLease.ts +81 -0
  241. package/src/internal/runtimeContract.ts +194 -0
  242. package/src/internal/runtimeTheme.ts +159 -0
  243. package/src/internal/semanticSizing.ts +60 -0
  244. package/src/internal/useMenuLayer.ts +129 -0
  245. package/src/stores/useNotifierStore.ts +69 -0
  246. package/src/styles/reference.css +4 -0
  247. package/src/styles/style.css +151 -0
  248. package/src/styles/tokens.css +836 -0
  249. package/src/theme.ts +449 -0
  250. package/src/types/highlight-js-lib.d.ts +76 -0
  251. package/src/variants.ts +15 -0
@@ -0,0 +1,530 @@
1
+ import { defineComponent, h, type FunctionalComponent, type PropType, type VNodeChild } from 'vue'
2
+ import {
3
+ Activity as LucideActivity, AlertCircle as LucideAlertCircle, AlertTriangle as LucideAlertTriangle, AppWindow, Archive as LucideArchive,
4
+ ArchiveX, ArrowDownCircle, ArrowLeft, ArrowLeftFromLine, ArrowRight, ArrowRightFromLine, ArrowUp, ArrowUpCircle as LucideArrowUpCircle,
5
+ Ban, Bell, BookOpen as LucideBookOpen, BookOpenText, BookText, Bot, BoxSelect, Boxes, Braces, Bug, Cable, Camera,
6
+ CaseSensitive as LucideCaseSensitive, ChartSpline, Check as LucideCheck, CheckCircle, CheckSquare,
7
+ ChevronDown as LucideChevronDown, ChevronRight as LucideChevronRight, ChevronUp as LucideChevronUp,
8
+ ChevronsDown, ChevronsUp, ChevronsUpDown as LucideChevronsUpDown, CircleMinus, CircleOff, CirclePlus,
9
+ Clipboard, ClipboardPaste, Clock as LucideClock, Cloud, CloudUpload, Code as LucideCode, Columns, Columns3,
10
+ Compass, Container, Copy as LucideCopy, CornerDownRight, Database, Delete, Download, DownloadCloud,
11
+ Edit as LucideEdit, Ellipsis, Equal, ExternalLink, Eye, EyeOff, File as LucideFile, FileCode, FileCode2,
12
+ FileCog, FileDown, FileImage, FileJson, FileKey, FileLock, FilePlus, FilePlus2, FileSearch2, FileSliders,
13
+ FileText as LucideFileText, FileUp, Filter as LucideFilter, FlaskConical, Focus, Folder as LucideFolder,
14
+ FolderArchive, FolderCheck, FolderCode, FolderCog, FolderGit, FolderGit2 as LucideFolderGit2, FolderInput as LucideFolderInput,
15
+ FolderKanban as LucideFolderKanban, FolderOpen, FolderPlus, FolderSearch as LucideFolderSearch,
16
+ FolderTree as LucideFolderTree, GalleryVerticalEnd, GitBranch, GitCommit, GitCommitHorizontal, GitCompare, Globe,
17
+ Goal, Grid2x2, GripVertical, Hash, HelpCircle, History, Home, Image as LucideImage, ImagePlus, Info as LucideInfo,
18
+ KeyRound, LayoutGrid, LibraryBig, Lightbulb, Link, List, ListChecks, ListTodo as LucideListTodo, ListTree,
19
+ Loader, Loader2, LoaderCircle as LucideLoaderCircle, Lock, LogIn, LogOut, Logs, Maximize2, Menu as LucideMenu,
20
+ MessageCircle as LucideMessageCircle, MessageSquare as LucideMessageSquare, MessageSquareText, Milestone,
21
+ Minimize2, Minus as LucideMinus, MinusCircle as LucideMinusCircle, Moon as LucideMoon,
22
+ MoreHorizontal as LucideMoreHorizontal, MoreVertical as LucideMoreVertical, MoveDiagonal2, MoveDown, MoveUp,
23
+ Network, PackagePlus, Palette, PanelBottomClose, PanelBottomOpen, PanelLeftClose, PanelLeftOpen, PanelRightClose,
24
+ PanelRightOpen, Pencil, PencilLine, Pin, Play as LucidePlay, Plus as LucidePlus, PlusCircle as LucidePlusCircle,
25
+ Power, RefreshCcw, RefreshCw as LucideRefreshCw, Regex as LucideRegex, Replace as LucideReplace,
26
+ ReplaceAll as LucideReplaceAll, Rocket, RotateCcw as LucideRotateCcw, Save as LucideSave, Scan, ScanEye,
27
+ ScanLine, ScanSearch as LucideScanSearch, ScrollText as LucideScrollText, Search as LucideSearch,
28
+ Send as LucideSend, ServerCog, Settings as LucideSettings, Settings2 as LucideSettings2, Share2, Shield,
29
+ ShieldCheck, ShieldOff, Sigma, SlidersHorizontal, Sparkles, Square, SquareTerminal, Star, Sun as LucideSun,
30
+ Table2, Tag as LucideTag, Target, Terminal as LucideTerminal, TestTube2, Timer, Trash2 as LucideTrash2,
31
+ TreePine, Undo, UploadCloud, User as LucideUser, UserCheck, UserPlus, UserRound as LucideUserRound, UserX,
32
+ View, WandSparkles as LucideWandSparkles, WholeWord as LucideWholeWord, Wifi, WifiOff, Workflow, Wrench,
33
+ X as LucideX, XCircle as LucideXCircle,
34
+ } from '@lucide/vue'
35
+ import {
36
+ generatedSputnigUiIconIds,
37
+ generatedSputnigUiIconMarkup,
38
+ generatedSputnigUiIconMarkupActivity,
39
+ generatedSputnigUiIconMarkupAlertCircle,
40
+ generatedSputnigUiIconMarkupAlertTriangle,
41
+ generatedSputnigUiIconMarkupArchive,
42
+ generatedSputnigUiIconMarkupArrowUpCircle,
43
+ generatedSputnigUiIconMarkupBookOpen,
44
+ generatedSputnigUiIconMarkupCaseSensitive,
45
+ generatedSputnigUiIconMarkupCheck,
46
+ generatedSputnigUiIconMarkupCheckCircle,
47
+ generatedSputnigUiIconMarkupChevronDown,
48
+ generatedSputnigUiIconMarkupChevronRight,
49
+ generatedSputnigUiIconMarkupChevronUp,
50
+ generatedSputnigUiIconMarkupChevronsUpDown,
51
+ generatedSputnigUiIconMarkupClock,
52
+ generatedSputnigUiIconMarkupClose,
53
+ generatedSputnigUiIconMarkupCode,
54
+ generatedSputnigUiIconMarkupCopy,
55
+ generatedSputnigUiIconMarkupEdit,
56
+ generatedSputnigUiIconMarkupFile,
57
+ generatedSputnigUiIconMarkupFileText,
58
+ generatedSputnigUiIconMarkupFilter,
59
+ generatedSputnigUiIconMarkupFolder,
60
+ generatedSputnigUiIconMarkupFolderGit,
61
+ generatedSputnigUiIconMarkupFolderInput,
62
+ generatedSputnigUiIconMarkupFolderKanban,
63
+ generatedSputnigUiIconMarkupFolderSearch,
64
+ generatedSputnigUiIconMarkupFolderTree,
65
+ generatedSputnigUiIconMarkupImage,
66
+ generatedSputnigUiIconMarkupInfo,
67
+ generatedSputnigUiIconMarkupListTodo,
68
+ generatedSputnigUiIconMarkupLoaderCircle,
69
+ generatedSputnigUiIconMarkupMenu,
70
+ generatedSputnigUiIconMarkupMessageCircle,
71
+ generatedSputnigUiIconMarkupMessageSquare,
72
+ generatedSputnigUiIconMarkupMinus,
73
+ generatedSputnigUiIconMarkupMinusCircle,
74
+ generatedSputnigUiIconMarkupMoon,
75
+ generatedSputnigUiIconMarkupMoreHorizontal,
76
+ generatedSputnigUiIconMarkupMoreVertical,
77
+ generatedSputnigUiIconMarkupPlay,
78
+ generatedSputnigUiIconMarkupPlus,
79
+ generatedSputnigUiIconMarkupPlusCircle,
80
+ generatedSputnigUiIconMarkupRefreshCw,
81
+ generatedSputnigUiIconMarkupRegex,
82
+ generatedSputnigUiIconMarkupReplace,
83
+ generatedSputnigUiIconMarkupReplaceAll,
84
+ generatedSputnigUiIconMarkupRotateCcw,
85
+ generatedSputnigUiIconMarkupSave,
86
+ generatedSputnigUiIconMarkupScanSearch,
87
+ generatedSputnigUiIconMarkupScrollText,
88
+ generatedSputnigUiIconMarkupSearch,
89
+ generatedSputnigUiIconMarkupSend,
90
+ generatedSputnigUiIconMarkupSettings,
91
+ generatedSputnigUiIconMarkupSettings2,
92
+ generatedSputnigUiIconMarkupSun,
93
+ generatedSputnigUiIconMarkupTag,
94
+ generatedSputnigUiIconMarkupTerminal,
95
+ generatedSputnigUiIconMarkupTrash2,
96
+ generatedSputnigUiIconMarkupUser,
97
+ generatedSputnigUiIconMarkupUserRound,
98
+ generatedSputnigUiIconMarkupWandSparkles,
99
+ generatedSputnigUiIconMarkupWholeWord,
100
+ generatedSputnigUiIconMarkupXCircle,
101
+ isGeneratedSputnigUiIconId,
102
+ type GeneratedSputnigUiIconId,
103
+ } from './_internal/generatedSputnigUiIconMarkup'
104
+
105
+ export const sputnigUiIconIds = generatedSputnigUiIconIds
106
+ export type SputnigUiIconId = GeneratedSputnigUiIconId
107
+
108
+ export const sputnigUiIconColorModes = ['auto', 'duotone', 'monochrome'] as const
109
+ export type SputnigUiIconColorMode = (typeof sputnigUiIconColorModes)[number]
110
+ export const sputnigUiIconSetModes = ['classic', 'sputnig'] as const
111
+ export type SputnigUiIconSetMode = (typeof sputnigUiIconSetModes)[number]
112
+
113
+ export interface SputnigUiIconProps {
114
+ /** Low-level standalone size. Control owners size icons through their semantic CSS contract. */
115
+ size?: number | string
116
+ /** Low-level standalone stroke. Control owners use the canonical icon default. */
117
+ strokeWidth?: number
118
+ title?: string
119
+ colorMode?: SputnigUiIconColorMode
120
+ iconSetMode?: SputnigUiIconSetMode
121
+ }
122
+
123
+ function renderGeneratedIconBody(markup: string): VNodeChild {
124
+ return h('g', { innerHTML: markup })
125
+ }
126
+
127
+ export function isSputnigUiIconColorMode(value: unknown): value is SputnigUiIconColorMode {
128
+ return typeof value === 'string' && sputnigUiIconColorModes.includes(value as SputnigUiIconColorMode)
129
+ }
130
+
131
+ export function isSputnigUiIconSetMode(value: unknown): value is SputnigUiIconSetMode {
132
+ return typeof value === 'string' && sputnigUiIconSetModes.includes(value as SputnigUiIconSetMode)
133
+ }
134
+
135
+ export function isSputnigUiIconId(name: string): name is SputnigUiIconId {
136
+ return isGeneratedSputnigUiIconId(name)
137
+ }
138
+
139
+ type ClassicLucideIconName = keyof typeof classicLucideIcons
140
+
141
+ const classicLucideIcons = {
142
+ Activity: LucideActivity, AlertCircle: LucideAlertCircle, AlertTriangle: LucideAlertTriangle, AppWindow, Archive: LucideArchive,
143
+ ArchiveX, ArrowDownCircle, ArrowLeft, ArrowLeftFromLine, ArrowRight, ArrowRightFromLine, ArrowUp, ArrowUpCircle: LucideArrowUpCircle,
144
+ Ban, Bell, BookOpen: LucideBookOpen, BookOpenText, BookText, Bot, BoxSelect, Boxes, Braces, Bug, Cable, Camera,
145
+ CaseSensitive: LucideCaseSensitive, ChartSpline, Check: LucideCheck, CheckCircle, CheckSquare,
146
+ ChevronDown: LucideChevronDown, ChevronRight: LucideChevronRight, ChevronUp: LucideChevronUp,
147
+ ChevronsDown, ChevronsUp, ChevronsUpDown: LucideChevronsUpDown, CircleMinus, CircleOff, CirclePlus,
148
+ Clipboard, ClipboardPaste, Clock: LucideClock, Cloud, CloudUpload, Code: LucideCode, Columns, Columns3,
149
+ Compass, Container, Copy: LucideCopy, CornerDownRight, Database, Delete, Download, DownloadCloud,
150
+ Edit: LucideEdit, Ellipsis, Equal, ExternalLink, Eye, EyeOff, File: LucideFile, FileCode, FileCode2, FileCog,
151
+ FileDown, FileImage, FileJson, FileKey, FileLock, FilePlus, FilePlus2, FileSearch2, FileSliders,
152
+ FileText: LucideFileText, FileUp, Filter: LucideFilter, FlaskConical, Focus, Folder: LucideFolder, FolderArchive,
153
+ FolderCheck, FolderCode, FolderCog, FolderGit, FolderGit2: LucideFolderGit2, FolderInput: LucideFolderInput,
154
+ FolderKanban: LucideFolderKanban, FolderOpen, FolderPlus, FolderSearch: LucideFolderSearch,
155
+ FolderTree: LucideFolderTree, GalleryVerticalEnd, GitBranch, GitCommit, GitCommitHorizontal, GitCompare, Globe,
156
+ Goal, Grid2x2, GripVertical, Hash, HelpCircle, History, Home, Image: LucideImage, ImagePlus, Info: LucideInfo,
157
+ KeyRound, LayoutGrid, LibraryBig, Lightbulb, Link, List, ListChecks, ListTodo: LucideListTodo, ListTree, Loader,
158
+ Loader2, LoaderCircle: LucideLoaderCircle, Lock, LogIn, LogOut, Logs, Maximize2, Menu: LucideMenu,
159
+ MessageCircle: LucideMessageCircle, MessageSquare: LucideMessageSquare, MessageSquareText, Milestone, Minimize2,
160
+ Minus: LucideMinus, MinusCircle: LucideMinusCircle, Moon: LucideMoon, MoreHorizontal: LucideMoreHorizontal,
161
+ MoreVertical: LucideMoreVertical, MoveDiagonal2, MoveDown, MoveUp, Network, PackagePlus, Palette,
162
+ PanelBottomClose, PanelBottomOpen, PanelLeftClose, PanelLeftOpen, PanelRightClose, PanelRightOpen, Pencil,
163
+ PencilLine, Pin, Play: LucidePlay, Plus: LucidePlus, PlusCircle: LucidePlusCircle, Power, RefreshCcw,
164
+ RefreshCw: LucideRefreshCw, Regex: LucideRegex, Replace: LucideReplace, ReplaceAll: LucideReplaceAll, Rocket,
165
+ RotateCcw: LucideRotateCcw, Save: LucideSave, Scan, ScanEye, ScanLine, ScanSearch: LucideScanSearch,
166
+ ScrollText: LucideScrollText, Search: LucideSearch, Send: LucideSend, ServerCog, Settings: LucideSettings,
167
+ Settings2: LucideSettings2, Share2, Shield, ShieldCheck, ShieldOff, Sigma, SlidersHorizontal, Sparkles, Square,
168
+ SquareTerminal, Star, Sun: LucideSun, Table2, Tag: LucideTag, Target, Terminal: LucideTerminal, TestTube2,
169
+ Timer, Trash2: LucideTrash2, TreePine, Undo, UploadCloud, User: LucideUser, UserCheck, UserPlus,
170
+ UserRound: LucideUserRound, UserX, View, WandSparkles: LucideWandSparkles, WholeWord: LucideWholeWord, Wifi,
171
+ WifiOff, Workflow, Wrench, X: LucideX, XCircle: LucideXCircle,
172
+ } as const satisfies Record<string, unknown>
173
+
174
+ const classicUiIconAliases = {
175
+ 'add-file': 'FilePlus2',
176
+ 'add-folder': 'FolderPlus',
177
+ 'agent-studio': 'Bot',
178
+ chat: 'MessageSquareText',
179
+ collections: 'FolderKanban',
180
+ close: 'X',
181
+ 'context-add': 'CirclePlus',
182
+ 'context-remove': 'CircleMinus',
183
+ docs: 'BookOpenText',
184
+ drag: 'GripVertical',
185
+ empty: 'CircleOff',
186
+ exclude: 'EyeOff',
187
+ explorer: 'FolderTree',
188
+ 'file-config': 'FileCog',
189
+ 'file-css': 'FileCode2',
190
+ 'file-database': 'Database',
191
+ 'file-docker': 'Container',
192
+ 'file-env': 'FileKey',
193
+ 'file-html': 'FileCode',
194
+ 'file-javascript': 'Braces',
195
+ 'file-markdown': 'FileText',
196
+ 'file-python': 'FileCode2',
197
+ 'file-shell': 'SquareTerminal',
198
+ 'file-test': 'FlaskConical',
199
+ 'file-typescript': 'Braces',
200
+ 'file-vue': 'FileCode',
201
+ 'file-yaml': 'FileSliders',
202
+ 'focus-mode': 'Focus',
203
+ 'focus-off': 'ScanLine',
204
+ 'focus-on': 'ScanEye',
205
+ 'folder-config': 'FolderCog',
206
+ 'folder-docs': 'FolderOpen',
207
+ 'folder-package': 'FolderArchive',
208
+ 'folder-source': 'FolderCode',
209
+ 'folder-tests': 'FolderCheck',
210
+ git: 'GitBranch',
211
+ hide: 'EyeOff',
212
+ include: 'Eye',
213
+ inspector: 'ScanSearch',
214
+ 'key-result': 'Target',
215
+ 'lsp-activity': 'Activity',
216
+ more: 'Ellipsis',
217
+ projects: 'FolderKanban',
218
+ reset: 'RotateCcw',
219
+ snapshots: 'Camera',
220
+ strategy: 'Goal',
221
+ tasks: 'ListTodo',
222
+ tests: 'FlaskConical',
223
+ theme: 'Palette',
224
+ 'theme-dark': 'Moon',
225
+ 'theme-light': 'Sun',
226
+ 'trace-analysis': 'ChartSpline',
227
+ web: 'Globe',
228
+ 'workspace-project-run': 'Rocket',
229
+ 'workspace-project-run-settings': 'SlidersHorizontal',
230
+ 'workspace-project-switch': 'FolderInput',
231
+ } as const satisfies Partial<Record<SputnigUiIconId, ClassicLucideIconName>>
232
+
233
+ const classicIconComponentCache = new Map<SputnigUiIconId, FunctionalComponent<Record<string, unknown>>>()
234
+
235
+ function resolveClassicLucideIconName(name: SputnigUiIconId): ClassicLucideIconName {
236
+ const aliasedName = (classicUiIconAliases as Partial<Record<SputnigUiIconId, ClassicLucideIconName>>)[name]
237
+ if (aliasedName) {
238
+ return aliasedName
239
+ }
240
+ const exportName = name
241
+ .split('-')
242
+ .map((part) => (part ? `${part[0]?.toUpperCase() ?? ''}${part.slice(1)}` : ''))
243
+ .join('') as ClassicLucideIconName
244
+
245
+ if (exportName in classicLucideIcons) {
246
+ return exportName
247
+ }
248
+
249
+ throw new Error(`Для иконки ${name} не задан классический UI-kit icon mapping.`)
250
+ }
251
+
252
+ function resolveClassicIconComponent(name: SputnigUiIconId): FunctionalComponent<Record<string, unknown>> {
253
+ const cached = classicIconComponentCache.get(name)
254
+ if (cached) {
255
+ return cached
256
+ }
257
+
258
+ const iconName = resolveClassicLucideIconName(name)
259
+ const component = classicLucideIcons[iconName]
260
+ if (typeof component !== 'function' && (typeof component !== 'object' || component === null)) {
261
+ throw new Error(`Классическая иконка ${String(iconName)} для ${name} не является Vue-компонентом.`)
262
+ }
263
+
264
+ const typedComponent = component as FunctionalComponent<Record<string, unknown>>
265
+ classicIconComponentCache.set(name, typedComponent)
266
+ return typedComponent
267
+ }
268
+
269
+ function resolveAccentColorVariable(colorMode: SputnigUiIconColorMode): string {
270
+ if (colorMode === 'monochrome') {
271
+ return 'var(--sputnig-icon-primary)'
272
+ }
273
+ if (colorMode === 'duotone') {
274
+ return 'var(--sputnig-ui-icon-accent, var(--color-icon-accent-theme, currentColor))'
275
+ }
276
+ return 'var(--sputnig-ui-icon-accent, var(--color-icon-accent, var(--color-icon-accent-theme, currentColor)))'
277
+ }
278
+
279
+ function assertRawIconSize(value: unknown): number | string {
280
+ if (typeof value === 'number' && Number.isFinite(value) && value > 0) return value
281
+ if (
282
+ typeof value === 'string'
283
+ && (/^(?:\d+(?:\.\d+)?(?:px|rem|em)|var\(--[a-z0-9-]+\))$/u).test(value)
284
+ ) return value
285
+ throw new TypeError(
286
+ 'SputnigUiIcon: size должен быть положительным числом или exact CSS length/token.',
287
+ )
288
+ }
289
+
290
+ function assertRawIconStrokeWidth(value: unknown): number {
291
+ if (typeof value === 'number' && Number.isFinite(value) && value > 0) return value
292
+ throw new TypeError('SputnigUiIcon: strokeWidth должен быть положительным конечным числом.')
293
+ }
294
+
295
+ function assertRawIconAttrs(attrs: Record<string, unknown>): void {
296
+ const allowedExact = new Set(['class', 'aria-label', 'aria-labelledby', 'aria-hidden'])
297
+ const rejected = Object.keys(attrs).filter((name) => (
298
+ !allowedExact.has(name) && !name.startsWith('data-')
299
+ ))
300
+ if (rejected.length > 0) {
301
+ throw new TypeError(
302
+ `SputnigUiIcon: presentation attrs принадлежат component owner; запрещены: ${rejected.join(', ')}.`,
303
+ )
304
+ }
305
+ }
306
+
307
+ function renderIcon(
308
+ name: GeneratedSputnigUiIconId,
309
+ props: SputnigUiIconProps,
310
+ attrs: Record<string, unknown> = {},
311
+ classicIcon: unknown,
312
+ generatedMarkup: string,
313
+ ): VNodeChild {
314
+ assertRawIconAttrs(attrs)
315
+ const size = assertRawIconSize(props.size ?? 24)
316
+ const strokeWidth = assertRawIconStrokeWidth(props.strokeWidth ?? 1.8)
317
+ const colorMode = props.colorMode ?? 'auto'
318
+ const iconSetMode = props.iconSetMode ?? 'classic'
319
+ if (!isSputnigUiIconColorMode(colorMode)) {
320
+ throw new TypeError(`SputnigUiIcon: неизвестный colorMode ${String(colorMode)}.`)
321
+ }
322
+ if (!isSputnigUiIconSetMode(iconSetMode)) {
323
+ throw new TypeError(`SputnigUiIcon: неизвестный iconSetMode ${String(iconSetMode)}.`)
324
+ }
325
+ if (props.title !== undefined && typeof props.title !== 'string') {
326
+ throw new TypeError('SputnigUiIcon: title должен быть строкой.')
327
+ }
328
+ const hasAccessibleName = Boolean(props.title || attrs['aria-label'])
329
+
330
+ if (iconSetMode === 'classic') {
331
+ if (typeof classicIcon !== 'function' && (typeof classicIcon !== 'object' || classicIcon === null)) {
332
+ throw new Error(`Классическая иконка для ${name} не является Vue-компонентом.`)
333
+ }
334
+ const ClassicIcon = classicIcon as FunctionalComponent<Record<string, unknown>>
335
+ return h(
336
+ ClassicIcon,
337
+ {
338
+ ...attrs,
339
+ size,
340
+ strokeWidth,
341
+ role: hasAccessibleName ? 'img' : undefined,
342
+ 'aria-hidden': hasAccessibleName ? undefined : 'true',
343
+ 'aria-label': props.title || attrs['aria-label'],
344
+ 'data-sputnig-ui-icon': name,
345
+ 'data-sputnig-ui-icon-color-mode': colorMode,
346
+ 'data-sputnig-ui-icon-set': iconSetMode,
347
+ },
348
+ props.title ? () => h('title', props.title) : undefined,
349
+ )
350
+ }
351
+
352
+ return h(
353
+ 'svg',
354
+ {
355
+ ...attrs,
356
+ xmlns: 'http://www.w3.org/2000/svg',
357
+ viewBox: '0 0 24 24',
358
+ width: size,
359
+ height: size,
360
+ fill: 'none',
361
+ stroke: 'currentColor',
362
+ 'stroke-width': strokeWidth,
363
+ 'stroke-linecap': 'round',
364
+ 'stroke-linejoin': 'round',
365
+ role: hasAccessibleName ? 'img' : undefined,
366
+ 'aria-hidden': hasAccessibleName ? undefined : 'true',
367
+ style: [
368
+ {
369
+ '--sputnig-icon-primary': 'var(--sputnig-ui-icon-primary, var(--color-icon-primary, currentColor))',
370
+ '--sputnig-icon-accent': resolveAccentColorVariable(colorMode),
371
+ },
372
+ ],
373
+ 'data-sputnig-ui-icon': name,
374
+ 'data-sputnig-ui-icon-color-mode': colorMode,
375
+ 'data-sputnig-ui-icon-set': iconSetMode,
376
+ },
377
+ [props.title ? h('title', props.title) : null, renderGeneratedIconBody(generatedMarkup)],
378
+ )
379
+ }
380
+
381
+ const iconComponentCache = new Map<SputnigUiIconId, FunctionalComponent<SputnigUiIconProps>>()
382
+
383
+ function createUiIcon(
384
+ name: SputnigUiIconId,
385
+ classicIcon: unknown,
386
+ generatedMarkup: string,
387
+ ): FunctionalComponent<SputnigUiIconProps> {
388
+ const component: FunctionalComponent<SputnigUiIconProps> = (props, { attrs }) =>
389
+ renderIcon(name, props, attrs, classicIcon, generatedMarkup)
390
+ component.displayName = `SputnigUiIcon${name.replace(/(^|-)([a-z])/g, (_, __, letter: string) => letter.toUpperCase())}`
391
+ component.props = {
392
+ size: [Number, String],
393
+ strokeWidth: Number,
394
+ title: String,
395
+ colorMode: {
396
+ type: String as PropType<SputnigUiIconColorMode>,
397
+ default: 'auto',
398
+ validator: isSputnigUiIconColorMode,
399
+ },
400
+ iconSetMode: {
401
+ type: String as PropType<SputnigUiIconSetMode>,
402
+ default: 'classic',
403
+ validator: isSputnigUiIconSetMode,
404
+ },
405
+ }
406
+ return component
407
+ }
408
+
409
+ export function getSputnigUiIconComponent(
410
+ name: SputnigUiIconId,
411
+ ): FunctionalComponent<SputnigUiIconProps> {
412
+ const cached = iconComponentCache.get(name)
413
+ if (cached) {
414
+ return cached
415
+ }
416
+ const component = createUiIcon(
417
+ name,
418
+ resolveClassicIconComponent(name),
419
+ generatedSputnigUiIconMarkup[name],
420
+ )
421
+ iconComponentCache.set(name, component)
422
+ return component
423
+ }
424
+
425
+ export const SputnigUiIcon = /* @__PURE__ */ defineComponent({
426
+ name: 'SputnigUiIcon',
427
+ props: {
428
+ name: {
429
+ type: String as PropType<SputnigUiIconId>,
430
+ required: true,
431
+ validator: isGeneratedSputnigUiIconId,
432
+ },
433
+ size: {
434
+ type: [Number, String],
435
+ default: 24,
436
+ },
437
+ strokeWidth: {
438
+ type: Number,
439
+ default: 1.8,
440
+ },
441
+ title: {
442
+ type: String,
443
+ default: '',
444
+ },
445
+ colorMode: {
446
+ type: String as PropType<SputnigUiIconColorMode>,
447
+ default: 'auto',
448
+ validator: isSputnigUiIconColorMode,
449
+ },
450
+ iconSetMode: {
451
+ type: String as PropType<SputnigUiIconSetMode>,
452
+ default: 'classic',
453
+ validator: isSputnigUiIconSetMode,
454
+ },
455
+ },
456
+ setup(props, { attrs }) {
457
+ return () => renderIcon(
458
+ props.name,
459
+ props,
460
+ attrs,
461
+ resolveClassicIconComponent(props.name),
462
+ generatedSputnigUiIconMarkup[props.name],
463
+ )
464
+ },
465
+ })
466
+
467
+ export const Activity = /* @__PURE__ */ createUiIcon('activity', LucideActivity, generatedSputnigUiIconMarkupActivity)
468
+ export const AlertCircle = /* @__PURE__ */ createUiIcon('alert-circle', LucideAlertCircle, generatedSputnigUiIconMarkupAlertCircle)
469
+ export const AlertTriangle = /* @__PURE__ */ createUiIcon('alert-triangle', LucideAlertTriangle, generatedSputnigUiIconMarkupAlertTriangle)
470
+ export const Archive = /* @__PURE__ */ createUiIcon('archive', LucideArchive, generatedSputnigUiIconMarkupArchive)
471
+ export const ArrowUpCircle = /* @__PURE__ */ createUiIcon('arrow-up-circle', LucideArrowUpCircle, generatedSputnigUiIconMarkupArrowUpCircle)
472
+ export const BookOpen = /* @__PURE__ */ createUiIcon('book-open', LucideBookOpen, generatedSputnigUiIconMarkupBookOpen)
473
+ export const CaseSensitive = /* @__PURE__ */ createUiIcon('case-sensitive', LucideCaseSensitive, generatedSputnigUiIconMarkupCaseSensitive)
474
+ export const Check = /* @__PURE__ */ createUiIcon('check', LucideCheck, generatedSputnigUiIconMarkupCheck)
475
+ export const CheckCircle2 = /* @__PURE__ */ createUiIcon('check-circle', CheckCircle, generatedSputnigUiIconMarkupCheckCircle)
476
+ export const ChevronDown = /* @__PURE__ */ createUiIcon('chevron-down', LucideChevronDown, generatedSputnigUiIconMarkupChevronDown)
477
+ export const ChevronRight = /* @__PURE__ */ createUiIcon('chevron-right', LucideChevronRight, generatedSputnigUiIconMarkupChevronRight)
478
+ export const ChevronUp = /* @__PURE__ */ createUiIcon('chevron-up', LucideChevronUp, generatedSputnigUiIconMarkupChevronUp)
479
+ export const ChevronsUpDown = /* @__PURE__ */ createUiIcon('chevrons-up-down', LucideChevronsUpDown, generatedSputnigUiIconMarkupChevronsUpDown)
480
+ export const CircleAlert = AlertCircle
481
+ export const Clock = /* @__PURE__ */ createUiIcon('clock', LucideClock, generatedSputnigUiIconMarkupClock)
482
+ export const Code = /* @__PURE__ */ createUiIcon('code', LucideCode, generatedSputnigUiIconMarkupCode)
483
+ export const Copy = /* @__PURE__ */ createUiIcon('copy', LucideCopy, generatedSputnigUiIconMarkupCopy)
484
+ export const Edit = /* @__PURE__ */ createUiIcon('edit', LucideEdit, generatedSputnigUiIconMarkupEdit)
485
+ export const File = /* @__PURE__ */ createUiIcon('file', LucideFile, generatedSputnigUiIconMarkupFile)
486
+ export const FileText = /* @__PURE__ */ createUiIcon('file-text', LucideFileText, generatedSputnigUiIconMarkupFileText)
487
+ export const Filter = /* @__PURE__ */ createUiIcon('filter', LucideFilter, generatedSputnigUiIconMarkupFilter)
488
+ export const Folder = /* @__PURE__ */ createUiIcon('folder', LucideFolder, generatedSputnigUiIconMarkupFolder)
489
+ export const FolderGit2 = /* @__PURE__ */ createUiIcon('folder-git', LucideFolderGit2, generatedSputnigUiIconMarkupFolderGit)
490
+ export const FolderInput = /* @__PURE__ */ createUiIcon('folder-input', LucideFolderInput, generatedSputnigUiIconMarkupFolderInput)
491
+ export const FolderKanban = /* @__PURE__ */ createUiIcon('folder-kanban', LucideFolderKanban, generatedSputnigUiIconMarkupFolderKanban)
492
+ export const FolderSearch = /* @__PURE__ */ createUiIcon('folder-search', LucideFolderSearch, generatedSputnigUiIconMarkupFolderSearch)
493
+ export const FolderTree = /* @__PURE__ */ createUiIcon('folder-tree', LucideFolderTree, generatedSputnigUiIconMarkupFolderTree)
494
+ export const Image = /* @__PURE__ */ createUiIcon('image', LucideImage, generatedSputnigUiIconMarkupImage)
495
+ export const Info = /* @__PURE__ */ createUiIcon('info', LucideInfo, generatedSputnigUiIconMarkupInfo)
496
+ export const ListTodo = /* @__PURE__ */ createUiIcon('list-todo', LucideListTodo, generatedSputnigUiIconMarkupListTodo)
497
+ export const LoaderCircle = /* @__PURE__ */ createUiIcon('loader-circle', LucideLoaderCircle, generatedSputnigUiIconMarkupLoaderCircle)
498
+ export const Menu = /* @__PURE__ */ createUiIcon('menu', LucideMenu, generatedSputnigUiIconMarkupMenu)
499
+ export const MessageCircle = /* @__PURE__ */ createUiIcon('message-circle', LucideMessageCircle, generatedSputnigUiIconMarkupMessageCircle)
500
+ export const MessageSquare = /* @__PURE__ */ createUiIcon('message-square', LucideMessageSquare, generatedSputnigUiIconMarkupMessageSquare)
501
+ export const Minus = /* @__PURE__ */ createUiIcon('minus', LucideMinus, generatedSputnigUiIconMarkupMinus)
502
+ export const MinusCircle = /* @__PURE__ */ createUiIcon('minus-circle', LucideMinusCircle, generatedSputnigUiIconMarkupMinusCircle)
503
+ export const Moon = /* @__PURE__ */ createUiIcon('moon', LucideMoon, generatedSputnigUiIconMarkupMoon)
504
+ export const MoreHorizontal = /* @__PURE__ */ createUiIcon('more-horizontal', LucideMoreHorizontal, generatedSputnigUiIconMarkupMoreHorizontal)
505
+ export const MoreVertical = /* @__PURE__ */ createUiIcon('more-vertical', LucideMoreVertical, generatedSputnigUiIconMarkupMoreVertical)
506
+ export const Play = /* @__PURE__ */ createUiIcon('play', LucidePlay, generatedSputnigUiIconMarkupPlay)
507
+ export const Plus = /* @__PURE__ */ createUiIcon('plus', LucidePlus, generatedSputnigUiIconMarkupPlus)
508
+ export const PlusCircle = /* @__PURE__ */ createUiIcon('plus-circle', LucidePlusCircle, generatedSputnigUiIconMarkupPlusCircle)
509
+ export const RefreshCw = /* @__PURE__ */ createUiIcon('refresh-cw', LucideRefreshCw, generatedSputnigUiIconMarkupRefreshCw)
510
+ export const Regex = /* @__PURE__ */ createUiIcon('regex', LucideRegex, generatedSputnigUiIconMarkupRegex)
511
+ export const Replace = /* @__PURE__ */ createUiIcon('replace', LucideReplace, generatedSputnigUiIconMarkupReplace)
512
+ export const ReplaceAll = /* @__PURE__ */ createUiIcon('replace-all', LucideReplaceAll, generatedSputnigUiIconMarkupReplaceAll)
513
+ export const RotateCcw = /* @__PURE__ */ createUiIcon('rotate-ccw', LucideRotateCcw, generatedSputnigUiIconMarkupRotateCcw)
514
+ export const Save = /* @__PURE__ */ createUiIcon('save', LucideSave, generatedSputnigUiIconMarkupSave)
515
+ export const ScanSearch = /* @__PURE__ */ createUiIcon('scan-search', LucideScanSearch, generatedSputnigUiIconMarkupScanSearch)
516
+ export const ScrollText = /* @__PURE__ */ createUiIcon('scroll-text', LucideScrollText, generatedSputnigUiIconMarkupScrollText)
517
+ export const Search = /* @__PURE__ */ createUiIcon('search', LucideSearch, generatedSputnigUiIconMarkupSearch)
518
+ export const Send = /* @__PURE__ */ createUiIcon('send', LucideSend, generatedSputnigUiIconMarkupSend)
519
+ export const Settings = /* @__PURE__ */ createUiIcon('settings', LucideSettings, generatedSputnigUiIconMarkupSettings)
520
+ export const Settings2 = /* @__PURE__ */ createUiIcon('settings2', LucideSettings2, generatedSputnigUiIconMarkupSettings2)
521
+ export const Sun = /* @__PURE__ */ createUiIcon('sun', LucideSun, generatedSputnigUiIconMarkupSun)
522
+ export const Tag = /* @__PURE__ */ createUiIcon('tag', LucideTag, generatedSputnigUiIconMarkupTag)
523
+ export const Terminal = /* @__PURE__ */ createUiIcon('terminal', LucideTerminal, generatedSputnigUiIconMarkupTerminal)
524
+ export const Trash2 = /* @__PURE__ */ createUiIcon('trash2', LucideTrash2, generatedSputnigUiIconMarkupTrash2)
525
+ export const User = /* @__PURE__ */ createUiIcon('user', LucideUser, generatedSputnigUiIconMarkupUser)
526
+ export const UserRound = /* @__PURE__ */ createUiIcon('user-round', LucideUserRound, generatedSputnigUiIconMarkupUserRound)
527
+ export const WandSparkles = /* @__PURE__ */ createUiIcon('wand-sparkles', LucideWandSparkles, generatedSputnigUiIconMarkupWandSparkles)
528
+ export const WholeWord = /* @__PURE__ */ createUiIcon('whole-word', LucideWholeWord, generatedSputnigUiIconMarkupWholeWord)
529
+ export const X = /* @__PURE__ */ createUiIcon('close', LucideX, generatedSputnigUiIconMarkupClose)
530
+ export const XCircle = /* @__PURE__ */ createUiIcon('x-circle', LucideXCircle, generatedSputnigUiIconMarkupXCircle)