@parallelworks/ui 0.11.0 → 0.12.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.
- package/dist/chunks/{CreateModal-BnK7mT0s.js → CreateModal-DLCC8t_x.js} +8 -4
- package/dist/chunks/{PageHeader-gNiEcD23.js → PageHeader-dyoL44ue.js} +9 -3
- package/dist/chunks/{list-v1mrhiNw.js → list-CWVR3dfZ.js} +6 -3
- package/dist/components/Provider.d.ts +3 -0
- package/dist/file-explorer/index.d.ts +1 -1
- package/dist/file-explorer/index.js +19 -10
- package/dist/file-explorer/lib/fileExplorer.d.ts +3 -1
- package/dist/file-explorer/lib/utils.d.ts +1 -0
- package/dist/icons.d.ts +1 -1
- package/dist/icons.js +2 -2
- package/dist/index.js +2 -2
- package/dist/list/ListPage.d.ts +5 -1
- package/dist/list/index.js +2 -2
- package/dist/workflow/index.js +9 -1
- package/package.json +2 -2
|
@@ -3,7 +3,7 @@ import { c as useStrings, i as useNotify } from "./Provider-CfFV-vc5.js";
|
|
|
3
3
|
import { n as TOOLTIP_ID } from "./Tooltip-WgbiC_nd.js";
|
|
4
4
|
import { i as filterOption, l as toggleSetMember } from "./StatusBadge-P6C2tv7Z.js";
|
|
5
5
|
import { n as modalPanelClasses, t as BareModal } from "./BareModal-DBa84JZO.js";
|
|
6
|
-
import { S as AddMenu } from "./PageHeader-
|
|
6
|
+
import { S as AddMenu } from "./PageHeader-dyoL44ue.js";
|
|
7
7
|
import cx from "classnames";
|
|
8
8
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
9
9
|
import { Suspense, lazy, useCallback, useEffect, useRef, useState } from "react";
|
|
@@ -127,6 +127,9 @@ function ConfirmModal({ open, onClose, title, description, children, confirmLabe
|
|
|
127
127
|
await onConfirm();
|
|
128
128
|
if (closeOnConfirm) onCloseRef.current();
|
|
129
129
|
else firedRef.current = false;
|
|
130
|
+
} catch (error) {
|
|
131
|
+
firedRef.current = false;
|
|
132
|
+
throw error;
|
|
130
133
|
} finally {
|
|
131
134
|
setPending(false);
|
|
132
135
|
}
|
|
@@ -578,12 +581,13 @@ function CreateModalSelectPanel({ open, options, label, value, collapsedLabel, o
|
|
|
578
581
|
* icons and group headers (e.g. Clusters vs Kubernetes). */
|
|
579
582
|
function CreateModalSelect({ label, icon, value, options, onChange, disabled = false, disabledHint, tooltip, collapsedLabel }) {
|
|
580
583
|
const selected = options.find((o) => o.value === value);
|
|
584
|
+
const selectedLabel = selected?.label ?? (value || void 0);
|
|
581
585
|
const pillContent = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
582
586
|
selected?.icon ?? icon,
|
|
583
|
-
|
|
587
|
+
selectedLabel ? /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx("span", {
|
|
584
588
|
className: "font-normal text-(--theme-muted-text-color)",
|
|
585
589
|
children: label
|
|
586
|
-
}),
|
|
590
|
+
}), selectedLabel] }) : label,
|
|
587
591
|
/* @__PURE__ */ jsx(ChevronDownIcon, { className: "w-3 h-3 opacity-60" })
|
|
588
592
|
] });
|
|
589
593
|
if (disabled) return /* @__PURE__ */ jsx("button", {
|
|
@@ -599,7 +603,7 @@ function CreateModalSelect({ label, icon, value, options, onChange, disabled = f
|
|
|
599
603
|
});
|
|
600
604
|
return /* @__PURE__ */ jsx(Menu, { children: ({ open }) => /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(MenuButton, {
|
|
601
605
|
"aria-label": label,
|
|
602
|
-
className: cx("inline-flex h-7 rounded-md border border-(--theme-border) text-xs font-medium transition-colors hover:bg-(--theme-muted-panel-bg)",
|
|
606
|
+
className: cx("inline-flex h-7 rounded-md border border-(--theme-border) text-xs font-medium transition-colors hover:bg-(--theme-muted-panel-bg)", selectedLabel ? "text-(--theme-app)" : "text-(--theme-muted-text-color)"),
|
|
603
607
|
children: /* @__PURE__ */ jsx(PillTooltip, {
|
|
604
608
|
content: tooltip,
|
|
605
609
|
className: "px-2",
|
|
@@ -522,7 +522,7 @@ function BreadcrumbsActionButton({ icon: Icon, label, ariaLabel, to, onClick, di
|
|
|
522
522
|
function PageHeader({ breadcrumbs, title, titleAction, actions, toolbar, className, sticky = true, stickyTopClassName = "top-0" }) {
|
|
523
523
|
const { setHidden } = useBreadcrumb();
|
|
524
524
|
const Link = useLink();
|
|
525
|
-
const { breadcrumbPin } = useSlots();
|
|
525
|
+
const { breadcrumbPin, navToggle } = useSlots();
|
|
526
526
|
useLayoutEffect(() => {
|
|
527
527
|
setHidden(true);
|
|
528
528
|
return () => setHidden(false);
|
|
@@ -559,11 +559,17 @@ function PageHeader({ breadcrumbs, title, titleAction, actions, toolbar, classNa
|
|
|
559
559
|
className: "flex items-center gap-1.5 shrink-0",
|
|
560
560
|
children: actions
|
|
561
561
|
});
|
|
562
|
+
const toggle = navToggle?.();
|
|
563
|
+
const hasLeading = !!crumbRow || !!toggle;
|
|
564
|
+
const leading = hasLeading ? /* @__PURE__ */ jsxs("div", {
|
|
565
|
+
className: "flex items-center gap-2 min-w-0",
|
|
566
|
+
children: [toggle, crumbRow]
|
|
567
|
+
}) : /* @__PURE__ */ jsx("div", {});
|
|
562
568
|
return /* @__PURE__ */ jsxs("div", {
|
|
563
569
|
className: cx(sticky && cx("sticky z-20", stickyTopClassName), "w-full bg-(--theme-app-bg)", className),
|
|
564
570
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
565
|
-
className: cx("flex items-center justify-between gap-6 px-4 h-11",
|
|
566
|
-
children: [
|
|
571
|
+
className: cx("flex items-center justify-between gap-6 px-4 h-11", hasLeading && "border-b border-(--theme-border)"),
|
|
572
|
+
children: [leading, actionCluster]
|
|
567
573
|
}), toolbar && /* @__PURE__ */ jsx("div", {
|
|
568
574
|
className: "px-4",
|
|
569
575
|
children: toolbar
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CheckIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, DisplayIcon, ErrorIcon, FilterIcon, MenuIcon, SearchIcon, XIcon } from "../icons.js";
|
|
2
2
|
import { c as useStrings, n as useLink, r as useNavigation } from "./Provider-CfFV-vc5.js";
|
|
3
3
|
import { n as TOOLTIP_ID, r as TooltipInfo } from "./Tooltip-WgbiC_nd.js";
|
|
4
|
-
import { c as PageHeader, f as rowContextMenuProps, g as useRowMenuActive, l as MoreButton } from "./PageHeader-
|
|
4
|
+
import { c as PageHeader, f as rowContextMenuProps, g as useRowMenuActive, l as MoreButton } from "./PageHeader-dyoL44ue.js";
|
|
5
5
|
import { n as Table } from "./Table-ByziK93x.js";
|
|
6
6
|
import cx from "classnames";
|
|
7
7
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -368,10 +368,13 @@ function ListRowActionsProvider({ view, children }) {
|
|
|
368
368
|
children
|
|
369
369
|
});
|
|
370
370
|
}
|
|
371
|
-
function ListPage({ section = "main", shellPadded, breadcrumbs, title, titleAction, actions, toolbar, view, children }) {
|
|
371
|
+
function ListPage({ section = "main", shellPadded, embedded = false, breadcrumbs, title, titleAction, actions, toolbar, view, children }) {
|
|
372
372
|
return /* @__PURE__ */ jsxs("div", {
|
|
373
373
|
className: cx("flex h-full min-h-0 flex-col", (shellPadded ?? SECTION_SHELL_PADDED[section]) && "-m-4"),
|
|
374
|
-
children: [/* @__PURE__ */ jsx(
|
|
374
|
+
children: [embedded ? toolbar && /* @__PURE__ */ jsx("div", {
|
|
375
|
+
className: "px-4 py-1.5",
|
|
376
|
+
children: toolbar
|
|
377
|
+
}) : /* @__PURE__ */ jsx(PageHeader, {
|
|
375
378
|
stickyTopClassName: SECTION_STICKY_TOP[section],
|
|
376
379
|
breadcrumbs,
|
|
377
380
|
title,
|
|
@@ -465,6 +465,9 @@ export interface UISlots {
|
|
|
465
465
|
breadcrumbPin?: (args: {
|
|
466
466
|
crumbs: readonly PageHeaderCrumb[];
|
|
467
467
|
}) => ReactNode;
|
|
468
|
+
/** Control rendered at the start of the page header row, before the crumb
|
|
469
|
+
* trail — the host's app-nav toggle. Absent hides it. */
|
|
470
|
+
navToggle?: () => ReactNode;
|
|
468
471
|
}
|
|
469
472
|
export interface UIProviderValue {
|
|
470
473
|
notify: UINotify;
|
|
@@ -7,4 +7,4 @@ export { LIST_PAGE_SIZE } from './lib/paging.js';
|
|
|
7
7
|
export type { TreeNode, TStorage, TStorageObject } from './lib/types.js';
|
|
8
8
|
export { CorsError } from './lib/errors.js';
|
|
9
9
|
export { chunk, mapWithConcurrency, paginate } from './lib/batch.js';
|
|
10
|
-
export { collectObjectKeysToDelete, getObjectKeyFromNode, isClientValid, removeLeadingAndTrailingSlashes, } from './lib/utils.js';
|
|
10
|
+
export { attachmentDisposition, collectObjectKeysToDelete, getObjectKeyFromNode, isClientValid, removeLeadingAndTrailingSlashes, } from './lib/utils.js';
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { AccessIcon, AlertIcon, AngleDownIcon, AngleRightIcon, AngleUpIcon, ChevronLeftIcon, ChevronRightIcon, ClipboardIcon, CloseIcon, CloudUploadIcon, CollapseIcon, CustomizeIcon, DiskIcon, DocumentIcon, DownloadFileIcon, ExpandIcon, ExpandVerticalIcon, EyeIcon, FileIcon, FileTextIcon, FolderIcon, FolderOpenIcon, ImageIcon, LinkIcon, LockIcon, MinimizeIcon, MusicIcon, PdfIcon, RefreshIcon, ShareIcon, SpreadsheetIcon, SuccessIcon, TrashIcon, UploadIcon, UserIcon, VideoIcon, ZipIcon, ZoomInIcon, ZoomOutIcon } from "../icons.js";
|
|
2
|
-
import { c as ConfirmModal, f as Markdown, h as Callout, m as CopyToClipboard, n as CreateModal, p as CopyCodeBlock } from "../chunks/CreateModal-
|
|
2
|
+
import { c as ConfirmModal, f as Markdown, h as Callout, m as CopyToClipboard, n as CreateModal, p as CopyCodeBlock } from "../chunks/CreateModal-DLCC8t_x.js";
|
|
3
3
|
import { a as useProvisionCorsRules, c as useStrings, i as useNotify, s as useSlots } from "../chunks/Provider-CfFV-vc5.js";
|
|
4
4
|
import { n as TOOLTIP_ID, r as TooltipInfo } from "../chunks/Tooltip-WgbiC_nd.js";
|
|
5
5
|
import { t as StatusBadge } from "../chunks/StatusBadge-P6C2tv7Z.js";
|
|
6
6
|
import { t as Loader } from "../chunks/Loader-BXoXTZGc.js";
|
|
7
|
-
import { d as copySubmenu, g as useRowMenuActive, h as useRowMenu, l as MoreButton, u as assembleRowMenu } from "../chunks/PageHeader-
|
|
7
|
+
import { d as copySubmenu, g as useRowMenuActive, h as useRowMenu, l as MoreButton, u as assembleRowMenu } from "../chunks/PageHeader-dyoL44ue.js";
|
|
8
8
|
import { n as Table } from "../chunks/Table-ByziK93x.js";
|
|
9
|
-
import { C as ListSkeleton, E as RowSelectCheckbox, O as listTableFixedProps, k as listTableProps, x as ListActionsHeader } from "../chunks/list-
|
|
9
|
+
import { C as ListSkeleton, E as RowSelectCheckbox, O as listTableFixedProps, k as listTableProps, x as ListActionsHeader } from "../chunks/list-CWVR3dfZ.js";
|
|
10
10
|
import cx from "classnames";
|
|
11
11
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
12
12
|
import { Suspense, createContext, lazy, memo, use, useCallback, useEffect, useEffectEvent, useId, useLayoutEffect, useMemo, useRef, useState, useTransition } from "react";
|
|
@@ -239,6 +239,9 @@ function calculateUploadNodesTotalSize(uploadNodes) {
|
|
|
239
239
|
function getObjectKeyFromNode(node) {
|
|
240
240
|
return node.relativePath || node.path.split("/").filter(Boolean).slice(1).join("/");
|
|
241
241
|
}
|
|
242
|
+
function attachmentDisposition(filename) {
|
|
243
|
+
return `attachment; filename="${filename.replace(/[^\x20-\x7e]|["\\]/g, "_")}"; filename*=UTF-8''${encodeURIComponent(filename).replace(/['()*]/g, (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`)}`;
|
|
244
|
+
}
|
|
242
245
|
function getDirectoryPrefixFromNode(node) {
|
|
243
246
|
const key = getObjectKeyFromNode(node);
|
|
244
247
|
if (!key) throw new Error(`Cannot resolve an object prefix for ${node.path}`);
|
|
@@ -4383,7 +4386,10 @@ function FileExplorer({ storages, onRefresh, showUserHierarchy = false, groups =
|
|
|
4383
4386
|
notify.error(t.messages.storageUnavailable);
|
|
4384
4387
|
return;
|
|
4385
4388
|
}
|
|
4386
|
-
const { provider, client } = await getProviderAndClient(storage)
|
|
4389
|
+
const { provider, client } = await getProviderAndClient(storage).catch(() => ({
|
|
4390
|
+
provider: null,
|
|
4391
|
+
client: null
|
|
4392
|
+
}));
|
|
4387
4393
|
if (!provider || !client) {
|
|
4388
4394
|
const message = t.messages.connectFailed;
|
|
4389
4395
|
updateConnectionIssuesMessage((prev) => new Map(prev).set(storage.id, message));
|
|
@@ -4638,7 +4644,7 @@ function FileExplorer({ storages, onRefresh, showUserHierarchy = false, groups =
|
|
|
4638
4644
|
return;
|
|
4639
4645
|
}
|
|
4640
4646
|
for (const [index, node] of filesToDownload.entries()) {
|
|
4641
|
-
const input = provider.getFileInput(node.storageName ?? "", node);
|
|
4647
|
+
const input = provider.getFileInput(node.storageName ?? "", node, void 0, node.name);
|
|
4642
4648
|
const [presignedUrl, error] = await client.getFile(input);
|
|
4643
4649
|
if (error || !presignedUrl) {
|
|
4644
4650
|
notify.error(error?.message ?? t.messages.downloadLinkFailed);
|
|
@@ -4676,12 +4682,12 @@ function FileExplorer({ storages, onRefresh, showUserHierarchy = false, groups =
|
|
|
4676
4682
|
document.body.removeChild(a);
|
|
4677
4683
|
}, 300);
|
|
4678
4684
|
};
|
|
4679
|
-
const getPresignedUrl = async (node) => {
|
|
4685
|
+
const getPresignedUrl = async (node, downloadFilename) => {
|
|
4680
4686
|
const factory = await getStorageProviderAndClient(node.storageId);
|
|
4681
4687
|
if (!factory) return [null, /* @__PURE__ */ new Error("Failed to connect to storage provider.")];
|
|
4682
4688
|
const { provider, client } = factory;
|
|
4683
4689
|
if (!provider?.getFileInput) return [null, /* @__PURE__ */ new Error("Preview is not supported for this storage.")];
|
|
4684
|
-
const input = provider.getFileInput(node.storageName ?? "", node, PREVIEW_URL_EXPIRES_IN);
|
|
4690
|
+
const input = provider.getFileInput(node.storageName ?? "", node, PREVIEW_URL_EXPIRES_IN, downloadFilename);
|
|
4685
4691
|
return client.getFile(input);
|
|
4686
4692
|
};
|
|
4687
4693
|
const previewSiblings = useMemo(() => previewNode ? getNodeChildren(parentToChildrenMap, getParentPath(previewNode.path)).filter((n) => n.type === "file") : [], [previewNode, parentToChildrenMap]);
|
|
@@ -4720,7 +4726,7 @@ function FileExplorer({ storages, onRefresh, showUserHierarchy = false, groups =
|
|
|
4720
4726
|
}
|
|
4721
4727
|
};
|
|
4722
4728
|
const downloadNode = async (node) => {
|
|
4723
|
-
const [presignedUrl, error] = await getPresignedUrl(node);
|
|
4729
|
+
const [presignedUrl, error] = await getPresignedUrl(node, node.name);
|
|
4724
4730
|
if (error || !presignedUrl) {
|
|
4725
4731
|
notify.error(error?.message ?? t.messages.downloadLinkFailed);
|
|
4726
4732
|
return;
|
|
@@ -4973,7 +4979,10 @@ function FileExplorer({ storages, onRefresh, showUserHierarchy = false, groups =
|
|
|
4973
4979
|
return;
|
|
4974
4980
|
}
|
|
4975
4981
|
const factory = await getStorageProviderAndClient(targetNode.storageId);
|
|
4976
|
-
if (!factory)
|
|
4982
|
+
if (!factory) {
|
|
4983
|
+
notify.error(t.messages.connectFailed);
|
|
4984
|
+
return;
|
|
4985
|
+
}
|
|
4977
4986
|
const { storage, provider, client } = factory;
|
|
4978
4987
|
const storageName = storage.bucketName || storage.name;
|
|
4979
4988
|
const cleanTargetPath = targetNode.root ? "" : removeLeadingAndTrailingSlashes(targetNode.relativePath || "");
|
|
@@ -5635,4 +5644,4 @@ async function mapWithConcurrency(items, limit, worker) {
|
|
|
5635
5644
|
return results;
|
|
5636
5645
|
}
|
|
5637
5646
|
//#endregion
|
|
5638
|
-
export { CorsError, FileExplorer, FileExplorerProvider, LIST_PAGE_SIZE, NoDataAvailablePreview, SkeletonPreview, chunk, collectObjectKeysToDelete, getObjectKeyFromNode, isClientValid, mapWithConcurrency, paginate, removeLeadingAndTrailingSlashes, useFileExplorer };
|
|
5647
|
+
export { CorsError, FileExplorer, FileExplorerProvider, LIST_PAGE_SIZE, NoDataAvailablePreview, SkeletonPreview, attachmentDisposition, chunk, collectObjectKeysToDelete, getObjectKeyFromNode, isClientValid, mapWithConcurrency, paginate, removeLeadingAndTrailingSlashes, useFileExplorer };
|
|
@@ -26,7 +26,9 @@ export interface IFileExplorerProvider {
|
|
|
26
26
|
* the same bivariance reason as the two above. */
|
|
27
27
|
nextPageCursor?(data: unknown): string | undefined;
|
|
28
28
|
listDirectoryInput?: ((storage: TStorage, dir_path?: string, page?: TListPageRequest) => unknown) | null;
|
|
29
|
-
|
|
29
|
+
/** `downloadFilename` asks for a URL that saves under that name. Omit it for a
|
|
30
|
+
* link the user keeps, or for a read the app parses itself. */
|
|
31
|
+
getFileInput?: ((storageName: string, node: TreeNode, presignedUrlExpiresIn?: number, downloadFilename?: string) => unknown) | null;
|
|
30
32
|
deleteFilesInput?: ((storageName: string, nodes: TreeNode[]) => unknown) | null;
|
|
31
33
|
uploadFileInput?: ((storageName: string, objectPath: string, file: File | Blob) => unknown) | null;
|
|
32
34
|
}
|
|
@@ -20,6 +20,7 @@ export declare function getUploadNodesFromDataTransferItems(items: DataTransferI
|
|
|
20
20
|
}>;
|
|
21
21
|
export declare function calculateUploadNodesTotalSize(uploadNodes: UploadNode[]): number;
|
|
22
22
|
export declare function getObjectKeyFromNode(node: TreeNode): string;
|
|
23
|
+
export declare function attachmentDisposition(filename: string): string;
|
|
23
24
|
export declare function getDirectoryPrefixFromNode(node: TreeNode): string;
|
|
24
25
|
export declare function pruneNodesInsideSelectedDirectories(nodes: TreeNode[]): TreeNode[];
|
|
25
26
|
export declare function collectObjectKeysToDelete(nodes: TreeNode[], listKeysUnderPrefix: (prefix: string) => Promise<string[]>): Promise<string[]>;
|
package/dist/icons.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ 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, BiExpandVertical as ExpandVerticalIcon, BiBuildings as OrganizationIcon, BiPause as PauseIcon, BiSolidCheckShield as ShieldIcon, BiPlay as StartIcon, BiStop as StopIcon, BiSolidTrashAlt as TrashIcon, } from 'react-icons/bi';
|
|
8
8
|
export { BsStar as PinIcon, BsStarFill as PinFilledIcon, BsGrid as GridIcon, BsBucket as BucketIcon, BsArrowsCollapse as CollapseIcon, BsThreeDotsVertical as MenuIcon, BsThreeDots as MoreIcon, BsSearch as SearchOutlineIcon, BsTerminalFill as UserWorkspaceFillIcon, BsTerminal as UserWorkspaceIcon, BsFileEarmarkZip as ZipIcon, BsMusicNoteBeamed as MusicIcon, } from 'react-icons/bs';
|
|
9
|
-
export { FaAmazon as AmazonIcon, FaCentos as CentOSIcon, FaChrome as ChromeIcon, FaCog as CogIcon, FaEdge as EdgeIcon, FaFirefoxBrowser as FirefoxIcon, FaOpera as OperaIcon, FaSafari as SafariIcon, FaExclamationTriangle as WarningTriangleIcon, FaFile as FileSolidIcon, FaFilePdf as PdfSolidIcon, FaFolder as FolderSolidIcon, FaGithub as GitHubIcon, FaImage as ImageSolidIcon, FaLinux as LinuxIcon, FaPaperclip as AttachmentIcon, FaRedhat as RedHatIcon, FaRobot as RobotIcon, FaShieldAlt as ShieldAltIcon, FaStop as StopSolidIcon, FaSuse as SuseIcon, FaUbuntu as UbuntuIcon, FaUsers as AccessIcon, FaPlus as AddIcon, FaAngleDown as AngleDownIcon, FaAngleLeft as AngleLeftIcon, FaAngleRight as AngleRightIcon, FaAngleUp as AngleUpIcon, FaArrowDown as ArrowDownIcon, FaArrowLeft as ArrowLeftIcon, FaArrowRight as ArrowRightIcon, FaArrowUp as ArrowUpIcon, FaCaretDown as CaretDownIcon, FaChartLine as ChartIcon, FaComments as ChatIcon, FaCheck as CheckIcon, FaChevronDown as ChevronDownIcon, FaChevronUp as ChevronUpIcon, FaCloud as CloudIcon, FaDollarSign as CostDashboardIcon, FaDocker as DockerIcon, FaCloudDownloadAlt as DownloadIcon, FaEdit as EditIcon, FaRunning as ExecuteWorkflow, FaExpand as ExpandIcon, FaFilter as FilterIcon, FaFlask as FlaskIcon, FaRegFolder as FolderIcon, FaCogs as GearsIcon, FaGlobe as GlobeIcon, FaEye as HiddenFalseIcon, FaEyeSlash as HiddenTrueIcon, FaRegFileImage as ImageIcon, FaKey as KeyIcon, FaLink as LinkIcon, FaLock as LockIcon, FaGlobeAmericas as MarketplaceIcon, FaRegCircle as NotRunningIcon, FaOpenid as OIDCIcon, FaRocket as PartnerIcon, FaKey as PasswordIcon, FaChartPie as PieChartIcon, FaPowerOff as PowerIcon, FaPrint as PrintIcon, FaGlobeAmericas as PublishIcon, FaQrcode as QRCodeIcon, FaLayerGroup as ResourceGroupIcon, FaUndoAlt as RetryIcon, FaSave as SaveIcon, FaList as SchedulerIcon, FaSearch as SearchIcon, FaUsers as SharingIcon, FaCompress as ShrinkIcon, FaDesktop as SnapshotIcon, FaSlack as SlackIcon, FaTerminal as TerminalIcon, FaTimes as TimesIcon, FaQuestionCircle as UserGuideIcon, FaStar as FeaturedIcon, FaUser as UserIcon, FaUsers as UsersIcon, FaWindows as WindowsIcon, } from 'react-icons/fa';
|
|
9
|
+
export { FaAmazon as AmazonIcon, FaCentos as CentOSIcon, FaChrome as ChromeIcon, FaCog as CogIcon, FaEdge as EdgeIcon, FaFirefoxBrowser as FirefoxIcon, FaOpera as OperaIcon, FaSafari as SafariIcon, FaExclamationTriangle as WarningTriangleIcon, FaFile as FileSolidIcon, FaFilePdf as PdfSolidIcon, FaFolder as FolderSolidIcon, FaGithub as GitHubIcon, FaGitlab as GitLabIcon, FaImage as ImageSolidIcon, FaLinux as LinuxIcon, FaPaperclip as AttachmentIcon, FaRedhat as RedHatIcon, FaRobot as RobotIcon, FaShieldAlt as ShieldAltIcon, FaStop as StopSolidIcon, FaSuse as SuseIcon, FaUbuntu as UbuntuIcon, FaUsers as AccessIcon, FaPlus as AddIcon, FaAngleDown as AngleDownIcon, FaAngleLeft as AngleLeftIcon, FaAngleRight as AngleRightIcon, FaAngleUp as AngleUpIcon, FaArrowDown as ArrowDownIcon, FaArrowLeft as ArrowLeftIcon, FaArrowRight as ArrowRightIcon, FaArrowUp as ArrowUpIcon, FaCaretDown as CaretDownIcon, FaChartLine as ChartIcon, FaComments as ChatIcon, FaCheck as CheckIcon, FaChevronDown as ChevronDownIcon, FaChevronUp as ChevronUpIcon, FaCloud as CloudIcon, FaDollarSign as CostDashboardIcon, FaDocker as DockerIcon, FaCloudDownloadAlt as DownloadIcon, FaEdit as EditIcon, FaRunning as ExecuteWorkflow, FaExpand as ExpandIcon, FaFilter as FilterIcon, FaFlask as FlaskIcon, FaRegFolder as FolderIcon, FaCogs as GearsIcon, FaGlobe as GlobeIcon, FaEye as HiddenFalseIcon, FaEyeSlash as HiddenTrueIcon, FaRegFileImage as ImageIcon, FaKey as KeyIcon, FaLink as LinkIcon, FaLock as LockIcon, FaGlobeAmericas as MarketplaceIcon, FaRegCircle as NotRunningIcon, FaOpenid as OIDCIcon, FaRocket as PartnerIcon, FaKey as PasswordIcon, FaChartPie as PieChartIcon, FaPowerOff as PowerIcon, FaPrint as PrintIcon, FaGlobeAmericas as PublishIcon, FaQrcode as QRCodeIcon, FaLayerGroup as ResourceGroupIcon, FaUndoAlt as RetryIcon, FaSave as SaveIcon, FaList as SchedulerIcon, FaSearch as SearchIcon, FaUsers as SharingIcon, FaCompress as ShrinkIcon, FaDesktop as SnapshotIcon, FaSlack as SlackIcon, FaTerminal as TerminalIcon, FaTimes as TimesIcon, FaQuestionCircle as UserGuideIcon, FaStar as FeaturedIcon, FaUser as UserIcon, FaUsers as UsersIcon, FaWindows as WindowsIcon, } from 'react-icons/fa';
|
|
10
10
|
export { FaApple as AppleIcon, FaArrowsRotate as RefreshArrowsIcon, FaDebian as DebianIcon, FaWandMagicSparkles as CustomizeIcon, FaFilterCircleXmark as FilterClearIcon, FaRegFolderOpen as FolderOpenIcon, FaLocationDot as IpAddressIcon, FaUpRightFromSquare as NewWindowIcon, FaInbox as NotificationInboxIcon, FaRegFilePdf as PdfIcon, } from 'react-icons/fa6';
|
|
11
11
|
export { FiAlertCircle as AlertCircleIcon, FiActivity as HealthMonitoringIcon, FiChevronDown as ChevronDownStrokeIcon, FiClock as ClockIcon, FiHardDrive as DiskIcon, FiDownload as DownloadFileIcon, FiFile as FileIcon, FiFileText as FileTextIcon, FiRotateCcw as HistoryIcon, FiUpload as UploadIcon, FiZap as ZapIcon, } from 'react-icons/fi';
|
|
12
12
|
export { GiSpy as ImpersonateIcon } from 'react-icons/gi';
|
package/dist/icons.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import cx from "classnames";
|
|
2
2
|
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";
|
|
3
3
|
import { BsArrowsCollapse as CollapseIcon, BsBucket as BucketIcon, BsCurrencyDollar as MoneyIcon, BsFileEarmarkZip as ZipIcon, BsGrid as GridIcon, BsLayers as InfrastructureLayersIcon, BsMusicNoteBeamed as MusicIcon, BsSearch as SearchOutlineIcon, BsStar as PinIcon, BsStarFill as PinFilledIcon, BsTerminal as UserWorkspaceIcon, BsTerminalFill as UserWorkspaceFillIcon, BsThreeDots as MoreIcon, BsThreeDotsVertical as MenuIcon, BsZoomIn as ChartZoomIcon } from "react-icons/bs";
|
|
4
|
-
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, 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, 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, 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, FaUser as UserIcon, FaUsers as AccessIcon, FaUsers as SharingIcon, FaUsers as UsersIcon, FaWindows as WindowsIcon } from "react-icons/fa";
|
|
4
|
+
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, 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, 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, FaUser as UserIcon, FaUsers as AccessIcon, FaUsers as SharingIcon, FaUsers as UsersIcon, FaWindows as WindowsIcon } from "react-icons/fa";
|
|
5
5
|
import { jsx } from "react/jsx-runtime";
|
|
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 } from "react-icons/fa6";
|
|
@@ -35,4 +35,4 @@ function LoaderIcon({ className, ...props }) {
|
|
|
35
35
|
});
|
|
36
36
|
}
|
|
37
37
|
//#endregion
|
|
38
|
-
export { APIIcon, AccessIcon, AddIcon, AlertCircleIcon, AlertFillIcon, AlertIcon, AmazonIcon, AngleDownIcon, AngleLeftIcon, AngleRightIcon, AngleUpIcon, AnthropicIcon, AppleIcon, ArchiveIcon, ArrowDownIcon, ArrowLeftIcon, ArrowRightIcon, ArrowRightStrokeIcon, ArrowUpIcon, AttachmentIcon, BucketIcon, BuildWorkflowIcon, CalendarIcon, CancelIcon, CaretDownIcon, CentOSIcon, ChartIcon, ChartZoomIcon, ChatIcon, CheckIcon, CheckMarkIcon, CheckStrokeIcon, ChevronDownIcon, ChevronDownStrokeIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, ChromeIcon, ClearIcon, ClipboardIcon, ClockIcon, CloseIcon, CloudIcon, CloudUploadIcon, ClusterIcon, CogIcon, CollapseIcon, ComputeIcon, ConnectIcon, CopyIcon, CostDashboardIcon, CustomizeIcon, DebianIcon, DisableCostIcon, DisableUserIcon, DiskIcon, DisplayIcon, DockerIcon, DocumentIcon, DownloadFileIcon, DownloadIcon, DragHandleIcon, DuplicateIcon, EdgeIcon, EditIcon, EditorIcon, EnableCostIcon, EnableUserIcon, EndpointIcon, ErrorCheckmark, ErrorIcon, EventsIcon, ExecuteWorkflow, ExpandIcon, ExpandVerticalIcon, ExternalLink, EyeIcon, EyeOffIcon, FailIcon, FavoriteIcon, FavoriteOutlineIcon, FeaturedIcon, FileIcon, FileSolidIcon, FileTextIcon, FilesystemIcon, FilterClearIcon, FilterIcon, FirefoxIcon, FlaskIcon, FolderIcon, FolderOpenIcon, FolderSolidIcon, FolderTreeIcon, ForbiddenIcon, ForkIcon, GearIcon, GearsIcon, GitHubIcon, GlobeIcon, GridIcon, HealthMonitoringIcon, HelmIcon, HiddenFalseIcon, HiddenTrueIcon, HistoryIcon, HomeIcon, IdCardIcon, ImageIcon, ImageSolidIcon, ImpersonateIcon, InboxIcon, InfoCircleIcon, InfoIcon, InfrastructureLayersIcon, InstallIcon, IpAddressIcon, JsonIcon, KeyIcon, KubernetesIcon, KubernetesNamespaceIcon, LanguageIcon, LicenseIcon, LinkIcon, LinuxIcon, LoaderIcon, LockIcon, MFA, MailIcon, MarketplaceIcon, MenuIcon, MinimizeIcon, MlIcon, MoneyIcon, MonitorIcon, MoonIcon, MoreIcon, MusicIcon, MuteIcon, NewChatIcon, NewWindowIcon, NotRunningIcon, NotificationFillIcon, NotificationInboxIcon, OIDCIcon, OpenAIIcon, OpenInNewGraphIcon, OperaIcon, OrganizationIcon, PartnerIcon, PasswordIcon, PauseIcon, PdfIcon, PdfSolidIcon, PieChartIcon, PinFilledIcon, PinIcon, PlusOutlineIcon, PowerIcon, PowershellIcon, PrintIcon, PublishIcon, QRCodeIcon, QuotaIcon, RedHatIcon, RefreshArrowsIcon, RefreshIcon, ReplayIcon, ResourceGroupIcon, RetryIcon, RobotIcon, RollbackIcon, RunWorkflowIcon, RunningIcon, SafariIcon, SaveIcon, SchedulerIcon, SearchIcon, SearchOutlineIcon, ServerIcon, SettingsIcon, ShareIcon, SharingIcon, ShieldAltIcon, ShieldIcon, ShieldOutlineIcon, ShrinkIcon, SidebarCloseIcon, SidebarIcon, SidebarOpenIcon, SignOutIcon, SkipIcon, SlackIcon, SnapshotIcon, SortDownIcon, SortUnsortedIcon, SortUpIcon, SparklesIcon, SplitIcon, SpreadsheetIcon, StartIcon, StopIcon, StopSolidIcon, StorageIcon, SubdomainIcon, SuccessCheckmark, SuccessIcon, SunIcon, SuseIcon, TerminalIcon, ThinkingIcon, TimesIcon, TooltipIcon, TrashIcon, TunnelIcon, UbuntuIcon, UnfavoriteIcon, UnmuteIcon, UploadIcon, UserGuideIcon, UserIcon, UserWorkspaceFillIcon, UserWorkspaceIcon, UsersIcon, VideoIcon, WarningIcon, WarningTriangleIcon, WindowsIcon, XIcon, XStrokeIcon, ZapIcon, ZipIcon, ZoomInIcon, ZoomOutIcon };
|
|
38
|
+
export { APIIcon, AccessIcon, AddIcon, AlertCircleIcon, AlertFillIcon, AlertIcon, AmazonIcon, AngleDownIcon, AngleLeftIcon, AngleRightIcon, AngleUpIcon, AnthropicIcon, AppleIcon, ArchiveIcon, ArrowDownIcon, ArrowLeftIcon, ArrowRightIcon, ArrowRightStrokeIcon, ArrowUpIcon, AttachmentIcon, BucketIcon, BuildWorkflowIcon, CalendarIcon, CancelIcon, CaretDownIcon, CentOSIcon, ChartIcon, ChartZoomIcon, ChatIcon, CheckIcon, CheckMarkIcon, CheckStrokeIcon, ChevronDownIcon, ChevronDownStrokeIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, ChromeIcon, ClearIcon, ClipboardIcon, ClockIcon, CloseIcon, CloudIcon, CloudUploadIcon, ClusterIcon, CogIcon, CollapseIcon, ComputeIcon, ConnectIcon, CopyIcon, CostDashboardIcon, CustomizeIcon, DebianIcon, DisableCostIcon, DisableUserIcon, DiskIcon, DisplayIcon, DockerIcon, DocumentIcon, DownloadFileIcon, DownloadIcon, DragHandleIcon, DuplicateIcon, EdgeIcon, EditIcon, EditorIcon, EnableCostIcon, EnableUserIcon, EndpointIcon, ErrorCheckmark, ErrorIcon, EventsIcon, ExecuteWorkflow, ExpandIcon, ExpandVerticalIcon, ExternalLink, EyeIcon, EyeOffIcon, FailIcon, FavoriteIcon, FavoriteOutlineIcon, FeaturedIcon, FileIcon, FileSolidIcon, FileTextIcon, FilesystemIcon, FilterClearIcon, FilterIcon, FirefoxIcon, FlaskIcon, FolderIcon, FolderOpenIcon, FolderSolidIcon, FolderTreeIcon, ForbiddenIcon, ForkIcon, GearIcon, GearsIcon, GitHubIcon, GitLabIcon, GlobeIcon, GridIcon, HealthMonitoringIcon, HelmIcon, HiddenFalseIcon, HiddenTrueIcon, HistoryIcon, HomeIcon, IdCardIcon, ImageIcon, ImageSolidIcon, ImpersonateIcon, InboxIcon, InfoCircleIcon, InfoIcon, InfrastructureLayersIcon, InstallIcon, IpAddressIcon, JsonIcon, KeyIcon, KubernetesIcon, KubernetesNamespaceIcon, LanguageIcon, LicenseIcon, LinkIcon, LinuxIcon, LoaderIcon, LockIcon, MFA, MailIcon, MarketplaceIcon, MenuIcon, MinimizeIcon, MlIcon, MoneyIcon, MonitorIcon, MoonIcon, MoreIcon, MusicIcon, MuteIcon, NewChatIcon, NewWindowIcon, NotRunningIcon, NotificationFillIcon, NotificationInboxIcon, OIDCIcon, OpenAIIcon, OpenInNewGraphIcon, OperaIcon, OrganizationIcon, PartnerIcon, PasswordIcon, PauseIcon, PdfIcon, PdfSolidIcon, PieChartIcon, PinFilledIcon, PinIcon, PlusOutlineIcon, PowerIcon, PowershellIcon, PrintIcon, PublishIcon, QRCodeIcon, QuotaIcon, RedHatIcon, RefreshArrowsIcon, RefreshIcon, ReplayIcon, ResourceGroupIcon, RetryIcon, RobotIcon, RollbackIcon, RunWorkflowIcon, RunningIcon, SafariIcon, SaveIcon, SchedulerIcon, SearchIcon, SearchOutlineIcon, ServerIcon, SettingsIcon, ShareIcon, SharingIcon, ShieldAltIcon, ShieldIcon, ShieldOutlineIcon, ShrinkIcon, SidebarCloseIcon, SidebarIcon, SidebarOpenIcon, SignOutIcon, SkipIcon, SlackIcon, SnapshotIcon, SortDownIcon, SortUnsortedIcon, SortUpIcon, SparklesIcon, SplitIcon, SpreadsheetIcon, StartIcon, StopIcon, StopSolidIcon, StorageIcon, SubdomainIcon, SuccessCheckmark, SuccessIcon, SunIcon, SuseIcon, TerminalIcon, ThinkingIcon, TimesIcon, TooltipIcon, TrashIcon, TunnelIcon, UbuntuIcon, UnfavoriteIcon, UnmuteIcon, UploadIcon, UserGuideIcon, UserIcon, UserWorkspaceFillIcon, UserWorkspaceIcon, UsersIcon, VideoIcon, WarningIcon, WarningTriangleIcon, WindowsIcon, XIcon, XStrokeIcon, ZapIcon, ZipIcon, ZoomInIcon, ZoomOutIcon };
|
package/dist/index.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { DEFAULT_PRESET, THEME_PRESETS, THEME_TOKENS, applyTheme, contrastRatio, deriveTheme, isDarkColor } from "./theme/index.js";
|
|
2
2
|
import { AlertIcon, AngleRightIcon, EyeIcon, EyeOffIcon, FilterIcon, LoaderIcon, SortDownIcon, SortUnsortedIcon, SortUpIcon } from "./icons.js";
|
|
3
|
-
import { a as CreateModalSelect, c as ConfirmModal, d as primaryButtonClasses, f as Markdown, h as Callout, i as CreateModalField, l as dangerButtonClasses, m as CopyToClipboard, n as CreateModal, o as CreateModalSwitch, p as CopyCodeBlock, r as CreateModalAutocompleteField, s as CreateModalTextarea, t as CREATE_MODAL_SELECT_FILTER_THRESHOLD, u as ghostButtonClasses } from "./chunks/CreateModal-
|
|
3
|
+
import { a as CreateModalSelect, c as ConfirmModal, d as primaryButtonClasses, f as Markdown, h as Callout, i as CreateModalField, l as dangerButtonClasses, m as CopyToClipboard, n as CreateModal, o as CreateModalSwitch, p as CopyCodeBlock, r as CreateModalAutocompleteField, s as CreateModalTextarea, t as CREATE_MODAL_SELECT_FILTER_THRESHOLD, u as ghostButtonClasses } from "./chunks/CreateModal-DLCC8t_x.js";
|
|
4
4
|
import { a as useProvisionCorsRules, c as useStrings, i as useNotify, l as useWorkflowJsonResolver, n as useLink, o as useRunFile, r as useNavigation, s as useSlots, t as UIProvider } from "./chunks/Provider-CfFV-vc5.js";
|
|
5
5
|
import { i as formatTooltipContent, n as TOOLTIP_ID, r as TooltipInfo, t as GlobalTooltip } from "./chunks/Tooltip-WgbiC_nd.js";
|
|
6
6
|
import { c as isOption, i as filterOption, l as toggleSetMember, n as StatusDot, o as flattenOptions, r as DropdownCaret, s as isCategory, t as StatusBadge } from "./chunks/StatusBadge-P6C2tv7Z.js";
|
|
7
7
|
import { a as UncontrolledCollapsiblePanel, c as Dropdown, i as MaybeCollapsible, n as SectionHeader, o as MultiSelectDropdown, r as ControlledCollapsiblePanel, s as CustomListbox, t as SwitchToggle } from "./chunks/SwitchToggle-DcPCXkqL.js";
|
|
8
8
|
import { t as Loader } from "./chunks/Loader-BXoXTZGc.js";
|
|
9
9
|
import { n as modalPanelClasses, t as BareModal } from "./chunks/BareModal-DBa84JZO.js";
|
|
10
|
-
import { S as AddMenu, _ as BreadcrumbProvider, a as HeaderAddButton, b as useHideBreadcrumbs, c as PageHeader, i as HeaderActionMenu, n as BreadcrumbsRightAction, o as HeaderEditButton, r as BreadcrumbsTitleAction, s as HeaderRowMenu, t as BreadcrumbsActionButton, v as useBreadcrumb, x as useSetBreadcrumbs, y as useClearBreadcrumbs } from "./chunks/PageHeader-
|
|
10
|
+
import { S as AddMenu, _ as BreadcrumbProvider, a as HeaderAddButton, b as useHideBreadcrumbs, c as PageHeader, i as HeaderActionMenu, n as BreadcrumbsRightAction, o as HeaderEditButton, r as BreadcrumbsTitleAction, s as HeaderRowMenu, t as BreadcrumbsActionButton, v as useBreadcrumb, x as useSetBreadcrumbs, y as useClearBreadcrumbs } from "./chunks/PageHeader-dyoL44ue.js";
|
|
11
11
|
import { t as useCssIsDark } from "./chunks/useCssIsDark-DHr05dG2.js";
|
|
12
12
|
import { t as Indicator } from "./chunks/Indicator-hBSIxOPK.js";
|
|
13
13
|
import { t as SwitchToggleSmall } from "./chunks/SwitchToggleSmall-FcsaYSTs.js";
|
package/dist/list/ListPage.d.ts
CHANGED
|
@@ -18,6 +18,10 @@ export interface ListPageProps {
|
|
|
18
18
|
section?: ListSection;
|
|
19
19
|
/** Force edge-to-edge negative margin for a main-shell page nested under a padded route layout. */
|
|
20
20
|
shellPadded?: boolean;
|
|
21
|
+
/** Rendered inside a route layout that already owns the page header (e.g. a
|
|
22
|
+
* detail page's tab body). Skips this page's own header so the global
|
|
23
|
+
* breadcrumb strip stays visible, keeping only the toolbar. */
|
|
24
|
+
embedded?: boolean;
|
|
21
25
|
breadcrumbs?: PageHeaderBreadcrumb[] | undefined;
|
|
22
26
|
title?: ReactNode;
|
|
23
27
|
titleAction?: ReactNode;
|
|
@@ -27,7 +31,7 @@ export interface ListPageProps {
|
|
|
27
31
|
view?: ListViewChrome | undefined;
|
|
28
32
|
children: ReactNode;
|
|
29
33
|
}
|
|
30
|
-
export declare function ListPage({ section, shellPadded, breadcrumbs, title, titleAction, actions, toolbar, view, children, }: ListPageProps): import("react").JSX.Element;
|
|
34
|
+
export declare function ListPage({ section, shellPadded, embedded, breadcrumbs, title, titleAction, actions, toolbar, view, children, }: ListPageProps): import("react").JSX.Element;
|
|
31
35
|
export interface PinnedRowAction {
|
|
32
36
|
key: string;
|
|
33
37
|
label: string;
|
package/dist/list/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { d as copySubmenu, f as rowContextMenuProps, g as useRowMenuActive, h as useRowMenu, l as MoreButton, m as toolbarActionToRowAction, p as toRowMenuItem, u as assembleRowMenu } from "../chunks/PageHeader-
|
|
2
|
-
import { A as ActionToolbar, C as ListSkeleton, D as actionsColumnWidth, E as RowSelectCheckbox, M as stickyTabsClasses, N as stickyTabsUnderHeaderClasses, O as listTableFixedProps, P as stickyToolbarClasses, S as ListError, T as NameCell, _ as ListRow, a as ListCount, b as GroupRow, c as ListDisplayMenu, d as isTextEntryContext, f as DEFAULT_ORDER, g as ListPage, h as ListColumns, i as ListPager, j as ToolbarButton, k as listTableProps, l as ListFilterMenu, m as useListView, n as useHoverCard, o as ListSearchControl, p as FAVORITE_ORDER, r as LIST_PAGE_SIZES, s as useListSearch, t as HoverCardSurface, u as listControlButtonClasses, v as ListRowActionsProvider, w as NAME_MIN_WIDTH_PX, x as ListActionsHeader, y as useListNavigate } from "../chunks/list-
|
|
1
|
+
import { d as copySubmenu, f as rowContextMenuProps, g as useRowMenuActive, h as useRowMenu, l as MoreButton, m as toolbarActionToRowAction, p as toRowMenuItem, u as assembleRowMenu } from "../chunks/PageHeader-dyoL44ue.js";
|
|
2
|
+
import { A as ActionToolbar, C as ListSkeleton, D as actionsColumnWidth, E as RowSelectCheckbox, M as stickyTabsClasses, N as stickyTabsUnderHeaderClasses, O as listTableFixedProps, P as stickyToolbarClasses, S as ListError, T as NameCell, _ as ListRow, a as ListCount, b as GroupRow, c as ListDisplayMenu, d as isTextEntryContext, f as DEFAULT_ORDER, g as ListPage, h as ListColumns, i as ListPager, j as ToolbarButton, k as listTableProps, l as ListFilterMenu, m as useListView, n as useHoverCard, o as ListSearchControl, p as FAVORITE_ORDER, r as LIST_PAGE_SIZES, s as useListSearch, t as HoverCardSurface, u as listControlButtonClasses, v as ListRowActionsProvider, w as NAME_MIN_WIDTH_PX, x as ListActionsHeader, y as useListNavigate } from "../chunks/list-CWVR3dfZ.js";
|
|
3
3
|
export { ActionToolbar, DEFAULT_ORDER, FAVORITE_ORDER, GroupRow, HoverCardSurface, LIST_PAGE_SIZES, ListActionsHeader, ListColumns, ListCount, ListDisplayMenu, ListError, ListFilterMenu, ListPage, ListPager, ListRow, ListRowActionsProvider, ListSearchControl, ListSkeleton, MoreButton, NAME_MIN_WIDTH_PX, NameCell, RowSelectCheckbox, ToolbarButton, actionsColumnWidth, assembleRowMenu, copySubmenu, isTextEntryContext, listControlButtonClasses, listTableFixedProps, listTableProps, rowContextMenuProps, stickyTabsClasses, stickyTabsUnderHeaderClasses, stickyToolbarClasses, toRowMenuItem, toolbarActionToRowAction, useHoverCard, useListNavigate, useListSearch, useListView, useRowMenu, useRowMenuActive };
|
package/dist/workflow/index.js
CHANGED
|
@@ -1882,6 +1882,14 @@ function DependencyGraph({ run, preview = false, initialScale = 1, removeBorder,
|
|
|
1882
1882
|
requestAnimationFrame(invalidateConnectors);
|
|
1883
1883
|
}, [invalidateConnectors]);
|
|
1884
1884
|
const { data: sublogs, isLoading: sublogsLoading, error: sublogsError } = useRunFile(runSlug, sublogOpen || null, preview ? void 0 : { refreshInterval: 2e3 });
|
|
1885
|
+
useEffect(() => {
|
|
1886
|
+
if (sublogOpen.endsWith("/script-unstable-redacted.sh") && !sublogsLoading && (sublogsError || !sublogs)) setSublogOpen(sublogOpen.replace(/script-unstable-redacted\.sh$/, "script-unstable.sh"));
|
|
1887
|
+
}, [
|
|
1888
|
+
sublogOpen,
|
|
1889
|
+
sublogs,
|
|
1890
|
+
sublogsError,
|
|
1891
|
+
sublogsLoading
|
|
1892
|
+
]);
|
|
1885
1893
|
const jobAndStep = sublogOpen.split("/").slice(-3, -1);
|
|
1886
1894
|
if (jobAndStep.length > 1) jobAndStep[1] = jobAndStep[1].split("_")[1];
|
|
1887
1895
|
const logName = jobAndStep.length > 1 ? "Job: " + (jobAndStep[0][0].toUpperCase() + jobAndStep[0].slice(1)).replace(/_/g, " ") + " \nStep: " + (jobs[jobAndStep[0]]?.steps[jobAndStep[1]]?.name || "Step " + jobAndStep[1]) : "";
|
|
@@ -2058,7 +2066,7 @@ function DependencyGraph({ run, preview = false, initialScale = 1, removeBorder,
|
|
|
2058
2066
|
if (sublogIsSubworkflow) {
|
|
2059
2067
|
openInNewGraph(pathAppend, jobAndStep[0], parseInt(jobAndStep[1], 10));
|
|
2060
2068
|
setSublogOpen("");
|
|
2061
|
-
} else setSublogOpen(sublogOpen.split("/").slice(-1)[0] === "logs.out" ? [...sublogOpen.split("/").slice(0, -1), "script-unstable.sh"].join("/") : [...sublogOpen.split("/").slice(0, -1), "logs.out"].join("/"));
|
|
2069
|
+
} else setSublogOpen(sublogOpen.split("/").slice(-1)[0] === "logs.out" ? [...sublogOpen.split("/").slice(0, -1), "script-unstable-redacted.sh"].join("/") : [...sublogOpen.split("/").slice(0, -1), "logs.out"].join("/"));
|
|
2062
2070
|
},
|
|
2063
2071
|
children: /* @__PURE__ */ jsx("span", { children: sublogIsSubworkflow ? "Open Subworkflow" : sublogOpen.split("/").slice(-1)[0] === "logs.out" ? "Show Script" : "Show Logs" })
|
|
2064
2072
|
}) : void 0;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@parallelworks/ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.12.1",
|
|
4
4
|
"description": "Shared UI foundation for Parallel Works packages: theme contract, icons, and core primitives",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Parallel Works <support@parallelworks.com>",
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
"react-zoom-pan-pinch": "^4.0.3",
|
|
84
84
|
"streamdown": "^2.5.0",
|
|
85
85
|
"usehooks-ts": "^3.1.1",
|
|
86
|
-
"@parallelworks/workflow-parser": "^0.
|
|
86
|
+
"@parallelworks/workflow-parser": "^0.2.0"
|
|
87
87
|
},
|
|
88
88
|
"devDependencies": {
|
|
89
89
|
"@arethetypeswrong/cli": "^0.18.5",
|