@parallelworks/ui 0.20.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 (437) hide show
  1. package/README.md +5 -0
  2. package/dist/ai/adapter/openai/createOpenAIStream.js +3 -2
  3. package/dist/ai/agent/diff.d.ts +0 -1
  4. package/dist/ai/agent/diff.js +3 -2
  5. package/dist/ai/agent/toolfmt.js +2 -3
  6. package/dist/ai/ai.css +5 -0
  7. package/dist/ai/components/AllocationSelector.js +3 -2
  8. package/dist/ai/components/AttachmentManager.js +7 -5
  9. package/dist/ai/components/AttachmentUpload.js +11 -7
  10. package/dist/ai/components/BlockedGroupBanner.js +2 -2
  11. package/dist/ai/components/BranchNavigator.js +8 -5
  12. package/dist/ai/components/ChatEmptyState.js +8 -5
  13. package/dist/ai/components/ChatInput.d.ts +2 -5
  14. package/dist/ai/components/ChatInput.js +16 -11
  15. package/dist/ai/components/ChatMessage.js +25 -17
  16. package/dist/ai/components/ChatMessageList.js +4 -3
  17. package/dist/ai/components/ChatSidebar.d.ts +0 -1
  18. package/dist/ai/components/ChatSidebar.js +22 -16
  19. package/dist/ai/components/ChatThread.js +9 -11
  20. package/dist/ai/components/ComposerChrome.js +2 -2
  21. package/dist/ai/components/ModelSelector.js +20 -14
  22. package/dist/ai/components/ShareDialog.js +10 -6
  23. package/dist/ai/components/SlashMenu.d.ts +0 -1
  24. package/dist/ai/components/agent/ActivityLine.d.ts +0 -1
  25. package/dist/ai/components/agent/ActivityLine.js +5 -4
  26. package/dist/ai/components/agent/AgentMessageParts.d.ts +1 -26
  27. package/dist/ai/components/agent/AgentMessageParts.js +13 -12
  28. package/dist/ai/core/ChatProvider.d.ts +2 -6
  29. package/dist/ai/core/ChatProvider.js +42 -67
  30. package/dist/ai/core/KeyboardShortcutsProvider.js +1 -1
  31. package/dist/ai/core/chatReducer.d.ts +0 -6
  32. package/dist/ai/core/chatReducer.js +1 -15
  33. package/dist/ai/core/useKeyboardShortcuts.d.ts +3 -1
  34. package/dist/ai/core/useKeyboardShortcuts.js +9 -11
  35. package/dist/ai/core/useSSEStream.d.ts +0 -1
  36. package/dist/ai/core/useSSEStream.js +5 -17
  37. package/dist/ai/strings.d.ts +0 -1
  38. package/dist/ai/strings.js +0 -1
  39. package/dist/ai/types.d.ts +1 -1
  40. package/dist/ai/ui/Avatar.d.ts +1 -2
  41. package/dist/ai/ui/Avatar.js +7 -18
  42. package/dist/ai/ui/Dropdown.js +2 -2
  43. package/dist/ai/ui/Markdown.d.ts +1 -3
  44. package/dist/ai/ui/Markdown.js +1 -2
  45. package/dist/ai/ui/Notice.js +5 -3
  46. package/dist/ai/ui/sidebar.d.ts +0 -1
  47. package/dist/ai/ui/sidebar.js +5 -3
  48. package/dist/ai/utils.js +1 -1
  49. package/dist/components/Avatar.js +4 -2
  50. package/dist/components/BareModal.js +1 -5
  51. package/dist/components/Breadcrumbs.js +21 -14
  52. package/dist/components/Button.js +3 -2
  53. package/dist/components/Callout.js +4 -3
  54. package/dist/components/CollapsiblePanel.d.ts +1 -3
  55. package/dist/components/CollapsiblePanel.js +7 -7
  56. package/dist/components/CopyToClipboard.js +8 -4
  57. package/dist/components/CreateModal.js +11 -7
  58. package/dist/components/Dropdown.d.ts +0 -4
  59. package/dist/components/Dropdown.js +7 -8
  60. package/dist/components/Filter.js +2 -2
  61. package/dist/components/Indicator.js +14 -9
  62. package/dist/components/Input.js +6 -4
  63. package/dist/components/Listbox.js +16 -20
  64. package/dist/components/Loader.js +1 -1
  65. package/dist/components/MultiSelect.js +5 -8
  66. package/dist/components/PageHeader.js +10 -7
  67. package/dist/components/Pagination.js +1 -1
  68. package/dist/components/Provider.d.ts +0 -8
  69. package/dist/components/Sort.js +6 -4
  70. package/dist/components/StatusIcons.d.ts +11 -0
  71. package/dist/components/StatusIcons.js +20 -0
  72. package/dist/components/SwitchToggle.js +3 -5
  73. package/dist/components/Table.d.ts +1 -3
  74. package/dist/components/Tooltip.js +3 -3
  75. package/dist/components/dropdownUtils.js +7 -8
  76. package/dist/components/relativeTime.d.ts +0 -7
  77. package/dist/components/relativeTime.js +1 -1
  78. package/dist/duration.js +1 -1
  79. package/dist/editor/Editor.d.ts +1 -1
  80. package/dist/editor/Editor.js +1 -1
  81. package/dist/editor/EditorField.d.ts +0 -1
  82. package/dist/editor/EditorField.js +8 -8
  83. package/dist/editor/FormCodePanel.js +20 -23
  84. package/dist/editor/yamlLanguage.js +2 -2
  85. package/dist/file-explorer/FileExplorer.js +94 -82
  86. package/dist/file-explorer/FileExplorerContext.d.ts +1 -2
  87. package/dist/file-explorer/FileExplorerContext.js +92 -125
  88. package/dist/file-explorer/FilePreview/Inline.d.ts +1 -2
  89. package/dist/file-explorer/FilePreview/Inline.js +4 -4
  90. package/dist/file-explorer/FilePreview/StreamedBadge.js +2 -2
  91. package/dist/file-explorer/FilePreview/Viewer.js +14 -14
  92. package/dist/file-explorer/FilePreview/index.d.ts +1 -2
  93. package/dist/file-explorer/FilePreview/index.js +20 -13
  94. package/dist/file-explorer/FilePreview/parse.d.ts +2 -1
  95. package/dist/file-explorer/FilePreview/useObjectBlobUrl.d.ts +5 -4
  96. package/dist/file-explorer/FilePreview/useObjectBlobUrl.js +23 -36
  97. package/dist/file-explorer/FilePreview/useObjectText.d.ts +1 -2
  98. package/dist/file-explorer/FilePreview/useObjectText.js +5 -7
  99. package/dist/file-explorer/FileRow.js +3 -3
  100. package/dist/file-explorer/FileRowsWindow.d.ts +5 -12
  101. package/dist/file-explorer/FileRowsWindow.js +3 -2
  102. package/dist/file-explorer/FileTable.d.ts +2 -6
  103. package/dist/file-explorer/LoadMoreRow.d.ts +8 -0
  104. package/dist/file-explorer/TreeView.d.ts +0 -1
  105. package/dist/file-explorer/TreeView.js +11 -9
  106. package/dist/file-explorer/helpers.js +45 -33
  107. package/dist/file-explorer/lib/fileExplorer.d.ts +0 -2
  108. package/dist/file-explorer/lib/types.d.ts +0 -1
  109. package/dist/file-explorer/lib/utils.js +15 -20
  110. package/dist/file-explorer/toasts.js +54 -45
  111. package/dist/form/Fields/BooleanField.js +5 -4
  112. package/dist/form/Fields/CheckboxGroupField.js +5 -4
  113. package/dist/form/Fields/ColorField.js +5 -4
  114. package/dist/form/Fields/DropdownField.d.ts +0 -1
  115. package/dist/form/Fields/DropdownField.js +10 -13
  116. package/dist/form/Fields/DurationField.js +2 -2
  117. package/dist/form/Fields/LabelField.js +5 -5
  118. package/dist/form/Fields/MultiDropdownField.d.ts +1 -1
  119. package/dist/form/Fields/MultiDropdownField.js +8 -11
  120. package/dist/form/Fields/NumberField.js +6 -5
  121. package/dist/form/Fields/ObjectField.d.ts +1 -2
  122. package/dist/form/Fields/ObjectField.js +22 -21
  123. package/dist/form/Fields/RadioField.js +4 -3
  124. package/dist/form/Fields/RangeField.js +7 -6
  125. package/dist/form/Fields/StringField.js +2 -1
  126. package/dist/form/Fields/TextAreaField.js +2 -1
  127. package/dist/form/Form.d.ts +7 -8
  128. package/dist/form/Form.js +56 -81
  129. package/dist/form/SpecialTypes/DropdownWrapper.d.ts +0 -2
  130. package/dist/form/SpecialTypes/DropdownWrapper.js +1 -3
  131. package/dist/form/SpecialTypes/FormikCustomDropdown.d.ts +1 -3
  132. package/dist/form/SpecialTypes/FormikCustomDropdown.js +4 -7
  133. package/dist/form/SpecialTypes/FormikCustomInput.js +16 -13
  134. package/dist/form/Wizard/WizardContainer.js +8 -25
  135. package/dist/form/Wizard/WizardNavigation.d.ts +1 -1
  136. package/dist/form/Wizard/WizardNavigation.js +5 -6
  137. package/dist/form/Wizard/WizardStepContent.d.ts +1 -1
  138. package/dist/form/Wizard/WizardStepContent.js +2 -2
  139. package/dist/form/Wizard/WizardStepIndicator.js +7 -17
  140. package/dist/form/Wizard/types.d.ts +4 -46
  141. package/dist/form/Wizard/useWizardState.d.ts +2 -10
  142. package/dist/form/Wizard/useWizardState.js +42 -92
  143. package/dist/form/Wizard/utils.js +6 -11
  144. package/dist/form/lib.js +28 -54
  145. package/dist/form/types/fieldTypes.d.ts +4 -5
  146. package/dist/form/utils/dependentOptions.d.ts +6 -0
  147. package/dist/form/utils/dependentOptions.js +21 -0
  148. package/dist/form/utils/getParentValue.d.ts +2 -1
  149. package/dist/form/utils/getParentValue.js +10 -15
  150. package/dist/form/utils/getValueUsingPath.js +1 -1
  151. package/dist/graph/AnnotationBanner.d.ts +1 -1
  152. package/dist/graph/AnnotationBanner.js +10 -6
  153. package/dist/graph/Collapse.d.ts +3 -3
  154. package/dist/graph/Collapse.js +3 -8
  155. package/dist/graph/DependencyGraph.d.ts +5 -4
  156. package/dist/graph/DependencyGraph.js +178 -226
  157. package/dist/graph/JobSummary.d.ts +10 -8
  158. package/dist/graph/JobSummary.js +17 -16
  159. package/dist/graph/MatrixGroup.d.ts +5 -17
  160. package/dist/graph/MatrixGroup.js +11 -22
  161. package/dist/graph/TreeView.d.ts +1 -3
  162. package/dist/graph/TreeView.js +106 -492
  163. package/dist/graph/types.d.ts +3 -2
  164. package/dist/graph/util.d.ts +5 -0
  165. package/dist/graph/util.js +18 -0
  166. package/dist/icons/ai/AiOutlineRollback.js +16 -0
  167. package/dist/icons/bi/BiBell.js +16 -0
  168. package/dist/icons/bi/BiBellOff.js +16 -0
  169. package/dist/icons/bi/BiBuildings.js +20 -0
  170. package/dist/icons/bi/BiError.js +20 -0
  171. package/dist/icons/bi/BiExpandVertical.js +16 -0
  172. package/dist/icons/bi/BiPause.js +16 -0
  173. package/dist/icons/bi/BiPlay.js +16 -0
  174. package/dist/icons/bi/BiSolidCheckShield.js +16 -0
  175. package/dist/icons/bi/BiSolidTrashAlt.js +16 -0
  176. package/dist/icons/bi/BiStop.js +16 -0
  177. package/dist/icons/bs/BsArrowsCollapse.js +22 -0
  178. package/dist/icons/bs/BsBank2.js +19 -0
  179. package/dist/icons/bs/BsBriefcase.js +19 -0
  180. package/dist/icons/bs/BsBucket.js +19 -0
  181. package/dist/icons/bs/BsCalendarX.js +23 -0
  182. package/dist/icons/bs/BsChatLeft.js +19 -0
  183. package/dist/icons/bs/BsChevronDoubleDown.js +29 -0
  184. package/dist/icons/bs/BsChevronDoubleUp.js +29 -0
  185. package/dist/icons/bs/BsClipboardCheck.js +34 -0
  186. package/dist/icons/bs/BsCurrencyDollar.js +19 -0
  187. package/dist/icons/bs/BsDash.js +19 -0
  188. package/dist/icons/bs/BsFileEarmarkZip.js +23 -0
  189. package/dist/icons/bs/BsFiles.js +19 -0
  190. package/dist/icons/bs/BsGeoAlt.js +23 -0
  191. package/dist/icons/bs/BsGrid.js +19 -0
  192. package/dist/icons/bs/BsLayers.js +19 -0
  193. package/dist/icons/bs/BsLayoutThreeColumns.js +19 -0
  194. package/dist/icons/bs/BsListUl.js +22 -0
  195. package/dist/icons/bs/BsMortarboard.js +23 -0
  196. package/dist/icons/bs/BsMusicNoteBeamed.js +34 -0
  197. package/dist/icons/bs/BsOpenai.js +19 -0
  198. package/dist/icons/bs/BsPersonPlus.js +26 -0
  199. package/dist/icons/bs/BsSearch.js +19 -0
  200. package/dist/icons/bs/BsSend.js +19 -0
  201. package/dist/icons/bs/BsShieldSlash.js +22 -0
  202. package/dist/icons/bs/BsStar.js +19 -0
  203. package/dist/icons/bs/BsStarFill.js +19 -0
  204. package/dist/icons/bs/BsStopCircle.js +23 -0
  205. package/dist/icons/bs/BsTag.js +23 -0
  206. package/dist/icons/bs/BsTelephone.js +19 -0
  207. package/dist/icons/bs/BsTerminal.js +23 -0
  208. package/dist/icons/bs/BsTerminalFill.js +19 -0
  209. package/dist/icons/bs/BsThreeDots.js +19 -0
  210. package/dist/icons/bs/BsThreeDotsVertical.js +19 -0
  211. package/dist/icons/bs/BsZoomIn.js +37 -0
  212. package/dist/icons/fa/FaAmazon.js +16 -0
  213. package/dist/icons/fa/FaAngleDown.js +16 -0
  214. package/dist/icons/fa/FaAngleLeft.js +16 -0
  215. package/dist/icons/fa/FaAngleRight.js +16 -0
  216. package/dist/icons/fa/FaAngleUp.js +16 -0
  217. package/dist/icons/fa/FaArrowDown.js +16 -0
  218. package/dist/icons/fa/FaArrowLeft.js +16 -0
  219. package/dist/icons/fa/FaArrowRight.js +16 -0
  220. package/dist/icons/fa/FaArrowUp.js +16 -0
  221. package/dist/icons/fa/FaBalanceScale.js +16 -0
  222. package/dist/icons/fa/FaCaretDown.js +16 -0
  223. package/dist/icons/fa/FaCentos.js +16 -0
  224. package/dist/icons/fa/FaChartLine.js +16 -0
  225. package/dist/icons/fa/FaChartPie.js +16 -0
  226. package/dist/icons/fa/FaCheck.js +16 -0
  227. package/dist/icons/fa/FaChevronDown.js +16 -0
  228. package/dist/icons/fa/FaChevronUp.js +16 -0
  229. package/dist/icons/fa/FaChrome.js +16 -0
  230. package/dist/icons/fa/FaCircleNotch.js +16 -0
  231. package/dist/icons/fa/FaCloud.js +16 -0
  232. package/dist/icons/fa/FaCloudDownloadAlt.js +16 -0
  233. package/dist/icons/fa/FaCog.js +16 -0
  234. package/dist/icons/fa/FaCogs.js +16 -0
  235. package/dist/icons/fa/FaComments.js +16 -0
  236. package/dist/icons/fa/FaCompress.js +16 -0
  237. package/dist/icons/fa/FaDesktop.js +16 -0
  238. package/dist/icons/fa/FaDocker.js +16 -0
  239. package/dist/icons/fa/FaDollarSign.js +16 -0
  240. package/dist/icons/fa/FaEdge.js +16 -0
  241. package/dist/icons/fa/FaEdit.js +16 -0
  242. package/dist/icons/fa/FaExclamationTriangle.js +16 -0
  243. package/dist/icons/fa/FaExpand.js +16 -0
  244. package/dist/icons/fa/FaEye.js +16 -0
  245. package/dist/icons/fa/FaEyeSlash.js +16 -0
  246. package/dist/icons/fa/FaFile.js +16 -0
  247. package/dist/icons/fa/FaFilePdf.js +16 -0
  248. package/dist/icons/fa/FaFilter.js +16 -0
  249. package/dist/icons/fa/FaFirefoxBrowser.js +16 -0
  250. package/dist/icons/fa/FaFlask.js +16 -0
  251. package/dist/icons/fa/FaFolder.js +16 -0
  252. package/dist/icons/fa/FaGithub.js +16 -0
  253. package/dist/icons/fa/FaGitlab.js +16 -0
  254. package/dist/icons/fa/FaGlobe.js +16 -0
  255. package/dist/icons/fa/FaGlobeAmericas.js +16 -0
  256. package/dist/icons/fa/FaImage.js +16 -0
  257. package/dist/icons/fa/FaInfoCircle.js +16 -0
  258. package/dist/icons/fa/FaKey.js +16 -0
  259. package/dist/icons/fa/FaLayerGroup.js +16 -0
  260. package/dist/icons/fa/FaLink.js +16 -0
  261. package/dist/icons/fa/FaLinkedin.js +16 -0
  262. package/dist/icons/fa/FaLinux.js +16 -0
  263. package/dist/icons/fa/FaList.js +16 -0
  264. package/dist/icons/fa/FaLock.js +16 -0
  265. package/dist/icons/fa/FaOpenid.js +16 -0
  266. package/dist/icons/fa/FaOpera.js +16 -0
  267. package/dist/icons/fa/FaPaperclip.js +16 -0
  268. package/dist/icons/fa/FaPlus.js +16 -0
  269. package/dist/icons/fa/FaPowerOff.js +16 -0
  270. package/dist/icons/fa/FaPrint.js +16 -0
  271. package/dist/icons/fa/FaQrcode.js +16 -0
  272. package/dist/icons/fa/FaQuestionCircle.js +16 -0
  273. package/dist/icons/fa/FaRedhat.js +16 -0
  274. package/dist/icons/fa/FaRegCircle.js +16 -0
  275. package/dist/icons/fa/FaRegFileImage.js +16 -0
  276. package/dist/icons/fa/FaRegFolder.js +16 -0
  277. package/dist/icons/fa/FaRobot.js +16 -0
  278. package/dist/icons/fa/FaRocket.js +16 -0
  279. package/dist/icons/fa/FaRunning.js +16 -0
  280. package/dist/icons/fa/FaSafari.js +16 -0
  281. package/dist/icons/fa/FaSave.js +16 -0
  282. package/dist/icons/fa/FaSearch.js +16 -0
  283. package/dist/icons/fa/FaShieldAlt.js +16 -0
  284. package/dist/icons/fa/FaSlack.js +16 -0
  285. package/dist/icons/fa/FaStar.js +16 -0
  286. package/dist/icons/fa/FaStop.js +16 -0
  287. package/dist/icons/fa/FaSuse.js +16 -0
  288. package/dist/icons/fa/FaTerminal.js +16 -0
  289. package/dist/icons/fa/FaTimes.js +16 -0
  290. package/dist/icons/fa/FaUbuntu.js +16 -0
  291. package/dist/icons/fa/FaUndoAlt.js +16 -0
  292. package/dist/icons/fa/FaUnlink.js +16 -0
  293. package/dist/icons/fa/FaUser.js +16 -0
  294. package/dist/icons/fa/FaUsers.js +16 -0
  295. package/dist/icons/fa/FaWindows.js +16 -0
  296. package/dist/icons/fa6/FaApple.js +16 -0
  297. package/dist/icons/fa6/FaArrowsRotate.js +16 -0
  298. package/dist/icons/fa6/FaDebian.js +16 -0
  299. package/dist/icons/fa6/FaFilterCircleXmark.js +16 -0
  300. package/dist/icons/fa6/FaInbox.js +16 -0
  301. package/dist/icons/fa6/FaLocationDot.js +16 -0
  302. package/dist/icons/fa6/FaRegFilePdf.js +16 -0
  303. package/dist/icons/fa6/FaRegFolderOpen.js +16 -0
  304. package/dist/icons/fa6/FaUpRightFromSquare.js +16 -0
  305. package/dist/icons/fa6/FaWandMagicSparkles.js +16 -0
  306. package/dist/icons/fa6/FaXTwitter.js +16 -0
  307. package/dist/icons/fi/FiActivity.js +23 -0
  308. package/dist/icons/fi/FiAlertCircle.js +49 -0
  309. package/dist/icons/fi/FiChevronDown.js +23 -0
  310. package/dist/icons/fi/FiClock.js +31 -0
  311. package/dist/icons/fi/FiCopy.js +34 -0
  312. package/dist/icons/fi/FiDownload.js +40 -0
  313. package/dist/icons/fi/FiFile.js +27 -0
  314. package/dist/icons/fi/FiFileText.js +55 -0
  315. package/dist/icons/fi/FiHardDrive.js +55 -0
  316. package/dist/icons/fi/FiRotateCcw.js +27 -0
  317. package/dist/icons/fi/FiUpload.js +40 -0
  318. package/dist/icons/fi/FiX.js +37 -0
  319. package/dist/icons/fi/FiZap.js +23 -0
  320. package/dist/icons/gi/GiSpy.js +16 -0
  321. package/dist/icons/go/GoGitCommit.js +16 -0
  322. package/dist/icons/go/GoGitPullRequest.js +20 -0
  323. package/dist/icons/go/GoIssueOpened.js +16 -0
  324. package/dist/icons/go/GoPlus.js +16 -0
  325. package/dist/icons/go/GoRepoForked.js +28 -0
  326. package/dist/icons/go/GoSignOut.js +16 -0
  327. package/dist/icons/go/GoSkip.js +20 -0
  328. package/dist/icons/go/GoVideo.js +20 -0
  329. package/dist/icons/gr/GrCloudComputer.js +20 -0
  330. package/dist/icons/gr/GrInbox.js +20 -0
  331. package/dist/icons/gr/GrServerCluster.js +20 -0
  332. package/dist/icons/gr/GrStorage.js +20 -0
  333. package/dist/icons/gr/GrTasks.js +20 -0
  334. package/dist/icons/hi/HiCog.js +24 -0
  335. package/dist/icons/hi/HiDuplicate.js +24 -0
  336. package/dist/icons/hi/HiOutlineArchive.js +26 -0
  337. package/dist/icons/hi/HiOutlineClipboardCopy.js +26 -0
  338. package/dist/icons/hi/HiOutlineHome.js +26 -0
  339. package/dist/icons/hi/HiQuestionMarkCircle.js +24 -0
  340. package/dist/icons/hi/HiServer.js +24 -0
  341. package/dist/icons/hi2/HiMiniCheckCircle.js +24 -0
  342. package/dist/icons/hi2/HiMiniLanguage.js +28 -0
  343. package/dist/icons/hi2/HiMiniMinusCircle.js +24 -0
  344. package/dist/icons/hi2/HiMiniXCircle.js +24 -0
  345. package/dist/icons/hi2/HiSparkles.js +24 -0
  346. package/dist/icons/im/ImSpinner5.js +19 -0
  347. package/dist/icons/io/IoIosNotifications.js +16 -0
  348. package/dist/icons/io/IoMdBuild.js +16 -0
  349. package/dist/icons/io/IoMdClose.js +16 -0
  350. package/dist/icons/io5/IoCloudUploadOutline.js +32 -0
  351. package/dist/icons/io5/IoDocumentTextOutline.js +31 -0
  352. package/dist/icons/io5/IoFileTrayFullOutline.js +31 -0
  353. package/dist/icons/io5/IoHeart.js +16 -0
  354. package/dist/icons/io5/IoHeartDislike.js +16 -0
  355. package/dist/icons/io5/IoHeartOutline.js +22 -0
  356. package/dist/icons/io5/IoInformationCircleOutline.js +50 -0
  357. package/dist/icons/io5/IoSettingsOutline.js +22 -0
  358. package/dist/icons/io5/IoWarningOutline.js +40 -0
  359. package/dist/icons/lu/LuArrowRight.js +27 -0
  360. package/dist/icons/lu/LuBadgeCheck.js +27 -0
  361. package/dist/icons/lu/LuBrainCircuit.js +101 -0
  362. package/dist/icons/lu/LuCalendar.js +46 -0
  363. package/dist/icons/lu/LuCheck.js +23 -0
  364. package/dist/icons/lu/LuChevronLeft.js +23 -0
  365. package/dist/icons/lu/LuChevronRight.js +23 -0
  366. package/dist/icons/lu/LuExternalLink.js +35 -0
  367. package/dist/icons/lu/LuEye.js +31 -0
  368. package/dist/icons/lu/LuEyeOff.js +40 -0
  369. package/dist/icons/lu/LuFolderTree.js +40 -0
  370. package/dist/icons/lu/LuIdCard.js +55 -0
  371. package/dist/icons/lu/LuLogs.js +65 -0
  372. package/dist/icons/lu/LuMail.js +33 -0
  373. package/dist/icons/lu/LuMegaphone.js +27 -0
  374. package/dist/icons/lu/LuMoon.js +23 -0
  375. package/dist/icons/lu/LuPartyPopper.js +65 -0
  376. package/dist/icons/lu/LuSettings2.js +48 -0
  377. package/dist/icons/lu/LuSheet.js +72 -0
  378. package/dist/icons/lu/LuShield.js +23 -0
  379. package/dist/icons/lu/LuSun.js +69 -0
  380. package/dist/icons/lu/LuX.js +27 -0
  381. package/dist/icons/lu/LuZoomIn.js +59 -0
  382. package/dist/icons/lu/LuZoomOut.js +49 -0
  383. package/dist/icons/md/MdClear.js +23 -0
  384. package/dist/icons/md/MdDragHandle.js +23 -0
  385. package/dist/icons/md/MdInstallDesktop.js +31 -0
  386. package/dist/icons/md/MdOutlineAttachMoney.js +23 -0
  387. package/dist/icons/md/MdOutlineMoneyOff.js +23 -0
  388. package/dist/icons/md/MdPieChart.js +23 -0
  389. package/dist/icons/md/MdRefresh.js +23 -0
  390. package/dist/icons/md/MdReplay.js +23 -0
  391. package/dist/icons/md/MdSmartphone.js +23 -0
  392. package/dist/icons/pi/PiArrowBendUpRightBold.js +19 -0
  393. package/dist/icons/pi/PiPlugsConnectedFill.js +19 -0
  394. package/dist/icons/pi/PiRectangleDashed.js +19 -0
  395. package/dist/icons/pi/PiShareBold.js +19 -0
  396. package/dist/icons/si/SiAnthropic.js +19 -0
  397. package/dist/icons/si/SiHelm.js +19 -0
  398. package/dist/icons/si/SiKubernetes.js +19 -0
  399. package/dist/icons/tb/TbAlertTriangle.js +35 -0
  400. package/dist/icons/tb/TbAlertTriangleFilled.js +19 -0
  401. package/dist/icons/tb/TbApi.js +40 -0
  402. package/dist/icons/tb/TbBrain.js +50 -0
  403. package/dist/icons/tb/TbBuildingTunnel.js +65 -0
  404. package/dist/icons/tb/TbEdit.js +35 -0
  405. package/dist/icons/tb/TbLayoutSidebar.js +27 -0
  406. package/dist/icons/tb/TbLayoutSidebarLeftCollapse.js +35 -0
  407. package/dist/icons/tb/TbLayoutSidebarRightCollapse.js +35 -0
  408. package/dist/icons/tb/TbUser.js +27 -0
  409. package/dist/icons/tb/TbUserOff.js +35 -0
  410. package/dist/icons/tb/TbWorldShare.js +55 -0
  411. package/dist/icons/tb/TbWorldWww.js +65 -0
  412. package/dist/icons/ti/TiArrowSortedDown.js +20 -0
  413. package/dist/icons/ti/TiArrowSortedUp.js +20 -0
  414. package/dist/icons/ti/TiArrowUnsorted.js +20 -0
  415. package/dist/icons/ti/TiCancel.js +20 -0
  416. package/dist/icons/vsc/VscChromeMinimize.js +19 -0
  417. package/dist/icons/vsc/VscJson.js +19 -0
  418. package/dist/icons/vsc/VscLayoutSidebarLeft.js +19 -0
  419. package/dist/icons/vsc/VscPass.js +27 -0
  420. package/dist/icons/vsc/VscSplitHorizontal.js +19 -0
  421. package/dist/icons/vsc/VscTerminalPowershell.js +19 -0
  422. package/dist/icons.d.ts +7 -22
  423. package/dist/icons.js +257 -38
  424. package/dist/index.d.ts +1 -1
  425. package/dist/list/ActionToolbar.js +2 -2
  426. package/dist/list/ListPager.js +4 -3
  427. package/dist/list/ListTable.js +2 -2
  428. package/dist/list/ListViewControls.js +29 -42
  429. package/dist/list/RowContextMenu.js +28 -19
  430. package/dist/list/listSearch.js +6 -5
  431. package/dist/logviewer/LogViewer.js +28 -20
  432. package/dist/logviewer/segments.js +2 -2
  433. package/dist/styles/theme.css +1 -0
  434. package/dist/styles.css +1 -1
  435. package/dist/theme/index.js +5 -5
  436. package/package.json +28 -30
  437. package/dist/ai/ui/buttons.d.ts +0 -1
