@parallelworks/ui 0.21.0 → 0.21.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 (319) hide show
  1. package/README.md +5 -0
  2. package/dist/ai/components/AttachmentManager.js +6 -4
  3. package/dist/ai/components/AttachmentUpload.js +11 -7
  4. package/dist/ai/components/BlockedGroupBanner.js +2 -2
  5. package/dist/ai/components/BranchNavigator.js +4 -3
  6. package/dist/ai/components/ChatEmptyState.js +8 -5
  7. package/dist/ai/components/ChatInput.js +6 -4
  8. package/dist/ai/components/ChatMessage.js +18 -10
  9. package/dist/ai/components/ChatMessageList.js +4 -3
  10. package/dist/ai/components/ChatSidebar.js +18 -10
  11. package/dist/ai/components/ChatThread.js +4 -3
  12. package/dist/ai/components/ComposerChrome.js +2 -2
  13. package/dist/ai/components/ModelSelector.js +17 -12
  14. package/dist/ai/components/ShareDialog.js +4 -3
  15. package/dist/ai/components/agent/ActivityLine.js +3 -2
  16. package/dist/ai/components/agent/AgentMessageParts.js +9 -7
  17. package/dist/ai/ui/Dropdown.js +2 -2
  18. package/dist/ai/ui/Notice.js +5 -3
  19. package/dist/ai/ui/sidebar.js +2 -2
  20. package/dist/components/Button.js +3 -2
  21. package/dist/components/Callout.js +4 -3
  22. package/dist/components/CollapsiblePanel.js +2 -2
  23. package/dist/components/CopyToClipboard.js +8 -4
  24. package/dist/components/CreateModal.js +11 -7
  25. package/dist/components/Dropdown.js +2 -2
  26. package/dist/components/Filter.js +2 -2
  27. package/dist/components/Indicator.js +14 -9
  28. package/dist/components/Input.js +6 -4
  29. package/dist/components/Listbox.js +2 -2
  30. package/dist/components/Loader.js +1 -1
  31. package/dist/components/PageHeader.js +10 -7
  32. package/dist/components/Sort.js +6 -4
  33. package/dist/components/StatusIcons.d.ts +11 -0
  34. package/dist/components/StatusIcons.js +20 -0
  35. package/dist/components/Tooltip.js +3 -3
  36. package/dist/components/dropdownUtils.js +2 -2
  37. package/dist/editor/FormCodePanel.js +6 -3
  38. package/dist/file-explorer/FileExplorer.js +38 -23
  39. package/dist/file-explorer/FilePreview/Inline.js +2 -2
  40. package/dist/file-explorer/FilePreview/StreamedBadge.js +2 -2
  41. package/dist/file-explorer/FilePreview/Viewer.js +14 -10
  42. package/dist/file-explorer/FilePreview/index.js +17 -10
  43. package/dist/file-explorer/FileRow.js +2 -2
  44. package/dist/file-explorer/FileRowsWindow.js +3 -2
  45. package/dist/file-explorer/TreeView.js +5 -3
  46. package/dist/file-explorer/helpers.js +43 -29
  47. package/dist/file-explorer/toasts.js +18 -11
  48. package/dist/form/Form.js +4 -3
  49. package/dist/form/SpecialTypes/FormikCustomInput.js +3 -2
  50. package/dist/graph/AnnotationBanner.js +9 -5
  51. package/dist/graph/DependencyGraph.js +6 -4
  52. package/dist/graph/JobSummary.js +4 -3
  53. package/dist/graph/TreeView.js +3 -2
  54. package/dist/icons/ai/AiOutlineRollback.js +16 -0
  55. package/dist/icons/bi/BiBell.js +16 -0
  56. package/dist/icons/bi/BiBellOff.js +16 -0
  57. package/dist/icons/bi/BiBuildings.js +20 -0
  58. package/dist/icons/bi/BiError.js +20 -0
  59. package/dist/icons/bi/BiExpandVertical.js +16 -0
  60. package/dist/icons/bi/BiPause.js +16 -0
  61. package/dist/icons/bi/BiPlay.js +16 -0
  62. package/dist/icons/bi/BiSolidCheckShield.js +16 -0
  63. package/dist/icons/bi/BiSolidTrashAlt.js +16 -0
  64. package/dist/icons/bi/BiStop.js +16 -0
  65. package/dist/icons/bs/BsArrowsCollapse.js +22 -0
  66. package/dist/icons/bs/BsBank2.js +19 -0
  67. package/dist/icons/bs/BsBriefcase.js +19 -0
  68. package/dist/icons/bs/BsBucket.js +19 -0
  69. package/dist/icons/bs/BsCalendarX.js +23 -0
  70. package/dist/icons/bs/BsChatLeft.js +19 -0
  71. package/dist/icons/bs/BsChevronDoubleDown.js +29 -0
  72. package/dist/icons/bs/BsChevronDoubleUp.js +29 -0
  73. package/dist/icons/bs/BsClipboardCheck.js +34 -0
  74. package/dist/icons/bs/BsCurrencyDollar.js +19 -0
  75. package/dist/icons/bs/BsDash.js +19 -0
  76. package/dist/icons/bs/BsFileEarmarkZip.js +23 -0
  77. package/dist/icons/bs/BsFiles.js +19 -0
  78. package/dist/icons/bs/BsGeoAlt.js +23 -0
  79. package/dist/icons/bs/BsGrid.js +19 -0
  80. package/dist/icons/bs/BsLayers.js +19 -0
  81. package/dist/icons/bs/BsLayoutThreeColumns.js +19 -0
  82. package/dist/icons/bs/BsListUl.js +22 -0
  83. package/dist/icons/bs/BsMortarboard.js +23 -0
  84. package/dist/icons/bs/BsMusicNoteBeamed.js +34 -0
  85. package/dist/icons/bs/BsOpenai.js +19 -0
  86. package/dist/icons/bs/BsPersonPlus.js +26 -0
  87. package/dist/icons/bs/BsSearch.js +19 -0
  88. package/dist/icons/bs/BsSend.js +19 -0
  89. package/dist/icons/bs/BsShieldSlash.js +22 -0
  90. package/dist/icons/bs/BsStar.js +19 -0
  91. package/dist/icons/bs/BsStarFill.js +19 -0
  92. package/dist/icons/bs/BsStopCircle.js +23 -0
  93. package/dist/icons/bs/BsTag.js +23 -0
  94. package/dist/icons/bs/BsTelephone.js +19 -0
  95. package/dist/icons/bs/BsTerminal.js +23 -0
  96. package/dist/icons/bs/BsTerminalFill.js +19 -0
  97. package/dist/icons/bs/BsThreeDots.js +19 -0
  98. package/dist/icons/bs/BsThreeDotsVertical.js +19 -0
  99. package/dist/icons/bs/BsZoomIn.js +37 -0
  100. package/dist/icons/fa/FaAmazon.js +16 -0
  101. package/dist/icons/fa/FaAngleDown.js +16 -0
  102. package/dist/icons/fa/FaAngleLeft.js +16 -0
  103. package/dist/icons/fa/FaAngleRight.js +16 -0
  104. package/dist/icons/fa/FaAngleUp.js +16 -0
  105. package/dist/icons/fa/FaArrowDown.js +16 -0
  106. package/dist/icons/fa/FaArrowLeft.js +16 -0
  107. package/dist/icons/fa/FaArrowRight.js +16 -0
  108. package/dist/icons/fa/FaArrowUp.js +16 -0
  109. package/dist/icons/fa/FaBalanceScale.js +16 -0
  110. package/dist/icons/fa/FaCaretDown.js +16 -0
  111. package/dist/icons/fa/FaCentos.js +16 -0
  112. package/dist/icons/fa/FaChartLine.js +16 -0
  113. package/dist/icons/fa/FaChartPie.js +16 -0
  114. package/dist/icons/fa/FaCheck.js +16 -0
  115. package/dist/icons/fa/FaChevronDown.js +16 -0
  116. package/dist/icons/fa/FaChevronUp.js +16 -0
  117. package/dist/icons/fa/FaChrome.js +16 -0
  118. package/dist/icons/fa/FaCircleNotch.js +16 -0
  119. package/dist/icons/fa/FaCloud.js +16 -0
  120. package/dist/icons/fa/FaCloudDownloadAlt.js +16 -0
  121. package/dist/icons/fa/FaCog.js +16 -0
  122. package/dist/icons/fa/FaCogs.js +16 -0
  123. package/dist/icons/fa/FaComments.js +16 -0
  124. package/dist/icons/fa/FaCompress.js +16 -0
  125. package/dist/icons/fa/FaDesktop.js +16 -0
  126. package/dist/icons/fa/FaDocker.js +16 -0
  127. package/dist/icons/fa/FaDollarSign.js +16 -0
  128. package/dist/icons/fa/FaEdge.js +16 -0
  129. package/dist/icons/fa/FaEdit.js +16 -0
  130. package/dist/icons/fa/FaExclamationTriangle.js +16 -0
  131. package/dist/icons/fa/FaExpand.js +16 -0
  132. package/dist/icons/fa/FaEye.js +16 -0
  133. package/dist/icons/fa/FaEyeSlash.js +16 -0
  134. package/dist/icons/fa/FaFile.js +16 -0
  135. package/dist/icons/fa/FaFilePdf.js +16 -0
  136. package/dist/icons/fa/FaFilter.js +16 -0
  137. package/dist/icons/fa/FaFirefoxBrowser.js +16 -0
  138. package/dist/icons/fa/FaFlask.js +16 -0
  139. package/dist/icons/fa/FaFolder.js +16 -0
  140. package/dist/icons/fa/FaGithub.js +16 -0
  141. package/dist/icons/fa/FaGitlab.js +16 -0
  142. package/dist/icons/fa/FaGlobe.js +16 -0
  143. package/dist/icons/fa/FaGlobeAmericas.js +16 -0
  144. package/dist/icons/fa/FaImage.js +16 -0
  145. package/dist/icons/fa/FaInfoCircle.js +16 -0
  146. package/dist/icons/fa/FaKey.js +16 -0
  147. package/dist/icons/fa/FaLayerGroup.js +16 -0
  148. package/dist/icons/fa/FaLink.js +16 -0
  149. package/dist/icons/fa/FaLinkedin.js +16 -0
  150. package/dist/icons/fa/FaLinux.js +16 -0
  151. package/dist/icons/fa/FaList.js +16 -0
  152. package/dist/icons/fa/FaLock.js +16 -0
  153. package/dist/icons/fa/FaOpenid.js +16 -0
  154. package/dist/icons/fa/FaOpera.js +16 -0
  155. package/dist/icons/fa/FaPaperclip.js +16 -0
  156. package/dist/icons/fa/FaPlus.js +16 -0
  157. package/dist/icons/fa/FaPowerOff.js +16 -0
  158. package/dist/icons/fa/FaPrint.js +16 -0
  159. package/dist/icons/fa/FaQrcode.js +16 -0
  160. package/dist/icons/fa/FaQuestionCircle.js +16 -0
  161. package/dist/icons/fa/FaRedhat.js +16 -0
  162. package/dist/icons/fa/FaRegCircle.js +16 -0
  163. package/dist/icons/fa/FaRegFileImage.js +16 -0
  164. package/dist/icons/fa/FaRegFolder.js +16 -0
  165. package/dist/icons/fa/FaRobot.js +16 -0
  166. package/dist/icons/fa/FaRocket.js +16 -0
  167. package/dist/icons/fa/FaRunning.js +16 -0
  168. package/dist/icons/fa/FaSafari.js +16 -0
  169. package/dist/icons/fa/FaSave.js +16 -0
  170. package/dist/icons/fa/FaSearch.js +16 -0
  171. package/dist/icons/fa/FaShieldAlt.js +16 -0
  172. package/dist/icons/fa/FaSlack.js +16 -0
  173. package/dist/icons/fa/FaStar.js +16 -0
  174. package/dist/icons/fa/FaStop.js +16 -0
  175. package/dist/icons/fa/FaSuse.js +16 -0
  176. package/dist/icons/fa/FaTerminal.js +16 -0
  177. package/dist/icons/fa/FaTimes.js +16 -0
  178. package/dist/icons/fa/FaUbuntu.js +16 -0
  179. package/dist/icons/fa/FaUndoAlt.js +16 -0
  180. package/dist/icons/fa/FaUnlink.js +16 -0
  181. package/dist/icons/fa/FaUser.js +16 -0
  182. package/dist/icons/fa/FaUsers.js +16 -0
  183. package/dist/icons/fa/FaWindows.js +16 -0
  184. package/dist/icons/fa6/FaApple.js +16 -0
  185. package/dist/icons/fa6/FaArrowsRotate.js +16 -0
  186. package/dist/icons/fa6/FaDebian.js +16 -0
  187. package/dist/icons/fa6/FaFilterCircleXmark.js +16 -0
  188. package/dist/icons/fa6/FaInbox.js +16 -0
  189. package/dist/icons/fa6/FaLocationDot.js +16 -0
  190. package/dist/icons/fa6/FaRegFilePdf.js +16 -0
  191. package/dist/icons/fa6/FaRegFolderOpen.js +16 -0
  192. package/dist/icons/fa6/FaUpRightFromSquare.js +16 -0
  193. package/dist/icons/fa6/FaWandMagicSparkles.js +16 -0
  194. package/dist/icons/fa6/FaXTwitter.js +16 -0
  195. package/dist/icons/fi/FiActivity.js +23 -0
  196. package/dist/icons/fi/FiAlertCircle.js +49 -0
  197. package/dist/icons/fi/FiChevronDown.js +23 -0
  198. package/dist/icons/fi/FiClock.js +31 -0
  199. package/dist/icons/fi/FiCopy.js +34 -0
  200. package/dist/icons/fi/FiDownload.js +40 -0
  201. package/dist/icons/fi/FiFile.js +27 -0
  202. package/dist/icons/fi/FiFileText.js +55 -0
  203. package/dist/icons/fi/FiHardDrive.js +55 -0
  204. package/dist/icons/fi/FiRotateCcw.js +27 -0
  205. package/dist/icons/fi/FiUpload.js +40 -0
  206. package/dist/icons/fi/FiX.js +37 -0
  207. package/dist/icons/fi/FiZap.js +23 -0
  208. package/dist/icons/gi/GiSpy.js +16 -0
  209. package/dist/icons/go/GoGitCommit.js +16 -0
  210. package/dist/icons/go/GoGitPullRequest.js +20 -0
  211. package/dist/icons/go/GoIssueOpened.js +16 -0
  212. package/dist/icons/go/GoPlus.js +16 -0
  213. package/dist/icons/go/GoRepoForked.js +28 -0
  214. package/dist/icons/go/GoSignOut.js +16 -0
  215. package/dist/icons/go/GoSkip.js +20 -0
  216. package/dist/icons/go/GoVideo.js +20 -0
  217. package/dist/icons/gr/GrCloudComputer.js +20 -0
  218. package/dist/icons/gr/GrInbox.js +20 -0
  219. package/dist/icons/gr/GrServerCluster.js +20 -0
  220. package/dist/icons/gr/GrStorage.js +20 -0
  221. package/dist/icons/gr/GrTasks.js +20 -0
  222. package/dist/icons/hi/HiCog.js +24 -0
  223. package/dist/icons/hi/HiDuplicate.js +24 -0
  224. package/dist/icons/hi/HiOutlineArchive.js +26 -0
  225. package/dist/icons/hi/HiOutlineClipboardCopy.js +26 -0
  226. package/dist/icons/hi/HiOutlineHome.js +26 -0
  227. package/dist/icons/hi/HiQuestionMarkCircle.js +24 -0
  228. package/dist/icons/hi/HiServer.js +24 -0
  229. package/dist/icons/hi2/HiMiniCheckCircle.js +24 -0
  230. package/dist/icons/hi2/HiMiniLanguage.js +28 -0
  231. package/dist/icons/hi2/HiMiniMinusCircle.js +24 -0
  232. package/dist/icons/hi2/HiMiniXCircle.js +24 -0
  233. package/dist/icons/hi2/HiSparkles.js +24 -0
  234. package/dist/icons/im/ImSpinner5.js +19 -0
  235. package/dist/icons/io/IoIosNotifications.js +16 -0
  236. package/dist/icons/io/IoMdBuild.js +16 -0
  237. package/dist/icons/io/IoMdClose.js +16 -0
  238. package/dist/icons/io5/IoCloudUploadOutline.js +32 -0
  239. package/dist/icons/io5/IoDocumentTextOutline.js +31 -0
  240. package/dist/icons/io5/IoFileTrayFullOutline.js +31 -0
  241. package/dist/icons/io5/IoHeart.js +16 -0
  242. package/dist/icons/io5/IoHeartDislike.js +16 -0
  243. package/dist/icons/io5/IoHeartOutline.js +22 -0
  244. package/dist/icons/io5/IoInformationCircleOutline.js +50 -0
  245. package/dist/icons/io5/IoSettingsOutline.js +22 -0
  246. package/dist/icons/io5/IoWarningOutline.js +40 -0
  247. package/dist/icons/lu/LuArrowRight.js +27 -0
  248. package/dist/icons/lu/LuBadgeCheck.js +27 -0
  249. package/dist/icons/lu/LuBrainCircuit.js +101 -0
  250. package/dist/icons/lu/LuCalendar.js +46 -0
  251. package/dist/icons/lu/LuCheck.js +23 -0
  252. package/dist/icons/lu/LuChevronLeft.js +23 -0
  253. package/dist/icons/lu/LuChevronRight.js +23 -0
  254. package/dist/icons/lu/LuExternalLink.js +35 -0
  255. package/dist/icons/lu/LuEye.js +31 -0
  256. package/dist/icons/lu/LuEyeOff.js +40 -0
  257. package/dist/icons/lu/LuFolderTree.js +40 -0
  258. package/dist/icons/lu/LuIdCard.js +55 -0
  259. package/dist/icons/lu/LuLogs.js +65 -0
  260. package/dist/icons/lu/LuMail.js +33 -0
  261. package/dist/icons/lu/LuMegaphone.js +27 -0
  262. package/dist/icons/lu/LuMoon.js +23 -0
  263. package/dist/icons/lu/LuPartyPopper.js +65 -0
  264. package/dist/icons/lu/LuSettings2.js +48 -0
  265. package/dist/icons/lu/LuSheet.js +72 -0
  266. package/dist/icons/lu/LuShield.js +23 -0
  267. package/dist/icons/lu/LuSun.js +69 -0
  268. package/dist/icons/lu/LuX.js +27 -0
  269. package/dist/icons/lu/LuZoomIn.js +59 -0
  270. package/dist/icons/lu/LuZoomOut.js +49 -0
  271. package/dist/icons/md/MdClear.js +23 -0
  272. package/dist/icons/md/MdDragHandle.js +23 -0
  273. package/dist/icons/md/MdInstallDesktop.js +31 -0
  274. package/dist/icons/md/MdOutlineAttachMoney.js +23 -0
  275. package/dist/icons/md/MdOutlineMoneyOff.js +23 -0
  276. package/dist/icons/md/MdPieChart.js +23 -0
  277. package/dist/icons/md/MdRefresh.js +23 -0
  278. package/dist/icons/md/MdReplay.js +23 -0
  279. package/dist/icons/md/MdSmartphone.js +23 -0
  280. package/dist/icons/pi/PiArrowBendUpRightBold.js +19 -0
  281. package/dist/icons/pi/PiPlugsConnectedFill.js +19 -0
  282. package/dist/icons/pi/PiRectangleDashed.js +19 -0
  283. package/dist/icons/pi/PiShareBold.js +19 -0
  284. package/dist/icons/si/SiAnthropic.js +19 -0
  285. package/dist/icons/si/SiHelm.js +19 -0
  286. package/dist/icons/si/SiKubernetes.js +19 -0
  287. package/dist/icons/tb/TbAlertTriangle.js +35 -0
  288. package/dist/icons/tb/TbAlertTriangleFilled.js +19 -0
  289. package/dist/icons/tb/TbApi.js +40 -0
  290. package/dist/icons/tb/TbBrain.js +50 -0
  291. package/dist/icons/tb/TbBuildingTunnel.js +65 -0
  292. package/dist/icons/tb/TbEdit.js +35 -0
  293. package/dist/icons/tb/TbLayoutSidebar.js +27 -0
  294. package/dist/icons/tb/TbLayoutSidebarLeftCollapse.js +35 -0
  295. package/dist/icons/tb/TbLayoutSidebarRightCollapse.js +35 -0
  296. package/dist/icons/tb/TbUser.js +27 -0
  297. package/dist/icons/tb/TbUserOff.js +35 -0
  298. package/dist/icons/tb/TbWorldShare.js +55 -0
  299. package/dist/icons/tb/TbWorldWww.js +65 -0
  300. package/dist/icons/ti/TiArrowSortedDown.js +20 -0
  301. package/dist/icons/ti/TiArrowSortedUp.js +20 -0
  302. package/dist/icons/ti/TiArrowUnsorted.js +20 -0
  303. package/dist/icons/ti/TiCancel.js +20 -0
  304. package/dist/icons/vsc/VscChromeMinimize.js +19 -0
  305. package/dist/icons/vsc/VscJson.js +19 -0
  306. package/dist/icons/vsc/VscLayoutSidebarLeft.js +19 -0
  307. package/dist/icons/vsc/VscPass.js +27 -0
  308. package/dist/icons/vsc/VscSplitHorizontal.js +19 -0
  309. package/dist/icons/vsc/VscTerminalPowershell.js +19 -0
  310. package/dist/icons.d.ts +6 -21
  311. package/dist/icons.js +257 -38
  312. package/dist/list/ActionToolbar.js +2 -2
  313. package/dist/list/ListPager.js +4 -3
  314. package/dist/list/ListTable.js +2 -2
  315. package/dist/list/ListViewControls.js +13 -8
  316. package/dist/list/RowContextMenu.js +21 -12
  317. package/dist/list/listSearch.js +6 -5
  318. package/dist/logviewer/LogViewer.js +21 -11
  319. package/package.json +1 -1
