@tangle-network/ui 11.44.0 → 11.45.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/CHANGELOG.md +43 -0
- package/dist/_virtual/_rolldown/runtime.js +1 -2
- package/dist/auth/auth.d.ts +1 -3
- package/dist/auth/auth.js +1 -2
- package/dist/auth/login-layout.d.ts +1 -3
- package/dist/auth/login-layout.js +1 -2
- package/dist/chat/agent-timeline.d.ts +1 -3
- package/dist/chat/agent-timeline.js +1 -2
- package/dist/chat/chat-container.d.ts +1 -3
- package/dist/chat/chat-container.js +3 -4
- package/dist/chat/chat-message.d.ts +1 -3
- package/dist/chat/chat-message.js +1 -2
- package/dist/chat/message-author.d.ts +1 -3
- package/dist/chat/message-author.js +1 -2
- package/dist/chat/message-list.d.ts +1 -3
- package/dist/chat/message-list.js +1 -2
- package/dist/chat/synthetic-text.js +1 -2
- package/dist/chat/thinking-indicator.d.ts +1 -3
- package/dist/chat/thinking-indicator.js +1 -2
- package/dist/chat/transcript-text.d.ts +1 -3
- package/dist/chat/transcript-text.js +1 -2
- package/dist/chat/user-message.d.ts +1 -3
- package/dist/chat/user-message.js +1 -2
- package/dist/code-presentation.js +1 -2
- package/dist/editor/document-editor-pane.d.ts +1 -3
- package/dist/editor/document-editor-pane.js +3 -4
- package/dist/editor/editor-lazy.js +1 -2
- package/dist/editor/editor-loading.js +1 -2
- package/dist/editor/editor-peers.js +1 -2
- package/dist/editor/editor-provider.d.ts +1 -3
- package/dist/editor/editor-provider.js +1 -2
- package/dist/editor/editor-toolbar.d.ts +1 -3
- package/dist/editor/editor-toolbar.js +1 -2
- package/dist/editor/markdown-conversion.js +1 -2
- package/dist/editor/markdown-document-editor.js +1 -2
- package/dist/editor/source-markdown-editor.js +1 -2
- package/dist/editor/source-markdown.js +1 -2
- package/dist/editor/tiptap-editor.d.ts +0 -2
- package/dist/editor/tiptap-editor.js +1 -2
- package/dist/editor/use-editor.d.ts +1 -3
- package/dist/editor/use-editor.js +1 -2
- package/dist/files/file-artifact-pane.d.ts +1 -3
- package/dist/files/file-artifact-pane.js +6 -6
- package/dist/files/file-card.d.ts +1 -3
- package/dist/files/file-card.js +1 -2
- package/dist/files/file-format.d.ts +1 -3
- package/dist/files/file-format.js +1 -2
- package/dist/files/file-list.d.ts +1 -3
- package/dist/files/file-list.js +1 -2
- package/dist/files/file-preview.d.ts +1 -3
- package/dist/files/file-preview.js +1 -2
- package/dist/files/file-tabs.d.ts +8 -4
- package/dist/files/file-tabs.js +79 -15
- package/dist/files/file-tree.d.ts +1 -3
- package/dist/files/file-tree.js +1 -2
- package/dist/files/pdf-loader.d.ts +1 -3
- package/dist/files/pdf-loader.js +1 -2
- package/dist/files/pdf-viewer.d.ts +1 -3
- package/dist/files/pdf-viewer.js +1 -2
- package/dist/files/rich-file-tree.d.ts +1 -3
- package/dist/files/rich-file-tree.js +1 -2
- package/dist/hooks/use-auth.d.ts +1 -3
- package/dist/hooks/use-auth.js +1 -2
- package/dist/hooks/use-auto-scroll.d.ts +1 -3
- package/dist/hooks/use-auto-scroll.js +1 -2
- package/dist/hooks/use-dropdown-menu.d.ts +1 -2
- package/dist/hooks/use-dropdown-menu.js +1 -2
- package/dist/hooks/use-live-time.d.ts +1 -3
- package/dist/hooks/use-live-time.js +1 -2
- package/dist/hooks/use-realtime-session.d.ts +1 -3
- package/dist/hooks/use-realtime-session.js +1 -2
- package/dist/hooks/use-run-collapse-state.d.ts +1 -3
- package/dist/hooks/use-run-collapse-state.js +1 -2
- package/dist/hooks/use-run-groups.d.ts +1 -3
- package/dist/hooks/use-run-groups.js +1 -2
- package/dist/hooks/use-sdk-session.d.ts +1 -3
- package/dist/hooks/use-sdk-session.js +1 -2
- package/dist/hooks/use-sse-stream.d.ts +1 -3
- package/dist/hooks/use-sse-stream.js +1 -2
- package/dist/hooks/use-tool-call-stream.d.ts +1 -3
- package/dist/hooks/use-tool-call-stream.js +1 -2
- package/dist/lib/code-presentation.d.ts +1 -3
- package/dist/lib/code-presentation.js +1 -2
- package/dist/lib/control-presentation.d.ts +0 -2
- package/dist/lib/control-presentation.js +1 -2
- package/dist/lib/focus.d.ts +1 -3
- package/dist/lib/focus.js +1 -2
- package/dist/lib/interaction.d.ts +1 -3
- package/dist/lib/interaction.js +1 -2
- package/dist/lib/motion.d.ts +1 -3
- package/dist/lib/motion.js +1 -2
- package/dist/lib/optional-peer.js +1 -2
- package/dist/lib/series.d.ts +1 -3
- package/dist/lib/series.js +1 -2
- package/dist/lib/surface-motion.js +1 -2
- package/dist/lib/utils.d.ts +1 -3
- package/dist/lib/utils.js +1 -2
- package/dist/markdown/api-schema.d.ts +1 -3
- package/dist/markdown/api-schema.js +1 -2
- package/dist/markdown/code-block.d.ts +0 -2
- package/dist/markdown/code-block.js +1 -2
- package/dist/markdown/code-meta.d.ts +1 -3
- package/dist/markdown/code-meta.js +1 -2
- package/dist/markdown/markdown-table.d.ts +1 -3
- package/dist/markdown/markdown-table.js +1 -2
- package/dist/markdown/markdown.d.ts +1 -3
- package/dist/markdown/markdown.js +1 -2
- package/dist/nav.d.ts +0 -2
- package/dist/nav.js +1 -2
- package/dist/openui/openui-artifact-renderer.d.ts +1 -2
- package/dist/openui/openui-artifact-renderer.js +1 -2
- package/dist/openui/schema-compiled.js +1 -2
- package/dist/openui/schema-data.d.ts +1 -3
- package/dist/openui/schema-data.js +1 -2
- package/dist/openui-schema.d.ts +0 -2
- package/dist/openui-schema.js +1 -2
- package/dist/presentation.d.ts +0 -2
- package/dist/presentation.js +1 -2
- package/dist/primitives/alert-dialog.d.ts +0 -2
- package/dist/primitives/alert-dialog.js +1 -2
- package/dist/primitives/alert.d.ts +1 -3
- package/dist/primitives/alert.js +1 -2
- package/dist/primitives/artifact-pane.d.ts +1 -3
- package/dist/primitives/artifact-pane.js +1 -2
- package/dist/primitives/avatar.d.ts +0 -2
- package/dist/primitives/avatar.js +1 -2
- package/dist/primitives/badge.d.ts +0 -2
- package/dist/primitives/badge.js +1 -2
- package/dist/primitives/breadcrumb.d.ts +0 -2
- package/dist/primitives/breadcrumb.js +1 -2
- package/dist/primitives/button.d.ts +0 -2
- package/dist/primitives/button.js +1 -2
- package/dist/primitives/calendar.d.ts +0 -2
- package/dist/primitives/calendar.js +1 -2
- package/dist/primitives/card.d.ts +0 -2
- package/dist/primitives/card.js +1 -2
- package/dist/primitives/checkbox.d.ts +0 -2
- package/dist/primitives/checkbox.js +1 -2
- package/dist/primitives/chip.d.ts +0 -2
- package/dist/primitives/chip.js +1 -2
- package/dist/primitives/code-block.d.ts +0 -2
- package/dist/primitives/code-block.js +1 -2
- package/dist/primitives/collapsible.d.ts +0 -2
- package/dist/primitives/collapsible.js +1 -2
- package/dist/primitives/compliance-badge.d.ts +0 -2
- package/dist/primitives/compliance-badge.js +3 -4
- package/dist/primitives/context-menu.d.ts +0 -2
- package/dist/primitives/context-menu.js +1 -2
- package/dist/primitives/date-picker.d.ts +0 -2
- package/dist/primitives/date-picker.js +1 -2
- package/dist/primitives/dialog.d.ts +0 -2
- package/dist/primitives/dialog.js +3 -4
- package/dist/primitives/drop-zone.d.ts +1 -3
- package/dist/primitives/drop-zone.js +1 -2
- package/dist/primitives/dropdown-menu.d.ts +0 -2
- package/dist/primitives/dropdown-menu.js +1 -2
- package/dist/primitives/empty-state.d.ts +0 -2
- package/dist/primitives/empty-state.js +1 -2
- package/dist/primitives/field.d.ts +1 -3
- package/dist/primitives/field.js +1 -2
- package/dist/primitives/heading.d.ts +0 -2
- package/dist/primitives/heading.js +3 -4
- package/dist/primitives/help-text.d.ts +0 -2
- package/dist/primitives/help-text.js +1 -2
- package/dist/primitives/hover-card.d.ts +0 -2
- package/dist/primitives/hover-card.js +1 -2
- package/dist/primitives/icon-tile.d.ts +0 -2
- package/dist/primitives/icon-tile.js +1 -2
- package/dist/primitives/info-tip.js +1 -2
- package/dist/primitives/input.d.ts +0 -2
- package/dist/primitives/input.js +1 -2
- package/dist/primitives/label.d.ts +0 -2
- package/dist/primitives/label.js +1 -2
- package/dist/primitives/metric-chart.d.ts +0 -2
- package/dist/primitives/metric-chart.js +1 -2
- package/dist/primitives/metric-strip.d.ts +0 -2
- package/dist/primitives/metric-strip.js +1 -2
- package/dist/primitives/page-header.d.ts +0 -2
- package/dist/primitives/page-header.js +1 -2
- package/dist/primitives/page-shell.d.ts +1 -3
- package/dist/primitives/page-shell.js +1 -2
- package/dist/primitives/pagination.d.ts +1 -2
- package/dist/primitives/pagination.js +1 -2
- package/dist/primitives/popover.d.ts +0 -2
- package/dist/primitives/popover.js +1 -2
- package/dist/primitives/progress.d.ts +0 -2
- package/dist/primitives/progress.js +1 -2
- package/dist/primitives/radio-group.d.ts +0 -2
- package/dist/primitives/radio-group.js +1 -2
- package/dist/primitives/segmented-control.d.ts +1 -3
- package/dist/primitives/segmented-control.js +4 -5
- package/dist/primitives/select.d.ts +0 -2
- package/dist/primitives/select.js +1 -2
- package/dist/primitives/separator.d.ts +0 -2
- package/dist/primitives/separator.js +1 -2
- package/dist/primitives/series-sparkline.d.ts +0 -2
- package/dist/primitives/series-sparkline.js +1 -2
- package/dist/primitives/settings.d.ts +1 -3
- package/dist/primitives/settings.js +1 -2
- package/dist/primitives/sheet.d.ts +0 -2
- package/dist/primitives/sheet.js +3 -4
- package/dist/primitives/sidebar-drop-zone.d.ts +1 -3
- package/dist/primitives/sidebar-drop-zone.js +2 -3
- package/dist/primitives/skeleton.d.ts +0 -2
- package/dist/primitives/skeleton.js +1 -2
- package/dist/primitives/slider.d.ts +0 -2
- package/dist/primitives/slider.js +1 -2
- package/dist/primitives/stat-card.d.ts +0 -2
- package/dist/primitives/stat-card.js +1 -2
- package/dist/primitives/status-pill.d.ts +0 -2
- package/dist/primitives/status-pill.js +1 -2
- package/dist/primitives/switch.d.ts +0 -2
- package/dist/primitives/switch.js +1 -2
- package/dist/primitives/table.d.ts +0 -2
- package/dist/primitives/table.js +1 -2
- package/dist/primitives/tabs.d.ts +0 -2
- package/dist/primitives/tabs.js +1 -2
- package/dist/primitives/tag.d.ts +0 -2
- package/dist/primitives/tag.js +1 -2
- package/dist/primitives/terminal-display.d.ts +0 -2
- package/dist/primitives/terminal-display.js +1 -2
- package/dist/primitives/text-shimmer.d.ts +1 -3
- package/dist/primitives/text-shimmer.js +1 -2
- package/dist/primitives/theme-toggle.d.ts +1 -2
- package/dist/primitives/theme-toggle.js +1 -2
- package/dist/primitives/time-select.d.ts +0 -2
- package/dist/primitives/time-select.js +1 -2
- package/dist/primitives/toast.d.ts +1 -2
- package/dist/primitives/toast.js +1 -2
- package/dist/primitives/tone.d.ts +1 -3
- package/dist/primitives/tone.js +1 -2
- package/dist/primitives/toolbar.d.ts +0 -2
- package/dist/primitives/toolbar.js +1 -2
- package/dist/primitives/tooltip.d.ts +0 -2
- package/dist/primitives/tooltip.js +1 -2
- package/dist/primitives/upload-progress.d.ts +1 -3
- package/dist/primitives/upload-progress.js +1 -2
- package/dist/primitives/wizard.d.ts +1 -3
- package/dist/primitives/wizard.js +1 -2
- package/dist/redaction/redacted-document.d.ts +1 -3
- package/dist/redaction/redacted-document.js +1 -2
- package/dist/redaction.js +1 -2
- package/dist/run/approval-card.d.ts +1 -3
- package/dist/run/approval-card.js +1 -2
- package/dist/run/expandable-content.js +1 -2
- package/dist/run/expanded-tool-detail.d.ts +1 -3
- package/dist/run/expanded-tool-detail.js +1 -2
- package/dist/run/inline-thinking-item.d.ts +1 -3
- package/dist/run/inline-thinking-item.js +1 -2
- package/dist/run/inline-tool-item.d.ts +1 -3
- package/dist/run/inline-tool-item.js +1 -2
- package/dist/run/run-group.d.ts +1 -3
- package/dist/run/run-group.js +1 -2
- package/dist/run/run-item-primitives.d.ts +1 -3
- package/dist/run/run-item-primitives.js +1 -2
- package/dist/run/run-phase-list.d.ts +1 -3
- package/dist/run/run-phase-list.js +1 -2
- package/dist/run/run-row-shell.d.ts +1 -3
- package/dist/run/run-row-shell.js +1 -2
- package/dist/run/task-list.d.ts +1 -3
- package/dist/run/task-list.js +1 -2
- package/dist/run/tool-call-feed.d.ts +1 -3
- package/dist/run/tool-call-feed.js +1 -2
- package/dist/run/tool-call-step.d.ts +1 -3
- package/dist/run/tool-call-step.js +1 -2
- package/dist/stores/active-sessions-store.d.ts +1 -3
- package/dist/stores/active-sessions-store.js +1 -2
- package/dist/stores/chat-store.d.ts +1 -3
- package/dist/stores/chat-store.js +1 -2
- package/dist/tool-previews/command-preview.d.ts +1 -3
- package/dist/tool-previews/command-preview.js +1 -2
- package/dist/tool-previews/diff-preview.d.ts +1 -3
- package/dist/tool-previews/diff-preview.js +1 -2
- package/dist/tool-previews/glob-results-preview.d.ts +1 -3
- package/dist/tool-previews/glob-results-preview.js +1 -2
- package/dist/tool-previews/grep-results-preview.d.ts +1 -3
- package/dist/tool-previews/grep-results-preview.js +1 -2
- package/dist/tool-previews/preview-primitives.js +1 -2
- package/dist/tool-previews/question-preview.d.ts +1 -3
- package/dist/tool-previews/question-preview.js +1 -2
- package/dist/tool-previews/web-search-preview.d.ts +1 -3
- package/dist/tool-previews/web-search-preview.js +1 -2
- package/dist/tool-previews/write-file-preview.d.ts +1 -3
- package/dist/tool-previews/write-file-preview.js +1 -2
- package/dist/types/branding.d.ts +1 -3
- package/dist/types/message.d.ts +1 -3
- package/dist/types/parts.d.ts +1 -3
- package/dist/types/run.d.ts +1 -3
- package/dist/types/tool-display.d.ts +1 -3
- package/dist/utils/copy-text.d.ts +1 -3
- package/dist/utils/copy-text.js +1 -2
- package/dist/utils/format.d.ts +1 -3
- package/dist/utils/format.js +1 -2
- package/dist/utils/time-ago.d.ts +1 -3
- package/dist/utils/time-ago.js +1 -2
- package/dist/utils/tool-display.d.ts +1 -3
- package/dist/utils/tool-display.js +1 -2
- package/package.json +38 -38
- package/src/files/file-artifact-pane.tsx +1 -0
- package/src/files/file-tabs.test.tsx +66 -0
- package/src/files/file-tabs.tsx +77 -17
- package/src/primitives/heading.tsx +2 -2
- package/src/primitives/sidebar-drop-zone.tsx +1 -1
- package/src/styles/presentation.css +3 -3
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import { SessionMessage } from "../types/message.js";
|
|
2
2
|
import { SessionPart } from "../types/parts.js";
|
|
3
3
|
import { GroupedMessage } from "../types/run.js";
|
|
4
|
-
//#region src/hooks/use-run-groups.d.ts
|
|
5
4
|
export interface UseRunGroupsOptions {
|
|
6
5
|
messages: SessionMessage[];
|
|
7
6
|
partMap: Record<string, SessionPart[]>;
|
|
8
7
|
isStreaming: boolean;
|
|
9
8
|
}
|
|
10
|
-
export declare function useRunGroups({ messages, partMap, isStreaming }: UseRunGroupsOptions): GroupedMessage[];
|
|
11
|
-
//#endregion
|
|
9
|
+
export declare function useRunGroups({ messages, partMap, isStreaming }: UseRunGroupsOptions): GroupedMessage[];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getToolCategory } from "../utils/tool-display.js";
|
|
2
2
|
import { useMemo } from "react";
|
|
3
|
-
|
|
3
|
+
// src/hooks/use-run-groups.ts
|
|
4
4
|
function computeRunStats(messages, partMap) {
|
|
5
5
|
const stats = {
|
|
6
6
|
toolCount: 0,
|
|
@@ -81,5 +81,4 @@ function useRunGroups({ messages, partMap, isStreaming }) {
|
|
|
81
81
|
isStreaming
|
|
82
82
|
]);
|
|
83
83
|
}
|
|
84
|
-
//#endregion
|
|
85
84
|
export { useRunGroups };
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { SessionMessage } from "../types/message.js";
|
|
2
2
|
import { SessionPart } from "../types/parts.js";
|
|
3
|
-
//#region src/hooks/use-sdk-session.d.ts
|
|
4
3
|
export interface SdkSessionAttachment {
|
|
5
4
|
name: string;
|
|
6
5
|
size?: number;
|
|
@@ -55,5 +54,4 @@ export interface UseSdkSessionReturn {
|
|
|
55
54
|
setStreaming: (value: boolean) => void;
|
|
56
55
|
reset: () => void;
|
|
57
56
|
}
|
|
58
|
-
export declare function useSdkSession({ initialMessages }?: UseSdkSessionOptions): UseSdkSessionReturn;
|
|
59
|
-
//#endregion
|
|
57
|
+
export declare function useSdkSession({ initialMessages }?: UseSdkSessionOptions): UseSdkSessionReturn;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useCallback, useMemo, useRef, useState } from "react";
|
|
2
|
-
|
|
2
|
+
// src/hooks/use-sdk-session.ts
|
|
3
3
|
function uid() {
|
|
4
4
|
if (typeof globalThis.crypto !== "undefined" && typeof globalThis.crypto.randomUUID === "function") try {
|
|
5
5
|
return globalThis.crypto.randomUUID();
|
|
@@ -318,5 +318,4 @@ function useSdkSession({ initialMessages = [] } = {}) {
|
|
|
318
318
|
reset
|
|
319
319
|
};
|
|
320
320
|
}
|
|
321
|
-
//#endregion
|
|
322
321
|
export { useSdkSession };
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
//#region src/hooks/use-sse-stream.d.ts
|
|
2
1
|
/**
|
|
3
2
|
* SSE Event data structure
|
|
4
3
|
*/
|
|
@@ -120,5 +119,4 @@ export interface BotStreamEvent {
|
|
|
120
119
|
type: "balance" | "trade" | "decision" | "log" | "error";
|
|
121
120
|
data: unknown;
|
|
122
121
|
timestamp: number;
|
|
123
|
-
}
|
|
124
|
-
//#endregion
|
|
122
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import * as React from "react";
|
|
3
|
-
|
|
3
|
+
// src/hooks/use-sse-stream.ts
|
|
4
4
|
/**
|
|
5
5
|
* React hook for consuming SSE streams with automatic reconnection,
|
|
6
6
|
* event buffering, and state management.
|
|
@@ -225,5 +225,4 @@ function useSSEStream(options) {
|
|
|
225
225
|
timeSinceLastEvent
|
|
226
226
|
};
|
|
227
227
|
}
|
|
228
|
-
//#endregion
|
|
229
228
|
export { useSSEStream };
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { FeedSegment } from "../run/tool-call-feed.js";
|
|
2
|
-
//#region src/hooks/use-tool-call-stream.d.ts
|
|
3
2
|
export interface UseToolCallStreamReturn {
|
|
4
3
|
/** Current feed segments (text + tool calls interleaved) */
|
|
5
4
|
segments: FeedSegment[];
|
|
@@ -19,5 +18,4 @@ export interface UseToolCallStreamReturn {
|
|
|
19
18
|
/** Reset the stream */
|
|
20
19
|
reset: () => void;
|
|
21
20
|
}
|
|
22
|
-
export declare function useToolCallStream(): UseToolCallStreamReturn;
|
|
23
|
-
//#endregion
|
|
21
|
+
export declare function useToolCallStream(): UseToolCallStreamReturn;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { parseToolEvent } from "../run/tool-call-feed.js";
|
|
2
2
|
import { useCallback, useRef, useState } from "react";
|
|
3
|
-
|
|
3
|
+
// src/hooks/use-tool-call-stream.ts
|
|
4
4
|
/**
|
|
5
5
|
* useToolCallStream — parses SSE events into ToolCallFeed segments.
|
|
6
6
|
*
|
|
@@ -71,5 +71,4 @@ function useToolCallStream() {
|
|
|
71
71
|
}, [])
|
|
72
72
|
};
|
|
73
73
|
}
|
|
74
|
-
//#endregion
|
|
75
74
|
export { useToolCallStream };
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import "shiki/core";
|
|
2
|
-
//#region src/lib/code-presentation.d.ts
|
|
3
2
|
export declare function codeBlockGrammar(language: string | undefined): string | undefined;
|
|
4
3
|
export interface TokenStyle {
|
|
5
4
|
color?: string;
|
|
@@ -88,5 +87,4 @@ export interface ApiField {
|
|
|
88
87
|
export declare function schemaRows(fields: readonly ApiField[], parent?: string, depth?: number): Array<ApiField & {
|
|
89
88
|
path: string;
|
|
90
89
|
depth: number;
|
|
91
|
-
}>;
|
|
92
|
-
//#endregion
|
|
90
|
+
}>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { tabsPresentation } from "../presentation.js";
|
|
2
|
-
|
|
2
|
+
// src/lib/code-presentation.ts
|
|
3
3
|
const SYNTAX = {
|
|
4
4
|
comment: "var(--syntax-comment, currentColor)",
|
|
5
5
|
keyword: "var(--syntax-keyword, currentColor)",
|
|
@@ -433,5 +433,4 @@ function schemaRows(fields, parent = "", depth = 0) {
|
|
|
433
433
|
}, ...schemaRows(field.children ?? [], path, depth + 1)];
|
|
434
434
|
});
|
|
435
435
|
}
|
|
436
|
-
//#endregion
|
|
437
436
|
export { LANGUAGE_NAMES, PLAIN_TEXT, SYNTAX, apiMetadataText, bindCodeTabs, bindCopyButton, codeBlockGrammar, codePreStyle, codePresentation, codeTextStyle, createCopyFeedback, highlightCode, interactionBudgets, schemaRows, tokenStyle, tokenize, writeClipboard };
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { controlMotion } from "./motion.js";
|
|
2
|
-
//#region src/lib/control-presentation.d.ts
|
|
3
2
|
/**
|
|
4
3
|
* The control scale. Button, Input, Textarea and SelectTrigger take the same
|
|
5
4
|
* `sm | md | lg` sizes and read the same Brand tokens, so any row of controls
|
|
@@ -39,5 +38,4 @@ export declare const controlSizes: {
|
|
|
39
38
|
readonly touch: "h-11 min-h-11 min-w-11 px-4 py-2 text-base";
|
|
40
39
|
};
|
|
41
40
|
export declare const fieldPresentation: string;
|
|
42
|
-
//#endregion
|
|
43
41
|
export { controlMotion };
|
|
@@ -2,7 +2,7 @@ import { controlMotion } from "./motion.js";
|
|
|
2
2
|
import { ixField } from "./interaction.js";
|
|
3
3
|
import { focusField } from "./focus.js";
|
|
4
4
|
import { cn } from "./utils.js";
|
|
5
|
-
|
|
5
|
+
// src/lib/control-presentation.ts
|
|
6
6
|
const controlHeight = {
|
|
7
7
|
sm: "h-[var(--control-height-sm,2rem)]",
|
|
8
8
|
md: "h-[var(--control-height,2.25rem)]",
|
|
@@ -47,5 +47,4 @@ const controlSizes = {
|
|
|
47
47
|
touch: "h-11 min-h-11 min-w-11 px-4 py-2 text-base"
|
|
48
48
|
};
|
|
49
49
|
const fieldPresentation = cn(focusField, ixField, controlMotion, "min-w-0 text-foreground", "aria-invalid:border-[var(--surface-danger-border)] aria-invalid:hover:border-[var(--surface-danger-border)] aria-invalid:focus:border-[var(--focus-border-danger)] aria-invalid:focus:ring-[var(--focus-halo-danger)]", "autofill:shadow-[inset_0_0_0_1000px_var(--field-surface,var(--well))] autofill:[-webkit-text-fill-color:var(--text-primary)] autofill:caret-[var(--text-primary)]");
|
|
50
|
-
//#endregion
|
|
51
50
|
export { controlHeight, controlMotion, controlRadius, controlSizes, controlSquare, controlText, fieldPresentation, fieldSizes, fieldTouchText, touchTarget };
|
package/dist/lib/focus.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
//#region src/lib/focus.d.ts
|
|
2
1
|
/**
|
|
3
2
|
* The focus treatment every control shares, in two shapes over one palette
|
|
4
3
|
* (`--focus-border`, `--focus-halo` and `--border-strong` from
|
|
@@ -55,5 +54,4 @@ export declare const focusRing = "focus-visible:outline-1 focus-visible:outline-
|
|
|
55
54
|
* container or its neighbours (a tab strip, a list row), where an outer ring
|
|
56
55
|
* would be clipped or would overlap them.
|
|
57
56
|
*/
|
|
58
|
-
export declare const focusRingInset = "focus-visible:outline-1 focus-visible:outline-[var(--focus-border)] focus-visible:ring-4 focus-visible:ring-[var(--focus-halo)] focus-visible:-outline-offset-1 focus-visible:ring-inset";
|
|
59
|
-
//#endregion
|
|
57
|
+
export declare const focusRingInset = "focus-visible:outline-1 focus-visible:outline-[var(--focus-border)] focus-visible:ring-4 focus-visible:ring-[var(--focus-halo)] focus-visible:-outline-offset-1 focus-visible:ring-inset";
|
package/dist/lib/focus.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { controlMotion } from "./motion.js";
|
|
2
2
|
import { ixField } from "./interaction.js";
|
|
3
|
-
|
|
3
|
+
// src/lib/focus.ts
|
|
4
4
|
/**
|
|
5
5
|
* The focus treatment every control shares, in two shapes over one palette
|
|
6
6
|
* (`--focus-border`, `--focus-halo` and `--border-strong` from
|
|
@@ -59,5 +59,4 @@ const focusRing = `${focusRingBase} focus-visible:outline-offset-0`;
|
|
|
59
59
|
* would be clipped or would overlap them.
|
|
60
60
|
*/
|
|
61
61
|
const focusRingInset = `${focusRingBase} focus-visible:-outline-offset-1 focus-visible:ring-inset`;
|
|
62
|
-
//#endregion
|
|
63
62
|
export { focusField, focusFieldInvalid, focusFieldWithin, focusRing, focusRingInset };
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
//#region src/lib/interaction.d.ts
|
|
2
1
|
/**
|
|
3
2
|
* The interaction states every control shares: one palette in five shapes, all
|
|
4
3
|
* read from `@tangle-network/brand`'s `--ix-*` tokens (tokens.css), which derive
|
|
@@ -37,5 +36,4 @@ export declare const ixSelected: string;
|
|
|
37
36
|
/** Underline tab: 2px green underline plus a faint tint, never a box; a faint underline on hover. */
|
|
38
37
|
export declare const ixTabUnderline: string;
|
|
39
38
|
/** List row / menu item: wash plus inset edge on hover or keyboard highlight; checked = selected. */
|
|
40
|
-
export declare const ixRow: string;
|
|
41
|
-
//#endregion
|
|
39
|
+
export declare const ixRow: string;
|
package/dist/lib/interaction.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/lib/interaction.ts
|
|
2
2
|
/**
|
|
3
3
|
* The interaction states every control shares: one palette in five shapes, all
|
|
4
4
|
* read from `@tangle-network/brand`'s `--ix-*` tokens (tokens.css), which derive
|
|
@@ -38,5 +38,4 @@ const ixSelected = "aria-pressed:bg-[var(--ix-sel-bg)] aria-pressed:text-[var(--
|
|
|
38
38
|
const ixTabUnderline = "hover:shadow-[inset_0_-2px_0_hsl(var(--hsl-ring)/0.4)] data-[state=active]:bg-[hsl(var(--hsl-ring)/0.07)] data-[state=active]:text-[var(--accent-text)] data-[state=active]:shadow-[inset_0_-2px_0_var(--ix-sel-ring)] aria-checked:bg-[hsl(var(--hsl-ring)/0.07)] aria-checked:text-[var(--accent-text)] aria-checked:shadow-[inset_0_-2px_0_var(--ix-sel-ring)]";
|
|
39
39
|
/** List row / menu item: wash plus inset edge on hover or keyboard highlight; checked = selected. */
|
|
40
40
|
const ixRow = "hover:bg-[var(--ix-hover-bg)] hover:shadow-[inset_0_0_0_1px_var(--ix-hover-border)] data-[highlighted]:bg-[var(--ix-sel-bg)] data-[highlighted]:shadow-[inset_0_0_0_1px_var(--ix-hover-border)] focus:bg-[var(--ix-sel-bg)] data-[state=checked]:bg-[var(--ix-sel-bg)] data-[state=checked]:shadow-[inset_0_0_0_1px_var(--ix-sel-ring)] active:shadow-[inset_0_0_0_1px_hsl(var(--hsl-ring))]";
|
|
41
|
-
//#endregion
|
|
42
41
|
export { ixControl, ixControlAfter, ixControlSoft, ixField, ixRow, ixSelected, ixTabUnderline };
|
package/dist/lib/motion.d.ts
CHANGED
|
@@ -1,4 +1,2 @@
|
|
|
1
|
-
//#region src/lib/motion.d.ts
|
|
2
1
|
/** Brand motion roles contain duration AND easing; consume complete shorthands. */
|
|
3
|
-
export declare const controlMotion = "[transition:color_var(--motion-control),background-color_var(--motion-control),border-color_var(--motion-control),box-shadow_var(--motion-control),transform_var(--motion-control),scale_var(--motion-control),opacity_var(--motion-control)] motion-reduce:transition-none";
|
|
4
|
-
//#endregion
|
|
2
|
+
export declare const controlMotion = "[transition:color_var(--motion-control),background-color_var(--motion-control),border-color_var(--motion-control),box-shadow_var(--motion-control),transform_var(--motion-control),scale_var(--motion-control),opacity_var(--motion-control)] motion-reduce:transition-none";
|
package/dist/lib/motion.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
// src/lib/motion.ts
|
|
2
2
|
/** Brand motion roles contain duration AND easing; consume complete shorthands. */
|
|
3
3
|
const controlMotion = "[transition:color_var(--motion-control),background-color_var(--motion-control),border-color_var(--motion-control),box-shadow_var(--motion-control),transform_var(--motion-control),scale_var(--motion-control),opacity_var(--motion-control)] motion-reduce:transition-none";
|
|
4
4
|
/** Radix presence markers carry the scoped role; SurfaceMotion owns interruptible geometry. */
|
|
5
5
|
const surfaceMotion = "data-[state=open]:[animation:tangle-surface-present_var(--motion-surface)_both] data-[state=delayed-open]:[animation:tangle-surface-present_var(--motion-surface)_both] data-[state=instant-open]:[animation:tangle-surface-present_var(--motion-surface)_both] data-[state=closed]:[animation:tangle-surface-absent_var(--motion-dismiss)_both] motion-reduce:animate-none!";
|
|
6
|
-
//#endregion
|
|
7
6
|
export { controlMotion, surfaceMotion };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/lib/optional-peer.ts
|
|
2
2
|
/**
|
|
3
3
|
* Shared handling for optional peers that an entry reaches through a dynamic
|
|
4
4
|
* `import()`: `./editor` for tiptap, yjs and Hocuspocus, `./files` for
|
|
@@ -25,5 +25,4 @@ function isMissingPeerError(error) {
|
|
|
25
25
|
function rethrow(error) {
|
|
26
26
|
throw error;
|
|
27
27
|
}
|
|
28
|
-
//#endregion
|
|
29
28
|
export { isMissingPeerError, rethrow };
|
package/dist/lib/series.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
//#region src/lib/series.d.ts
|
|
2
1
|
/**
|
|
3
2
|
* src/lib/series.ts — pure time-series math shared by the chart primitives.
|
|
4
3
|
* No React, no DOM: unit-tested directly. All periods are relative to the
|
|
@@ -70,5 +69,4 @@ export declare function seriesLinePath(points: ReadonlyArray<{
|
|
|
70
69
|
export declare function seriesAreaPath(points: ReadonlyArray<{
|
|
71
70
|
x: number;
|
|
72
71
|
y: number;
|
|
73
|
-
}>, baseline: number): string;
|
|
74
|
-
//#endregion
|
|
72
|
+
}>, baseline: number): string;
|
package/dist/lib/series.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/lib/series.ts
|
|
2
2
|
const asTime = (at) => {
|
|
3
3
|
const time = at instanceof Date ? at.getTime() : typeof at === "number" ? at : Date.parse(at);
|
|
4
4
|
return Number.isFinite(time) ? time : null;
|
|
@@ -96,5 +96,4 @@ function seriesAreaPath(points, baseline) {
|
|
|
96
96
|
if (points.length < 2) return "";
|
|
97
97
|
return `${seriesLinePath(points)}L${points[points.length - 1].x.toFixed(2)},${baseline}L${points[0].x.toFixed(2)},${baseline}Z`;
|
|
98
98
|
}
|
|
99
|
-
//#endregion
|
|
100
99
|
export { normalizeSeries, periodDelta, seriesAreaPath, seriesExtent, seriesLinePath, seriesMean, seriesScale };
|
|
@@ -3,7 +3,7 @@ import { Slot } from "@radix-ui/react-slot";
|
|
|
3
3
|
import * as React from "react";
|
|
4
4
|
import { jsx } from "react/jsx-runtime";
|
|
5
5
|
import { animate, motionValue, styleEffect } from "motion";
|
|
6
|
-
|
|
6
|
+
// src/lib/surface-motion.tsx
|
|
7
7
|
/** Radix owns state and focus; visual retirement cannot wait for a CSS event. */
|
|
8
8
|
const SurfaceMotion = React.forwardRef(({ kind, side = "right", asChild, "data-state": state, ...props }, forwardedRef) => {
|
|
9
9
|
const element = React.useRef(null);
|
|
@@ -110,5 +110,4 @@ const SurfaceMotion = React.forwardRef(({ kind, side = "right", asChild, "data-s
|
|
|
110
110
|
});
|
|
111
111
|
});
|
|
112
112
|
SurfaceMotion.displayName = "SurfaceMotion";
|
|
113
|
-
//#endregion
|
|
114
113
|
export { SurfaceMotion };
|
package/dist/lib/utils.d.ts
CHANGED
package/dist/lib/utils.js
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { ApiField } from "../lib/code-presentation.js";
|
|
2
|
-
//#region src/markdown/api-schema.d.ts
|
|
3
2
|
export interface ApiSchemaProps {
|
|
4
3
|
fields: readonly ApiField[];
|
|
5
4
|
label?: string;
|
|
6
5
|
}
|
|
7
6
|
/** Presentation only: the consuming API owns all fields and constraints. */
|
|
8
|
-
export declare function ApiSchema({ fields, label }: ApiSchemaProps): import("react").JSX.Element;
|
|
9
|
-
//#endregion
|
|
7
|
+
export declare function ApiSchema({ fields, label }: ApiSchemaProps): import("react").JSX.Element;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { schemaRows } from "../lib/code-presentation.js";
|
|
2
2
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
-
|
|
3
|
+
// src/markdown/api-schema.tsx
|
|
4
4
|
/** Presentation only: the consuming API owns all fields and constraints. */
|
|
5
5
|
function ApiSchema({ fields, label = "Schema" }) {
|
|
6
6
|
return /* @__PURE__ */ jsx("dl", {
|
|
@@ -16,5 +16,4 @@ function ApiSchema({ fields, label = "Schema" }) {
|
|
|
16
16
|
}, `${field.path}-${index}`))
|
|
17
17
|
});
|
|
18
18
|
}
|
|
19
|
-
//#endregion
|
|
20
19
|
export { ApiSchema };
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { ApiMetadata, CodeExample, codeBlockGrammar } from "../lib/code-presentation.js";
|
|
2
2
|
import { ButtonHTMLAttributes, HTMLAttributes, ReactNode } from "react";
|
|
3
|
-
//#region src/markdown/code-block.d.ts
|
|
4
3
|
export interface CodeBlockProps extends HTMLAttributes<HTMLDivElement> {
|
|
5
4
|
code: string;
|
|
6
5
|
examples?: readonly CodeExample[];
|
|
@@ -32,5 +31,4 @@ export interface CopyButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonEle
|
|
|
32
31
|
}
|
|
33
32
|
/** Copy-to-clipboard button for use inside CodeBlock or other exact-text actions. */
|
|
34
33
|
export declare const CopyButton: import("react").MemoExoticComponent<({ text, label: actionLabel, copiedLabel, failedLabel, className, onClick, ...props }: CopyButtonProps) => import("react").JSX.Element>;
|
|
35
|
-
//#endregion
|
|
36
34
|
export { codeBlockGrammar };
|
|
@@ -4,7 +4,7 @@ import { LANGUAGE_NAMES, PLAIN_TEXT, SYNTAX, apiMetadataText, bindCodeTabs, code
|
|
|
4
4
|
import { memo, useEffect, useId, useRef, useState } from "react";
|
|
5
5
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
6
6
|
import { Check, Copy, FileCode2 } from "lucide-react";
|
|
7
|
-
|
|
7
|
+
// src/markdown/code-block.tsx
|
|
8
8
|
/**
|
|
9
9
|
* Code with Shiki highlighting in Brand's syntax colors. It renders readable
|
|
10
10
|
* plain code first (and on the server), then highlights once its grammar loads.
|
|
@@ -186,5 +186,4 @@ const CopyButton = memo(({ text, label: actionLabel, copiedLabel = "Copied", fai
|
|
|
186
186
|
})] });
|
|
187
187
|
});
|
|
188
188
|
CopyButton.displayName = "CopyButton";
|
|
189
|
-
//#endregion
|
|
190
189
|
export { CodeBlock, CopyButton, codeBlockGrammar };
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
//#region src/markdown/code-meta.d.ts
|
|
2
1
|
/**
|
|
3
2
|
* The language and file name of a fenced block, from its class and info
|
|
4
3
|
* string: ```ts title="src/x.ts"```, ```ts filename=src/x.ts```,
|
|
@@ -7,5 +6,4 @@
|
|
|
7
6
|
export declare function fenceInfo(className: string | undefined, meta: unknown): {
|
|
8
7
|
language?: string;
|
|
9
8
|
filename?: string;
|
|
10
|
-
};
|
|
11
|
-
//#endregion
|
|
9
|
+
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/markdown/code-meta.ts
|
|
2
2
|
/**
|
|
3
3
|
* Carries a fence's info string past the language (```ts title="src/x.ts"```)
|
|
4
4
|
* to the rendered `<code>` as `data-meta`, so the code block can name its file.
|
|
@@ -94,5 +94,4 @@ function fenceInfo(className, meta) {
|
|
|
94
94
|
...filename ? { filename } : {}
|
|
95
95
|
};
|
|
96
96
|
}
|
|
97
|
-
//#endregion
|
|
98
97
|
export { fenceInfo, languageForFile, remarkCodeMeta };
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import "react";
|
|
2
2
|
import "react-markdown";
|
|
3
|
-
//#region src/markdown/markdown-table.d.ts
|
|
4
3
|
/** A column is numeric when every non-empty body cell is a figure. */
|
|
5
4
|
export declare function numericColumns(body: string[][]): boolean[];
|
|
6
5
|
/** RFC 4180 CSV of a rendered Markdown table, header first. */
|
|
7
|
-
export declare function tableCsv(rows: string[][]): string;
|
|
8
|
-
//#endregion
|
|
6
|
+
export declare function tableCsv(rows: string[][]): string;
|
|
@@ -3,7 +3,7 @@ import { cn } from "../lib/utils.js";
|
|
|
3
3
|
import { Children, createContext, isValidElement, useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
|
|
4
4
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
5
5
|
import { Check, Copy } from "lucide-react";
|
|
6
|
-
|
|
6
|
+
// src/markdown/markdown-table.tsx
|
|
7
7
|
/** A figure: optional sign or currency, digits with separators, an optional unit. */
|
|
8
8
|
const NUMERIC_CELL = /^[(]?[-+−]?\s?[$€£¥₹]?\s?\d[\d,_ ]*(?:\.\d+)?\s?(?:%|[kKmMbB]|x|ms|s|h|pp)?[)]?$/;
|
|
9
9
|
/** The text of a hast subtree, as a reader sees it. */
|
|
@@ -178,5 +178,4 @@ function MarkdownTableCell({ node: _node, className, ...props }) {
|
|
|
178
178
|
className: cn("border-b border-border/60 px-3 py-2 align-top", PROSE_CELL, kind === "figure" ? "whitespace-nowrap text-right tabular-nums" : kind === "long" ? "min-w-[14rem]" : "whitespace-nowrap", className)
|
|
179
179
|
});
|
|
180
180
|
}
|
|
181
|
-
//#endregion
|
|
182
181
|
export { MarkdownTable, MarkdownTableBody, MarkdownTableCell, MarkdownTableHead, MarkdownTableHeaderCell, MarkdownTableRow, columnKinds, numericColumns, tableCsv };
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { UrlTransform } from "react-markdown";
|
|
2
|
-
//#region src/markdown/markdown.d.ts
|
|
3
2
|
/** Converts a raw Markdown fragment to the ID rehype-sanitize emits for its heading. */
|
|
4
3
|
export declare function getSanitizedMarkdownHeadingIdFromRawFragment(rawFragment: string): string;
|
|
5
4
|
/** How a link to a known object renders: a chip with that object's icon. */
|
|
@@ -26,5 +25,4 @@ export interface MarkdownProps {
|
|
|
26
25
|
* a CSV copy, images that open full size or show a labelled placeholder, and
|
|
27
26
|
* optional chips for links to known objects.
|
|
28
27
|
*/
|
|
29
|
-
export declare const Markdown: import("react").MemoExoticComponent<({ children, className, urlTransform, linkChip }: MarkdownProps) => import("react").JSX.Element>;
|
|
30
|
-
//#endregion
|
|
28
|
+
export declare const Markdown: import("react").MemoExoticComponent<({ children, className, urlTransform, linkChip }: MarkdownProps) => import("react").JSX.Element>;
|
|
@@ -11,7 +11,7 @@ import remarkGfm from "remark-gfm";
|
|
|
11
11
|
import rehypeSanitize, { defaultSchema } from "rehype-sanitize";
|
|
12
12
|
import rehypeSlug from "rehype-slug";
|
|
13
13
|
import GithubSlugger from "github-slugger";
|
|
14
|
-
|
|
14
|
+
// src/markdown/markdown.tsx
|
|
15
15
|
const SANITIZED_HEADING_ID_PREFIX = "user-content-";
|
|
16
16
|
/** Converts a raw Markdown fragment to the ID rehype-sanitize emits for its heading. */
|
|
17
17
|
function getSanitizedMarkdownHeadingIdFromRawFragment(rawFragment) {
|
|
@@ -191,5 +191,4 @@ const Markdown = memo(({ children, className, urlTransform, linkChip }) => {
|
|
|
191
191
|
});
|
|
192
192
|
});
|
|
193
193
|
Markdown.displayName = "Markdown";
|
|
194
|
-
//#endregion
|
|
195
194
|
export { Markdown, getSanitizedMarkdownHeadingIdFromRawFragment };
|
package/dist/nav.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { LinkProps, LinkProps as LinkProps$1, NavLinkProps, NavLinkProps as NavLinkProps$1 } from "react-router";
|
|
2
|
-
//#region src/nav/index.d.ts
|
|
3
2
|
/**
|
|
4
3
|
* Navigation primitives that make agent-app products feel snappy by default.
|
|
5
4
|
*
|
|
@@ -19,5 +18,4 @@ import { LinkProps, LinkProps as LinkProps$1, NavLinkProps, NavLinkProps as NavL
|
|
|
19
18
|
export declare function Link({ prefetch, ...props }: LinkProps$1): import("react").JSX.Element;
|
|
20
19
|
/** `react-router` `<NavLink>` with `prefetch="intent"` on by default. */
|
|
21
20
|
export declare function NavLink({ prefetch, ...props }: NavLinkProps$1): import("react").JSX.Element;
|
|
22
|
-
//#endregion
|
|
23
21
|
export type { LinkProps, NavLinkProps };
|
package/dist/nav.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
2
|
import { Link as Link$1, NavLink as NavLink$1 } from "react-router";
|
|
3
|
-
|
|
3
|
+
// src/nav/index.tsx
|
|
4
4
|
/**
|
|
5
5
|
* Navigation primitives that make agent-app products feel snappy by default.
|
|
6
6
|
*
|
|
@@ -30,5 +30,4 @@ function NavLink({ prefetch = "intent", ...props }) {
|
|
|
30
30
|
...props
|
|
31
31
|
});
|
|
32
32
|
}
|
|
33
|
-
//#endregion
|
|
34
33
|
export { Link, NavLink };
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { MarkdownProps } from "../markdown/markdown.js";
|
|
2
2
|
import { ReactNode } from "react";
|
|
3
|
-
//#region src/openui/openui-artifact-renderer.d.ts
|
|
4
3
|
export type OpenUIPrimitive = string | number | boolean | null | undefined;
|
|
5
4
|
export interface OpenUIAction {
|
|
6
5
|
id: string;
|
|
@@ -112,4 +111,4 @@ export interface OpenUIArtifactRendererProps {
|
|
|
112
111
|
* the sandbox shell.
|
|
113
112
|
*/
|
|
114
113
|
export declare function OpenUIArtifactRenderer({ schema, onAction, className, urlTransform }: OpenUIArtifactRendererProps): import("react").JSX.Element;
|
|
115
|
-
|
|
114
|
+
export {};
|
|
@@ -9,7 +9,7 @@ import { findUnsupportedOpenUINode } from "../openui-schema.js";
|
|
|
9
9
|
import { Fragment } from "react";
|
|
10
10
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
11
11
|
import { Minus } from "lucide-react";
|
|
12
|
-
|
|
12
|
+
// src/openui/openui-artifact-renderer.tsx
|
|
13
13
|
const GAP_STYLES = {
|
|
14
14
|
sm: "gap-2",
|
|
15
15
|
md: "gap-4",
|
|
@@ -260,5 +260,4 @@ function OpenUIArtifactRenderer({ schema, onAction, className, urlTransform }) {
|
|
|
260
260
|
children: nodes.map((node, index) => /* @__PURE__ */ jsx(Fragment, { children: renderNode(node, onAction, urlTransform) }, node.id ?? `${node.type}-${index}`))
|
|
261
261
|
});
|
|
262
262
|
}
|
|
263
|
-
//#endregion
|
|
264
263
|
export { OpenUIArtifactRenderer };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __exportAll } from "../_virtual/_rolldown/runtime.js";
|
|
2
|
-
|
|
2
|
+
// src/openui/schema-compiled.ts
|
|
3
3
|
var schema_compiled_exports = /* @__PURE__ */ __exportAll({
|
|
4
4
|
actions: () => actions,
|
|
5
5
|
badge: () => badge,
|
|
@@ -9297,5 +9297,4 @@ function validate44(data, { instancePath = "", parentData, parentDataProperty, r
|
|
|
9297
9297
|
validate44.errors = vErrors;
|
|
9298
9298
|
return errors === 0;
|
|
9299
9299
|
}
|
|
9300
|
-
//#endregion
|
|
9301
9300
|
export { actions, badge, card, code, grid, heading, key_value, markdown, schema_compiled_exports, separator, stack, stat, table, text };
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
//#region src/openui/schema-data.d.ts
|
|
2
1
|
export declare const OPENUI_NODE_TYPES: readonly ["heading", "text", "badge", "stat", "key_value", "code", "markdown", "table", "actions", "separator", "stack", "grid", "card"];
|
|
3
2
|
/**
|
|
4
3
|
* The model-facing shape and the persistence gate share this exact schema.
|
|
@@ -203,5 +202,4 @@ export declare const OPENUI_NODE_JSON_SCHEMA: {
|
|
|
203
202
|
additionalProperties: boolean;
|
|
204
203
|
};
|
|
205
204
|
};
|
|
206
|
-
};
|
|
207
|
-
//#endregion
|
|
205
|
+
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
// src/openui/schema-data.ts
|
|
2
2
|
const OPENUI_NODE_TYPES = [
|
|
3
3
|
"heading",
|
|
4
4
|
"text",
|
|
@@ -201,5 +201,4 @@ const OPENUI_NODE_JSON_SCHEMA = {
|
|
|
201
201
|
})
|
|
202
202
|
}
|
|
203
203
|
};
|
|
204
|
-
//#endregion
|
|
205
204
|
export { OPENUI_NODE_JSON_SCHEMA, OPENUI_NODE_TYPES };
|
package/dist/openui-schema.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { OpenUIComponentNode } from "./openui/openui-artifact-renderer.js";
|
|
2
2
|
import { OPENUI_NODE_JSON_SCHEMA, OPENUI_NODE_TYPES } from "./openui/schema-data.js";
|
|
3
|
-
//#region src/openui/schema.d.ts
|
|
4
3
|
export interface OpenUISchemaIssue {
|
|
5
4
|
path: string;
|
|
6
5
|
message: string;
|
|
@@ -18,5 +17,4 @@ export declare function findUnsupportedOpenUINode(value: unknown): OpenUISchemaI
|
|
|
18
17
|
export declare function validateOpenUIJsonNode(value: unknown): OpenUISchemaValidation<OpenUIComponentNode>;
|
|
19
18
|
/** Validate the renderer's single-node or nonempty node-array artifact shape. */
|
|
20
19
|
export declare function validateOpenUIJsonArtifact(value: unknown): OpenUISchemaValidation<OpenUIComponentNode | OpenUIComponentNode[]>;
|
|
21
|
-
//#endregion
|
|
22
20
|
export { OPENUI_NODE_JSON_SCHEMA, OPENUI_NODE_TYPES, type OpenUIComponentNode };
|
package/dist/openui-schema.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { OPENUI_NODE_JSON_SCHEMA, OPENUI_NODE_TYPES } from "./openui/schema-data.js";
|
|
2
2
|
import { schema_compiled_exports } from "./openui/schema-compiled.js";
|
|
3
|
-
|
|
3
|
+
// src/openui/schema.ts
|
|
4
4
|
const nodeTypes = new Set(OPENUI_NODE_TYPES);
|
|
5
5
|
/** Find an unsupported node at any depth before the renderer can omit it. */
|
|
6
6
|
function findUnsupportedOpenUINode(value) {
|
|
@@ -139,5 +139,4 @@ function validateNode(record, path, depth) {
|
|
|
139
139
|
}
|
|
140
140
|
return { ok: true };
|
|
141
141
|
}
|
|
142
|
-
//#endregion
|
|
143
142
|
export { OPENUI_NODE_JSON_SCHEMA, OPENUI_NODE_TYPES, findUnsupportedOpenUINode, validateOpenUIJsonArtifact, validateOpenUIJsonNode };
|
package/dist/presentation.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { controlMotion } from "./lib/motion.js";
|
|
2
2
|
import { controlHeight, controlRadius, controlSizes, controlText, fieldPresentation, fieldSizes, fieldTouchText } from "./lib/control-presentation.js";
|
|
3
3
|
import { ixControlSoft, ixSelected, ixTabUnderline } from "./lib/interaction.js";
|
|
4
|
-
//#region src/presentation.d.ts
|
|
5
4
|
export declare const buttonVariants: (props?: ({
|
|
6
5
|
variant?: "default" | "destructive" | "destructive-outline" | "ghost" | "link" | "outline" | "sandbox" | "secondary" | null | undefined;
|
|
7
6
|
size?: "compact" | "default" | "display" | "icon" | "icon-lg" | "icon-sm" | "lg" | "md" | "sm" | "touch" | "xl" | null | undefined;
|
|
@@ -97,5 +96,4 @@ export declare const tabsPresentation: {
|
|
|
97
96
|
readonly underline: "inline-flex items-center justify-center whitespace-nowrap rounded-t-md pb-3 text-sm font-medium [transition:color_var(--motion-control),background-color_var(--motion-control),border-color_var(--motion-control),box-shadow_var(--motion-control),transform_var(--motion-control),scale_var(--motion-control),opacity_var(--motion-control)] motion-reduce:transition-none focus-visible:outline-1 focus-visible:outline-[var(--focus-border)] focus-visible:ring-4 focus-visible:ring-[var(--focus-halo)] focus-visible:outline-offset-0 disabled:pointer-events-none disabled:opacity-50 border-b-2 border-transparent data-[state=inactive]:text-muted-foreground hover:shadow-[inset_0_-2px_0_hsl(var(--hsl-ring)/0.4)] data-[state=active]:bg-[hsl(var(--hsl-ring)/0.07)] data-[state=active]:text-[var(--accent-text)] data-[state=active]:shadow-[inset_0_-2px_0_var(--ix-sel-ring)] aria-checked:bg-[hsl(var(--hsl-ring)/0.07)] aria-checked:text-[var(--accent-text)] aria-checked:shadow-[inset_0_-2px_0_var(--ix-sel-ring)]";
|
|
98
97
|
};
|
|
99
98
|
};
|
|
100
|
-
//#endregion
|
|
101
99
|
export { controlHeight, controlMotion, controlRadius, controlSizes, controlText, fieldPresentation, fieldSizes, fieldTouchText, ixControlSoft, ixSelected, ixTabUnderline };
|
package/dist/presentation.js
CHANGED
|
@@ -4,7 +4,7 @@ import { focusFieldInvalid, focusRing } from "./lib/focus.js";
|
|
|
4
4
|
import { cn } from "./lib/utils.js";
|
|
5
5
|
import { controlHeight, controlRadius, controlSizes, controlSquare, controlText, fieldPresentation, fieldSizes, fieldTouchText, touchTarget } from "./lib/control-presentation.js";
|
|
6
6
|
import { cva } from "class-variance-authority";
|
|
7
|
-
|
|
7
|
+
// src/presentation.ts
|
|
8
8
|
/** React-free presentation. Consumers scan this published source with Tailwind. */
|
|
9
9
|
const buttonVariants = cva(`inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-lg font-medium ${controlMotion} ${focusRing} disabled:pointer-events-none disabled:opacity-50 aria-disabled:cursor-not-allowed aria-disabled:opacity-50 motion-reduce:active:scale-100 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0`, {
|
|
10
10
|
variants: {
|
|
@@ -193,5 +193,4 @@ const tabsPresentation = {
|
|
|
193
193
|
underline: `inline-flex items-center justify-center whitespace-nowrap rounded-t-md pb-3 text-sm font-medium ${controlMotion} ${focusRing} disabled:pointer-events-none disabled:opacity-50 border-b-2 border-transparent data-[state=inactive]:text-muted-foreground ${ixTabUnderline}`
|
|
194
194
|
}
|
|
195
195
|
};
|
|
196
|
-
//#endregion
|
|
197
196
|
export { bindDialog, buttonVariants, cardPresentation, chartPresentation, controlHeight, controlMotion, controlRadius, controlSizes, controlText, dialogPresentation, emptyStatePresentation, fieldPresentation, fieldSizes, fieldTouchText, helpPresentation, inputVariants, ixControlSoft, ixSelected, ixTabUnderline, labelVariants, metricLayouts, metricPresentation, tablePresentation, tabsPresentation };
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
|
|
3
|
-
//#region src/primitives/alert-dialog.d.ts
|
|
4
3
|
/**
|
|
5
4
|
* A dialog that interrupts for a decision. Unlike `Dialog` it has no close
|
|
6
5
|
* button and ignores outside clicks; Escape and `AlertDialogCancel` dismiss it.
|
|
@@ -30,5 +29,4 @@ declare const AlertDialogAction: React.ForwardRefExoticComponent<Omit<AlertDialo
|
|
|
30
29
|
tone?: "default" | "destructive";
|
|
31
30
|
} & React.RefAttributes<HTMLButtonElement>>;
|
|
32
31
|
declare const AlertDialogCancel: React.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogCancelProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
33
|
-
//#endregion
|
|
34
32
|
export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger };
|