@@ -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", {
@@ -6,15 +6,13 @@ interface IControlledCollapsiblePanelProps {
6
6
  setOpen?: React.Dispatch<React.SetStateAction<boolean>>;
7
7
  onClick?: (() => void) | undefined;
8
8
  wrapperElement?: React.ElementType | undefined;
9
- shown?: boolean;
10
- setShown?: (shown: boolean) => void;
11
9
  customizedButton?: React.ReactNode;
12
10
  /** Rendered right after the title, outside the toggle button. */
13
11
  titleAction?: React.ReactNode;
14
12
  className?: string | undefined;
15
13
  }
16
14
  export declare function ControlledCollapsiblePanel({ title, children, open, setOpen, onClick, wrapperElement, customizedButton, titleAction, className, }: IControlledCollapsiblePanelProps): React.JSX.Element;
17
- export declare function UncontrolledCollapsiblePanel({ title, children, onClick, wrapperElement, initialState, className, customizedButton, }: Omit<IControlledCollapsiblePanelProps, 'setOpen' | 'open'> & {
15
+ export declare function UncontrolledCollapsiblePanel({ title, children, onClick, wrapperElement, initialState, className, customizedButton, titleAction, }: Omit<IControlledCollapsiblePanelProps, 'setOpen' | 'open'> & {
18
16
  initialState?: boolean | undefined;
19
17
  }): React.JSX.Element;
20
18
  type MaybeCollapsibleProps = {
@@ -1,17 +1,16 @@
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";
5
5
  import AnimateHeight from "react-animate-height";
6
6
  //#region src/components/CollapsiblePanel.tsx
7
- var noop = () => {};
8
- function ControlledCollapsiblePanel({ title = "", children, open, setOpen, onClick = noop, wrapperElement, customizedButton = null, titleAction, className }) {
7
+ function ControlledCollapsiblePanel({ title = "", children, open, setOpen, onClick, wrapperElement, customizedButton = null, titleAction, className }) {
9
8
  const toggleOpen = useCallback(() => {
10
- if (onClick) onClick();
9
+ onClick?.();
11
10
  setOpen?.((open) => !open);
12
11
  }, [setOpen, onClick]);
13
12
  const contentId = React.useId();
14
- const Wrapper = wrapperElement ? wrapperElement : React.Fragment;
13
+ const Wrapper = wrapperElement ?? React.Fragment;
15
14
  return React.isValidElement(title) ? /* @__PURE__ */ jsxs(Fragment$1, { children: [title, /* @__PURE__ */ jsx(Wrapper, { children: /* @__PURE__ */ jsx(AnimateHeight, {
16
15
  duration: 300,
17
16
  height: open ? "auto" : 0,
@@ -27,7 +26,7 @@ function ControlledCollapsiblePanel({ title = "", children, open, setOpen, onCli
27
26
  "aria-controls": contentId,
28
27
  className: cx("flex items-center text-left cursor-pointer", !titleAction && "w-full"),
29
28
  onClick: toggleOpen,
30
- 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", {
31
30
  className: "px-2 font-bold select-none",
32
31
  children: title?.toString()
33
32
  })]
@@ -46,7 +45,7 @@ function ControlledCollapsiblePanel({ title = "", children, open, setOpen, onCli
46
45
  })]
47
46
  });
48
47
  }
49
- function UncontrolledCollapsiblePanel({ title, children, onClick, wrapperElement, initialState = true, className, customizedButton = null }) {
48
+ function UncontrolledCollapsiblePanel({ title, children, onClick, wrapperElement, initialState = true, className, customizedButton = null, titleAction }) {
50
49
  const [open, setOpen] = React.useState(initialState);
51
50
  const passTitle = typeof title === "function" ? title(open, setOpen) : title;
52
51
  return /* @__PURE__ */ jsx(ControlledCollapsiblePanel, {
@@ -57,6 +56,7 @@ function UncontrolledCollapsiblePanel({ title, children, onClick, wrapperElement
57
56
  wrapperElement,
58
57
  className,
59
58
  customizedButton,
59
+ titleAction,
60
60
  children
61
61
  });
62
62
  }
@@ -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",
@@ -4,10 +4,6 @@ export interface IProps {
4
4
  options: (ICategory | IOptions | string)[];
5
5
  onActiveChange?: (option: unknown) => void;
6
6
  onChange: React.Dispatch<SetStateAction<unknown>>;
7
- onRangeChange?: (range: {
8
- min: number;
9
- max: number;
10
- }) => void;
11
7
  value: IOptions | string | Record<string, unknown>;
12
8
  id?: string | undefined;
13
9
  ariaLabel?: string | undefined;
@@ -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";
@@ -23,7 +23,7 @@ function getOptionFromValue(value, options) {
23
23
  label: "",
24
24
  value: ""
25
25
  };
26
- const found = options?.find((option) => {
26
+ const found = options.find((option) => {
27
27
  if (typeof option === "string") return checkEquals(value, option);
28
28
  else if (isCategory(option)) return option.options.find((opt) => checkEquals(value, opt.value));
29
29
  else return checkEquals(value, option.value);
@@ -47,15 +47,14 @@ function getOptionFromValue(value, options) {
47
47
  };
48
48
  }
49
49
  function Dropdown(props) {
50
- const { onChange, value, options = [], ...others } = props;
50
+ const { onChange, value, options, ...others } = props;
51
51
  const val = useMemo(() => {
52
52
  return getOptionFromValue(value, options);
53
53
  }, [value, options]);
54
54
  const wrapperOnchange = (value) => {
55
- if (onChange) onChange(value?.value);
55
+ onChange(value?.value);
56
56
  };
57
57
  const transformedOptions = useMemo(() => {
58
- if (!options || options.length === 0) return [];
59
58
  return options.map((item) => {
60
59
  if (isCategory(item)) return {
61
60
  ...item,
@@ -126,7 +125,7 @@ function ToggleOption({ option, category, expanded, onToggle, ...virtualRowProps
126
125
  e.stopPropagation();
127
126
  onToggle(category);
128
127
  },
129
- 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]
130
129
  })
131
130
  });
132
131
  }
@@ -253,7 +252,7 @@ function DropdownHelper({ wrapperClassName = "w-full", className, textBoxClassNa
253
252
  allowCustomValue,
254
253
  customValueLabel
255
254
  ]);
256
- const comboOptions = /* @__PURE__ */ jsx(Fragment$1, { children: /* @__PURE__ */ jsx(ComboboxOptions, {
255
+ const comboOptions = /* @__PURE__ */ jsx(ComboboxOptions, {
257
256
  modal: false,
258
257
  ref: setPopperElement,
259
258
  style: styles["popper"],
@@ -282,7 +281,7 @@ function DropdownHelper({ wrapperClassName = "w-full", className, textBoxClassNa
282
281
  })
283
282
  });
284
283
  }
285
- }) });
284
+ });
286
285
  return /* @__PURE__ */ jsx("div", {
287
286
  className: cx("relative rounded-md flex items-center", wrapperClassName),
288
287
  children: /* @__PURE__ */ jsx(Combobox, {
@@ -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,33 +1,29 @@
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";
6
6
  import cx from "classnames";
7
7
  import { useEffect, useRef, useState } from "react";
8
- import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
8
+ import { jsx, jsxs } from "react/jsx-runtime";
9
9
  //#region src/components/Listbox.tsx
10
10
  function CustomListbox({ options = [], handleOptionSelected, type, allowSearch = false, closeOnSelect = true, className = "", invalid = false, required = false, id, "aria-describedby": describedBy }) {
11
11
  const { dropdown: strings } = useStrings();
12
12
  const [filter, setFilter] = useState("");
13
13
  const [controlledOpen, setControlledOpen] = useState(false);
14
14
  const optionsToShow = options.filter((option) => !option.selected && option.label && option.label.toLowerCase().includes(filter.toLowerCase()));
15
- function useOutsideAlerter(ref) {
16
- useEffect(() => {
17
- function handleClickOutside(event) {
18
- if (ref.current && event.target instanceof Node && !ref.current.contains(event.target)) {
19
- setControlledOpen(false);
20
- setFilter("");
21
- }
22
- }
23
- document.addEventListener("mousedown", handleClickOutside);
24
- return () => {
25
- document.removeEventListener("mousedown", handleClickOutside);
26
- };
27
- }, [ref]);
28
- }
29
15
  const wrapperRef = useRef(null);
30
- useOutsideAlerter(wrapperRef);
16
+ useEffect(() => {
17
+ function handleClickOutside(event) {
18
+ const wrapper = wrapperRef.current;
19
+ if (wrapper && event.target instanceof Node && !wrapper.contains(event.target)) {
20
+ setControlledOpen(false);
21
+ setFilter("");
22
+ }
23
+ }
24
+ document.addEventListener("mousedown", handleClickOutside);
25
+ return () => document.removeEventListener("mousedown", handleClickOutside);
26
+ }, []);
31
27
  const optionsElement = /* @__PURE__ */ jsxs(ListboxOptions, {
32
28
  modal: false,
33
29
  static: true,
@@ -106,7 +102,7 @@ function CustomListbox({ options = [], handleOptionSelected, type, allowSearch =
106
102
  children: strings.select(type)
107
103
  }), /* @__PURE__ */ jsx("span", {
108
104
  className: "pointer-events-none absolute inset-y-0 right-0 flex items-center justify-items-center",
109
- children: /* @__PURE__ */ jsx(AngleDownIcon, {
105
+ children: /* @__PURE__ */ jsx(FaAngleDown, {
110
106
  className: "h-5 w-8",
111
107
  "aria-hidden": "true"
112
108
  })
@@ -115,8 +111,8 @@ function CustomListbox({ options = [], handleOptionSelected, type, allowSearch =
115
111
  leave: "transition ease-in duration-100",
116
112
  leaveFrom: "opacity-100",
117
113
  leaveTo: "opacity-0",
118
- children: optionsElement || null
119
- }) : /* @__PURE__ */ jsx(Fragment$1, { children: controlledOpen && optionsElement })]
114
+ children: optionsElement
115
+ }) : controlledOpen && optionsElement]
120
116
  });
121
117
  }
122
118
  //#endregion
@@ -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
@@ -4,10 +4,11 @@ import { DropdownCaret, filterOption, flattenOptions, isCategory, isOption } fro
4
4
  import { focusOnMount } from "./focus.js";
5
5
  import { Combobox, ComboboxButton, ComboboxOption, ComboboxOptions } from "@headlessui/react";
6
6
  import cx from "classnames";
7
- import { useCallback, useMemo, useState } from "react";
7
+ import { useMemo, useState } from "react";
8
8
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
9
9
  import { usePopper } from "react-popper";
10
10
  //#region src/components/MultiSelect.tsx
11
+ var strictEqual = (a, b) => a === b;
11
12
  function MultiSelectDropdown({ options, value, onChange, id, "aria-labelledby": labelledBy, "aria-describedby": describedBy, required, className, wrapperClassName = "w-full", textBoxClassName, disabled = false, placeholder, loading = false, searchable = true, maxTagCount = 2, compareBy }) {
12
13
  const strings = useStrings();
13
14
  const [query, setQuery] = useState("");
@@ -21,7 +22,7 @@ function MultiSelectDropdown({ options, value, onChange, id, "aria-labelledby":
21
22
  }]
22
23
  });
23
24
  const allOptions = useMemo(() => flattenOptions(options), [options]);
24
- const compare = compareBy ?? ((a, b) => a === b);
25
+ const compare = compareBy ?? strictEqual;
25
26
  const selectedOptions = useMemo(() => {
26
27
  const result = [];
27
28
  for (const val of value) {
@@ -38,7 +39,7 @@ function MultiSelectDropdown({ options, value, onChange, id, "aria-labelledby":
38
39
  if (!searchable || query.trim() === "") return allOptions;
39
40
  const result = [];
40
41
  for (const opt of allOptions) if (isCategory(opt)) {
41
- const matchedChildren = (Array.isArray(opt.options) ? opt.options : []).filter((o) => filterOption(o, query));
42
+ const matchedChildren = opt.options.filter((o) => filterOption(o, query));
42
43
  if (matchedChildren.length > 0) result.push(opt, ...matchedChildren);
43
44
  } else if (isOption(opt) && filterOption(opt, query)) result.push(opt);
44
45
  return result;
@@ -54,16 +55,12 @@ function MultiSelectDropdown({ options, value, onChange, id, "aria-labelledby":
54
55
  overflow: selectedOptions.length - shown.length
55
56
  };
56
57
  }, [selectedOptions, maxTagCount]);
57
- const handleChange = useCallback((newValues) => {
58
- if (!Array.isArray(newValues)) return;
59
- onChange(newValues);
60
- }, [onChange]);
61
58
  const isDisabled = disabled || loading;
62
59
  const isEmpty = filteredOptions.length === 0;
63
60
  return /* @__PURE__ */ jsx(Combobox, {
64
61
  multiple: true,
65
62
  value: Array.isArray(value) ? value : [],
66
- onChange: handleChange,
63
+ onChange,
67
64
  disabled: isDisabled,
68
65
  onClose: () => setQuery(""),
69
66
  by: compare,
@@ -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,
@@ -8,7 +8,7 @@ function Pagination({ endingNumber, endingTime, nextCallback, prevCallback, roun
8
8
  className: cx(roundedBottom && "rounded-b-2xl", "theme-muted-panel flex items-center justify-between border-t theme-border px-4 py-1 sm:px-6"),
9
9
  "aria-label": "Pagination",
10
10
  children: [/* @__PURE__ */ jsx("div", {
11
- className: cx("hidden", (startingNumber !== void 0 && startingNumber !== null && endingNumber !== void 0 && endingNumber !== null || startingTime && endingTime) && "sm:block"),
11
+ className: cx("hidden", (startingNumber !== void 0 && endingNumber !== void 0 || startingTime && endingTime) && "sm:block"),
12
12
  children: /* @__PURE__ */ jsx("p", {
13
13
  className: "text-sm whitespace-nowrap",
14
14
  children: useTimeRange && startingTime && endingTime ? t.paginationShowingTimeRange(name ?? "", startingTime, endingTime) : t.paginationShowing(name ?? "", startingNumber ?? "", endingNumber ?? "")
@@ -476,14 +476,6 @@ export interface UISlots {
476
476
  }
477
477
  /** An engine, or a loader so the host can keep the engine out of its first-load bundle. */
478
478
  export type WorkflowEngineSource = WorkflowEngine | (() => Promise<WorkflowEngine>);
479
- export interface UIProviderValue {
480
- notify: UINotify;
481
- strings: UIStrings;
482
- navigation: UINavigation;
483
- data: UIData;
484
- slots: UISlots;
485
- engine?: WorkflowEngineSource | undefined;
486
- }
487
479
  export declare function useNotify(): UINotify;
488
480
  export declare function useStrings(): UIStrings;
489
481
  export declare function useNavigation(): UINavigation;
@@ -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 {};