@parallelworks/ui 0.21.0 → 0.21.2
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.
- package/README.md +5 -0
- package/dist/ai/components/AttachmentManager.js +6 -4
- package/dist/ai/components/AttachmentUpload.js +11 -7
- package/dist/ai/components/BlockedGroupBanner.js +2 -2
- package/dist/ai/components/BranchNavigator.js +4 -3
- package/dist/ai/components/ChatEmptyState.js +8 -5
- package/dist/ai/components/ChatInput.js +6 -4
- package/dist/ai/components/ChatMessage.js +18 -10
- package/dist/ai/components/ChatMessageList.js +4 -3
- package/dist/ai/components/ChatSidebar.js +18 -10
- package/dist/ai/components/ChatThread.js +4 -3
- package/dist/ai/components/ComposerChrome.js +2 -2
- package/dist/ai/components/ModelSelector.js +17 -12
- package/dist/ai/components/ShareDialog.js +4 -3
- package/dist/ai/components/agent/ActivityLine.js +3 -2
- package/dist/ai/components/agent/AgentMessageParts.js +9 -7
- package/dist/ai/ui/Dropdown.js +2 -2
- package/dist/ai/ui/Notice.js +5 -3
- package/dist/ai/ui/sidebar.js +2 -2
- package/dist/components/Button.js +3 -2
- package/dist/components/Callout.js +4 -3
- package/dist/components/CollapsiblePanel.js +2 -2
- package/dist/components/CopyToClipboard.js +8 -4
- package/dist/components/CreateModal.js +11 -7
- package/dist/components/Dropdown.js +2 -2
- package/dist/components/Filter.js +2 -2
- package/dist/components/Indicator.js +14 -9
- package/dist/components/Input.js +6 -4
- package/dist/components/Listbox.js +2 -2
- package/dist/components/Loader.js +1 -1
- package/dist/components/PageHeader.js +10 -7
- package/dist/components/Sort.js +6 -4
- package/dist/components/StatusIcons.d.ts +11 -0
- package/dist/components/StatusIcons.js +20 -0
- package/dist/components/Tooltip.js +3 -3
- package/dist/components/dropdownUtils.js +2 -2
- package/dist/editor/FormCodePanel.js +6 -3
- package/dist/file-explorer/FileExplorer.js +72 -23
- package/dist/file-explorer/FilePreview/Inline.js +2 -2
- package/dist/file-explorer/FilePreview/StreamedBadge.js +2 -2
- package/dist/file-explorer/FilePreview/Viewer.js +14 -10
- package/dist/file-explorer/FilePreview/index.js +17 -10
- package/dist/file-explorer/FileRow.js +2 -2
- package/dist/file-explorer/FileRowsWindow.js +3 -2
- package/dist/file-explorer/TreeView.js +5 -3
- package/dist/file-explorer/helpers.js +43 -29
- package/dist/file-explorer/toasts.js +18 -11
- package/dist/form/Form.js +4 -3
- package/dist/form/SpecialTypes/FormikCustomInput.js +3 -2
- package/dist/graph/AnnotationBanner.js +9 -5
- package/dist/graph/DependencyGraph.js +6 -4
- package/dist/graph/JobSummary.js +4 -3
- package/dist/graph/TreeView.js +3 -2
- package/dist/icons/ai/AiOutlineRollback.js +16 -0
- package/dist/icons/bi/BiBell.js +16 -0
- package/dist/icons/bi/BiBellOff.js +16 -0
- package/dist/icons/bi/BiBuildings.js +20 -0
- package/dist/icons/bi/BiError.js +20 -0
- package/dist/icons/bi/BiExpandVertical.js +16 -0
- package/dist/icons/bi/BiPause.js +16 -0
- package/dist/icons/bi/BiPlay.js +16 -0
- package/dist/icons/bi/BiSolidCheckShield.js +16 -0
- package/dist/icons/bi/BiSolidTrashAlt.js +16 -0
- package/dist/icons/bi/BiStop.js +16 -0
- package/dist/icons/bs/BsArrowsCollapse.js +22 -0
- package/dist/icons/bs/BsBank2.js +19 -0
- package/dist/icons/bs/BsBriefcase.js +19 -0
- package/dist/icons/bs/BsBucket.js +19 -0
- package/dist/icons/bs/BsCalendarX.js +23 -0
- package/dist/icons/bs/BsChatLeft.js +19 -0
- package/dist/icons/bs/BsChevronDoubleDown.js +29 -0
- package/dist/icons/bs/BsChevronDoubleUp.js +29 -0
- package/dist/icons/bs/BsClipboardCheck.js +34 -0
- package/dist/icons/bs/BsCurrencyDollar.js +19 -0
- package/dist/icons/bs/BsDash.js +19 -0
- package/dist/icons/bs/BsFileEarmarkZip.js +23 -0
- package/dist/icons/bs/BsFiles.js +19 -0
- package/dist/icons/bs/BsGeoAlt.js +23 -0
- package/dist/icons/bs/BsGrid.js +19 -0
- package/dist/icons/bs/BsLayers.js +19 -0
- package/dist/icons/bs/BsLayoutThreeColumns.js +19 -0
- package/dist/icons/bs/BsListUl.js +22 -0
- package/dist/icons/bs/BsMortarboard.js +23 -0
- package/dist/icons/bs/BsMusicNoteBeamed.js +34 -0
- package/dist/icons/bs/BsOpenai.js +19 -0
- package/dist/icons/bs/BsPersonPlus.js +26 -0
- package/dist/icons/bs/BsSearch.js +19 -0
- package/dist/icons/bs/BsSend.js +19 -0
- package/dist/icons/bs/BsShieldSlash.js +22 -0
- package/dist/icons/bs/BsStar.js +19 -0
- package/dist/icons/bs/BsStarFill.js +19 -0
- package/dist/icons/bs/BsStopCircle.js +23 -0
- package/dist/icons/bs/BsTag.js +23 -0
- package/dist/icons/bs/BsTelephone.js +19 -0
- package/dist/icons/bs/BsTerminal.js +23 -0
- package/dist/icons/bs/BsTerminalFill.js +19 -0
- package/dist/icons/bs/BsThreeDots.js +19 -0
- package/dist/icons/bs/BsThreeDotsVertical.js +19 -0
- package/dist/icons/bs/BsZoomIn.js +37 -0
- package/dist/icons/fa/FaAmazon.js +16 -0
- package/dist/icons/fa/FaAngleDown.js +16 -0
- package/dist/icons/fa/FaAngleLeft.js +16 -0
- package/dist/icons/fa/FaAngleRight.js +16 -0
- package/dist/icons/fa/FaAngleUp.js +16 -0
- package/dist/icons/fa/FaArrowDown.js +16 -0
- package/dist/icons/fa/FaArrowLeft.js +16 -0
- package/dist/icons/fa/FaArrowRight.js +16 -0
- package/dist/icons/fa/FaArrowUp.js +16 -0
- package/dist/icons/fa/FaBalanceScale.js +16 -0
- package/dist/icons/fa/FaCaretDown.js +16 -0
- package/dist/icons/fa/FaCentos.js +16 -0
- package/dist/icons/fa/FaChartLine.js +16 -0
- package/dist/icons/fa/FaChartPie.js +16 -0
- package/dist/icons/fa/FaCheck.js +16 -0
- package/dist/icons/fa/FaChevronDown.js +16 -0
- package/dist/icons/fa/FaChevronUp.js +16 -0
- package/dist/icons/fa/FaChrome.js +16 -0
- package/dist/icons/fa/FaCircleNotch.js +16 -0
- package/dist/icons/fa/FaCloud.js +16 -0
- package/dist/icons/fa/FaCloudDownloadAlt.js +16 -0
- package/dist/icons/fa/FaCog.js +16 -0
- package/dist/icons/fa/FaCogs.js +16 -0
- package/dist/icons/fa/FaComments.js +16 -0
- package/dist/icons/fa/FaCompress.js +16 -0
- package/dist/icons/fa/FaDesktop.js +16 -0
- package/dist/icons/fa/FaDocker.js +16 -0
- package/dist/icons/fa/FaDollarSign.js +16 -0
- package/dist/icons/fa/FaEdge.js +16 -0
- package/dist/icons/fa/FaEdit.js +16 -0
- package/dist/icons/fa/FaExclamationTriangle.js +16 -0
- package/dist/icons/fa/FaExpand.js +16 -0
- package/dist/icons/fa/FaEye.js +16 -0
- package/dist/icons/fa/FaEyeSlash.js +16 -0
- package/dist/icons/fa/FaFile.js +16 -0
- package/dist/icons/fa/FaFilePdf.js +16 -0
- package/dist/icons/fa/FaFilter.js +16 -0
- package/dist/icons/fa/FaFirefoxBrowser.js +16 -0
- package/dist/icons/fa/FaFlask.js +16 -0
- package/dist/icons/fa/FaFolder.js +16 -0
- package/dist/icons/fa/FaGithub.js +16 -0
- package/dist/icons/fa/FaGitlab.js +16 -0
- package/dist/icons/fa/FaGlobe.js +16 -0
- package/dist/icons/fa/FaGlobeAmericas.js +16 -0
- package/dist/icons/fa/FaImage.js +16 -0
- package/dist/icons/fa/FaInfoCircle.js +16 -0
- package/dist/icons/fa/FaKey.js +16 -0
- package/dist/icons/fa/FaLayerGroup.js +16 -0
- package/dist/icons/fa/FaLink.js +16 -0
- package/dist/icons/fa/FaLinkedin.js +16 -0
- package/dist/icons/fa/FaLinux.js +16 -0
- package/dist/icons/fa/FaList.js +16 -0
- package/dist/icons/fa/FaLock.js +16 -0
- package/dist/icons/fa/FaOpenid.js +16 -0
- package/dist/icons/fa/FaOpera.js +16 -0
- package/dist/icons/fa/FaPaperclip.js +16 -0
- package/dist/icons/fa/FaPlus.js +16 -0
- package/dist/icons/fa/FaPowerOff.js +16 -0
- package/dist/icons/fa/FaPrint.js +16 -0
- package/dist/icons/fa/FaQrcode.js +16 -0
- package/dist/icons/fa/FaQuestionCircle.js +16 -0
- package/dist/icons/fa/FaRedhat.js +16 -0
- package/dist/icons/fa/FaRegCircle.js +16 -0
- package/dist/icons/fa/FaRegFileImage.js +16 -0
- package/dist/icons/fa/FaRegFolder.js +16 -0
- package/dist/icons/fa/FaRobot.js +16 -0
- package/dist/icons/fa/FaRocket.js +16 -0
- package/dist/icons/fa/FaRunning.js +16 -0
- package/dist/icons/fa/FaSafari.js +16 -0
- package/dist/icons/fa/FaSave.js +16 -0
- package/dist/icons/fa/FaSearch.js +16 -0
- package/dist/icons/fa/FaShieldAlt.js +16 -0
- package/dist/icons/fa/FaSlack.js +16 -0
- package/dist/icons/fa/FaStar.js +16 -0
- package/dist/icons/fa/FaStop.js +16 -0
- package/dist/icons/fa/FaSuse.js +16 -0
- package/dist/icons/fa/FaTerminal.js +16 -0
- package/dist/icons/fa/FaTimes.js +16 -0
- package/dist/icons/fa/FaUbuntu.js +16 -0
- package/dist/icons/fa/FaUndoAlt.js +16 -0
- package/dist/icons/fa/FaUnlink.js +16 -0
- package/dist/icons/fa/FaUser.js +16 -0
- package/dist/icons/fa/FaUsers.js +16 -0
- package/dist/icons/fa/FaWindows.js +16 -0
- package/dist/icons/fa6/FaApple.js +16 -0
- package/dist/icons/fa6/FaArrowsRotate.js +16 -0
- package/dist/icons/fa6/FaDebian.js +16 -0
- package/dist/icons/fa6/FaFilterCircleXmark.js +16 -0
- package/dist/icons/fa6/FaInbox.js +16 -0
- package/dist/icons/fa6/FaLocationDot.js +16 -0
- package/dist/icons/fa6/FaRegFilePdf.js +16 -0
- package/dist/icons/fa6/FaRegFolderOpen.js +16 -0
- package/dist/icons/fa6/FaUpRightFromSquare.js +16 -0
- package/dist/icons/fa6/FaWandMagicSparkles.js +16 -0
- package/dist/icons/fa6/FaXTwitter.js +16 -0
- package/dist/icons/fi/FiActivity.js +23 -0
- package/dist/icons/fi/FiAlertCircle.js +49 -0
- package/dist/icons/fi/FiChevronDown.js +23 -0
- package/dist/icons/fi/FiClock.js +31 -0
- package/dist/icons/fi/FiCopy.js +34 -0
- package/dist/icons/fi/FiDownload.js +40 -0
- package/dist/icons/fi/FiFile.js +27 -0
- package/dist/icons/fi/FiFileText.js +55 -0
- package/dist/icons/fi/FiHardDrive.js +55 -0
- package/dist/icons/fi/FiRotateCcw.js +27 -0
- package/dist/icons/fi/FiUpload.js +40 -0
- package/dist/icons/fi/FiX.js +37 -0
- package/dist/icons/fi/FiZap.js +23 -0
- package/dist/icons/gi/GiSpy.js +16 -0
- package/dist/icons/go/GoGitCommit.js +16 -0
- package/dist/icons/go/GoGitPullRequest.js +20 -0
- package/dist/icons/go/GoIssueOpened.js +16 -0
- package/dist/icons/go/GoPlus.js +16 -0
- package/dist/icons/go/GoRepoForked.js +28 -0
- package/dist/icons/go/GoSignOut.js +16 -0
- package/dist/icons/go/GoSkip.js +20 -0
- package/dist/icons/go/GoVideo.js +20 -0
- package/dist/icons/gr/GrCloudComputer.js +20 -0
- package/dist/icons/gr/GrInbox.js +20 -0
- package/dist/icons/gr/GrServerCluster.js +20 -0
- package/dist/icons/gr/GrStorage.js +20 -0
- package/dist/icons/gr/GrTasks.js +20 -0
- package/dist/icons/hi/HiCog.js +24 -0
- package/dist/icons/hi/HiDuplicate.js +24 -0
- package/dist/icons/hi/HiOutlineArchive.js +26 -0
- package/dist/icons/hi/HiOutlineClipboardCopy.js +26 -0
- package/dist/icons/hi/HiOutlineHome.js +26 -0
- package/dist/icons/hi/HiQuestionMarkCircle.js +24 -0
- package/dist/icons/hi/HiServer.js +24 -0
- package/dist/icons/hi2/HiMiniCheckCircle.js +24 -0
- package/dist/icons/hi2/HiMiniLanguage.js +28 -0
- package/dist/icons/hi2/HiMiniMinusCircle.js +24 -0
- package/dist/icons/hi2/HiMiniXCircle.js +24 -0
- package/dist/icons/hi2/HiSparkles.js +24 -0
- package/dist/icons/im/ImSpinner5.js +19 -0
- package/dist/icons/io/IoIosNotifications.js +16 -0
- package/dist/icons/io/IoMdBuild.js +16 -0
- package/dist/icons/io/IoMdClose.js +16 -0
- package/dist/icons/io5/IoCloudUploadOutline.js +32 -0
- package/dist/icons/io5/IoDocumentTextOutline.js +31 -0
- package/dist/icons/io5/IoFileTrayFullOutline.js +31 -0
- package/dist/icons/io5/IoHeart.js +16 -0
- package/dist/icons/io5/IoHeartDislike.js +16 -0
- package/dist/icons/io5/IoHeartOutline.js +22 -0
- package/dist/icons/io5/IoInformationCircleOutline.js +50 -0
- package/dist/icons/io5/IoSettingsOutline.js +22 -0
- package/dist/icons/io5/IoWarningOutline.js +40 -0
- package/dist/icons/lu/LuArrowRight.js +27 -0
- package/dist/icons/lu/LuBadgeCheck.js +27 -0
- package/dist/icons/lu/LuBrainCircuit.js +101 -0
- package/dist/icons/lu/LuCalendar.js +46 -0
- package/dist/icons/lu/LuCheck.js +23 -0
- package/dist/icons/lu/LuChevronLeft.js +23 -0
- package/dist/icons/lu/LuChevronRight.js +23 -0
- package/dist/icons/lu/LuExternalLink.js +35 -0
- package/dist/icons/lu/LuEye.js +31 -0
- package/dist/icons/lu/LuEyeOff.js +40 -0
- package/dist/icons/lu/LuFolderTree.js +40 -0
- package/dist/icons/lu/LuIdCard.js +55 -0
- package/dist/icons/lu/LuLogs.js +65 -0
- package/dist/icons/lu/LuMail.js +33 -0
- package/dist/icons/lu/LuMegaphone.js +27 -0
- package/dist/icons/lu/LuMoon.js +23 -0
- package/dist/icons/lu/LuPartyPopper.js +65 -0
- package/dist/icons/lu/LuSettings2.js +48 -0
- package/dist/icons/lu/LuSheet.js +72 -0
- package/dist/icons/lu/LuShield.js +23 -0
- package/dist/icons/lu/LuSun.js +69 -0
- package/dist/icons/lu/LuX.js +27 -0
- package/dist/icons/lu/LuZoomIn.js +59 -0
- package/dist/icons/lu/LuZoomOut.js +49 -0
- package/dist/icons/md/MdClear.js +23 -0
- package/dist/icons/md/MdDragHandle.js +23 -0
- package/dist/icons/md/MdInstallDesktop.js +31 -0
- package/dist/icons/md/MdOutlineAttachMoney.js +23 -0
- package/dist/icons/md/MdOutlineMoneyOff.js +23 -0
- package/dist/icons/md/MdPieChart.js +23 -0
- package/dist/icons/md/MdRefresh.js +23 -0
- package/dist/icons/md/MdReplay.js +23 -0
- package/dist/icons/md/MdSmartphone.js +23 -0
- package/dist/icons/pi/PiArrowBendUpRightBold.js +19 -0
- package/dist/icons/pi/PiPlugsConnectedFill.js +19 -0
- package/dist/icons/pi/PiRectangleDashed.js +19 -0
- package/dist/icons/pi/PiShareBold.js +19 -0
- package/dist/icons/si/SiAnthropic.js +19 -0
- package/dist/icons/si/SiHelm.js +19 -0
- package/dist/icons/si/SiKubernetes.js +19 -0
- package/dist/icons/tb/TbAlertTriangle.js +35 -0
- package/dist/icons/tb/TbAlertTriangleFilled.js +19 -0
- package/dist/icons/tb/TbApi.js +40 -0
- package/dist/icons/tb/TbBrain.js +50 -0
- package/dist/icons/tb/TbBuildingTunnel.js +65 -0
- package/dist/icons/tb/TbEdit.js +35 -0
- package/dist/icons/tb/TbLayoutSidebar.js +27 -0
- package/dist/icons/tb/TbLayoutSidebarLeftCollapse.js +35 -0
- package/dist/icons/tb/TbLayoutSidebarRightCollapse.js +35 -0
- package/dist/icons/tb/TbUser.js +27 -0
- package/dist/icons/tb/TbUserOff.js +35 -0
- package/dist/icons/tb/TbWorldShare.js +55 -0
- package/dist/icons/tb/TbWorldWww.js +65 -0
- package/dist/icons/ti/TiArrowSortedDown.js +20 -0
- package/dist/icons/ti/TiArrowSortedUp.js +20 -0
- package/dist/icons/ti/TiArrowUnsorted.js +20 -0
- package/dist/icons/ti/TiCancel.js +20 -0
- package/dist/icons/vsc/VscChromeMinimize.js +19 -0
- package/dist/icons/vsc/VscJson.js +19 -0
- package/dist/icons/vsc/VscLayoutSidebarLeft.js +19 -0
- package/dist/icons/vsc/VscPass.js +27 -0
- package/dist/icons/vsc/VscSplitHorizontal.js +19 -0
- package/dist/icons/vsc/VscTerminalPowershell.js +19 -0
- package/dist/icons.d.ts +6 -21
- package/dist/icons.js +257 -38
- package/dist/list/ActionToolbar.js +2 -2
- package/dist/list/ListPager.js +4 -3
- package/dist/list/ListTable.js +2 -2
- package/dist/list/ListViewControls.js +13 -8
- package/dist/list/RowContextMenu.js +21 -12
- package/dist/list/listSearch.js +6 -5
- package/dist/logviewer/LogViewer.js +21 -11
- package/package.json +2 -2
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import {
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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"),
|
package/dist/ai/ui/Dropdown.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
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(
|
|
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,
|
package/dist/ai/ui/Notice.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import {
|
|
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" ?
|
|
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(
|
|
74
|
+
children: /* @__PURE__ */ jsx(IoMdClose, { className: "h-3 w-3" })
|
|
73
75
|
})]
|
|
74
76
|
});
|
|
75
77
|
}
|
package/dist/ai/ui/sidebar.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
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(
|
|
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 {
|
|
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(
|
|
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 {
|
|
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(
|
|
7
|
-
else return /* @__PURE__ */ jsx(
|
|
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 {
|
|
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(
|
|
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 {
|
|
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(
|
|
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(
|
|
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(
|
|
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 {
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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 ?
|
|
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(
|
|
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 {
|
|
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(
|
|
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 {
|
|
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(
|
|
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 {
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
34
|
+
}) : status === "canceling" ? /* @__PURE__ */ jsx(ImSpinner5, {
|
|
30
35
|
className: "rounded-full text-[#3B82F6] animate-spin",
|
|
31
36
|
"data-testid": "canceling-indicator"
|
|
32
|
-
}) : /* @__PURE__ */ jsx(
|
|
37
|
+
}) : /* @__PURE__ */ jsx(FaRegCircle, {
|
|
33
38
|
className: "rounded-full text-[#AAAAAA]",
|
|
34
39
|
"data-testid": "not-running-indicator"
|
|
35
40
|
})
|
package/dist/components/Input.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import {
|
|
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(
|
|
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(
|
|
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(
|
|
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 {
|
|
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(
|
|
105
|
+
children: /* @__PURE__ */ jsx(FaAngleDown, {
|
|
106
106
|
className: "h-5 w-8",
|
|
107
107
|
"aria-hidden": "true"
|
|
108
108
|
})
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { useLink, useSlots, useStrings } from "./Provider.js";
|
|
2
|
-
import {
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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,
|
package/dist/components/Sort.js
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import { useStrings } from "./Provider.js";
|
|
2
|
-
import {
|
|
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(
|
|
9
|
-
else if (currentDirection === "descending") return /* @__PURE__ */ jsx(
|
|
10
|
-
} else return /* @__PURE__ */ jsx(
|
|
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 {
|
|
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(
|
|
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(
|
|
94
|
+
children: /* @__PURE__ */ jsx(HiQuestionMarkCircle, { className: "tooltip" })
|
|
95
95
|
});
|
|
96
96
|
}
|
|
97
97
|
//#endregion
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
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(
|
|
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 {
|
|
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(
|
|
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(
|
|
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",
|