@gntik-ai/templates 0.0.0-stage → 0.6.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/dist/index.d.ts +2420 -0
- package/dist/index.js +14520 -0
- package/dist/index.js.map +1 -0
- package/package.json +64 -3
- package/src/accept-invitation/Page.test.tsx +40 -0
- package/src/accept-invitation/Page.tsx +153 -0
- package/src/accept-invitation/data.ts +22 -0
- package/src/accept-invitation/template.meta.ts +12 -0
- package/src/assistant-chat/Page.test.tsx +51 -0
- package/src/assistant-chat/Page.tsx +273 -0
- package/src/assistant-chat/data.ts +71 -0
- package/src/assistant-chat/template.meta.ts +12 -0
- package/src/audit-log/Page.test.tsx +58 -0
- package/src/audit-log/Page.tsx +284 -0
- package/src/audit-log/data.ts +133 -0
- package/src/audit-log/template.meta.ts +12 -0
- package/src/board/Lane.tsx +117 -0
- package/src/board/Page.test.tsx +68 -0
- package/src/board/Page.tsx +178 -0
- package/src/board/data.ts +127 -0
- package/src/board/template.meta.ts +12 -0
- package/src/board/useBoard.ts +146 -0
- package/src/changelog/Page.test.tsx +31 -0
- package/src/changelog/Page.tsx +174 -0
- package/src/changelog/data.ts +105 -0
- package/src/changelog/template.meta.ts +12 -0
- package/src/code-editor/Page.test.tsx +83 -0
- package/src/code-editor/Page.tsx +207 -0
- package/src/code-editor/data.ts +130 -0
- package/src/code-editor/template.meta.ts +12 -0
- package/src/contact/Page.test.tsx +33 -0
- package/src/contact/Page.tsx +272 -0
- package/src/contact/PublicFrame.tsx +84 -0
- package/src/contact/data.ts +129 -0
- package/src/contact/template.meta.ts +12 -0
- package/src/create-wizard/Overlay.test.tsx +68 -0
- package/src/create-wizard/Page.test.tsx +57 -0
- package/src/create-wizard/Page.tsx +246 -0
- package/src/create-wizard/data.ts +139 -0
- package/src/create-wizard/examples/Overlay.tsx +60 -0
- package/src/create-wizard/template.meta.ts +12 -0
- package/src/create-workspace/Page.test.tsx +41 -0
- package/src/create-workspace/Page.tsx +227 -0
- package/src/create-workspace/data.ts +61 -0
- package/src/create-workspace/template.meta.ts +12 -0
- package/src/data-explorer/Page.test.tsx +45 -0
- package/src/data-explorer/Page.tsx +247 -0
- package/src/data-explorer/data.ts +94 -0
- package/src/data-explorer/template.meta.ts +12 -0
- package/src/docs-article/ArticleFeedback.tsx +75 -0
- package/src/docs-article/Page.test.tsx +34 -0
- package/src/docs-article/Page.tsx +200 -0
- package/src/docs-article/data.ts +65 -0
- package/src/docs-article/template.meta.ts +12 -0
- package/src/evaluations/Page.test.tsx +40 -0
- package/src/evaluations/Page.tsx +238 -0
- package/src/evaluations/data.ts +194 -0
- package/src/evaluations/template.meta.ts +12 -0
- package/src/forgot-password/Page.test.tsx +199 -0
- package/src/forgot-password/Page.tsx +66 -0
- package/src/forgot-password/data.ts +5 -0
- package/src/forgot-password/examples/UsernameOrEmail.tsx +25 -0
- package/src/forgot-password/template.meta.ts +12 -0
- package/src/getting-started/Page.test.tsx +27 -0
- package/src/getting-started/Page.tsx +125 -0
- package/src/getting-started/data.ts +67 -0
- package/src/getting-started/template.meta.ts +12 -0
- package/src/help-home/Page.test.tsx +33 -0
- package/src/help-home/Page.tsx +159 -0
- package/src/help-home/data.ts +151 -0
- package/src/help-home/template.meta.ts +12 -0
- package/src/home-dashboard/Page.test.tsx +57 -0
- package/src/home-dashboard/Page.tsx +152 -0
- package/src/home-dashboard/data.ts +66 -0
- package/src/home-dashboard/template.meta.ts +12 -0
- package/src/incident-board/Page.test.tsx +77 -0
- package/src/incident-board/Page.tsx +263 -0
- package/src/incident-board/data.ts +220 -0
- package/src/incident-board/template.meta.ts +12 -0
- package/src/incident-console/Page.test.tsx +49 -0
- package/src/incident-console/Page.tsx +274 -0
- package/src/incident-console/data.ts +176 -0
- package/src/incident-console/template.meta.ts +12 -0
- package/src/index.ts +250 -0
- package/src/keyboard-shortcuts/Page.test.tsx +45 -0
- package/src/keyboard-shortcuts/Page.tsx +94 -0
- package/src/keyboard-shortcuts/ShortcutSheet.tsx +80 -0
- package/src/keyboard-shortcuts/data.ts +84 -0
- package/src/keyboard-shortcuts/template.meta.ts +12 -0
- package/src/landing/Page.test.tsx +27 -0
- package/src/landing/Page.tsx +110 -0
- package/src/landing/data.ts +17 -0
- package/src/landing/template.meta.ts +11 -0
- package/src/live-event-stream/Page.test.tsx +251 -0
- package/src/live-event-stream/Page.tsx +307 -0
- package/src/live-event-stream/data.ts +44 -0
- package/src/live-event-stream/examples/Connecting.tsx +5 -0
- package/src/live-event-stream/examples/Error.tsx +5 -0
- package/src/live-event-stream/examples/LiveEmpty.tsx +5 -0
- package/src/live-event-stream/examples/LiveWithEvents.tsx +6 -0
- package/src/live-event-stream/examples/Stopped.tsx +6 -0
- package/src/live-event-stream/template.meta.ts +74 -0
- package/src/messaging/Page.test.tsx +34 -0
- package/src/messaging/Page.tsx +236 -0
- package/src/messaging/data.ts +118 -0
- package/src/messaging/template.meta.ts +12 -0
- package/src/meta.ts +24 -0
- package/src/mfa/Page.test.tsx +22 -0
- package/src/mfa/Page.tsx +45 -0
- package/src/mfa/data.ts +6 -0
- package/src/mfa/template.meta.ts +12 -0
- package/src/model-providers/Page.test.tsx +58 -0
- package/src/model-providers/Page.tsx +198 -0
- package/src/model-providers/data.ts +101 -0
- package/src/model-providers/template.meta.ts +12 -0
- package/src/notification-inbox/Page.test.tsx +49 -0
- package/src/notification-inbox/Page.tsx +237 -0
- package/src/notification-inbox/data.ts +129 -0
- package/src/notification-inbox/template.meta.ts +12 -0
- package/src/pending-activation/Page.test.tsx +390 -0
- package/src/pending-activation/Page.tsx +145 -0
- package/src/pending-activation/data.ts +25 -0
- package/src/pending-activation/template.meta.ts +12 -0
- package/src/pricing/ComparisonTable.tsx +75 -0
- package/src/pricing/Page.test.tsx +29 -0
- package/src/pricing/Page.tsx +83 -0
- package/src/pricing/PublicFrame.tsx +84 -0
- package/src/pricing/data.ts +104 -0
- package/src/pricing/template.meta.ts +12 -0
- package/src/prompt-playground/Page.test.tsx +72 -0
- package/src/prompt-playground/Page.tsx +254 -0
- package/src/prompt-playground/data.ts +68 -0
- package/src/prompt-playground/template.meta.ts +12 -0
- package/src/public-hub/Page.test.tsx +176 -0
- package/src/public-hub/Page.tsx +125 -0
- package/src/public-hub/Source.test.ts +54 -0
- package/src/public-hub/data.ts +24 -0
- package/src/public-hub/examples/Dark.tsx +11 -0
- package/src/public-hub/examples/Full.tsx +6 -0
- package/src/public-hub/examples/HighContrast.tsx +11 -0
- package/src/public-hub/examples/Light.tsx +11 -0
- package/src/public-hub/examples/Loading.tsx +6 -0
- package/src/public-hub/examples/Minimal.tsx +5 -0
- package/src/public-hub/examples/MinimalLoading.tsx +5 -0
- package/src/public-hub/template.meta.ts +60 -0
- package/src/reset-password/Page.test.tsx +27 -0
- package/src/reset-password/Page.tsx +46 -0
- package/src/reset-password/data.ts +5 -0
- package/src/reset-password/template.meta.ts +12 -0
- package/src/resource-detail/Page.test.tsx +260 -0
- package/src/resource-detail/Page.tsx +262 -0
- package/src/resource-detail/data.ts +55 -0
- package/src/resource-detail/examples/postgres-table-detail.tsx +28 -0
- package/src/resource-detail/examples/realtime-configuration.tsx +26 -0
- package/src/resource-detail/examples/runtime-with-transition.tsx +30 -0
- package/src/resource-detail/examples/runtime-without-transition.tsx +33 -0
- package/src/resource-detail/examples/shell.ts +12 -0
- package/src/resource-detail/template.meta.ts +21 -0
- package/src/resource-form/Page.test.tsx +40 -0
- package/src/resource-form/Page.tsx +186 -0
- package/src/resource-form/data.ts +63 -0
- package/src/resource-form/template.meta.ts +12 -0
- package/src/resource-gallery/Page.test.tsx +42 -0
- package/src/resource-gallery/Page.tsx +125 -0
- package/src/resource-gallery/data.ts +44 -0
- package/src/resource-gallery/template.meta.ts +20 -0
- package/src/resource-index/Page.test.tsx +120 -0
- package/src/resource-index/Page.tsx +216 -0
- package/src/resource-index/data.ts +84 -0
- package/src/resource-index/template.meta.ts +21 -0
- package/src/resource-tree/Page.test.tsx +31 -0
- package/src/resource-tree/Page.tsx +232 -0
- package/src/resource-tree/data.ts +180 -0
- package/src/resource-tree/template.meta.ts +12 -0
- package/src/run-trace/Page.test.tsx +56 -0
- package/src/run-trace/Page.tsx +242 -0
- package/src/run-trace/data.ts +171 -0
- package/src/run-trace/template.meta.ts +12 -0
- package/src/scorecard/Page.test.tsx +38 -0
- package/src/scorecard/Page.tsx +160 -0
- package/src/scorecard/TargetsTable.tsx +92 -0
- package/src/scorecard/data.ts +118 -0
- package/src/scorecard/template.meta.ts +12 -0
- package/src/search-results/Page.test.tsx +43 -0
- package/src/search-results/Page.tsx +243 -0
- package/src/search-results/data.ts +130 -0
- package/src/search-results/template.meta.ts +12 -0
- package/src/settings-api-keys/Page.test.tsx +39 -0
- package/src/settings-api-keys/Page.tsx +171 -0
- package/src/settings-api-keys/data.ts +58 -0
- package/src/settings-api-keys/template.meta.ts +12 -0
- package/src/settings-appearance/Page.test.tsx +44 -0
- package/src/settings-appearance/Page.tsx +92 -0
- package/src/settings-appearance/data.ts +21 -0
- package/src/settings-appearance/template.meta.ts +11 -0
- package/src/settings-billing/Page.test.tsx +31 -0
- package/src/settings-billing/Page.tsx +71 -0
- package/src/settings-billing/data.ts +15 -0
- package/src/settings-billing/template.meta.ts +19 -0
- package/src/settings-integrations/Page.test.tsx +31 -0
- package/src/settings-integrations/Page.tsx +185 -0
- package/src/settings-integrations/data.ts +116 -0
- package/src/settings-integrations/template.meta.ts +11 -0
- package/src/settings-members/Page.test.tsx +32 -0
- package/src/settings-members/Page.tsx +140 -0
- package/src/settings-members/data.ts +28 -0
- package/src/settings-members/template.meta.ts +12 -0
- package/src/settings-notifications/Page.test.tsx +31 -0
- package/src/settings-notifications/Page.tsx +71 -0
- package/src/settings-notifications/data.ts +12 -0
- package/src/settings-notifications/template.meta.ts +11 -0
- package/src/settings-profile/Baseline.test.tsx +9 -0
- package/src/settings-profile/Editable.test.tsx +21 -0
- package/src/settings-profile/Page.test.tsx +41 -0
- package/src/settings-profile/Page.tsx +133 -0
- package/src/settings-profile/ReadOnly.test.tsx +143 -0
- package/src/settings-profile/ReadOnlyProfile.tsx +85 -0
- package/src/settings-profile/SettingsFrame.test.tsx +55 -0
- package/src/settings-profile/SettingsFrame.tsx +88 -0
- package/src/settings-profile/__tests__/dom.ts +8 -0
- package/src/settings-profile/data.ts +41 -0
- package/src/settings-profile/examples/ReadOnly.tsx +31 -0
- package/src/settings-profile/fixtures/editable.snap +1 -0
- package/src/settings-profile/settings-nav.ts +98 -0
- package/src/settings-profile/template.meta.ts +21 -0
- package/src/settings-security/MfaSetupDialog.tsx +96 -0
- package/src/settings-security/Page.test.tsx +44 -0
- package/src/settings-security/Page.tsx +158 -0
- package/src/settings-security/data.ts +11 -0
- package/src/settings-security/template.meta.ts +11 -0
- package/src/settings-workspace/Page.test.tsx +44 -0
- package/src/settings-workspace/Page.tsx +120 -0
- package/src/settings-workspace/data.ts +44 -0
- package/src/settings-workspace/template.meta.ts +19 -0
- package/src/shared/ConsoleShell.test.tsx +81 -0
- package/src/shared/ConsoleShell.tsx +98 -0
- package/src/shell-sidebar/Page.test.tsx +21 -0
- package/src/shell-sidebar/Page.tsx +85 -0
- package/src/shell-sidebar/data.ts +24 -0
- package/src/shell-sidebar/template.meta.ts +12 -0
- package/src/shell-topnav/Page.test.tsx +25 -0
- package/src/shell-topnav/Page.tsx +94 -0
- package/src/shell-topnav/data.ts +25 -0
- package/src/shell-topnav/template.meta.ts +12 -0
- package/src/sign-in/BrandPanel.tsx +34 -0
- package/src/sign-in/Page.test.tsx +41 -0
- package/src/sign-in/Page.tsx +73 -0
- package/src/sign-in/data.ts +11 -0
- package/src/sign-in/template.meta.ts +12 -0
- package/src/sign-in-card/Page.test.tsx +182 -0
- package/src/sign-in-card/Page.tsx +82 -0
- package/src/sign-in-card/data.ts +8 -0
- package/src/sign-in-card/examples/Username.tsx +28 -0
- package/src/sign-in-card/template.meta.ts +12 -0
- package/src/sign-up/Page.test.tsx +33 -0
- package/src/sign-up/Page.tsx +70 -0
- package/src/sign-up/data.ts +15 -0
- package/src/sign-up/template.meta.ts +12 -0
- package/src/sso-login/Page.test.tsx +41 -0
- package/src/sso-login/Page.tsx +151 -0
- package/src/sso-login/data.ts +10 -0
- package/src/sso-login/template.meta.ts +12 -0
- package/src/status-403/Page.test.tsx +23 -0
- package/src/status-403/Page.tsx +92 -0
- package/src/status-403/data.ts +13 -0
- package/src/status-403/template.meta.ts +12 -0
- package/src/status-404/Page.test.tsx +23 -0
- package/src/status-404/Page.tsx +60 -0
- package/src/status-404/PageHeading.test.tsx +52 -0
- package/src/status-404/data.ts +12 -0
- package/src/status-404/examples/PageHeader.tsx +28 -0
- package/src/status-404/template.meta.ts +12 -0
- package/src/status-500/Page.test.tsx +24 -0
- package/src/status-500/Page.tsx +70 -0
- package/src/status-500/data.ts +20 -0
- package/src/status-500/template.meta.ts +12 -0
- package/src/status-maintenance/Page.test.tsx +24 -0
- package/src/status-maintenance/Page.tsx +84 -0
- package/src/status-maintenance/data.ts +14 -0
- package/src/status-maintenance/template.meta.ts +12 -0
- package/src/styles.css +11 -0
- package/src/test/a11y.ts +18 -0
- package/src/test/setup.ts +36 -0
- package/src/upgrade-required/Page.test.tsx +28 -0
- package/src/upgrade-required/Page.tsx +79 -0
- package/src/upgrade-required/data.ts +19 -0
- package/src/upgrade-required/template.meta.ts +12 -0
- package/src/usage-analytics/Page.test.tsx +83 -0
- package/src/usage-analytics/Page.tsx +184 -0
- package/src/usage-analytics/data.ts +161 -0
- package/src/usage-analytics/template.meta.ts +21 -0
- package/src/verify-email/Page.test.tsx +32 -0
- package/src/verify-email/Page.tsx +118 -0
- package/src/verify-email/data.ts +7 -0
- package/src/verify-email/template.meta.ts +12 -0
- package/src/workflow-builder/Page.test.tsx +97 -0
- package/src/workflow-builder/Page.tsx +163 -0
- package/src/workflow-builder/data.ts +13 -0
- package/src/workflow-builder/template.meta.ts +12 -0
- package/README.md +0 -3
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,2420 @@
|
|
|
1
|
+
|
|
2
|
+
import { ActiveFilter, ActivityItem, ApiKeyExpiry, ApiKeyScope, AppSidebarFooterProps, AppSidebarHeaderProps, AppTopbarProps, BillingCycle, BillingPlan, ChartCardProps, ChartCardRange, CodeFile, CodePanelProps, CodeProblem, CommentAuthor, ConsoleEntry, CostPoint, CreateApiKeyInput, DangerZoneAction, DataTableColumn, DeploymentRow, DescriptionItem, DeviceSession, EvalMetric, EvalRow, FaqItem, Feature, FeedbackAction, FilterField, FlowBuilderProps, FlowEdge, FlowNode, FlowNodeKind, ForgotPasswordFormProps, Invitation as Invitation$1, InvitePayload, Invoice, KpiItem, LogLine, MarketingAction, Member, MfaMethod, ModelKey, NotificationChannel, NotificationEvent, NotificationMatrixValue, PageChromeAction, PageHeaderMetaItem, PaletteItem, PaymentMethod, PricingCycle, PricingTier, Profile, PromptRunInput, Quota, ResourceAction, ResourceCard, RoleOption, SavedView, SignInFormProps, SignInValues, SignUpValues, SsoProvider, StatusEvent, ThreadComment, TokenUsagePeriod, TraceSpan } from "@gntik-ai/blocks";
|
|
3
|
+
import { BreadcrumbItem, DateRange, KanbanCard, KanbanColumn, KanbanMove, ListInputPair, MegaMenuItem, NavGroup, NavItem, NotificationItem, OutlineItem, PowerSearchField, PowerSearchQuery, SettingsLayoutProps, SidebarLayoutProps, StatusDotTone, StepItem, TransferListItem, UserMenuUser, WizardLayoutProps, Workspace } from "@gntik-ai/ui";
|
|
4
|
+
import { MouseEventHandler, ReactElement, ReactNode } from "react";
|
|
5
|
+
import { ChatFeedback, CitationSource, Suggestion } from "@gntik-ai/chat";
|
|
6
|
+
import { LucideIcon } from "@gntik-ai/icons";
|
|
7
|
+
import { MonacoLoader } from "@gntik-ai/editor";
|
|
8
|
+
//#region src/meta.d.ts
|
|
9
|
+
/** Metadata contract for a page template: packages/templates/src/<id>/template.meta.ts. */
|
|
10
|
+
interface TemplateMeta {
|
|
11
|
+
/** Display name, e.g. "Home dashboard". */
|
|
12
|
+
name: string;
|
|
13
|
+
family: 'Shells' | 'Auth' | 'Onboarding' | 'Overview' | 'Resources' | 'Work' | 'Settings' | 'System' | 'AI' | 'Builders' | 'Help';
|
|
14
|
+
priority: 'P1' | 'P2' | 'P3';
|
|
15
|
+
status: 'stable' | 'beta' | 'experimental';
|
|
16
|
+
description: string;
|
|
17
|
+
/** Layout it is built on, e.g. "SidebarLayout". */
|
|
18
|
+
layout: string;
|
|
19
|
+
/** Blocks it composes (ids from kit-registry.json). */
|
|
20
|
+
blocks: string[];
|
|
21
|
+
}
|
|
22
|
+
//#endregion
|
|
23
|
+
//#region src/shared/ConsoleShell.d.ts
|
|
24
|
+
interface ConsoleShellProps extends Pick<AppSidebarHeaderProps, 'currentWorkspaceId' | 'onWorkspaceChange' | 'onCreateWorkspace'>, Pick<AppSidebarFooterProps, 'usage' | 'helpHref' | 'helpLabel' | 'userMenuItems' | 'onSignOut'>, Pick<SidebarLayoutProps, 'sidebarLabel' | 'collapseMode'> {
|
|
25
|
+
/** Page content (usually a <Page>). */
|
|
26
|
+
children: ReactNode;
|
|
27
|
+
/** Sidebar navigation; defaults to the AppSidebar sample groups. */
|
|
28
|
+
nav?: NavGroup[];
|
|
29
|
+
/** Href of the current page, marks the active nav item. */
|
|
30
|
+
currentHref?: string;
|
|
31
|
+
breadcrumbs?: BreadcrumbItem[] | null;
|
|
32
|
+
workspaces?: Workspace[] | null;
|
|
33
|
+
user?: UserMenuUser | null;
|
|
34
|
+
/** Extra AppTopbar props (environment, notifications, theme control…). */
|
|
35
|
+
topbar?: Omit<AppTopbarProps, 'breadcrumbs' | 'user'>;
|
|
36
|
+
/** localStorage key for the collapsed sidebar; `undefined` disables persistence. */
|
|
37
|
+
storageKey?: string;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* The console frame shared by the templates: SidebarLayout with the AppSidebar header, nav and
|
|
41
|
+
* footer, and the AppTopbar (breadcrumb, ⌘K search, notifications, theme, user menu).
|
|
42
|
+
* Templates fill it with a Page; products swap the nav, workspaces, user, usage meter, help
|
|
43
|
+
* link and user-menu items.
|
|
44
|
+
*/
|
|
45
|
+
export declare function ConsoleShell({ children, nav, currentHref, breadcrumbs, workspaces, currentWorkspaceId, onWorkspaceChange, onCreateWorkspace, user, usage, helpHref, helpLabel, userMenuItems, onSignOut, topbar, storageKey, sidebarLabel, collapseMode }: ConsoleShellProps): import("react").JSX.Element;
|
|
46
|
+
//#endregion
|
|
47
|
+
//#region src/accept-invitation/data.d.ts
|
|
48
|
+
/** Sample invitation: who invited whom, to which workspace and with what role. */
|
|
49
|
+
interface Invitation {
|
|
50
|
+
workspace: string;
|
|
51
|
+
role: string;
|
|
52
|
+
/** What the role can do, in one line. */
|
|
53
|
+
roleDescription: string;
|
|
54
|
+
memberCount: number;
|
|
55
|
+
inviter: {
|
|
56
|
+
name: string;
|
|
57
|
+
email: string;
|
|
58
|
+
avatarUrl?: string;
|
|
59
|
+
};
|
|
60
|
+
/** Signed-in (or invited) email. */
|
|
61
|
+
inviteeEmail: string;
|
|
62
|
+
expiresIn: string;
|
|
63
|
+
}
|
|
64
|
+
//#endregion
|
|
65
|
+
//#region src/accept-invitation/Page.d.ts
|
|
66
|
+
interface AcceptInvitationPageProps {
|
|
67
|
+
invitation: Invitation;
|
|
68
|
+
/** Joins the workspace. A returned promise shows the loading state; a rejection shows in the alert. */
|
|
69
|
+
onAccept: () => void | Promise<void>;
|
|
70
|
+
/** Declines the invitation. */
|
|
71
|
+
onDecline: () => void | Promise<void>;
|
|
72
|
+
/** From the joined state. */
|
|
73
|
+
onOpenWorkspace: () => void;
|
|
74
|
+
switchAccountHref: string;
|
|
75
|
+
logo: ReactNode;
|
|
76
|
+
}
|
|
77
|
+
/** Card invitation: inviter, workspace, role → Join / Decline. */
|
|
78
|
+
declare function AcceptInvitationPage({ invitation, onAccept, onDecline, onOpenWorkspace, switchAccountHref, logo }: Partial<AcceptInvitationPageProps>): import("react").JSX.Element;
|
|
79
|
+
//#endregion
|
|
80
|
+
//#region src/accept-invitation/template.meta.d.ts
|
|
81
|
+
declare const meta: TemplateMeta;
|
|
82
|
+
//#endregion
|
|
83
|
+
//#region src/assistant-chat/data.d.ts
|
|
84
|
+
/** Mock tool call the assistant runs before answering. */
|
|
85
|
+
interface AssistantTool {
|
|
86
|
+
name: string;
|
|
87
|
+
args: unknown;
|
|
88
|
+
result: unknown;
|
|
89
|
+
durationMs: number;
|
|
90
|
+
}
|
|
91
|
+
//#endregion
|
|
92
|
+
//#region src/assistant-chat/Page.d.ts
|
|
93
|
+
interface AssistantChatProps {
|
|
94
|
+
title: string;
|
|
95
|
+
suggestions: Suggestion[];
|
|
96
|
+
/** Sources cited under the reply and listed in the details panel. */
|
|
97
|
+
sources: CitationSource[];
|
|
98
|
+
/** Mock tool call run before each reply. */
|
|
99
|
+
tool: AssistantTool;
|
|
100
|
+
/** Mock reply (markdown), streamed in chunks. */
|
|
101
|
+
reply: string;
|
|
102
|
+
/** Milliseconds between streamed chunks. */
|
|
103
|
+
tickMs: number;
|
|
104
|
+
/** Show the details panel. */
|
|
105
|
+
withPanel: boolean;
|
|
106
|
+
/** Called with each prompt the user sends. */
|
|
107
|
+
onSend: (text: string) => void;
|
|
108
|
+
onFeedback: (feedback: ChatFeedback) => void;
|
|
109
|
+
breadcrumbs: BreadcrumbItem[];
|
|
110
|
+
currentHref: string;
|
|
111
|
+
/** ConsoleShell props (app nav, user, workspaces, sidebar footer, topbar…). */
|
|
112
|
+
shell: Omit<ConsoleShellProps, 'children'>;
|
|
113
|
+
}
|
|
114
|
+
/** Assistant chat: ConsoleShell + Page + ChatLayout with a mock-streamed reply (timers cleared on Stop and unmount). */
|
|
115
|
+
declare function AssistantChatPage(props: Partial<AssistantChatProps>): import("react").JSX.Element;
|
|
116
|
+
//#endregion
|
|
117
|
+
//#region src/assistant-chat/template.meta.d.ts
|
|
118
|
+
declare const meta$1: TemplateMeta;
|
|
119
|
+
//#endregion
|
|
120
|
+
//#region src/audit-log/data.d.ts
|
|
121
|
+
type AuditResult = 'succeeded' | 'failed' | 'denied';
|
|
122
|
+
interface AuditEvent {
|
|
123
|
+
id: string;
|
|
124
|
+
at: Date;
|
|
125
|
+
actor: {
|
|
126
|
+
name: string;
|
|
127
|
+
email: string;
|
|
128
|
+
};
|
|
129
|
+
/** Dotted action key, e.g. "project.update". */
|
|
130
|
+
action: string;
|
|
131
|
+
/** Kind of resource touched (filter field). */
|
|
132
|
+
resource: string;
|
|
133
|
+
/** The resource instance, e.g. "web-app". */
|
|
134
|
+
target: string;
|
|
135
|
+
ip: string;
|
|
136
|
+
result: AuditResult;
|
|
137
|
+
/** Unified diff of the change; absent for events without a payload change. */
|
|
138
|
+
diff?: string;
|
|
139
|
+
}
|
|
140
|
+
//#endregion
|
|
141
|
+
//#region src/audit-log/Page.d.ts
|
|
142
|
+
interface AuditLogProps {
|
|
143
|
+
/** Page heading (default "Audit log"). */
|
|
144
|
+
title: string;
|
|
145
|
+
/** Line under the heading. */
|
|
146
|
+
description: string;
|
|
147
|
+
events: AuditEvent[];
|
|
148
|
+
filterFields: FilterField[];
|
|
149
|
+
/** Initial date range; defaults to the last 7 days. */
|
|
150
|
+
defaultRange: DateRange;
|
|
151
|
+
/** Reference "today" for the date presets. */
|
|
152
|
+
today: Date;
|
|
153
|
+
/** Called with the filtered events; defaults to downloading them as CSV. */
|
|
154
|
+
onExport: (events: AuditEvent[]) => void;
|
|
155
|
+
breadcrumbs: BreadcrumbItem[];
|
|
156
|
+
currentHref: string;
|
|
157
|
+
/** ConsoleShell props (app nav, user, workspaces, sidebar footer, topbar…). */
|
|
158
|
+
shell: Omit<ConsoleShellProps, 'children'>;
|
|
159
|
+
}
|
|
160
|
+
/** Audit log: ConsoleShell + Page with FilterBar + DateRangeFilter, an events DataTable and a diff drawer. */
|
|
161
|
+
declare function AuditLogPage(props: Partial<AuditLogProps>): import("react").JSX.Element;
|
|
162
|
+
//#endregion
|
|
163
|
+
//#region src/audit-log/template.meta.d.ts
|
|
164
|
+
declare const meta$2: TemplateMeta;
|
|
165
|
+
//#endregion
|
|
166
|
+
//#region src/create-wizard/data.d.ts
|
|
167
|
+
interface WizardValues {
|
|
168
|
+
name: string;
|
|
169
|
+
description: string;
|
|
170
|
+
source: string;
|
|
171
|
+
region: string;
|
|
172
|
+
previews: boolean;
|
|
173
|
+
}
|
|
174
|
+
interface SourceOption {
|
|
175
|
+
value: string;
|
|
176
|
+
title: string;
|
|
177
|
+
description: string;
|
|
178
|
+
icon: LucideIcon;
|
|
179
|
+
}
|
|
180
|
+
interface WizardRegion {
|
|
181
|
+
value: string;
|
|
182
|
+
label: string;
|
|
183
|
+
}
|
|
184
|
+
/** Every visible string of the wizard; products override any subset through the `copy` prop. */
|
|
185
|
+
interface CreateWizardCopy {
|
|
186
|
+
detailsTitle: string;
|
|
187
|
+
detailsIntro: string;
|
|
188
|
+
nameLabel: string;
|
|
189
|
+
namePlaceholder: string;
|
|
190
|
+
nameHint: string;
|
|
191
|
+
nameRequired: string;
|
|
192
|
+
nameInvalid: string;
|
|
193
|
+
descriptionLabel: string;
|
|
194
|
+
sourceTitle: string;
|
|
195
|
+
sourceIntro: string;
|
|
196
|
+
configureTitle: string;
|
|
197
|
+
configureIntro: string;
|
|
198
|
+
regionLabel: string;
|
|
199
|
+
previewsLabel: string;
|
|
200
|
+
previewsDescription: string;
|
|
201
|
+
reviewTitle: string;
|
|
202
|
+
reviewIntro: string;
|
|
203
|
+
/** @deprecated No longer rendered: the review cards are the step's h2 headings. Kept for compatibility. */
|
|
204
|
+
summaryHeading?: string;
|
|
205
|
+
reviewDetailsTitle: string;
|
|
206
|
+
reviewDetailsDescription: string;
|
|
207
|
+
editDetailsLabel: string;
|
|
208
|
+
reviewSourceTitle: string;
|
|
209
|
+
reviewSourceDescription: string;
|
|
210
|
+
editSourceLabel: string;
|
|
211
|
+
sourceLabel: string;
|
|
212
|
+
on: string;
|
|
213
|
+
off: string;
|
|
214
|
+
/** Submit button on the review step. */
|
|
215
|
+
submitLabel: string;
|
|
216
|
+
exitTitle: string;
|
|
217
|
+
exitDescription: string;
|
|
218
|
+
/** Live status after a successful finish. */
|
|
219
|
+
created: (name: string) => string;
|
|
220
|
+
}
|
|
221
|
+
//#endregion
|
|
222
|
+
//#region src/create-wizard/Page.d.ts
|
|
223
|
+
interface CreateWizardProps extends Pick<WizardLayoutProps, 'mode' | 'size' | 'open' | 'onOpenChange' | 'description' | 'returnFocusRef' | 'closeOnInteractOutside' | 'stepAnnouncement' | 'pendingLabel'> {
|
|
224
|
+
/** Step-local errors or empty states, rendered within the scrollable step body. */
|
|
225
|
+
stepFeedback?: (current: number) => ReactNode;
|
|
226
|
+
/** Flow name in the top bar. */
|
|
227
|
+
title: string;
|
|
228
|
+
steps: StepItem[];
|
|
229
|
+
initialValues: WizardValues;
|
|
230
|
+
sources: readonly SourceOption[];
|
|
231
|
+
regions: readonly WizardRegion[];
|
|
232
|
+
/** Called from the review step; return a promise to show the loading state. */
|
|
233
|
+
onFinish: (values: WizardValues) => void | Promise<void>;
|
|
234
|
+
/** Called after the exit is confirmed. */
|
|
235
|
+
onExit: () => void;
|
|
236
|
+
onStepChange: (index: number) => void;
|
|
237
|
+
/** Step titles, field labels, submit label…; unset keys keep the default (project) wording. */
|
|
238
|
+
copy: Partial<CreateWizardCopy>;
|
|
239
|
+
}
|
|
240
|
+
/** Multi-step create flow in the focus-mode WizardLayout, ending in a review of every answer. */
|
|
241
|
+
declare function CreateWizardPage({ title, steps, initialValues, sources, regions, onFinish, onExit, onStepChange, copy: copyOverrides, stepFeedback, ...presentation }: Partial<CreateWizardProps>): import("react").JSX.Element;
|
|
242
|
+
//#endregion
|
|
243
|
+
//#region src/create-wizard/template.meta.d.ts
|
|
244
|
+
declare const meta$7: TemplateMeta;
|
|
245
|
+
//#endregion
|
|
246
|
+
//#region src/create-workspace/data.d.ts
|
|
247
|
+
interface WorkspaceValues {
|
|
248
|
+
name: string;
|
|
249
|
+
region: string;
|
|
250
|
+
plan: string;
|
|
251
|
+
invites: string[];
|
|
252
|
+
role: string;
|
|
253
|
+
}
|
|
254
|
+
interface WorkspaceRegion {
|
|
255
|
+
value: string;
|
|
256
|
+
title: string;
|
|
257
|
+
description: string;
|
|
258
|
+
meta: string;
|
|
259
|
+
}
|
|
260
|
+
//#endregion
|
|
261
|
+
//#region src/create-workspace/Page.d.ts
|
|
262
|
+
interface CreateWorkspaceProps {
|
|
263
|
+
steps: StepItem[];
|
|
264
|
+
initialValues: WorkspaceValues;
|
|
265
|
+
regions: readonly WorkspaceRegion[];
|
|
266
|
+
plans: readonly PricingTier[];
|
|
267
|
+
roles: readonly RoleOption[];
|
|
268
|
+
/** Host shown before the slug, e.g. "app.example.com/". */
|
|
269
|
+
addressPrefix: string;
|
|
270
|
+
maxInvites: number;
|
|
271
|
+
/** Called on the last step with the slug; return a promise to show the loading state. */
|
|
272
|
+
onFinish: (values: WorkspaceValues & {
|
|
273
|
+
slug: string;
|
|
274
|
+
}) => void | Promise<void>;
|
|
275
|
+
onExit: () => void;
|
|
276
|
+
onStepChange: (index: number) => void;
|
|
277
|
+
}
|
|
278
|
+
/** Workspace onboarding: name and region as selectable cards, the plan as a selectable PricingTable, then inline invitations. */
|
|
279
|
+
declare function CreateWorkspacePage({ steps, initialValues, regions, plans, roles, addressPrefix, maxInvites, onFinish, onExit, onStepChange }: Partial<CreateWorkspaceProps>): import("react").JSX.Element;
|
|
280
|
+
//#endregion
|
|
281
|
+
//#region src/create-workspace/template.meta.d.ts
|
|
282
|
+
declare const meta$8: TemplateMeta;
|
|
283
|
+
//#endregion
|
|
284
|
+
//#region src/workflow-builder/Page.d.ts
|
|
285
|
+
interface FlowBuilderPageProps<Kind extends string = FlowNodeKind> extends Pick<FlowBuilderProps<Kind>, 'nodeTypes' | 'onConnectEdge' | 'onConnect' | 'isValidConnection' | 'onConnectionRejected' | 'validationIssues' | 'mode' | 'nodeStatus' | 'onNodeSelect'> {
|
|
286
|
+
/** Optional companion code panel; run mode forces readOnly. */
|
|
287
|
+
codePanel?: CodePanelProps;
|
|
288
|
+
title: string;
|
|
289
|
+
/** StatusTag key next to the title (draft, active…). */
|
|
290
|
+
status: string;
|
|
291
|
+
/** Initial graph and palette; omitted values use the FlowBuilder block samples. */
|
|
292
|
+
nodes: FlowNode<Kind | FlowNodeKind>[];
|
|
293
|
+
edges: FlowEdge[];
|
|
294
|
+
palette: PaletteItem[];
|
|
295
|
+
/** Return console entries (or a promise of them) to log the real run; nothing logs a simulated run. */
|
|
296
|
+
onRun: NonNullable<FlowBuilderProps<Kind>['onRun']>;
|
|
297
|
+
/** Run console output (controlled); report changes with `onConsoleChange`. */
|
|
298
|
+
consoleEntries: ConsoleEntry[];
|
|
299
|
+
/** Initial run console output (uncontrolled). */
|
|
300
|
+
defaultConsoleEntries: ConsoleEntry[];
|
|
301
|
+
onConsoleChange: (entries: ConsoleEntry[]) => void;
|
|
302
|
+
onConsoleClear: () => void;
|
|
303
|
+
onSave: () => void | Promise<void>;
|
|
304
|
+
onPublish: () => void;
|
|
305
|
+
breadcrumbs: BreadcrumbItem[];
|
|
306
|
+
/** Builder height in px on wide screens. */
|
|
307
|
+
height: number;
|
|
308
|
+
fullScreen: boolean;
|
|
309
|
+
}
|
|
310
|
+
/**
|
|
311
|
+
* Flow builder page: CanvasLayout + the FlowBuilder block. The app imports
|
|
312
|
+
* '@gntik-ai/flow/styles.css' once for the React Flow canvas.
|
|
313
|
+
*/
|
|
314
|
+
declare function FlowBuilderPage<Kind extends string = FlowNodeKind>(props: Partial<FlowBuilderPageProps<Kind>>): import("react").JSX.Element;
|
|
315
|
+
//#endregion
|
|
316
|
+
//#region src/workflow-builder/template.meta.d.ts
|
|
317
|
+
declare const meta$60: TemplateMeta;
|
|
318
|
+
//#endregion
|
|
319
|
+
//#region src/forgot-password/Page.d.ts
|
|
320
|
+
interface ForgotPasswordPageProps extends ForgotPasswordFormProps {
|
|
321
|
+
/** Requests the reset link. A returned promise shows the loading state; a rejection shows in the alert. */
|
|
322
|
+
onSubmit: (email: string) => void | Promise<void>;
|
|
323
|
+
error: string | null;
|
|
324
|
+
defaultEmail: string;
|
|
325
|
+
/** Start on the "sent" step. */
|
|
326
|
+
defaultSent: boolean;
|
|
327
|
+
signInHref: string;
|
|
328
|
+
onBackToSignIn: () => void;
|
|
329
|
+
supportHref: string;
|
|
330
|
+
logo: ReactNode;
|
|
331
|
+
/** Replaces the support footer; `null` hides it. */
|
|
332
|
+
footer?: ReactNode;
|
|
333
|
+
/** Suppresses all internal headings in both request and sent states. */
|
|
334
|
+
suppressAllHeadings?: boolean;
|
|
335
|
+
}
|
|
336
|
+
/** Card password recovery: AuthLayout `card` + ForgotPasswordForm (request → sent). */
|
|
337
|
+
declare function ForgotPasswordPage({ onSubmit, error, defaultEmail, defaultSent, signInHref, onBackToSignIn, supportHref, logo, footer, suppressAllHeadings, headingLevel, ...formProps }: Partial<ForgotPasswordPageProps>): import("react").JSX.Element;
|
|
338
|
+
//#endregion
|
|
339
|
+
//#region src/forgot-password/template.meta.d.ts
|
|
340
|
+
declare const meta$12: TemplateMeta;
|
|
341
|
+
//#endregion
|
|
342
|
+
//#region src/getting-started/data.d.ts
|
|
343
|
+
interface SetupTask {
|
|
344
|
+
id: string;
|
|
345
|
+
title: string;
|
|
346
|
+
description: string;
|
|
347
|
+
}
|
|
348
|
+
interface DocLink {
|
|
349
|
+
id: string;
|
|
350
|
+
title: string;
|
|
351
|
+
description: string;
|
|
352
|
+
href: string;
|
|
353
|
+
icon: LucideIcon;
|
|
354
|
+
}
|
|
355
|
+
//#endregion
|
|
356
|
+
//#region src/getting-started/Page.d.ts
|
|
357
|
+
interface GettingStartedProps {
|
|
358
|
+
title: string;
|
|
359
|
+
description: string;
|
|
360
|
+
breadcrumbs: BreadcrumbItem[];
|
|
361
|
+
tasks: readonly SetupTask[];
|
|
362
|
+
/** Ids of the tasks already done (initial state). */
|
|
363
|
+
defaultDone: readonly string[];
|
|
364
|
+
/** Fires with every change of the done list. */
|
|
365
|
+
onDoneChange: (done: string[]) => void;
|
|
366
|
+
docs: readonly DocLink[];
|
|
367
|
+
onDocOpen: (id: string) => void;
|
|
368
|
+
shell: Omit<ConsoleShellProps, 'children'>;
|
|
369
|
+
}
|
|
370
|
+
/** Getting started: a setup checklist with progress, and cards linking to the docs. */
|
|
371
|
+
declare function GettingStartedPage({ title, description, breadcrumbs, tasks, defaultDone, onDoneChange, docs, onDocOpen, shell }: Partial<GettingStartedProps>): import("react").JSX.Element;
|
|
372
|
+
//#endregion
|
|
373
|
+
//#region src/getting-started/template.meta.d.ts
|
|
374
|
+
declare const meta$13: TemplateMeta;
|
|
375
|
+
//#endregion
|
|
376
|
+
//#region src/home-dashboard/data.d.ts
|
|
377
|
+
/** A shortcut card in the "Quick actions" grid. */
|
|
378
|
+
interface QuickAction {
|
|
379
|
+
id: string;
|
|
380
|
+
title: string;
|
|
381
|
+
description: string;
|
|
382
|
+
icon: LucideIcon;
|
|
383
|
+
href?: string;
|
|
384
|
+
}
|
|
385
|
+
interface RequestPoint {
|
|
386
|
+
day: string;
|
|
387
|
+
Requests: number;
|
|
388
|
+
Errors: number;
|
|
389
|
+
}
|
|
390
|
+
//#endregion
|
|
391
|
+
//#region src/home-dashboard/Page.d.ts
|
|
392
|
+
/** Second-chart settings (everything but its data and ranges, which have their own props). */
|
|
393
|
+
type HomeSecondaryChart<S extends object> = Omit<ChartCardProps<S>, 'dataByRange' | 'ranges'>;
|
|
394
|
+
/**
|
|
395
|
+
* `P` is the row type of the first chart (default: the infrastructure-cost fixture), `S` the row
|
|
396
|
+
* type of the second one (default: requests and errors per day).
|
|
397
|
+
*/
|
|
398
|
+
interface HomeDashboardProps<P extends object = CostPoint, S extends object = RequestPoint> {
|
|
399
|
+
title: string;
|
|
400
|
+
description: string;
|
|
401
|
+
breadcrumbs: BreadcrumbItem[];
|
|
402
|
+
/** Header actions (the last one is the primary). */
|
|
403
|
+
actions: PageChromeAction[];
|
|
404
|
+
kpis: readonly KpiItem[];
|
|
405
|
+
/**
|
|
406
|
+
* First chart: any ChartCard props (title, description, ranges, dataByRange, index, categories,
|
|
407
|
+
* colors, kind, valueFormatter…). Unset fields keep the infrastructure-cost fixture.
|
|
408
|
+
*/
|
|
409
|
+
primaryChart: ChartCardProps<P>;
|
|
410
|
+
/** Data of the second chart, per range key. */
|
|
411
|
+
requestsByRange: Readonly<Record<string, readonly S[]>>;
|
|
412
|
+
requestRanges: readonly ChartCardRange[];
|
|
413
|
+
/** Second chart: title, description, index, categories, colors, kind… (merged over the requests defaults). */
|
|
414
|
+
secondaryChart: HomeSecondaryChart<S>;
|
|
415
|
+
activity: readonly ActivityItem[];
|
|
416
|
+
quickActions: readonly QuickAction[];
|
|
417
|
+
/** Called with the id of a quick action card (cards with `href` also navigate). */
|
|
418
|
+
onQuickAction: (id: string) => void;
|
|
419
|
+
onViewAllActivity: () => void;
|
|
420
|
+
/** Console frame overrides (nav, user, workspaces, topbar). */
|
|
421
|
+
shell: Omit<ConsoleShellProps, 'children'>;
|
|
422
|
+
}
|
|
423
|
+
/** Home dashboard: header, KPI row, two charts, recent activity and quick actions in the console shell. */
|
|
424
|
+
declare function HomeDashboardPage<P extends object = CostPoint, S extends object = RequestPoint>({ title, description, breadcrumbs, actions, kpis, primaryChart, requestsByRange, requestRanges, secondaryChart, activity, quickActions, onQuickAction, onViewAllActivity, shell }: Partial<HomeDashboardProps<P, S>>): import("react").JSX.Element;
|
|
425
|
+
//#endregion
|
|
426
|
+
//#region src/home-dashboard/template.meta.d.ts
|
|
427
|
+
declare const meta$15: TemplateMeta;
|
|
428
|
+
//#endregion
|
|
429
|
+
//#region src/landing/Page.d.ts
|
|
430
|
+
interface LandingProps {
|
|
431
|
+
/** Logo or product name in the navbar. */
|
|
432
|
+
brand: ReactNode;
|
|
433
|
+
links: NavItem[];
|
|
434
|
+
signInHref: string;
|
|
435
|
+
getStartedHref: string;
|
|
436
|
+
heroTitle: ReactNode;
|
|
437
|
+
heroDescription: ReactNode;
|
|
438
|
+
heroPrimaryAction: MarketingAction | null;
|
|
439
|
+
heroSecondaryAction: MarketingAction | null;
|
|
440
|
+
/** Hero screenshot slot; omit for the block placeholder. */
|
|
441
|
+
heroMedia: ReactNode;
|
|
442
|
+
/** Omitted lists use the marketing block samples. */
|
|
443
|
+
features: Feature[];
|
|
444
|
+
tiers: PricingTier[];
|
|
445
|
+
faqs: FaqItem[];
|
|
446
|
+
onSelectTier: (tier: PricingTier, cycle: PricingCycle) => void;
|
|
447
|
+
footerLinks: Array<{
|
|
448
|
+
label: string;
|
|
449
|
+
href: string;
|
|
450
|
+
}>;
|
|
451
|
+
copyright: ReactNode;
|
|
452
|
+
}
|
|
453
|
+
/** Public landing: StackedLayout with Hero, FeatureGrid, PricingTable and Faq. */
|
|
454
|
+
declare function LandingPage(props: Partial<LandingProps>): import("react").JSX.Element;
|
|
455
|
+
//#endregion
|
|
456
|
+
//#region src/landing/template.meta.d.ts
|
|
457
|
+
declare const meta$19: TemplateMeta;
|
|
458
|
+
//#endregion
|
|
459
|
+
//#region src/mfa/Page.d.ts
|
|
460
|
+
interface MfaChallengePageProps {
|
|
461
|
+
/** Verifies the code. A returned promise shows the loading state; a rejection shows in the alert. */
|
|
462
|
+
onVerify: (code: string, method: MfaMethod) => void | Promise<void>;
|
|
463
|
+
/** Sends a new code. */
|
|
464
|
+
onResend: () => void | Promise<void>;
|
|
465
|
+
/** "Back to sign in". */
|
|
466
|
+
onCancel: () => void;
|
|
467
|
+
/** Where the code was sent; `null` for authenticator apps. */
|
|
468
|
+
destination: string | null;
|
|
469
|
+
resendCooldown: number;
|
|
470
|
+
length: 6 | 8;
|
|
471
|
+
error: string | null;
|
|
472
|
+
logo: ReactNode;
|
|
473
|
+
}
|
|
474
|
+
/** Card second-factor step: AuthLayout `card` + MfaChallenge. */
|
|
475
|
+
declare function MfaChallengePage({ onVerify, onResend, onCancel, destination, resendCooldown, length, error, logo }: Partial<MfaChallengePageProps>): import("react").JSX.Element;
|
|
476
|
+
//#endregion
|
|
477
|
+
//#region src/mfa/template.meta.d.ts
|
|
478
|
+
declare const meta$22: TemplateMeta;
|
|
479
|
+
//#endregion
|
|
480
|
+
//#region src/notification-inbox/data.d.ts
|
|
481
|
+
type InboxCategory = 'mention' | 'deployment' | 'billing' | 'access';
|
|
482
|
+
interface InboxNotification {
|
|
483
|
+
id: string;
|
|
484
|
+
title: string;
|
|
485
|
+
/** One-line preview in the list. */
|
|
486
|
+
preview: string;
|
|
487
|
+
/** Full message in the detail pane (paragraphs). */
|
|
488
|
+
body: string[];
|
|
489
|
+
from: string;
|
|
490
|
+
time: Date;
|
|
491
|
+
read: boolean;
|
|
492
|
+
category: InboxCategory;
|
|
493
|
+
/** Colour of the unread dot. */
|
|
494
|
+
tone: StatusDotTone;
|
|
495
|
+
/** Where "Open" leads. */
|
|
496
|
+
href?: string;
|
|
497
|
+
}
|
|
498
|
+
//#endregion
|
|
499
|
+
//#region src/notification-inbox/Page.d.ts
|
|
500
|
+
type InboxFilter = 'all' | 'unread' | 'mention';
|
|
501
|
+
interface NotificationInboxProps {
|
|
502
|
+
/** Initial notifications, newest first. The page keeps read/archived state locally. */
|
|
503
|
+
notifications: InboxNotification[];
|
|
504
|
+
defaultFilter: InboxFilter;
|
|
505
|
+
/** Initially selected notification (defaults to the first one). */
|
|
506
|
+
defaultSelectedId: string | null;
|
|
507
|
+
onReadChange: (id: string, read: boolean) => void;
|
|
508
|
+
onArchive: (id: string) => void;
|
|
509
|
+
onMarkAllRead: () => void;
|
|
510
|
+
breadcrumbs: BreadcrumbItem[];
|
|
511
|
+
currentHref: string;
|
|
512
|
+
/** ConsoleShell props (app nav, user, workspaces, sidebar footer, topbar…). */
|
|
513
|
+
shell: Omit<ConsoleShellProps, 'children'>;
|
|
514
|
+
}
|
|
515
|
+
/** Notification inbox: ConsoleShell + Page + SplitLayout (filtered list → detail, Back below lg). */
|
|
516
|
+
declare function NotificationInboxPage(props: Partial<NotificationInboxProps>): import("react").JSX.Element;
|
|
517
|
+
//#endregion
|
|
518
|
+
//#region src/notification-inbox/template.meta.d.ts
|
|
519
|
+
declare const meta$24: TemplateMeta;
|
|
520
|
+
//#endregion
|
|
521
|
+
//#region src/reset-password/Page.d.ts
|
|
522
|
+
interface ResetPasswordPageProps {
|
|
523
|
+
/** Saves the new password. A returned promise shows the loading state; a rejection shows in the alert. */
|
|
524
|
+
onSubmit: (password: string) => void | Promise<void>;
|
|
525
|
+
/** "Continue to sign in" from the success state. */
|
|
526
|
+
onContinue: () => void;
|
|
527
|
+
error: string | null;
|
|
528
|
+
minPasswordLength: number;
|
|
529
|
+
signInHref: string;
|
|
530
|
+
logo: ReactNode;
|
|
531
|
+
}
|
|
532
|
+
/** Card new-password step: AuthLayout `card` + ResetPasswordForm (form → success). */
|
|
533
|
+
declare function ResetPasswordPage({ onSubmit, onContinue, error, minPasswordLength, signInHref, logo }: Partial<ResetPasswordPageProps>): import("react").JSX.Element;
|
|
534
|
+
//#endregion
|
|
535
|
+
//#region src/reset-password/template.meta.d.ts
|
|
536
|
+
declare const meta$29: TemplateMeta;
|
|
537
|
+
//#endregion
|
|
538
|
+
//#region src/resource-detail/data.d.ts
|
|
539
|
+
/** The editable part of the resource (Settings tab). */
|
|
540
|
+
interface ResourceSettings {
|
|
541
|
+
name: string;
|
|
542
|
+
description: string;
|
|
543
|
+
}
|
|
544
|
+
//#endregion
|
|
545
|
+
//#region src/resource-detail/Page.d.ts
|
|
546
|
+
type ResourceDetailTab = 'overview' | 'activity' | 'settings';
|
|
547
|
+
interface ResourceDetailProps {
|
|
548
|
+
/**
|
|
549
|
+
* Optional boolean, default false. Shows only the keyboard-accessible Overview tab in
|
|
550
|
+
* the "Resource sections" tablist, using explicit resource props without sample defaults.
|
|
551
|
+
* Ignores activity, events, dangerActions, defaultTab, onSaveSettings and onDangerAction.
|
|
552
|
+
* Explicit actions and onEditDetails are still honored. ConsoleShell defaults are unchanged.
|
|
553
|
+
*/
|
|
554
|
+
readOnly?: boolean;
|
|
555
|
+
/**
|
|
556
|
+
* Optional readonly StatusEvent[], default undefined; used only when readOnly is true.
|
|
557
|
+
* Omitted: no history card. Empty: named StatusTimeline empty state. Populated: exactly
|
|
558
|
+
* the supplied events, without fabricated actors. Editable mode continues to use events.
|
|
559
|
+
*/
|
|
560
|
+
history?: readonly StatusEvent[];
|
|
561
|
+
name: string;
|
|
562
|
+
description: string;
|
|
563
|
+
/** StatusTag key next to the title. */
|
|
564
|
+
status: string;
|
|
565
|
+
breadcrumbs: BreadcrumbItem[];
|
|
566
|
+
meta: PageHeaderMetaItem[];
|
|
567
|
+
actions: PageChromeAction[];
|
|
568
|
+
details: readonly DescriptionItem[];
|
|
569
|
+
/** Title of the Overview details card (default "Configuration"). */
|
|
570
|
+
overviewTitle: string;
|
|
571
|
+
/** Description of the Overview details card. */
|
|
572
|
+
overviewDescription: string;
|
|
573
|
+
/** Title of the Overview status-history card (default "Status history"). */
|
|
574
|
+
historyTitle: string;
|
|
575
|
+
events: readonly StatusEvent[];
|
|
576
|
+
activity: readonly ActivityItem[];
|
|
577
|
+
dangerActions: DangerZoneAction[];
|
|
578
|
+
defaultTab: ResourceDetailTab;
|
|
579
|
+
onTabChange: (tab: ResourceDetailTab) => void;
|
|
580
|
+
onEditDetails: () => void;
|
|
581
|
+
onSaveSettings: (settings: ResourceSettings) => void;
|
|
582
|
+
/** Confirmed Danger zone action id (e.g. `pause`, `delete`). */
|
|
583
|
+
onDangerAction: (actionId: string) => void | Promise<void>;
|
|
584
|
+
shell: Omit<ConsoleShellProps, 'children'>;
|
|
585
|
+
}
|
|
586
|
+
/** Resource detail: editable tabs by default, or explicit-only Overview when readOnly is true. */
|
|
587
|
+
declare function ResourceDetailPage(props: Partial<ResourceDetailProps>): import("react").JSX.Element;
|
|
588
|
+
//#endregion
|
|
589
|
+
//#region src/resource-detail/template.meta.d.ts
|
|
590
|
+
declare const meta$30: TemplateMeta;
|
|
591
|
+
//#endregion
|
|
592
|
+
//#region src/resource-form/data.d.ts
|
|
593
|
+
interface ResourceFormValues {
|
|
594
|
+
name: string;
|
|
595
|
+
description: string;
|
|
596
|
+
region: string;
|
|
597
|
+
billingEmail: string;
|
|
598
|
+
sendInvoices: boolean;
|
|
599
|
+
}
|
|
600
|
+
interface RegionOption$1 {
|
|
601
|
+
value: string;
|
|
602
|
+
label: string;
|
|
603
|
+
}
|
|
604
|
+
//#endregion
|
|
605
|
+
//#region src/resource-form/Page.d.ts
|
|
606
|
+
interface ResourceFormProps {
|
|
607
|
+
title: string;
|
|
608
|
+
description: string;
|
|
609
|
+
breadcrumbs: BreadcrumbItem[];
|
|
610
|
+
initialValues: ResourceFormValues;
|
|
611
|
+
regions: readonly RegionOption$1[];
|
|
612
|
+
/** Called with valid values; return a promise to show the saving state until it settles. */
|
|
613
|
+
onSubmit: (values: ResourceFormValues) => void | Promise<void>;
|
|
614
|
+
/** Discard: called after the form is reset to its initial values. */
|
|
615
|
+
onCancel: () => void;
|
|
616
|
+
shell: Omit<ConsoleShellProps, 'children'>;
|
|
617
|
+
}
|
|
618
|
+
/** Edit (or create) form: two-column FormSections, an error summary after submit, and a sticky save bar. */
|
|
619
|
+
declare function ResourceFormPage({ title, description, breadcrumbs, initialValues, regions, onSubmit, onCancel, shell }: Partial<ResourceFormProps>): import("react").JSX.Element;
|
|
620
|
+
//#endregion
|
|
621
|
+
//#region src/resource-form/template.meta.d.ts
|
|
622
|
+
declare const meta$31: TemplateMeta;
|
|
623
|
+
//#endregion
|
|
624
|
+
//#region src/resource-gallery/Page.d.ts
|
|
625
|
+
type GalleryView = 'grid' | 'table';
|
|
626
|
+
interface ResourceGalleryProps {
|
|
627
|
+
title: string;
|
|
628
|
+
description: string;
|
|
629
|
+
breadcrumbs: BreadcrumbItem[];
|
|
630
|
+
/** Initial cards; the page keeps its own copy so the demo Delete takes effect. */
|
|
631
|
+
items: readonly ResourceCard[];
|
|
632
|
+
defaultView: GalleryView;
|
|
633
|
+
onViewChange: (view: GalleryView) => void;
|
|
634
|
+
createLabel: string;
|
|
635
|
+
onCreate: () => void;
|
|
636
|
+
/** Card menu actions. Without it, Delete removes the card locally. */
|
|
637
|
+
onAction: (action: ResourceAction, item: ResourceCard) => void;
|
|
638
|
+
shell: Omit<ConsoleShellProps, 'children'>;
|
|
639
|
+
}
|
|
640
|
+
/** Resource gallery: toolbar with search and a grid/table view toggle over the same resources. */
|
|
641
|
+
declare function ResourceGalleryPage({ title, description, breadcrumbs, items: initialItems, defaultView, onViewChange, createLabel, onCreate, onAction, shell }: Partial<ResourceGalleryProps>): import("react").JSX.Element;
|
|
642
|
+
//#endregion
|
|
643
|
+
//#region src/resource-gallery/template.meta.d.ts
|
|
644
|
+
declare const meta$32: TemplateMeta;
|
|
645
|
+
//#endregion
|
|
646
|
+
//#region src/resource-index/data.d.ts
|
|
647
|
+
type ResourceRow = DeploymentRow;
|
|
648
|
+
//#endregion
|
|
649
|
+
//#region src/resource-index/Page.d.ts
|
|
650
|
+
type ResourceBulkAction = 'export' | 'archive' | 'delete';
|
|
651
|
+
/**
|
|
652
|
+
* `T` is the row type (default: the deployment fixture rows). Columns decide what is shown,
|
|
653
|
+
* sorted and filtered: a filter field reads the column with the same id.
|
|
654
|
+
*/
|
|
655
|
+
interface ResourceIndexProps<T extends object = ResourceRow> {
|
|
656
|
+
title: string;
|
|
657
|
+
description: string;
|
|
658
|
+
breadcrumbs: BreadcrumbItem[];
|
|
659
|
+
/** Initial rows; the page keeps its own copy so the demo bulk actions take effect. */
|
|
660
|
+
rows: readonly T[];
|
|
661
|
+
columns: ReadonlyArray<DataTableColumn<T>>;
|
|
662
|
+
/** FilterBar fields; each `id` matches a column id (or a row property). */
|
|
663
|
+
filterFields: readonly FilterField[];
|
|
664
|
+
savedViews: readonly SavedView[];
|
|
665
|
+
/** Stable row id (defaults to `row.id`). */
|
|
666
|
+
getRowId: (row: T) => string;
|
|
667
|
+
/** Detail page of a row: the name cell becomes a kit Link (routed through LinkProvider). */
|
|
668
|
+
getRowHref: (row: T) => string;
|
|
669
|
+
/** Called when the name cell is activated (with `getRowHref`, on top of the navigation). */
|
|
670
|
+
onRowClick: (row: T) => void;
|
|
671
|
+
/** Column whose cell links to the row (defaults to the first column). */
|
|
672
|
+
linkColumnId: string;
|
|
673
|
+
/** Noun for counts and empty states, singular and plural. */
|
|
674
|
+
noun: [singular: string, plural: string];
|
|
675
|
+
createLabel: string;
|
|
676
|
+
onCreate: () => void;
|
|
677
|
+
onOpen: (row: T) => void;
|
|
678
|
+
/**
|
|
679
|
+
* Called for every bulk action. Without it, Archive pauses and Delete removes the rows locally
|
|
680
|
+
* (the fixture behaviour); with it the product decides and passes fresh `rows`.
|
|
681
|
+
*/
|
|
682
|
+
onBulkAction: (action: ResourceBulkAction, ids: string[]) => void;
|
|
683
|
+
/** Local Archive without `onBulkAction`; defaults to `status: 'paused'` on rows that have a status. */
|
|
684
|
+
archiveRow: (row: T) => T;
|
|
685
|
+
loading: boolean;
|
|
686
|
+
shell: Omit<ConsoleShellProps, 'children'>;
|
|
687
|
+
}
|
|
688
|
+
/** Resource index: header, filter bar, selectable sortable table with pagination, bulk action bar and a no-results state. */
|
|
689
|
+
declare function ResourceIndexPage<T extends object = ResourceRow>({ title, description, breadcrumbs, rows: initialRows, columns, filterFields, savedViews, getRowId, getRowHref, onRowClick, linkColumnId, noun, createLabel, onCreate, onOpen, onBulkAction, archiveRow, loading, shell }: Partial<ResourceIndexProps<T>>): import("react").JSX.Element;
|
|
690
|
+
//#endregion
|
|
691
|
+
//#region src/resource-index/template.meta.d.ts
|
|
692
|
+
declare const meta$33: TemplateMeta;
|
|
693
|
+
//#endregion
|
|
694
|
+
//#region src/search-results/data.d.ts
|
|
695
|
+
type SearchResultType = 'project' | 'deployment' | 'member' | 'document';
|
|
696
|
+
interface SearchHit {
|
|
697
|
+
id: string;
|
|
698
|
+
type: SearchResultType;
|
|
699
|
+
title: string;
|
|
700
|
+
snippet: string;
|
|
701
|
+
href: string;
|
|
702
|
+
owner: string;
|
|
703
|
+
/** Mono context line (region, id, email…). */
|
|
704
|
+
meta: string;
|
|
705
|
+
}
|
|
706
|
+
interface SearchFacet {
|
|
707
|
+
id: 'type' | 'owner';
|
|
708
|
+
label: string;
|
|
709
|
+
options: Array<{
|
|
710
|
+
value: string;
|
|
711
|
+
label: string;
|
|
712
|
+
}>;
|
|
713
|
+
}
|
|
714
|
+
//#endregion
|
|
715
|
+
//#region src/search-results/Page.d.ts
|
|
716
|
+
type SearchSelection = Record<SearchFacet['id'], string[]>;
|
|
717
|
+
interface SearchResultsProps {
|
|
718
|
+
/** The index to search (a product passes its server results and keeps `query` in sync). */
|
|
719
|
+
hits: SearchHit[];
|
|
720
|
+
facets: SearchFacet[];
|
|
721
|
+
defaultQuery: string;
|
|
722
|
+
onQueryChange: (query: string) => void;
|
|
723
|
+
onSelectionChange: (selection: SearchSelection) => void;
|
|
724
|
+
breadcrumbs: BreadcrumbItem[];
|
|
725
|
+
currentHref: string;
|
|
726
|
+
/** ConsoleShell props (app nav, user, workspaces, sidebar footer, topbar…). */
|
|
727
|
+
shell: Omit<ConsoleShellProps, 'children'>;
|
|
728
|
+
}
|
|
729
|
+
/** Search results: ConsoleShell + Page with Checkbox-group facets and results grouped by type. */
|
|
730
|
+
declare function SearchResultsPage(props: Partial<SearchResultsProps>): import("react").JSX.Element;
|
|
731
|
+
//#endregion
|
|
732
|
+
//#region src/search-results/template.meta.d.ts
|
|
733
|
+
declare const meta$37: TemplateMeta;
|
|
734
|
+
//#endregion
|
|
735
|
+
//#region src/settings-profile/settings-nav.d.ts
|
|
736
|
+
/** The nine settings pages, in nav order. */
|
|
737
|
+
type SettingsPageId = 'profile' | 'security' | 'notifications' | 'appearance' | 'workspace' | 'members' | 'billing' | 'api-keys' | 'integrations';
|
|
738
|
+
export declare const SETTINGS_TITLES: Record<SettingsPageId, string>;
|
|
739
|
+
/** A product's own settings page, added to the shared section nav. */
|
|
740
|
+
interface SettingsNavExtraItem {
|
|
741
|
+
/** Page id (also the URL segment under `basePath`). */
|
|
742
|
+
id: string;
|
|
743
|
+
label: string;
|
|
744
|
+
icon?: NavGroup['items'][number]['icon'];
|
|
745
|
+
/** Explicit href; defaults to `${basePath}/${id}` when a basePath is set. */
|
|
746
|
+
href?: string;
|
|
747
|
+
/** Group label: "Account", "Workspace" or a new group (appended after them). Default "Workspace". */
|
|
748
|
+
group?: string;
|
|
749
|
+
}
|
|
750
|
+
/** Title of a built-in settings page; other ids fall back to the id itself. */
|
|
751
|
+
export declare function settingsTitle(page: string): string;
|
|
752
|
+
/**
|
|
753
|
+
* Section nav shared by every settings template. Items are keyed by page id; pass a `basePath`
|
|
754
|
+
* (e.g. "/settings") to render them as links (`/settings/profile`), otherwise they are buttons
|
|
755
|
+
* and the template's `onNavigate` does the routing. `extraItems` adds a product's own pages,
|
|
756
|
+
* at the end of their group.
|
|
757
|
+
*/
|
|
758
|
+
export declare function settingsNav(basePath?: string, extraItems?: readonly SettingsNavExtraItem[]): NavGroup[];
|
|
759
|
+
/** Topbar breadcrumb for a settings page. */
|
|
760
|
+
export declare function settingsBreadcrumbs(page: SettingsPageId | (string & {}), title?: string): BreadcrumbItem[];
|
|
761
|
+
//#endregion
|
|
762
|
+
//#region src/settings-profile/SettingsFrame.d.ts
|
|
763
|
+
/** Props every settings template accepts for the frame around its content. */
|
|
764
|
+
interface SettingsFrameOptions {
|
|
765
|
+
/** Route base for the section nav (e.g. "/settings" → links). Without it the items are buttons. */
|
|
766
|
+
basePath?: string;
|
|
767
|
+
/**
|
|
768
|
+
* Called when another settings section is chosen (a built-in page id, or the id of one of
|
|
769
|
+
* `extraNavItems`).
|
|
770
|
+
*/
|
|
771
|
+
onNavigate?(page: SettingsPageId | (string & {})): void;
|
|
772
|
+
/** The product's own settings pages, added to the section nav (see `settingsNav`). */
|
|
773
|
+
extraNavItems?: readonly SettingsNavExtraItem[];
|
|
774
|
+
/** ConsoleShell props (app nav, user, workspaces, topbar). */
|
|
775
|
+
shell?: Omit<ConsoleShellProps, 'children'>;
|
|
776
|
+
}
|
|
777
|
+
interface SettingsFrameProps extends SettingsFrameOptions {
|
|
778
|
+
/** Current page: a built-in id or the id of an extra nav item. */
|
|
779
|
+
page: SettingsPageId | (string & {});
|
|
780
|
+
/** Header title; defaults to the built-in page title or the extra item's label. */
|
|
781
|
+
title?: ReactNode;
|
|
782
|
+
description?: ReactNode;
|
|
783
|
+
/** Header actions (PageHeader). */
|
|
784
|
+
actions?: PageChromeAction[];
|
|
785
|
+
width?: SettingsLayoutProps['width'];
|
|
786
|
+
/** Passes through to SettingsLayout; 'none' explicitly removes the save-bar wrapper. */
|
|
787
|
+
saveBar?: SettingsLayoutProps['saveBar'];
|
|
788
|
+
children: ReactNode;
|
|
789
|
+
}
|
|
790
|
+
/**
|
|
791
|
+
* Glue shared by the settings templates: ConsoleShell with SettingsLayout in its main area,
|
|
792
|
+
* the nine-page section nav plus any `extraNavItems` (current page selected) and a PageHeader as the layout header.
|
|
793
|
+
* SettingsLayout is `embedded`: ConsoleShell already owns <main> and the skip link.
|
|
794
|
+
*/
|
|
795
|
+
export declare function SettingsFrame({ page, title, description, actions, width, saveBar, basePath, onNavigate, extraNavItems, shell, children }: SettingsFrameProps): import("react").JSX.Element;
|
|
796
|
+
//#endregion
|
|
797
|
+
//#region src/settings-api-keys/data.d.ts
|
|
798
|
+
interface ApiKey {
|
|
799
|
+
id: string;
|
|
800
|
+
name: string;
|
|
801
|
+
/** Visible start of the secret, e.g. "sk_live_3f9a". */
|
|
802
|
+
prefix: string;
|
|
803
|
+
scopes: string[];
|
|
804
|
+
/** ISO date. */
|
|
805
|
+
createdAt: string;
|
|
806
|
+
/** ISO date; null when never used. */
|
|
807
|
+
lastUsedAt: string | null;
|
|
808
|
+
createdBy: string;
|
|
809
|
+
}
|
|
810
|
+
//#endregion
|
|
811
|
+
//#region src/settings-api-keys/Page.d.ts
|
|
812
|
+
interface SettingsApiKeysProps extends SettingsFrameOptions {
|
|
813
|
+
keys: ApiKey[];
|
|
814
|
+
scopes: ApiKeyScope[];
|
|
815
|
+
expiries: ApiKeyExpiry[];
|
|
816
|
+
/** Creates a key and returns its secret (shown once). Defaults to a demo generator. */
|
|
817
|
+
onCreate: (input: CreateApiKeyInput) => string | Promise<string>;
|
|
818
|
+
/** Revokes a key after the typed confirmation. A rejection shows its message. */
|
|
819
|
+
onRevoke: (key: ApiKey) => void | Promise<void>;
|
|
820
|
+
}
|
|
821
|
+
/** API keys settings: DataTable of keys, CreateApiKeyDialog (header action), revoke via ConfirmDestructive. */
|
|
822
|
+
declare function SettingsApiKeysPage({ keys, scopes, expiries, onCreate, onRevoke, ...frame }: Partial<SettingsApiKeysProps>): import("react").JSX.Element;
|
|
823
|
+
//#endregion
|
|
824
|
+
//#region src/settings-api-keys/template.meta.d.ts
|
|
825
|
+
declare const meta$38: TemplateMeta;
|
|
826
|
+
//#endregion
|
|
827
|
+
//#region src/settings-appearance/data.d.ts
|
|
828
|
+
type Density = 'comfortable' | 'compact';
|
|
829
|
+
interface LanguageOption {
|
|
830
|
+
value: string;
|
|
831
|
+
label: string;
|
|
832
|
+
}
|
|
833
|
+
//#endregion
|
|
834
|
+
//#region src/settings-appearance/Page.d.ts
|
|
835
|
+
interface SettingsAppearanceProps extends SettingsFrameOptions {
|
|
836
|
+
density: Density;
|
|
837
|
+
onDensityChange: (density: Density) => void;
|
|
838
|
+
language: string;
|
|
839
|
+
languages: LanguageOption[];
|
|
840
|
+
onLanguageChange: (language: string) => void;
|
|
841
|
+
}
|
|
842
|
+
/**
|
|
843
|
+
* Appearance settings: ThemeSwitcher (reads and sets the mode through useTheme, so it needs the
|
|
844
|
+
* app's ThemeProvider), density ToggleGroup and language Select, laid out as SettingsRows.
|
|
845
|
+
*/
|
|
846
|
+
declare function SettingsAppearancePage({ density: initialDensity, onDensityChange, language: initialLanguage, languages, onLanguageChange, ...frame }: Partial<SettingsAppearanceProps>): import("react").JSX.Element;
|
|
847
|
+
//#endregion
|
|
848
|
+
//#region src/settings-appearance/template.meta.d.ts
|
|
849
|
+
declare const meta$39: TemplateMeta;
|
|
850
|
+
//#endregion
|
|
851
|
+
//#region src/settings-billing/Page.d.ts
|
|
852
|
+
interface SettingsBillingProps extends SettingsFrameOptions {
|
|
853
|
+
plan: BillingPlan;
|
|
854
|
+
quotas: Quota[];
|
|
855
|
+
paymentMethod: PaymentMethod;
|
|
856
|
+
invoices: Invoice[];
|
|
857
|
+
/** ISO 4217 code for the invoice table. */
|
|
858
|
+
currency: string;
|
|
859
|
+
onUpgrade: () => void;
|
|
860
|
+
onManagePlan: () => void;
|
|
861
|
+
onCycleChange: (cycle: BillingCycle) => void;
|
|
862
|
+
onUpdatePaymentMethod: () => void;
|
|
863
|
+
onDownloadInvoice: (invoice: Invoice) => void;
|
|
864
|
+
}
|
|
865
|
+
/** Billing settings: PlanCard, QuotaMeters, PaymentMethodCard and InvoiceTable. */
|
|
866
|
+
declare function SettingsBillingPage({ plan, quotas, paymentMethod, invoices, currency, onUpgrade, onManagePlan, onCycleChange, onUpdatePaymentMethod, onDownloadInvoice, ...frame }: Partial<SettingsBillingProps>): import("react").JSX.Element;
|
|
867
|
+
//#endregion
|
|
868
|
+
//#region src/settings-billing/template.meta.d.ts
|
|
869
|
+
declare const meta$40: TemplateMeta;
|
|
870
|
+
//#endregion
|
|
871
|
+
//#region src/settings-integrations/data.d.ts
|
|
872
|
+
interface Connector {
|
|
873
|
+
id: string;
|
|
874
|
+
name: string;
|
|
875
|
+
description: string;
|
|
876
|
+
icon: LucideIcon;
|
|
877
|
+
enabled: boolean;
|
|
878
|
+
}
|
|
879
|
+
interface WebhookEndpoint {
|
|
880
|
+
id: string;
|
|
881
|
+
url: string;
|
|
882
|
+
events: string[];
|
|
883
|
+
status: 'active' | 'paused' | 'failing';
|
|
884
|
+
/** ISO date of the last delivery attempt. */
|
|
885
|
+
lastDeliveryAt: string | null;
|
|
886
|
+
}
|
|
887
|
+
interface WebhookDelivery {
|
|
888
|
+
id: string;
|
|
889
|
+
endpointId: string;
|
|
890
|
+
event: string;
|
|
891
|
+
/** HTTP status code returned by the endpoint; null on timeout. */
|
|
892
|
+
statusCode: number | null;
|
|
893
|
+
durationMs: number;
|
|
894
|
+
/** ISO date. */
|
|
895
|
+
at: string;
|
|
896
|
+
}
|
|
897
|
+
//#endregion
|
|
898
|
+
//#region src/settings-integrations/Page.d.ts
|
|
899
|
+
interface SettingsIntegrationsProps extends SettingsFrameOptions {
|
|
900
|
+
connectors: Connector[];
|
|
901
|
+
endpoints: WebhookEndpoint[];
|
|
902
|
+
deliveries: WebhookDelivery[];
|
|
903
|
+
onConnectorChange: (connectorId: string, enabled: boolean) => void;
|
|
904
|
+
onAddEndpoint: () => void;
|
|
905
|
+
}
|
|
906
|
+
/** Integrations settings: connector cards (SettingsRow switches), webhook endpoints Table, delivery log Table. */
|
|
907
|
+
declare function SettingsIntegrationsPage({ connectors, endpoints, deliveries, onConnectorChange, onAddEndpoint, ...frame }: Partial<SettingsIntegrationsProps>): import("react").JSX.Element;
|
|
908
|
+
//#endregion
|
|
909
|
+
//#region src/settings-integrations/template.meta.d.ts
|
|
910
|
+
declare const meta$41: TemplateMeta;
|
|
911
|
+
//#endregion
|
|
912
|
+
//#region src/settings-members/data.d.ts
|
|
913
|
+
interface RolePermission {
|
|
914
|
+
id: string;
|
|
915
|
+
label: string;
|
|
916
|
+
/** Role values that have this permission. */
|
|
917
|
+
roles: string[];
|
|
918
|
+
}
|
|
919
|
+
//#endregion
|
|
920
|
+
//#region src/settings-members/Page.d.ts
|
|
921
|
+
interface SettingsMembersProps extends SettingsFrameOptions {
|
|
922
|
+
members: Member[];
|
|
923
|
+
invitations: Invitation$1[];
|
|
924
|
+
roles: RoleOption[];
|
|
925
|
+
/** Rows of the role matrix. */
|
|
926
|
+
permissions: RolePermission[];
|
|
927
|
+
/** Id of the signed-in member. */
|
|
928
|
+
currentUserId: string;
|
|
929
|
+
/** Sends invitations. A rejection keeps the dialog open with its message. */
|
|
930
|
+
onInvite: (payload: InvitePayload) => void | Promise<void>;
|
|
931
|
+
onRoleChange: (memberId: string, role: string) => void;
|
|
932
|
+
onRemove: (member: Member) => void;
|
|
933
|
+
onResendInvitation: (invitation: Invitation$1) => void | Promise<void>;
|
|
934
|
+
onRevokeInvitation: (invitation: Invitation$1) => void;
|
|
935
|
+
}
|
|
936
|
+
/** Members settings: MembersTable, PendingInvitations, InviteMembersDialog (header action), role matrix. */
|
|
937
|
+
declare function SettingsMembersPage({ members, invitations, roles, permissions, currentUserId, onInvite, onRoleChange, onRemove, onResendInvitation, onRevokeInvitation, ...frame }: Partial<SettingsMembersProps>): import("react").JSX.Element;
|
|
938
|
+
//#endregion
|
|
939
|
+
//#region src/settings-members/template.meta.d.ts
|
|
940
|
+
declare const meta$42: TemplateMeta;
|
|
941
|
+
//#endregion
|
|
942
|
+
//#region src/settings-notifications/Page.d.ts
|
|
943
|
+
interface SettingsNotificationsProps extends SettingsFrameOptions {
|
|
944
|
+
channels: NotificationChannel[];
|
|
945
|
+
events: NotificationEvent[];
|
|
946
|
+
/** Saved preferences: event id → enabled channel ids. */
|
|
947
|
+
value: NotificationMatrixValue;
|
|
948
|
+
/** Persists the matrix. A returned promise shows the saving state. */
|
|
949
|
+
onSave: (value: NotificationMatrixValue) => void | Promise<void>;
|
|
950
|
+
}
|
|
951
|
+
/** Notification settings: NotificationMatrix with a StickyActionBar. */
|
|
952
|
+
declare function SettingsNotificationsPage({ channels, events, value: saved, onSave, ...frame }: Partial<SettingsNotificationsProps>): import("react").JSX.Element;
|
|
953
|
+
//#endregion
|
|
954
|
+
//#region src/settings-notifications/template.meta.d.ts
|
|
955
|
+
declare const meta$43: TemplateMeta;
|
|
956
|
+
//#endregion
|
|
957
|
+
//#region src/settings-profile/data.d.ts
|
|
958
|
+
interface SelectOption {
|
|
959
|
+
value: string;
|
|
960
|
+
label: string;
|
|
961
|
+
}
|
|
962
|
+
interface ProfileFormValues {
|
|
963
|
+
name: string;
|
|
964
|
+
email: string;
|
|
965
|
+
locale: string;
|
|
966
|
+
timeZone: string;
|
|
967
|
+
}
|
|
968
|
+
//#endregion
|
|
969
|
+
//#region src/settings-profile/ReadOnlyProfile.d.ts
|
|
970
|
+
interface ReadOnlyProfileOptions {
|
|
971
|
+
/** Label/value identity rows, displayed only in read-only mode. */
|
|
972
|
+
identity?: readonly ProfileDetail[];
|
|
973
|
+
/** Optional active-context rows; omitted means no context section. */
|
|
974
|
+
context?: readonly ProfileDetail[];
|
|
975
|
+
/** Text used for missing identity or context values. Defaults to 'Not selected'. */
|
|
976
|
+
contextFallback?: string;
|
|
977
|
+
/** Ordered role labels; omitted means no roles section. */
|
|
978
|
+
roles?: readonly string[];
|
|
979
|
+
/** Empty roles copy. Defaults to 'No roles assigned'. */
|
|
980
|
+
emptyRolesMessage?: string;
|
|
981
|
+
}
|
|
982
|
+
interface ProfileDetail {
|
|
983
|
+
id: string;
|
|
984
|
+
label: string;
|
|
985
|
+
value?: ReactNode;
|
|
986
|
+
mono?: boolean;
|
|
987
|
+
}
|
|
988
|
+
//#endregion
|
|
989
|
+
//#region src/settings-profile/Page.d.ts
|
|
990
|
+
interface SettingsProfileProps extends SettingsFrameOptions, ReadOnlyProfileOptions {
|
|
991
|
+
/** Defaults to 'editable'; 'read-only' shows details without form controls or save actions. */
|
|
992
|
+
mode?: 'editable' | 'read-only';
|
|
993
|
+
profile: Profile;
|
|
994
|
+
/** Saved form values. */
|
|
995
|
+
values: ProfileFormValues;
|
|
996
|
+
locales: SelectOption[];
|
|
997
|
+
timeZones: SelectOption[];
|
|
998
|
+
/** Persists the form. A returned promise shows the saving state. */
|
|
999
|
+
onSave: (values: ProfileFormValues) => void | Promise<void>;
|
|
1000
|
+
onAvatarChange: (file: File) => void;
|
|
1001
|
+
}
|
|
1002
|
+
/** Profile settings: ProfileHeader, personal and regional FormSections, StickyActionBar. */
|
|
1003
|
+
declare function SettingsProfilePage({ mode, identity, context, contextFallback, roles, emptyRolesMessage, ...props }: Partial<SettingsProfileProps>): import("react").JSX.Element;
|
|
1004
|
+
//#endregion
|
|
1005
|
+
//#region src/settings-profile/template.meta.d.ts
|
|
1006
|
+
declare const meta$44: TemplateMeta;
|
|
1007
|
+
//#endregion
|
|
1008
|
+
//#region src/settings-security/Page.d.ts
|
|
1009
|
+
interface PasswordChange {
|
|
1010
|
+
current: string;
|
|
1011
|
+
next: string;
|
|
1012
|
+
}
|
|
1013
|
+
interface SettingsSecurityProps extends SettingsFrameOptions {
|
|
1014
|
+
sessions: DeviceSession[];
|
|
1015
|
+
/** Whether two-factor authentication is on. */
|
|
1016
|
+
mfaEnabled: boolean;
|
|
1017
|
+
mfaSetupKey: string;
|
|
1018
|
+
/** Checks an enrolment code; defaults to the demo code 123456. */
|
|
1019
|
+
onVerifyMfa: (code: string) => boolean | Promise<boolean>;
|
|
1020
|
+
onMfaChange: (enabled: boolean) => void;
|
|
1021
|
+
/** Changes the password. A rejection shows its message. */
|
|
1022
|
+
onPasswordChange: (change: PasswordChange) => void | Promise<void>;
|
|
1023
|
+
onRevokeSession: (session: DeviceSession) => void;
|
|
1024
|
+
onRevokeOtherSessions: (sessions: DeviceSession[]) => void;
|
|
1025
|
+
}
|
|
1026
|
+
/** Security settings: password FormSection, MFA SettingsRow with an OtpInput setup dialog, SessionsDevices. */
|
|
1027
|
+
declare function SettingsSecurityPage({ sessions, mfaEnabled, mfaSetupKey: setupKey, onVerifyMfa, onMfaChange, onPasswordChange, onRevokeSession, onRevokeOtherSessions, ...frame }: Partial<SettingsSecurityProps>): import("react").JSX.Element;
|
|
1028
|
+
//#endregion
|
|
1029
|
+
//#region src/settings-security/template.meta.d.ts
|
|
1030
|
+
declare const meta$45: TemplateMeta;
|
|
1031
|
+
//#endregion
|
|
1032
|
+
//#region src/settings-workspace/data.d.ts
|
|
1033
|
+
interface WorkspaceValues$1 {
|
|
1034
|
+
name: string;
|
|
1035
|
+
slug: string;
|
|
1036
|
+
region: string;
|
|
1037
|
+
}
|
|
1038
|
+
interface RegionOption {
|
|
1039
|
+
value: string;
|
|
1040
|
+
label: string;
|
|
1041
|
+
}
|
|
1042
|
+
//#endregion
|
|
1043
|
+
//#region src/settings-workspace/Page.d.ts
|
|
1044
|
+
interface SettingsWorkspaceProps extends SettingsFrameOptions {
|
|
1045
|
+
values: WorkspaceValues$1;
|
|
1046
|
+
regions: RegionOption[];
|
|
1047
|
+
/** URL prefix shown before the slug. */
|
|
1048
|
+
urlPrefix: string;
|
|
1049
|
+
/** Danger zone rows; defaults to transfer and delete (typing the slug). */
|
|
1050
|
+
dangerActions: DangerZoneAction[];
|
|
1051
|
+
onSave: (values: WorkspaceValues$1) => void | Promise<void>;
|
|
1052
|
+
/** Uploads the logo; defaults to a demo upload. */
|
|
1053
|
+
onLogoUpload: (file: File, onProgress: (pct: number) => void) => Promise<void>;
|
|
1054
|
+
onDangerAction: (actionId: string) => void | Promise<void>;
|
|
1055
|
+
}
|
|
1056
|
+
/** Workspace settings: general FormSection (name, slug, region), logo FileUploadPanel, DangerZone. */
|
|
1057
|
+
declare function SettingsWorkspacePage({ values: saved, regions, urlPrefix, dangerActions, onSave, onLogoUpload, onDangerAction, ...frame }: Partial<SettingsWorkspaceProps>): import("react").JSX.Element;
|
|
1058
|
+
//#endregion
|
|
1059
|
+
//#region src/settings-workspace/template.meta.d.ts
|
|
1060
|
+
declare const meta$46: TemplateMeta;
|
|
1061
|
+
//#endregion
|
|
1062
|
+
//#region src/shell-sidebar/Page.d.ts
|
|
1063
|
+
interface ShellSidebarPageProps {
|
|
1064
|
+
nav: NavGroup[];
|
|
1065
|
+
currentHref: string;
|
|
1066
|
+
breadcrumbs: BreadcrumbItem[] | null;
|
|
1067
|
+
workspaces: Workspace[] | null;
|
|
1068
|
+
user: UserMenuUser | null;
|
|
1069
|
+
title: ReactNode;
|
|
1070
|
+
description: ReactNode;
|
|
1071
|
+
emptyTitle: ReactNode;
|
|
1072
|
+
emptyDescription: ReactNode;
|
|
1073
|
+
emptyActionLabel: string;
|
|
1074
|
+
emptySteps: string[];
|
|
1075
|
+
/** Primary action of the empty state. */
|
|
1076
|
+
onCreate: () => void;
|
|
1077
|
+
/** Replaces the empty state with real page content. */
|
|
1078
|
+
children: ReactNode;
|
|
1079
|
+
/** Other ConsoleShell props (sidebar footer, workspace callbacks, topbar…). */
|
|
1080
|
+
shell: Omit<ConsoleShellProps, 'children'>;
|
|
1081
|
+
}
|
|
1082
|
+
/** Console starter: ConsoleShell around an empty Page (title, description, first-run state). */
|
|
1083
|
+
declare function ShellSidebarPage({ nav, currentHref, breadcrumbs, workspaces, user, title, description, emptyTitle, emptyDescription, emptyActionLabel, emptySteps, onCreate, children, shell }: Partial<ShellSidebarPageProps>): import("react").JSX.Element;
|
|
1084
|
+
//#endregion
|
|
1085
|
+
//#region src/shell-sidebar/template.meta.d.ts
|
|
1086
|
+
declare const meta$47: TemplateMeta;
|
|
1087
|
+
//#endregion
|
|
1088
|
+
//#region src/shell-topnav/Page.d.ts
|
|
1089
|
+
interface ShellTopnavPageProps {
|
|
1090
|
+
/** Brand at the start of the navbar; defaults to the preset Logo with wordmark. */
|
|
1091
|
+
brand: ReactNode;
|
|
1092
|
+
links: NavItem[];
|
|
1093
|
+
/** Initial current link (uncontrolled). */
|
|
1094
|
+
defaultHref: string;
|
|
1095
|
+
onNavigate: (item: NavItem) => void;
|
|
1096
|
+
user: UserMenuUser | null;
|
|
1097
|
+
notifications: NotificationItem[] | null;
|
|
1098
|
+
onSignOut: () => void;
|
|
1099
|
+
title: ReactNode;
|
|
1100
|
+
description: ReactNode;
|
|
1101
|
+
emptyTitle: ReactNode;
|
|
1102
|
+
emptyDescription: ReactNode;
|
|
1103
|
+
emptyActionLabel: string;
|
|
1104
|
+
emptySteps: string[];
|
|
1105
|
+
onCreate: () => void;
|
|
1106
|
+
footer: ReactNode;
|
|
1107
|
+
/** Replaces the empty state with real page content. */
|
|
1108
|
+
children: ReactNode;
|
|
1109
|
+
}
|
|
1110
|
+
/** Top-navigation starter: StackedLayout with brand, links, AppTopbar actions, a PageHeader and an empty body. */
|
|
1111
|
+
declare function ShellTopnavPage({ brand, links, defaultHref, onNavigate, user, notifications, onSignOut, title, description, emptyTitle, emptyDescription, emptyActionLabel, emptySteps, onCreate, footer, children }: Partial<ShellTopnavPageProps>): import("react").JSX.Element;
|
|
1112
|
+
//#endregion
|
|
1113
|
+
//#region src/shell-topnav/template.meta.d.ts
|
|
1114
|
+
declare const meta$48: TemplateMeta;
|
|
1115
|
+
//#endregion
|
|
1116
|
+
//#region src/sign-in/BrandPanel.d.ts
|
|
1117
|
+
interface BrandPanelCopy {
|
|
1118
|
+
eyebrow: string;
|
|
1119
|
+
headline: string;
|
|
1120
|
+
features: string[];
|
|
1121
|
+
}
|
|
1122
|
+
//#endregion
|
|
1123
|
+
//#region src/sign-in/Page.d.ts
|
|
1124
|
+
interface SignInPageProps {
|
|
1125
|
+
/** Heading above the form (default "Sign in to your workspace"). */
|
|
1126
|
+
title: ReactNode;
|
|
1127
|
+
/** Line under the heading (default "Use your work email to continue."). */
|
|
1128
|
+
description: ReactNode;
|
|
1129
|
+
/** Small label above the heading. */
|
|
1130
|
+
eyebrow: ReactNode;
|
|
1131
|
+
/** Signs in. A returned promise shows the loading state; a rejection's message shows in the alert. */
|
|
1132
|
+
onSubmit: (values: SignInValues) => void | Promise<void>;
|
|
1133
|
+
/** Starts single sign-on with a provider id; the button spins until the page navigates away. */
|
|
1134
|
+
onSso: (providerId: string) => void;
|
|
1135
|
+
ssoProviders: SsoProvider[];
|
|
1136
|
+
error: string | null;
|
|
1137
|
+
forgotPasswordHref: string;
|
|
1138
|
+
onForgotPassword: () => void;
|
|
1139
|
+
signUpHref: string;
|
|
1140
|
+
onSignUp: () => void;
|
|
1141
|
+
/** Brand panel copy (split layout, large screens). */
|
|
1142
|
+
brand: BrandPanelCopy;
|
|
1143
|
+
brandFooter: ReactNode;
|
|
1144
|
+
logo: ReactNode;
|
|
1145
|
+
}
|
|
1146
|
+
/** Split sign-in: AuthLayout brand panel + SignInForm with SsoButtons. */
|
|
1147
|
+
declare function SignInPage({ title, description, eyebrow, onSubmit, onSso, ssoProviders, error, forgotPasswordHref, onForgotPassword, signUpHref, onSignUp, brand, brandFooter, logo }: Partial<SignInPageProps>): import("react").JSX.Element;
|
|
1148
|
+
//#endregion
|
|
1149
|
+
//#region src/sign-in/template.meta.d.ts
|
|
1150
|
+
declare const meta$50: TemplateMeta;
|
|
1151
|
+
//#endregion
|
|
1152
|
+
//#region src/sign-in-card/Page.d.ts
|
|
1153
|
+
interface SignInCardPageProps extends SignInFormProps {
|
|
1154
|
+
onSubmit: (values: SignInValues) => void | Promise<void>;
|
|
1155
|
+
error: string | null;
|
|
1156
|
+
defaultEmail: string;
|
|
1157
|
+
forgotPasswordHref: string;
|
|
1158
|
+
onForgotPassword: () => void;
|
|
1159
|
+
signUpHref: string;
|
|
1160
|
+
onSignUp: () => void;
|
|
1161
|
+
/** Optional SSO area under the form; hidden by default. */
|
|
1162
|
+
sso: ReactNode;
|
|
1163
|
+
eyebrow: ReactNode;
|
|
1164
|
+
title: ReactNode;
|
|
1165
|
+
description: ReactNode;
|
|
1166
|
+
termsHref: string;
|
|
1167
|
+
privacyHref: string;
|
|
1168
|
+
logo: ReactNode;
|
|
1169
|
+
/** Replaces the legal footer; `null` hides it. */
|
|
1170
|
+
footer?: ReactNode;
|
|
1171
|
+
/** Suppresses all internal headings, including the embedded form heading. */
|
|
1172
|
+
suppressAllHeadings?: boolean;
|
|
1173
|
+
}
|
|
1174
|
+
/** Card sign-in: AuthLayout `card` + SignInForm without SSO. */
|
|
1175
|
+
declare function SignInCardPage({ onSubmit, error, defaultEmail, forgotPasswordHref, onForgotPassword, signUpHref, onSignUp, sso, eyebrow, title, description, termsHref, privacyHref, logo, footer, suppressAllHeadings, headingLevel, ...formProps }: Partial<SignInCardPageProps>): import("react").JSX.Element;
|
|
1176
|
+
//#endregion
|
|
1177
|
+
//#region src/sign-in-card/template.meta.d.ts
|
|
1178
|
+
declare const meta$49: TemplateMeta;
|
|
1179
|
+
//#endregion
|
|
1180
|
+
//#region src/public-hub/Page.d.ts
|
|
1181
|
+
interface PublicHubAction {
|
|
1182
|
+
label: string;
|
|
1183
|
+
href: string;
|
|
1184
|
+
onClick?: MouseEventHandler<HTMLAnchorElement>;
|
|
1185
|
+
}
|
|
1186
|
+
interface PublicHubPageProps {
|
|
1187
|
+
eyebrow?: string;
|
|
1188
|
+
title: string;
|
|
1189
|
+
description?: string;
|
|
1190
|
+
cards?: {
|
|
1191
|
+
title: string;
|
|
1192
|
+
body: string;
|
|
1193
|
+
}[];
|
|
1194
|
+
primaryAction: PublicHubAction;
|
|
1195
|
+
secondaryAction?: PublicHubAction;
|
|
1196
|
+
tertiaryLink?: PublicHubAction;
|
|
1197
|
+
footer?: string;
|
|
1198
|
+
loading?: boolean;
|
|
1199
|
+
logo?: ReactNode;
|
|
1200
|
+
loadingLabel?: string;
|
|
1201
|
+
}
|
|
1202
|
+
/** Unauthenticated entry hub; optional content stays absent unless supplied. */
|
|
1203
|
+
declare function PublicHubPage({ eyebrow, title, description, cards, primaryAction, secondaryAction, tertiaryLink, footer, logo, loading, loadingLabel }: Partial<PublicHubPageProps>): import("react").JSX.Element;
|
|
1204
|
+
//#endregion
|
|
1205
|
+
//#region src/public-hub/template.meta.d.ts
|
|
1206
|
+
declare const meta$28: {
|
|
1207
|
+
name: string;
|
|
1208
|
+
family: "Auth";
|
|
1209
|
+
priority: "P1";
|
|
1210
|
+
status: "stable";
|
|
1211
|
+
description: string;
|
|
1212
|
+
layout: string;
|
|
1213
|
+
blocks: string[];
|
|
1214
|
+
pattern: string;
|
|
1215
|
+
keyboard: [string, string][];
|
|
1216
|
+
};
|
|
1217
|
+
//#endregion
|
|
1218
|
+
//#region src/sign-up/Page.d.ts
|
|
1219
|
+
interface SignUpPageProps {
|
|
1220
|
+
/** Creates the account. A returned promise shows the loading state; a rejection shows in the alert. */
|
|
1221
|
+
onSubmit: (values: SignUpValues) => void | Promise<void>;
|
|
1222
|
+
/** Starts single sign-on with a provider id. */
|
|
1223
|
+
onSso: (providerId: string) => void;
|
|
1224
|
+
ssoProviders: SsoProvider[];
|
|
1225
|
+
error: string | null;
|
|
1226
|
+
minPasswordLength: number;
|
|
1227
|
+
termsHref: string;
|
|
1228
|
+
privacyHref: string;
|
|
1229
|
+
signInHref: string;
|
|
1230
|
+
onSignIn: () => void;
|
|
1231
|
+
brand: BrandPanelCopy;
|
|
1232
|
+
brandFooter: ReactNode;
|
|
1233
|
+
logo: ReactNode;
|
|
1234
|
+
}
|
|
1235
|
+
/** Split sign-up: AuthLayout brand panel + SignUpForm with SsoButtons. */
|
|
1236
|
+
declare function SignUpPage({ onSubmit, onSso, ssoProviders, error, minPasswordLength, termsHref, privacyHref, signInHref, onSignIn, brand, brandFooter, logo }: Partial<SignUpPageProps>): import("react").JSX.Element;
|
|
1237
|
+
//#endregion
|
|
1238
|
+
//#region src/sign-up/template.meta.d.ts
|
|
1239
|
+
declare const meta$51: TemplateMeta;
|
|
1240
|
+
//#endregion
|
|
1241
|
+
//#region src/sso-login/Page.d.ts
|
|
1242
|
+
interface SsoLoginPageProps {
|
|
1243
|
+
/**
|
|
1244
|
+
* Looks up the domain's identity provider and starts the redirect. A rejection's message shows
|
|
1245
|
+
* in the alert (e.g. "No SSO connection for this domain").
|
|
1246
|
+
*/
|
|
1247
|
+
onSubmit: (email: string) => void | Promise<void>;
|
|
1248
|
+
/** Leaves the redirecting state. */
|
|
1249
|
+
onCancel: () => void;
|
|
1250
|
+
defaultEmail: string;
|
|
1251
|
+
/** Name shown while redirecting. */
|
|
1252
|
+
providerName: string;
|
|
1253
|
+
signInHref: string;
|
|
1254
|
+
error: string | null;
|
|
1255
|
+
logo: ReactNode;
|
|
1256
|
+
}
|
|
1257
|
+
/** Card SSO entry: work email → "Redirecting to your identity provider". */
|
|
1258
|
+
declare function SsoLoginPage({ onSubmit, onCancel, defaultEmail, providerName, signInHref, error: errorProp, logo }: Partial<SsoLoginPageProps>): import("react").JSX.Element;
|
|
1259
|
+
//#endregion
|
|
1260
|
+
//#region src/sso-login/template.meta.d.ts
|
|
1261
|
+
declare const meta$52: TemplateMeta;
|
|
1262
|
+
//#endregion
|
|
1263
|
+
//#region src/status-403/Page.d.ts
|
|
1264
|
+
interface Status403Props {
|
|
1265
|
+
/** What the viewer cannot see. */
|
|
1266
|
+
resource: string;
|
|
1267
|
+
/** Who can grant access. */
|
|
1268
|
+
owner: string;
|
|
1269
|
+
/** Called on "Request access"; may return a promise (the button shows a spinner). */
|
|
1270
|
+
onRequestAccess: () => void | Promise<void>;
|
|
1271
|
+
/** Start in the "requested" state (a pending request exists). */
|
|
1272
|
+
defaultRequested: boolean;
|
|
1273
|
+
homeHref: string;
|
|
1274
|
+
homeLabel: string;
|
|
1275
|
+
/** Account shown in the footer; `null` hides the line. */
|
|
1276
|
+
signedInAs: string | null;
|
|
1277
|
+
switchAccountHref: string;
|
|
1278
|
+
header: ReactNode;
|
|
1279
|
+
fullScreen: boolean;
|
|
1280
|
+
}
|
|
1281
|
+
/** 403 page: StatusLayout with Request access (NoAccessEmpty behaviour) and a way home. */
|
|
1282
|
+
declare function Status403Page(props: Partial<Status403Props>): import("react").JSX.Element;
|
|
1283
|
+
//#endregion
|
|
1284
|
+
//#region src/status-403/template.meta.d.ts
|
|
1285
|
+
declare const meta$53: TemplateMeta;
|
|
1286
|
+
//#endregion
|
|
1287
|
+
//#region src/status-404/Page.d.ts
|
|
1288
|
+
interface Status404Props {
|
|
1289
|
+
title: ReactNode;
|
|
1290
|
+
/** Replaces the built-in title; supply exactly one h1 and use its own ref for route focus. */
|
|
1291
|
+
heading?: ReactNode;
|
|
1292
|
+
description: ReactNode;
|
|
1293
|
+
/** Where the primary action leads. */
|
|
1294
|
+
homeHref: string;
|
|
1295
|
+
homeLabel: string;
|
|
1296
|
+
/** Go back handler; defaults to `history.back()`. */
|
|
1297
|
+
onBack: () => void;
|
|
1298
|
+
backLabel: string;
|
|
1299
|
+
supportHref: string;
|
|
1300
|
+
supportLabel: string;
|
|
1301
|
+
/** Minimal top bar; defaults to the Logo with wordmark. */
|
|
1302
|
+
header: ReactNode;
|
|
1303
|
+
fullScreen: boolean;
|
|
1304
|
+
}
|
|
1305
|
+
/** 404 page: StatusLayout with a way home, Go back and a support link in the footer. */
|
|
1306
|
+
declare function Status404Page(props: Partial<Status404Props>): import("react").JSX.Element;
|
|
1307
|
+
//#endregion
|
|
1308
|
+
//#region src/status-404/template.meta.d.ts
|
|
1309
|
+
declare const meta$54: TemplateMeta;
|
|
1310
|
+
//#endregion
|
|
1311
|
+
//#region src/status-500/Page.d.ts
|
|
1312
|
+
interface Status500Props {
|
|
1313
|
+
title: ReactNode;
|
|
1314
|
+
description: ReactNode;
|
|
1315
|
+
/** Status or error code on the ErrorPanel chip. */
|
|
1316
|
+
errorCode: string | number;
|
|
1317
|
+
/** Correlation id for support (copyable). */
|
|
1318
|
+
requestId: string;
|
|
1319
|
+
/** Raw details behind the disclosure. */
|
|
1320
|
+
details: string;
|
|
1321
|
+
/** Retry handler; a returned promise shows the loading state. */
|
|
1322
|
+
onRetry: () => void | Promise<void>;
|
|
1323
|
+
/** Extra action next to Retry; `null` hides it. */
|
|
1324
|
+
supportAction: FeedbackAction | null;
|
|
1325
|
+
homeHref: string;
|
|
1326
|
+
statusHref: string;
|
|
1327
|
+
header: ReactNode;
|
|
1328
|
+
fullScreen: boolean;
|
|
1329
|
+
}
|
|
1330
|
+
/** 500 page: StatusLayout + ErrorPanel with request id, retry and technical details. */
|
|
1331
|
+
declare function Status500Page(props: Partial<Status500Props>): import("react").JSX.Element;
|
|
1332
|
+
//#endregion
|
|
1333
|
+
//#region src/status-500/template.meta.d.ts
|
|
1334
|
+
declare const meta$55: TemplateMeta;
|
|
1335
|
+
//#endregion
|
|
1336
|
+
//#region src/status-maintenance/Page.d.ts
|
|
1337
|
+
interface StatusMaintenanceProps {
|
|
1338
|
+
title: ReactNode;
|
|
1339
|
+
description: ReactNode;
|
|
1340
|
+
/** Bold lead-in and message of the maintenance banner. */
|
|
1341
|
+
bannerTitle: ReactNode;
|
|
1342
|
+
bannerMessage: ReactNode;
|
|
1343
|
+
statusHref: string;
|
|
1344
|
+
subscribeHref: string;
|
|
1345
|
+
/**
|
|
1346
|
+
* "Check again" handler. Resolve `true` when the service is back (the product then navigates);
|
|
1347
|
+
* anything else shows the "still in maintenance" note.
|
|
1348
|
+
*/
|
|
1349
|
+
onCheckAgain: () => boolean | void | Promise<boolean | void>;
|
|
1350
|
+
header: ReactNode;
|
|
1351
|
+
fullScreen: boolean;
|
|
1352
|
+
}
|
|
1353
|
+
/** Maintenance page: StatusLayout with Check again, a status page link and a maintenance SystemBanner. */
|
|
1354
|
+
declare function StatusMaintenancePage(props: Partial<StatusMaintenanceProps>): import("react").JSX.Element;
|
|
1355
|
+
//#endregion
|
|
1356
|
+
//#region src/status-maintenance/template.meta.d.ts
|
|
1357
|
+
declare const meta$56: TemplateMeta;
|
|
1358
|
+
//#endregion
|
|
1359
|
+
//#region src/upgrade-required/Page.d.ts
|
|
1360
|
+
interface UpgradeRequiredProps {
|
|
1361
|
+
/** The locked feature, e.g. "Audit log". */
|
|
1362
|
+
feature: string;
|
|
1363
|
+
/** Lowest plan that includes it. */
|
|
1364
|
+
requiredPlan: string;
|
|
1365
|
+
currentPlan: string;
|
|
1366
|
+
description: string;
|
|
1367
|
+
tiers: PricingTier[];
|
|
1368
|
+
/** Id of the tier the workspace is on (badge + disabled "Current plan" CTA). */
|
|
1369
|
+
currentTierId: string;
|
|
1370
|
+
/** Called with the chosen tier and billing cycle. */
|
|
1371
|
+
onUpgrade: (tier: PricingTier, cycle: PricingCycle) => void;
|
|
1372
|
+
onContactSales: () => void;
|
|
1373
|
+
breadcrumbs: BreadcrumbItem[];
|
|
1374
|
+
currentHref: string;
|
|
1375
|
+
/** ConsoleShell props (app nav, user, workspaces, sidebar footer, topbar…). */
|
|
1376
|
+
shell: Omit<ConsoleShellProps, 'children'>;
|
|
1377
|
+
}
|
|
1378
|
+
/** Plan gate: ConsoleShell + Page with PageHeader, a current-plan callout and a PricingTable. */
|
|
1379
|
+
declare function UpgradeRequiredPage(props: Partial<UpgradeRequiredProps>): import("react").JSX.Element;
|
|
1380
|
+
//#endregion
|
|
1381
|
+
//#region src/upgrade-required/template.meta.d.ts
|
|
1382
|
+
declare const meta$57: TemplateMeta;
|
|
1383
|
+
//#endregion
|
|
1384
|
+
//#region src/usage-analytics/data.d.ts
|
|
1385
|
+
/** One row of the usage breakdown table. */
|
|
1386
|
+
interface UsageRow {
|
|
1387
|
+
id: string;
|
|
1388
|
+
project: string;
|
|
1389
|
+
/** Environment name, e.g. "Production". */
|
|
1390
|
+
environment: string;
|
|
1391
|
+
region: string;
|
|
1392
|
+
requests: number;
|
|
1393
|
+
errorRate: number;
|
|
1394
|
+
cost: number;
|
|
1395
|
+
}
|
|
1396
|
+
interface TrafficPoint {
|
|
1397
|
+
day: string;
|
|
1398
|
+
Production: number;
|
|
1399
|
+
Staging: number;
|
|
1400
|
+
Preview: number;
|
|
1401
|
+
}
|
|
1402
|
+
//#endregion
|
|
1403
|
+
//#region src/usage-analytics/Page.d.ts
|
|
1404
|
+
interface UsageExportRequest {
|
|
1405
|
+
range: DateRange | null;
|
|
1406
|
+
query: string;
|
|
1407
|
+
filters: ActiveFilter[];
|
|
1408
|
+
/** Rows currently shown in the breakdown. */
|
|
1409
|
+
rows: UsageRow[];
|
|
1410
|
+
}
|
|
1411
|
+
/** Second-chart settings (everything but its data and ranges, which have their own props). */
|
|
1412
|
+
type UsageSecondaryChart<T extends object> = Omit<ChartCardProps<T>, 'dataByRange' | 'ranges'>;
|
|
1413
|
+
/**
|
|
1414
|
+
* `P` is the row type of the first chart (default: the infrastructure-cost fixture), `T` the row
|
|
1415
|
+
* type of the second one (default: requests per environment and day).
|
|
1416
|
+
*/
|
|
1417
|
+
interface UsageAnalyticsProps<P extends object = CostPoint, T extends object = TrafficPoint> {
|
|
1418
|
+
title: string;
|
|
1419
|
+
description: string;
|
|
1420
|
+
breadcrumbs: BreadcrumbItem[];
|
|
1421
|
+
rows: readonly UsageRow[];
|
|
1422
|
+
/** Breakdown table columns (default: project, environment, region, requests, error rate, cost). */
|
|
1423
|
+
columns: DataTableColumn<UsageRow>[];
|
|
1424
|
+
/** FilterBar fields; each id is matched against the row field of the same name. */
|
|
1425
|
+
filterFields: FilterField[];
|
|
1426
|
+
searchPlaceholder: string;
|
|
1427
|
+
savedViews: readonly SavedView[];
|
|
1428
|
+
/**
|
|
1429
|
+
* First chart: any ChartCard props (title, description, ranges, dataByRange, index, categories,
|
|
1430
|
+
* colors, kind, valueFormatter…). Unset fields keep the infrastructure-cost fixture.
|
|
1431
|
+
*/
|
|
1432
|
+
primaryChart: ChartCardProps<P>;
|
|
1433
|
+
/** Data of the second chart, per range key. */
|
|
1434
|
+
trafficByRange: Readonly<Record<string, readonly T[]>>;
|
|
1435
|
+
trafficRanges: readonly ChartCardRange[];
|
|
1436
|
+
/** Second chart: title, description, index, categories, colors, kind… (merged over the traffic defaults). */
|
|
1437
|
+
secondaryChart: UsageSecondaryChart<T>;
|
|
1438
|
+
/** Fires when the date range changes (server-side products refetch here). */
|
|
1439
|
+
onRangeChange: (range: DateRange) => void;
|
|
1440
|
+
onExport: (request: UsageExportRequest) => void;
|
|
1441
|
+
shell: Omit<ConsoleShellProps, 'children'>;
|
|
1442
|
+
}
|
|
1443
|
+
/** Usage analytics: date range + filters, two charts and a sortable breakdown table with export. */
|
|
1444
|
+
declare function UsageAnalyticsPage<P extends object = CostPoint, T extends object = TrafficPoint>({ title, description, breadcrumbs, rows, columns, filterFields, searchPlaceholder, savedViews, primaryChart, trafficByRange: traffic, trafficRanges: ranges, secondaryChart, onRangeChange, onExport, shell }: Partial<UsageAnalyticsProps<P, T>>): import("react").JSX.Element;
|
|
1445
|
+
//#endregion
|
|
1446
|
+
//#region src/usage-analytics/template.meta.d.ts
|
|
1447
|
+
declare const meta$58: TemplateMeta;
|
|
1448
|
+
//#endregion
|
|
1449
|
+
//#region src/verify-email/Page.d.ts
|
|
1450
|
+
interface VerifyEmailPageProps {
|
|
1451
|
+
/** Address the verification link was sent to. */
|
|
1452
|
+
email: string;
|
|
1453
|
+
/** Sends the link again; the button then waits `resendCooldown` seconds. A rejection shows in the alert. */
|
|
1454
|
+
onResend: () => void | Promise<void>;
|
|
1455
|
+
/** "Use a different email" (back to sign-up). */
|
|
1456
|
+
onChangeEmail: () => void;
|
|
1457
|
+
resendCooldown: number;
|
|
1458
|
+
/** Seconds left before the first resend. Defaults to `resendCooldown` (a link was just sent). */
|
|
1459
|
+
initialCooldown: number;
|
|
1460
|
+
signInHref: string;
|
|
1461
|
+
supportHref: string;
|
|
1462
|
+
logo: ReactNode;
|
|
1463
|
+
}
|
|
1464
|
+
/** Card check-your-inbox step with a resend countdown. */
|
|
1465
|
+
declare function VerifyEmailPage({ email, onResend, onChangeEmail, resendCooldown, initialCooldown, signInHref, supportHref, logo }: Partial<VerifyEmailPageProps>): import("react").JSX.Element;
|
|
1466
|
+
//#endregion
|
|
1467
|
+
//#region src/verify-email/template.meta.d.ts
|
|
1468
|
+
declare const meta$59: TemplateMeta;
|
|
1469
|
+
//#endregion
|
|
1470
|
+
//#region src/pending-activation/Page.d.ts
|
|
1471
|
+
/** Navigation targets are passed directly to Link; validation belongs to the consumer. */
|
|
1472
|
+
type PendingActivationLink = {
|
|
1473
|
+
label: string;
|
|
1474
|
+
href: string;
|
|
1475
|
+
};
|
|
1476
|
+
/** An allowed navigation link or consumer callback. */
|
|
1477
|
+
type PendingActivationAction = (PendingActivationLink & {
|
|
1478
|
+
onClick?: never;
|
|
1479
|
+
}) | {
|
|
1480
|
+
label: string;
|
|
1481
|
+
href?: never;
|
|
1482
|
+
onClick: () => void;
|
|
1483
|
+
};
|
|
1484
|
+
interface PendingActivationPageProps {
|
|
1485
|
+
/** The only page-level heading, also retained in recovery states. */
|
|
1486
|
+
title?: string;
|
|
1487
|
+
/** Description directly below the page heading. */
|
|
1488
|
+
intro?: string;
|
|
1489
|
+
/** Title announced by the polite status callout, retained in recovery states; match copy to the current state. */
|
|
1490
|
+
statusTitle?: string;
|
|
1491
|
+
/** Current approval or activation status, supplied by the consumer. */
|
|
1492
|
+
statusMessage?: string;
|
|
1493
|
+
/** Informational or warning presentation; defaults to info, never assertive. */
|
|
1494
|
+
statusTone?: 'info' | 'warning';
|
|
1495
|
+
/** Optional request identifier; absent references render no callout. */
|
|
1496
|
+
reference?: {
|
|
1497
|
+
label: string;
|
|
1498
|
+
value: string;
|
|
1499
|
+
};
|
|
1500
|
+
/** Allowed navigation links or callback buttons, rendered in input order. */
|
|
1501
|
+
actions?: readonly PendingActivationAction[];
|
|
1502
|
+
/** Accessible name of the actions region, including while loading. */
|
|
1503
|
+
actionsLabel?: string;
|
|
1504
|
+
/** Loading takes precedence over the supplied actions. */
|
|
1505
|
+
loading?: boolean;
|
|
1506
|
+
/** Recovery variant; omitted for the normal pending state. */
|
|
1507
|
+
errorState?: 'no-access' | 'not-found' | 'error';
|
|
1508
|
+
/** Recovery heading below the h1; defaults to the selected state's sample copy. */
|
|
1509
|
+
errorTitle?: string;
|
|
1510
|
+
/** Consumer explanation of the failure and how to recover. */
|
|
1511
|
+
errorMessage?: string;
|
|
1512
|
+
/** Retry handler for the error variant; promises show the kit's retry loading state. */
|
|
1513
|
+
onRetry?: () => void | Promise<void>;
|
|
1514
|
+
/** Text on the error variant's retry button. */
|
|
1515
|
+
retryLabel?: string;
|
|
1516
|
+
/** Consumer navigation, retained in every state. Required when configuring the page. */
|
|
1517
|
+
recoveryLinks: readonly PendingActivationLink[];
|
|
1518
|
+
/** Accessible name of the recovery navigation. */
|
|
1519
|
+
recoveryLabel?: string;
|
|
1520
|
+
/** AuthLayout skip link text. */
|
|
1521
|
+
skipLinkLabel?: string;
|
|
1522
|
+
}
|
|
1523
|
+
/** Presentational account approval step; render without props for the catalogue preview. */
|
|
1524
|
+
declare function PendingActivationPage({ title, intro, statusTitle, statusMessage, statusTone, reference, actions, actionsLabel, loading, errorState, errorTitle, errorMessage, onRetry, retryLabel, recoveryLinks, recoveryLabel, skipLinkLabel }?: PendingActivationPageProps | Record<string, never>): import("react").JSX.Element;
|
|
1525
|
+
//#endregion
|
|
1526
|
+
//#region src/pending-activation/template.meta.d.ts
|
|
1527
|
+
declare const meta$25: TemplateMeta;
|
|
1528
|
+
//#endregion
|
|
1529
|
+
//#region src/live-event-stream/data.d.ts
|
|
1530
|
+
interface LiveEvent {
|
|
1531
|
+
/** Stable, unique event identity. */
|
|
1532
|
+
id: string;
|
|
1533
|
+
/** Consumer-formatted display timestamp. */
|
|
1534
|
+
timestamp: string;
|
|
1535
|
+
/** Event type used for filtering. */
|
|
1536
|
+
type: string;
|
|
1537
|
+
/** Optional concise row text; defaults to the event type. */
|
|
1538
|
+
summary?: string;
|
|
1539
|
+
/** Inspected only on selection; never serialised into log lines. */
|
|
1540
|
+
payload: unknown;
|
|
1541
|
+
}
|
|
1542
|
+
//#endregion
|
|
1543
|
+
//#region src/live-event-stream/Page.d.ts
|
|
1544
|
+
type LiveEventStreamStatus = 'idle' | 'connecting' | 'live' | 'error' | 'stopped';
|
|
1545
|
+
/**
|
|
1546
|
+
* Controlled subscription form, quiet windowed stream and pinnable JSON inspector.
|
|
1547
|
+
* LiveEventStreamPage accepts Partial<LiveEventStreamProps>; omitted props use fixtures.
|
|
1548
|
+
* No fetching, transport or subscription lifecycle is implemented here. Events must have
|
|
1549
|
+
* unique ids and arrive oldest first. The newest maxEvents entries are retained.
|
|
1550
|
+
*
|
|
1551
|
+
* @remarks
|
|
1552
|
+
* ARIA: one PageHeader h1; labelled FormSection; visible StatusDot text; a single polite,
|
|
1553
|
+
* atomic connection status region. Only status changes and explicit consumer-throttled
|
|
1554
|
+
* countAnnouncement updates change that region, never events.length. LogViewer uses
|
|
1555
|
+
* announceLines=false (role=log, aria-live=off). Connecting replaces the log with decorative
|
|
1556
|
+
* skeletons in an aria-busy section. ErrorPanel is wrapped in role=alert; validation uses
|
|
1557
|
+
* InlineCallout. InspectorLayout supplies the complementary panel on desktop and a Drawer
|
|
1558
|
+
* on small screens. Selection exposes aria-pressed on the row's inspect button.
|
|
1559
|
+
* Pinning docks the panel without freezing selection. Eviction retains the last inspected
|
|
1560
|
+
* payload and displays "This event is no longer in the buffer."
|
|
1561
|
+
*
|
|
1562
|
+
* Keyboard table:
|
|
1563
|
+
* | Key | Behavior |
|
|
1564
|
+
* | --- | --- |
|
|
1565
|
+
* | Tab / Shift+Tab | Move through form, action, filters, search, Follow, inspect and copy. |
|
|
1566
|
+
* | Enter / Space | Activate buttons, select an event, toggle Follow or pinning. |
|
|
1567
|
+
* | Arrow keys | Navigate event-type and log-level ToggleGroups and the JSON tree. |
|
|
1568
|
+
* | Escape | Close an unpinned inspector from its panel or toggle; return focus to the toggle. Pinned panels ignore Escape; use Close panel. |
|
|
1569
|
+
* Scrolling up more than one row disables Follow and preserves the scroll offset.
|
|
1570
|
+
* Enabling Follow pins the viewport to the bottom, where new events are appended.
|
|
1571
|
+
*
|
|
1572
|
+
* Themes: dark (default), light and high_contrast use only kit tokens. StatusDot pulses
|
|
1573
|
+
* for connecting/live are disabled by prefers-reduced-motion. Sensitive fields in form
|
|
1574
|
+
* must use the kit PasswordInput; the fixture contains only a non-sensitive Source field.
|
|
1575
|
+
*/
|
|
1576
|
+
interface LiveEventStreamProps {
|
|
1577
|
+
/** PageHeader h1. */
|
|
1578
|
+
title: string;
|
|
1579
|
+
/** Supporting text below the page title. */
|
|
1580
|
+
description: string;
|
|
1581
|
+
/** Consumer's subscription fields. Sensitive fields must use the kit PasswordInput. */
|
|
1582
|
+
form: ReactNode;
|
|
1583
|
+
/** Controlled connection state; defaults to idle. No transport is started by the template. */
|
|
1584
|
+
status: LiveEventStreamStatus;
|
|
1585
|
+
/** Controlled events in arrival order, oldest first. Defaults to the empty fixture. */
|
|
1586
|
+
events: LiveEvent[];
|
|
1587
|
+
/** Newest events retained (default 500). Nonnegative integers; invalid values use 500. */
|
|
1588
|
+
maxEvents: number;
|
|
1589
|
+
/** Type toggles, initially all enabled. Unlisted types remain visible. Defaults to fixture types. */
|
|
1590
|
+
eventTypes: string[];
|
|
1591
|
+
/** Optional consumer-throttled count text. Never inferred from events.length. */
|
|
1592
|
+
countAnnouncement: string;
|
|
1593
|
+
/** Called by Subscribe in idle, stopped or error. */
|
|
1594
|
+
onSubscribe: () => void;
|
|
1595
|
+
/** Called by Stop while live. */
|
|
1596
|
+
onStop: () => void;
|
|
1597
|
+
/** Called with the selected event after mouse or keyboard inspection. */
|
|
1598
|
+
onSelectEvent: (event: LiveEvent) => void;
|
|
1599
|
+
/** Stream error summary, shown in an ErrorPanel with role=alert when status is error. */
|
|
1600
|
+
error: string;
|
|
1601
|
+
/** Form validation feedback, shown in a destructive InlineCallout. */
|
|
1602
|
+
validationMessage: string;
|
|
1603
|
+
/** Explicit console navigation, workspace, user and topbar slots. */
|
|
1604
|
+
shell: Omit<ConsoleShellProps, 'children'>;
|
|
1605
|
+
}
|
|
1606
|
+
declare function LiveEventStreamPage({ title, description, form, shell, status, onSubscribe, onStop, onSelectEvent, error, validationMessage, events, maxEvents, eventTypes, countAnnouncement }: Partial<LiveEventStreamProps>): import("react").JSX.Element;
|
|
1607
|
+
//#endregion
|
|
1608
|
+
//#region src/live-event-stream/template.meta.d.ts
|
|
1609
|
+
declare const meta$20: {
|
|
1610
|
+
name: string;
|
|
1611
|
+
family: "Builders";
|
|
1612
|
+
priority: "P3";
|
|
1613
|
+
status: "experimental";
|
|
1614
|
+
description: string;
|
|
1615
|
+
layout: string;
|
|
1616
|
+
blocks: string[];
|
|
1617
|
+
pattern: string;
|
|
1618
|
+
keyboard: [string, string][];
|
|
1619
|
+
};
|
|
1620
|
+
//#endregion
|
|
1621
|
+
//#region src/run-trace/data.d.ts
|
|
1622
|
+
/** Inputs, outputs and live state of one span, shown in the inspector. */
|
|
1623
|
+
interface SpanDetail {
|
|
1624
|
+
/** JSON-serialisable input of the span (request, prompt, tool arguments…). */
|
|
1625
|
+
input?: unknown;
|
|
1626
|
+
/** JSON-serialisable output; omit while the span is still running. */
|
|
1627
|
+
output?: unknown;
|
|
1628
|
+
/** The span has not finished yet: the inspector shows a live Timer. */
|
|
1629
|
+
running?: boolean;
|
|
1630
|
+
}
|
|
1631
|
+
/** Summary of the run the trace belongs to. */
|
|
1632
|
+
interface TraceRun {
|
|
1633
|
+
id: string;
|
|
1634
|
+
name: string;
|
|
1635
|
+
/** StatusTag key: running, succeeded, failed… */
|
|
1636
|
+
status: string;
|
|
1637
|
+
/** When the run started (ISO). Running spans time themselves from `startedAt + span.start`. */
|
|
1638
|
+
startedAt: string;
|
|
1639
|
+
model: string;
|
|
1640
|
+
environment: string;
|
|
1641
|
+
}
|
|
1642
|
+
//#endregion
|
|
1643
|
+
//#region src/run-trace/Page.d.ts
|
|
1644
|
+
interface RunTraceProps {
|
|
1645
|
+
/** The run: name, status, start time, model, environment. Omit `startedAt` to start "now". */
|
|
1646
|
+
run: Omit<TraceRun, 'startedAt'> & {
|
|
1647
|
+
startedAt?: string;
|
|
1648
|
+
};
|
|
1649
|
+
spans: TraceSpan[];
|
|
1650
|
+
/** Inputs, outputs and running state per span id. */
|
|
1651
|
+
spanDetails: Record<string, SpanDetail>;
|
|
1652
|
+
logs: LogLine[];
|
|
1653
|
+
/** Token usage and cost of the run (one period hides the period switch). */
|
|
1654
|
+
usage: TokenUsagePeriod[];
|
|
1655
|
+
currency: string;
|
|
1656
|
+
/** Span selected initially (defaults to the first running span, else the root). */
|
|
1657
|
+
defaultSelectedId: string;
|
|
1658
|
+
onSelectSpan: (span: TraceSpan) => void;
|
|
1659
|
+
/** Header actions; omitted ones are hidden. */
|
|
1660
|
+
onCancel: () => void;
|
|
1661
|
+
onRerun: () => void;
|
|
1662
|
+
breadcrumbs: BreadcrumbItem[];
|
|
1663
|
+
currentHref: string;
|
|
1664
|
+
/** ConsoleShell props (app nav, user, workspaces, sidebar footer, topbar…). */
|
|
1665
|
+
shell: Omit<ConsoleShellProps, 'children'>;
|
|
1666
|
+
}
|
|
1667
|
+
/**
|
|
1668
|
+
* Run trace: ConsoleShell + InspectorLayout. The main area holds the run header, the
|
|
1669
|
+
* TraceWaterfall, token cost and the run log; the inspector shows the selected span's
|
|
1670
|
+
* attributes, a live Timer while it runs and its input / output in JsonViewers.
|
|
1671
|
+
*/
|
|
1672
|
+
declare function RunTracePage(props: Partial<RunTraceProps>): import("react").JSX.Element;
|
|
1673
|
+
//#endregion
|
|
1674
|
+
//#region src/run-trace/template.meta.d.ts
|
|
1675
|
+
declare const meta$35: TemplateMeta;
|
|
1676
|
+
//#endregion
|
|
1677
|
+
//#region src/prompt-playground/data.d.ts
|
|
1678
|
+
/** A model the playground can compare. */
|
|
1679
|
+
interface PlaygroundModel {
|
|
1680
|
+
id: string;
|
|
1681
|
+
label: string;
|
|
1682
|
+
}
|
|
1683
|
+
/** One model's answer to a run. */
|
|
1684
|
+
interface PlaygroundOutput {
|
|
1685
|
+
text: string;
|
|
1686
|
+
latencyMs: number;
|
|
1687
|
+
outputTokens: number;
|
|
1688
|
+
}
|
|
1689
|
+
//#endregion
|
|
1690
|
+
//#region src/prompt-playground/Page.d.ts
|
|
1691
|
+
interface PromptPlaygroundProps {
|
|
1692
|
+
title: string;
|
|
1693
|
+
/** Initial prompt (system, user, temperature, max tokens). */
|
|
1694
|
+
prompt: {
|
|
1695
|
+
system: string;
|
|
1696
|
+
user: string;
|
|
1697
|
+
temperature: number;
|
|
1698
|
+
maxTokens: number;
|
|
1699
|
+
};
|
|
1700
|
+
/** Initial shared variables (ListInput rows); non-empty values override the editor's own fields. */
|
|
1701
|
+
variables: ListInputPair[];
|
|
1702
|
+
models: PlaygroundModel[];
|
|
1703
|
+
/** Model ids of the initial columns (2–3). */
|
|
1704
|
+
defaultColumns: string[];
|
|
1705
|
+
/** Runs the prompt on one model. Defaults to a simulated answer. */
|
|
1706
|
+
onGenerate: (model: string, input: PromptRunInput) => PlaygroundOutput | Promise<PlaygroundOutput>;
|
|
1707
|
+
/** Monaco loader for the diff view (self-hosting, tests). */
|
|
1708
|
+
loader: MonacoLoader;
|
|
1709
|
+
breadcrumbs: BreadcrumbItem[];
|
|
1710
|
+
currentHref: string;
|
|
1711
|
+
/** ConsoleShell props (app nav, user, workspaces, sidebar footer, topbar…). */
|
|
1712
|
+
shell: Omit<ConsoleShellProps, 'children'>;
|
|
1713
|
+
}
|
|
1714
|
+
/**
|
|
1715
|
+
* Prompt playground. CanvasLayout `embedded` inside ConsoleShell: the playground is a console
|
|
1716
|
+
* tool people jump in and out of (from a trace, an evaluation), so the app nav stays; the
|
|
1717
|
+
* canvas layout still gives it the editor chrome (top bar, variables palette). PromptEditor
|
|
1718
|
+
* runs the prompt on 2–3 model columns side by side; "Diff" compares each column against the
|
|
1719
|
+
* first one in a DiffEditor.
|
|
1720
|
+
*/
|
|
1721
|
+
declare function PromptPlaygroundPage(props: Partial<PromptPlaygroundProps>): import("react").JSX.Element;
|
|
1722
|
+
//#endregion
|
|
1723
|
+
//#region src/prompt-playground/template.meta.d.ts
|
|
1724
|
+
declare const meta$27: TemplateMeta;
|
|
1725
|
+
//#endregion
|
|
1726
|
+
//#region src/evaluations/data.d.ts
|
|
1727
|
+
/** One evaluated sample: what went in, what was expected and what the model answered. */
|
|
1728
|
+
interface EvalSample {
|
|
1729
|
+
id: string;
|
|
1730
|
+
dataset: string;
|
|
1731
|
+
input: string;
|
|
1732
|
+
expected: string;
|
|
1733
|
+
output: string;
|
|
1734
|
+
scores: Record<string, number>;
|
|
1735
|
+
passed: boolean;
|
|
1736
|
+
}
|
|
1737
|
+
/** A metric (or the pass rate) that got worse than its tolerance on one dataset. */
|
|
1738
|
+
interface EvalRegression {
|
|
1739
|
+
id: string;
|
|
1740
|
+
dataset: string;
|
|
1741
|
+
/** Metric id, or `pass-rate`. */
|
|
1742
|
+
metric: string;
|
|
1743
|
+
metricLabel: string;
|
|
1744
|
+
format: NonNullable<EvalMetric['format']>;
|
|
1745
|
+
baseline: number;
|
|
1746
|
+
current: number;
|
|
1747
|
+
delta: number;
|
|
1748
|
+
}
|
|
1749
|
+
/** Metrics (and pass rates) worse than baseline by more than their tolerance, worst first. */
|
|
1750
|
+
export declare function findRegressions(rows: readonly EvalRow[], metrics: readonly EvalMetric[], passRateTolerance?: number): EvalRegression[];
|
|
1751
|
+
//#endregion
|
|
1752
|
+
//#region src/evaluations/Page.d.ts
|
|
1753
|
+
interface EvaluationsProps {
|
|
1754
|
+
title: string;
|
|
1755
|
+
/** Run being reviewed, e.g. "support-agent · v13". */
|
|
1756
|
+
runLabel: string;
|
|
1757
|
+
/** Run compared against, e.g. "v12". */
|
|
1758
|
+
baselineLabel: string;
|
|
1759
|
+
finishedAt: string | Date;
|
|
1760
|
+
metrics: EvalMetric[];
|
|
1761
|
+
/** One row per dataset (scores and baseline). */
|
|
1762
|
+
rows: EvalRow[];
|
|
1763
|
+
/** Evaluated samples; the sample viewer shows a dataset's samples, failures first. */
|
|
1764
|
+
samples: EvalSample[];
|
|
1765
|
+
/** Pass-rate drop (ratio) that counts as a regression. */
|
|
1766
|
+
passRateTolerance: number;
|
|
1767
|
+
/** Header actions; omitted ones are hidden. */
|
|
1768
|
+
onRerun: () => void;
|
|
1769
|
+
onExport: () => void;
|
|
1770
|
+
breadcrumbs: BreadcrumbItem[];
|
|
1771
|
+
currentHref: string;
|
|
1772
|
+
/** ConsoleShell props (app nav, user, workspaces, sidebar footer, topbar…). */
|
|
1773
|
+
shell: Omit<ConsoleShellProps, 'children'>;
|
|
1774
|
+
}
|
|
1775
|
+
/**
|
|
1776
|
+
* Evaluation results: ConsoleShell + Page with the EvaluationScorecard (one row per dataset),
|
|
1777
|
+
* a Heatmap of the change vs baseline per metric × dataset, the regressions table and a
|
|
1778
|
+
* sample viewer (Drawer + JsonViewer) per dataset.
|
|
1779
|
+
*/
|
|
1780
|
+
declare function EvaluationsPage(props: Partial<EvaluationsProps>): import("react").JSX.Element;
|
|
1781
|
+
//#endregion
|
|
1782
|
+
//#region src/evaluations/template.meta.d.ts
|
|
1783
|
+
declare const meta$11: TemplateMeta;
|
|
1784
|
+
//#endregion
|
|
1785
|
+
//#region src/model-providers/data.d.ts
|
|
1786
|
+
/** Nav entry this page adds to the shared settings nav (id `model-providers`). */
|
|
1787
|
+
export declare const modelProvidersNavItem: SettingsNavExtraItem;
|
|
1788
|
+
/** A usage limit shown as a Meter (monthly tokens, spend, rate). */
|
|
1789
|
+
interface ProviderUsageLimit {
|
|
1790
|
+
id: string;
|
|
1791
|
+
label: string;
|
|
1792
|
+
value: number;
|
|
1793
|
+
max: number;
|
|
1794
|
+
/** Visible value text, e.g. "31.2M / 50M tokens". */
|
|
1795
|
+
valueLabel: string;
|
|
1796
|
+
/** Helper line under the bar. */
|
|
1797
|
+
note?: string;
|
|
1798
|
+
}
|
|
1799
|
+
/** What the add-key dialog collects; the secret never comes back to the UI. */
|
|
1800
|
+
interface NewModelKeyInput {
|
|
1801
|
+
name: string;
|
|
1802
|
+
provider: string;
|
|
1803
|
+
endpoint: string;
|
|
1804
|
+
secret: string;
|
|
1805
|
+
}
|
|
1806
|
+
//#endregion
|
|
1807
|
+
//#region src/model-providers/Page.d.ts
|
|
1808
|
+
interface ModelProvidersProps extends SettingsFrameOptions {
|
|
1809
|
+
keys: ModelKey[];
|
|
1810
|
+
limits: ProviderUsageLimit[];
|
|
1811
|
+
providers: Array<{
|
|
1812
|
+
value: string;
|
|
1813
|
+
label: string;
|
|
1814
|
+
}>;
|
|
1815
|
+
/** Tests a key (the "Test" button); resolve true when the provider answered. */
|
|
1816
|
+
onTest: (key: ModelKey) => Promise<boolean> | boolean;
|
|
1817
|
+
onRevoke: (key: ModelKey) => void;
|
|
1818
|
+
/** Stores a new key and returns it masked. Defaults to a local, untested entry. */
|
|
1819
|
+
onAddKey: (input: NewModelKeyInput) => ModelKey | Promise<ModelKey>;
|
|
1820
|
+
}
|
|
1821
|
+
/**
|
|
1822
|
+
* Model provider settings: SettingsFrame (shared settings nav + a "Model providers" item) with
|
|
1823
|
+
* the ModelKeysList (masked keys, test connection, revoke), an add-key dialog and the usage
|
|
1824
|
+
* limits as Meters.
|
|
1825
|
+
*/
|
|
1826
|
+
declare function ModelProvidersPage({ keys: initialKeys, limits, providers, onTest, onRevoke, onAddKey, extraNavItems, ...frame }: Partial<ModelProvidersProps>): import("react").JSX.Element;
|
|
1827
|
+
//#endregion
|
|
1828
|
+
//#region src/model-providers/template.meta.d.ts
|
|
1829
|
+
declare const meta$23: TemplateMeta;
|
|
1830
|
+
//#endregion
|
|
1831
|
+
//#region src/code-editor/Page.d.ts
|
|
1832
|
+
interface CodeEditorPageProps {
|
|
1833
|
+
title: string;
|
|
1834
|
+
/** StatusTag key next to the title. */
|
|
1835
|
+
status: string;
|
|
1836
|
+
/** Branch or version shown as a badge. */
|
|
1837
|
+
branch: string;
|
|
1838
|
+
files: CodeFile[];
|
|
1839
|
+
problems: CodeProblem[];
|
|
1840
|
+
/** Paths open as tabs initially (the first one is active). */
|
|
1841
|
+
defaultOpen: string[];
|
|
1842
|
+
/** Receives the edited files (path → new content). A returned promise shows the saving state. */
|
|
1843
|
+
onSave: (changes: Record<string, string>) => void | Promise<void>;
|
|
1844
|
+
/** Called after "Delete" in a file's context menu; the file leaves the tree and the tabs. */
|
|
1845
|
+
onDeleteFile: (path: string) => void;
|
|
1846
|
+
/** Monaco loader (self-hosting, tests). Monaco loads lazily by default. */
|
|
1847
|
+
loader: MonacoLoader;
|
|
1848
|
+
breadcrumbs: BreadcrumbItem[];
|
|
1849
|
+
fullScreen: boolean;
|
|
1850
|
+
}
|
|
1851
|
+
/**
|
|
1852
|
+
* Code editor page: CanvasLayout with a file TreeList (context menu: open, copy path, close,
|
|
1853
|
+
* delete) in the palette and the CodePanel block (file tabs, editor / diff, problems) as the
|
|
1854
|
+
* canvas. Opening a file from the tree focuses its tab; edits survive reopening and Save
|
|
1855
|
+
* hands them over.
|
|
1856
|
+
*/
|
|
1857
|
+
declare function CodeEditorPage(props: Partial<CodeEditorPageProps>): import("react").JSX.Element;
|
|
1858
|
+
//#endregion
|
|
1859
|
+
//#region src/code-editor/template.meta.d.ts
|
|
1860
|
+
declare const meta$5: TemplateMeta;
|
|
1861
|
+
//#endregion
|
|
1862
|
+
//#region src/data-explorer/data.d.ts
|
|
1863
|
+
/** One request log row of the sample dataset. */
|
|
1864
|
+
interface ExplorerRow {
|
|
1865
|
+
id: string;
|
|
1866
|
+
timestamp: string;
|
|
1867
|
+
project: string;
|
|
1868
|
+
region: string;
|
|
1869
|
+
method: string;
|
|
1870
|
+
path: string;
|
|
1871
|
+
status: number;
|
|
1872
|
+
durationMs: number;
|
|
1873
|
+
bytes: number;
|
|
1874
|
+
userAgent: string;
|
|
1875
|
+
}
|
|
1876
|
+
type ExplorerField = Exclude<keyof ExplorerRow, 'id'>;
|
|
1877
|
+
/** Deterministic pseudo-random sample of `count` request rows (newest first). */
|
|
1878
|
+
export declare function generateExplorerRows(count?: number, end?: number): ExplorerRow[];
|
|
1879
|
+
//#endregion
|
|
1880
|
+
//#region src/data-explorer/Page.d.ts
|
|
1881
|
+
interface DataExplorerProps {
|
|
1882
|
+
title: string;
|
|
1883
|
+
/** Dataset name shown in the description, e.g. "request_logs". */
|
|
1884
|
+
dataset: string;
|
|
1885
|
+
rows: ExplorerRow[];
|
|
1886
|
+
/** PowerSearch fields (structured filters) of the dataset. */
|
|
1887
|
+
fields: PowerSearchField<ExplorerField>[];
|
|
1888
|
+
/** Columns the chooser offers, in default order. */
|
|
1889
|
+
columns: Array<TransferListItem & {
|
|
1890
|
+
value: ExplorerField;
|
|
1891
|
+
}>;
|
|
1892
|
+
/** Visible columns initially, in order. */
|
|
1893
|
+
defaultColumns: ExplorerField[];
|
|
1894
|
+
/** Initial query (e.g. from the URL). */
|
|
1895
|
+
defaultQuery: PowerSearchQuery<ExplorerField>;
|
|
1896
|
+
/** Receives the filtered rows and visible columns; hidden when omitted. */
|
|
1897
|
+
onExport: (rows: ExplorerRow[], columns: ExplorerField[]) => void;
|
|
1898
|
+
breadcrumbs: BreadcrumbItem[];
|
|
1899
|
+
currentHref: string;
|
|
1900
|
+
/** ConsoleShell props (app nav, user, workspaces, sidebar footer, topbar…). */
|
|
1901
|
+
shell: Omit<ConsoleShellProps, 'children'>;
|
|
1902
|
+
}
|
|
1903
|
+
/**
|
|
1904
|
+
* Data explorer: ConsoleShell + Page with a PowerSearch over a 10k-row DataTable (client
|
|
1905
|
+
* filtering, sorting and pagination), a column chooser (TransferList in a Dialog: show, hide
|
|
1906
|
+
* and reorder) and a row inspector (Drawer + JsonViewer).
|
|
1907
|
+
*/
|
|
1908
|
+
declare function DataExplorerPage(props: Partial<DataExplorerProps>): import("react").JSX.Element;
|
|
1909
|
+
//#endregion
|
|
1910
|
+
//#region src/data-explorer/template.meta.d.ts
|
|
1911
|
+
declare const meta$9: TemplateMeta;
|
|
1912
|
+
//#endregion
|
|
1913
|
+
//#region src/scorecard/data.d.ts
|
|
1914
|
+
interface ScorecardMetric {
|
|
1915
|
+
id: string;
|
|
1916
|
+
label: string;
|
|
1917
|
+
/** One value per period, aligned with `periods`. */
|
|
1918
|
+
series: number[];
|
|
1919
|
+
target: number;
|
|
1920
|
+
/** Lower is better (latency, churn): flips the delta sentiment and the attainment. */
|
|
1921
|
+
lowerIsBetter?: boolean;
|
|
1922
|
+
format: (value: number) => string;
|
|
1923
|
+
}
|
|
1924
|
+
interface RadarPoint {
|
|
1925
|
+
dimension: string;
|
|
1926
|
+
[period: string]: number | string;
|
|
1927
|
+
}
|
|
1928
|
+
//#endregion
|
|
1929
|
+
//#region src/scorecard/Page.d.ts
|
|
1930
|
+
interface ScorecardProps {
|
|
1931
|
+
title: string;
|
|
1932
|
+
description: string;
|
|
1933
|
+
/** Period labels, oldest first; every metric series is aligned with them. */
|
|
1934
|
+
periods: string[];
|
|
1935
|
+
/** Initially selected period (defaults to the latest). */
|
|
1936
|
+
defaultPeriod: string;
|
|
1937
|
+
onPeriodChange: (period: string) => void;
|
|
1938
|
+
metrics: ScorecardMetric[];
|
|
1939
|
+
/** Dimension scores: `dimension` plus one key per period label. */
|
|
1940
|
+
radar: RadarPoint[];
|
|
1941
|
+
comments: ThreadComment[];
|
|
1942
|
+
currentUser: CommentAuthor;
|
|
1943
|
+
onComment: (body: string) => void;
|
|
1944
|
+
onExport: (period: string) => void;
|
|
1945
|
+
breadcrumbs: BreadcrumbItem[];
|
|
1946
|
+
currentHref: string;
|
|
1947
|
+
shell: Omit<ConsoleShellProps, 'children'>;
|
|
1948
|
+
}
|
|
1949
|
+
/** Scorecard: period-over-period KPIs, targets with attainment and trends, a radar of dimensions and a commentary rail. */
|
|
1950
|
+
declare function ScorecardPage(props: Partial<ScorecardProps>): import("react").JSX.Element;
|
|
1951
|
+
//#endregion
|
|
1952
|
+
//#region src/scorecard/template.meta.d.ts
|
|
1953
|
+
declare const meta$36: TemplateMeta;
|
|
1954
|
+
//#endregion
|
|
1955
|
+
//#region src/incident-console/data.d.ts
|
|
1956
|
+
type IncidentSeverity = 'sev1' | 'sev2' | 'sev3';
|
|
1957
|
+
type IncidentStatus = 'triggered' | 'acknowledged' | 'resolved';
|
|
1958
|
+
type IncidentField = 'severity' | 'status' | 'service' | 'assignee';
|
|
1959
|
+
interface Incident {
|
|
1960
|
+
id: string;
|
|
1961
|
+
title: string;
|
|
1962
|
+
summary: string;
|
|
1963
|
+
service: string;
|
|
1964
|
+
severity: IncidentSeverity;
|
|
1965
|
+
status: IncidentStatus;
|
|
1966
|
+
/** Epoch ms when the first alert fired. */
|
|
1967
|
+
startedAt: number;
|
|
1968
|
+
resolvedAt?: number;
|
|
1969
|
+
assignee: string;
|
|
1970
|
+
/** Newest first. */
|
|
1971
|
+
events: StatusEvent[];
|
|
1972
|
+
}
|
|
1973
|
+
//#endregion
|
|
1974
|
+
//#region src/incident-console/Page.d.ts
|
|
1975
|
+
interface IncidentConsoleProps {
|
|
1976
|
+
incidents: Incident[];
|
|
1977
|
+
fields: PowerSearchField<IncidentField>[];
|
|
1978
|
+
/** Initial filter in PowerSearch syntax (default: not resolved). */
|
|
1979
|
+
defaultQuery: string;
|
|
1980
|
+
defaultSelectedId: string | null;
|
|
1981
|
+
/** Name recorded on acknowledge / resolve events. */
|
|
1982
|
+
currentUser: string;
|
|
1983
|
+
onAcknowledge: (id: string) => void;
|
|
1984
|
+
onResolve: (id: string) => void;
|
|
1985
|
+
breadcrumbs: BreadcrumbItem[];
|
|
1986
|
+
currentHref: string;
|
|
1987
|
+
shell: Omit<ConsoleShellProps, 'children'>;
|
|
1988
|
+
}
|
|
1989
|
+
/** Incident console: PowerSearch-filtered alert rail, detail with elapsed Timer, timeline and acknowledge / resolve. */
|
|
1990
|
+
declare function IncidentConsolePage(props: Partial<IncidentConsoleProps>): import("react").JSX.Element;
|
|
1991
|
+
//#endregion
|
|
1992
|
+
//#region src/incident-console/template.meta.d.ts
|
|
1993
|
+
declare const meta$17: TemplateMeta;
|
|
1994
|
+
//#endregion
|
|
1995
|
+
//#region src/resource-tree/data.d.ts
|
|
1996
|
+
type ResourceKind = 'service' | 'database' | 'bucket' | 'queue';
|
|
1997
|
+
type ResourceGroupBy = 'kind' | 'region' | 'team';
|
|
1998
|
+
interface TreeResource {
|
|
1999
|
+
id: string;
|
|
2000
|
+
name: string;
|
|
2001
|
+
kind: ResourceKind;
|
|
2002
|
+
team: string;
|
|
2003
|
+
project: string;
|
|
2004
|
+
region: string;
|
|
2005
|
+
status: 'healthy' | 'degraded' | 'stopped';
|
|
2006
|
+
tags: string[];
|
|
2007
|
+
/** ISO date of the last change. */
|
|
2008
|
+
updatedAt: string;
|
|
2009
|
+
}
|
|
2010
|
+
//#endregion
|
|
2011
|
+
//#region src/resource-tree/Page.d.ts
|
|
2012
|
+
interface ResourceTreeProps {
|
|
2013
|
+
resources: TreeResource[];
|
|
2014
|
+
defaultGroupBy: ResourceGroupBy;
|
|
2015
|
+
/** Initially selected tree node (`team:<name>` or `project:<name>`); none = every resource. */
|
|
2016
|
+
defaultNodeId: string | null;
|
|
2017
|
+
onOpen: (resource: TreeResource) => void;
|
|
2018
|
+
onCreate: () => void;
|
|
2019
|
+
breadcrumbs: BreadcrumbItem[];
|
|
2020
|
+
currentHref: string;
|
|
2021
|
+
shell: Omit<ConsoleShellProps, 'children'>;
|
|
2022
|
+
}
|
|
2023
|
+
/** Resource index browsed by a team → project TreeList, with grouped DataTables and tag overflow. */
|
|
2024
|
+
declare function ResourceTreePage(props: Partial<ResourceTreeProps>): import("react").JSX.Element;
|
|
2025
|
+
//#endregion
|
|
2026
|
+
//#region src/resource-tree/template.meta.d.ts
|
|
2027
|
+
declare const meta$34: TemplateMeta;
|
|
2028
|
+
//#endregion
|
|
2029
|
+
//#region src/board/data.d.ts
|
|
2030
|
+
interface BoardColumn {
|
|
2031
|
+
id: string;
|
|
2032
|
+
title: string;
|
|
2033
|
+
}
|
|
2034
|
+
interface BoardCard {
|
|
2035
|
+
id: string;
|
|
2036
|
+
title: string;
|
|
2037
|
+
description: string;
|
|
2038
|
+
assignee: string;
|
|
2039
|
+
labels: string[];
|
|
2040
|
+
priority: 'low' | 'medium' | 'high';
|
|
2041
|
+
/** ISO date. */
|
|
2042
|
+
due?: string;
|
|
2043
|
+
}
|
|
2044
|
+
/** Card ids per column id, in display order. */
|
|
2045
|
+
type BoardState = Record<string, string[]>;
|
|
2046
|
+
//#endregion
|
|
2047
|
+
//#region src/board/Page.d.ts
|
|
2048
|
+
interface BoardProps {
|
|
2049
|
+
title: string;
|
|
2050
|
+
description: string;
|
|
2051
|
+
columns: BoardColumn[];
|
|
2052
|
+
cards: BoardCard[];
|
|
2053
|
+
/** Card ids per column id. */
|
|
2054
|
+
defaultState: BoardState;
|
|
2055
|
+
/** Fires after a drop (pointer, keyboard or the detail drawer's status select). */
|
|
2056
|
+
onMove: (cardId: string, toColumn: string, toIndex: number) => void;
|
|
2057
|
+
onCreate: () => void;
|
|
2058
|
+
breadcrumbs: BreadcrumbItem[];
|
|
2059
|
+
currentHref: string;
|
|
2060
|
+
shell: Omit<ConsoleShellProps, 'children'>;
|
|
2061
|
+
}
|
|
2062
|
+
/** Kanban board: columns with pointer and keyboard drag-and-drop, live announcements and a card detail Drawer. */
|
|
2063
|
+
declare function BoardPage(props: Partial<BoardProps>): import("react").JSX.Element;
|
|
2064
|
+
//#endregion
|
|
2065
|
+
//#region src/board/template.meta.d.ts
|
|
2066
|
+
declare const meta$3: TemplateMeta;
|
|
2067
|
+
//#endregion
|
|
2068
|
+
//#region src/messaging/data.d.ts
|
|
2069
|
+
interface MessageAttachment {
|
|
2070
|
+
id: string;
|
|
2071
|
+
name: string;
|
|
2072
|
+
size?: number;
|
|
2073
|
+
type?: string;
|
|
2074
|
+
/** Image preview URL. */
|
|
2075
|
+
src?: string;
|
|
2076
|
+
}
|
|
2077
|
+
interface DirectMessage {
|
|
2078
|
+
id: string;
|
|
2079
|
+
author: string;
|
|
2080
|
+
/** Sent by the current user (right-aligned bubble). */
|
|
2081
|
+
mine?: boolean;
|
|
2082
|
+
text: string;
|
|
2083
|
+
at: Date;
|
|
2084
|
+
attachments?: MessageAttachment[];
|
|
2085
|
+
}
|
|
2086
|
+
interface Conversation {
|
|
2087
|
+
id: string;
|
|
2088
|
+
title: string;
|
|
2089
|
+
/** Other participants' names. */
|
|
2090
|
+
participants: string[];
|
|
2091
|
+
unread: number;
|
|
2092
|
+
messages: DirectMessage[];
|
|
2093
|
+
}
|
|
2094
|
+
//#endregion
|
|
2095
|
+
//#region src/messaging/Page.d.ts
|
|
2096
|
+
interface MessagingProps {
|
|
2097
|
+
conversations: Conversation[];
|
|
2098
|
+
defaultConversationId: string | null;
|
|
2099
|
+
/** Name shown on the current user's messages. */
|
|
2100
|
+
currentUser: string;
|
|
2101
|
+
/** Called with the text and attachments; the page appends the message locally. */
|
|
2102
|
+
onSend: (conversationId: string, text: string, attachments: MessageAttachment[]) => void;
|
|
2103
|
+
onNewConversation: () => void;
|
|
2104
|
+
breadcrumbs: BreadcrumbItem[];
|
|
2105
|
+
currentHref: string;
|
|
2106
|
+
shell: Omit<ConsoleShellProps, 'children'>;
|
|
2107
|
+
}
|
|
2108
|
+
/** Team messaging: SplitLayout conversation list → thread of ChatMessages with Thumbnail attachments and a ChatComposer. */
|
|
2109
|
+
declare function MessagingPage(props: Partial<MessagingProps>): import("react").JSX.Element;
|
|
2110
|
+
//#endregion
|
|
2111
|
+
//#region src/messaging/template.meta.d.ts
|
|
2112
|
+
declare const meta$21: TemplateMeta;
|
|
2113
|
+
//#endregion
|
|
2114
|
+
//#region src/help-home/data.d.ts
|
|
2115
|
+
interface HelpCategory {
|
|
2116
|
+
id: string;
|
|
2117
|
+
title: string;
|
|
2118
|
+
description: string;
|
|
2119
|
+
icon: LucideIcon;
|
|
2120
|
+
href: string;
|
|
2121
|
+
/** Number of articles in the category. */
|
|
2122
|
+
articleCount: number;
|
|
2123
|
+
}
|
|
2124
|
+
interface HelpArticle {
|
|
2125
|
+
id: string;
|
|
2126
|
+
title: string;
|
|
2127
|
+
excerpt: string;
|
|
2128
|
+
/** Category id. */
|
|
2129
|
+
category: string;
|
|
2130
|
+
href: string;
|
|
2131
|
+
/** Reading time in minutes. */
|
|
2132
|
+
minutes: number;
|
|
2133
|
+
}
|
|
2134
|
+
//#endregion
|
|
2135
|
+
//#region src/help-home/Page.d.ts
|
|
2136
|
+
interface HelpHomeProps {
|
|
2137
|
+
/** Logo or product name in the top bar. */
|
|
2138
|
+
brand: ReactNode;
|
|
2139
|
+
title: string;
|
|
2140
|
+
description: string;
|
|
2141
|
+
nav: NavGroup[];
|
|
2142
|
+
currentHref: string;
|
|
2143
|
+
categories: HelpCategory[];
|
|
2144
|
+
/** Popular articles; the search filters them client-side unless `onSearch` handles it. */
|
|
2145
|
+
articles: HelpArticle[];
|
|
2146
|
+
/** Enter in the search field (server-side search). */
|
|
2147
|
+
onSearch: (query: string) => void;
|
|
2148
|
+
/** Text under the popular articles (contact support…). */
|
|
2149
|
+
footer: ReactNode;
|
|
2150
|
+
}
|
|
2151
|
+
/** Help center home on DocsLayout: search, category cards and popular articles. */
|
|
2152
|
+
declare function HelpHomePage(props: Partial<HelpHomeProps>): import("react").JSX.Element;
|
|
2153
|
+
//#endregion
|
|
2154
|
+
//#region src/help-home/template.meta.d.ts
|
|
2155
|
+
declare const meta$14: TemplateMeta;
|
|
2156
|
+
//#endregion
|
|
2157
|
+
//#region src/docs-article/ArticleFeedback.d.ts
|
|
2158
|
+
interface ArticleFeedbackValue {
|
|
2159
|
+
helpful: boolean;
|
|
2160
|
+
comment?: string;
|
|
2161
|
+
}
|
|
2162
|
+
//#endregion
|
|
2163
|
+
//#region src/docs-article/data.d.ts
|
|
2164
|
+
interface ArticleLink {
|
|
2165
|
+
label: string;
|
|
2166
|
+
href: string;
|
|
2167
|
+
}
|
|
2168
|
+
interface SignatureHeader {
|
|
2169
|
+
name: string;
|
|
2170
|
+
example: string;
|
|
2171
|
+
description: string;
|
|
2172
|
+
}
|
|
2173
|
+
//#endregion
|
|
2174
|
+
//#region src/docs-article/Page.d.ts
|
|
2175
|
+
interface DocsArticleProps {
|
|
2176
|
+
brand: ReactNode;
|
|
2177
|
+
nav: NavGroup[];
|
|
2178
|
+
currentHref: string;
|
|
2179
|
+
/** Location trail above the title; `null` hides it. */
|
|
2180
|
+
breadcrumbs: BreadcrumbItem[] | null;
|
|
2181
|
+
eyebrow: string;
|
|
2182
|
+
title: string;
|
|
2183
|
+
lead: ReactNode;
|
|
2184
|
+
updatedAt: string;
|
|
2185
|
+
/** Table of contents; ids must match the headings of `children`. */
|
|
2186
|
+
toc: OutlineItem[];
|
|
2187
|
+
/** Article body; defaults to the sample “Verify webhook signatures” guide. */
|
|
2188
|
+
children: ReactNode;
|
|
2189
|
+
prev: ArticleLink | null;
|
|
2190
|
+
next: ArticleLink | null;
|
|
2191
|
+
onFeedback: (value: ArticleFeedbackValue) => void;
|
|
2192
|
+
}
|
|
2193
|
+
/** Documentation article on DocsLayout: nav, breadcrumbs, scroll-spy Outline, table, code, quote, prev/next and feedback. */
|
|
2194
|
+
declare function DocsArticlePage(props: Partial<DocsArticleProps>): import("react").JSX.Element;
|
|
2195
|
+
//#endregion
|
|
2196
|
+
//#region src/docs-article/template.meta.d.ts
|
|
2197
|
+
declare const meta$10: TemplateMeta;
|
|
2198
|
+
//#endregion
|
|
2199
|
+
//#region src/changelog/data.d.ts
|
|
2200
|
+
type ChangelogTag = 'feature' | 'improvement' | 'fix' | 'security' | 'deprecation';
|
|
2201
|
+
interface ChangelogEntry {
|
|
2202
|
+
id: string;
|
|
2203
|
+
/** Release version, e.g. "2.14". */
|
|
2204
|
+
version: string;
|
|
2205
|
+
date: string;
|
|
2206
|
+
title: string;
|
|
2207
|
+
summary: string;
|
|
2208
|
+
/** Bullet list of changes. */
|
|
2209
|
+
changes: string[];
|
|
2210
|
+
tags: ChangelogTag[];
|
|
2211
|
+
/** Shows the "New" badge (e.g. released since the viewer's last visit). */
|
|
2212
|
+
isNew?: boolean;
|
|
2213
|
+
/** "Read more" link. */
|
|
2214
|
+
href?: string;
|
|
2215
|
+
}
|
|
2216
|
+
//#endregion
|
|
2217
|
+
//#region src/changelog/Page.d.ts
|
|
2218
|
+
interface ChangelogProps {
|
|
2219
|
+
title: string;
|
|
2220
|
+
description: string;
|
|
2221
|
+
/** Entries, newest first. */
|
|
2222
|
+
entries: ChangelogEntry[];
|
|
2223
|
+
/** Tags initially pressed; none = every entry. */
|
|
2224
|
+
defaultTags: ChangelogTag[];
|
|
2225
|
+
onTagsChange: (tags: ChangelogTag[]) => void;
|
|
2226
|
+
/** Subscribe action (RSS, email…); omit to hide it. */
|
|
2227
|
+
onSubscribe: (() => void) | null;
|
|
2228
|
+
breadcrumbs: BreadcrumbItem[];
|
|
2229
|
+
currentHref: string;
|
|
2230
|
+
shell: Omit<ConsoleShellProps, 'children'>;
|
|
2231
|
+
}
|
|
2232
|
+
/** Changelog: dated release entries with tag badges and a "New" badge, filtered by tag. */
|
|
2233
|
+
declare function ChangelogPage(props: Partial<ChangelogProps>): import("react").JSX.Element;
|
|
2234
|
+
//#endregion
|
|
2235
|
+
//#region src/changelog/template.meta.d.ts
|
|
2236
|
+
declare const meta$4: TemplateMeta;
|
|
2237
|
+
//#endregion
|
|
2238
|
+
//#region src/keyboard-shortcuts/data.d.ts
|
|
2239
|
+
interface Shortcut {
|
|
2240
|
+
id: string;
|
|
2241
|
+
/** What the shortcut does. */
|
|
2242
|
+
description: string;
|
|
2243
|
+
/** Keys pressed together, e.g. ['⌘', 'K']. */
|
|
2244
|
+
keys: string[];
|
|
2245
|
+
/** A second combination that does the same (e.g. a sequence "G then P"). */
|
|
2246
|
+
then?: string[];
|
|
2247
|
+
}
|
|
2248
|
+
interface ShortcutGroup {
|
|
2249
|
+
id: string;
|
|
2250
|
+
title: string;
|
|
2251
|
+
shortcuts: Shortcut[];
|
|
2252
|
+
}
|
|
2253
|
+
//#endregion
|
|
2254
|
+
//#region src/keyboard-shortcuts/Page.d.ts
|
|
2255
|
+
interface KeyboardShortcutsProps {
|
|
2256
|
+
title: string;
|
|
2257
|
+
description: string;
|
|
2258
|
+
groups: ShortcutGroup[];
|
|
2259
|
+
breadcrumbs: BreadcrumbItem[];
|
|
2260
|
+
currentHref: string;
|
|
2261
|
+
/** ConsoleShell props (app nav, user, workspaces, sidebar footer, topbar…). */
|
|
2262
|
+
shell: Omit<ConsoleShellProps, 'children'>;
|
|
2263
|
+
}
|
|
2264
|
+
/** Keyboard shortcuts as a console page: ConsoleShell + Page with a searchable sheet. */
|
|
2265
|
+
declare function KeyboardShortcutsPage(props: Partial<KeyboardShortcutsProps>): import("react").JSX.Element;
|
|
2266
|
+
interface KeyboardShortcutsDialogProps {
|
|
2267
|
+
groups?: ShortcutGroup[];
|
|
2268
|
+
open?: boolean;
|
|
2269
|
+
defaultOpen?: boolean;
|
|
2270
|
+
onOpenChange?: (open: boolean) => void;
|
|
2271
|
+
/** Trigger element (rendered through Base UI `render`); omit for a controlled dialog opened by `?`. */
|
|
2272
|
+
trigger?: ReactElement | null;
|
|
2273
|
+
title?: string;
|
|
2274
|
+
}
|
|
2275
|
+
/** The same sheet in a Dialog, for the `?` shortcut or a help menu item. */
|
|
2276
|
+
export declare function KeyboardShortcutsDialog({ groups, open, defaultOpen, onOpenChange, trigger, title }: KeyboardShortcutsDialogProps): import("react").JSX.Element;
|
|
2277
|
+
//#endregion
|
|
2278
|
+
//#region src/keyboard-shortcuts/template.meta.d.ts
|
|
2279
|
+
declare const meta$18: TemplateMeta;
|
|
2280
|
+
//#endregion
|
|
2281
|
+
//#region src/pricing/data.d.ts
|
|
2282
|
+
/** `true` = included, `false` = not included, a string = the limit. */
|
|
2283
|
+
type ComparisonValue = boolean | string;
|
|
2284
|
+
interface ComparisonRow {
|
|
2285
|
+
feature: string;
|
|
2286
|
+
/** Values per tier id. */
|
|
2287
|
+
values: Record<string, ComparisonValue>;
|
|
2288
|
+
}
|
|
2289
|
+
interface ComparisonSection {
|
|
2290
|
+
title: string;
|
|
2291
|
+
rows: ComparisonRow[];
|
|
2292
|
+
}
|
|
2293
|
+
//#endregion
|
|
2294
|
+
//#region src/pricing/Page.d.ts
|
|
2295
|
+
interface PricingProps {
|
|
2296
|
+
brand: ReactNode;
|
|
2297
|
+
/** MegaMenu items (MobileNav below lg). */
|
|
2298
|
+
menu: MegaMenuItem[];
|
|
2299
|
+
currentHref: string;
|
|
2300
|
+
signInHref: string;
|
|
2301
|
+
getStartedHref: string;
|
|
2302
|
+
title: ReactNode;
|
|
2303
|
+
description: ReactNode;
|
|
2304
|
+
tiers: PricingTier[];
|
|
2305
|
+
defaultCycle: PricingCycle;
|
|
2306
|
+
onSelectTier: (tier: PricingTier, cycle: PricingCycle) => void;
|
|
2307
|
+
/** Highlights above the comparison (FeatureGrid); omitted = block samples. */
|
|
2308
|
+
features: Feature[];
|
|
2309
|
+
comparison: ComparisonSection[];
|
|
2310
|
+
faqs: FaqItem[];
|
|
2311
|
+
footerLinks: Array<{
|
|
2312
|
+
label: string;
|
|
2313
|
+
href: string;
|
|
2314
|
+
}>;
|
|
2315
|
+
copyright: ReactNode;
|
|
2316
|
+
}
|
|
2317
|
+
/** Public pricing: StackedLayout + MegaMenu, PricingTable, FeatureGrid, plan comparison table and Faq. */
|
|
2318
|
+
declare function PricingPage(props: Partial<PricingProps>): import("react").JSX.Element;
|
|
2319
|
+
//#endregion
|
|
2320
|
+
//#region src/pricing/template.meta.d.ts
|
|
2321
|
+
declare const meta$26: TemplateMeta;
|
|
2322
|
+
//#endregion
|
|
2323
|
+
//#region src/contact/data.d.ts
|
|
2324
|
+
type ContactTopic = 'sales' | 'support' | 'billing' | 'partnerships';
|
|
2325
|
+
interface ContactValues {
|
|
2326
|
+
name: string;
|
|
2327
|
+
email: string;
|
|
2328
|
+
company: string;
|
|
2329
|
+
topic: ContactTopic | '';
|
|
2330
|
+
message: string;
|
|
2331
|
+
}
|
|
2332
|
+
interface Office {
|
|
2333
|
+
id: string;
|
|
2334
|
+
city: string;
|
|
2335
|
+
/** Address lines. */
|
|
2336
|
+
address: string[];
|
|
2337
|
+
email: string;
|
|
2338
|
+
phone: string;
|
|
2339
|
+
hours: string;
|
|
2340
|
+
}
|
|
2341
|
+
//#endregion
|
|
2342
|
+
//#region src/contact/Page.d.ts
|
|
2343
|
+
interface ContactProps {
|
|
2344
|
+
brand: ReactNode;
|
|
2345
|
+
menu: MegaMenuItem[];
|
|
2346
|
+
currentHref: string;
|
|
2347
|
+
title: string;
|
|
2348
|
+
description: string;
|
|
2349
|
+
topics: Array<{
|
|
2350
|
+
value: ContactTopic;
|
|
2351
|
+
label: string;
|
|
2352
|
+
}>;
|
|
2353
|
+
offices: Office[];
|
|
2354
|
+
defaultValues: Partial<ContactValues>;
|
|
2355
|
+
/** Called with valid values; the page shows the success state once it resolves. */
|
|
2356
|
+
onSubmit: (values: ContactValues) => void | Promise<void>;
|
|
2357
|
+
footerLinks: Array<{
|
|
2358
|
+
label: string;
|
|
2359
|
+
href: string;
|
|
2360
|
+
}>;
|
|
2361
|
+
copyright: ReactNode;
|
|
2362
|
+
}
|
|
2363
|
+
/** Public contact page: StackedLayout + MegaMenu, a validated form with a success state, and office cards. */
|
|
2364
|
+
declare function ContactPage(props: Partial<ContactProps>): import("react").JSX.Element;
|
|
2365
|
+
//#endregion
|
|
2366
|
+
//#region src/contact/template.meta.d.ts
|
|
2367
|
+
declare const meta$6: TemplateMeta;
|
|
2368
|
+
//#endregion
|
|
2369
|
+
//#region src/incident-board/data.d.ts
|
|
2370
|
+
type TriageSeverity = 'sev1' | 'sev2' | 'sev3';
|
|
2371
|
+
type TriageStage = 'triage' | 'investigating' | 'mitigated' | 'resolved';
|
|
2372
|
+
/** One incident card on the triage board. */
|
|
2373
|
+
interface TriageIncident extends KanbanCard {
|
|
2374
|
+
severity: TriageSeverity;
|
|
2375
|
+
service: string;
|
|
2376
|
+
owner: string;
|
|
2377
|
+
/** Epoch ms when the incident was declared. */
|
|
2378
|
+
openedAt: number;
|
|
2379
|
+
summary: string;
|
|
2380
|
+
}
|
|
2381
|
+
/** Compact age ("45m", "3h 10m", "2d 4h") of an incident opened at `openedAt`. */
|
|
2382
|
+
declare function formatAge(openedAt: number, now: number): string;
|
|
2383
|
+
/**
|
|
2384
|
+
* Maps a move made on the filtered (visible) board onto the full board: the card lands before the
|
|
2385
|
+
* visible card it was dropped on, or after the last visible one. Returns the new columns and the
|
|
2386
|
+
* move in full-board indices.
|
|
2387
|
+
*/
|
|
2388
|
+
export declare function applyVisibleMove<T extends KanbanCard>(full: KanbanColumn<T>[], visible: KanbanColumn<T>[], move: KanbanMove): {
|
|
2389
|
+
columns: KanbanColumn<T>[];
|
|
2390
|
+
move: KanbanMove;
|
|
2391
|
+
};
|
|
2392
|
+
//#endregion
|
|
2393
|
+
//#region src/incident-board/Page.d.ts
|
|
2394
|
+
interface IncidentBoardProps {
|
|
2395
|
+
title: string;
|
|
2396
|
+
description: string;
|
|
2397
|
+
/** Initial columns (stages) and incident cards. */
|
|
2398
|
+
defaultColumns: KanbanColumn<TriageIncident>[];
|
|
2399
|
+
filterFields: FilterField[];
|
|
2400
|
+
defaultFilters: ActiveFilter[];
|
|
2401
|
+
/** Clock for the card ages (epoch ms). */
|
|
2402
|
+
now: number;
|
|
2403
|
+
/** Fires after a card moves (drag, keyboard or the drawer's status select), in full-board indices. */
|
|
2404
|
+
onMove: (move: KanbanMove, columns: KanbanColumn<TriageIncident>[]) => void;
|
|
2405
|
+
/** Initially open incident (details drawer). */
|
|
2406
|
+
defaultOpenId: string | null;
|
|
2407
|
+
onDeclare: () => void;
|
|
2408
|
+
onExport: () => void;
|
|
2409
|
+
breadcrumbs: BreadcrumbItem[];
|
|
2410
|
+
currentHref: string;
|
|
2411
|
+
shell: Omit<ConsoleShellProps, 'children'>;
|
|
2412
|
+
}
|
|
2413
|
+
/** Incident triage board: KPI summary, FilterBar and a KanbanBoard by stage with keyboard moves and a details Drawer. */
|
|
2414
|
+
declare function IncidentBoardPage(props: Partial<IncidentBoardProps>): import("react").JSX.Element;
|
|
2415
|
+
//#endregion
|
|
2416
|
+
//#region src/incident-board/template.meta.d.ts
|
|
2417
|
+
declare const meta$16: TemplateMeta;
|
|
2418
|
+
//#endregion
|
|
2419
|
+
export { AcceptInvitationPage, type AcceptInvitationPageProps, type ApiKey, type ArticleFeedbackValue, type ArticleLink, AssistantChatPage, type AssistantChatProps, type AssistantTool, type AuditEvent, AuditLogPage, type AuditLogProps, type AuditResult, type BoardCard, type BoardColumn, BoardPage, type BoardProps, type BoardState, type ChangelogEntry, ChangelogPage, type ChangelogProps, type ChangelogTag, CodeEditorPage, type CodeEditorPageProps, type ComparisonRow, type ComparisonSection, type ComparisonValue, type Connector, type ConsoleShellProps, ContactPage, type ContactProps, type ContactTopic, type ContactValues, type Conversation, type CreateWizardCopy, CreateWizardPage, type CreateWizardProps, CreateWorkspacePage, type CreateWorkspaceProps, DataExplorerPage, type DataExplorerProps, type Density, type DirectMessage, type DocLink, DocsArticlePage, type DocsArticleProps, type EvalRegression, type EvalSample, EvaluationsPage, type EvaluationsProps, type ExplorerField, type ExplorerRow, type FlowBuilderPageProps, ForgotPasswordPage, type ForgotPasswordPageProps, type GalleryView, GettingStartedPage, type GettingStartedProps, type HelpArticle, type HelpCategory, HelpHomePage, type HelpHomeProps, HomeDashboardPage, type HomeDashboardProps, type HomeSecondaryChart, type InboxCategory, type InboxFilter, type InboxNotification, type Incident, IncidentBoardPage, type IncidentBoardProps, IncidentConsolePage, type IncidentConsoleProps, type IncidentField, type IncidentSeverity, type IncidentStatus, type Invitation, type KeyboardShortcutsDialogProps, KeyboardShortcutsPage, type KeyboardShortcutsProps, LandingPage, type LandingProps, type LanguageOption, type LiveEvent, LiveEventStreamPage, type LiveEventStreamProps, type LiveEventStreamStatus, type MessageAttachment, MessagingPage, type MessagingProps, type MfaChallengePageProps, MfaChallengePage as MfaPage, ModelProvidersPage, type ModelProvidersProps, type NewModelKeyInput, type WorkspaceValues as NewWorkspaceValues, NotificationInboxPage, type NotificationInboxProps, type Office, type PasswordChange, type PendingActivationAction, type PendingActivationLink, PendingActivationPage, type PendingActivationPageProps, type PlaygroundModel, type PlaygroundOutput, PricingPage, type PricingProps, type ProfileDetail, type ProfileFormValues, PromptPlaygroundPage, type PromptPlaygroundProps, type ProviderUsageLimit, type PublicHubAction, PublicHubPage, type PublicHubPageProps, type QuickAction, type RadarPoint, type RegionOption, type RequestPoint, ResetPasswordPage, type ResetPasswordPageProps, type ResourceBulkAction, ResourceDetailPage, type ResourceDetailProps, type ResourceDetailTab, ResourceFormPage, type ResourceFormProps, type ResourceFormValues, ResourceGalleryPage, type ResourceGalleryProps, type ResourceGroupBy, ResourceIndexPage, type ResourceIndexProps, type ResourceKind, type RegionOption$1 as ResourceRegionOption, type ResourceRow, type ResourceSettings, ResourceTreePage, type ResourceTreeProps, type RolePermission, RunTracePage, type RunTraceProps, type ScorecardMetric, ScorecardPage, type ScorecardProps, type SearchFacet, type SearchHit, type SearchResultType, SearchResultsPage, type SearchResultsProps, type SearchSelection, type SelectOption, SettingsApiKeysPage, type SettingsApiKeysProps, SettingsAppearancePage, type SettingsAppearanceProps, SettingsBillingPage, type SettingsBillingProps, type SettingsFrameOptions, type SettingsFrameProps, SettingsIntegrationsPage, type SettingsIntegrationsProps, SettingsMembersPage, type SettingsMembersProps, type SettingsNavExtraItem, SettingsNotificationsPage, type SettingsNotificationsProps, type SettingsPageId, SettingsProfilePage, type SettingsProfileProps, SettingsSecurityPage, type SettingsSecurityProps, SettingsWorkspacePage, type SettingsWorkspaceProps, type SetupTask, ShellSidebarPage, type ShellSidebarPageProps, ShellTopnavPage, type ShellTopnavPageProps, type Shortcut, type ShortcutGroup, SignInCardPage, type SignInCardPageProps, SignInPage, type SignInPageProps, SignUpPage, type SignUpPageProps, type SignatureHeader, type SourceOption, type SpanDetail, SsoLoginPage, type SsoLoginPageProps, Status403Page, type Status403Props, Status404Page, type Status404Props, Status500Page, type Status500Props, StatusMaintenancePage, type StatusMaintenanceProps, type TemplateMeta, type TraceRun, type TrafficPoint, type TreeResource, type TriageIncident, type TriageSeverity, type TriageStage, UpgradeRequiredPage, type UpgradeRequiredProps, UsageAnalyticsPage, type UsageAnalyticsProps, type UsageExportRequest, type UsageRow, VerifyEmailPage, type VerifyEmailPageProps, type WebhookDelivery, type WebhookEndpoint, type WizardRegion, type WizardValues, FlowBuilderPage as WorkflowBuilderPage, type WorkspaceRegion, type WorkspaceValues$1 as WorkspaceValues, meta as acceptInvitationTemplateMeta, meta$1 as assistantChatTemplateMeta, meta$2 as auditLogTemplateMeta, meta$3 as boardTemplateMeta, meta$4 as changelogTemplateMeta, meta$5 as codeEditorTemplateMeta, meta$6 as contactTemplateMeta, meta$7 as createWizardTemplateMeta, meta$8 as createWorkspaceTemplateMeta, meta$9 as dataExplorerTemplateMeta, meta$10 as docsArticleTemplateMeta, meta$11 as evaluationsTemplateMeta, meta$12 as forgotPasswordTemplateMeta, formatAge as formatIncidentAge, meta$13 as gettingStartedTemplateMeta, meta$14 as helpHomeTemplateMeta, meta$15 as homeDashboardTemplateMeta, meta$16 as incidentBoardTemplateMeta, meta$17 as incidentConsoleTemplateMeta, meta$18 as keyboardShortcutsTemplateMeta, meta$19 as landingTemplateMeta, meta$20 as liveEventStreamTemplateMeta, meta$21 as messagingTemplateMeta, meta$22 as mfaTemplateMeta, meta$23 as modelProvidersTemplateMeta, meta$24 as notificationInboxTemplateMeta, meta$25 as pendingActivationTemplateMeta, meta$26 as pricingTemplateMeta, meta$27 as promptPlaygroundTemplateMeta, meta$28 as publicHubTemplateMeta, meta$29 as resetPasswordTemplateMeta, meta$30 as resourceDetailTemplateMeta, meta$31 as resourceFormTemplateMeta, meta$32 as resourceGalleryTemplateMeta, meta$33 as resourceIndexTemplateMeta, meta$34 as resourceTreeTemplateMeta, meta$35 as runTraceTemplateMeta, meta$36 as scorecardTemplateMeta, meta$37 as searchResultsTemplateMeta, meta$38 as settingsApiKeysTemplateMeta, meta$39 as settingsAppearanceTemplateMeta, meta$40 as settingsBillingTemplateMeta, meta$41 as settingsIntegrationsTemplateMeta, meta$42 as settingsMembersTemplateMeta, meta$43 as settingsNotificationsTemplateMeta, meta$44 as settingsProfileTemplateMeta, meta$45 as settingsSecurityTemplateMeta, meta$46 as settingsWorkspaceTemplateMeta, meta$47 as shellSidebarTemplateMeta, meta$48 as shellTopnavTemplateMeta, meta$49 as signInCardTemplateMeta, meta$50 as signInTemplateMeta, meta$51 as signUpTemplateMeta, meta$52 as ssoLoginTemplateMeta, meta$53 as status403TemplateMeta, meta$54 as status404TemplateMeta, meta$55 as status500TemplateMeta, meta$56 as statusMaintenanceTemplateMeta, meta$57 as upgradeRequiredTemplateMeta, meta$58 as usageAnalyticsTemplateMeta, meta$59 as verifyEmailTemplateMeta, meta$60 as workflowBuilderTemplateMeta };
|
|
2420
|
+
//# sourceMappingURL=index.d.ts.map
|