@belonguniverseai/react-sdk 0.6.22 → 0.6.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/account-connectors.d.ts +2 -2
- package/dist/api/api-keys.d.ts +22 -0
- package/dist/api/client-identity.d.ts +12 -0
- package/dist/api/client.d.ts +1710 -12
- package/dist/api/query-keys.d.ts +1 -0
- package/dist/api/session-end.d.ts +2 -0
- package/dist/api/skills.d.ts +1 -1
- package/dist/api/task-schedule-sharing.d.ts +166 -0
- package/dist/api/task-schedules.d.ts +23 -1
- package/dist/app/BelongDock.d.ts +0 -28
- package/dist/app/dock-demo-features.d.ts +13 -0
- package/dist/app/dock-demo-transport.d.ts +37 -0
- package/dist/app/dock-story-data.d.ts +116 -0
- package/dist/component/THIRD_PARTY_NOTICES.txt +24 -0
- package/dist/component/{abnfDiagram-N423BO3Z-D4mVRMw9.js → abnfDiagram-N423BO3Z-bM1BoI0O.js} +4 -4
- package/dist/component/{arc-GBp6w3tF.js → arc-DaSgre52.js} +2 -2
- package/dist/component/{architectureDiagram-T3A2C74G-Cxm-USYQ.js → architectureDiagram-T3A2C74G-avMCXzQw.js} +3 -3
- package/dist/component/{blockDiagram-VBNYF7ZC-BAiLpxJf.js → blockDiagram-VBNYF7ZC-Cg6EDrdt.js} +4 -4
- package/dist/component/{c4Diagram-5PPSVZJV-Sy6sLJOj.js → c4Diagram-5PPSVZJV-DhUs6wdK.js} +3 -3
- package/dist/component/{channel-DPbaAkCI.js → channel-DlmuDpcv.js} +2 -2
- package/dist/component/{chunk-2GRJ4B5K-8r8YJzCc.js → chunk-2GRJ4B5K-Drdf-9Az.js} +2 -2
- package/dist/component/{chunk-2Q5K7J3B-RZqny7-R.js → chunk-2Q5K7J3B-CG6mCJjr.js} +2 -2
- package/dist/component/{chunk-5RXB4S5H-QFCY9Dtl.js → chunk-5RXB4S5H-DYJwqjr4.js} +5 -5
- package/dist/component/{chunk-5VM5RSS4-BG8q5ODa.js → chunk-5VM5RSS4-B21XfkBj.js} +2 -2
- package/dist/component/{chunk-6Q2QTUOP-D6ec2nI7.js → chunk-6Q2QTUOP-DZkWqf90.js} +2 -2
- package/dist/component/{chunk-GF5L2VYU-D7yROYf0.js → chunk-GF5L2VYU-5hBEo1f5.js} +6 -6
- package/dist/component/{chunk-JWPE2WC7-CmGlHqne.js → chunk-JWPE2WC7-DAn-TcDC.js} +2 -2
- package/dist/component/{chunk-KBJHAD2P-W03s7swc.js → chunk-KBJHAD2P-CEMDhN2A.js} +2 -2
- package/dist/component/{chunk-RYQCIY6F-D0oyMUJ7.js → chunk-RYQCIY6F-BWL1otLK.js} +2 -2
- package/dist/component/{chunk-XXDRQBXY-D4s0eyp4.js → chunk-XXDRQBXY-D0TWnqlD.js} +2 -2
- package/dist/component/{classDiagram-JCYQIIEL-DwNAC2XG.js → classDiagram-JCYQIIEL-CjU-7xK0.js} +3 -3
- package/dist/component/{classDiagram-v2-OCEON4UE-DwNAC2XG.js → classDiagram-v2-OCEON4UE-CjU-7xK0.js} +3 -3
- package/dist/component/{cose-bilkent-JH36ORCC-DhGvXDdi.js → cose-bilkent-JH36ORCC-MkPQhZKJ.js} +2 -2
- package/dist/component/{cynefinDiagram-MW4NZA55-BCUeX7pB.js → cynefinDiagram-MW4NZA55-Wf-Eh_MR.js} +3 -3
- package/dist/component/{dagre-VZM6K2ZE-DWofHoga.js → dagre-VZM6K2ZE-D1ND11ws.js} +3 -3
- package/dist/component/{diagram-7IWD3JNH-DjCFF_Dr.js → diagram-7IWD3JNH-ChO63Ikp.js} +4 -4
- package/dist/component/{diagram-B4RE2ZJO-CSovrpFW.js → diagram-B4RE2ZJO-CFVIZBxd.js} +3 -3
- package/dist/component/{diagram-LBJQPF4R-Cgpae-sR.js → diagram-LBJQPF4R-BFErKt-H.js} +3 -3
- package/dist/component/{diagram-Q27KOJAE-DikMPfLU.js → diagram-Q27KOJAE-3EA2fDKz.js} +4 -4
- package/dist/component/{diagram-UB23O5K3-sQU6rZbO.js → diagram-UB23O5K3-D914yr1r.js} +3 -3
- package/dist/component/{ebnfDiagram-BXEA7PRR-B9t8-G8R.js → ebnfDiagram-BXEA7PRR-BlRDglJm.js} +4 -4
- package/dist/component/{erDiagram-JOGREHBK-DKg1HhSl.js → erDiagram-JOGREHBK-BgHUzm41.js} +5 -5
- package/dist/component/{flowDiagram-UKHOOZJN-BO8jpT1D.js → flowDiagram-UKHOOZJN-Cf42sXVK.js} +7 -7
- package/dist/component/{ganttDiagram-PKOTCBZU-BPXYyB9Q.js → ganttDiagram-PKOTCBZU-Bqai8Nqw.js} +3 -3
- package/dist/component/{gitGraphDiagram-DS77QQ5N-BjVLFBUS.js → gitGraphDiagram-DS77QQ5N-M6yX_E4b.js} +4 -4
- package/dist/component/{highlighted-body-OFNGDK62-BKot66c3.js → highlighted-body-OFNGDK62-C2rmuXAs.js} +2 -2
- package/dist/component/index.js +2 -2
- package/dist/component/{infoDiagram-6WML65LV-BkAC5Bwv.js → infoDiagram-6WML65LV-Bk4qDfY4.js} +2 -2
- package/dist/component/{ishikawaDiagram-WSZJBQD7-oplkIs_t.js → ishikawaDiagram-WSZJBQD7-CQ0-i0XP.js} +2 -2
- package/dist/component/{journeyDiagram-NVQOT4AX-CuliMCSv.js → journeyDiagram-NVQOT4AX-CK9lX22d.js} +5 -5
- package/dist/component/{kanban-definition-27J2QSJJ-DdzOdEiL.js → kanban-definition-27J2QSJJ-CrIKfzfe.js} +3 -3
- package/dist/component/{linear-zZDwdGmK.js → linear-CzN3Xd3g.js} +2 -2
- package/dist/component/{mermaid-GHXKKRXX-aX5umm-y.js → mermaid-GHXKKRXX-B-ea5OKA.js} +113536 -107768
- package/dist/component/{mindmap-definition-FAOFIHXS-DD2HF9oE.js → mindmap-definition-FAOFIHXS-DUDsEObz.js} +4 -4
- package/dist/component/{pegDiagram-VL7TDLO6-DyiDl9bF.js → pegDiagram-VL7TDLO6-DFJ-rOLH.js} +4 -4
- package/dist/component/{pieDiagram-7S7Q4E2Y-DflxKS_B.js → pieDiagram-7S7Q4E2Y-OwliOUdN.js} +4 -4
- package/dist/component/{quadrantDiagram-CIZ2JOQS-nwwayVOP.js → quadrantDiagram-CIZ2JOQS-CLKxzqPi.js} +3 -3
- package/dist/component/{railroadDiagram-AXF67PYL-BTtD2eN9.js → railroadDiagram-AXF67PYL-_jBOX7-D.js} +4 -4
- package/dist/component/{requirementDiagram-LRYGKXZP-B37q1LKL.js → requirementDiagram-LRYGKXZP-CxfMaDPH.js} +4 -4
- package/dist/component/{sankeyDiagram-W5VNT64P-zY0W9eje.js → sankeyDiagram-W5VNT64P-D-qOUzh7.js} +2 -2
- package/dist/component/{sequenceDiagram-SI44F4Z6-CmQiqB8F.js → sequenceDiagram-SI44F4Z6-B57h29Ae.js} +4 -4
- package/dist/component/{sizeCapture-X5ZJPWSS-dF3FvIT8.js → sizeCapture-X5ZJPWSS-DlIoKfk1.js} +2 -2
- package/dist/component/{stateDiagram-OKZ733FA-CX61F3L0.js → stateDiagram-OKZ733FA-CNNoDNwB.js} +3 -3
- package/dist/component/{stateDiagram-v2-UEYNNEHI-DnFZhhu3.js → stateDiagram-v2-UEYNNEHI-xYjW9R-s.js} +3 -3
- package/dist/component/{swimlanes-SLNWSIFB-CX9XGBvw.js → swimlanes-SLNWSIFB-Chjr6NCU.js} +4 -4
- package/dist/component/{swimlanesDiagram-ULZ7WXOC-Bqkgx7qk.js → swimlanesDiagram-ULZ7WXOC-A9mWwnCX.js} +3 -3
- package/dist/component/{timeline-definition-Z64GVDOM-BUX4OSm1.js → timeline-definition-Z64GVDOM-DldyCd1l.js} +3 -3
- package/dist/component/{vennDiagram-T6HMQDX7-BpVOq4Rh.js → vennDiagram-T6HMQDX7-BGfiPWG2.js} +2 -2
- package/dist/component/{wardleyDiagram-T6FBY63Y-BUDGa8Mv.js → wardleyDiagram-T6FBY63Y-Bzn9DJ27.js} +3 -3
- package/dist/component/{xychartDiagram-ELKLHX3M-FIA_LnIu.js → xychartDiagram-ELKLHX3M-nMaNgT12.js} +3 -3
- package/dist/components/ai-elements/message.d.ts +2 -2
- package/dist/components/ai-elements/prompt-input.d.ts +3 -1
- package/dist/components/ai-elements/task.d.ts +2 -1
- package/dist/components/ai-elements/terminal-task.d.ts +2 -1
- package/dist/components/connectors/portal-theme.d.ts +2 -8
- package/dist/components/embed/AgentChatIcon.d.ts +1 -1
- package/dist/components/embed/AgentPhaseIcon.d.ts +16 -14
- package/dist/components/embed/ApiKeysSettings.d.ts +1 -0
- package/dist/components/embed/BetaBadge.d.ts +8 -10
- package/dist/components/embed/ComposerContext.d.ts +9 -0
- package/dist/components/embed/EmbedAvatar.d.ts +19 -18
- package/dist/components/embed/EmbedComposer.d.ts +3 -1
- package/dist/components/embed/EmbedHeader.d.ts +8 -31
- package/dist/components/embed/EmbedRail.d.ts +12 -9
- package/dist/components/embed/EmbedSessions.d.ts +10 -12
- package/dist/components/embed/GoalComposeSheet.d.ts +2 -1
- package/dist/components/embed/LegalShortDisclaimer.d.ts +6 -8
- package/dist/components/embed/MentionInput.d.ts +9 -3
- package/dist/components/embed/MobileNavBar.d.ts +12 -10
- package/dist/components/embed/OnboardingOverlay.d.ts +3 -1
- package/dist/components/embed/OnboardingTour.d.ts +1 -10
- package/dist/components/embed/OnboardingWelcome.d.ts +1 -11
- package/dist/components/embed/PlanPanel.d.ts +3 -1
- package/dist/components/embed/PreviewPanel.d.ts +3 -1
- package/dist/components/embed/SessionSwitcher.d.ts +12 -0
- package/dist/components/embed/SubagentAvatar.d.ts +8 -0
- package/dist/components/embed/WorkspacePane.d.ts +3 -1
- package/dist/components/embed/navigation-layout.d.ts +7 -0
- package/dist/components/embed/rail-flags.d.ts +4 -11
- package/dist/components/embed/use-prompt-invocations.d.ts +6 -1
- package/dist/components/prompts/PromptPreviewDialog.d.ts +10 -0
- package/dist/components/prompts/PromptsListSurface.d.ts +4 -4
- package/dist/components/scheduled/ConfirmDeleteScheduleDialog.d.ts +1 -0
- package/dist/components/scheduled/ScheduleDialog.d.ts +4 -0
- package/dist/components/scheduled/ScheduledDetailSurface.d.ts +1 -0
- package/dist/components/scheduled/ScheduledHeader.d.ts +3 -0
- package/dist/components/scheduled/ScheduledListSurface.d.ts +1 -1
- package/dist/components/scheduled/ShareScheduleDialog.d.ts +10 -0
- package/dist/components/scheduled/SharedSchedulesSurface.d.ts +1 -0
- package/dist/components/scheduled/schedule-dialog-model.d.ts +5 -2
- package/dist/components/skills/SkillDiscover.d.ts +1 -0
- package/dist/components/skills/SkillsListSurface.d.ts +5 -2
- package/dist/components/ui/card.d.ts +1 -1
- package/dist/components/ui/dialog.d.ts +1 -1
- package/dist/components/ui/dropdown-menu.d.ts +2 -2
- package/dist/components/ui/hover-card.d.ts +1 -1
- package/dist/components/ui/popover.d.ts +1 -1
- package/dist/components/ui/select.d.ts +1 -1
- package/dist/components/ui/shadow-dialog-focus.d.ts +5 -0
- package/dist/components/ui/tooltip.d.ts +1 -1
- package/dist/embed/brand-marks.d.ts +3 -3
- package/dist/embed/copy.d.ts +8 -2
- package/dist/embed/legal-disclaimer.d.ts +5 -1
- package/dist/embed/library-composer.d.ts +24 -0
- package/dist/embed/library-navigation.d.ts +6 -0
- package/dist/embed/portal-container.d.ts +17 -16
- package/dist/embed/presets.d.ts +2 -2
- package/dist/embed/schedule-invitation.d.ts +5 -0
- package/dist/embed/use-session-draft.d.ts +11 -0
- package/dist/i18n/messages/en.d.ts +235 -4
- package/dist/i18n/messages/surfaces/files.d.ts +4 -0
- package/dist/i18n/messages/surfaces/header.d.ts +4 -0
- package/dist/i18n/messages/surfaces/navigation.d.ts +149 -0
- package/dist/i18n/messages/surfaces/prompts.d.ts +56 -5
- package/dist/i18n/messages/surfaces/scheduled.d.ts +233 -1
- package/dist/i18n/messages/surfaces/sessions.d.ts +16 -0
- package/dist/i18n/messages/surfaces/settings.d.ts +229 -0
- package/dist/i18n/messages/surfaces/skills.d.ts +86 -3
- package/dist/i18n/messages/surfaces/stream.d.ts +109 -0
- package/dist/i18n/messages/surfaces/usage.d.ts +56 -0
- package/dist/routes/chat/use-session-goal.d.ts +1 -0
- package/dist/routes/chat.d.ts +2 -1
- package/dist/routes/library.d.ts +4 -0
- package/dist/stream/ai-sdk-part-renderers.d.ts +4 -8
- package/dist/stream/belong-chat-transport.d.ts +15 -0
- package/dist/stream/belong-data-parts.d.ts +9 -3
- package/dist/stream/subagent-lanes.d.ts +3 -2
- package/package.json +1 -1
- package/dist/components/ai-elements/reasoning.d.ts +0 -26
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
1
2
|
import { VoiceActionFlash } from '../../embed/closed-surface-voice-bus.ts';
|
|
2
3
|
import { VoiceStatus } from '../../embed/voice-bus.ts';
|
|
3
4
|
import { SessionSummary } from './EmbedSessions';
|
|
@@ -9,13 +10,12 @@ import { BelongTheme, BelongThemePalette, PresetName } from '../../types/public.
|
|
|
9
10
|
* one of them is a view you can reach but not come back to after a reload. */
|
|
10
11
|
export type EmbedView = "chat" | "goal" | "files" | "scheduled" | "prompts" | "connectors" | "skills";
|
|
11
12
|
/**
|
|
12
|
-
* 52px rail
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* from `palette` so a host brand push re-themes everything.
|
|
13
|
+
* Compact 52px rail, expanding into a labeled 208px sidebar on request.
|
|
14
|
+
* History and workspace navigation share one hierarchy in both dock states.
|
|
15
|
+
* Focus hides labels only; every destination remains available as an icon.
|
|
16
|
+
* Active fill and brand colors come from the tenant palette.
|
|
17
17
|
*/
|
|
18
|
-
export declare function EmbedRail({ view, collapsed, user, theme, palette, sessions, activeId, planProgress, speakEnabled, ttsSupported, voiceSupported, voiceStatus, pendingVoiceDraft, voiceActionFlash, accent, cssVars, presets, activePreset, onSelectView,
|
|
18
|
+
export declare function EmbedRail({ view, collapsed, user, theme, palette, sessions, activeId, planProgress, speakEnabled, ttsSupported, voiceSupported, voiceStatus, pendingVoiceDraft, voiceActionFlash, accent, cssVars, presets, activePreset, onSelectView, onToggleMode, onToggleSide, onAccentChange, onAccentReset, onCssVarsChange, onApplyPreset, onLogout, onNewSession, onSelectSession, onSelectAgentLine, onCloseAgentLine, onDeleteSession, onRenameSession, onSessionsOpen, onViewStats, onToggleSpeak, fullscreen, navigationLabelsVisible, onToggleNavigationLabels, layoutControl, connectorsUnavailable, skillsUnavailable, goalPresent, goalNeedsYou, }: {
|
|
19
19
|
view: EmbedView;
|
|
20
20
|
collapsed: boolean;
|
|
21
21
|
user: string | null;
|
|
@@ -61,7 +61,6 @@ export declare function EmbedRail({ view, collapsed, user, theme, palette, sessi
|
|
|
61
61
|
* each chip's accessible label names the ask too. */
|
|
62
62
|
goalNeedsYou: boolean;
|
|
63
63
|
onSelectView: (v: EmbedView) => void;
|
|
64
|
-
onToggleCollapse: () => void;
|
|
65
64
|
onToggleMode: () => void;
|
|
66
65
|
onToggleSide: () => void;
|
|
67
66
|
onAccentChange: (c: string) => void;
|
|
@@ -94,9 +93,13 @@ export declare function EmbedRail({ view, collapsed, user, theme, palette, sessi
|
|
|
94
93
|
* rail still renders without the dock's panel host wired up. */
|
|
95
94
|
onViewStats?: (sessionId: string) => void;
|
|
96
95
|
onToggleSpeak: () => void;
|
|
97
|
-
/**
|
|
96
|
+
/** Actual fullscreen layout; its rail stays on the physical left edge. */
|
|
98
97
|
fullscreen: boolean;
|
|
99
|
-
|
|
98
|
+
/** Presentation only: Focus hides labels without changing layout or navigation. */
|
|
99
|
+
navigationLabelsVisible?: boolean;
|
|
100
|
+
onToggleNavigationLabels?: () => void;
|
|
101
|
+
/** The logo controls dock visibility or fullscreen labels, owned by the shell. */
|
|
102
|
+
layoutControl?: ReactNode;
|
|
100
103
|
/**
|
|
101
104
|
* This deployment answered "the connectors feature is off here" — the rail
|
|
102
105
|
* then hides the Connectors entry entirely, because a surface that can only
|
|
@@ -24,23 +24,18 @@ type SessionsBodyProps = {
|
|
|
24
24
|
* list without the dock's panel host still renders. */
|
|
25
25
|
onViewStats?: (sessionId: string) => void;
|
|
26
26
|
};
|
|
27
|
-
/**
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
* implementation of rename/delete/select, two menu shells. Radix unmounts a
|
|
34
|
-
* closed Content/SubContent by default, so this component's local edit/confirm
|
|
35
|
-
* state resets for free on every close — no explicit reset needed here.
|
|
36
|
-
*/
|
|
37
|
-
export declare function EmbedSessionsBody({ sessions, activeId, onNew, onSelect, onDelete, onRename, sessionAgentLine, onViewStats, }: SessionsBodyProps): import("react").JSX.Element;
|
|
27
|
+
/** Shared history behavior for the compact menu and fullscreen settings.
|
|
28
|
+
* Panel rows use native buttons with sibling edit actions, so history does
|
|
29
|
+
* not depend on a Radix menu context or nest interactive controls. */
|
|
30
|
+
export declare function EmbedSessionsBody({ sessions, activeId, onNew, onSelect, onDelete, onRename, sessionAgentLine, onViewStats, presentation, }: SessionsBodyProps & {
|
|
31
|
+
presentation?: "menu" | "panel";
|
|
32
|
+
}): import("react").JSX.Element;
|
|
38
33
|
/**
|
|
39
34
|
* Header control to start a new chat, switch to a recent session, rename one via
|
|
40
35
|
* an inline text edit, or delete one via an inline trash → confirm flow. Rename +
|
|
41
36
|
* delete are per-row inline affordances that keep the menu open (BEL-120).
|
|
42
37
|
*/
|
|
43
|
-
export declare function EmbedSessions({ sessions, activeId, theme, side, triggerClassName, triggerLabel, onNew, onSelect, onDelete, onRename, onOpen, sessionAgentLine, onViewStats, }: SessionsBodyProps & {
|
|
38
|
+
export declare function EmbedSessions({ sessions, activeId, theme, side, triggerClassName, triggerLabel, presentation, onNew, onSelect, onDelete, onRename, onOpen, sessionAgentLine, onViewStats, }: SessionsBodyProps & {
|
|
44
39
|
theme: BelongTheme;
|
|
45
40
|
/** Which way the menu opens — toward the panel from the rail edge, or
|
|
46
41
|
* upward when the trigger lives in the mobile bottom nav bar. */
|
|
@@ -51,6 +46,9 @@ export declare function EmbedSessions({ sessions, activeId, theme, side, trigger
|
|
|
51
46
|
/** Visible text under the trigger icon (mobile nav names its cells; the
|
|
52
47
|
* rail stays icon-only). */
|
|
53
48
|
triggerLabel?: string;
|
|
49
|
+
/** Labeled navigation row for the expanded sidebar; icon preserves the
|
|
50
|
+
* compact launcher and optional mobile triggerLabel. */
|
|
51
|
+
presentation?: "icon" | "labeled";
|
|
54
52
|
/** Fired when the menu opens — the dock refetches the list so it's fresh. */
|
|
55
53
|
onOpen?: () => void;
|
|
56
54
|
}): import("react").JSX.Element;
|
|
@@ -15,5 +15,6 @@ export type GoalComposeSheetProps = {
|
|
|
15
15
|
readonly planModeResolved: boolean;
|
|
16
16
|
readonly onCancel: () => void;
|
|
17
17
|
readonly onSubmit: (value: GoalComposeValue) => void;
|
|
18
|
+
readonly onReturnFocus?: () => void;
|
|
18
19
|
};
|
|
19
|
-
export declare function GoalComposeSheet({ open, initial, planModeResolved, onCancel, onSubmit, }: GoalComposeSheetProps): import("react").JSX.Element;
|
|
20
|
+
export declare function GoalComposeSheet({ open, initial, planModeResolved, onCancel, onSubmit, onReturnFocus, }: GoalComposeSheetProps): import("react").JSX.Element;
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import { DockCopyVariant } from '../../embed/copy.ts';
|
|
2
|
-
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* alike — per Simetrik legal's placement requirement.
|
|
8
|
-
*/
|
|
2
|
+
/** The footer under the composer, in every session state: a short accuracy
|
|
3
|
+
* reminder and the tenant's beta status, with details behind the info icon.
|
|
4
|
+
* For Simetrik those details open with its legal caveat in full; the cost
|
|
5
|
+
* advisory in it is Simetrik's alone. The separate Simetrik acceptance gate
|
|
6
|
+
* and its versioned legal terms are unchanged. */
|
|
9
7
|
export declare function LegalShortDisclaimer({ variant }: {
|
|
10
8
|
variant: DockCopyVariant;
|
|
11
|
-
}): import("react").JSX.Element
|
|
9
|
+
}): import("react").JSX.Element;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { KeyboardEvent as ReactKeyboardEvent, Ref } from 'react';
|
|
1
|
+
import { CSSProperties, KeyboardEvent as ReactKeyboardEvent, Ref } from 'react';
|
|
2
2
|
import { BelongThemePalette } from '../../types/public.ts';
|
|
3
3
|
/**
|
|
4
4
|
* Is the editor the focused element within its OWN root? The dock mounts in a
|
|
@@ -11,7 +11,11 @@ import { BelongThemePalette } from '../../types/public.ts';
|
|
|
11
11
|
*/
|
|
12
12
|
export declare const isEditorFocused: (el: HTMLElement) => boolean;
|
|
13
13
|
export type MentionInputHandle = {
|
|
14
|
-
|
|
14
|
+
/** Focus an already-rendered editor, optionally selecting an inserted slot. */
|
|
15
|
+
focus: (selection?: {
|
|
16
|
+
readonly start: number;
|
|
17
|
+
readonly end: number;
|
|
18
|
+
}) => void;
|
|
15
19
|
getCaret: () => number | null;
|
|
16
20
|
/** Pin where the caret lands after the NEXT controlled value change. */
|
|
17
21
|
setPendingCaret: (offset: number) => void;
|
|
@@ -24,7 +28,9 @@ export type MentionInputHandle = {
|
|
|
24
28
|
setPendingSelection: (start: number, end: number) => void;
|
|
25
29
|
element: HTMLDivElement | null;
|
|
26
30
|
};
|
|
27
|
-
export declare function MentionInput({ value, palette, placeholder, suggestion, suggestionTabHint, disabled, className, ariaProps, onChange, onCaretChange, onKeyDown, onPasteFiles, handleRef, enterBehavior, }: {
|
|
31
|
+
export declare function MentionInput({ value, palette, placeholder, suggestion, suggestionTabHint, disabled, className, ariaProps, onChange, onCaretChange, onKeyDown, onPasteFiles, handleRef, enterBehavior, style, }: {
|
|
32
|
+
/** Applied to the editor and its placeholder together so their text aligns. */
|
|
33
|
+
style?: CSSProperties;
|
|
28
34
|
enterBehavior?: "submit" | "newline";
|
|
29
35
|
value: string;
|
|
30
36
|
palette: BelongThemePalette;
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
+
import { ComponentProps } from 'react';
|
|
2
|
+
import { EmbedAvatar } from './EmbedAvatar';
|
|
1
3
|
import { SessionSummary } from './EmbedSessions';
|
|
2
4
|
import { EmbedView } from './EmbedRail';
|
|
3
5
|
import { BelongTheme, BelongThemePalette, PresetName } from '../../types/public.ts';
|
|
4
|
-
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
export declare function MobileNavBar({ view, user, theme, palette, sessions, activeId, voiceSupported, accent, cssVars, presets, activePreset, onSelectView, onClose, onToggleMode, onToggleSide, onAccentChange, onAccentReset, onCssVarsChange, onApplyPreset, onLogout, onNewSession, onSelectSession, onDeleteSession, onRenameSession, onSessionsOpen, onViewStats, goalPresent, }: {
|
|
6
|
+
/** Four mobile destinations. Secondary tools and account controls live in
|
|
7
|
+
* Tools; session switching lives above the conversation. Primary cells retain
|
|
8
|
+
* 44px targets (56px with labels) and surface-scaled glyphs without horizontal scrolling. */
|
|
9
|
+
export declare function MobileNavBar({ view, user, theme, palette, sessions, activeId, voiceSupported, readReplies, accent, cssVars, presets, activePreset, onSelectView, onClose, onToggleMode, onToggleSide, onAccentChange, onAccentReset, onCssVarsChange, onApplyPreset, onLogout, onNewSession, onSelectSession, onDeleteSession, onRenameSession, onSessionsOpen, onViewStats, navigationLabelsVisible, onToggleNavigationLabels, connectorsUnavailable, skillsUnavailable, goalPresent, }: {
|
|
10
|
+
/** Focus changes navigation labels only; the icons always remain available. */
|
|
11
|
+
navigationLabelsVisible?: boolean;
|
|
12
|
+
onToggleNavigationLabels?: () => void;
|
|
13
|
+
connectorsUnavailable?: boolean;
|
|
14
|
+
skillsUnavailable?: boolean;
|
|
14
15
|
view: EmbedView;
|
|
15
16
|
user: string | null;
|
|
16
17
|
theme: BelongTheme;
|
|
@@ -18,6 +19,7 @@ export declare function MobileNavBar({ view, user, theme, palette, sessions, act
|
|
|
18
19
|
sessions: readonly SessionSummary[];
|
|
19
20
|
activeId: string | null;
|
|
20
21
|
voiceSupported: boolean;
|
|
22
|
+
readReplies?: ComponentProps<typeof EmbedAvatar>["readReplies"];
|
|
21
23
|
accent: string | null;
|
|
22
24
|
cssVars: Record<string, string>;
|
|
23
25
|
presets: readonly {
|
|
@@ -13,9 +13,11 @@ import { BelongThemeBrand, BelongThemePalette } from '../../types/public.ts';
|
|
|
13
13
|
* `active` folds in the gates that need React context (authed + on the chat
|
|
14
14
|
* view + not collapsed); the persistence gate lives in `shouldOfferOnboarding`.
|
|
15
15
|
*/
|
|
16
|
-
export declare function OnboardingOverlay({ dockRef, brand, palette, active, }: {
|
|
16
|
+
export declare function OnboardingOverlay({ dockRef, brand, palette, active, mobile, voiceAvailable, }: {
|
|
17
17
|
dockRef: RefObject<HTMLElement | null>;
|
|
18
18
|
brand: BelongThemeBrand;
|
|
19
19
|
palette: BelongThemePalette;
|
|
20
20
|
active: boolean;
|
|
21
|
+
mobile?: boolean;
|
|
22
|
+
voiceAvailable?: boolean;
|
|
21
23
|
}): import("react").JSX.Element | null;
|
|
@@ -2,16 +2,7 @@ import { RefObject } from 'react';
|
|
|
2
2
|
import { BelongThemePalette } from '../../types/public.ts';
|
|
3
3
|
import { TourStep } from '../../embed/onboarding-steps.ts';
|
|
4
4
|
import { TourLabels } from '../../embed/copy.ts';
|
|
5
|
-
/**
|
|
6
|
-
* The spotlight coach-mark engine. For the active step it resolves the step's
|
|
7
|
-
* anchor INSIDE the dock root, paints a dimming layer with a bright cut-out over
|
|
8
|
-
* the control (a clipped `box-shadow` ring — clipped to the dock by the dock
|
|
9
|
-
* root's `overflow-hidden`, so the host app is never dimmed), and floats a
|
|
10
|
-
* tooltip with progress dots and Back / Skip / Next.
|
|
11
|
-
*
|
|
12
|
-
* An anchor that never mounts (feature gated, rail collapsed) is skipped after a
|
|
13
|
-
* short wait via `onNext`, so a missing control never blocks the tour.
|
|
14
|
-
*/
|
|
5
|
+
/** Optional, keyboard-accessible coach marks scoped to the actual dock controls. */
|
|
15
6
|
export declare function OnboardingTour({ dockRef, steps, stepIndex, palette, labels, onNext, onPrev, onSkip, }: {
|
|
16
7
|
dockRef: RefObject<HTMLElement | null>;
|
|
17
8
|
steps: readonly TourStep[];
|
|
@@ -1,17 +1,7 @@
|
|
|
1
1
|
import { BelongThemeBrand, BelongThemePalette } from '../../types/public.ts';
|
|
2
2
|
import { WelcomeCardCopy } from '../../embed/copy.ts';
|
|
3
3
|
import { Locale } from '../../embed/locale.ts';
|
|
4
|
-
/**
|
|
5
|
-
* First-run welcome card — the single branded screen a new user sees before
|
|
6
|
-
* anything else: who the assistant is, three headline capabilities, and one
|
|
7
|
-
* choice — take the 30-second tour, or explore alone. Both paths dismiss the
|
|
8
|
-
* card; "explore alone" also marks onboarding complete (handled by the caller's
|
|
9
|
-
* `onSkip`). Presentational: it reads `brand` + `palette` and calls back, so it
|
|
10
|
-
* stories and tests without the store.
|
|
11
|
-
*
|
|
12
|
-
* Scoped to the dock (absolute inset-0 inside the dock root), so the dim
|
|
13
|
-
* backdrop never reaches the host app and the card inherits the projected theme.
|
|
14
|
-
*/
|
|
4
|
+
/** A brief, optional introduction. The dialog stays inside the dock's theme and bounds. */
|
|
15
5
|
export declare function OnboardingWelcome({ brand, palette, copy, locale, onSelectLocale, onStartTour, onSkip, }: {
|
|
16
6
|
brand: BelongThemeBrand;
|
|
17
7
|
palette: BelongThemePalette;
|
|
@@ -4,10 +4,12 @@ export type PlanPanelProps = {
|
|
|
4
4
|
/** Live chat dock width (px). The panel is offset by this so it sits
|
|
5
5
|
* immediately beside the chat rather than across the viewport. */
|
|
6
6
|
readonly chatDockWidthPx: number;
|
|
7
|
+
/** Hide the presentation while keeping the open plan and its scroll position. */
|
|
8
|
+
readonly hidden?: boolean;
|
|
7
9
|
};
|
|
8
10
|
/**
|
|
9
11
|
* The plan as a separate surface docked beside the chat dock, offset by the
|
|
10
12
|
* live dock width so the two read as one combined surface. Open state + width
|
|
11
13
|
* come from plan-panel-store; the plan itself from plan-store.
|
|
12
14
|
*/
|
|
13
|
-
export declare const PlanPanel: ({ chatSide, chatDockWidthPx }: PlanPanelProps) => import("react").JSX.Element | null;
|
|
15
|
+
export declare const PlanPanel: ({ chatSide, chatDockWidthPx, hidden }: PlanPanelProps) => import("react").JSX.Element | null;
|
|
@@ -4,6 +4,8 @@ export type PreviewPanelProps = {
|
|
|
4
4
|
/** Offset (px) from the chat side: the live chat dock width PLUS any open plan
|
|
5
5
|
* panel, so the preview sits immediately beside them (stacked, not overlapping). */
|
|
6
6
|
readonly chatDockOffsetPx: number;
|
|
7
|
+
/** Hide the presentation while retaining the selected file and scope guard. */
|
|
8
|
+
readonly hidden?: boolean;
|
|
7
9
|
};
|
|
8
10
|
/**
|
|
9
11
|
* The artifact preview as a separate surface docked beside the chat dock — the
|
|
@@ -14,4 +16,4 @@ export type PreviewPanelProps = {
|
|
|
14
16
|
* Fullscreen lifts the panel out of the docked offset to cover the whole
|
|
15
17
|
* viewport (above the dock); Escape exits fullscreen, then closes.
|
|
16
18
|
*/
|
|
17
|
-
export declare const PreviewPanel: ({ chatSide, chatDockOffsetPx }: PreviewPanelProps) => import("react").JSX.Element | null;
|
|
19
|
+
export declare const PreviewPanel: ({ chatSide, chatDockOffsetPx, hidden }: PreviewPanelProps) => import("react").JSX.Element | null;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BelongTheme } from '../../types/public.ts';
|
|
2
|
+
import { SessionSummary } from './EmbedSessions';
|
|
3
|
+
/** A view of the real line registry. Selection never remints or reassigns a
|
|
4
|
+
* session; the dock owns that boundary, including resume and unseen state. */
|
|
5
|
+
export declare function SessionSwitcher({ layout, theme, sessions, activeId, onSelect, onClose, }: {
|
|
6
|
+
layout: "dock" | "mobile" | "sidebar";
|
|
7
|
+
theme: BelongTheme;
|
|
8
|
+
sessions: readonly SessionSummary[];
|
|
9
|
+
activeId: string | null;
|
|
10
|
+
onSelect: (sessionId: string | null) => void;
|
|
11
|
+
onClose: (line: number) => void;
|
|
12
|
+
}): import("react").JSX.Element | null;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export type SubagentAvatarState = "working" | "complete" | "attention" | "idle";
|
|
2
|
+
/** A compact role symbol that stays recognizable through runtime changes.
|
|
3
|
+
* Working motion surrounds the glyph; the glyph itself remains easy to read. */
|
|
4
|
+
export declare function SubagentAvatar({ name, state, className, }: {
|
|
5
|
+
readonly name: string;
|
|
6
|
+
readonly state: SubagentAvatarState;
|
|
7
|
+
readonly className?: string;
|
|
8
|
+
}): import("react").JSX.Element;
|
|
@@ -11,6 +11,8 @@
|
|
|
11
11
|
* `flex-row-reverse` on a LEFT dock, so the pane sits right of the chat there
|
|
12
12
|
* and its separating border must flip with it.
|
|
13
13
|
*/
|
|
14
|
-
export declare const WorkspacePane: ({ chatSide }: {
|
|
14
|
+
export declare const WorkspacePane: ({ chatSide, hidden, }: {
|
|
15
15
|
readonly chatSide: "left" | "right";
|
|
16
|
+
/** Hide the presentation without discarding the selected item or its scroll position. */
|
|
17
|
+
readonly hidden?: boolean;
|
|
16
18
|
}) => import("react").JSX.Element | null;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Compact rail shared by docked and fullscreen navigation. */
|
|
2
|
+
export { RAIL_WIDTH_PX as COMPACT_SIDEBAR_WIDTH_PX } from '../../embed/dock-layout';
|
|
3
|
+
/** Width shared by the fullscreen sidebar and the adjacent artifact layout. */
|
|
4
|
+
export declare const FULLSCREEN_SIDEBAR_WIDTH_PX = 208;
|
|
5
|
+
/** Glyph size follows the agent surface; interactive targets remain independent. */
|
|
6
|
+
export declare const NAVIGATION_ICON_CLASS_NAME = "size-[var(--belong-icon-size,16px)] shrink-0 stroke-[1.75]";
|
|
7
|
+
export declare const NAVIGATION_SECONDARY_ICON_CLASS_NAME = "size-[var(--belong-icon-secondary-size,14px)] shrink-0 stroke-[1.75]";
|
|
@@ -55,15 +55,8 @@ export declare const VOICE_CALL_BUTTON_ENABLED = false;
|
|
|
55
55
|
*/
|
|
56
56
|
export declare const CONNECTORS_MOBILE_TAB_ENABLED = false;
|
|
57
57
|
/**
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
* `false` for the same capacity reason as Connectors: the bar is already a
|
|
63
|
-
* horizontal scroller. ACCEPTED PRODUCT GAP (R66): on a phone there is no
|
|
64
|
-
* surface to list, toggle, upload or download skills. The agent tools
|
|
65
|
-
* (`list_skill_library`, `set_skill_enabled`, `save_skill`) still work there.
|
|
66
|
-
* Flip to `true` once the bar is re-thought, and the tab appears with no other
|
|
67
|
-
* change.
|
|
58
|
+
* Skills are available inside the MOBILE Library selector. The bottom bar
|
|
59
|
+
* keeps four primary cells, moving Library to Tools while a goal is present.
|
|
60
|
+
* Deployment feature availability still gates both desktop and mobile.
|
|
68
61
|
*/
|
|
69
|
-
export declare const SKILLS_MOBILE_TAB_ENABLED =
|
|
62
|
+
export declare const SKILLS_MOBILE_TAB_ENABLED = true;
|
|
@@ -2,11 +2,13 @@ import { SkillSummary } from '../../api/skills.ts';
|
|
|
2
2
|
import { PrePromptSummary } from '../../api/pre-prompts.ts';
|
|
3
3
|
import { WorkspaceFile } from '../../api/workspace-files.ts';
|
|
4
4
|
import { filterSlashOptions } from '../../embed/slash-commands.ts';
|
|
5
|
+
import { LibraryComposerRequest } from '../../embed/library-composer.tsx';
|
|
5
6
|
import { MentionInputHandle } from './MentionInput';
|
|
6
7
|
/** Shared composer and schedule picker state, caret handling, and keyboard controls. */
|
|
7
|
-
export declare function usePromptInvocations({ draft, skills, prompts, workspaceFiles, onDraftChange, onMentionOpen, suggestion, filterOptions, invocationBody, idPrefix, placement, }: {
|
|
8
|
+
export declare function usePromptInvocations({ draft, skills, librarySkills, prompts, workspaceFiles, onDraftChange, onMentionOpen, suggestion, filterOptions, invocationBody, idPrefix, placement, }: {
|
|
8
9
|
draft: string;
|
|
9
10
|
skills: readonly SkillSummary[];
|
|
11
|
+
librarySkills?: readonly SkillSummary[];
|
|
10
12
|
prompts: readonly PrePromptSummary[];
|
|
11
13
|
workspaceFiles: readonly WorkspaceFile[];
|
|
12
14
|
onDraftChange: (text: string) => void;
|
|
@@ -20,6 +22,7 @@ export declare function usePromptInvocations({ draft, skills, prompts, workspace
|
|
|
20
22
|
editorRef: import('react').RefObject<MentionInputHandle | null>;
|
|
21
23
|
pickerOpen: import('react').RefObject<boolean>;
|
|
22
24
|
inputProps: Pick<{
|
|
25
|
+
style?: import('react').CSSProperties;
|
|
23
26
|
enterBehavior?: "submit" | "newline";
|
|
24
27
|
value: string;
|
|
25
28
|
palette: import('../../component').BelongThemePalette;
|
|
@@ -36,5 +39,7 @@ export declare function usePromptInvocations({ draft, skills, prompts, workspace
|
|
|
36
39
|
handleRef?: import('react').Ref<MentionInputHandle>;
|
|
37
40
|
}, "onChange" | "onKeyDown" | "ariaProps" | "onCaretChange" | "handleRef">;
|
|
38
41
|
insertSlash: () => void;
|
|
42
|
+
appendLibraryItem: (request: LibraryComposerRequest) => boolean;
|
|
43
|
+
focusLibraryItem: () => void;
|
|
39
44
|
menus: import("react").JSX.Element;
|
|
40
45
|
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { PrePromptSummary } from '../../api/pre-prompts.ts';
|
|
2
|
+
/** The library shows exactly what will be added to the message. It never
|
|
3
|
+
* interprets prompt text as Markdown or executes it from this surface. */
|
|
4
|
+
export declare function PromptPreviewDialog({ prompt, onOpenChange, onEdit, onUse, onReturnFocus, }: {
|
|
5
|
+
readonly prompt: PrePromptSummary;
|
|
6
|
+
readonly onOpenChange: (open: boolean) => void;
|
|
7
|
+
readonly onEdit: () => void;
|
|
8
|
+
readonly onUse: () => boolean;
|
|
9
|
+
readonly onReturnFocus: () => void;
|
|
10
|
+
}): import("react").JSX.Element;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Prompts list — the rail's fourth surface (BEL-259). Every prompt the user
|
|
3
|
-
* saved, searchable,
|
|
3
|
+
* saved, searchable, with a readable preview before it enters the message.
|
|
4
4
|
*
|
|
5
5
|
* PROPLESS, exactly like `ScheduledListSurface`: it reads its own server state
|
|
6
6
|
* and takes nothing from the router's outlet context. That is what makes it
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
* problem — adding a `q` parameter would be a server round-trip per keystroke
|
|
15
15
|
* for data already in the cache.
|
|
16
16
|
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
17
|
+
* Previewing never runs a prompt. The explicit Use action asks the mounted
|
|
18
|
+
* conversation to append through the same invocation and slot-selection path
|
|
19
|
+
* as `/`; editing and deletion remain separate actions.
|
|
20
20
|
*/
|
|
21
21
|
export declare const PromptsListSurface: () => import("react").JSX.Element;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/** Shared delete confirmation for a schedule (list card menu + detail menu). */
|
|
2
2
|
export declare const ConfirmDeleteScheduleDialog: (props: {
|
|
3
|
+
readonly shared?: boolean;
|
|
3
4
|
readonly open: boolean;
|
|
4
5
|
readonly onOpenChange: (open: boolean) => void;
|
|
5
6
|
readonly busy: boolean;
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import { TaskScheduleDetail } from '../../api/task-schedules.ts';
|
|
2
|
+
import { SharedSchedule } from '../../api/task-schedule-sharing.ts';
|
|
2
3
|
export type ScheduleDialogMode = {
|
|
3
4
|
readonly kind: "create";
|
|
4
5
|
} | {
|
|
5
6
|
readonly kind: "edit";
|
|
6
7
|
readonly schedule: TaskScheduleDetail;
|
|
8
|
+
} | {
|
|
9
|
+
readonly kind: "shared";
|
|
10
|
+
readonly schedule: SharedSchedule;
|
|
7
11
|
};
|
|
8
12
|
export declare const ScheduleDialog: (props: {
|
|
9
13
|
readonly open: boolean;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { TaskScheduleDetail, TaskScheduleRun } from '../../api/task-schedules.ts';
|
|
2
2
|
export declare const EmailNotificationIndicator: (props: {
|
|
3
3
|
readonly notification: TaskScheduleDetail["notification"];
|
|
4
|
+
readonly shared?: boolean;
|
|
4
5
|
}) => import("react").JSX.Element;
|
|
5
6
|
export declare const MicrosoftTeamsDeliveryIndicator: (props: {
|
|
6
7
|
readonly delivery: NonNullable<TaskScheduleDetail["microsoftTeamsDelivery"]>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Scheduled list: searchable, filterable (All / Upcoming / Completed) cards of
|
|
3
3
|
* the user's schedule definitions. A card navigates to the detail view; its
|
|
4
|
-
* overflow menu offers Run now / Delete in place. Internal UUIDs never appear
|
|
4
|
+
* overflow menu offers Share / Run now / Delete in place. Internal UUIDs never appear
|
|
5
5
|
* in copy (they live only in the memory-router path).
|
|
6
6
|
*/
|
|
7
7
|
export declare const ScheduledListSurface: () => import("react").JSX.Element;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare const ShareScheduleDialog: (props: {
|
|
2
|
+
readonly definitionId: string;
|
|
3
|
+
readonly title: string;
|
|
4
|
+
readonly onClose: () => void;
|
|
5
|
+
}) => import("react").JSX.Element;
|
|
6
|
+
export declare const ShareScheduleButton: (props: {
|
|
7
|
+
readonly seriesId: string;
|
|
8
|
+
readonly definitionId?: string;
|
|
9
|
+
readonly title: string;
|
|
10
|
+
}) => import("react").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const SharedSchedulesSurface: () => import("react").JSX.Element;
|
|
@@ -12,5 +12,8 @@ export type ScheduleDialogInputs = {
|
|
|
12
12
|
* control keeps its value while the user toggles kinds. */
|
|
13
13
|
readonly intervalMinutes: number;
|
|
14
14
|
};
|
|
15
|
-
export
|
|
16
|
-
|
|
15
|
+
export type ScheduleEditorValue = Pick<TaskScheduleDetail, "explicitTitle" | "message" | "anchorAt" | "timezone" | "recurrence"> & {
|
|
16
|
+
readonly nextRunAt?: string | null;
|
|
17
|
+
};
|
|
18
|
+
export declare const scheduleDialogInputs: (schedule: ScheduleEditorValue) => ScheduleDialogInputs;
|
|
19
|
+
export declare const scheduleTimeShapeChanged: (schedule: ScheduleEditorValue, input: Pick<ScheduleDialogInputs, "date" | "time" | "timezone" | "recurrence" | "intervalMinutes">) => boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function SkillDiscover(): import("react").JSX.Element;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Skills — the rail surface for the user's OWN skill library in the current
|
|
3
3
|
* workspace (skill library spec §11.3): what they uploaded, or asked the
|
|
4
|
-
* assistant to save.
|
|
4
|
+
* assistant to save. Discover is a separate read-only catalog of available
|
|
5
|
+
* company skills; only the personal library exposes mutations (D3).
|
|
5
6
|
*
|
|
6
7
|
* PROPLESS, like `PromptsListSurface` and `ConnectorsListSurface`: it reads its
|
|
7
8
|
* own server state, so a route, a test and a story mount it the same way, and a
|
|
@@ -23,4 +24,6 @@
|
|
|
23
24
|
* red is the delete dialog's confirm button, and a refused upload inside the
|
|
24
25
|
* upload dialog. No search in v1 (at most 50 skills per workspace; spec §17).
|
|
25
26
|
*/
|
|
26
|
-
export declare const SkillsListSurface: (
|
|
27
|
+
export declare const SkillsListSurface: ({ initialView, }: {
|
|
28
|
+
readonly initialView?: "discover" | "library";
|
|
29
|
+
}) => import("react").JSX.Element;
|
|
@@ -6,4 +6,4 @@ declare function CardDescription({ className, ...props }: React.ComponentProps<"
|
|
|
6
6
|
declare function CardAction({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
7
7
|
declare function CardContent({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
8
8
|
declare function CardFooter({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
9
|
-
export { Card, CardHeader, CardFooter, CardTitle, CardAction, CardDescription, CardContent
|
|
9
|
+
export { Card, CardHeader, CardFooter, CardTitle, CardAction, CardDescription, CardContent };
|
|
@@ -5,7 +5,7 @@ declare function DialogTrigger({ ...props }: React.ComponentProps<typeof DialogP
|
|
|
5
5
|
declare function DialogPortal({ container, ...props }: React.ComponentProps<typeof DialogPrimitive.Portal>): React.JSX.Element;
|
|
6
6
|
declare function DialogClose({ ...props }: React.ComponentProps<typeof DialogPrimitive.Close>): React.JSX.Element;
|
|
7
7
|
declare function DialogOverlay({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Overlay>): React.JSX.Element;
|
|
8
|
-
declare function DialogContent({ className, children, showCloseButton, ...props }: React.ComponentProps<typeof DialogPrimitive.Content> & {
|
|
8
|
+
declare function DialogContent({ className, style, children, showCloseButton, ...props }: React.ComponentProps<typeof DialogPrimitive.Content> & {
|
|
9
9
|
showCloseButton?: boolean;
|
|
10
10
|
}): React.JSX.Element;
|
|
11
11
|
declare function DialogHeader({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
@@ -3,7 +3,7 @@ import * as React from "react";
|
|
|
3
3
|
declare function DropdownMenu({ modal, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Root>): React.JSX.Element;
|
|
4
4
|
declare function DropdownMenuPortal({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>): React.JSX.Element;
|
|
5
5
|
declare function DropdownMenuTrigger({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>): React.JSX.Element;
|
|
6
|
-
declare function DropdownMenuContent({ className, sideOffset, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Content>): React.JSX.Element;
|
|
6
|
+
declare function DropdownMenuContent({ className, style, sideOffset, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Content>): React.JSX.Element;
|
|
7
7
|
declare function DropdownMenuGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Group>): React.JSX.Element;
|
|
8
8
|
declare function DropdownMenuItem({ className, inset, variant, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {
|
|
9
9
|
inset?: boolean;
|
|
@@ -21,5 +21,5 @@ declare function DropdownMenuSub({ ...props }: React.ComponentProps<typeof Dropd
|
|
|
21
21
|
declare function DropdownMenuSubTrigger({ className, inset, children, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {
|
|
22
22
|
inset?: boolean;
|
|
23
23
|
}): React.JSX.Element;
|
|
24
|
-
declare function DropdownMenuSubContent({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>): React.JSX.Element;
|
|
24
|
+
declare function DropdownMenuSubContent({ className, style, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>): React.JSX.Element;
|
|
25
25
|
export { DropdownMenu, DropdownMenuPortal, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuGroup, DropdownMenuLabel, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubTrigger, DropdownMenuSubContent, };
|
|
@@ -2,5 +2,5 @@ import { HoverCard as HoverCardPrimitive } from 'radix-ui';
|
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
declare function HoverCard({ ...props }: React.ComponentProps<typeof HoverCardPrimitive.Root>): React.JSX.Element;
|
|
4
4
|
declare function HoverCardTrigger({ ...props }: React.ComponentProps<typeof HoverCardPrimitive.Trigger>): React.JSX.Element;
|
|
5
|
-
declare function HoverCardContent({ className, align, sideOffset, ...props }: React.ComponentProps<typeof HoverCardPrimitive.Content>): React.JSX.Element;
|
|
5
|
+
declare function HoverCardContent({ className, style, align, sideOffset, ...props }: React.ComponentProps<typeof HoverCardPrimitive.Content>): React.JSX.Element;
|
|
6
6
|
export { HoverCard, HoverCardTrigger, HoverCardContent };
|
|
@@ -2,7 +2,7 @@ import { Popover as PopoverPrimitive } from 'radix-ui';
|
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
declare function Popover({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Root>): React.JSX.Element;
|
|
4
4
|
declare function PopoverTrigger({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Trigger>): React.JSX.Element;
|
|
5
|
-
declare function PopoverContent({ className, align, sideOffset, ...props }: React.ComponentProps<typeof PopoverPrimitive.Content>): React.JSX.Element;
|
|
5
|
+
declare function PopoverContent({ className, style, align, sideOffset, ...props }: React.ComponentProps<typeof PopoverPrimitive.Content>): React.JSX.Element;
|
|
6
6
|
declare function PopoverAnchor({ ...props }: React.ComponentProps<typeof PopoverPrimitive.Anchor>): React.JSX.Element;
|
|
7
7
|
declare function PopoverHeader({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
8
8
|
declare function PopoverTitle({ className, ...props }: React.ComponentProps<"h2">): React.JSX.Element;
|
|
@@ -6,7 +6,7 @@ declare function SelectValue({ ...props }: React.ComponentProps<typeof SelectPri
|
|
|
6
6
|
declare function SelectTrigger({ className, size, children, ...props }: React.ComponentProps<typeof SelectPrimitive.Trigger> & {
|
|
7
7
|
size?: "sm" | "default";
|
|
8
8
|
}): React.JSX.Element;
|
|
9
|
-
declare function SelectContent({ className, children, position, align, ...props }: React.ComponentProps<typeof SelectPrimitive.Content>): React.JSX.Element;
|
|
9
|
+
declare function SelectContent({ className, style, children, position, align, ...props }: React.ComponentProps<typeof SelectPrimitive.Content>): React.JSX.Element;
|
|
10
10
|
declare function SelectLabel({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Label>): React.JSX.Element;
|
|
11
11
|
declare function SelectItem({ className, children, ...props }: React.ComponentProps<typeof SelectPrimitive.Item>): React.JSX.Element;
|
|
12
12
|
declare function SelectSeparator({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Separator>): React.JSX.Element;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { KeyboardEvent } from 'react';
|
|
2
|
+
/** Radix's focus loop reads document.activeElement, which is the embed host
|
|
3
|
+
* inside Shadow DOM. Use the actual focused control at the modal's Tab edges.
|
|
4
|
+
*/
|
|
5
|
+
export declare const loopShadowDialogFocus: (event: KeyboardEvent<HTMLDivElement>) => void;
|
|
@@ -3,5 +3,5 @@ import * as React from "react";
|
|
|
3
3
|
declare function TooltipProvider({ delayDuration, ...props }: React.ComponentProps<typeof TooltipPrimitive.Provider>): React.JSX.Element;
|
|
4
4
|
declare function Tooltip({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Root>): React.JSX.Element;
|
|
5
5
|
declare function TooltipTrigger({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Trigger>): React.JSX.Element;
|
|
6
|
-
declare function TooltipContent({ className, sideOffset, children, ...props }: React.ComponentProps<typeof TooltipPrimitive.Content>): React.JSX.Element;
|
|
6
|
+
declare function TooltipContent({ className, style, sideOffset, children, ...props }: React.ComponentProps<typeof TooltipPrimitive.Content>): React.JSX.Element;
|
|
7
7
|
export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };
|