@@ -1,4 +1,6 @@
1
- import { CheckIcon, ChevronRightIcon, LoaderIcon } from "../../../icons.js";
1
+ import { FaCheck } from "../../../icons/fa/FaCheck.js";
2
+ import { LuChevronRight } from "../../../icons/lu/LuChevronRight.js";
3
+ import { LoaderIcon } from "../../../components/StatusIcons.js";
2
4
  import { useCssIsDark } from "../../../components/useCssIsDark.js";
3
5
  import { LogViewer } from "../../../logviewer/LogViewer.js";
4
6
  import { agentColorHex, bashExitCode, fullToolArgs, isGroupableTool, rollupSentence, summarizeToolArgs, toolHeaderFor, toolSummary } from "../../agent/toolfmt.js";
@@ -204,7 +206,7 @@ function ToolCallBlock({ part }) {
204
206
  ]
205
207
  })]
206
208
  }),
207
- /* @__PURE__ */ jsx(ChevronRightIcon, { className: cx("w-3.5 h-3.5 mt-1 shrink-0 theme-muted-text transition-transform", expanded && "rotate-90") })
209
+ /* @__PURE__ */ jsx(LuChevronRight, { className: cx("w-3.5 h-3.5 mt-1 shrink-0 theme-muted-text transition-transform", expanded && "rotate-90") })
208
210
  ]
