@parallelworks/ui 0.69.0 → 0.71.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/README.md +12 -0
- package/dist/ai/components/ChatSidebar.js +12 -15
- package/dist/ai/components/conversationActions.d.ts +4 -2
- package/dist/ai/components/conversationActions.js +12 -28
- package/dist/ai/index.d.ts +1 -1
- package/dist/ai/index.js +2 -2
- package/dist/ai/ui/sidebar.d.ts +29 -1
- package/dist/ai/ui/sidebar.js +64 -2
- package/dist/icons.d.ts +3 -0
- package/dist/icons.js +4 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -714,6 +714,10 @@ glyph per meaning across the apps.
|
|
|
714
714
|
named value and `ReportIcon` a report to open.
|
|
715
715
|
`WorkspaceMountIcon` is storage mounted into a workspace and
|
|
716
716
|
`CloudNetworkIcon` the private network hosts attach to.
|
|
717
|
+
`VerifiedIcon` marks a verified item, publisher or domain, while
|
|
718
|
+
`SuccessIcon` is a run that succeeded. `OwnerIcon` is who owns a resource
|
|
719
|
+
and `DefaultIcon` the one used when nothing else is chosen, while
|
|
720
|
+
`FeaturedIcon` marks an item picked out to show first.
|
|
717
721
|
`NamespaceIcon`, `CommandShellIcon` and `QuickActionIcon` were
|
|
718
722
|
`KubernetesNamespaceIcon`, `PowershellIcon` and `ZapIcon`; the old names
|
|
719
723
|
still work but are deprecated.
|
|
@@ -870,6 +874,14 @@ passes `ChatInput`'s props; `ComposerControls` takes `model` and `allocation`
|
|
|
870
874
|
as a `BoundSetting` for a session that owns its own, and `tools={false}` keeps
|
|
871
875
|
the chat's tools out of a composer they don't apply to.
|
|
872
876
|
|
|
877
|
+
A host's own list of conversations or sessions builds on `ConversationSidebar`
|
|
878
|
+
with the same pieces the chat's list uses: `SidebarRow` with `SidebarRowBody`
|
|
879
|
+
inside its link (an optional `leading` mark such as a status dot, the title
|
|
880
|
+
and time, and an optional `detail` line), `useSessionMenu` for the row menu
|
|
881
|
+
(rename, share, download, then delete apart, each with an optional
|
|
882
|
+
`disabledReason`), `useRowDialogs` for rename and delete, and `SidebarEmpty`
|
|
883
|
+
for an empty list or a failed load.
|
|
884
|
+
|
|
873
885
|
`ChatLayout sidebarMode="auto"` shows the conversation list as a drawer over
|
|
874
886
|
the thread when the chat is narrower than `drawerBelowPx` (`DRAWER_BELOW_PX`, 896, by default),
|
|
875
887
|
measured on the chat's own box; `"drawer"` always does, and `"inline"` (the
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { cx } from "../../cx.js";
|
|
2
2
|
import { ImageIcon, NewChatIcon, UsersIcon } from "../../icons.js";
|
|
3
3
|
import { isPlainClick } from "../../components/AppLink.js";
|
|
4
|
-
import { EmptyState } from "../../components/EmptyState.js";
|
|
5
4
|
import { RelativeTime } from "../../components/relativeTime.js";
|
|
6
5
|
import { SearchInput } from "../../components/SearchInput.js";
|
|
7
6
|
import { useChatConfig } from "../core/config.js";
|
|
8
7
|
import { useChat } from "../core/ChatProvider.js";
|
|
9
8
|
import { ManageProvidersLink } from "./ComposerChrome.js";
|
|
10
9
|
import { FOCUS_SIDEBAR_SEARCH_EVENT } from "../core/events.js";
|
|
11
|
-
import { SidebarRow,
|
|
10
|
+
import { SidebarEmpty, SidebarRow, SidebarRowBody } from "../ui/sidebar.js";
|
|
12
11
|
import { ConversationSidebar } from "../ui/ConversationSidebar.js";
|
|
13
12
|
import { groupConversationsByDate, useConversationActions } from "./conversationActions.js";
|
|
14
13
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -21,25 +20,26 @@ function ConversationRow({ conv, isCurrent, menuItems, openMenu, onOpen }) {
|
|
|
21
20
|
selected: isCurrent,
|
|
22
21
|
menuItems,
|
|
23
22
|
openMenu,
|
|
24
|
-
children: /* @__PURE__ */
|
|
23
|
+
children: /* @__PURE__ */ jsx(LinkComponent, {
|
|
25
24
|
target: {
|
|
26
25
|
kind: "conversation",
|
|
27
26
|
id: conv.id
|
|
28
27
|
},
|
|
29
|
-
className: "flex min-w-0 flex-1
|
|
28
|
+
className: "flex min-w-0 flex-1 py-1 text-left",
|
|
30
29
|
onClick: (e) => {
|
|
31
30
|
if (isPlainClick(e)) onOpen();
|
|
32
31
|
},
|
|
33
|
-
children:
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
32
|
+
children: /* @__PURE__ */ jsx(SidebarRowBody, {
|
|
33
|
+
leading: conv.isOwner === false && /* @__PURE__ */ jsx(UsersIcon, {
|
|
34
|
+
className: "h-3 w-3 theme-muted-text",
|
|
35
|
+
title: t.sharedWithYou
|
|
36
|
+
}),
|
|
37
|
+
title: conv.title || t.untitled,
|
|
37
38
|
time: /* @__PURE__ */ jsx(RelativeTime, {
|
|
38
39
|
value: conv.updatedAt ?? conv.createdAt,
|
|
39
40
|
format: "compact"
|
|
40
|
-
})
|
|
41
|
-
|
|
42
|
-
})]
|
|
41
|
+
})
|
|
42
|
+
})
|
|
43
43
|
})
|
|
44
44
|
});
|
|
45
45
|
}
|
|
@@ -117,10 +117,7 @@ function ChatSidebar({ actions = true, top }) {
|
|
|
117
117
|
onOpen: closeDrawer
|
|
118
118
|
}),
|
|
119
119
|
loading: isLoading,
|
|
120
|
-
placeholder: /* @__PURE__ */ jsx(
|
|
121
|
-
variant: "bare",
|
|
122
|
-
title: conversations.length === 0 ? tSidebar.noConversations : strings.chrome.noMatches
|
|
123
|
-
}),
|
|
120
|
+
placeholder: /* @__PURE__ */ jsx(SidebarEmpty, { title: conversations.length === 0 ? tSidebar.noConversations : strings.chrome.noMatches }),
|
|
124
121
|
cycle: {
|
|
125
122
|
current: filteredConversations.find((conv) => conv.id === activeConversationId),
|
|
126
123
|
onSelect: (conv) => navigation.toConversation(conv.id)
|
|
@@ -3,10 +3,12 @@ import { type OpenMenu } from '../../components/ContextMenu.js';
|
|
|
3
3
|
import type { MenuEntry } from '../../components/MenuEntries.js';
|
|
4
4
|
import type { ConversationSummary } from '../types.js';
|
|
5
5
|
export type ConversationGroupKey = 'groupToday' | 'groupYesterday' | 'groupThisWeek' | 'groupThisMonth' | 'groupOlder';
|
|
6
|
-
/** Conversations by how long ago they
|
|
7
|
-
* out the groups with none. Each key names its
|
|
6
|
+
/** Conversations by how long ago they last changed, the time each row shows,
|
|
7
|
+
* newest group first, leaving out the groups with none. Each key names its
|
|
8
|
+
* label in the sidebar strings. */
|
|
8
9
|
export declare function groupConversationsByDate<T extends {
|
|
9
10
|
createdAt: string;
|
|
11
|
+
updatedAt?: string | null | undefined;
|
|
10
12
|
}>(conversations: T[]): {
|
|
11
13
|
key: ConversationGroupKey;
|
|
12
14
|
items: T[];
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { DownloadIcon, RenameIcon, ShareIcon, TrashIcon } from "../../icons.js";
|
|
2
1
|
import { toast } from "../../components/Toast.js";
|
|
3
2
|
import { useStrings } from "../../components/Provider.js";
|
|
4
3
|
import { useContextMenu } from "../../components/ContextMenu.js";
|
|
5
4
|
import { useChatConfig } from "../core/config.js";
|
|
6
5
|
import { useChat } from "../core/ChatProvider.js";
|
|
7
|
-
import { useRowDialogs } from "../ui/sidebar.js";
|
|
6
|
+
import { useRowDialogs, useSessionMenu } from "../ui/sidebar.js";
|
|
8
7
|
import { conversationToMarkdown, downloadText, exportFilename } from "../core/exportConversation.js";
|
|
9
8
|
import ShareDialog from "./ShareDialog.js";
|
|
10
9
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
11
10
|
import { useState } from "react";
|
|
12
11
|
import { DateTime } from "luxon";
|
|
13
12
|
//#region src/ai/components/conversationActions.tsx
|
|
14
|
-
/** Conversations by how long ago they
|
|
15
|
-
* out the groups with none. Each key names its
|
|
13
|
+
/** Conversations by how long ago they last changed, the time each row shows,
|
|
14
|
+
* newest group first, leaving out the groups with none. Each key names its
|
|
15
|
+
* label in the sidebar strings. */
|
|
16
16
|
function groupConversationsByDate(conversations) {
|
|
17
17
|
const now = DateTime.now();
|
|
18
18
|
const groups = {
|
|
@@ -23,7 +23,7 @@ function groupConversationsByDate(conversations) {
|
|
|
23
23
|
groupOlder: []
|
|
24
24
|
};
|
|
25
25
|
for (const conv of conversations) {
|
|
26
|
-
const days = now.diff(DateTime.fromISO(conv.createdAt), "days").days;
|
|
26
|
+
const days = now.diff(DateTime.fromISO(conv.updatedAt ?? conv.createdAt), "days").days;
|
|
27
27
|
groups[days < 1 ? "groupToday" : days < 2 ? "groupYesterday" : days < 7 ? "groupThisWeek" : days < 30 ? "groupThisMonth" : "groupOlder"].push(conv);
|
|
28
28
|
}
|
|
29
29
|
return Object.entries(groups).filter(([, items]) => items.length > 0).map(([key, items]) => ({
|
|
@@ -63,29 +63,13 @@ function useConversationActions() {
|
|
|
63
63
|
toast.error(strings.chrome.exportError);
|
|
64
64
|
}
|
|
65
65
|
};
|
|
66
|
-
const
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
label: common.share,
|
|
74
|
-
icon: /* @__PURE__ */ jsx(ShareIcon, {}),
|
|
75
|
-
onClick: () => setSharing(conv.id)
|
|
76
|
-
}] : [],
|
|
77
|
-
{
|
|
78
|
-
label: common.download,
|
|
79
|
-
icon: /* @__PURE__ */ jsx(DownloadIcon, {}),
|
|
80
|
-
onClick: () => void download(conv.id)
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
label: common.delete,
|
|
84
|
-
icon: /* @__PURE__ */ jsx(TrashIcon, {}),
|
|
85
|
-
destructive: true,
|
|
86
|
-
onClick: () => requestDelete(conv)
|
|
87
|
-
}
|
|
88
|
-
];
|
|
66
|
+
const sessionMenu = useSessionMenu();
|
|
67
|
+
const menuItems = (conv) => sessionMenu({
|
|
68
|
+
rename: { onClick: () => requestRename(conv) },
|
|
69
|
+
share: adapter.sharing && conv.isOwner !== false ? { onClick: () => setSharing(conv.id) } : void 0,
|
|
70
|
+
download: { onClick: () => void download(conv.id) },
|
|
71
|
+
remove: { onClick: () => requestDelete(conv) }
|
|
72
|
+
});
|
|
89
73
|
return {
|
|
90
74
|
menuItems,
|
|
91
75
|
openMenu,
|
package/dist/ai/index.d.ts
CHANGED
|
@@ -42,5 +42,5 @@ export { type ChatStrings, defaultChatStrings } from './strings.js';
|
|
|
42
42
|
export * from './types.js';
|
|
43
43
|
export { ConversationSidebar, type ConversationSidebarGroup, sidebarDrawerProps, } from './ui/ConversationSidebar.js';
|
|
44
44
|
export { NoticeBar, NoticeCard, type NoticeTone, OutputCard } from './ui/Notice.js';
|
|
45
|
-
export { RenameDialog, type RowDialogStrings, SidebarGroupHeading, SidebarPanel, SidebarRailItem, SidebarRow, SidebarRowTitle, SidebarToggle, useRowDialogs, } from './ui/sidebar.js';
|
|
45
|
+
export { RenameDialog, type RowDialogStrings, type SessionMenuAction, SidebarEmpty, SidebarGroupHeading, SidebarPanel, SidebarRailItem, SidebarRow, SidebarRowBody, SidebarRowTitle, SidebarToggle, useRowDialogs, useSessionMenu, } from './ui/sidebar.js';
|
|
46
46
|
export { isMac, isOrgModel } from './utils.js';
|
package/dist/ai/index.js
CHANGED
|
@@ -35,7 +35,7 @@ import ChatEmptyState from "./components/ChatEmptyState.js";
|
|
|
35
35
|
import { FOCUS_SIDEBAR_SEARCH_EVENT } from "./core/events.js";
|
|
36
36
|
import { useKeyboardShortcuts } from "./core/useKeyboardShortcuts.js";
|
|
37
37
|
import { KeyboardShortcutsProvider } from "./core/KeyboardShortcutsProvider.js";
|
|
38
|
-
import { RenameDialog, SidebarGroupHeading, SidebarPanel, SidebarRailItem, SidebarRow, SidebarRowTitle, SidebarToggle, useRowDialogs } from "./ui/sidebar.js";
|
|
38
|
+
import { RenameDialog, SidebarEmpty, SidebarGroupHeading, SidebarPanel, SidebarRailItem, SidebarRow, SidebarRowBody, SidebarRowTitle, SidebarToggle, useRowDialogs, useSessionMenu } from "./ui/sidebar.js";
|
|
39
39
|
import { ConversationSidebar, sidebarDrawerProps } from "./ui/ConversationSidebar.js";
|
|
40
40
|
import ShareDialog, { ShareButton } from "./components/ShareDialog.js";
|
|
41
41
|
import { groupConversationsByDate, useConversationActions } from "./components/conversationActions.js";
|
|
@@ -46,4 +46,4 @@ import ChatMessageList from "./components/ChatMessageList.js";
|
|
|
46
46
|
import SessionView from "./components/SessionView.js";
|
|
47
47
|
import ChatThread from "./components/ChatThread.js";
|
|
48
48
|
import { NoticeBar, NoticeCard, OutputCard } from "./ui/Notice.js";
|
|
49
|
-
export { AGENT_COLOR_NAMES, ActivityLine, AgentMessageParts, AllocationSelector, ApprovalBlock, AttachmentManager, AttachmentUpload, BlockedGroupBanner, BranchNavigator, CHAT_COLUMN_SCOPE, ChatAdapterError, ChatEmptyState, ChatInput, ChatLayout, ChatMessageList, ChatMessage_default as ChatMessageView, ChatProvider, ChatSidebar, ChatStage, ChatThread, ComposerContext, ComposerControls, ComposerSettings, ComposerUsage, ConnectToolsLink, ConversationLayout, ConversationSidebar, DEFAULT_PERMISSION_MODE, DRAWER_BELOW_PX, DragOverlay, FOCUS_SIDEBAR_SEARCH_EVENT, INTERRUPTED_NOTICE, KeyboardShortcutsProvider, MAX_EDIT_DIFF_LINES, MAX_WRITE_DIFF_LINES, ManageProvidersLink, ModelSelector, NAMED_PERMISSION_MODES, NoticeBar, NoticeCard, OutputCard, PermissionPicker, ProviderIssueBanner, RenameDialog, SessionView, ShareButton, ShareDialog, SidebarGroupHeading, SidebarPanel, SidebarRailItem, SidebarRow, SidebarRowTitle, SidebarToggle, agentColorHex, agentTypeLabel, applyPartDelta, askQuestionFromArgs, bashExitCode, chatReducer, clampPermissionMode, classifyPseudoUserMessage, clip, computeEditDiff, computeWriteRows, defaultChatStrings, defaultToolStrings, editSummary, finalizeParts, firstNonEmptyLine, fullToolArgs, getGreeting, getProviderKeyFromModelId, groupConversationsByDate, hiddenTranscriptTool, initialState, interruptionNotice, isEditDiffTool, isGroupableTool, isMac, isNamedPermissionMode, isOrgModel, languageForPath, lineDelta, parseEditArgs, parseSubagentNotice, pasteInlineMaxBytes, permissionModesUpTo, planFromArgs, providerIssueFor, resolveChatConfig, resultFailed, rollupSentence, sanitizeLabel, sanitizePanelText, sidebarDrawerProps, slashMatches, subagentDeliveryLine, summarizeToolArgs, taskCallFromArgs, thinkingHeading, tokenizeDiffLines, toolHeaderFor, toolSummary, useChat, useChatConfig, useChatStream, useConversationActions, useDragDrop, useKeyboardShortcuts, useRowDialogs, wordEmphasisRanges };
|
|
49
|
+
export { AGENT_COLOR_NAMES, ActivityLine, AgentMessageParts, AllocationSelector, ApprovalBlock, AttachmentManager, AttachmentUpload, BlockedGroupBanner, BranchNavigator, CHAT_COLUMN_SCOPE, ChatAdapterError, ChatEmptyState, ChatInput, ChatLayout, ChatMessageList, ChatMessage_default as ChatMessageView, ChatProvider, ChatSidebar, ChatStage, ChatThread, ComposerContext, ComposerControls, ComposerSettings, ComposerUsage, ConnectToolsLink, ConversationLayout, ConversationSidebar, DEFAULT_PERMISSION_MODE, DRAWER_BELOW_PX, DragOverlay, FOCUS_SIDEBAR_SEARCH_EVENT, INTERRUPTED_NOTICE, KeyboardShortcutsProvider, MAX_EDIT_DIFF_LINES, MAX_WRITE_DIFF_LINES, ManageProvidersLink, ModelSelector, NAMED_PERMISSION_MODES, NoticeBar, NoticeCard, OutputCard, PermissionPicker, ProviderIssueBanner, RenameDialog, SessionView, ShareButton, ShareDialog, SidebarEmpty, SidebarGroupHeading, SidebarPanel, SidebarRailItem, SidebarRow, SidebarRowBody, SidebarRowTitle, SidebarToggle, agentColorHex, agentTypeLabel, applyPartDelta, askQuestionFromArgs, bashExitCode, chatReducer, clampPermissionMode, classifyPseudoUserMessage, clip, computeEditDiff, computeWriteRows, defaultChatStrings, defaultToolStrings, editSummary, finalizeParts, firstNonEmptyLine, fullToolArgs, getGreeting, getProviderKeyFromModelId, groupConversationsByDate, hiddenTranscriptTool, initialState, interruptionNotice, isEditDiffTool, isGroupableTool, isMac, isNamedPermissionMode, isOrgModel, languageForPath, lineDelta, parseEditArgs, parseSubagentNotice, pasteInlineMaxBytes, permissionModesUpTo, planFromArgs, providerIssueFor, resolveChatConfig, resultFailed, rollupSentence, sanitizeLabel, sanitizePanelText, sidebarDrawerProps, slashMatches, subagentDeliveryLine, summarizeToolArgs, taskCallFromArgs, thinkingHeading, tokenizeDiffLines, toolHeaderFor, toolSummary, useChat, useChatConfig, useChatStream, useConversationActions, useDragDrop, useKeyboardShortcuts, useRowDialogs, useSessionMenu, wordEmphasisRanges };
|
package/dist/ai/ui/sidebar.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type CSSProperties, type ReactNode } from 'react';
|
|
2
2
|
import type { OpenMenu } from '../../components/ContextMenu.js';
|
|
3
|
-
import type
|
|
3
|
+
import { type MenuEntry } from '../../components/MenuEntries.js';
|
|
4
4
|
export declare const SIDEBAR_DEFAULT_WIDTH_PX = 256;
|
|
5
5
|
/** The column a conversation list lives in: it animates between its width
|
|
6
6
|
* and a rail, unless a drag is setting the width right now. */
|
|
@@ -34,6 +34,34 @@ export declare function SidebarRowTitle({ children, time, }: {
|
|
|
34
34
|
/** When it last changed, short: a compact `RelativeTime`. */
|
|
35
35
|
time?: ReactNode;
|
|
36
36
|
}): import("react").JSX.Element;
|
|
37
|
+
/** A row's content: an optional mark before it (a status dot, a shared
|
|
38
|
+
* icon), the title with its time, and an optional line under it for what the
|
|
39
|
+
* mark cannot say, such as the machine or a state that needs the reader. */
|
|
40
|
+
export declare function SidebarRowBody({ leading, title, time, detail, }: {
|
|
41
|
+
leading?: ReactNode;
|
|
42
|
+
title: ReactNode;
|
|
43
|
+
time?: ReactNode;
|
|
44
|
+
detail?: ReactNode;
|
|
45
|
+
}): import("react").JSX.Element;
|
|
46
|
+
/** An action a row's menu offers, and why it is unavailable when it is. */
|
|
47
|
+
export interface SessionMenuAction {
|
|
48
|
+
onClick: () => void;
|
|
49
|
+
disabledReason?: string | undefined;
|
|
50
|
+
}
|
|
51
|
+
/** A row's menu in one order wherever a list of conversations or sessions
|
|
52
|
+
* shows: rename, share, download, then delete apart. Each is left out unless given. */
|
|
53
|
+
export declare function useSessionMenu(): (actions: {
|
|
54
|
+
rename?: SessionMenuAction | undefined;
|
|
55
|
+
share?: SessionMenuAction | undefined;
|
|
56
|
+
download?: SessionMenuAction | undefined;
|
|
57
|
+
remove?: SessionMenuAction | undefined;
|
|
58
|
+
}) => MenuEntry[];
|
|
59
|
+
/** In place of a list with nothing to show: none yet, nothing matching, or
|
|
60
|
+
* why it could not load. */
|
|
61
|
+
export declare function SidebarEmpty({ title, error }: {
|
|
62
|
+
title: string;
|
|
63
|
+
error?: string | undefined;
|
|
64
|
+
}): import("react").JSX.Element;
|
|
37
65
|
/** One entry in the list: the row highlights while it is the open one or
|
|
38
66
|
* while its menu is up, and the menu opens from its button or a right-click. */
|
|
39
67
|
export declare function SidebarRow({ selected, menuItems, openMenu, className, children, }: {
|
package/dist/ai/ui/sidebar.js
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { cx } from "../../cx.js";
|
|
2
|
-
import { SidebarIcon } from "../../icons.js";
|
|
2
|
+
import { DownloadIcon, RenameIcon, ShareIcon, SidebarIcon, TrashIcon } from "../../icons.js";
|
|
3
3
|
import { Tooltip } from "../../components/Tooltip.js";
|
|
4
|
+
import { useStrings } from "../../components/Provider.js";
|
|
4
5
|
import { AppLink, isPlainClick } from "../../components/AppLink.js";
|
|
6
|
+
import { EmptyState } from "../../components/EmptyState.js";
|
|
7
|
+
import { menuDivider } from "../../components/MenuEntries.js";
|
|
5
8
|
import { IconButton } from "../../components/IconButton.js";
|
|
6
9
|
import { fieldBox } from "../../components/fieldBox.js";
|
|
7
10
|
import { focusOnMount } from "../../components/focus.js";
|
|
@@ -56,6 +59,65 @@ function SidebarRowTitle({ children, time }) {
|
|
|
56
59
|
})]
|
|
57
60
|
});
|
|
58
61
|
}
|
|
62
|
+
/** A row's content: an optional mark before it (a status dot, a shared
|
|
63
|
+
* icon), the title with its time, and an optional line under it for what the
|
|
64
|
+
* mark cannot say, such as the machine or a state that needs the reader. */
|
|
65
|
+
function SidebarRowBody({ leading, title, time, detail }) {
|
|
66
|
+
return /* @__PURE__ */ jsxs("span", {
|
|
67
|
+
className: "flex min-w-0 flex-1 items-start gap-2",
|
|
68
|
+
children: [leading && /* @__PURE__ */ jsx("span", {
|
|
69
|
+
className: "mt-1 flex h-3 shrink-0 items-center",
|
|
70
|
+
children: leading
|
|
71
|
+
}), /* @__PURE__ */ jsxs("span", {
|
|
72
|
+
className: "min-w-0 flex-1",
|
|
73
|
+
children: [/* @__PURE__ */ jsx(SidebarRowTitle, {
|
|
74
|
+
time,
|
|
75
|
+
children: title
|
|
76
|
+
}), detail && /* @__PURE__ */ jsx("span", {
|
|
77
|
+
className: "mt-0.5 flex min-w-0 items-center gap-1.5 text-[11px]",
|
|
78
|
+
children: detail
|
|
79
|
+
})]
|
|
80
|
+
})]
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
/** A row's menu in one order wherever a list of conversations or sessions
|
|
84
|
+
* shows: rename, share, download, then delete apart. Each is left out unless given. */
|
|
85
|
+
function useSessionMenu() {
|
|
86
|
+
const { common } = useStrings();
|
|
87
|
+
return ({ rename, share, download, remove }) => {
|
|
88
|
+
const entry = (label, icon, action) => ({
|
|
89
|
+
label,
|
|
90
|
+
icon,
|
|
91
|
+
onClick: action.onClick,
|
|
92
|
+
...action.disabledReason ? {
|
|
93
|
+
disabled: true,
|
|
94
|
+
disabledReason: action.disabledReason
|
|
95
|
+
} : {}
|
|
96
|
+
});
|
|
97
|
+
const items = [
|
|
98
|
+
...rename ? [entry(common.rename, /* @__PURE__ */ jsx(RenameIcon, {}), rename)] : [],
|
|
99
|
+
...share ? [entry(common.share, /* @__PURE__ */ jsx(ShareIcon, {}), share)] : [],
|
|
100
|
+
...download ? [entry(common.download, /* @__PURE__ */ jsx(DownloadIcon, {}), download)] : []
|
|
101
|
+
];
|
|
102
|
+
if (remove) {
|
|
103
|
+
if (items.length > 0) items.push(menuDivider);
|
|
104
|
+
items.push({
|
|
105
|
+
...entry(common.delete, /* @__PURE__ */ jsx(TrashIcon, {}), remove),
|
|
106
|
+
destructive: true
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
return items;
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
/** In place of a list with nothing to show: none yet, nothing matching, or
|
|
113
|
+
* why it could not load. */
|
|
114
|
+
function SidebarEmpty({ title, error }) {
|
|
115
|
+
return /* @__PURE__ */ jsx(EmptyState, {
|
|
116
|
+
variant: "bare",
|
|
117
|
+
title: error ?? title,
|
|
118
|
+
...error ? { testId: "sidebar-list-error" } : {}
|
|
119
|
+
});
|
|
120
|
+
}
|
|
59
121
|
/** One entry in the list: the row highlights while it is the open one or
|
|
60
122
|
* while its menu is up, and the menu opens from its button or a right-click. */
|
|
61
123
|
function SidebarRow({ selected, menuItems, openMenu, className, children }) {
|
|
@@ -176,4 +238,4 @@ function useRowDialogs({ strings, nameOf, onDelete, onRename }) {
|
|
|
176
238
|
};
|
|
177
239
|
}
|
|
178
240
|
//#endregion
|
|
179
|
-
export { RenameDialog, SidebarGroupHeading, SidebarPanel, SidebarRailItem, SidebarRow, SidebarRowTitle, SidebarToggle, useRowDialogs };
|
|
241
|
+
export { RenameDialog, SidebarEmpty, SidebarGroupHeading, SidebarPanel, SidebarRailItem, SidebarRow, SidebarRowBody, SidebarRowTitle, SidebarToggle, useRowDialogs, useSessionMenu };
|
package/dist/icons.d.ts
CHANGED
|
@@ -62,6 +62,7 @@ export declare const ConnectIcon: IconType;
|
|
|
62
62
|
export declare const ContractIcon: IconType;
|
|
63
63
|
export declare const CopyIcon: IconType;
|
|
64
64
|
export declare const CustomizeIcon: IconType;
|
|
65
|
+
export declare const DefaultIcon: IconType;
|
|
65
66
|
export declare const DefinitionIcon: IconType;
|
|
66
67
|
export declare const DeprovisionIcon: IconType;
|
|
67
68
|
export declare const DesktopIcon: IconType;
|
|
@@ -175,6 +176,7 @@ export declare const NotRunningIcon: IconType;
|
|
|
175
176
|
export declare const OnboardingIcon: IconType;
|
|
176
177
|
export declare const OpenInNewGraphIcon: IconType;
|
|
177
178
|
export declare const OrganizationIcon: IconType;
|
|
179
|
+
export declare const OwnerIcon: IconType;
|
|
178
180
|
export declare const PartnerIcon: IconType;
|
|
179
181
|
export declare const PasswordIcon: IconType;
|
|
180
182
|
export declare const PauseIcon: IconType;
|
|
@@ -269,6 +271,7 @@ export declare const UserIcon: IconType;
|
|
|
269
271
|
export declare const UsersIcon: IconType;
|
|
270
272
|
export declare const UserWorkspaceIcon: IconType;
|
|
271
273
|
export declare const VariableIcon: IconType;
|
|
274
|
+
export declare const VerifiedIcon: IconType;
|
|
272
275
|
export declare const VideoIcon: IconType;
|
|
273
276
|
export declare const WarningIcon: IconType;
|
|
274
277
|
export declare const WebhookIcon: IconType;
|
package/dist/icons.js
CHANGED
|
@@ -84,6 +84,7 @@ var ConnectIcon = /* @__PURE__ */ drawn("M5.5 2v3M10.5 2v3M3.5 5h9v2.5a4.5 4.5 0
|
|
|
84
84
|
var ContractIcon = /* @__PURE__ */ drawn("M12.5 6.25V4.75L9.5 1.75h-5a1 1 0 0 0-1 1v10.5a1 1 0 0 0 1 1h2.25M9.5 1.75v3h3M5.5 11h1.5M8.25 14.25l.5-2.25 4-4a1.06 1.06 0 0 1 1.5 1.5l-4 4Z");
|
|
85
85
|
var CopyIcon = /* @__PURE__ */ drawn("M6.5 5.5h6a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1h-6a1 1 0 0 1-1-1v-6a1 1 0 0 1 1-1ZM10.5 5.5v-2a1 1 0 0 0-1-1h-6a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2");
|
|
86
86
|
var CustomizeIcon = /* @__PURE__ */ drawn("M8 14A6 6 0 1 1 14 8c0 1.5-1.25 2.25-2.5 2.25H10.5a1.5 1.5 0 0 0-1.1 2.5c.6.65.1 1.25-1.4 1.25ZM5 7.4a0.6 0.6 0 1 0 0 1.2a0.6 0.6 0 0 0 0-1.2ZM6.25 4.15a0.6 0.6 0 1 0 0 1.2a0.6 0.6 0 0 0 0-1.2ZM9.75 4.15a0.6 0.6 0 1 0 0 1.2a0.6 0.6 0 0 0 0-1.2Z");
|
|
87
|
+
var DefaultIcon = /* @__PURE__ */ drawn("M4.5 2.25h7v11.5L8 11.25l-3.5 2.5Z");
|
|
87
88
|
var DefinitionIcon = /* @__PURE__ */ drawn("M9.5 1.75h-5a1 1 0 0 0-1 1v10.5a1 1 0 0 0 1 1h7a1 1 0 0 0 1-1V4.75ZM9.5 1.75v3h3M5.75 7.25h2.5M7.75 9.75h2.5M7.75 12.25h1.5");
|
|
88
89
|
var DeprovisionIcon = /* @__PURE__ */ drawn("M3.5 2.5h9a1 1 0 0 1 1 1v2.5a1 1 0 0 1-1 1h-9a1 1 0 0 1-1-1v-2.5a1 1 0 0 1 1-1ZM5 4.75h.01M3.5 9h4.25a1 1 0 0 1 1 1v2.5a1 1 0 0 1-1 1h-4.25a1 1 0 0 1-1-1v-2.5a1 1 0 0 1 1-1ZM5 11.25h.01M10.25 12.25h4");
|
|
89
90
|
var DesktopIcon = /* @__PURE__ */ drawn("M3.5 2.5h9a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1h-9a1 1 0 0 1-1-1v-6a1 1 0 0 1 1-1ZM5.5 13.5h5M8 10.5v3");
|
|
@@ -197,6 +198,7 @@ var NotRunningIcon = /* @__PURE__ */ drawn("M8 14A6 6 0 1 0 8 2a6 6 0 0 0 0 12Z"
|
|
|
197
198
|
var OnboardingIcon = /* @__PURE__ */ drawn("M1.75 14h3.5v-3.5h3.5V7h3.5V2.5M9.75 4.75 12.25 2.25l2.5 2.5");
|
|
198
199
|
var OpenInNewGraphIcon = /* @__PURE__ */ drawn("M7 2h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1ZM3 10h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-2a1 1 0 0 1 1-1ZM8 6v2M4 10V8.75A.75.75 0 0 1 4.75 8h4.75M11.25 10.25h3v3M14.25 10.25l-4 4");
|
|
199
200
|
var OrganizationIcon = /* @__PURE__ */ drawn("M5 13.75V3.25a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v10.5M5 7H3.25a1 1 0 0 0-1 1v4.75a1 1 0 0 0 1 1h9.5a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1H11M7 5.25h2M7 8.25h2M7 13.75v-1.75a1 1 0 0 1 2 0v1.75");
|
|
201
|
+
var OwnerIcon = /* @__PURE__ */ drawn("M6.5 7.75a2.75 2.75 0 1 0 0-5.5 2.75 2.75 0 0 0 0 5.5ZM2 13.75c.55-2.35 2.4-3.75 4.5-3.75.8 0 1.5.15 2.1.45M11.5 12.75a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM12.6 12.6l1.9 1.9M13.75 13.75l-1 1");
|
|
200
202
|
var PartnerIcon = /* @__PURE__ */ drawn("M2.5 2.5 2 9.25l3.9 3.9a.9.9 0 0 0 1.8-1.8M2.5 3.25h4.75M13.5 2.5l.5 6.75h-1.25M9.25 9.25l1.5 1.5a.9.9 0 0 0 1.8-1.8l-2.35-2.35a1.8 1.8 0 0 0-2.55 0l-.55.55a.9.9 0 0 1-1.8-1.8l1.7-1.7a3.5 3.5 0 0 1 4.25-.5l.3.15a1.2 1.2 0 0 0 .85.15l1.1-.25");
|
|
201
203
|
var PasswordIcon = /* @__PURE__ */ drawn("M2.9 7.25a0.6 0.6 0 1 0 1.2 0a0.6 0.6 0 1 0 -1.2 0M7.4 7.25a0.6 0.6 0 1 0 1.2 0a0.6 0.6 0 1 0 -1.2 0M11.9 7.25a0.6 0.6 0 1 0 1.2 0a0.6 0.6 0 1 0 -1.2 0M1.75 11.5h12.5");
|
|
202
204
|
var PauseIcon = /* @__PURE__ */ drawn("M5.5 3.25v9.5M10.5 3.25v9.5");
|
|
@@ -291,6 +293,7 @@ var UserIcon = /* @__PURE__ */ drawn("M8 8a2.75 2.75 0 1 0 0-5.5A2.75 2.75 0 0 0
|
|
|
291
293
|
var UsersIcon = /* @__PURE__ */ drawn("M6 7.5a2.25 2.25 0 1 0 0-4.5 2.25 2.25 0 0 0 0 4.5ZM1.75 13c.5-2 2.1-3.25 4.25-3.25S9.75 11 10.25 13M10.5 3.1a2.25 2.25 0 0 1 0 4.3M11.75 9.9c1.2.45 2.1 1.5 2.5 3.1");
|
|
292
294
|
var UserWorkspaceIcon = /* @__PURE__ */ drawn("M3.5 2.5h9a1 1 0 0 1 1 1v9a1 1 0 0 1-1 1h-9a1 1 0 0 1-1-1v-9a1 1 0 0 1 1-1ZM5 5.5l2 2-2 2M8 10.5h3");
|
|
293
295
|
var VariableIcon = /* @__PURE__ */ drawn("M4.75 2.5C3.25 4 2.5 6 2.5 8s.75 4 2.25 5.5M11.25 2.5c1.5 1.5 2.25 3.5 2.25 5.5s-.75 4-2.25 5.5M6 6l4 4M10 6l-4 4");
|
|
296
|
+
var VerifiedIcon = /* @__PURE__ */ drawn("M8 1.75L9.91 3.38L12.42 3.58L12.62 6.09L14.25 8L12.62 9.91L12.42 12.42L9.91 12.62L8 14.25L6.09 12.62L3.58 12.42L3.38 9.91L1.75 8L3.38 6.09L3.58 3.58L6.09 3.38ZM5.5 8.25 7.15 9.9 10.5 6.25");
|
|
294
297
|
var VideoIcon = /* @__PURE__ */ drawn("M2.75 4h6.75a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H2.75a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1ZM10.5 9l3.15 2.1a.4.4 0 0 0 .6-.35v-5.5a.4.4 0 0 0-.6-.35L10.5 7");
|
|
295
298
|
var WarningIcon = /* @__PURE__ */ drawn("M7.13 2.5a1 1 0 0 1 1.74 0l5.5 9.75a1 1 0 0 1-.87 1.5H2.5a1 1 0 0 1-.87-1.5ZM8 6.5v2.75M8 11.25h.01");
|
|
296
299
|
var WebhookIcon = /* @__PURE__ */ drawn("M11.75 11.13H8.01c-.69 0-1.22.59-1.55 1.19A2.5 2.5 0 0 1 1.75 11.13c.01-.44.13-.88.36-1.25M4.25 11.13l1.96-3.61c.33-.61.06-1.36-.31-1.94a2.5 2.5 0 1 1 4.31-2.54M8 4.25l1.96 3.58c.33.61 1.1.8 1.79.8a2.5 2.5 0 0 1 0 5");
|
|
@@ -308,4 +311,4 @@ var PowershellIcon = CommandShellIcon;
|
|
|
308
311
|
/** @deprecated Renamed QuickActionIcon, which says what it means. */
|
|
309
312
|
var ZapIcon = QuickActionIcon;
|
|
310
313
|
//#endregion
|
|
311
|
-
export { APIIcon, AccessIcon, AddAllocationIcon, AddIcon, AddProjectIcon, AddUserIcon, AgentIcon, AiProviderIcon, AllocationIcon, ArchiveIcon, ArrowDownIcon, ArrowLeftIcon, ArrowRightIcon, ArrowUpIcon, ArticleIcon, AttachmentIcon, AuthenticationIcon, BannerIcon, BillingIcon, BriefcaseIcon, BucketIcon, BuildWorkflowIcon, CalendarIcon, CancelIcon, CelebrateIcon, CertificateIcon, ChangesRequestedIcon, ChartIcon, ChatIcon, CheckIcon, ChevronDoubleDownIcon, ChevronDoubleUpIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, ClipboardCheckIcon, ClockIcon, CloseIcon, CloudIcon, CloudNetworkIcon, ClusterIcon, CodeIcon, CollapseIcon, ColumnsIcon, CommandShellIcon, CommentIcon, CommitIcon, ComputeIcon, ConfigIcon, ConnectIcon, ContractIcon, CopyIcon, CustomizeIcon, DefinitionIcon, DeprovisionIcon, DesktopIcon, DestroyIcon, DeviceIcon, DirectoryIcon, DirectorySyncIcon, DisableCostIcon, DisableUserIcon, DisconnectIcon, DiskIcon, DisplayIcon, DownloadIcon, DragHandleIcon, DuplicateIcon, EditIcon, EditorIcon, EducationIcon, EnableCostIcon, EnableUserIcon, EndpointIcon, ErrorCheckmark, ErrorIcon, EventsIcon, ExpandIcon, ExpandVerticalIcon, ExpiredIcon, ExpiringIcon, ExpressionIcon, ExternalLinkIcon, EyeIcon, EyeOffIcon, FailIcon, FavoriteIcon, FavoriteOutlineIcon, FeaturedIcon, FileIcon, FileTextIcon, FilesIcon, FilesystemIcon, FilterClearIcon, FilterIcon, FlaggedIcon, FlaskIcon, FolderIcon, FolderOpenIcon, FolderTreeIcon, ForbiddenIcon, ForkIcon, GearsIcon, GlobeIcon, GovernmentIcon, GraphIcon, GridIcon, HealthMonitoringIcon, HelpIcon, HistoryIcon, HomeIcon, IdCardIcon, ImageIcon, ImpersonateIcon, InboxIcon, IndexIcon, InfoIcon, InfrastructureLayersIcon, InputFormIcon, InstallIcon, InstanceIcon, InstanceTypeIcon, IpAddressIcon, IssueIcon, JobIcon, JsonIcon, KeyIcon, KeyboardIcon, KubernetesNamespaceIcon, LanguageIcon, LegalIcon, LibraryIcon, LicenseIcon, LinkIcon, ListViewIcon, LoadingIcon, LockIcon, LogsIcon, MFAIcon, MachineImageIcon, MailFailedIcon, MailIcon, MailVerifiedIcon, MapPinIcon, MarketplaceIcon, MatrixIcon, MegaphoneIcon, MigrationIcon, MinimizeIcon, MinusIcon, MlIcon, MoneyIcon, MoonIcon, MoreIcon, MusicIcon, MuteIcon, NamespaceIcon, NavigationIcon, NetworkInterfaceIcon, NetworkShareIcon, NewChatIcon, NodeIcon, NotRunningIcon, NotebookIcon, NotificationIcon, OnboardingIcon, OpenInNewGraphIcon, OrganizationIcon, PartnerIcon, PasswordIcon, PauseIcon, PdfIcon, PendingIcon, PhoneIcon, PieChartIcon, PinFilledIcon, PinIcon, PowerIcon, PowershellIcon, PreviewIcon, PrintIcon, ProjectIcon, ProvisionIcon, PublishIcon, PullRequestIcon, QRCodeIcon, QueueIcon, QuickActionIcon, QuotaIcon, RedoIcon, RefreshIcon, ReleaseIcon, RemoveIcon, RemoveUserIcon, RenameIcon, RenewIcon, ReportIcon, ResetIcon, ResetLayoutIcon, ResourceGroupIcon, ResourceIcon, RestartIcon, RestoreIcon, RetryIcon, RevokeIcon, RoleIcon, RollbackIcon, RunWorkflowIcon, RunningIcon, RunsIcon, SaveIcon, SchedulerIcon, ScriptIcon, SearchIcon, SendIcon, ServiceIcon, SessionIcon, SettingsIcon, ShareIcon, SharedIcon, ShieldIcon, ShieldOffIcon, ShrinkIcon, SidebarCloseIcon, SidebarIcon, SidebarOpenIcon, SignInIcon, SignOutIcon, SkipIcon, SnapshotIcon, SortDownIcon, SortUnsortedIcon, SortUpIcon, SparklesIcon, SplitIcon, SpreadsheetIcon, StartIcon, StopIcon, StorageIcon, SubdomainIcon, SuccessCheckmark, SuccessIcon, SummaryIcon, SunIcon, SupportIcon, SwapIcon, TagIcon, TerminalIcon, ThinkingIcon, TodoIcon, TokenIcon, ToolsIcon, TrashIcon, TunnelIcon, UndoIcon, UnfavoriteIcon, UnlinkIcon, UnmuteIcon, UnsplitIcon, UploadIcon, UserIcon, UserWorkspaceIcon, UsersIcon, VariableIcon, VideoIcon, WarningIcon, WebhookIcon, WorkerIcon, WorkflowIcon, WorkloadIcon, WorkspaceMountIcon, ZapIcon, ZipIcon, ZoomInIcon, ZoomOutIcon };
|
|
314
|
+
export { APIIcon, AccessIcon, AddAllocationIcon, AddIcon, AddProjectIcon, AddUserIcon, AgentIcon, AiProviderIcon, AllocationIcon, ArchiveIcon, ArrowDownIcon, ArrowLeftIcon, ArrowRightIcon, ArrowUpIcon, ArticleIcon, AttachmentIcon, AuthenticationIcon, BannerIcon, BillingIcon, BriefcaseIcon, BucketIcon, BuildWorkflowIcon, CalendarIcon, CancelIcon, CelebrateIcon, CertificateIcon, ChangesRequestedIcon, ChartIcon, ChatIcon, CheckIcon, ChevronDoubleDownIcon, ChevronDoubleUpIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, ClipboardCheckIcon, ClockIcon, CloseIcon, CloudIcon, CloudNetworkIcon, ClusterIcon, CodeIcon, CollapseIcon, ColumnsIcon, CommandShellIcon, CommentIcon, CommitIcon, ComputeIcon, ConfigIcon, ConnectIcon, ContractIcon, CopyIcon, CustomizeIcon, DefaultIcon, DefinitionIcon, DeprovisionIcon, DesktopIcon, DestroyIcon, DeviceIcon, DirectoryIcon, DirectorySyncIcon, DisableCostIcon, DisableUserIcon, DisconnectIcon, DiskIcon, DisplayIcon, DownloadIcon, DragHandleIcon, DuplicateIcon, EditIcon, EditorIcon, EducationIcon, EnableCostIcon, EnableUserIcon, EndpointIcon, ErrorCheckmark, ErrorIcon, EventsIcon, ExpandIcon, ExpandVerticalIcon, ExpiredIcon, ExpiringIcon, ExpressionIcon, ExternalLinkIcon, EyeIcon, EyeOffIcon, FailIcon, FavoriteIcon, FavoriteOutlineIcon, FeaturedIcon, FileIcon, FileTextIcon, FilesIcon, FilesystemIcon, FilterClearIcon, FilterIcon, FlaggedIcon, FlaskIcon, FolderIcon, FolderOpenIcon, FolderTreeIcon, ForbiddenIcon, ForkIcon, GearsIcon, GlobeIcon, GovernmentIcon, GraphIcon, GridIcon, HealthMonitoringIcon, HelpIcon, HistoryIcon, HomeIcon, IdCardIcon, ImageIcon, ImpersonateIcon, InboxIcon, IndexIcon, InfoIcon, InfrastructureLayersIcon, InputFormIcon, InstallIcon, InstanceIcon, InstanceTypeIcon, IpAddressIcon, IssueIcon, JobIcon, JsonIcon, KeyIcon, KeyboardIcon, KubernetesNamespaceIcon, LanguageIcon, LegalIcon, LibraryIcon, LicenseIcon, LinkIcon, ListViewIcon, LoadingIcon, LockIcon, LogsIcon, MFAIcon, MachineImageIcon, MailFailedIcon, MailIcon, MailVerifiedIcon, MapPinIcon, MarketplaceIcon, MatrixIcon, MegaphoneIcon, MigrationIcon, MinimizeIcon, MinusIcon, MlIcon, MoneyIcon, MoonIcon, MoreIcon, MusicIcon, MuteIcon, NamespaceIcon, NavigationIcon, NetworkInterfaceIcon, NetworkShareIcon, NewChatIcon, NodeIcon, NotRunningIcon, NotebookIcon, NotificationIcon, OnboardingIcon, OpenInNewGraphIcon, OrganizationIcon, OwnerIcon, PartnerIcon, PasswordIcon, PauseIcon, PdfIcon, PendingIcon, PhoneIcon, PieChartIcon, PinFilledIcon, PinIcon, PowerIcon, PowershellIcon, PreviewIcon, PrintIcon, ProjectIcon, ProvisionIcon, PublishIcon, PullRequestIcon, QRCodeIcon, QueueIcon, QuickActionIcon, QuotaIcon, RedoIcon, RefreshIcon, ReleaseIcon, RemoveIcon, RemoveUserIcon, RenameIcon, RenewIcon, ReportIcon, ResetIcon, ResetLayoutIcon, ResourceGroupIcon, ResourceIcon, RestartIcon, RestoreIcon, RetryIcon, RevokeIcon, RoleIcon, RollbackIcon, RunWorkflowIcon, RunningIcon, RunsIcon, SaveIcon, SchedulerIcon, ScriptIcon, SearchIcon, SendIcon, ServiceIcon, SessionIcon, SettingsIcon, ShareIcon, SharedIcon, ShieldIcon, ShieldOffIcon, ShrinkIcon, SidebarCloseIcon, SidebarIcon, SidebarOpenIcon, SignInIcon, SignOutIcon, SkipIcon, SnapshotIcon, SortDownIcon, SortUnsortedIcon, SortUpIcon, SparklesIcon, SplitIcon, SpreadsheetIcon, StartIcon, StopIcon, StorageIcon, SubdomainIcon, SuccessCheckmark, SuccessIcon, SummaryIcon, SunIcon, SupportIcon, SwapIcon, TagIcon, TerminalIcon, ThinkingIcon, TodoIcon, TokenIcon, ToolsIcon, TrashIcon, TunnelIcon, UndoIcon, UnfavoriteIcon, UnlinkIcon, UnmuteIcon, UnsplitIcon, UploadIcon, UserIcon, UserWorkspaceIcon, UsersIcon, VariableIcon, VerifiedIcon, VideoIcon, WarningIcon, WebhookIcon, WorkerIcon, WorkflowIcon, WorkloadIcon, WorkspaceMountIcon, ZapIcon, ZipIcon, ZoomInIcon, ZoomOutIcon };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@parallelworks/ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.71.0",
|
|
4
4
|
"description": "React UI components: a theme contract, icons, brand logos, primitives, lists, forms, a job graph, a code editor, a log viewer, a file explorer and an AI chat, each on its own subpath",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|