@parallelworks/ui 0.20.0 → 0.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai/adapter/openai/createOpenAIStream.js +3 -2
- package/dist/ai/agent/diff.d.ts +0 -1
- package/dist/ai/agent/diff.js +3 -2
- package/dist/ai/agent/toolfmt.js +2 -3
- package/dist/ai/ai.css +5 -0
- package/dist/ai/components/AllocationSelector.js +3 -2
- package/dist/ai/components/AttachmentManager.js +1 -1
- package/dist/ai/components/BranchNavigator.js +4 -2
- package/dist/ai/components/ChatInput.d.ts +2 -5
- package/dist/ai/components/ChatInput.js +10 -7
- package/dist/ai/components/ChatMessage.js +7 -7
- package/dist/ai/components/ChatSidebar.d.ts +0 -1
- package/dist/ai/components/ChatSidebar.js +4 -6
- package/dist/ai/components/ChatThread.js +5 -8
- package/dist/ai/components/ModelSelector.js +3 -2
- package/dist/ai/components/ShareDialog.js +6 -3
- package/dist/ai/components/SlashMenu.d.ts +0 -1
- package/dist/ai/components/agent/ActivityLine.d.ts +0 -1
- package/dist/ai/components/agent/ActivityLine.js +2 -2
- package/dist/ai/components/agent/AgentMessageParts.d.ts +1 -26
- package/dist/ai/components/agent/AgentMessageParts.js +4 -5
- package/dist/ai/core/ChatProvider.d.ts +2 -6
- package/dist/ai/core/ChatProvider.js +42 -67
- package/dist/ai/core/KeyboardShortcutsProvider.js +1 -1
- package/dist/ai/core/chatReducer.d.ts +0 -6
- package/dist/ai/core/chatReducer.js +1 -15
- package/dist/ai/core/useKeyboardShortcuts.d.ts +3 -1
- package/dist/ai/core/useKeyboardShortcuts.js +9 -11
- package/dist/ai/core/useSSEStream.d.ts +0 -1
- package/dist/ai/core/useSSEStream.js +5 -17
- package/dist/ai/strings.d.ts +0 -1
- package/dist/ai/strings.js +0 -1
- package/dist/ai/types.d.ts +1 -1
- package/dist/ai/ui/Avatar.d.ts +1 -2
- package/dist/ai/ui/Avatar.js +7 -18
- package/dist/ai/ui/Markdown.d.ts +1 -3
- package/dist/ai/ui/Markdown.js +1 -2
- package/dist/ai/ui/sidebar.d.ts +0 -1
- package/dist/ai/ui/sidebar.js +3 -1
- package/dist/ai/utils.js +1 -1
- package/dist/components/Avatar.js +4 -2
- package/dist/components/BareModal.js +1 -5
- package/dist/components/Breadcrumbs.js +21 -14
- package/dist/components/CollapsiblePanel.d.ts +1 -3
- package/dist/components/CollapsiblePanel.js +5 -5
- package/dist/components/Dropdown.d.ts +0 -4
- package/dist/components/Dropdown.js +5 -6
- package/dist/components/Listbox.js +14 -18
- package/dist/components/MultiSelect.js +5 -8
- package/dist/components/Pagination.js +1 -1
- package/dist/components/Provider.d.ts +0 -8
- package/dist/components/SwitchToggle.js +3 -5
- package/dist/components/Table.d.ts +1 -3
- package/dist/components/dropdownUtils.js +5 -6
- package/dist/components/relativeTime.d.ts +0 -7
- package/dist/components/relativeTime.js +1 -1
- package/dist/duration.js +1 -1
- package/dist/editor/Editor.d.ts +1 -1
- package/dist/editor/Editor.js +1 -1
- package/dist/editor/EditorField.d.ts +0 -1
- package/dist/editor/EditorField.js +8 -8
- package/dist/editor/FormCodePanel.js +14 -20
- package/dist/editor/yamlLanguage.js +2 -2
- package/dist/file-explorer/FileExplorer.js +56 -59
- package/dist/file-explorer/FileExplorerContext.d.ts +1 -2
- package/dist/file-explorer/FileExplorerContext.js +92 -125
- package/dist/file-explorer/FilePreview/Inline.d.ts +1 -2
- package/dist/file-explorer/FilePreview/Inline.js +2 -2
- package/dist/file-explorer/FilePreview/Viewer.js +0 -4
- package/dist/file-explorer/FilePreview/index.d.ts +1 -2
- package/dist/file-explorer/FilePreview/index.js +3 -3
- package/dist/file-explorer/FilePreview/parse.d.ts +2 -1
- package/dist/file-explorer/FilePreview/useObjectBlobUrl.d.ts +5 -4
- package/dist/file-explorer/FilePreview/useObjectBlobUrl.js +23 -36
- package/dist/file-explorer/FilePreview/useObjectText.d.ts +1 -2
- package/dist/file-explorer/FilePreview/useObjectText.js +5 -7
- package/dist/file-explorer/FileRow.js +1 -1
- package/dist/file-explorer/FileRowsWindow.d.ts +5 -12
- package/dist/file-explorer/FileTable.d.ts +2 -6
- package/dist/file-explorer/LoadMoreRow.d.ts +8 -0
- package/dist/file-explorer/TreeView.d.ts +0 -1
- package/dist/file-explorer/TreeView.js +6 -6
- package/dist/file-explorer/helpers.js +2 -4
- package/dist/file-explorer/lib/fileExplorer.d.ts +0 -2
- package/dist/file-explorer/lib/types.d.ts +0 -1
- package/dist/file-explorer/lib/utils.js +15 -20
- package/dist/file-explorer/toasts.js +36 -34
- package/dist/form/Fields/BooleanField.js +5 -4
- package/dist/form/Fields/CheckboxGroupField.js +5 -4
- package/dist/form/Fields/ColorField.js +5 -4
- package/dist/form/Fields/DropdownField.d.ts +0 -1
- package/dist/form/Fields/DropdownField.js +10 -13
- package/dist/form/Fields/DurationField.js +2 -2
- package/dist/form/Fields/LabelField.js +5 -5
- package/dist/form/Fields/MultiDropdownField.d.ts +1 -1
- package/dist/form/Fields/MultiDropdownField.js +8 -11
- package/dist/form/Fields/NumberField.js +6 -5
- package/dist/form/Fields/ObjectField.d.ts +1 -2
- package/dist/form/Fields/ObjectField.js +22 -21
- package/dist/form/Fields/RadioField.js +4 -3
- package/dist/form/Fields/RangeField.js +7 -6
- package/dist/form/Fields/StringField.js +2 -1
- package/dist/form/Fields/TextAreaField.js +2 -1
- package/dist/form/Form.d.ts +7 -8
- package/dist/form/Form.js +52 -78
- package/dist/form/SpecialTypes/DropdownWrapper.d.ts +0 -2
- package/dist/form/SpecialTypes/DropdownWrapper.js +1 -3
- package/dist/form/SpecialTypes/FormikCustomDropdown.d.ts +1 -3
- package/dist/form/SpecialTypes/FormikCustomDropdown.js +4 -7
- package/dist/form/SpecialTypes/FormikCustomInput.js +13 -11
- package/dist/form/Wizard/WizardContainer.js +8 -25
- package/dist/form/Wizard/WizardNavigation.d.ts +1 -1
- package/dist/form/Wizard/WizardNavigation.js +5 -6
- package/dist/form/Wizard/WizardStepContent.d.ts +1 -1
- package/dist/form/Wizard/WizardStepContent.js +2 -2
- package/dist/form/Wizard/WizardStepIndicator.js +7 -17
- package/dist/form/Wizard/types.d.ts +4 -46
- package/dist/form/Wizard/useWizardState.d.ts +2 -10
- package/dist/form/Wizard/useWizardState.js +42 -92
- package/dist/form/Wizard/utils.js +6 -11
- package/dist/form/lib.js +28 -54
- package/dist/form/types/fieldTypes.d.ts +4 -5
- package/dist/form/utils/dependentOptions.d.ts +6 -0
- package/dist/form/utils/dependentOptions.js +21 -0
- package/dist/form/utils/getParentValue.d.ts +2 -1
- package/dist/form/utils/getParentValue.js +10 -15
- package/dist/form/utils/getValueUsingPath.js +1 -1
- package/dist/graph/AnnotationBanner.d.ts +1 -1
- package/dist/graph/AnnotationBanner.js +1 -1
- package/dist/graph/Collapse.d.ts +3 -3
- package/dist/graph/Collapse.js +3 -8
- package/dist/graph/DependencyGraph.d.ts +5 -4
- package/dist/graph/DependencyGraph.js +172 -222
- package/dist/graph/JobSummary.d.ts +10 -8
- package/dist/graph/JobSummary.js +13 -13
- package/dist/graph/MatrixGroup.d.ts +5 -17
- package/dist/graph/MatrixGroup.js +11 -22
- package/dist/graph/TreeView.d.ts +1 -3
- package/dist/graph/TreeView.js +104 -491
- package/dist/graph/types.d.ts +3 -2
- package/dist/graph/util.d.ts +5 -0
- package/dist/graph/util.js +18 -0
- package/dist/icons.d.ts +2 -2
- package/dist/icons.js +2 -2
- package/dist/index.d.ts +1 -1
- package/dist/list/ListViewControls.js +17 -35
- package/dist/list/RowContextMenu.js +7 -7
- package/dist/logviewer/LogViewer.js +7 -9
- package/dist/logviewer/segments.js +2 -2
- package/dist/styles/theme.css +1 -0
- package/dist/styles.css +1 -1
- package/dist/theme/index.js +5 -5
- package/package.json +28 -30
- package/dist/ai/ui/buttons.d.ts +0 -1
package/dist/graph/types.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ export interface RunLink {
|
|
|
11
11
|
endpoint?: string | undefined;
|
|
12
12
|
url?: string | undefined;
|
|
13
13
|
}
|
|
14
|
-
|
|
14
|
+
interface WorkflowAnnotation {
|
|
15
15
|
type?: 'error' | 'warning' | 'notice';
|
|
16
16
|
message?: string;
|
|
17
17
|
title?: string;
|
|
@@ -32,7 +32,7 @@ export interface WorkflowStep {
|
|
|
32
32
|
annotations?: WorkflowAnnotation[];
|
|
33
33
|
subworkflow?: WorkflowSubworkflow | undefined;
|
|
34
34
|
}
|
|
35
|
-
|
|
35
|
+
interface WorkflowMatrixMeta {
|
|
36
36
|
originaljob: string;
|
|
37
37
|
index: number;
|
|
38
38
|
totalingroup: number;
|
|
@@ -53,3 +53,4 @@ export interface WorkflowJob {
|
|
|
53
53
|
_matrixGroup?: MatrixGroup;
|
|
54
54
|
}
|
|
55
55
|
export declare function isJobRecord(value: unknown): value is Record<string, WorkflowJob>;
|
|
56
|
+
export {};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { WorkflowJob } from './types.js';
|
|
2
|
+
/** A job as people read it: `run_tests` is "Run tests", a matrix member "Build (2/4)". */
|
|
3
|
+
export declare function jobLabel(jobName: string, job?: WorkflowJob): string;
|
|
4
|
+
/** A copy of `set` with `key` added, or removed if it was there. */
|
|
5
|
+
export declare function toggled<T>(set: Set<T>, key: T): Set<T>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
//#region src/graph/util.ts
|
|
2
|
+
/** A job as people read it: `run_tests` is "Run tests", a matrix member "Build (2/4)". */
|
|
3
|
+
function jobLabel(jobName, job) {
|
|
4
|
+
const matrix = job?._matrix;
|
|
5
|
+
if (matrix?.originaljob) return `${capitalize(matrix.originaljob)} (${(matrix.index ?? 0) + 1}/${matrix.totalingroup ?? "?"})`;
|
|
6
|
+
return capitalize(jobName).replace(/_/g, " ");
|
|
7
|
+
}
|
|
8
|
+
function capitalize(s) {
|
|
9
|
+
return s.charAt(0).toUpperCase() + s.slice(1);
|
|
10
|
+
}
|
|
11
|
+
/** A copy of `set` with `key` added, or removed if it was there. */
|
|
12
|
+
function toggled(set, key) {
|
|
13
|
+
const next = new Set(set);
|
|
14
|
+
if (!next.delete(key)) next.add(key);
|
|
15
|
+
return next;
|
|
16
|
+
}
|
|
17
|
+
//#endregion
|
|
18
|
+
export { jobLabel, toggled };
|
package/dist/icons.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { FaInfoCircle as InfoIcon } from 'react-icons/fa';
|
|
|
5
5
|
export type { IconType } from 'react-icons';
|
|
6
6
|
export { AiOutlineRollback as RollbackIcon } from 'react-icons/ai';
|
|
7
7
|
export { BiBell as UnmuteIcon, BiBellOff as MuteIcon, BiBuildings as OrganizationIcon, BiExpandVertical as ExpandVerticalIcon, BiPause as PauseIcon, BiPlay as StartIcon, BiSolidCheckShield as ShieldIcon, BiSolidTrashAlt as TrashIcon, BiStop as StopIcon, } from 'react-icons/bi';
|
|
8
|
-
export { BsArrowsCollapse as CollapseIcon, BsBank2 as GovernmentIcon, BsBriefcase as BriefcaseIcon, BsBucket as BucketIcon, BsCalendarX as CalendarOffIcon, BsChatLeft as CommentIcon, BsChevronDoubleDown as ChevronDoubleDownIcon, BsChevronDoubleUp as ChevronDoubleUpIcon, BsClipboardCheck as ClipboardCheckIcon, BsDash as MinusIcon, BsFileEarmarkZip as ZipIcon, BsFiles as FilesIcon, BsGeoAlt as MapPinIcon, BsGrid as GridIcon, BsLayoutThreeColumns as ColumnsIcon, BsListUl as ListViewIcon, BsMortarboard as EducationIcon, BsMusicNoteBeamed as MusicIcon, BsPersonPlus as AddUserIcon, BsSearch as SearchOutlineIcon, BsSend as SendIcon, BsShieldSlash as ShieldOffIcon, BsStar as PinIcon, BsStarFill as PinFilledIcon, BsStopCircle as StopCircleIcon, BsTag as TagIcon, BsTelephone as PhoneIcon, BsTerminal as UserWorkspaceIcon, BsTerminalFill as UserWorkspaceFillIcon, BsThreeDots as MoreIcon, BsThreeDotsVertical as MenuIcon, } from 'react-icons/bs';
|
|
8
|
+
export { BsArrowsCollapse as CollapseIcon, BsBank2 as GovernmentIcon, BsBriefcase as BriefcaseIcon, BsBucket as BucketIcon, BsCalendarX as CalendarOffIcon, BsChatLeft as CommentIcon, BsChevronDoubleDown as ChevronDoubleDownIcon, BsChevronDoubleUp as ChevronDoubleUpIcon, BsClipboardCheck as ClipboardCheckIcon, BsDash as MinusIcon, BsFileEarmarkZip as ZipIcon, BsFiles as FilesIcon, BsGeoAlt as MapPinIcon, BsGrid as GridIcon, BsLayoutThreeColumns as ColumnsIcon, BsListUl as ListViewIcon, BsMortarboard as EducationIcon, BsMusicNoteBeamed as MusicIcon, BsOpenai as OpenAIIcon, BsPersonPlus as AddUserIcon, BsSearch as SearchOutlineIcon, BsSend as SendIcon, BsShieldSlash as ShieldOffIcon, BsStar as PinIcon, BsStarFill as PinFilledIcon, BsStopCircle as StopCircleIcon, BsTag as TagIcon, BsTelephone as PhoneIcon, BsTerminal as UserWorkspaceIcon, BsTerminalFill as UserWorkspaceFillIcon, BsThreeDots as MoreIcon, BsThreeDotsVertical as MenuIcon, } from 'react-icons/bs';
|
|
9
9
|
export { FaAmazon as AmazonIcon, FaAngleDown as AngleDownIcon, FaAngleLeft as AngleLeftIcon, FaAngleRight as AngleRightIcon, FaAngleUp as AngleUpIcon, FaArrowDown as ArrowDownIcon, FaArrowLeft as ArrowLeftIcon, FaArrowRight as ArrowRightIcon, FaArrowUp as ArrowUpIcon, FaBalanceScale as LegalIcon, FaCaretDown as CaretDownIcon, FaCentos as CentOSIcon, FaChartLine as ChartIcon, FaChartPie as PieChartIcon, FaCheck as CheckIcon, FaChevronDown as ChevronDownIcon, FaChevronUp as ChevronUpIcon, FaChrome as ChromeIcon, FaCloud as CloudIcon, FaCloudDownloadAlt as DownloadIcon, FaCog as CogIcon, FaCogs as GearsIcon, FaComments as ChatIcon, FaCompress as ShrinkIcon, FaDesktop as SnapshotIcon, FaDocker as DockerIcon, FaDollarSign as CostDashboardIcon, FaEdge as EdgeIcon, FaEdit as EditIcon, FaExclamationTriangle as WarningTriangleIcon, FaExpand as ExpandIcon, FaEye as HiddenFalseIcon, FaEyeSlash as HiddenTrueIcon, FaFile as FileSolidIcon, FaFilePdf as PdfSolidIcon, FaFilter as FilterIcon, FaFirefoxBrowser as FirefoxIcon, FaFlask as FlaskIcon, FaFolder as FolderSolidIcon, FaGithub as GitHubIcon, FaGitlab as GitLabIcon, FaGlobe as GlobeIcon, FaGlobeAmericas as MarketplaceIcon, FaGlobeAmericas as PublishIcon, FaImage as ImageSolidIcon, FaKey as KeyIcon, FaKey as PasswordIcon, FaLayerGroup as ResourceGroupIcon, FaLink as LinkIcon, FaLinkedin as LinkedInIcon, FaLinux as LinuxIcon, FaList as SchedulerIcon, FaLock as LockIcon, FaOpenid as OIDCIcon, FaOpera as OperaIcon, FaPaperclip as AttachmentIcon, FaPlus as AddIcon, FaPowerOff as PowerIcon, FaPrint as PrintIcon, FaQrcode as QRCodeIcon, FaQuestionCircle as UserGuideIcon, FaRedhat as RedHatIcon, FaRegCircle as NotRunningIcon, FaRegFileImage as ImageIcon, FaRegFolder as FolderIcon, FaRobot as RobotIcon, FaRocket as PartnerIcon, FaRunning as ExecuteWorkflow, FaSafari as SafariIcon, FaSave as SaveIcon, FaSearch as SearchIcon, FaShieldAlt as ShieldAltIcon, FaSlack as SlackIcon, FaStar as FeaturedIcon, FaStop as StopSolidIcon, FaSuse as SuseIcon, FaTerminal as TerminalIcon, FaTimes as TimesIcon, FaUbuntu as UbuntuIcon, FaUndoAlt as RetryIcon, FaUnlink as UnlinkIcon, FaUser as UserIcon, FaUsers as AccessIcon, FaUsers as SharingIcon, FaUsers as UsersIcon, FaWindows as WindowsIcon, } from 'react-icons/fa';
|
|
10
10
|
export { FaApple as AppleIcon, FaArrowsRotate as RefreshArrowsIcon, FaDebian as DebianIcon, FaFilterCircleXmark as FilterClearIcon, FaInbox as NotificationInboxIcon, FaLocationDot as IpAddressIcon, FaRegFilePdf as PdfIcon, FaRegFolderOpen as FolderOpenIcon, FaUpRightFromSquare as NewWindowIcon, FaWandMagicSparkles as CustomizeIcon, FaXTwitter as XTwitterIcon, } from 'react-icons/fa6';
|
|
11
11
|
export { FiActivity as HealthMonitoringIcon, FiAlertCircle as AlertCircleIcon, FiChevronDown as ChevronDownStrokeIcon, FiClock as ClockIcon, FiDownload as DownloadFileIcon, FiFile as FileIcon, FiFileText as FileTextIcon, FiHardDrive as DiskIcon, FiRotateCcw as HistoryIcon, FiUpload as UploadIcon, FiZap as ZapIcon, } from 'react-icons/fi';
|
|
@@ -22,7 +22,7 @@ export { IoCloudUploadOutline as CloudUploadIcon, IoDocumentTextOutline as Docum
|
|
|
22
22
|
export { LuArrowRight as ArrowRightStrokeIcon, LuBadgeCheck as LicenseIcon, LuBrainCircuit as MlIcon, LuCalendar as CalendarIcon, LuCheck as CheckStrokeIcon, LuChevronLeft as ChevronLeftIcon, LuChevronRight as ChevronRightIcon, LuExternalLink as ExternalLink, LuEye as EyeIcon, LuEyeOff as EyeOffIcon, LuFolderTree as FolderTreeIcon, LuIdCard as IdCardIcon, LuLogs as EventsIcon, LuMail as MailIcon, LuMegaphone as MegaphoneIcon, LuMoon as MoonIcon, LuPartyPopper as CelebrateIcon, LuSettings2 as DisplayIcon, LuSheet as SpreadsheetIcon, LuShield as ShieldOutlineIcon, LuSun as SunIcon, LuX as XStrokeIcon, LuZoomIn as ZoomInIcon, LuZoomOut as ZoomOutIcon, } from 'react-icons/lu';
|
|
23
23
|
export { MdClear as ClearIcon, MdDragHandle as DragHandleIcon, MdInstallDesktop as InstallIcon, MdOutlineAttachMoney as EnableCostIcon, MdOutlineMoneyOff as DisableCostIcon, MdPieChart as QuotaIcon, MdRefresh as RefreshIcon, MdReplay as ReplayIcon, MdSmartphone as MFA, } from 'react-icons/md';
|
|
24
24
|
export { PiArrowBendUpRightBold as OpenInNewGraphIcon, PiPlugsConnectedFill as ConnectIcon, PiRectangleDashed as KubernetesNamespaceIcon, PiShareBold as ShareIcon, } from 'react-icons/pi';
|
|
25
|
-
export { SiAnthropic as AnthropicIcon, SiHelm as HelmIcon, SiKubernetes as KubernetesIcon,
|
|
25
|
+
export { SiAnthropic as AnthropicIcon, SiHelm as HelmIcon, SiKubernetes as KubernetesIcon, } from 'react-icons/si';
|
|
26
26
|
export { TbAlertTriangle as AlertIcon, TbAlertTriangleFilled as AlertFillIcon, TbApi as APIIcon, TbBrain as ThinkingIcon, TbBuildingTunnel as TunnelIcon, TbEdit as NewChatIcon, TbLayoutSidebar as SidebarIcon, TbLayoutSidebarLeftCollapse as SidebarOpenIcon, TbLayoutSidebarRightCollapse as SidebarCloseIcon, TbUser as EnableUserIcon, TbUserOff as DisableUserIcon, TbWorldShare as EndpointIcon, TbWorldWww as SubdomainIcon, } from 'react-icons/tb';
|
|
27
27
|
export { TiArrowSortedDown as SortDownIcon, TiArrowSortedUp as SortUpIcon, TiArrowUnsorted as SortUnsortedIcon, TiCancel as CancelIcon, } from 'react-icons/ti';
|
|
28
28
|
export { VscChromeMinimize as MinimizeIcon, VscJson as JsonIcon, VscLayoutSidebarLeft as EditorIcon, VscPass as CheckMarkIcon, VscSplitHorizontal as SplitIcon, VscTerminalPowershell as PowershellIcon, VscTerminalPowershell as RunWorkflowIcon, } from 'react-icons/vsc';
|
package/dist/icons.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import cx from "classnames";
|
|
2
2
|
import { jsx } from "react/jsx-runtime";
|
|
3
3
|
import { BiBell as UnmuteIcon, BiBellOff as MuteIcon, BiBuildings as OrganizationIcon, BiError as ErrorIcon, BiExpandVertical as ExpandVerticalIcon, BiPause as PauseIcon, BiPlay as StartIcon, BiSolidCheckShield as ShieldIcon, BiSolidTrashAlt as TrashIcon, BiStop as StopIcon } from "react-icons/bi";
|
|
4
|
-
import { BsArrowsCollapse as CollapseIcon, BsBank2 as GovernmentIcon, BsBriefcase as BriefcaseIcon, BsBucket as BucketIcon, BsCalendarX as CalendarOffIcon, BsChatLeft as CommentIcon, BsChevronDoubleDown as ChevronDoubleDownIcon, BsChevronDoubleUp as ChevronDoubleUpIcon, BsClipboardCheck as ClipboardCheckIcon, BsCurrencyDollar as MoneyIcon, BsDash as MinusIcon, BsFileEarmarkZip as ZipIcon, BsFiles as FilesIcon, BsGeoAlt as MapPinIcon, BsGrid as GridIcon, BsLayers as InfrastructureLayersIcon, BsLayoutThreeColumns as ColumnsIcon, BsListUl as ListViewIcon, BsMortarboard as EducationIcon, BsMusicNoteBeamed as MusicIcon, BsPersonPlus as AddUserIcon, BsSearch as SearchOutlineIcon, BsSend as SendIcon, BsShieldSlash as ShieldOffIcon, BsStar as PinIcon, BsStarFill as PinFilledIcon, BsStopCircle as StopCircleIcon, BsTag as TagIcon, BsTelephone as PhoneIcon, BsTerminal as UserWorkspaceIcon, BsTerminalFill as UserWorkspaceFillIcon, BsThreeDots as MoreIcon, BsThreeDotsVertical as MenuIcon, BsZoomIn as ChartZoomIcon } from "react-icons/bs";
|
|
4
|
+
import { BsArrowsCollapse as CollapseIcon, BsBank2 as GovernmentIcon, BsBriefcase as BriefcaseIcon, BsBucket as BucketIcon, BsCalendarX as CalendarOffIcon, BsChatLeft as CommentIcon, BsChevronDoubleDown as ChevronDoubleDownIcon, BsChevronDoubleUp as ChevronDoubleUpIcon, BsClipboardCheck as ClipboardCheckIcon, BsCurrencyDollar as MoneyIcon, BsDash as MinusIcon, BsFileEarmarkZip as ZipIcon, BsFiles as FilesIcon, BsGeoAlt as MapPinIcon, BsGrid as GridIcon, BsLayers as InfrastructureLayersIcon, BsLayoutThreeColumns as ColumnsIcon, BsListUl as ListViewIcon, BsMortarboard as EducationIcon, BsMusicNoteBeamed as MusicIcon, BsOpenai as OpenAIIcon, BsPersonPlus as AddUserIcon, BsSearch as SearchOutlineIcon, BsSend as SendIcon, BsShieldSlash as ShieldOffIcon, BsStar as PinIcon, BsStarFill as PinFilledIcon, BsStopCircle as StopCircleIcon, BsTag as TagIcon, BsTelephone as PhoneIcon, BsTerminal as UserWorkspaceIcon, BsTerminalFill as UserWorkspaceFillIcon, BsThreeDots as MoreIcon, BsThreeDotsVertical as MenuIcon, BsZoomIn as ChartZoomIcon } from "react-icons/bs";
|
|
5
5
|
import { FaAmazon as AmazonIcon, FaAngleDown as AngleDownIcon, FaAngleLeft as AngleLeftIcon, FaAngleRight as AngleRightIcon, FaAngleUp as AngleUpIcon, FaArrowDown as ArrowDownIcon, FaArrowLeft as ArrowLeftIcon, FaArrowRight as ArrowRightIcon, FaArrowUp as ArrowUpIcon, FaBalanceScale as LegalIcon, FaCaretDown as CaretDownIcon, FaCentos as CentOSIcon, FaChartLine as ChartIcon, FaChartPie as PieChartIcon, FaCheck as CheckIcon, FaChevronDown as ChevronDownIcon, FaChevronUp as ChevronUpIcon, FaChrome as ChromeIcon, FaCircleNotch, FaCloud as CloudIcon, FaCloudDownloadAlt as DownloadIcon, FaCog as CogIcon, FaCogs as GearsIcon, FaComments as ChatIcon, FaCompress as ShrinkIcon, FaDesktop as SnapshotIcon, FaDocker as DockerIcon, FaDollarSign as CostDashboardIcon, FaEdge as EdgeIcon, FaEdit as EditIcon, FaExclamationTriangle as WarningTriangleIcon, FaExpand as ExpandIcon, FaEye as HiddenFalseIcon, FaEyeSlash as HiddenTrueIcon, FaFile as FileSolidIcon, FaFilePdf as PdfSolidIcon, FaFilter as FilterIcon, FaFirefoxBrowser as FirefoxIcon, FaFlask as FlaskIcon, FaFolder as FolderSolidIcon, FaGithub as GitHubIcon, FaGitlab as GitLabIcon, FaGlobe as GlobeIcon, FaGlobeAmericas as MarketplaceIcon, FaGlobeAmericas as PublishIcon, FaImage as ImageSolidIcon, FaInfoCircle as InfoIcon, FaKey as KeyIcon, FaKey as PasswordIcon, FaLayerGroup as ResourceGroupIcon, FaLink as LinkIcon, FaLinkedin as LinkedInIcon, FaLinux as LinuxIcon, FaList as SchedulerIcon, FaLock as LockIcon, FaOpenid as OIDCIcon, FaOpera as OperaIcon, FaPaperclip as AttachmentIcon, FaPlus as AddIcon, FaPowerOff as PowerIcon, FaPrint as PrintIcon, FaQrcode as QRCodeIcon, FaQuestionCircle as UserGuideIcon, FaRedhat as RedHatIcon, FaRegCircle as NotRunningIcon, FaRegFileImage as ImageIcon, FaRegFolder as FolderIcon, FaRobot as RobotIcon, FaRocket as PartnerIcon, FaRunning as ExecuteWorkflow, FaSafari as SafariIcon, FaSave as SaveIcon, FaSearch as SearchIcon, FaShieldAlt as ShieldAltIcon, FaSlack as SlackIcon, FaStar as FeaturedIcon, FaStop as StopSolidIcon, FaSuse as SuseIcon, FaTerminal as TerminalIcon, FaTimes as TimesIcon, FaUbuntu as UbuntuIcon, FaUndoAlt as RetryIcon, FaUnlink as UnlinkIcon, FaUser as UserIcon, FaUsers as AccessIcon, FaUsers as SharingIcon, FaUsers as UsersIcon, FaWindows as WindowsIcon } from "react-icons/fa";
|
|
6
6
|
import { AiOutlineRollback as RollbackIcon } from "react-icons/ai";
|
|
7
7
|
import { FaApple as AppleIcon, FaArrowsRotate as RefreshArrowsIcon, FaDebian as DebianIcon, FaFilterCircleXmark as FilterClearIcon, FaInbox as NotificationInboxIcon, FaLocationDot as IpAddressIcon, FaRegFilePdf as PdfIcon, FaRegFolderOpen as FolderOpenIcon, FaUpRightFromSquare as NewWindowIcon, FaWandMagicSparkles as CustomizeIcon, FaXTwitter as XTwitterIcon } from "react-icons/fa6";
|
|
@@ -17,7 +17,7 @@ import { IoCloudUploadOutline as CloudUploadIcon, IoDocumentTextOutline as Docum
|
|
|
17
17
|
import { LuArrowRight as ArrowRightStrokeIcon, LuBadgeCheck as LicenseIcon, LuBrainCircuit as MlIcon, LuCalendar as CalendarIcon, LuCheck as CheckStrokeIcon, LuChevronLeft as ChevronLeftIcon, LuChevronRight as ChevronRightIcon, LuExternalLink as ExternalLink, LuEye as EyeIcon, LuEyeOff as EyeOffIcon, LuFolderTree as FolderTreeIcon, LuIdCard as IdCardIcon, LuLogs as EventsIcon, LuMail as MailIcon, LuMegaphone as MegaphoneIcon, LuMoon as MoonIcon, LuPartyPopper as CelebrateIcon, LuSettings2 as DisplayIcon, LuSheet as SpreadsheetIcon, LuShield as ShieldOutlineIcon, LuSun as SunIcon, LuX as XStrokeIcon, LuZoomIn as ZoomInIcon, LuZoomOut as ZoomOutIcon } from "react-icons/lu";
|
|
18
18
|
import { MdClear as ClearIcon, MdDragHandle as DragHandleIcon, MdInstallDesktop as InstallIcon, MdOutlineAttachMoney as EnableCostIcon, MdOutlineMoneyOff as DisableCostIcon, MdPieChart as QuotaIcon, MdRefresh as RefreshIcon, MdReplay as ReplayIcon, MdSmartphone as MFA } from "react-icons/md";
|
|
19
19
|
import { PiArrowBendUpRightBold as OpenInNewGraphIcon, PiPlugsConnectedFill as ConnectIcon, PiRectangleDashed as KubernetesNamespaceIcon, PiShareBold as ShareIcon } from "react-icons/pi";
|
|
20
|
-
import { SiAnthropic as AnthropicIcon, SiHelm as HelmIcon, SiKubernetes as KubernetesIcon
|
|
20
|
+
import { SiAnthropic as AnthropicIcon, SiHelm as HelmIcon, SiKubernetes as KubernetesIcon } from "react-icons/si";
|
|
21
21
|
import { TbAlertTriangle as AlertIcon, TbAlertTriangleFilled as AlertFillIcon, TbApi as APIIcon, TbBrain as ThinkingIcon, TbBuildingTunnel as TunnelIcon, TbEdit as NewChatIcon, TbLayoutSidebar as SidebarIcon, TbLayoutSidebarLeftCollapse as SidebarOpenIcon, TbLayoutSidebarRightCollapse as SidebarCloseIcon, TbUser as EnableUserIcon, TbUserOff as DisableUserIcon, TbWorldShare as EndpointIcon, TbWorldWww as SubdomainIcon } from "react-icons/tb";
|
|
22
22
|
import { TiArrowSortedDown as SortDownIcon, TiArrowSortedUp as SortUpIcon, TiArrowUnsorted as SortUnsortedIcon, TiCancel as CancelIcon } from "react-icons/ti";
|
|
23
23
|
import { VscChromeMinimize as MinimizeIcon, VscJson as JsonIcon, VscLayoutSidebarLeft as EditorIcon, VscPass as CheckMarkIcon, VscSplitHorizontal as SplitIcon, VscTerminalPowershell as PowershellIcon, VscTerminalPowershell as RunWorkflowIcon } from "react-icons/vsc";
|
package/dist/index.d.ts
CHANGED
|
@@ -31,7 +31,7 @@ export { default as MultiSelectDropdown } from './components/MultiSelect.js';
|
|
|
31
31
|
export { Overview } from './components/Overview.js';
|
|
32
32
|
export { BreadcrumbsActionButton, BreadcrumbsRightAction, BreadcrumbsTitleAction, HeaderActionMenu, HeaderAddButton, HeaderEditButton, HeaderRowMenu, headerActionButtonClasses, PageHeader, type PageHeaderBreadcrumb, type PageHeaderCrumb, } from './components/PageHeader.js';
|
|
33
33
|
export { Pagination } from './components/Pagination.js';
|
|
34
|
-
export { type PersistedStateHook, type RunFileResult, type UIData, type UILinkComponent, type UINavigation, type UINotify, UIProvider, type UISlots, type UIStrings, useNavigation, useNotify, useOptionalWorkflowEngine, usePersistedState, useProvisionCorsRules, useRunFile, useSlots, useStrings, useWorkflowEngine, useWorkflowEngineLoader, type WorkflowEngineSource, } from './components/Provider.js';
|
|
34
|
+
export { type PersistedStateHook, type RunFileResult, type UIData, type UILinkComponent, type UINavigation, type UINotify, UIProvider, type UISlots, type UIStrings, type UIToastId, type UIToastOptions, type UIToastUpdate, useNavigation, useNotify, useOptionalWorkflowEngine, usePersistedState, useProvisionCorsRules, useRunFile, useSlots, useStrings, useWorkflowEngine, useWorkflowEngineLoader, type WorkflowEngineSource, } from './components/Provider.js';
|
|
35
35
|
export { RequiredMark } from './components/RequiredMark.js';
|
|
36
36
|
export { useRelativeTime } from './components/relativeTime.js';
|
|
37
37
|
export { default as SectionHeader } from './components/SectionHeader.js';
|
|
@@ -117,7 +117,11 @@ function ListDisplayMenu({ view, label }) {
|
|
|
117
117
|
children: [/* @__PURE__ */ jsx("span", {
|
|
118
118
|
className: "text-[13px] text-(--theme-app)",
|
|
119
119
|
children: t.grouping
|
|
120
|
-
}), /* @__PURE__ */ jsx(
|
|
120
|
+
}), /* @__PURE__ */ jsx(OptionDropdown, {
|
|
121
|
+
options: view.groupBys,
|
|
122
|
+
value: view.groupBy,
|
|
123
|
+
onSelect: view.setGroupBy
|
|
124
|
+
})]
|
|
121
125
|
}),
|
|
122
126
|
view.orderBys.length > 0 && /* @__PURE__ */ jsxs("div", {
|
|
123
127
|
className: cx("flex items-center justify-between gap-3", hasGrouping && "mt-2.5"),
|
|
@@ -133,7 +137,11 @@ function ListDisplayMenu({ view, label }) {
|
|
|
133
137
|
title: orderDirLabel,
|
|
134
138
|
className: "flex h-7 w-7 items-center justify-center rounded-md border border-(--theme-border) text-(--theme-muted-text-color) hover:bg-(--theme-muted-panel-bg) hover:text-(--theme-app)",
|
|
135
139
|
children: view.orderDir === "asc" ? /* @__PURE__ */ jsx(ChevronUpIcon, { className: "h-3 w-3" }) : /* @__PURE__ */ jsx(ChevronDownIcon, { className: "h-3 w-3" })
|
|
136
|
-
}), /* @__PURE__ */ jsx(
|
|
140
|
+
}), /* @__PURE__ */ jsx(OptionDropdown, {
|
|
141
|
+
options: view.orderBys,
|
|
142
|
+
value: view.orderBy,
|
|
143
|
+
onSelect: view.setOrderBy
|
|
144
|
+
})]
|
|
137
145
|
})]
|
|
138
146
|
}),
|
|
139
147
|
/* @__PURE__ */ jsxs("div", {
|
|
@@ -228,38 +236,12 @@ function useCloseOnOutsideClick(open, close) {
|
|
|
228
236
|
}, [open, close]);
|
|
229
237
|
return ref;
|
|
230
238
|
}
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
const [open, setOpen] = useState(false);
|
|
234
|
-
const ref = useCloseOnOutsideClick(open, useCallback(() => setOpen(false), []));
|
|
235
|
-
const current = view.groupBys.find((g) => g.value === view.groupBy);
|
|
236
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
237
|
-
ref,
|
|
238
|
-
className: "relative",
|
|
239
|
-
children: [/* @__PURE__ */ jsxs("button", {
|
|
240
|
-
type: "button",
|
|
241
|
-
onClick: () => setOpen((o) => !o),
|
|
242
|
-
className: "flex items-center gap-1.5 rounded-md border border-(--theme-border) px-2 py-1 text-[12px] text-(--theme-app) hover:bg-(--theme-muted-panel-bg)",
|
|
243
|
-
children: [current?.label ?? t.none, /* @__PURE__ */ jsx(ChevronDownIcon, { className: "h-2.5 w-2.5 opacity-60" })]
|
|
244
|
-
}), open && /* @__PURE__ */ jsx("div", {
|
|
245
|
-
className: cx("absolute right-0 top-full z-20 mt-1", FLYOUT),
|
|
246
|
-
children: view.groupBys.map((g) => /* @__PURE__ */ jsxs("button", {
|
|
247
|
-
type: "button",
|
|
248
|
-
onClick: () => {
|
|
249
|
-
view.setGroupBy(g.value);
|
|
250
|
-
setOpen(false);
|
|
251
|
-
},
|
|
252
|
-
className: cx("flex w-full items-center justify-between gap-3 px-3 py-1.5 text-left text-[13px] hover:bg-(--theme-muted-panel-bg)", view.groupBy === g.value ? "text-(--theme-app)" : "text-(--theme-muted-text-color)"),
|
|
253
|
-
children: [g.label, view.groupBy === g.value && /* @__PURE__ */ jsx(CheckIcon, { className: "h-3 w-3" })]
|
|
254
|
-
}, g.value))
|
|
255
|
-
})]
|
|
256
|
-
});
|
|
257
|
-
}
|
|
258
|
-
function OrderingDropdown({ view }) {
|
|
239
|
+
/** Single-choice picker for the Display menu's grouping and ordering rows. */
|
|
240
|
+
function OptionDropdown({ options, value, onSelect }) {
|
|
259
241
|
const t = useStrings().list;
|
|
260
242
|
const [open, setOpen] = useState(false);
|
|
261
243
|
const ref = useCloseOnOutsideClick(open, useCallback(() => setOpen(false), []));
|
|
262
|
-
const current =
|
|
244
|
+
const current = options.find((o) => o.value === value);
|
|
263
245
|
return /* @__PURE__ */ jsxs("div", {
|
|
264
246
|
ref,
|
|
265
247
|
className: "relative",
|
|
@@ -270,14 +252,14 @@ function OrderingDropdown({ view }) {
|
|
|
270
252
|
children: [current?.label ?? t.none, /* @__PURE__ */ jsx(ChevronDownIcon, { className: "h-2.5 w-2.5 opacity-60" })]
|
|
271
253
|
}), open && /* @__PURE__ */ jsx("div", {
|
|
272
254
|
className: cx("absolute right-0 top-full z-20 mt-1", FLYOUT),
|
|
273
|
-
children:
|
|
255
|
+
children: options.map((o) => /* @__PURE__ */ jsxs("button", {
|
|
274
256
|
type: "button",
|
|
275
257
|
onClick: () => {
|
|
276
|
-
|
|
258
|
+
onSelect(o.value);
|
|
277
259
|
setOpen(false);
|
|
278
260
|
},
|
|
279
|
-
className: cx("flex w-full items-center justify-between gap-3 px-3 py-1.5 text-left text-[13px] hover:bg-(--theme-muted-panel-bg)",
|
|
280
|
-
children: [o.label,
|
|
261
|
+
className: cx("flex w-full items-center justify-between gap-3 px-3 py-1.5 text-left text-[13px] hover:bg-(--theme-muted-panel-bg)", value === o.value ? "text-(--theme-app)" : "text-(--theme-muted-text-color)"),
|
|
262
|
+
children: [o.label, value === o.value && /* @__PURE__ */ jsx(CheckIcon, { className: "h-3 w-3" })]
|
|
281
263
|
}, o.value))
|
|
282
264
|
})]
|
|
283
265
|
});
|
|
@@ -21,7 +21,7 @@ function toRowMenuItem(action) {
|
|
|
21
21
|
kind: "action",
|
|
22
22
|
label: action.label,
|
|
23
23
|
icon: action.icon,
|
|
24
|
-
onSelect: action.onSelect
|
|
24
|
+
onSelect: action.onSelect,
|
|
25
25
|
disabled: action.disabled,
|
|
26
26
|
destructive: action.destructive,
|
|
27
27
|
tooltip: action.tooltip
|
|
@@ -315,15 +315,15 @@ function useCopySubmenu() {
|
|
|
315
315
|
value: e.value,
|
|
316
316
|
icon: e.icon ?? /* @__PURE__ */ jsx(CopyIcon, {})
|
|
317
317
|
}))
|
|
318
|
-
].
|
|
318
|
+
].flatMap(({ label, value, icon }) => value ? [{
|
|
319
319
|
kind: "action",
|
|
320
|
-
label: t.copy(
|
|
321
|
-
icon
|
|
320
|
+
label: t.copy(label),
|
|
321
|
+
icon,
|
|
322
322
|
copy: {
|
|
323
|
-
text:
|
|
324
|
-
label
|
|
323
|
+
text: value,
|
|
324
|
+
label
|
|
325
325
|
}
|
|
326
|
-
})
|
|
326
|
+
}] : []);
|
|
327
327
|
return {
|
|
328
328
|
kind: "submenu",
|
|
329
329
|
label: t.copyMenu,
|
|
@@ -336,15 +336,13 @@ function LogViewer({ log, height = "unset", width, roundedBottom = false, lineNu
|
|
|
336
336
|
};
|
|
337
337
|
scrollAnimationRef.current = requestAnimationFrame(animate);
|
|
338
338
|
}, []);
|
|
339
|
-
const
|
|
340
|
-
|
|
341
|
-
if (location === "top") ref.current.scroll({
|
|
339
|
+
const scrollToTop = () => {
|
|
340
|
+
logContainerRef.current?.scroll({
|
|
342
341
|
top: 0,
|
|
343
342
|
left: 0,
|
|
344
343
|
behavior: "smooth"
|
|
345
344
|
});
|
|
346
|
-
|
|
347
|
-
}, [smoothScrollToBottom]);
|
|
345
|
+
};
|
|
348
346
|
useEffect(() => {
|
|
349
347
|
const container = logContainerRef.current;
|
|
350
348
|
if (!container || inline) return;
|
|
@@ -400,7 +398,7 @@ function LogViewer({ log, height = "unset", width, roundedBottom = false, lineNu
|
|
|
400
398
|
};
|
|
401
399
|
useEffect(() => {
|
|
402
400
|
if (!log) return;
|
|
403
|
-
const lines =
|
|
401
|
+
const lines = log.split("\n");
|
|
404
402
|
const cleanedLines = lines[lines.length - 1] === "" ? lines.slice(0, -1) : lines;
|
|
405
403
|
const isAppending = cleanedLines.length > prevLogLengthRef.current;
|
|
406
404
|
prevLogLengthRef.current = cleanedLines.length;
|
|
@@ -495,7 +493,7 @@ function LogViewer({ log, height = "unset", width, roundedBottom = false, lineNu
|
|
|
495
493
|
const visibleCount = Math.ceil(clientHeight / LINE_HEIGHT) + 40;
|
|
496
494
|
setVisibleStart(0);
|
|
497
495
|
setVisibleEnd(Math.min(parsedLog.length, visibleCount));
|
|
498
|
-
|
|
496
|
+
scrollToTop();
|
|
499
497
|
} else {
|
|
500
498
|
setVisibleStart(0);
|
|
501
499
|
setVisibleEnd(50);
|
|
@@ -533,7 +531,7 @@ function LogViewer({ log, height = "unset", width, roundedBottom = false, lineNu
|
|
|
533
531
|
type: "button",
|
|
534
532
|
className: "btn btn-neutral",
|
|
535
533
|
onClick: () => {
|
|
536
|
-
|
|
534
|
+
scrollToTop();
|
|
537
535
|
updateFollow(false);
|
|
538
536
|
},
|
|
539
537
|
children: [/* @__PURE__ */ jsx(ArrowUpIcon, {}), /* @__PURE__ */ jsx("span", { children: t.top })]
|
|
@@ -734,7 +732,7 @@ function LogViewer({ log, height = "unset", width, roundedBottom = false, lineNu
|
|
|
734
732
|
children: copied ? /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(CheckIcon, { className: "text-green-500 w-3.5 h-3.5" }), /* @__PURE__ */ jsx("span", { children: tCommon.copied })] }) : /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(CopyIcon, { className: "w-3.5 h-3.5" }), /* @__PURE__ */ jsx("span", { children: tCommon.copy })] })
|
|
735
733
|
}),
|
|
736
734
|
(additionalBottomLeftBarComponents || additionalBottomRightBarComponents) && /* @__PURE__ */ jsxs("div", {
|
|
737
|
-
className:
|
|
735
|
+
className: "flex theme-panel select-none items-center gap-x-2 p-2",
|
|
738
736
|
children: [/* @__PURE__ */ jsx("div", {
|
|
739
737
|
className: cx("w-full flex flex-row gap-x-2 items-center", hideExpand && "justify-between"),
|
|
740
738
|
children: /* @__PURE__ */ jsx("div", {
|
|
@@ -31,9 +31,9 @@ function highlightSegments(segments, searchTerm) {
|
|
|
31
31
|
if (!searchTerm) return segments;
|
|
32
32
|
const haystack = segments.map((segment) => segment.content).join("").toLowerCase();
|
|
33
33
|
const needle = searchTerm.toLowerCase();
|
|
34
|
-
if (!haystack.includes(needle)) return segments;
|
|
35
|
-
const matchStarts = [];
|
|
36
34
|
let found = haystack.indexOf(needle);
|
|
35
|
+
if (found === -1) return segments;
|
|
36
|
+
const matchStarts = [];
|
|
37
37
|
while (found !== -1) {
|
|
38
38
|
matchStarts.push(found);
|
|
39
39
|
found = haystack.indexOf(needle, found + needle.length);
|