209
211
  }),
210
212
  !isDiff && /* @__PURE__ */ jsx("div", {
@@ -266,7 +268,7 @@ function SubagentCard({ part }) {
266
268
  ]
267
269
  })]
268
270
  }),
269
- canExpand && /* @__PURE__ */ jsx(ChevronRightIcon, { className: cx("w-3.5 h-3.5 mt-1 shrink-0 theme-muted-text transition-transform", expanded && "rotate-90") })
271
+ canExpand && /* @__PURE__ */ jsx(LuChevronRight, { className: cx("w-3.5 h-3.5 mt-1 shrink-0 theme-muted-text transition-transform", expanded && "rotate-90") })
270
272
  ]
271
273
  }), /* @__PURE__ */ jsx("div", {
272
274
  className: cx("ml-5 mt-0.5 text-[13px]", part.status === "failed" ? "text-red-600" : "theme-muted-text"),
@@ -427,7 +429,7 @@ function ApprovalBlock({ part, onApprovalAnswer }) {
427
429
  children: part.question
428
430
  }), /* @__PURE__ */ jsxs("div", {
429
431
  className: "flex items-center gap-2",
430
- children: [/* @__PURE__ */ jsx(CheckIcon, { className: "w-3.5 h-3.5" }), /* @__PURE__ */ jsxs("span", { children: [t.answered, part.answer ? `: ${part.answer}` : ""] })]
432
+ children: [/* @__PURE__ */ jsx(FaCheck, { className: "w-3.5 h-3.5" }), /* @__PURE__ */ jsxs("span", { children: [t.answered, part.answer ? `: ${part.answer}` : ""] })]
431
433
  })]
432
434
  });
