@mastra/playground-ui 20.0.1 → 20.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +60 -0
- package/dist/index.cjs.js +1915 -104
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.css +174 -5
- package/dist/index.es.js +1900 -100
- package/dist/index.es.js.map +1 -1
- package/dist/src/domains/logs/components/log-details.d.ts +12 -0
- package/dist/src/domains/logs/components/logs-date-range-selector.d.ts +12 -0
- package/dist/src/domains/logs/components/logs-list.d.ts +20 -0
- package/dist/src/domains/logs/components/logs-toolbar.d.ts +17 -0
- package/dist/src/domains/logs/components/no-logs-info.d.ts +1 -0
- package/dist/src/domains/logs/components/span-details.d.ts +6 -0
- package/dist/src/domains/logs/components/trace/format-hierarchical-spans.d.ts +3 -0
- package/dist/src/domains/logs/components/trace/format-logs-as-spans.d.ts +10 -0
- package/dist/src/domains/logs/components/trace/get-descendant-ids.d.ts +3 -0
- package/dist/src/domains/logs/components/trace/shared.d.ts +3 -0
- package/dist/src/domains/logs/components/trace/span-type-icon.d.ts +6 -0
- package/dist/src/domains/logs/components/trace/timeline-expand-col.d.ts +13 -0
- package/dist/src/domains/logs/components/trace/timeline-name-col.d.ts +15 -0
- package/dist/src/domains/logs/components/trace/timeline-structure-sign.d.ts +5 -0
- package/dist/src/domains/logs/components/trace/timeline-timing-col.d.ts +11 -0
- package/dist/src/domains/logs/components/trace/trace-timeline-span.d.ts +17 -0
- package/dist/src/domains/logs/components/trace/trace-timeline.d.ts +13 -0
- package/dist/src/domains/logs/components/trace/types.d.ts +17 -0
- package/dist/src/domains/logs/components/trace-details.d.ts +8 -0
- package/dist/src/domains/logs/hooks/use-logs-filters.d.ts +25 -0
- package/dist/src/domains/logs/hooks/use-trace-spans.d.ts +44 -0
- package/dist/src/domains/logs/index.d.ts +7 -0
- package/dist/src/domains/logs/types.d.ts +32 -0
- package/dist/src/ds/components/DataDetailsPanel/data-details-panel-close-button.d.ts +6 -0
- package/dist/src/ds/components/DataDetailsPanel/data-details-panel-code-section.d.ts +8 -0
- package/dist/src/ds/components/DataDetailsPanel/data-details-panel-content.d.ts +5 -0
- package/dist/src/ds/components/DataDetailsPanel/data-details-panel-header.d.ts +5 -0
- package/dist/src/ds/components/DataDetailsPanel/data-details-panel-heading.d.ts +5 -0
- package/dist/src/ds/components/DataDetailsPanel/data-details-panel-key-value-list.d.ts +26 -0
- package/dist/src/ds/components/DataDetailsPanel/data-details-panel-loading-data.d.ts +5 -0
- package/dist/src/ds/components/DataDetailsPanel/data-details-panel-no-data.d.ts +4 -0
- package/dist/src/ds/components/DataDetailsPanel/data-details-panel.d.ts +5 -0
- package/dist/src/ds/components/DataDetailsPanel/index.d.ts +32 -0
- package/dist/src/ds/components/DataFilter/index.d.ts +2 -0
- package/dist/src/ds/components/DataFilter/select-data-filter.d.ts +40 -0
- package/dist/src/ds/components/DataList/data-list-cells.d.ts +10 -0
- package/dist/src/ds/components/DataList/data-list-next-page-loading.d.ts +8 -0
- package/dist/src/ds/components/DataList/data-list-no-match.d.ts +5 -0
- package/dist/src/ds/components/DataList/data-list-root.d.ts +7 -0
- package/dist/src/ds/components/DataList/data-list-row-button.d.ts +7 -0
- package/dist/src/ds/components/DataList/data-list-row-link.d.ts +7 -0
- package/dist/src/ds/components/DataList/data-list-row.d.ts +6 -0
- package/dist/src/ds/components/DataList/data-list-skeleton.d.ts +5 -0
- package/dist/src/ds/components/DataList/data-list-top-cell.d.ts +20 -0
- package/dist/src/ds/components/DataList/data-list-top.d.ts +6 -0
- package/dist/src/ds/components/DataList/data-list.d.ts +24 -0
- package/dist/src/ds/components/DataList/index.d.ts +2 -0
- package/dist/src/ds/components/DataList/shared.d.ts +1 -0
- package/dist/src/ds/components/FormFieldBlocks/fields/search-field-block.d.ts +3 -1
- package/dist/src/ds/components/ListSearch/list-search.d.ts +3 -1
- package/dist/src/ds/components/LogsDataList/index.d.ts +2 -0
- package/dist/src/ds/components/LogsDataList/logs-data-list-cells.d.ts +26 -0
- package/dist/src/ds/components/LogsDataList/logs-data-list.d.ts +26 -0
- package/dist/src/index.d.ts +4 -0
- package/package.json +8 -8
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { LogRecord } from '../types';
|
|
2
|
+
export interface LogDetailsProps {
|
|
3
|
+
log: LogRecord;
|
|
4
|
+
onClose: () => void;
|
|
5
|
+
onTraceClick?: (traceId: string) => void;
|
|
6
|
+
onSpanClick?: (traceId: string, spanId: string) => void;
|
|
7
|
+
onPrevious?: () => void;
|
|
8
|
+
onNext?: () => void;
|
|
9
|
+
collapsed?: boolean;
|
|
10
|
+
onCollapsedChange?: (collapsed: boolean) => void;
|
|
11
|
+
}
|
|
12
|
+
export declare function LogDetails({ log, onClose, onTraceClick, onSpanClick, onPrevious, onNext, collapsed: controlledCollapsed, onCollapsedChange, }: LogDetailsProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
declare const DATE_PRESETS: {
|
|
2
|
+
label: string;
|
|
3
|
+
value: string;
|
|
4
|
+
}[];
|
|
5
|
+
export type LogsDatePreset = (typeof DATE_PRESETS)[number]['value'];
|
|
6
|
+
export declare function isValidLogsDatePreset(value: string | null | undefined): value is LogsDatePreset;
|
|
7
|
+
export interface LogsDateRangeSelectorProps {
|
|
8
|
+
value: string;
|
|
9
|
+
onChange: (value: string) => void;
|
|
10
|
+
}
|
|
11
|
+
export declare function LogsDateRangeSelector({ value, onChange }: LogsDateRangeSelectorProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { LogRecord } from '../types';
|
|
2
|
+
export interface FeaturedIds {
|
|
3
|
+
logId?: string | null;
|
|
4
|
+
traceId?: string | null;
|
|
5
|
+
spanId?: string | null;
|
|
6
|
+
}
|
|
7
|
+
export interface LogsListProps {
|
|
8
|
+
logs: LogRecord[];
|
|
9
|
+
isLoading?: boolean;
|
|
10
|
+
isFetchingNextPage?: boolean;
|
|
11
|
+
hasNextPage?: boolean;
|
|
12
|
+
setEndOfListElement?: (element: HTMLDivElement | null) => void;
|
|
13
|
+
error?: Error | null;
|
|
14
|
+
hasActiveFilters?: boolean;
|
|
15
|
+
featuredLogId?: string | null;
|
|
16
|
+
featuredTraceId?: string | null;
|
|
17
|
+
featuredSpanId?: string | null;
|
|
18
|
+
onFeaturedChange?: (ids: FeaturedIds) => void;
|
|
19
|
+
}
|
|
20
|
+
export declare function LogsList({ logs, isLoading, isFetchingNextPage, hasNextPage, setEndOfListElement, error, hasActiveFilters, featuredLogId: controlledLogId, featuredTraceId: controlledTraceId, featuredSpanId: controlledSpanId, onFeaturedChange, }: LogsListProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { FilterGroup, FilterColumn } from '../hooks/use-logs-filters';
|
|
2
|
+
import { LogsDatePreset } from './logs-date-range-selector';
|
|
3
|
+
export interface LogsToolbarProps {
|
|
4
|
+
onSearchChange: (query: string) => void;
|
|
5
|
+
datePreset: LogsDatePreset;
|
|
6
|
+
onDatePresetChange: (preset: LogsDatePreset) => void;
|
|
7
|
+
filterGroups: FilterGroup[];
|
|
8
|
+
filterColumns: FilterColumn[];
|
|
9
|
+
onToggleComparator: (id: string) => void;
|
|
10
|
+
onRemoveFilterGroup: (id: string) => void;
|
|
11
|
+
onClearAllFilters: () => void;
|
|
12
|
+
onFilterGroupsChange: (next: Record<string, string[]>) => void;
|
|
13
|
+
onReset?: () => void;
|
|
14
|
+
isLoading?: boolean;
|
|
15
|
+
hasActiveFilters?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export declare function LogsToolbar({ onSearchChange, datePreset, onDatePresetChange, filterGroups, filterColumns, onToggleComparator: _onToggleComparator, onRemoveFilterGroup: _onRemoveFilterGroup, onClearAllFilters: _onClearAllFilters, onFilterGroupsChange, onReset, isLoading, hasActiveFilters, }: LogsToolbarProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const NoLogsInfo: () => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { LogRecord } from '../../types';
|
|
2
|
+
import { UISpan } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Converts LogRecord[] (filtered by traceId) into hierarchical UISpan[] for the timeline.
|
|
5
|
+
*
|
|
6
|
+
* Since LogRecord doesn't have the full span hierarchy (no parentSpanId, startedAt/endedAt pairs),
|
|
7
|
+
* we group logs by spanId and create a flat list of spans sorted by timestamp.
|
|
8
|
+
* Each unique spanId becomes a UISpan with its earliest and latest log timestamps as start/end.
|
|
9
|
+
*/
|
|
10
|
+
export declare function formatLogsAsSpans(logs: LogRecord[]): UISpan[];
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
type TimelineExpandColProps = {
|
|
2
|
+
isSelected?: boolean;
|
|
3
|
+
isFaded?: boolean;
|
|
4
|
+
isExpanded?: boolean;
|
|
5
|
+
toggleChildren?: () => void;
|
|
6
|
+
expandAllDescendants?: () => void;
|
|
7
|
+
expandedSpanIds?: string[];
|
|
8
|
+
totalDescendants?: number;
|
|
9
|
+
allDescendantsExpanded?: boolean;
|
|
10
|
+
numOfChildren?: number;
|
|
11
|
+
};
|
|
12
|
+
export declare function TimelineExpandCol({ isSelected, isFaded, isExpanded, toggleChildren, expandAllDescendants, totalDescendants, allDescendantsExpanded, numOfChildren, }: TimelineExpandColProps): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { UISpan, UISpanStyle } from './types';
|
|
2
|
+
type TimelineNameColProps = {
|
|
3
|
+
span: UISpan;
|
|
4
|
+
spanUI?: UISpanStyle | null;
|
|
5
|
+
isFaded?: boolean;
|
|
6
|
+
depth?: number;
|
|
7
|
+
onSpanClick?: (id: string) => void;
|
|
8
|
+
selectedSpanId?: string;
|
|
9
|
+
isLastChild?: boolean;
|
|
10
|
+
hasChildren?: boolean;
|
|
11
|
+
isRootSpan?: boolean;
|
|
12
|
+
isExpanded?: boolean;
|
|
13
|
+
};
|
|
14
|
+
export declare function TimelineNameCol({ span, spanUI: _spanUI, isFaded, depth, onSpanClick, selectedSpanId, isLastChild, hasChildren: _hasChildren, isRootSpan, isExpanded: _isExpanded, }: TimelineNameColProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { UISpan } from './types';
|
|
2
|
+
type TimelineTimingColProps = {
|
|
3
|
+
span: UISpan;
|
|
4
|
+
selectedSpanId?: string;
|
|
5
|
+
isFaded?: boolean;
|
|
6
|
+
overallLatency?: number;
|
|
7
|
+
overallStartTime?: string;
|
|
8
|
+
color?: string;
|
|
9
|
+
};
|
|
10
|
+
export declare function TimelineTimingCol({ span, selectedSpanId, isFaded, overallLatency, overallStartTime, color, }: TimelineTimingColProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { UISpan } from './types';
|
|
2
|
+
type TraceTimelineSpanProps = {
|
|
3
|
+
span: UISpan;
|
|
4
|
+
depth?: number;
|
|
5
|
+
onSpanClick?: (id: string) => void;
|
|
6
|
+
selectedSpanId?: string;
|
|
7
|
+
isLastChild?: boolean;
|
|
8
|
+
overallLatency?: number;
|
|
9
|
+
overallStartTime?: string;
|
|
10
|
+
fadedTypes?: string[];
|
|
11
|
+
searchPhrase?: string;
|
|
12
|
+
featuredSpanIds?: string[];
|
|
13
|
+
expandedSpanIds?: string[];
|
|
14
|
+
setExpandedSpanIds?: React.Dispatch<React.SetStateAction<string[]>>;
|
|
15
|
+
};
|
|
16
|
+
export declare function TraceTimelineSpan({ span, depth, onSpanClick, selectedSpanId, isLastChild, overallLatency, overallStartTime, fadedTypes, searchPhrase, featuredSpanIds, expandedSpanIds, setExpandedSpanIds, }: TraceTimelineSpanProps): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { UISpan } from './types';
|
|
2
|
+
type TraceTimelineProps = {
|
|
3
|
+
hierarchicalSpans: UISpan[];
|
|
4
|
+
onSpanClick: (id: string) => void;
|
|
5
|
+
selectedSpanId?: string;
|
|
6
|
+
isLoading?: boolean;
|
|
7
|
+
fadedTypes?: string[];
|
|
8
|
+
expandedSpanIds?: string[];
|
|
9
|
+
setExpandedSpanIds?: React.Dispatch<React.SetStateAction<string[]>>;
|
|
10
|
+
featuredSpanIds?: string[];
|
|
11
|
+
};
|
|
12
|
+
export declare function TraceTimeline({ hierarchicalSpans, onSpanClick, selectedSpanId, isLoading, fadedTypes, expandedSpanIds, setExpandedSpanIds, featuredSpanIds, }: TraceTimelineProps): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export type UISpan = {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
type: string;
|
|
5
|
+
latency: number;
|
|
6
|
+
startTime: string;
|
|
7
|
+
endTime?: string;
|
|
8
|
+
spans?: UISpan[];
|
|
9
|
+
parentSpanId?: string | null;
|
|
10
|
+
};
|
|
11
|
+
export type UISpanStyle = {
|
|
12
|
+
icon?: React.ReactNode;
|
|
13
|
+
color?: string;
|
|
14
|
+
label?: string;
|
|
15
|
+
bgColor?: string;
|
|
16
|
+
typePrefix: string;
|
|
17
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { SpanRecord } from '@mastra/core/storage';
|
|
2
|
+
export interface TraceDetailsProps {
|
|
3
|
+
traceId: string;
|
|
4
|
+
onClose: () => void;
|
|
5
|
+
onSpanSelect?: (span: SpanRecord | undefined) => void;
|
|
6
|
+
initialSpanId?: string | null;
|
|
7
|
+
}
|
|
8
|
+
export declare function TraceDetails({ traceId, onClose, onSpanSelect, initialSpanId }: TraceDetailsProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { LogRecord } from '../types';
|
|
2
|
+
type Comparator = 'is' | 'is not';
|
|
3
|
+
export type FilterGroup = {
|
|
4
|
+
id: string;
|
|
5
|
+
field: string;
|
|
6
|
+
comparator: Comparator;
|
|
7
|
+
values: string[];
|
|
8
|
+
};
|
|
9
|
+
export type FilterColumn = {
|
|
10
|
+
field: string;
|
|
11
|
+
plural: string;
|
|
12
|
+
values: string[];
|
|
13
|
+
};
|
|
14
|
+
export declare function useLogsFilters(logs: LogRecord[]): {
|
|
15
|
+
searchQuery: string;
|
|
16
|
+
setSearchQuery: import('../../../../node_modules/@types/react').Dispatch<import('../../../../node_modules/@types/react').SetStateAction<string>>;
|
|
17
|
+
filterGroups: FilterGroup[];
|
|
18
|
+
filterColumns: FilterColumn[];
|
|
19
|
+
toggleComparator: (id: string) => void;
|
|
20
|
+
removeFilterGroup: (id: string) => void;
|
|
21
|
+
clearAllFilters: () => void;
|
|
22
|
+
updateFilterGroups: (nextState: Record<string, string[]>) => void;
|
|
23
|
+
filteredLogs: LogRecord[];
|
|
24
|
+
};
|
|
25
|
+
export {};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export declare function useTraceSpans(traceId: string | null | undefined): import('@tanstack/react-query').UseQueryResult<{
|
|
2
|
+
traceId: string;
|
|
3
|
+
spans: {
|
|
4
|
+
createdAt: Date;
|
|
5
|
+
updatedAt: Date | null;
|
|
6
|
+
name: string;
|
|
7
|
+
spanType: import('@mastra/core/observability').SpanType;
|
|
8
|
+
isEvent: boolean;
|
|
9
|
+
startedAt: Date;
|
|
10
|
+
traceId: string;
|
|
11
|
+
spanId: string;
|
|
12
|
+
experimentId?: string | null | undefined;
|
|
13
|
+
attributes?: Record<string, unknown> | null | undefined;
|
|
14
|
+
links?: unknown[] | null | undefined;
|
|
15
|
+
input?: unknown;
|
|
16
|
+
output?: unknown;
|
|
17
|
+
error?: unknown;
|
|
18
|
+
endedAt?: Date | null | undefined;
|
|
19
|
+
requestContext?: Record<string, unknown> | null | undefined;
|
|
20
|
+
metadata?: Record<string, unknown> | null | undefined;
|
|
21
|
+
tags?: string[] | null | undefined;
|
|
22
|
+
source?: string | null | undefined;
|
|
23
|
+
entityType?: import('@mastra/core/storage').EntityType | null | undefined;
|
|
24
|
+
entityId?: string | null | undefined;
|
|
25
|
+
entityName?: string | null | undefined;
|
|
26
|
+
parentEntityType?: import('@mastra/core/storage').EntityType | null | undefined;
|
|
27
|
+
parentEntityId?: string | null | undefined;
|
|
28
|
+
parentEntityName?: string | null | undefined;
|
|
29
|
+
rootEntityType?: import('@mastra/core/storage').EntityType | null | undefined;
|
|
30
|
+
rootEntityId?: string | null | undefined;
|
|
31
|
+
rootEntityName?: string | null | undefined;
|
|
32
|
+
userId?: string | null | undefined;
|
|
33
|
+
organizationId?: string | null | undefined;
|
|
34
|
+
resourceId?: string | null | undefined;
|
|
35
|
+
runId?: string | null | undefined;
|
|
36
|
+
sessionId?: string | null | undefined;
|
|
37
|
+
threadId?: string | null | undefined;
|
|
38
|
+
requestId?: string | null | undefined;
|
|
39
|
+
environment?: string | null | undefined;
|
|
40
|
+
serviceName?: string | null | undefined;
|
|
41
|
+
scope?: Record<string, unknown> | null | undefined;
|
|
42
|
+
parentSpanId?: string | null | undefined;
|
|
43
|
+
}[];
|
|
44
|
+
}, Error>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { LogDetails, type LogDetailsProps } from './components/log-details';
|
|
2
|
+
export { TraceDetails, type TraceDetailsProps } from './components/trace-details';
|
|
3
|
+
export { LogsList, type LogsListProps, type FeaturedIds } from './components/logs-list';
|
|
4
|
+
export { LogsToolbar, type LogsToolbarProps } from './components/logs-toolbar';
|
|
5
|
+
export { useLogsFilters, type FilterGroup, type FilterColumn } from './hooks/use-logs-filters';
|
|
6
|
+
export { isValidLogsDatePreset, type LogsDatePreset } from './components/logs-date-range-selector';
|
|
7
|
+
export type { LogRecord, LogLevel } from './types';
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export type LogLevel = 'debug' | 'info' | 'warn' | 'error' | 'fatal';
|
|
2
|
+
export interface LogRecord {
|
|
3
|
+
timestamp: Date | string;
|
|
4
|
+
level: LogLevel;
|
|
5
|
+
message: string;
|
|
6
|
+
data?: Record<string, unknown> | null;
|
|
7
|
+
traceId?: string | null;
|
|
8
|
+
spanId?: string | null;
|
|
9
|
+
entityType?: string | null;
|
|
10
|
+
entityId?: string | null;
|
|
11
|
+
entityName?: string | null;
|
|
12
|
+
parentEntityType?: string | null;
|
|
13
|
+
parentEntityId?: string | null;
|
|
14
|
+
parentEntityName?: string | null;
|
|
15
|
+
rootEntityType?: string | null;
|
|
16
|
+
rootEntityId?: string | null;
|
|
17
|
+
rootEntityName?: string | null;
|
|
18
|
+
userId?: string | null;
|
|
19
|
+
organizationId?: string | null;
|
|
20
|
+
resourceId?: string | null;
|
|
21
|
+
runId?: string | null;
|
|
22
|
+
sessionId?: string | null;
|
|
23
|
+
threadId?: string | null;
|
|
24
|
+
requestId?: string | null;
|
|
25
|
+
environment?: string | null;
|
|
26
|
+
source?: string | null;
|
|
27
|
+
serviceName?: string | null;
|
|
28
|
+
scope?: string | null;
|
|
29
|
+
experimentId?: string | null;
|
|
30
|
+
tags?: string[] | null;
|
|
31
|
+
metadata?: Record<string, unknown> | null;
|
|
32
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export interface DataDetailsPanelCloseButtonProps {
|
|
2
|
+
onClick: () => void;
|
|
3
|
+
tooltip?: string;
|
|
4
|
+
className?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function DataDetailsPanelCloseButton({ onClick, tooltip, className, }: DataDetailsPanelCloseButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface DataDetailsPanelCodeSectionProps {
|
|
2
|
+
title: React.ReactNode;
|
|
3
|
+
icon?: React.ReactNode;
|
|
4
|
+
codeStr?: string;
|
|
5
|
+
simplified?: boolean;
|
|
6
|
+
className?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function DataDetailsPanelCodeSection({ codeStr, title, icon, simplified, className, }: DataDetailsPanelCodeSectionProps): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ReactNode } from '../../../../node_modules/@types/react';
|
|
2
|
+
export interface DataDetailsPanelContentProps {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
}
|
|
5
|
+
export declare function DataDetailsPanelContent({ children }: DataDetailsPanelContentProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export interface DataDetailsPanelKeyValueListProps {
|
|
2
|
+
className?: string;
|
|
3
|
+
children: React.ReactNode;
|
|
4
|
+
}
|
|
5
|
+
declare function Root({ className, children }: DataDetailsPanelKeyValueListProps): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export interface DataDetailsPanelKeyValueListKeyProps {
|
|
7
|
+
className?: string;
|
|
8
|
+
children: React.ReactNode;
|
|
9
|
+
}
|
|
10
|
+
declare function Key({ className, children }: DataDetailsPanelKeyValueListKeyProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export interface DataDetailsPanelKeyValueListValueProps {
|
|
12
|
+
className?: string;
|
|
13
|
+
children: React.ReactNode;
|
|
14
|
+
}
|
|
15
|
+
declare function Value({ className, children }: DataDetailsPanelKeyValueListValueProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export interface DataDetailsPanelKeyValueListHeaderProps {
|
|
17
|
+
className?: string;
|
|
18
|
+
children: React.ReactNode;
|
|
19
|
+
}
|
|
20
|
+
declare function Header({ className, children }: DataDetailsPanelKeyValueListHeaderProps): import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
export declare const DataDetailsPanelKeyValueList: typeof Root & {
|
|
22
|
+
Key: typeof Key;
|
|
23
|
+
Value: typeof Value;
|
|
24
|
+
Header: typeof Header;
|
|
25
|
+
};
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ReactNode } from '../../../../node_modules/@types/react';
|
|
2
|
+
export interface DataDetailsPanelLoadingDataProps {
|
|
3
|
+
children?: ReactNode;
|
|
4
|
+
}
|
|
5
|
+
export declare function DataDetailsPanelLoadingData({ children }: DataDetailsPanelLoadingDataProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { DataDetailsPanel as Root } from './data-details-panel';
|
|
2
|
+
import { DataDetailsPanelCloseButton } from './data-details-panel-close-button';
|
|
3
|
+
import { DataDetailsPanelCodeSection } from './data-details-panel-code-section';
|
|
4
|
+
import { DataDetailsPanelContent } from './data-details-panel-content';
|
|
5
|
+
import { DataDetailsPanelHeader } from './data-details-panel-header';
|
|
6
|
+
import { DataDetailsPanelHeading } from './data-details-panel-heading';
|
|
7
|
+
import { DataDetailsPanelLoadingData } from './data-details-panel-loading-data';
|
|
8
|
+
import { DataDetailsPanelNoData } from './data-details-panel-no-data';
|
|
9
|
+
declare const DataDetailsPanel: typeof Root & {
|
|
10
|
+
Header: typeof DataDetailsPanelHeader;
|
|
11
|
+
Heading: typeof DataDetailsPanelHeading;
|
|
12
|
+
CloseButton: typeof DataDetailsPanelCloseButton;
|
|
13
|
+
LoadingData: typeof DataDetailsPanelLoadingData;
|
|
14
|
+
NoData: typeof DataDetailsPanelNoData;
|
|
15
|
+
Content: typeof DataDetailsPanelContent;
|
|
16
|
+
KeyValueList: (({ className, children }: import('./data-details-panel-key-value-list').DataDetailsPanelKeyValueListProps) => import("react/jsx-runtime").JSX.Element) & {
|
|
17
|
+
Key: ({ className, children }: import('./data-details-panel-key-value-list').DataDetailsPanelKeyValueListKeyProps) => import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
Value: ({ className, children }: import('./data-details-panel-key-value-list').DataDetailsPanelKeyValueListValueProps) => import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
Header: ({ className, children }: import('./data-details-panel-key-value-list').DataDetailsPanelKeyValueListHeaderProps) => import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
};
|
|
21
|
+
CodeSection: typeof DataDetailsPanelCodeSection;
|
|
22
|
+
};
|
|
23
|
+
export { DataDetailsPanel };
|
|
24
|
+
export type { DataDetailsPanelProps } from './data-details-panel';
|
|
25
|
+
export type { DataDetailsPanelHeaderProps } from './data-details-panel-header';
|
|
26
|
+
export type { DataDetailsPanelHeadingProps } from './data-details-panel-heading';
|
|
27
|
+
export type { DataDetailsPanelCloseButtonProps } from './data-details-panel-close-button';
|
|
28
|
+
export type { DataDetailsPanelLoadingDataProps } from './data-details-panel-loading-data';
|
|
29
|
+
export type { DataDetailsPanelNoDataProps } from './data-details-panel-no-data';
|
|
30
|
+
export type { DataDetailsPanelContentProps } from './data-details-panel-content';
|
|
31
|
+
export type { DataDetailsPanelKeyValueListProps, DataDetailsPanelKeyValueListKeyProps, DataDetailsPanelKeyValueListValueProps, DataDetailsPanelKeyValueListHeaderProps, } from './data-details-panel-key-value-list';
|
|
32
|
+
export type { DataDetailsPanelCodeSectionProps } from './data-details-panel-code-section';
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { ReactNode } from '../../../../node_modules/@types/react';
|
|
2
|
+
/** A single selectable value within a filter category */
|
|
3
|
+
export type SelectDataFilterValue = {
|
|
4
|
+
value: string;
|
|
5
|
+
label: string;
|
|
6
|
+
};
|
|
7
|
+
/** Selection mode for a filter category */
|
|
8
|
+
export type SelectDataFilterMode = 'single' | 'multi';
|
|
9
|
+
/** A filter category that appears in the filter dropdown */
|
|
10
|
+
export type SelectDataFilterCategory = {
|
|
11
|
+
/** Unique identifier */
|
|
12
|
+
id: string;
|
|
13
|
+
/** Display label */
|
|
14
|
+
label: string;
|
|
15
|
+
/** Optional group header (categories with the same group are nested under it) */
|
|
16
|
+
group?: string;
|
|
17
|
+
/** Available values to pick from */
|
|
18
|
+
values: SelectDataFilterValue[];
|
|
19
|
+
/** 'single' = radio, 'multi' = checkboxes. Defaults to 'multi'. */
|
|
20
|
+
mode?: SelectDataFilterMode;
|
|
21
|
+
};
|
|
22
|
+
/** Current selected state: category id -> selected value(s) */
|
|
23
|
+
export type SelectDataFilterState = Record<string, string[]>;
|
|
24
|
+
export type SelectDataFilterProps = {
|
|
25
|
+
/** Filter categories to display */
|
|
26
|
+
categories: SelectDataFilterCategory[];
|
|
27
|
+
/** Current filter selections */
|
|
28
|
+
value: SelectDataFilterState;
|
|
29
|
+
/** Called when selections change */
|
|
30
|
+
onChange: (next: SelectDataFilterState) => void;
|
|
31
|
+
/** Disable the trigger button */
|
|
32
|
+
disabled?: boolean;
|
|
33
|
+
/** Override the trigger label */
|
|
34
|
+
label?: ReactNode;
|
|
35
|
+
/** Content alignment */
|
|
36
|
+
align?: 'start' | 'center' | 'end';
|
|
37
|
+
/** Minimum items before showing search in a submenu */
|
|
38
|
+
searchThreshold?: number;
|
|
39
|
+
};
|
|
40
|
+
export declare function SelectDataFilter({ categories, value, onChange, disabled, label, align, searchThreshold, }: SelectDataFilterProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ReactNode } from '../../../../node_modules/@types/react';
|
|
2
|
+
export type DataListCellProps = {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
className?: string;
|
|
5
|
+
height?: 'default' | 'compact';
|
|
6
|
+
};
|
|
7
|
+
export declare function DataListCell({ children, className, height }: DataListCellProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export declare function DataListTextCell({ children, className }: DataListCellProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export declare function DataListNameCell({ children, className }: DataListCellProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export declare function DataListDescriptionCell({ children, className }: DataListCellProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export type DataListNextPageLoadingProps = {
|
|
2
|
+
isLoading?: boolean;
|
|
3
|
+
hasMore?: boolean;
|
|
4
|
+
setEndOfListElement?: (element: HTMLDivElement | null) => void;
|
|
5
|
+
loadingText?: string;
|
|
6
|
+
noMoreDataText?: string;
|
|
7
|
+
};
|
|
8
|
+
export declare function DataListNextPageLoading({ isLoading, hasMore, setEndOfListElement, loadingText, noMoreDataText, }: DataListNextPageLoadingProps): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ReactNode } from '../../../../node_modules/@types/react';
|
|
2
|
+
export type DataListRootProps = {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
columns: string;
|
|
5
|
+
className?: string;
|
|
6
|
+
};
|
|
7
|
+
export declare function DataListRoot({ children, columns, className }: DataListRootProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ReactNode } from '../../../../node_modules/@types/react';
|
|
2
|
+
export type DataListRowButtonProps = {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
onClick?: () => void;
|
|
5
|
+
className?: string;
|
|
6
|
+
};
|
|
7
|
+
export declare function DataListRowButton({ children, onClick, className }: DataListRowButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ReactNode } from '../../../../node_modules/@types/react';
|
|
2
|
+
export type DataListRowLinkProps = {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
to: string;
|
|
5
|
+
className?: string;
|
|
6
|
+
};
|
|
7
|
+
export declare function DataListRowLink({ children, to, className }: DataListRowLinkProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ReactNode } from '../../../../node_modules/@types/react';
|
|
2
|
+
export type DataListRowProps = {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
className?: string;
|
|
5
|
+
};
|
|
6
|
+
export declare function DataListRow({ children, className }: DataListRowProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ReactNode } from '../../../../node_modules/@types/react';
|
|
2
|
+
export type DataListTopCellProps = {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
className?: string;
|
|
5
|
+
};
|
|
6
|
+
export declare const DataListTopCell: import('../../../../node_modules/@types/react').ForwardRefExoticComponent<DataListTopCellProps & import('../../../../node_modules/@types/react').RefAttributes<HTMLSpanElement>>;
|
|
7
|
+
export type DataListTopCellWithTooltipProps = {
|
|
8
|
+
children: ReactNode;
|
|
9
|
+
tooltip: string;
|
|
10
|
+
className?: string;
|
|
11
|
+
};
|
|
12
|
+
export declare function DataListTopCellWithTooltip({ children, tooltip, className }: DataListTopCellWithTooltipProps): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export type DataListTopCellSmartProps = {
|
|
14
|
+
long: ReactNode;
|
|
15
|
+
short: ReactNode;
|
|
16
|
+
tooltip?: string;
|
|
17
|
+
breakpoint?: 'sm' | 'md' | 'lg' | 'xl' | '2xl';
|
|
18
|
+
className?: string;
|
|
19
|
+
};
|
|
20
|
+
export declare function DataListTopCellSmart({ long, short, tooltip, breakpoint, className, }: DataListTopCellSmartProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ReactNode } from '../../../../node_modules/@types/react';
|
|
2
|
+
export type DataListTopProps = {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
className?: string;
|
|
5
|
+
};
|
|
6
|
+
export declare function DataListTop({ children, className }: DataListTopProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { DataListCell, DataListTextCell, DataListNameCell, DataListDescriptionCell } from './data-list-cells';
|
|
2
|
+
import { DataListNextPageLoading } from './data-list-next-page-loading';
|
|
3
|
+
import { DataListNoMatch } from './data-list-no-match';
|
|
4
|
+
import { DataListRoot } from './data-list-root';
|
|
5
|
+
import { DataListRow } from './data-list-row';
|
|
6
|
+
import { DataListRowButton } from './data-list-row-button';
|
|
7
|
+
import { DataListRowLink } from './data-list-row-link';
|
|
8
|
+
import { DataListTop } from './data-list-top';
|
|
9
|
+
import { DataListTopCellWithTooltip, DataListTopCellSmart } from './data-list-top-cell';
|
|
10
|
+
export declare const DataList: typeof DataListRoot & {
|
|
11
|
+
Top: typeof DataListTop;
|
|
12
|
+
TopCell: import('../../../../node_modules/@types/react').ForwardRefExoticComponent<import('./data-list-top-cell').DataListTopCellProps & import('../../../../node_modules/@types/react').RefAttributes<HTMLSpanElement>>;
|
|
13
|
+
TopCellWithTooltip: typeof DataListTopCellWithTooltip;
|
|
14
|
+
TopCellSmart: typeof DataListTopCellSmart;
|
|
15
|
+
Row: typeof DataListRow;
|
|
16
|
+
RowButton: typeof DataListRowButton;
|
|
17
|
+
RowLink: typeof DataListRowLink;
|
|
18
|
+
Cell: typeof DataListCell;
|
|
19
|
+
TextCell: typeof DataListTextCell;
|
|
20
|
+
NameCell: typeof DataListNameCell;
|
|
21
|
+
DescriptionCell: typeof DataListDescriptionCell;
|
|
22
|
+
NoMatch: typeof DataListNoMatch;
|
|
23
|
+
NextPageLoading: typeof DataListNextPageLoading;
|
|
24
|
+
};
|