@toolr/ui-design 0.1.5 → 0.1.7
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/agent-rules.json +91 -0
- package/ai-manifest.json +190 -0
- package/components/content/info-panel-primitives.tsx +14 -14
- package/components/hooks/use-click-outside.ts +10 -3
- package/components/hooks/use-modal-behavior.ts +24 -0
- package/components/hooks/use-navigation-history.ts +7 -2
- package/components/hooks/use-resizable-sidebar.ts +38 -0
- package/components/lib/ai-tools.tsx +1 -1
- package/components/lib/form-colors.ts +40 -0
- package/components/sections/ai-tools-paths/tools-paths-panel.tsx +7 -7
- package/components/sections/captured-issues/captured-issues-panel.tsx +13 -13
- package/components/sections/captured-issues/use-captured-issues.ts +9 -3
- package/components/sections/golden-snapshots/file-diff-viewer.tsx +13 -13
- package/components/sections/golden-snapshots/golden-sync-panel.tsx +5 -5
- package/components/sections/golden-snapshots/snapshot-manager.tsx +11 -11
- package/components/sections/golden-snapshots/status-overview.tsx +20 -20
- package/components/sections/golden-snapshots/version-manager.tsx +8 -8
- package/components/sections/prompt-editor/file-type-tabbed-prompt-editor.tsx +8 -44
- package/components/sections/prompt-editor/index.ts +0 -7
- package/components/sections/prompt-editor/simulator-prompt-editor.tsx +9 -45
- package/components/sections/prompt-editor/tabbed-prompt-editor.tsx +11 -43
- package/components/sections/report-bug/report-bug-form.tsx +14 -14
- package/components/sections/report-bug/screenshot-uploader.tsx +6 -6
- package/components/sections/snapshot-browser/snapshot-browser-panel.tsx +3 -3
- package/components/sections/snapshot-browser/snapshot-tree.tsx +8 -8
- package/components/sections/snippets-editor/snippets-editor.tsx +74 -48
- package/components/settings/SettingsHeader.tsx +1 -2
- package/components/settings/SettingsTreeNav.tsx +31 -16
- package/components/ui/action-dialog.tsx +12 -56
- package/components/ui/badge.tsx +8 -24
- package/components/ui/bottom-panel-header.tsx +4 -4
- package/components/ui/breadcrumb.tsx +8 -68
- package/components/ui/checkbox.tsx +2 -16
- package/components/ui/collapsible-section.tsx +4 -42
- package/components/ui/confirm-badge.tsx +3 -20
- package/components/ui/cookie-consent.tsx +21 -5
- package/components/ui/debounce-border-overlay.tsx +31 -0
- package/components/ui/detail-section.tsx +5 -22
- package/components/ui/editor-placeholder-card.tsx +17 -16
- package/components/ui/editor-toolbar.tsx +12 -0
- package/components/ui/execution-details-panel.tsx +8 -13
- package/components/ui/extension-list-card.tsx +3 -3
- package/components/ui/file-structure-section.tsx +20 -35
- package/components/ui/file-tree.tsx +4 -14
- package/components/ui/files-panel.tsx +28 -18
- package/components/ui/filter-dropdown.tsx +5 -5
- package/components/ui/form-actions.tsx +7 -6
- package/components/ui/frontmatter-form-header.tsx +4 -4
- package/components/ui/icon-button.tsx +3 -2
- package/components/ui/input.tsx +15 -31
- package/components/ui/label.tsx +7 -21
- package/components/ui/layout-tab-bar.tsx +4 -4
- package/components/ui/modal.tsx +5 -17
- package/components/ui/nav-card.tsx +5 -20
- package/components/ui/navigation-bar.tsx +13 -74
- package/components/ui/number-input.tsx +4 -4
- package/components/ui/registry-browser.tsx +10 -24
- package/components/ui/registry-card.tsx +16 -20
- package/components/ui/registry-detail.tsx +6 -6
- package/components/ui/resizable-textarea.tsx +13 -35
- package/components/ui/segmented-toggle.tsx +6 -5
- package/components/ui/select.tsx +7 -16
- package/components/ui/selection-grid.tsx +6 -54
- package/components/ui/setting-row.tsx +2 -4
- package/components/ui/settings-card.tsx +3 -3
- package/components/ui/settings-info-box.tsx +6 -23
- package/components/ui/settings-section-title.tsx +1 -1
- package/components/ui/snapshot-card.tsx +7 -7
- package/components/ui/snippets-panel.tsx +10 -10
- package/components/ui/sort-dropdown.tsx +2 -2
- package/components/ui/status-card.tsx +6 -17
- package/components/ui/tab-bar.tsx +5 -31
- package/components/ui/toggle.tsx +3 -19
- package/components/ui/tooltip.tsx +9 -21
- package/dist/content.js +14 -14
- package/dist/index.d.ts +71 -141
- package/dist/index.js +1634 -2450
- package/dist/tokens/primitives.css +9 -2
- package/index.ts +8 -7
- package/package.json +13 -3
- package/tokens/primitives.css +9 -2
- package/components/sections/prompt-editor/use-prompt-editor.ts +0 -131
package/dist/content.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
// components/content/info-panel-primitives.tsx
|
|
2
2
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
3
3
|
function P({ children }) {
|
|
4
|
-
return /* @__PURE__ */ jsx("p", { className: "text-
|
|
4
|
+
return /* @__PURE__ */ jsx("p", { className: "text-md text-neutral-400 leading-relaxed mb-5", children });
|
|
5
5
|
}
|
|
6
6
|
function SectionHeader({ color, children }) {
|
|
7
7
|
const textColor = color ? `text-${color}-500/70` : "text-neutral-500";
|
|
8
|
-
return /* @__PURE__ */ jsx("p", { className: `${textColor} text-
|
|
8
|
+
return /* @__PURE__ */ jsx("p", { className: `${textColor} text-sm uppercase font-semibold pb-0.5 border-b border-neutral-700/50 mb-2.5`, style: { letterSpacing: "0.8px" }, children });
|
|
9
9
|
}
|
|
10
10
|
function DL({ children }) {
|
|
11
11
|
return /* @__PURE__ */ jsx("div", { className: "mb-5", children: /* @__PURE__ */ jsx("div", { className: "grid grid-cols-[auto_1fr] gap-x-4", children }) });
|
|
@@ -13,12 +13,12 @@ function DL({ children }) {
|
|
|
13
13
|
function DLRow({ term, children, even }) {
|
|
14
14
|
const bg = even ? "bg-white/[0.015]" : "";
|
|
15
15
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
16
|
-
/* @__PURE__ */ jsx("div", { className: `py-2 border-b border-neutral-800/60 ${bg} font-semibold text-
|
|
17
|
-
/* @__PURE__ */ jsx("div", { className: `py-2 border-b border-neutral-800/60 ${bg} text-
|
|
16
|
+
/* @__PURE__ */ jsx("div", { className: `py-2 border-b border-neutral-800/60 ${bg} font-semibold text-md whitespace-nowrap`, children: term }),
|
|
17
|
+
/* @__PURE__ */ jsx("div", { className: `py-2 border-b border-neutral-800/60 ${bg} text-md text-neutral-400`, children })
|
|
18
18
|
] });
|
|
19
19
|
}
|
|
20
20
|
function UL({ children }) {
|
|
21
|
-
return /* @__PURE__ */ jsx("ul", { className: "text-
|
|
21
|
+
return /* @__PURE__ */ jsx("ul", { className: "text-md text-neutral-400 space-y-2 mb-5", children });
|
|
22
22
|
}
|
|
23
23
|
function LI({ color, children }) {
|
|
24
24
|
return /* @__PURE__ */ jsxs("li", { className: "flex items-start gap-2", children: [
|
|
@@ -30,7 +30,7 @@ function OL({ children }) {
|
|
|
30
30
|
return /* @__PURE__ */ jsx("div", { className: "space-y-2 mb-5", children });
|
|
31
31
|
}
|
|
32
32
|
function OLI({ n, color, children }) {
|
|
33
|
-
return /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-2.5 text-
|
|
33
|
+
return /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-2.5 text-md", children: [
|
|
34
34
|
/* @__PURE__ */ jsxs("span", { className: `text-${color}-400 shrink-0 w-4 text-right font-bold`, children: [
|
|
35
35
|
n,
|
|
36
36
|
"."
|
|
@@ -61,17 +61,17 @@ function getCalloutColors(color) {
|
|
|
61
61
|
}
|
|
62
62
|
function Callout({ color, children }) {
|
|
63
63
|
const c = CALLOUT_COLORS[color] ?? CALLOUT_COLORS.blue;
|
|
64
|
-
return /* @__PURE__ */ jsx("div", { className: `border-l-4 ${c.borderL} border-y ${c.borderY} ${c.bg} px-3 py-2.5 rounded-r mb-5 text-
|
|
64
|
+
return /* @__PURE__ */ jsx("div", { className: `border-l-4 ${c.borderL} border-y ${c.borderY} ${c.bg} px-3 py-2.5 rounded-r mb-5 text-md text-neutral-400`, children });
|
|
65
65
|
}
|
|
66
66
|
function CalloutCode({ color, children }) {
|
|
67
67
|
const c = CALLOUT_COLORS[color] ?? CALLOUT_COLORS.blue;
|
|
68
|
-
return /* @__PURE__ */ jsx("code", { className: `block bg-neutral-800/80 px-2 py-1 rounded mt-1.5 text-
|
|
68
|
+
return /* @__PURE__ */ jsx("code", { className: `block bg-neutral-800/80 px-2 py-1 rounded mt-1.5 text-md ${c.codeText}`, children });
|
|
69
69
|
}
|
|
70
70
|
function CalloutDim({ children }) {
|
|
71
71
|
return /* @__PURE__ */ jsx("p", { className: "text-neutral-500 mt-1.5", children });
|
|
72
72
|
}
|
|
73
73
|
function CodeBlock({ children }) {
|
|
74
|
-
return /* @__PURE__ */ jsx("div", { className: "bg-neutral-900/60 rounded-md p-3 font-mono text-
|
|
74
|
+
return /* @__PURE__ */ jsx("div", { className: "bg-neutral-900/60 rounded-md p-3 font-mono text-sm text-neutral-400 mb-5 whitespace-pre overflow-x-auto leading-normal", children });
|
|
75
75
|
}
|
|
76
76
|
function CK({ color, children }) {
|
|
77
77
|
const textColor = color ? `text-${color}-400` : "";
|
|
@@ -98,13 +98,13 @@ function LocationItem({
|
|
|
98
98
|
className: `w-2 h-2 rounded-full bg-${color}-500/50 border border-${color}-500 shrink-0`
|
|
99
99
|
}
|
|
100
100
|
),
|
|
101
|
-
/* @__PURE__ */ jsx("span", { className: `text-${color}-400 text-
|
|
101
|
+
/* @__PURE__ */ jsx("span", { className: `text-${color}-400 text-md font-semibold`, children: label })
|
|
102
102
|
] }),
|
|
103
|
-
/* @__PURE__ */ jsx("div", { className: `py-2 border-b border-neutral-800/60 ${bg} text-
|
|
103
|
+
/* @__PURE__ */ jsx("div", { className: `py-2 border-b border-neutral-800/60 ${bg} text-md text-neutral-400`, children })
|
|
104
104
|
] });
|
|
105
105
|
}
|
|
106
106
|
function TitledLI({ color, title, children }) {
|
|
107
|
-
return /* @__PURE__ */ jsxs("li", { className: "flex items-start gap-2 text-
|
|
107
|
+
return /* @__PURE__ */ jsxs("li", { className: "flex items-start gap-2 text-md text-neutral-400", children: [
|
|
108
108
|
/* @__PURE__ */ jsx("span", { className: `text-${color}-400 shrink-0`, style: { marginTop: "3px", fontSize: "18px", lineHeight: "14px" }, children: "\u2022" }),
|
|
109
109
|
/* @__PURE__ */ jsxs("span", { children: [
|
|
110
110
|
/* @__PURE__ */ jsx("span", { className: `text-${color}-300 font-semibold`, children: title }),
|
|
@@ -115,7 +115,7 @@ function TitledLI({ color, title, children }) {
|
|
|
115
115
|
] });
|
|
116
116
|
}
|
|
117
117
|
function CalloutDialog({ color, lines }) {
|
|
118
|
-
return /* @__PURE__ */ jsx("div", { className: "bg-neutral-800/80 rounded px-2 py-1 mt-1.5 flex flex-col gap-0.5 text-
|
|
118
|
+
return /* @__PURE__ */ jsx("div", { className: "bg-neutral-800/80 rounded px-2 py-1 mt-1.5 flex flex-col gap-0.5 text-md", children: lines.map((line, idx) => /* @__PURE__ */ jsxs("div", { children: [
|
|
119
119
|
/* @__PURE__ */ jsxs("span", { className: `text-${color}-300 font-semibold mr-1`, children: [
|
|
120
120
|
line.speaker,
|
|
121
121
|
":"
|
|
@@ -131,7 +131,7 @@ function StatusBadge({ value, badgeColor, label, children, even }) {
|
|
|
131
131
|
DLRow,
|
|
132
132
|
{
|
|
133
133
|
term: /* @__PURE__ */ jsxs("span", { className: "flex items-center gap-1.5", children: [
|
|
134
|
-
/* @__PURE__ */ jsx("span", { className: `inline-flex items-center justify-center w-5 h-5 rounded-full bg-${badgeColor}-500/20 text-${badgeColor}-400 text-
|
|
134
|
+
/* @__PURE__ */ jsx("span", { className: `inline-flex items-center justify-center w-5 h-5 rounded-full bg-${badgeColor}-500/20 text-${badgeColor}-400 text-xs font-bold shrink-0`, children: value }),
|
|
135
135
|
/* @__PURE__ */ jsx("span", { className: `text-${badgeColor}-400 font-semibold`, children: label })
|
|
136
136
|
] }),
|
|
137
137
|
even,
|
package/dist/index.d.ts
CHANGED
|
@@ -6,6 +6,13 @@ import { LucideIcon } from 'lucide-react';
|
|
|
6
6
|
import { ClassValue } from 'clsx';
|
|
7
7
|
|
|
8
8
|
type FormColor = 'blue' | 'green' | 'red' | 'orange' | 'cyan' | 'yellow' | 'purple' | 'indigo' | 'emerald' | 'amber' | 'violet' | 'neutral' | 'sky' | 'pink' | 'teal';
|
|
9
|
+
type AccentColor = FormColor;
|
|
10
|
+
declare const ACCENT_TEXT: Record<AccentColor, string>;
|
|
11
|
+
declare const ACCENT_ICON: Record<FormColor, string>;
|
|
12
|
+
declare const ACCENT_NAV: Record<AccentColor, {
|
|
13
|
+
bg: string;
|
|
14
|
+
text: string;
|
|
15
|
+
}>;
|
|
9
16
|
|
|
10
17
|
declare const SCALE_KEYS: readonly ["black", "950", "900", "850", "800", "750", "700", "600", "500", "400", "300", "200"];
|
|
11
18
|
type ScaleKey = (typeof SCALE_KEYS)[number];
|
|
@@ -231,7 +238,7 @@ interface ActionItem {
|
|
|
231
238
|
testId?: string;
|
|
232
239
|
}
|
|
233
240
|
type IconButtonStatus = 'loading' | 'success' | 'warning' | 'error';
|
|
234
|
-
type IconButtonColor =
|
|
241
|
+
type IconButtonColor = AccentColor;
|
|
235
242
|
type IconButtonVariant = 'filled' | 'outline';
|
|
236
243
|
interface IconButtonProps {
|
|
237
244
|
icon: IconName | ReactNode;
|
|
@@ -265,7 +272,7 @@ interface CollapseButtonProps {
|
|
|
265
272
|
}
|
|
266
273
|
declare function CollapseButton({ collapsed, onToggle, size, color, tooltipPosition }: CollapseButtonProps): react_jsx_runtime.JSX.Element;
|
|
267
274
|
|
|
268
|
-
type LabelColor =
|
|
275
|
+
type LabelColor = AccentColor;
|
|
269
276
|
interface LabelProps {
|
|
270
277
|
text: string;
|
|
271
278
|
color: LabelColor;
|
|
@@ -287,23 +294,11 @@ interface LabelProps {
|
|
|
287
294
|
className?: string;
|
|
288
295
|
testId?: string;
|
|
289
296
|
}
|
|
297
|
+
/** Smart capitalize: capitalizes first letter of each word separated by spaces or dashes */
|
|
298
|
+
declare function smartCapitalize(value: string): string;
|
|
290
299
|
declare function Label({ text, color, icon, IconComponent: CustomIcon, tooltip, size, textTransform, progress, onClick, className, testId, }: LabelProps): react_jsx_runtime.JSX.Element;
|
|
291
300
|
|
|
292
|
-
|
|
293
|
-
* Badge - Outline-styled pill badge for displaying counts or short labels
|
|
294
|
-
*
|
|
295
|
-
* Used by:
|
|
296
|
-
* - TabBar, BottomPanelHeader - tab count badges
|
|
297
|
-
* - NavCard - card count badges
|
|
298
|
-
* - Any UI that needs a small inline indicator
|
|
299
|
-
*
|
|
300
|
-
* Features:
|
|
301
|
-
* - Outline variant matching IconButton outline style (border + text, no fill)
|
|
302
|
-
* - Accepts numbers (auto-caps at 99+) or short strings ("New")
|
|
303
|
-
* - 15 color variants
|
|
304
|
-
* - 5 size variants (xss, xs, sm, md, lg)
|
|
305
|
-
*/
|
|
306
|
-
type BadgeColor = 'blue' | 'green' | 'red' | 'orange' | 'cyan' | 'yellow' | 'purple' | 'indigo' | 'emerald' | 'amber' | 'violet' | 'neutral' | 'sky' | 'pink' | 'teal';
|
|
301
|
+
type BadgeColor = AccentColor;
|
|
307
302
|
interface BadgeProps {
|
|
308
303
|
value: number | string;
|
|
309
304
|
color?: BadgeColor;
|
|
@@ -313,19 +308,7 @@ interface BadgeProps {
|
|
|
313
308
|
}
|
|
314
309
|
declare function Badge({ value, color, size, className, testId, }: BadgeProps): react_jsx_runtime.JSX.Element;
|
|
315
310
|
|
|
316
|
-
|
|
317
|
-
* ConfirmBadge - Outline-styled check badge for indicating selection/confirmation
|
|
318
|
-
*
|
|
319
|
-
* Used by:
|
|
320
|
-
* - SelectionGrid - selected state indicator on cards
|
|
321
|
-
* - Any UI that needs a small check/confirmed indicator
|
|
322
|
-
*
|
|
323
|
-
* Features:
|
|
324
|
-
* - Outline variant matching IconButton outline style (border + text, no fill)
|
|
325
|
-
* - 15 color variants
|
|
326
|
-
* - 5 size variants (xss, xs, sm, md, lg)
|
|
327
|
-
*/
|
|
328
|
-
type ConfirmBadgeColor = 'blue' | 'green' | 'red' | 'orange' | 'cyan' | 'yellow' | 'purple' | 'indigo' | 'emerald' | 'amber' | 'violet' | 'neutral' | 'sky' | 'pink' | 'teal';
|
|
311
|
+
type ConfirmBadgeColor = AccentColor;
|
|
329
312
|
interface ConfirmBadgeProps {
|
|
330
313
|
color?: ConfirmBadgeColor;
|
|
331
314
|
size?: 'xss' | 'xs' | 'sm' | 'md' | 'lg';
|
|
@@ -334,16 +317,8 @@ interface ConfirmBadgeProps {
|
|
|
334
317
|
}
|
|
335
318
|
declare function ConfirmBadge({ color, size, className, testId, }: ConfirmBadgeProps): react_jsx_runtime.JSX.Element;
|
|
336
319
|
|
|
337
|
-
/**
|
|
338
|
-
* Checkbox - Controlled checkbox input with check icon
|
|
339
|
-
*
|
|
340
|
-
* Used by:
|
|
341
|
-
* - Settings forms - boolean preference toggles
|
|
342
|
-
* - Filter panels - multi-select filters
|
|
343
|
-
* - List items - selection state
|
|
344
|
-
*/
|
|
345
320
|
type CheckboxSize = 'xss' | 'xs' | 'sm' | 'md' | 'lg';
|
|
346
|
-
type CheckboxColor =
|
|
321
|
+
type CheckboxColor = AccentColor;
|
|
347
322
|
type CheckboxVariant = 'outline' | 'filled';
|
|
348
323
|
interface CheckboxProps {
|
|
349
324
|
checked: boolean;
|
|
@@ -358,17 +333,8 @@ interface CheckboxProps {
|
|
|
358
333
|
}
|
|
359
334
|
declare function Checkbox({ checked, onChange, disabled, size, color, variant, className, testId, }: CheckboxProps): react_jsx_runtime.JSX.Element;
|
|
360
335
|
|
|
361
|
-
|
|
362
|
-
* Toggle - iOS-style switch toggle
|
|
363
|
-
*
|
|
364
|
-
* Used by:
|
|
365
|
-
* - Settings pages - boolean preferences
|
|
366
|
-
* - Feature flags - enable/disable features
|
|
367
|
-
* - List items - inline toggle controls
|
|
368
|
-
*/
|
|
369
|
-
type ToggleColor = 'blue' | 'green' | 'red' | 'orange' | 'cyan' | 'yellow' | 'purple' | 'indigo' | 'emerald' | 'amber' | 'violet' | 'neutral' | 'sky' | 'pink' | 'teal';
|
|
336
|
+
type ToggleColor = AccentColor;
|
|
370
337
|
type ToggleSize = 'xss' | 'xs' | 'sm' | 'md' | 'lg';
|
|
371
|
-
type ToggleVariant = 'outline' | 'filled';
|
|
372
338
|
interface ToggleProps {
|
|
373
339
|
checked: boolean;
|
|
374
340
|
onChange: (checked: boolean) => void;
|
|
@@ -376,7 +342,6 @@ interface ToggleProps {
|
|
|
376
342
|
size?: ToggleSize;
|
|
377
343
|
className?: string;
|
|
378
344
|
color?: ToggleColor;
|
|
379
|
-
variant?: ToggleVariant;
|
|
380
345
|
/** Test ID for E2E testing */
|
|
381
346
|
testId?: string;
|
|
382
347
|
}
|
|
@@ -430,7 +395,7 @@ interface SegmentedToggleProps<T extends string> {
|
|
|
430
395
|
options: SegmentedToggleOption<T>[];
|
|
431
396
|
value: T;
|
|
432
397
|
onChange: (value: T) => void;
|
|
433
|
-
accentColor?:
|
|
398
|
+
accentColor?: AccentColor;
|
|
434
399
|
/** Visual style: 'filled' (default) has a container background, 'outline' is transparent */
|
|
435
400
|
variant?: 'filled' | 'outline';
|
|
436
401
|
size?: 'xss' | 'xs' | 'sm' | 'md' | 'lg';
|
|
@@ -620,28 +585,21 @@ interface SelectionGridProps {
|
|
|
620
585
|
}
|
|
621
586
|
declare function SelectionGrid({ items: itemsProp, presets, selectedIds, onSelect, mode, layout, columns, className, }: SelectionGridProps): react_jsx_runtime.JSX.Element;
|
|
622
587
|
|
|
623
|
-
|
|
624
|
-
* ExecutionDetailsPanel - Shows AI execution configuration before running actions
|
|
625
|
-
*
|
|
626
|
-
* Displays tool, permissions, output format, CLI flags, and change handling.
|
|
627
|
-
* Optional "Allow direct edits" toggle with warning message.
|
|
628
|
-
* Used inside ActionDialog as the mandatory execution details section.
|
|
629
|
-
*/
|
|
630
|
-
interface ExecutionDetailRow {
|
|
588
|
+
interface DetailRow {
|
|
631
589
|
label: string;
|
|
632
590
|
value: string;
|
|
633
591
|
mono?: boolean;
|
|
634
592
|
}
|
|
635
|
-
interface
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
/**
|
|
641
|
-
|
|
593
|
+
interface DetailSectionProps {
|
|
594
|
+
/** Section title (e.g., "Execution Details") */
|
|
595
|
+
title: string;
|
|
596
|
+
/** Icon before the title */
|
|
597
|
+
icon?: IconName;
|
|
598
|
+
/** Detail rows to display */
|
|
599
|
+
rows: DetailRow[];
|
|
642
600
|
className?: string;
|
|
643
601
|
}
|
|
644
|
-
declare function
|
|
602
|
+
declare function DetailSection({ title, icon, rows, className }: DetailSectionProps): react_jsx_runtime.JSX.Element;
|
|
645
603
|
|
|
646
604
|
interface ActionDialogProps {
|
|
647
605
|
/** Dialog title */
|
|
@@ -697,7 +655,7 @@ interface ActionDialogProps {
|
|
|
697
655
|
/** Scenario grid column count */
|
|
698
656
|
scenarioColumns?: number;
|
|
699
657
|
/** Execution detail rows (Tool, Permissions, Output, CLI Flags, Changes) */
|
|
700
|
-
executionDetails:
|
|
658
|
+
executionDetails: DetailRow[];
|
|
701
659
|
/** Whether direct file edits are allowed */
|
|
702
660
|
allowDirectEdits?: boolean;
|
|
703
661
|
/** Callback to toggle direct edits - shows the toggle when provided */
|
|
@@ -711,6 +669,17 @@ interface ActionDialogProps {
|
|
|
711
669
|
}
|
|
712
670
|
declare function ActionDialog({ title, subtitle, icon, iconColor, onSettings, onCancel, onSubmit, submitLabel, submitIcon, submitColor, submitDisabled, statusText, selectionLabel, items, presets, selectedIds, onSelect, selectionMode, selectionLayout, selectionColumns, scenarioLabel, scenarios, selectedScenarioIds, onSelectScenarios, scenarioLayout, scenarioColumns, executionDetails, allowDirectEdits, onAllowDirectEditsChange, executionWarning, children, className, }: ActionDialogProps): react.ReactPortal;
|
|
713
671
|
|
|
672
|
+
interface ExecutionDetailsPanelProps {
|
|
673
|
+
details: DetailRow[];
|
|
674
|
+
/** Show the "Allow direct edits" toggle */
|
|
675
|
+
allowDirectEdits?: boolean;
|
|
676
|
+
onAllowDirectEditsChange?: (value: boolean) => void;
|
|
677
|
+
/** Warning message shown below the toggle */
|
|
678
|
+
warningMessage?: string;
|
|
679
|
+
className?: string;
|
|
680
|
+
}
|
|
681
|
+
declare function ExecutionDetailsPanel({ details, allowDirectEdits, onAllowDirectEditsChange, warningMessage, className, }: ExecutionDetailsPanelProps): react_jsx_runtime.JSX.Element;
|
|
682
|
+
|
|
714
683
|
interface FileTreeNode {
|
|
715
684
|
name: string;
|
|
716
685
|
type: 'file' | 'directory';
|
|
@@ -731,6 +700,10 @@ declare function collectDirPaths(nodes: FileTreeNode[], rootName?: string, prefi
|
|
|
731
700
|
declare function FileTree({ nodes, rootName, selectedPath, onSelectFile, prefix, expandedPaths, onTogglePath, accentColor }: FileTreeProps): react_jsx_runtime.JSX.Element;
|
|
732
701
|
|
|
733
702
|
interface EditorToolbarProps {
|
|
703
|
+
/** Optional title displayed in the toolbar */
|
|
704
|
+
title?: string;
|
|
705
|
+
/** Optional description displayed below the title */
|
|
706
|
+
description?: string;
|
|
734
707
|
/** Whether content has unsaved changes */
|
|
735
708
|
isDirty: boolean;
|
|
736
709
|
/** Whether save operation is in progress */
|
|
@@ -755,7 +728,7 @@ interface EditorToolbarProps {
|
|
|
755
728
|
/** Optional: Additional action buttons on the right side (before save) */
|
|
756
729
|
rightActions?: ActionItem[];
|
|
757
730
|
}
|
|
758
|
-
declare function EditorToolbar({ isDirty, isSaving, onSave, canReset, onReset, resetTooltip, isReadOnly, hasError, leftActions, rightActions, }: EditorToolbarProps): react_jsx_runtime.JSX.Element | null;
|
|
731
|
+
declare function EditorToolbar({ title, description, isDirty, isSaving, onSave, canReset, onReset, resetTooltip, isReadOnly, hasError, leftActions, rightActions, }: EditorToolbarProps): react_jsx_runtime.JSX.Element | null;
|
|
759
732
|
|
|
760
733
|
/** Status banner configuration for outdated/info messages */
|
|
761
734
|
interface StatusBanner {
|
|
@@ -870,7 +843,6 @@ declare function DetailViewWrapper({ editorContent, actions, bottomPanel, rightS
|
|
|
870
843
|
|
|
871
844
|
type RegistryItemType = 'skill' | 'hook' | 'agent' | 'command' | 'plugin' | 'mcp' | 'settings';
|
|
872
845
|
type ExtensionSource = 'project' | 'plugin' | 'user' | 'local';
|
|
873
|
-
declare function formatCategory(category: string): string;
|
|
874
846
|
interface SeedrItemStatus {
|
|
875
847
|
updateAvailable: boolean;
|
|
876
848
|
modified: boolean;
|
|
@@ -968,7 +940,6 @@ type RegistryCardProps = SeedrVariant | ClaudePluginsVariant | AitmplVariant | S
|
|
|
968
940
|
declare function RegistryCard(props: RegistryCardProps): react_jsx_runtime.JSX.Element;
|
|
969
941
|
|
|
970
942
|
type PreviewMode = 'format' | 'language' | 'plain';
|
|
971
|
-
type AccentColor = 'blue' | 'green' | 'red' | 'orange' | 'cyan' | 'yellow' | 'purple' | 'indigo' | 'emerald' | 'amber' | 'violet' | 'neutral' | 'sky' | 'pink' | 'teal';
|
|
972
943
|
interface FileStructureSectionProps {
|
|
973
944
|
files: FileTreeNode[] | null;
|
|
974
945
|
rootName: string;
|
|
@@ -2216,8 +2187,9 @@ interface SnippetsEditorProps {
|
|
|
2216
2187
|
/** Section description, e.g. "Define snippets to reuse in skills prompts..." */
|
|
2217
2188
|
description?: string;
|
|
2218
2189
|
className?: string;
|
|
2190
|
+
accentColor?: string;
|
|
2219
2191
|
}
|
|
2220
|
-
declare function SnippetsEditor({ api, snippets, title, description, className, }: SnippetsEditorProps): react_jsx_runtime.JSX.Element;
|
|
2192
|
+
declare function SnippetsEditor({ api, snippets, title, description, className, accentColor, }: SnippetsEditorProps): react_jsx_runtime.JSX.Element;
|
|
2221
2193
|
|
|
2222
2194
|
/**
|
|
2223
2195
|
* useSnippetsEditor — Form state and CRUD hook for the snippets editor
|
|
@@ -2336,51 +2308,6 @@ interface ScenarioOption {
|
|
|
2336
2308
|
}>;
|
|
2337
2309
|
}
|
|
2338
2310
|
|
|
2339
|
-
/**
|
|
2340
|
-
* usePromptEditor — Hook managing prompt editor state
|
|
2341
|
-
*
|
|
2342
|
-
* Part of: Sections > Prompt Editor
|
|
2343
|
-
*
|
|
2344
|
-
* Handles:
|
|
2345
|
-
* - Local content state (separate from saved content for dirty detection)
|
|
2346
|
-
* - Dirty state detection
|
|
2347
|
-
* - Save with Ctrl/Cmd+S keyboard shortcut
|
|
2348
|
-
* - Variable search/filter
|
|
2349
|
-
* - Active tab state
|
|
2350
|
-
*/
|
|
2351
|
-
|
|
2352
|
-
interface UsePromptEditorOptions {
|
|
2353
|
-
/** Prompt content keyed by tool id */
|
|
2354
|
-
prompts: Record<string, string>;
|
|
2355
|
-
/** Called when saving (all modified prompts at once) */
|
|
2356
|
-
onPromptChange: (tool: string, value: string) => void;
|
|
2357
|
-
/** Available tool tabs */
|
|
2358
|
-
tools: ToolTab[];
|
|
2359
|
-
/** Available template variables */
|
|
2360
|
-
variables?: PromptPlaceholder[];
|
|
2361
|
-
}
|
|
2362
|
-
interface UsePromptEditorReturn {
|
|
2363
|
-
/** Currently active tool tab id */
|
|
2364
|
-
activeTab: string;
|
|
2365
|
-
setActiveTab: (tab: string) => void;
|
|
2366
|
-
/** Local editor content (may differ from saved prompts) */
|
|
2367
|
-
localContent: Record<string, string>;
|
|
2368
|
-
/** Current prompt for the active tab */
|
|
2369
|
-
currentPrompt: string;
|
|
2370
|
-
/** Whether any tab has unsaved changes */
|
|
2371
|
-
isDirty: boolean;
|
|
2372
|
-
/** Handle editor content change */
|
|
2373
|
-
handleEditorChange: (value: string | undefined) => void;
|
|
2374
|
-
/** Save all modified prompts */
|
|
2375
|
-
handleSave: () => void;
|
|
2376
|
-
/** Variable search state */
|
|
2377
|
-
variableSearch: string;
|
|
2378
|
-
setVariableSearch: (search: string) => void;
|
|
2379
|
-
/** Filtered variables based on search */
|
|
2380
|
-
filteredVariables: PromptPlaceholder[];
|
|
2381
|
-
}
|
|
2382
|
-
declare function usePromptEditor({ prompts, onPromptChange, tools, variables, }: UsePromptEditorOptions): UsePromptEditorReturn;
|
|
2383
|
-
|
|
2384
2311
|
interface TabbedPromptEditorProps {
|
|
2385
2312
|
/** Prompt content keyed by tool id */
|
|
2386
2313
|
prompts: Record<string, string>;
|
|
@@ -2482,8 +2409,9 @@ interface FilesPanelProps {
|
|
|
2482
2409
|
onAction?: (action: string, path: string) => void;
|
|
2483
2410
|
showSearch?: boolean;
|
|
2484
2411
|
className?: string;
|
|
2412
|
+
accentColor?: string;
|
|
2485
2413
|
}
|
|
2486
|
-
declare function FilesPanel({ files, selectedPath, onSelect, onAction, showSearch, className, }: FilesPanelProps): react_jsx_runtime.JSX.Element;
|
|
2414
|
+
declare function FilesPanel({ files, selectedPath, onSelect, onAction, showSearch, className, accentColor, }: FilesPanelProps): react_jsx_runtime.JSX.Element;
|
|
2487
2415
|
|
|
2488
2416
|
/** Searchable panel for browsing, copying, and inserting code snippets. */
|
|
2489
2417
|
interface Snippet {
|
|
@@ -2668,22 +2596,6 @@ interface SnapshotCardProps {
|
|
|
2668
2596
|
}
|
|
2669
2597
|
declare function SnapshotCard({ title, timestamp, status, description, stats, onSync, onView, className, }: SnapshotCardProps): react_jsx_runtime.JSX.Element;
|
|
2670
2598
|
|
|
2671
|
-
interface DetailRow {
|
|
2672
|
-
label: string;
|
|
2673
|
-
value: string;
|
|
2674
|
-
mono?: boolean;
|
|
2675
|
-
}
|
|
2676
|
-
interface DetailSectionProps {
|
|
2677
|
-
/** Section title (e.g., "Execution Details") */
|
|
2678
|
-
title: string;
|
|
2679
|
-
/** Icon before the title */
|
|
2680
|
-
icon?: IconName;
|
|
2681
|
-
/** Detail rows to display */
|
|
2682
|
-
rows: DetailRow[];
|
|
2683
|
-
className?: string;
|
|
2684
|
-
}
|
|
2685
|
-
declare function DetailSection({ title, icon, rows, className }: DetailSectionProps): react_jsx_runtime.JSX.Element;
|
|
2686
|
-
|
|
2687
2599
|
type ConsentChoice = 'accepted' | 'declined' | 'essential';
|
|
2688
2600
|
interface CookieConsentProps {
|
|
2689
2601
|
/** localStorage key used to persist the choice */
|
|
@@ -2700,10 +2612,12 @@ interface CookieConsentProps {
|
|
|
2700
2612
|
declare function CookieConsent({ storageKey, accentColor, heading, description, onConsent, }: CookieConsentProps): react_jsx_runtime.JSX.Element | null;
|
|
2701
2613
|
|
|
2702
2614
|
/**
|
|
2703
|
-
* Close a menu/dropdown when clicking outside its ref element.
|
|
2615
|
+
* Close a menu/dropdown when clicking outside its ref element(s).
|
|
2616
|
+
* Accepts a single ref, an array of refs, or null.
|
|
2617
|
+
* When given an array, closes only if the click is outside ALL refs.
|
|
2704
2618
|
* If ref is null, closes on any mousedown event.
|
|
2705
2619
|
*/
|
|
2706
|
-
declare function useClickOutside(ref: RefObject<HTMLElement | null> | null, isOpen: boolean, onClose: () => void): void;
|
|
2620
|
+
declare function useClickOutside(ref: RefObject<HTMLElement | null> | RefObject<HTMLElement | null>[] | null, isOpen: boolean, onClose: () => void): void;
|
|
2707
2621
|
|
|
2708
2622
|
/**
|
|
2709
2623
|
* Constrains a dropdown menu's height to fit within the viewport.
|
|
@@ -2711,6 +2625,11 @@ declare function useClickOutside(ref: RefObject<HTMLElement | null> | null, isOp
|
|
|
2711
2625
|
*/
|
|
2712
2626
|
declare function useDropdownMaxHeight<T extends HTMLElement>(isOpen: boolean, margin?: number): react.RefObject<T | null>;
|
|
2713
2627
|
|
|
2628
|
+
/**
|
|
2629
|
+
* Shared modal behavior: Escape key to close + body overflow lock.
|
|
2630
|
+
*/
|
|
2631
|
+
declare function useModalBehavior(isOpen: boolean, onClose: () => void): void;
|
|
2632
|
+
|
|
2714
2633
|
/** Hook for managing back/forward navigation history with a breadcrumb segment stack. */
|
|
2715
2634
|
|
|
2716
2635
|
interface UseNavigationHistoryReturn {
|
|
@@ -2725,6 +2644,18 @@ interface UseNavigationHistoryReturn {
|
|
|
2725
2644
|
}
|
|
2726
2645
|
declare function useNavigationHistory(initial?: BreadcrumbSegment[], maxEntries?: number): UseNavigationHistoryReturn;
|
|
2727
2646
|
|
|
2647
|
+
interface UseResizableSidebarOptions {
|
|
2648
|
+
min: number;
|
|
2649
|
+
max: number;
|
|
2650
|
+
defaultWidth: number;
|
|
2651
|
+
/** 'left' = drag right shrinks (sidebar on right), 'right' = drag right grows (sidebar on left) */
|
|
2652
|
+
direction?: 'left' | 'right';
|
|
2653
|
+
}
|
|
2654
|
+
declare function useResizableSidebar({ min, max, defaultWidth, direction }: UseResizableSidebarOptions): {
|
|
2655
|
+
width: number;
|
|
2656
|
+
onPointerDown: (e: React.PointerEvent) => void;
|
|
2657
|
+
};
|
|
2658
|
+
|
|
2728
2659
|
interface SettingRowBase {
|
|
2729
2660
|
label: string;
|
|
2730
2661
|
description?: string;
|
|
@@ -2737,7 +2668,6 @@ interface SettingRowToggle extends SettingRowBase {
|
|
|
2737
2668
|
onChange: (checked: boolean) => void;
|
|
2738
2669
|
color?: ToggleColor;
|
|
2739
2670
|
size?: ToggleSize;
|
|
2740
|
-
variant?: ToggleVariant;
|
|
2741
2671
|
}
|
|
2742
2672
|
interface SettingRowSelect extends SettingRowBase {
|
|
2743
2673
|
type: 'select';
|
|
@@ -2767,7 +2697,7 @@ interface SettingsCardProps {
|
|
|
2767
2697
|
}
|
|
2768
2698
|
declare function SettingsCard({ children, className, title, description, testId }: SettingsCardProps): react_jsx_runtime.JSX.Element;
|
|
2769
2699
|
|
|
2770
|
-
type SettingsInfoBoxColor =
|
|
2700
|
+
type SettingsInfoBoxColor = AccentColor;
|
|
2771
2701
|
interface SettingsInfoBoxProps {
|
|
2772
2702
|
children: React.ReactNode;
|
|
2773
2703
|
color?: SettingsInfoBoxColor;
|
|
@@ -2820,8 +2750,9 @@ interface SettingsTreeNavProps {
|
|
|
2820
2750
|
tree: SettingsTreeNode[];
|
|
2821
2751
|
selectedPath: string;
|
|
2822
2752
|
onSelectPath: (path: string) => void;
|
|
2753
|
+
accentColor?: string;
|
|
2823
2754
|
}
|
|
2824
|
-
declare function SettingsTreeNav({ tree, selectedPath, onSelectPath }: SettingsTreeNavProps): react_jsx_runtime.JSX.Element;
|
|
2755
|
+
declare function SettingsTreeNav({ tree, selectedPath, onSelectPath, accentColor }: SettingsTreeNavProps): react_jsx_runtime.JSX.Element;
|
|
2825
2756
|
|
|
2826
2757
|
interface SettingsHeaderProps {
|
|
2827
2758
|
description: string;
|
|
@@ -2831,7 +2762,6 @@ interface SettingsHeaderProps {
|
|
|
2831
2762
|
title: string;
|
|
2832
2763
|
description: string;
|
|
2833
2764
|
};
|
|
2834
|
-
confirmReset?: boolean;
|
|
2835
2765
|
action?: ReactNode;
|
|
2836
2766
|
variant?: 'default' | 'info' | 'warning' | 'danger';
|
|
2837
2767
|
}
|
|
@@ -2839,4 +2769,4 @@ declare function SettingsHeader({ description, icon, onReset, resetTooltip, acti
|
|
|
2839
2769
|
|
|
2840
2770
|
declare function cn(...inputs: ClassValue[]): string;
|
|
2841
2771
|
|
|
2842
|
-
export { ACCENT_DEFS, AI_TOOL_LOGOS, AI_TOOL_NAMES, type AccentColor, type AccentDef, ActionDialog, type ActionDialogProps, type ActionItem, AiActionButton, type AiActionButtonProps, type AiActionStatus, type AiCompletionResult, AiExecutionActionButtons, type AiExecutionActionButtonsProps, type AiToolConfig, AiToolIcon, type AiToolKey, AlertModal, type AlertModalProps, BASE_THEMES, Badge, type BadgeColor, type BadgeProps, BottomPanelHeader, type BottomPanelHeaderProps, Breadcrumb, type BreadcrumbProps, type BreadcrumbSegment, type CapturedError, type CapturedIssuesApi, CapturedIssuesPanel, type CapturedIssuesPanelProps, type ChangedComponents, Checkbox, type CheckboxColor, type CheckboxProps, type CheckboxSize, type CheckboxVariant, type CodingToolId, type CodingToolPresetConfig, CollapseButton, type CollapseButtonProps, CollapsibleSection, type CollapsibleSectionProps, type ComponentVersion, ConfirmBadge, type ConfirmBadgeColor, type ConfirmBadgeProps, ConfirmModal, type ConfirmModalProps, type ConsentChoice, CookieConsent, type CookieConsentProps, type CreateSnapshotResult, DARK_THEMES, DEFAULT_DIMS, DEFAULT_OUTLINE, type DetailRow, DetailSection, type DetailSectionProps, DetailViewWrapper, type DetailViewWrapperProps, type DiffSummary, type DiffTreeNode, type DirectoryStatus, EditorPlaceholderCard, type EditorPlaceholderCardProps, EditorToolbar, type EditorToolbarProps, type ErrorLogger,
|
|
2772
|
+
export { ACCENT_DEFS, ACCENT_ICON, ACCENT_NAV, ACCENT_TEXT, AI_TOOL_LOGOS, AI_TOOL_NAMES, type AccentColor, type AccentDef, ActionDialog, type ActionDialogProps, type ActionItem, AiActionButton, type AiActionButtonProps, type AiActionStatus, type AiCompletionResult, AiExecutionActionButtons, type AiExecutionActionButtonsProps, type AiToolConfig, AiToolIcon, type AiToolKey, AlertModal, type AlertModalProps, BASE_THEMES, Badge, type BadgeColor, type BadgeProps, BottomPanelHeader, type BottomPanelHeaderProps, Breadcrumb, type BreadcrumbProps, type BreadcrumbSegment, type CapturedError, type CapturedIssuesApi, CapturedIssuesPanel, type CapturedIssuesPanelProps, type ChangedComponents, Checkbox, type CheckboxColor, type CheckboxProps, type CheckboxSize, type CheckboxVariant, type CodingToolId, type CodingToolPresetConfig, CollapseButton, type CollapseButtonProps, CollapsibleSection, type CollapsibleSectionProps, type ComponentVersion, ConfirmBadge, type ConfirmBadgeColor, type ConfirmBadgeProps, ConfirmModal, type ConfirmModalProps, type ConsentChoice, CookieConsent, type CookieConsentProps, type CreateSnapshotResult, DARK_THEMES, DEFAULT_DIMS, DEFAULT_OUTLINE, type DetailRow, DetailSection, type DetailSectionProps, DetailViewWrapper, type DetailViewWrapperProps, type DiffSummary, type DiffTreeNode, type DirectoryStatus, EditorPlaceholderCard, type EditorPlaceholderCardProps, EditorToolbar, type EditorToolbarProps, type ErrorLogger, ExecutionDetailsPanel, type ExecutionDetailsPanelProps, type ExecutionStatus, ExtensionListCard, type ExtensionListCardProps, type ExtensionSource, type FileDiffInfo, type FileDiffStatus, FileDiffViewer, type FileDiffViewerProps, type FileEntry, FileStructureSection, type FileStructureSectionProps, FileTree, type FileTreeNode, type FileTreeProps, type FileTypeOption, FileTypeTabbedPromptEditor, type FileTypeTabbedPromptEditorProps, FilesPanel, type FilesPanelProps, FilterDropdown, type FilterDropdownProps, FormActions, type FormActionsProps, type FormColor, FrontmatterFormHeader, type FrontmatterFormHeaderProps, type GoldenLiveDiff, type GoldenMeta, type GoldenSnapshotsApi, type GoldenStatus, GoldenSyncPanel, type GoldenSyncPanelProps, ISSUE_TYPES, IconButton, type IconButtonColor, type IconButtonProps, type IconButtonStatus, type IconButtonVariant, type IconName, Input, type InputProps, type IssueReport, type IssueReportResult, type IssueType, LIGHT_THEMES, Label, type LabelColor, type LabelProps, type LayoutTab, LayoutTabBar, type LayoutTabBarProps, type ModalKind, type ModalSize, NavCard, type NavCardProps, NavigationBar, type NavigationBarProps, NumberInput, type NumberInputProps, type PanelTab, type PreviewMode, type PromptEditorApi, type PromptPlaceholder, type PromptSnapshot, RegistryBrowser, type RegistryBrowserProps, RegistryCard, type RegistryCardProps, RegistryDetail, type RegistryDetailProps, type RegistryItemType, ReportBugForm, type ReportBugFormProps, type ResetResult, ResizableTextarea, type ResizableTextareaProps, SCALE_KEYS, SNIPPET_NAME_REGEX, SURFACE_KEYS, type ScaleKey, type ScenarioOption, ScopeBadge, type ScopeType, type Screenshot, type ScreenshotAttachment, ScreenshotUploader, type ScreenshotUploaderProps, type SeedInfo, type SeedrItemStatus, SegmentedToggle, type SegmentedToggleOption, type SegmentedToggleProps, Select, type SelectOption, type SelectProps, type SelectionCardItem, SelectionGrid, type SelectionGridProps, SettingRow, type SettingRowProps, SettingsCard, type SettingsCardProps, SettingsHeader, type SettingsHeaderProps, SettingsInfoBox, type SettingsInfoBoxColor, type SettingsInfoBoxProps, SettingsPanel, type SettingsPanelProps, SettingsSectionTitle, type SettingsSectionTitleProps, SettingsTreeNav, type SettingsTreeNavProps, type SettingsTreeNode, SimulatorPromptEditor, type SimulatorPromptEditorProps, type SnapshotBrowserApi, SnapshotBrowserPanel, type SnapshotBrowserPanelProps, SnapshotCard, type SnapshotCardProps, type SnapshotCategory, type SnapshotEntry, type SnapshotInfo, type SnapshotItem, SnapshotManager, type SnapshotManagerProps, type SnapshotScope, SnapshotTree, type SnapshotTreeProps, type SnapshotsManifest, type Snippet, type SnippetData, SnippetsEditor, type SnippetsEditorApi, type SnippetsEditorProps, SnippetsPanel, type SnippetsPanelProps, SortDropdown, type SortDropdownProps, type SortField, type StatusBanner, StatusCard, type StatusCardProps, type StatusItem, StatusOverview, type StatusOverviewProps, type SubmittedError, type SurfaceKey, type SystemInfo, TOOLR_APPS, type Tab, TabBar, type TabBarProps, TabbedPromptEditor, type TabbedPromptEditorProps, type ThemeId, Toggle, type ToggleColor, type ToggleProps, type ToggleSize, type ToolDetectionResult, type ToolTab, type ToolrAppId, ToolrAppLogo, type ToolsPathsApi, ToolsPathsPanel, type ToolsPathsPanelProps, Tooltip, type TooltipAlign, TooltipButton, type TooltipContent, type TooltipPosition, type TrackedError, type UseCapturedIssuesOptions, type UseCapturedIssuesReturn, type UseGoldenSyncOptions, type UseGoldenSyncReturn, type UseNavigationHistoryReturn, type UseReportBugOptions, type UseReportBugReturn, type UseResizableSidebarOptions, type UseSnapshotBrowserOptions, type UseSnapshotBrowserReturn, type UseSnippetsEditorOptions, type UseSnippetsEditorReturn, type UseToolsPathsOptions, type UseToolsPathsReturn, VersionManager, type VersionManagerProps, applyTheme, cn, collectDirPaths, collectExpandablePaths, createErrorLogger, filterTree, findNodeByPath, formatBytes, formatDate, generateScale, getAllLeafPaths, getBreadcrumbFromPath, getLanguage, getLanguageFromPath, getParentPaths, hslToHex, iconMap, isLeafNode, isLightTheme, satCurve, smartCapitalize, submitIssueReport, useCapturedIssues, useClickOutside, useDropdownMaxHeight, useGoldenSync, useModalBehavior, useNavigationHistory, useReportBug, useResizableSidebar, useSnapshotBrowser, useSnippetsEditor, useToolsPaths };
|