433
435
  return /* @__PURE__ */ jsxs("div", {
@@ -499,7 +501,7 @@ function NoticeBlock({ part }) {
499
501
  children: [/* @__PURE__ */ jsx("span", {
500
502
  className: "min-w-0 flex-1 whitespace-pre-wrap",
501
503
  children: part.text
502
- }), /* @__PURE__ */ jsx(ChevronRightIcon, { className: cx("mt-0.5 h-3.5 w-3.5 shrink-0 transition-transform", expanded && "rotate-90") })]
504
+ }), /* @__PURE__ */ jsx(LuChevronRight, { className: cx("mt-0.5 h-3.5 w-3.5 shrink-0 transition-transform", expanded && "rotate-90") })]
503
505
  }), expanded && /* @__PURE__ */ jsx("div", {
504
506
  className: "ml-4 mt-1 border-l-2 theme-border pl-3 text-sm theme-muted-text",
505
507
  children: /* @__PURE__ */ jsx(Markdown, { children: part.detail })
@@ -548,7 +550,7 @@ function ReasoningBlock({ part, isStreaming }) {
548
550
  onClick: () => hasBody && setExpanded((v) => !v),
549
551
  "aria-expanded": expanded,
550
552
  className: cx("flex min-h-6 items-center gap-x-1 text-sm theme-muted-text transition-colors", hasBody && "hover:theme-text"),
551
- children: [/* @__PURE__ */ jsx("span", { children: label }), hasBody && /* @__PURE__ */ jsx(ChevronRightIcon, { className: cx("w-3.5 h-3.5 transition-transform", expanded && "rotate-90") })]
553
+ children: [/* @__PURE__ */ jsx("span", { children: label }), hasBody && /* @__PURE__ */ jsx(LuChevronRight, { className: cx("w-3.5 h-3.5 transition-transform", expanded && "rotate-90") })]
552
554
  }), expanded && /* @__PURE__ */ jsx("div", {
553
555
  className: "mt-1.5",
554
556
  children: body
@@ -684,7 +686,7 @@ function RollupGroup({ members, message }) {
684
686
  className: "font-mono text-[13px] theme-muted-text min-w-0 truncate",
685
687
  children: sentence
686
688
  }),
687
- /* @__PURE__ */ jsx(ChevronRightIcon, { className: cx("w-3.5 h-3.5 shrink-0 theme-muted-text transition-transform", expanded && "rotate-90") })
689
+ /* @__PURE__ */ jsx(LuChevronRight, { className: cx("w-3.5 h-3.5 shrink-0 theme-muted-text transition-transform", expanded && "rotate-90") })
688
690
  ]
689
691
  }), /* @__PURE__ */ jsx("div", {
690
692
  className: cx("ml-1.5 mt-0.5 rounded-md", expanded ? "bg-(--theme-muted-panel-bg)/40 px-2" : "hidden"),
@@ -1,4 +1,4 @@
1
- import { ChevronDownIcon } from "../../icons.js";
1
+ import { FaChevronDown } from "../../icons/fa/FaChevronDown.js";
2
2
  import { TOOLTIP_ID } from "../../components/Tooltip.js";
3
3
  import cx from "classnames";
4
4
  import { useCallback, useEffect, useRef, useState } from "react";
@@ -76,7 +76,7 @@ function Dropdown({ options, value, onChange, placeholder = "", disabled = false
76
76
  className: cx("truncate", !shown && "text-(--theme-muted-text-color,#6c757d)"),
77
77
  children: shown || placeholder
78
78
  }),
79
- /* @__PURE__ */ jsx(ChevronDownIcon, { className: "h-3 w-3 shrink-0 opacity-60" })
79
+ /* @__PURE__ */ jsx(FaChevronDown, { className: "h-3 w-3 shrink-0 opacity-60" })
80
80
  ]
81
81
  }), open && createPortal(/* @__PURE__ */ jsx("ul", {
82
82
  ref: listRef,
@@ -1,4 +1,6 @@
1
- import { AlertCircleIcon, CloseIcon, InfoCircleIcon } from "../../icons.js";
1
+ import { FiAlertCircle } from "../../icons/fi/FiAlertCircle.js";
2
+ import { IoMdClose } from "../../icons/io/IoMdClose.js";
3
+ import { IoInformationCircleOutline } from "../../icons/io5/IoInformationCircleOutline.js";
2
4
  import cx from "classnames";
3
5
  import { jsx, jsxs } from "react/jsx-runtime";
4
6
  //#region src/ai/ui/Notice.tsx
@@ -29,7 +31,7 @@ var cardTone = {
29
31
  /** A standing condition on the surface: a full-width bar under the header
30
32
  * with a title, an explanation, and the one thing the reader can do about it. */
31
33
  function NoticeBar({ tone, title, children, action, onAction, testId }) {
32
- const Icon = tone === "danger" || tone === "warning" ? AlertCircleIcon : InfoCircleIcon;
34
+ const Icon = tone === "danger" || tone === "warning" ? FiAlertCircle : IoInformationCircleOutline;
33
35
  return /* @__PURE__ */ jsxs("div", {
34
36
  "data-testid": testId,
35
37
  className: cx("flex shrink-0 items-start gap-3 border-b px-6 py-3", barTone[tone]),
@@ -69,7 +71,7 @@ function NoticeCard({ tone = "neutral", children, onDismiss, dismissLabel, testI
69
71
  "aria-label": dismissLabel,
70
72
  title: dismissLabel,
71
73
  className: "shrink-0 rounded p-0.5 hover:theme-hover",
72
- children: /* @__PURE__ */ jsx(CloseIcon, { className: "h-3 w-3" })
74
+ children: /* @__PURE__ */ jsx(IoMdClose, { className: "h-3 w-3" })
73
75
  })]
74
76
  });
75
77
  }
@@ -1,4 +1,4 @@
1
- import { SidebarIcon } from "../../icons.js";
1
+ import { TbLayoutSidebar } from "../../icons/tb/TbLayoutSidebar.js";
2
2
  import { ConfirmModal } from "../../components/ConfirmModal.js";
3
3
  import { focusOnMount } from "../../components/focus.js";
4
4
  import { MoreButton, rowContextMenuProps, useRowMenuActive } from "../../list/RowContextMenu.js";
@@ -31,7 +31,7 @@ function SidebarToggle({ collapsed, onToggle, openLabel, closeLabel, className }
31
31
  "aria-label": label,
32
32
  "aria-expanded": !collapsed,
33
33
  className: cx("flex h-7 w-7 items-center justify-center rounded-md theme-muted-text transition-colors hover:theme-muted-panel hover:theme-text", className),
34
- children: /* @__PURE__ */ jsx(SidebarIcon, { className: "h-4 w-4" })
34
+ children: /* @__PURE__ */ jsx(TbLayoutSidebar, { className: "h-4 w-4" })
35
35
  });
36
36
  }
37
37
  function SidebarGroupHeading({ children, tone = "default", testId }) {
@@ -1,5 +1,6 @@
1
1
  import { useLink } from "./Provider.js";
2
- import { AngleRightIcon, LoaderIcon } from "../icons.js";
2
+ import { FaAngleRight } from "../icons/fa/FaAngleRight.js";
3
+ import { LoaderIcon } from "./StatusIcons.js";
3
4
  import cx from "classnames";
4
5
  import { forwardRef } from "react";
5
6
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
@@ -57,7 +58,7 @@ function MethodButton({ icon, label, description, href, loading, disabled, class
57
58
  children: description
58
59
  })]
59
60
  }),
60
- loading ? /* @__PURE__ */ jsx(LoaderIcon, { className: "size-5 text-[var(--theme-muted-text-color)] shrink-0 ml-2" }) : /* @__PURE__ */ jsx(AngleRightIcon, { className: "size-5 text-[var(--theme-muted-text-color)] shrink-0 ml-2 transition-all duration-200 group-hover:translate-x-[3px] group-hover:text-[var(--theme-app)]" })
61
+ loading ? /* @__PURE__ */ jsx(LoaderIcon, { className: "size-5 text-[var(--theme-muted-text-color)] shrink-0 ml-2" }) : /* @__PURE__ */ jsx(FaAngleRight, { className: "size-5 text-[var(--theme-muted-text-color)] shrink-0 ml-2 transition-all duration-200 group-hover:translate-x-[3px] group-hover:text-[var(--theme-app)]" })
61
62
  ] });
62
63
  if (href) {
63
64
  if (href.startsWith("/api/") || href.startsWith("http")) return /* @__PURE__ */ jsx("a", {
@@ -1,10 +1,11 @@
1
- import { AlertIcon, InfoIcon } from "../icons.js";
1
+ import { FaInfoCircle } from "../icons/fa/FaInfoCircle.js";
2
+ import { TbAlertTriangle } from "../icons/tb/TbAlertTriangle.js";
2
3
  import cx from "classnames";
3
4
  import { jsx, jsxs } from "react/jsx-runtime";
4
5
  //#region src/components/Callout.tsx
5
6
  function CalloutIcon({ type }) {
6
- if (type === "warning" || type === "error") return /* @__PURE__ */ jsx(AlertIcon, { className: "h-6 w-6 mr-4 text-lg" });
7
- else return /* @__PURE__ */ jsx(InfoIcon, { className: "h-6 w-6 mr-4 text-lg" });
7
+ if (type === "warning" || type === "error") return /* @__PURE__ */ jsx(TbAlertTriangle, { className: "h-6 w-6 mr-4 text-lg" });
8
+ else return /* @__PURE__ */ jsx(FaInfoCircle, { className: "h-6 w-6 mr-4 text-lg" });
8
9
  }
9
10
  function Callout({ type, className = "", children }) {
10
11
  return /* @__PURE__ */ jsx("div", {
@@ -1,4 +1,4 @@
1
- import { AngleRightIcon } from "../icons.js";
1
+ import { FaAngleRight } from "../icons/fa/FaAngleRight.js";
2
2
  import cx from "classnames";
3
3
  import React, { useCallback } from "react";
4
4
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
@@ -26,7 +26,7 @@ function ControlledCollapsiblePanel({ title = "", children, open, setOpen, onCli
26
26
  "aria-controls": contentId,
27
27
  className: cx("flex items-center text-left cursor-pointer", !titleAction && "w-full"),
28
28
  onClick: toggleOpen,
29
- children: [/* @__PURE__ */ jsx(AngleRightIcon, { className: cx(open && "transform rotate-90", "px-1 ml-1 text-[1.25rem] transition ease-in") }), /* @__PURE__ */ jsx("span", {
29
+ children: [/* @__PURE__ */ jsx(FaAngleRight, { className: cx(open && "transform rotate-90", "px-1 ml-1 text-[1.25rem] transition ease-in") }), /* @__PURE__ */ jsx("span", {
30
30
  className: "px-2 font-bold select-none",
31
31
  children: title?.toString()
32
32
  })]
@@ -1,5 +1,9 @@
1
1
  import { useNotify, useStrings } from "./Provider.js";
2
- import { CheckIcon, ClipboardIcon, CopyIcon, HiddenFalseIcon, HiddenTrueIcon } from "../icons.js";
2
+ import { FaCheck } from "../icons/fa/FaCheck.js";
3
+ import { FaEye } from "../icons/fa/FaEye.js";
4
+ import { FaEyeSlash } from "../icons/fa/FaEyeSlash.js";
5
+ import { FiCopy } from "../icons/fi/FiCopy.js";
6
+ import { HiOutlineClipboardCopy } from "../icons/hi/HiOutlineClipboardCopy.js";
3
7
  import { useState } from "react";
4
8
  import { jsx, jsxs } from "react/jsx-runtime";
5
9
  //#region src/components/CopyToClipboard.tsx
@@ -28,7 +32,7 @@ function CopyToClipboard({ as = "div", text, className, children, showIcon = tru
28
32
  }
29
33
  }
30
34
  },
31
- children: [showIcon && /* @__PURE__ */ jsx(ClipboardIcon, {}), children]
35
+ children: [showIcon && /* @__PURE__ */ jsx(HiOutlineClipboardCopy, {}), children]
32
36
  });
33
37
  }
34
38
  function CopyCodeBlock({ textToCopy, children, secret = false, isRevealed = false, onRevealToggle }) {
@@ -63,7 +67,7 @@ function CopyCodeBlock({ textToCopy, children, secret = false, isRevealed = fals
63
67
  className: "p-2 rounded-md opacity-0 group-hover:opacity-100 transition-all duration-150",
64
68
  "aria-label": isRevealed ? "Hide secret" : "Reveal secret",
65
69
  title: isRevealed ? "Hide secret" : "Reveal secret",
66
- children: isRevealed ? /* @__PURE__ */ jsx(HiddenFalseIcon, {}) : /* @__PURE__ */ jsx(HiddenTrueIcon, {})
70
+ children: isRevealed ? /* @__PURE__ */ jsx(FaEye, {}) : /* @__PURE__ */ jsx(FaEyeSlash, {})
67
71
  }), /* @__PURE__ */ jsx("button", {
68
72
  type: "button",
69
73
  onClick: (e) => {
@@ -72,7 +76,7 @@ function CopyCodeBlock({ textToCopy, children, secret = false, isRevealed = fals
72
76
  },
73
77
  className: "p-2 rounded-md opacity-0 group-hover:opacity-100 transition-all duration-150",
74
78
  "aria-label": copied ? "Copied" : "Copy to clipboard",
75
- children: copied ? /* @__PURE__ */ jsx(CheckIcon, { className: "text-green-400" }) : /* @__PURE__ */ jsx(CopyIcon, {})
79
+ children: copied ? /* @__PURE__ */ jsx(FaCheck, { className: "text-green-400" }) : /* @__PURE__ */ jsx(FiCopy, {})
76
80
  })]
77
81
  })]
78
82
  });
@@ -1,5 +1,9 @@
1
1
  import { useStrings } from "./Provider.js";
2
- import { ChevronDownIcon, ChevronRightIcon, FavoriteIcon, FavoriteOutlineIcon, TooltipIcon } from "../icons.js";
2
+ import { FaChevronDown } from "../icons/fa/FaChevronDown.js";
3
+ import { HiQuestionMarkCircle } from "../icons/hi/HiQuestionMarkCircle.js";
4
+ import { IoHeart } from "../icons/io5/IoHeart.js";
5
+ import { IoHeartOutline } from "../icons/io5/IoHeartOutline.js";
6
+ import { LuChevronRight } from "../icons/lu/LuChevronRight.js";
3
7
  import { TOOLTIP_ID } from "./Tooltip.js";
4
8
  import { AddMenu } from "./AddMenu.js";
5
9
  import { BareModal, modalPanelClasses } from "./BareModal.js";
@@ -17,7 +21,7 @@ function FieldHelp({ tooltip }) {
17
21
  "data-tooltip-id": TOOLTIP_ID,
18
22
  "data-tooltip-content": tooltip,
19
23
  className: "inline-flex cursor-help text-(--theme-muted-text-color)",
20
- children: /* @__PURE__ */ jsx(TooltipIcon, { className: "w-3 h-3" })
24
+ children: /* @__PURE__ */ jsx(HiQuestionMarkCircle, { className: "w-3 h-3" })
21
25
  });
22
26
  }
23
27
  /** Anchors the tooltip on a non-focusable span so it opens on hover but not when focus returns to the button after its menu/toggle closes (which would leave it stuck). */
@@ -118,7 +122,7 @@ function CreateModal({ open, onClose, typeIcon, typeLabel, typeMenu, namePlaceho
118
122
  children: [
119
123
  typeIcon,
120
124
  typeLabel,
121
- /* @__PURE__ */ jsx(ChevronDownIcon, { className: "w-3 h-3 opacity-60" })
125
+ /* @__PURE__ */ jsx(FaChevronDown, { className: "w-3 h-3 opacity-60" })
122
126
  ]
123
127
  }) : /* @__PURE__ */ jsxs("div", {
124
128
  className: "inline-flex items-center gap-1.5 px-1.5 py-1 rounded-md bg-(--theme-muted-panel-bg) text-xs font-medium text-(--theme-muted-text-color)",
@@ -183,7 +187,7 @@ function CreateModal({ open, onClose, typeIcon, typeLabel, typeMenu, namePlaceho
183
187
  type: "button",
184
188
  onClick: () => setAdvancedOpen((o) => !o),
185
189
  className: "inline-flex items-center gap-1 text-xs font-medium text-(--theme-muted-text-color) hover:text-(--theme-app) transition-colors",
186
- children: [/* @__PURE__ */ jsx(ChevronRightIcon, { className: cx("w-3 h-3 transition-transform", advancedOpen && "rotate-90") }), t.advanced]
190
+ children: [/* @__PURE__ */ jsx(LuChevronRight, { className: cx("w-3 h-3 transition-transform", advancedOpen && "rotate-90") }), t.advanced]
187
191
  }), advancedOpen && /* @__PURE__ */ jsx("div", {
188
192
  className: "mt-2",
189
193
  children: advanced
@@ -202,7 +206,7 @@ function CreateModal({ open, onClose, typeIcon, typeLabel, typeMenu, namePlaceho
202
206
  children: /* @__PURE__ */ jsxs(PillTooltip, {
203
207
  content: favorite ? t.favoriteHintOn : t.favoriteHintOff,
204
208
  className: "px-2.5",
205
- children: [favorite ? /* @__PURE__ */ jsx(FavoriteIcon, { className: "w-4 h-4 scale-110 transition-transform" }) : /* @__PURE__ */ jsx(FavoriteOutlineIcon, { className: "w-4 h-4 transition-transform" }), favorite ? t.favorited : t.favorite]
209
+ children: [favorite ? /* @__PURE__ */ jsx(IoHeart, { className: "w-4 h-4 scale-110 transition-transform" }) : /* @__PURE__ */ jsx(IoHeartOutline, { className: "w-4 h-4 transition-transform" }), favorite ? t.favorited : t.favorite]
206
210
  })
207
211
  }) : /* @__PURE__ */ jsx("span", {}), /* @__PURE__ */ jsxs("div", {
208
212
  className: "flex items-center gap-2",
@@ -318,7 +322,7 @@ function collapseToggleRow(group, count, collapse) {
318
322
  onMouseDown: (e) => e.preventDefault(),
319
323
  onClick: () => collapse.onToggle(group),
320
324
  className: "flex w-full items-center gap-1.5 px-3 py-1.5 text-[13px] text-(--theme-muted-text-color) hover:text-(--theme-app) cursor-pointer",
321
- children: [/* @__PURE__ */ jsx(expanded ? ChevronDownIcon : ChevronRightIcon, { className: "w-3 h-3" }), collapse.label(count)]
325
+ children: [/* @__PURE__ */ jsx(expanded ? FaChevronDown : LuChevronRight, { className: "w-3 h-3" }), collapse.label(count)]
322
326
  }, `toggle-${group}`);
323
327
  }
324
328
  function collapsibleCountsByGroup(options) {
@@ -445,7 +449,7 @@ function CreateModalSelect({ label, icon, value, options, onChange, disabled = f
445
449
  className: "font-normal text-(--theme-muted-text-color)",
446
450
  children: label
447
451
  }), selectedLabel] }) : label,
448
- /* @__PURE__ */ jsx(ChevronDownIcon, { className: "w-3 h-3 opacity-60" })
452
+ /* @__PURE__ */ jsx(FaChevronDown, { className: "w-3 h-3 opacity-60" })
449
453
  ] });
450
454
  if (disabled) return /* @__PURE__ */ jsx("button", {
451
455
  type: "button",
@@ -1,5 +1,5 @@
1
1
  import { useStrings } from "./Provider.js";
2
- import { CaretDownIcon } from "../icons.js";
2
+ import { FaCaretDown } from "../icons/fa/FaCaretDown.js";
3
3
  import { truncationTooltipProps } from "./Tooltip.js";
4
4
  import { DropdownCaret, flattenDisplayOptions, isCategory, toggleSetMember } from "./dropdownUtils.js";
5
5
  import { Combobox, ComboboxButton, ComboboxInput, ComboboxOption, ComboboxOptions } from "@headlessui/react";
@@ -125,7 +125,7 @@ function ToggleOption({ option, category, expanded, onToggle, ...virtualRowProps
125
125
  e.stopPropagation();
126
126
  onToggle(category);
127
127
  },
128
- children: [/* @__PURE__ */ jsx(CaretDownIcon, { className: cx("w-3 h-3", !expanded && "-rotate-90") }), option.label]
128
+ children: [/* @__PURE__ */ jsx(FaCaretDown, { className: cx("w-3 h-3", !expanded && "-rotate-90") }), option.label]
129
129
  })
130
130
  });
131
131
  }
@@ -1,4 +1,4 @@
1
- import { FilterIcon } from "../icons.js";
1
+ import { FaFilter } from "../icons/fa/FaFilter.js";
2
2
  import cx from "classnames";
3
3
  import { jsx, jsxs } from "react/jsx-runtime";
4
4
  //#region src/components/Filter.tsx
@@ -15,7 +15,7 @@ function Filter({ filter, setFilter, placeholder = "Filter...", pills, activePil
15
15
  className: "shadow-sm focus:ring-1 block w-full pr-3 sm:text-sm theme-border rounded-md py-1.5 pl-8"
16
16
  }), /* @__PURE__ */ jsx("div", {
17
17
  className: "absolute inset-y-0 left-0 flex py-2.5 pl-2",
18
- children: /* @__PURE__ */ jsx(FilterIcon, {})
18
+ children: /* @__PURE__ */ jsx(FaFilter, {})
19
19
  })]
20
20
  }), pills && onPillChange && /* @__PURE__ */ jsx("div", {
21
21
  className: "flex gap-1",
@@ -1,35 +1,40 @@
1
- import { CancelIcon, FailIcon, NotRunningIcon, RunningIcon, SkipIcon, SuccessIcon } from "../icons.js";
1
+ import { FaRegCircle } from "../icons/fa/FaRegCircle.js";
2
+ import { HiMiniCheckCircle } from "../icons/hi2/HiMiniCheckCircle.js";
3
+ import { HiMiniMinusCircle } from "../icons/hi2/HiMiniMinusCircle.js";
4
+ import { HiMiniXCircle } from "../icons/hi2/HiMiniXCircle.js";
5
+ import { ImSpinner5 } from "../icons/im/ImSpinner5.js";
6
+ import { TiCancel } from "../icons/ti/TiCancel.js";
2
7
  import { jsx } from "react/jsx-runtime";
3
8
  //#region src/components/Indicator.tsx
4
9
  function Indicator({ status }) {
5
10
  return /* @__PURE__ */ jsx("div", {
6
11
  className: "h-2 flex items-center text-(--theme-panel-bg)",
7
- children: status === "started" || status === "running" ? /* @__PURE__ */ jsx(RunningIcon, {
12
+ children: status === "started" || status === "running" ? /* @__PURE__ */ jsx(ImSpinner5, {
8
13
  className: "rounded-full text-[#FFCF00] animate-spin",
9
14
  "data-testid": "running-indicator"
10
- }) : status === "completed" ? /* @__PURE__ */ jsx(SuccessIcon, {
15
+ }) : status === "completed" ? /* @__PURE__ */ jsx(HiMiniCheckCircle, {
11
16
  className: "text-[#6FBF5A]",
12
17
  style: { transform: "scale(1.25)" },
13
18
  "data-testid": "completed-indicator"
14
- }) : status === "failed" || status === "error" ? /* @__PURE__ */ jsx(FailIcon, {
19
+ }) : status === "failed" || status === "error" ? /* @__PURE__ */ jsx(HiMiniXCircle, {
15
20
  className: "text-red-500",
16
21
  style: { transform: "scale(1.25)" },
17
22
  "data-testid": "failed-indicator"
18
- }) : status === "skipped" || status === "skipped-failed" ? /* @__PURE__ */ jsx(SkipIcon, {
23
+ }) : status === "skipped" || status === "skipped-failed" ? /* @__PURE__ */ jsx(HiMiniMinusCircle, {
19
24
  className: "text-gray-400",
20
25
  style: { transform: "scale(1.25)" },
21
26
  "data-testid": "skipped-indicator"
22
- }) : status === "canceled" ? /* @__PURE__ */ jsx(CancelIcon, {
27
+ }) : status === "canceled" ? /* @__PURE__ */ jsx(TiCancel, {
23
28
  className: "text-[#3B82F6]",
24
29
  style: { transform: "scale(1.5)" },
25
30
  "data-testid": "canceled-indicator"
26
- }) : status === "faulted" ? /* @__PURE__ */ jsx(RunningIcon, {
31
+ }) : status === "faulted" ? /* @__PURE__ */ jsx(ImSpinner5, {
27
32
  className: "rounded-full text-[#EF4444] animate-spin",
28
33
  "data-testid": "faulted-indicator"
29
- }) : status === "canceling" ? /* @__PURE__ */ jsx(RunningIcon, {
34
+ }) : status === "canceling" ? /* @__PURE__ */ jsx(ImSpinner5, {
30
35
  className: "rounded-full text-[#3B82F6] animate-spin",
31
36
  "data-testid": "canceling-indicator"
32
- }) : /* @__PURE__ */ jsx(NotRunningIcon, {
37
+ }) : /* @__PURE__ */ jsx(FaRegCircle, {
33
38
  className: "rounded-full text-[#AAAAAA]",
34
39
  "data-testid": "not-running-indicator"
35
40
  })
@@ -1,4 +1,6 @@
1
- import { AlertIcon, EyeIcon, EyeOffIcon } from "../icons.js";
1
+ import { LuEye } from "../icons/lu/LuEye.js";
2
+ import { LuEyeOff } from "../icons/lu/LuEyeOff.js";
3
+ import { TbAlertTriangle } from "../icons/tb/TbAlertTriangle.js";
2
4
  import { RequiredMark } from "./RequiredMark.js";
3
5
  import cx from "classnames";
4
6
  import { forwardRef, useId, useState } from "react";
@@ -38,14 +40,14 @@ var Input = forwardRef(({ label, error, className = "", mono, type, required, ..
38
40
  onClick: () => setShowPassword(!showPassword),
39
41
  tabIndex: -1,
40
42
  "aria-label": showPassword ? "Hide password" : "Show password",
41
- children: showPassword ? /* @__PURE__ */ jsx(EyeOffIcon, { className: "w-5 h-5" }) : /* @__PURE__ */ jsx(EyeIcon, { className: "w-5 h-5" })
43
+ children: showPassword ? /* @__PURE__ */ jsx(LuEyeOff, { className: "w-5 h-5" }) : /* @__PURE__ */ jsx(LuEye, { className: "w-5 h-5" })
42
44
  })]
43
45
  }),
44
46
  error && /* @__PURE__ */ jsxs("span", {
45
47
  id: errorId,
46
48
  role: "alert",
47
49
  className: "text-[0.8125rem] text-[#ef4444] flex items-center gap-1.5",
48
- children: [/* @__PURE__ */ jsx(AlertIcon, { className: "w-4 h-4" }), error]
50
+ children: [/* @__PURE__ */ jsx(TbAlertTriangle, { className: "w-4 h-4" }), error]
49
51
  })
50
52
  ]
51
53
  });
@@ -78,7 +80,7 @@ var Textarea = forwardRef(({ label, error, className = "", mono, required, ...pr
78
80
  id: errorId,
79
81
  role: "alert",
80
82
  className: "text-[0.8125rem] text-[#ef4444] flex items-center gap-1.5",
81
- children: [/* @__PURE__ */ jsx(AlertIcon, { className: "w-4 h-4" }), error]
83
+ children: [/* @__PURE__ */ jsx(TbAlertTriangle, { className: "w-4 h-4" }), error]
82
84
  })
83
85
  ]
84
86
  });
@@ -1,5 +1,5 @@
1
1
  import { useStrings } from "./Provider.js";
2
- import { AngleDownIcon } from "../icons.js";
2
+ import { FaAngleDown } from "../icons/fa/FaAngleDown.js";
3
3
  import { keyedByContent } from "./keys.js";
4
4
  import { focusOnMount } from "./focus.js";
5
5
  import { Listbox, ListboxButton, ListboxOption, ListboxOptions, Transition } from "@headlessui/react";
@@ -102,7 +102,7 @@ function CustomListbox({ options = [], handleOptionSelected, type, allowSearch =
102
102
  children: strings.select(type)
103
103
  }), /* @__PURE__ */ jsx("span", {
104
104
  className: "pointer-events-none absolute inset-y-0 right-0 flex items-center justify-items-center",
105
- children: /* @__PURE__ */ jsx(AngleDownIcon, {
105
+ children: /* @__PURE__ */ jsx(FaAngleDown, {
106
106
  className: "h-5 w-8",
107
107
  "aria-hidden": "true"
108
108
  })
@@ -1,4 +1,4 @@
1
- import { LoaderIcon } from "../icons.js";
1
+ import { LoaderIcon } from "./StatusIcons.js";
2
2
  import cx from "classnames";
3
3
  import { jsx, jsxs } from "react/jsx-runtime";
4
4
  //#region src/components/Loader.tsx
@@ -1,5 +1,8 @@
1
1
  import { useLink, useSlots, useStrings } from "./Provider.js";
2
- import { AddIcon, ChevronRightIcon, EditIcon, MoreIcon } from "../icons.js";
2
+ import { BsThreeDots } from "../icons/bs/BsThreeDots.js";
3
+ import { FaEdit } from "../icons/fa/FaEdit.js";
4
+ import { FaPlus } from "../icons/fa/FaPlus.js";
5
+ import { LuChevronRight } from "../icons/lu/LuChevronRight.js";
3
6
  import { keyedByContent } from "./keys.js";
4
7
  import { TOOLTIP_ID } from "./Tooltip.js";
5
8
  import { AddMenu } from "./AddMenu.js";
@@ -18,7 +21,7 @@ var headerAddButtonClasses = "inline-flex h-[26px] shrink-0 items-center gap-1.5
18
21
  function HeaderAddButton({ to, onClick, label, word = "add", menu, disabled = false, disabledHint }) {
19
22
  const { common } = useStrings();
20
23
  const Link = useLink();
21
- const content = /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(AddIcon, { className: "w-3 h-3" }), /* @__PURE__ */ jsx("span", { children: word === "create" ? common.create : common.add })] });
24
+ const content = /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(FaPlus, { className: "w-3 h-3" }), /* @__PURE__ */ jsx("span", { children: word === "create" ? common.create : common.add })] });
22
25
  if (menu) return /* @__PURE__ */ jsx(AddMenu, {
23
26
  items: menu,
24
27
  label,
@@ -52,7 +55,7 @@ function HeaderActionMenu({ items, label = "Actions" }) {
52
55
  items,
53
56
  label,
54
57
  buttonClassName: headerActionButtonClasses,
55
- children: /* @__PURE__ */ jsx(MoreIcon, { className: "w-3.5 h-3.5" })
58
+ children: /* @__PURE__ */ jsx(BsThreeDots, { className: "w-3.5 h-3.5" })
56
59
  });
57
60
  }
58
61
  /** The header "…" trigger for a RowMenuItem menu — same rendering (submenus,
@@ -69,7 +72,7 @@ function HeaderRowMenu({ items, label = "Actions" }) {
69
72
  const r = e.currentTarget.getBoundingClientRect();
70
73
  openMenu(r.left, r.bottom + 4, items);
71
74
  },
72
- children: /* @__PURE__ */ jsx(MoreIcon, { className: "w-3.5 h-3.5" })
75
+ children: /* @__PURE__ */ jsx(BsThreeDots, { className: "w-3.5 h-3.5" })
73
76
  }), contextMenu] });
74
77
  }
75
78
  function HeaderEditButton({ to, onClick, label = "Edit", disabled, tooltip }) {
@@ -84,7 +87,7 @@ function HeaderEditButton({ to, onClick, label = "Edit", disabled, tooltip }) {
84
87
  ...tooltip ? {} : { title: label },
85
88
  className: headerActionButtonClasses,
86
89
  ...tooltipProps,
87
- children: /* @__PURE__ */ jsx(EditIcon, { className: "w-3 h-3" })
90
+ children: /* @__PURE__ */ jsx(FaEdit, { className: "w-3 h-3" })
88
91
  });
89
92
  return /* @__PURE__ */ jsx("button", {
90
93
  type: "button",
@@ -94,7 +97,7 @@ function HeaderEditButton({ to, onClick, label = "Edit", disabled, tooltip }) {
94
97
  title: tooltip ? void 0 : label,
95
98
  className: cx(headerActionButtonClasses, disabled && "opacity-50 cursor-not-allowed hover:bg-transparent"),
96
99
  ...tooltipProps,
97
- children: /* @__PURE__ */ jsx(EditIcon, { className: "w-3 h-3" })
100
+ children: /* @__PURE__ */ jsx(FaEdit, { className: "w-3 h-3" })
98
101
  });
99
102
  }
100
103
  /** Renders nothing when the modern breadcrumb strip isn't mounted (classic chrome or self-headered pages). */
@@ -162,7 +165,7 @@ function PageHeader({ breadcrumbs, title, titleAction, actions, toolbar, classNa
162
165
  }) : /* @__PURE__ */ jsx("span", {
163
166
  className: "text-(--theme-muted-text-color) whitespace-nowrap",
164
167
  children: crumb.label
165
- }), /* @__PURE__ */ jsx(ChevronRightIcon, { className: "w-3 h-3 opacity-60 shrink-0 text-(--theme-muted-text-color)" })] }, key);
168
+ }), /* @__PURE__ */ jsx(LuChevronRight, { className: "w-3 h-3 opacity-60 shrink-0 text-(--theme-muted-text-color)" })] }, key);
166
169
  })
167
170
  }),
168
171
  titleAction,
@@ -1,13 +1,15 @@
1
1
  import { useStrings } from "./Provider.js";
2
- import { SortDownIcon, SortUnsortedIcon, SortUpIcon } from "../icons.js";
2
+ import { TiArrowSortedDown } from "../icons/ti/TiArrowSortedDown.js";
3
+ import { TiArrowSortedUp } from "../icons/ti/TiArrowSortedUp.js";
4
+ import { TiArrowUnsorted } from "../icons/ti/TiArrowUnsorted.js";
3
5
  import { jsx } from "react/jsx-runtime";
4
6
  //#region src/components/Sort.tsx
5
7
  var SortIcon = ({ currentlySorted, currentDirection, name }) => {
6
8
  const style = { transform: "translateY(2px)" };
7
9
  if (currentlySorted === name) {
8
- if (currentDirection === "ascending") return /* @__PURE__ */ jsx(SortDownIcon, { style });
9
- else if (currentDirection === "descending") return /* @__PURE__ */ jsx(SortUpIcon, { style });
10
- } else return /* @__PURE__ */ jsx(SortUnsortedIcon, { style });
10
+ if (currentDirection === "ascending") return /* @__PURE__ */ jsx(TiArrowSortedDown, { style });
11
+ else if (currentDirection === "descending") return /* @__PURE__ */ jsx(TiArrowSortedUp, { style });
12
+ } else return /* @__PURE__ */ jsx(TiArrowUnsorted, { style });
11
13
  return null;
12
14
  };
13
15
  function Sort({ currentlySorted, name, setCurrentDirection, setCurrentlySorted, currentDirection }) {
@@ -0,0 +1,11 @@
1
+ import type { IconBaseProps } from 'react-icons';
2
+ interface IBaseCheckmarkProps {
3
+ className?: string;
4
+ colored?: boolean;
5
+ }
6
+ export declare function SuccessCheckmark({ className, colored }: IBaseCheckmarkProps): import("react").JSX.Element;
7
+ export declare function ErrorCheckmark({ className, colored }: IBaseCheckmarkProps): import("react").JSX.Element;
8
+ export declare function LoaderIcon({ className, ...props }: IconBaseProps & {
9
+ className?: string;
10
+ }): import("react").JSX.Element;
11
+ export {};
@@ -0,0 +1,20 @@
1
+ import { BiError } from "../icons/bi/BiError.js";
2
+ import { HiMiniCheckCircle } from "../icons/hi2/HiMiniCheckCircle.js";
3
+ import { FaCircleNotch } from "../icons/fa/FaCircleNotch.js";
4
+ import cx from "classnames";
5
+ import { jsx } from "react/jsx-runtime";
6
+ //#region src/components/StatusIcons.tsx
7
+ function SuccessCheckmark({ className, colored = true }) {
8
+ return /* @__PURE__ */ jsx(HiMiniCheckCircle, { className: cx(colored && "text-green-500", className) });
9
+ }
10
+ function ErrorCheckmark({ className, colored = true }) {
11
+ return /* @__PURE__ */ jsx(BiError, { className: cx(colored && "text-red-400", className) });
12
+ }
13
+ function LoaderIcon({ className, ...props }) {
14
+ return /* @__PURE__ */ jsx(FaCircleNotch, {
15
+ className: cx("animate-spin", className),
16
+ ...props
17
+ });
18
+ }
19
+ //#endregion
20
+ export { ErrorCheckmark, LoaderIcon, SuccessCheckmark };
@@ -1,4 +1,4 @@
1
- import { TooltipIcon } from "../icons.js";
1
+ import { HiQuestionMarkCircle } from "../icons/hi/HiQuestionMarkCircle.js";
2
2
  import { keyedByContent } from "./keys.js";
3
3
  import { Fragment } from "react";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -84,14 +84,14 @@ function TooltipInfo({ text, className = "", children, place = "top", tabIndex }
84
84
  if (children || !text) return /* @__PURE__ */ jsx("div", {
85
85
  ...anchorProps,
86
86
  tabIndex,
87
- children: children || /* @__PURE__ */ jsx(TooltipIcon, { className: "tooltip" })
87
+ children: children || /* @__PURE__ */ jsx(HiQuestionMarkCircle, { className: "tooltip" })
88
88
  });
89
89
  return /* @__PURE__ */ jsx("div", {
90
90
  ...anchorProps,
91
91
  role: "img",
92
92
  "aria-label": text,
93
93
  tabIndex: tabIndex ?? 0,
94
- children: /* @__PURE__ */ jsx(TooltipIcon, { className: "tooltip" })
94
+ children: /* @__PURE__ */ jsx(HiQuestionMarkCircle, { className: "tooltip" })
95
95
  });
96
96
  }
97
97
  //#endregion
@@ -1,4 +1,4 @@
1
- import { CaretDownIcon } from "../icons.js";
1
+ import { FaCaretDown } from "../icons/fa/FaCaretDown.js";
2
2
  import { jsx } from "react/jsx-runtime";
3
3
  //#region src/components/dropdownUtils.tsx
4
4
  function isCategory(option) {
@@ -93,7 +93,7 @@ function flattenDisplayOptions({ options, query, expandedCategories, collapsedLa
93
93
  return flatOptions;
94
94
  }
95
95
  function DropdownCaret() {
96
- return /* @__PURE__ */ jsx(CaretDownIcon, { className: "text-neutral-400 absolute top-1/2 -translate-y-1/2 right-0 mr-3 inset-y-0 flex items-center rounded-r-md focus:outline-hidden" });
96
+ return /* @__PURE__ */ jsx(FaCaretDown, { className: "text-neutral-400 absolute top-1/2 -translate-y-1/2 right-0 mr-3 inset-y-0 flex items-center rounded-r-md focus:outline-hidden" });
97
97
  }
98
98
  //#endregion
99
99
  export { DropdownCaret, filterOption, flattenDisplayOptions, flattenOptions, isCategory, isOption, toggleSetMember };
@@ -1,5 +1,8 @@
1
1
  import { useNotify, useStrings, useWorkflowEngine } from "../components/Provider.js";
2
- import { CheckIcon, CopyIcon, EyeIcon, EyeOffIcon } from "../icons.js";
2
+ import { FaCheck } from "../icons/fa/FaCheck.js";
3
+ import { FiCopy } from "../icons/fi/FiCopy.js";
4
+ import { LuEye } from "../icons/lu/LuEye.js";
5
+ import { LuEyeOff } from "../icons/lu/LuEyeOff.js";
3
6
  import SwitchToggleSmall from "../components/SwitchToggleSmall.js";
4
7
  import Editor from "./Editor.js";
5
8
  import { flattenGroups, impureSetValueFromPath } from "../form/lib.js";
@@ -114,14 +117,14 @@ function FormCodePanel({ formJSON, data, mutate, height = "600px", disabled = fa
114
117
  onClick: () => setShowHidden((prev) => !prev)
115
118
  }), /* @__PURE__ */ jsxs("span", {
116
119
  className: "flex items-center gap-1.5",
117
- children: [showHidden ? /* @__PURE__ */ jsx(EyeIcon, {}) : /* @__PURE__ */ jsx(EyeOffIcon, {}), t.showHiddenFields]
120
+ children: [showHidden ? /* @__PURE__ */ jsx(LuEye, {}) : /* @__PURE__ */ jsx(LuEyeOff, {}), t.showHiddenFields]
118
121
  })]
119
122
  }), /* @__PURE__ */ jsxs("button", {
120
123
  type: "button",
121
124
  onClick: handleCopy,
122
125
  "aria-label": copied ? t.copied : t.copy,
123
126
  className: "ml-auto flex shrink-0 items-center gap-1.5 rounded-md border border-(--theme-border) px-2.5 py-1.5 text-sm text-(--theme-app) transition-colors duration-150 hover:bg-(--theme-hover) focus:outline-none focus-visible:ring-2 focus-visible:ring-(--theme-link)",
124
- children: [copied ? /* @__PURE__ */ jsx(CheckIcon, { className: "text-green-500" }) : /* @__PURE__ */ jsx(CopyIcon, { className: "text-(--theme-muted-text-color)" }), copied ? t.copied : t.copy]
127
+ children: [copied ? /* @__PURE__ */ jsx(FaCheck, { className: "text-green-500" }) : /* @__PURE__ */ jsx(FiCopy, { className: "text-(--theme-muted-text-color)" }), copied ? t.copied : t.copy]
125
128
  })]
126
129
  }), /* @__PURE__ */ jsx("div", {
127
130
  className: "min-h-0 flex-1",