@omniviewdev/base-ui 0.4.3 → 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/base-ui.css +1 -1
- package/dist/index.d.ts +1008 -14
- package/dist/index.js +22431 -19207
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ import { Checkbox as Checkbox_2 } from '@base-ui/react/checkbox';
|
|
|
12
12
|
import { CheckboxGroup as CheckboxGroup_2 } from '@base-ui/react/checkbox-group';
|
|
13
13
|
import { ClipboardEvent as ClipboardEvent_2 } from 'react';
|
|
14
14
|
import { ColumnDef as ColumnDef_2 } from '@tanstack/react-table';
|
|
15
|
+
import { ColumnFiltersState } from '@tanstack/react-table';
|
|
15
16
|
import { ColumnOrderState } from '@tanstack/react-table';
|
|
16
17
|
import { ColumnPinningState } from '@tanstack/react-table';
|
|
17
18
|
import { ColumnSizingState } from '@tanstack/react-table';
|
|
@@ -42,6 +43,7 @@ import { FieldLabelProps } from '@base-ui/react';
|
|
|
42
43
|
import { FieldsetHTMLAttributes } from 'react';
|
|
43
44
|
import { FocusEvent as FocusEvent_2 } from 'react';
|
|
44
45
|
import { ForwardRefExoticComponent } from 'react';
|
|
46
|
+
import { GroupingState } from '@tanstack/react-table';
|
|
45
47
|
import { HTMLAttributes } from 'react';
|
|
46
48
|
import { ImgHTMLAttributes } from 'react';
|
|
47
49
|
import { Input as Input_2 } from '@base-ui/react/input';
|
|
@@ -239,6 +241,11 @@ declare const AlertDialogTrigger: {
|
|
|
239
241
|
export declare interface AlertDialogTriggerProps extends Omit<ComponentPropsWithoutRef<typeof AlertDialog_2.Trigger>, 'color'>, StyledComponentProps {
|
|
240
242
|
}
|
|
241
243
|
|
|
244
|
+
export declare function applyQueryEdit(text: string, edit: QueryEdit): {
|
|
245
|
+
text: string;
|
|
246
|
+
selection: number;
|
|
247
|
+
};
|
|
248
|
+
|
|
242
249
|
export declare const AppShell: AppShellCompound;
|
|
243
250
|
|
|
244
251
|
declare type AppShellCompound = typeof AppShellRoot & {
|
|
@@ -1384,6 +1391,7 @@ export declare const DataTable: DataTableCompound;
|
|
|
1384
1391
|
declare const DataTableBody: ForwardRefExoticComponent<DataTableBodyProps & RefAttributes<HTMLTableSectionElement>>;
|
|
1385
1392
|
|
|
1386
1393
|
export declare interface DataTableBodyProps extends HTMLAttributes<HTMLTableSectionElement> {
|
|
1394
|
+
/** Use DataTable.ExpansionToggle, or mark a custom disclosure with data-ov-expansion-toggle="". */
|
|
1387
1395
|
renderExpandedRow?: (row: unknown) => ReactNode;
|
|
1388
1396
|
}
|
|
1389
1397
|
|
|
@@ -1403,10 +1411,12 @@ declare type DataTableCompound = typeof DataTableRoot & {
|
|
|
1403
1411
|
Pagination: typeof DataTablePagination;
|
|
1404
1412
|
Empty: typeof DataTableEmpty;
|
|
1405
1413
|
Loading: typeof DataTableLoading;
|
|
1414
|
+
ExpansionToggle: typeof DataTableExpansionToggle;
|
|
1406
1415
|
};
|
|
1407
1416
|
|
|
1408
1417
|
declare const DataTableContainer: ForwardRefExoticComponent<DataTableContainerProps & RefAttributes<HTMLDivElement>>;
|
|
1409
1418
|
|
|
1419
|
+
/** Supply aria-label/aria-labelledby to name the viewport focus fallback. */
|
|
1410
1420
|
export declare interface DataTableContainerProps extends HTMLAttributes<HTMLDivElement> {
|
|
1411
1421
|
height?: number | string;
|
|
1412
1422
|
maxHeight?: number | string;
|
|
@@ -1428,6 +1438,17 @@ export declare interface DataTableEmptyProps extends HTMLAttributes<HTMLDivEleme
|
|
|
1428
1438
|
description?: string;
|
|
1429
1439
|
}
|
|
1430
1440
|
|
|
1441
|
+
/** Native Tab/Enter/Space behavior; does not turn the table into a grid. */
|
|
1442
|
+
declare function DataTableExpansionToggle<TData>({ row, label, getAccessibleLabel, className, children, disabled, onClick, ...props }: DataTableExpansionToggleProps<TData>): JSX.Element;
|
|
1443
|
+
|
|
1444
|
+
declare interface DataTableExpansionToggleProps<TData> extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'aria-label' | 'aria-expanded'> {
|
|
1445
|
+
row: Row<TData>;
|
|
1446
|
+
/** Row-specific accessible name, e.g. the displayed resource name. */
|
|
1447
|
+
label: string;
|
|
1448
|
+
/** Localize the complete accessible name; defaults to English Expand/Collapse plus label. */
|
|
1449
|
+
getAccessibleLabel?: (expanded: boolean, label: string) => string;
|
|
1450
|
+
}
|
|
1451
|
+
|
|
1431
1452
|
export declare interface DataTableFeatures {
|
|
1432
1453
|
sorting?: boolean;
|
|
1433
1454
|
filtering?: boolean;
|
|
@@ -1475,25 +1496,27 @@ export declare interface DataTableToolbarProps extends HTMLAttributes<HTMLDivEle
|
|
|
1475
1496
|
searchPlaceholder?: string;
|
|
1476
1497
|
}
|
|
1477
1498
|
|
|
1478
|
-
declare const DataTableVirtualBody:
|
|
1499
|
+
declare const DataTableVirtualBody: <TData = unknown>(props: DataTableVirtualBodyProps<TData> & RefAttributes<HTMLTableSectionElement>) => ReactElement | null;
|
|
1479
1500
|
|
|
1480
|
-
export declare interface DataTableVirtualBodyProps extends HTMLAttributes<HTMLTableSectionElement> {
|
|
1501
|
+
export declare interface DataTableVirtualBodyProps<TData = unknown> extends HTMLAttributes<HTMLTableSectionElement> {
|
|
1481
1502
|
estimateRowSize?: number;
|
|
1482
1503
|
overscan?: number;
|
|
1483
|
-
/**
|
|
1484
|
-
* When true, skips dynamic row measurement via `getBoundingClientRect`.
|
|
1485
|
-
* Use this when all rows have the same height (set via `estimateRowSize`)
|
|
1486
|
-
* to avoid forced reflow on mount — a significant perf win for large tables.
|
|
1487
|
-
*/
|
|
1504
|
+
/** Fixed parent-row height only. Expanded content is always dynamically measured. */
|
|
1488
1505
|
fixedRowHeight?: boolean;
|
|
1489
|
-
/**
|
|
1490
|
-
|
|
1506
|
+
/** Estimate for an unmeasured detail slot; actual asynchronous height is observed. */
|
|
1507
|
+
estimateExpandedRowSize?: number;
|
|
1491
1508
|
/**
|
|
1492
|
-
*
|
|
1493
|
-
*
|
|
1494
|
-
*
|
|
1509
|
+
* Same original-data slot as Body. Children mount only while expanded AND in
|
|
1510
|
+
* the virtual range. Retain query/cache ownership outside this component if
|
|
1511
|
+
* it must survive scrolling away. Collapse always removes the slot.
|
|
1512
|
+
* Use DataTable.ExpansionToggle for the disclosure. Custom disclosure buttons
|
|
1513
|
+
* need data-ov-expansion-toggle="" for parent-focus recovery after collapse.
|
|
1495
1514
|
*/
|
|
1496
|
-
|
|
1515
|
+
renderExpandedRow?: (original: TData) => ReactNode;
|
|
1516
|
+
/** Plain-cell pointer convenience; expose equivalent actions in native controls. */
|
|
1517
|
+
onRowClick?: (row: Row<TData>, event: MouseEvent_2<HTMLTableRowElement>) => void;
|
|
1518
|
+
/** Internal positioning and measurement attributes take precedence. */
|
|
1519
|
+
getRowProps?: (row: Row<TData>) => HTMLAttributes<HTMLTableRowElement>;
|
|
1497
1520
|
}
|
|
1498
1521
|
|
|
1499
1522
|
/**
|
|
@@ -2001,6 +2024,23 @@ export declare interface EmptyStateProps extends HTMLAttributes<HTMLDivElement>
|
|
|
2001
2024
|
size?: 'sm' | 'md' | 'lg';
|
|
2002
2025
|
}
|
|
2003
2026
|
|
|
2027
|
+
/** Composition only. Hosts retain query leases, routing, rendering and all query semantics. */
|
|
2028
|
+
export declare function ExploreWorkspace({ title, scope, query, variables, grouping, results, saveActions, status, inspector, loading, className, }: ExploreWorkspaceProps): JSX.Element;
|
|
2029
|
+
|
|
2030
|
+
export declare interface ExploreWorkspaceProps {
|
|
2031
|
+
title?: string;
|
|
2032
|
+
scope: ReactNode;
|
|
2033
|
+
query: ReactNode;
|
|
2034
|
+
variables?: ReactNode;
|
|
2035
|
+
grouping?: ReactNode;
|
|
2036
|
+
results: ReactNode;
|
|
2037
|
+
saveActions?: ReactNode;
|
|
2038
|
+
status?: ReactNode;
|
|
2039
|
+
inspector?: ReactNode;
|
|
2040
|
+
loading?: boolean;
|
|
2041
|
+
className?: string;
|
|
2042
|
+
}
|
|
2043
|
+
|
|
2004
2044
|
/** Any element that has a string `.value` and can receive focus. */
|
|
2005
2045
|
export declare interface FieldElement {
|
|
2006
2046
|
value: string;
|
|
@@ -2308,6 +2348,15 @@ export declare interface ImageProps extends Omit<ImgHTMLAttributes<HTMLImageElem
|
|
|
2308
2348
|
borderRadius?: ImageBorderRadius;
|
|
2309
2349
|
}
|
|
2310
2350
|
|
|
2351
|
+
export declare type IndexFootprint = {
|
|
2352
|
+
kind: 'actual' | 'estimated';
|
|
2353
|
+
value: string;
|
|
2354
|
+
basis: string;
|
|
2355
|
+
} | {
|
|
2356
|
+
kind: 'unavailable' | 'not-applicable';
|
|
2357
|
+
reason: string;
|
|
2358
|
+
};
|
|
2359
|
+
|
|
2311
2360
|
/** Internal props injected by StepperRoot via Children.map. */
|
|
2312
2361
|
declare interface InjectedStepProps {
|
|
2313
2362
|
/* Excluded from this release type: _index */
|
|
@@ -2349,6 +2398,25 @@ declare const InputRoot: ForwardRefExoticComponent<Omit<InputRootProps, "ref"> &
|
|
|
2349
2398
|
export declare interface InputRootProps extends Field.Root.Props, StyledComponentProps {
|
|
2350
2399
|
}
|
|
2351
2400
|
|
|
2401
|
+
export declare interface InspectorAsyncContext {
|
|
2402
|
+
/** Abort stops waiting for this request. The host decides whether underlying work can stop. */
|
|
2403
|
+
signal: AbortSignal;
|
|
2404
|
+
}
|
|
2405
|
+
|
|
2406
|
+
/** Presentation contracts only. The host owns planning, validation, matching and index lifecycle. */
|
|
2407
|
+
export declare interface InspectorDiagnostic {
|
|
2408
|
+
id: string;
|
|
2409
|
+
severity: 'info' | 'warning' | 'error';
|
|
2410
|
+
message: string;
|
|
2411
|
+
}
|
|
2412
|
+
|
|
2413
|
+
export declare interface InspectorEvidence {
|
|
2414
|
+
label: string;
|
|
2415
|
+
kind: 'actual' | 'estimated' | 'unavailable';
|
|
2416
|
+
value: string;
|
|
2417
|
+
basis: string;
|
|
2418
|
+
}
|
|
2419
|
+
|
|
2352
2420
|
export declare function isBuiltInThemeId(id: string): id is BuiltInThemeId;
|
|
2353
2421
|
|
|
2354
2422
|
/** True if the `year` is a leap year (Gregorian calendar). */
|
|
@@ -2869,6 +2937,428 @@ export declare interface ProgressProps extends Omit<HTMLAttributes<HTMLDivElemen
|
|
|
2869
2937
|
size?: ComponentSize;
|
|
2870
2938
|
}
|
|
2871
2939
|
|
|
2940
|
+
/** Both drafts are retained. Only an explicit successful host conversion changes mode. */
|
|
2941
|
+
export declare function QueryAuthoring({ value, onChange, contextKey, fields, request, renderEditor, toBuilder, toCode, onRun, onCancel, onRefresh, onClear, running, disabled, availability, state, scopes, scope, onScopeChange, inputProps, builderProps, labels, actions, children, className, }: QueryAuthoringProps): JSX.Element;
|
|
2942
|
+
|
|
2943
|
+
export declare interface QueryAuthoringLabels {
|
|
2944
|
+
code?: string;
|
|
2945
|
+
builder?: string;
|
|
2946
|
+
run?: string;
|
|
2947
|
+
clear?: string;
|
|
2948
|
+
}
|
|
2949
|
+
|
|
2950
|
+
export declare interface QueryAuthoringProps {
|
|
2951
|
+
value: QueryAuthoringValue;
|
|
2952
|
+
onChange: (value: QueryAuthoringValue) => void;
|
|
2953
|
+
contextKey: string;
|
|
2954
|
+
fields: QueryBuilderProps['fields'];
|
|
2955
|
+
request?: QueryLanguageService;
|
|
2956
|
+
/** Render the host's code editor without introducing a base-ui/editor dependency. */
|
|
2957
|
+
renderEditor?: (props: QueryEditorRenderProps) => ReactNode;
|
|
2958
|
+
toBuilder?: (document: QueryDocument, context: QueryConversionContext) => Promise<QueryConversionResult<QueryGroup>>;
|
|
2959
|
+
toCode?: (builder: QueryGroup, context: QueryConversionContext) => Promise<QueryConversionResult<string>>;
|
|
2960
|
+
onRun?: (value: QueryAuthoringValue) => void;
|
|
2961
|
+
onCancel?: () => void;
|
|
2962
|
+
onRefresh?: () => void;
|
|
2963
|
+
onClear?: () => void;
|
|
2964
|
+
running?: boolean;
|
|
2965
|
+
disabled?: boolean;
|
|
2966
|
+
availability?: QueryAvailability;
|
|
2967
|
+
state?: QueryPresentationState;
|
|
2968
|
+
scopes?: readonly QueryScopeOption[];
|
|
2969
|
+
scope?: string;
|
|
2970
|
+
onScopeChange?: (scope: string) => void;
|
|
2971
|
+
inputProps?: Pick<QueryInputProps, 'rows' | 'label' | 'placeholder' | 'debounceMs' | 'maxSuggestions'>;
|
|
2972
|
+
builderProps?: Omit<QueryBuilderProps, 'value' | 'onChange' | 'fields' | 'contextKey' | 'availability' | 'disabled'>;
|
|
2973
|
+
labels?: QueryAuthoringLabels;
|
|
2974
|
+
actions?: ReactNode;
|
|
2975
|
+
children?: ReactNode;
|
|
2976
|
+
className?: string;
|
|
2977
|
+
}
|
|
2978
|
+
|
|
2979
|
+
export declare interface QueryAuthoringValue {
|
|
2980
|
+
mode: 'code' | 'builder';
|
|
2981
|
+
code: QueryDocument;
|
|
2982
|
+
builder: QueryGroup;
|
|
2983
|
+
}
|
|
2984
|
+
|
|
2985
|
+
export declare interface QueryAvailability {
|
|
2986
|
+
status: 'ready' | 'loading' | 'error' | 'denied' | 'unavailable';
|
|
2987
|
+
message?: string;
|
|
2988
|
+
}
|
|
2989
|
+
|
|
2990
|
+
export declare function QueryBuilder({ value, onChange, fields, contextKey, disabled, availability, allowNegation, diagnostics, analyze, preview, explanation, examples, className, }: QueryBuilderProps): JSX.Element;
|
|
2991
|
+
|
|
2992
|
+
export declare interface QueryBuilderAnalysis {
|
|
2993
|
+
status: QueryServiceStatus;
|
|
2994
|
+
message?: string;
|
|
2995
|
+
diagnostics: readonly QueryBuilderDiagnostic[];
|
|
2996
|
+
preview?: string;
|
|
2997
|
+
explanation?: string;
|
|
2998
|
+
}
|
|
2999
|
+
|
|
3000
|
+
export declare interface QueryBuilderDiagnostic {
|
|
3001
|
+
nodeId?: string;
|
|
3002
|
+
message: string;
|
|
3003
|
+
severity: 'error' | 'warning' | 'info';
|
|
3004
|
+
}
|
|
3005
|
+
|
|
3006
|
+
export declare interface QueryBuilderProps {
|
|
3007
|
+
value: QueryGroup;
|
|
3008
|
+
onChange: (value: QueryGroup) => void;
|
|
3009
|
+
fields: readonly QueryField[];
|
|
3010
|
+
contextKey?: string;
|
|
3011
|
+
disabled?: boolean;
|
|
3012
|
+
availability?: QueryAvailability;
|
|
3013
|
+
diagnostics?: readonly QueryBuilderDiagnostic[];
|
|
3014
|
+
/** Host-authorized operation. Negation is whole-clause/group NOT, never inequality. */
|
|
3015
|
+
allowNegation?: boolean;
|
|
3016
|
+
analyze?: (value: QueryGroup, context: QueryConversionContext) => Promise<QueryBuilderAnalysis>;
|
|
3017
|
+
preview?: string;
|
|
3018
|
+
explanation?: string;
|
|
3019
|
+
examples?: readonly {
|
|
3020
|
+
label: string;
|
|
3021
|
+
description: string;
|
|
3022
|
+
value: QueryGroup;
|
|
3023
|
+
}[];
|
|
3024
|
+
className?: string;
|
|
3025
|
+
}
|
|
3026
|
+
|
|
3027
|
+
export declare interface QueryClause {
|
|
3028
|
+
kind: 'clause';
|
|
3029
|
+
id: string;
|
|
3030
|
+
field?: string;
|
|
3031
|
+
operator?: string;
|
|
3032
|
+
value?: QueryValue;
|
|
3033
|
+
negated?: boolean;
|
|
3034
|
+
}
|
|
3035
|
+
|
|
3036
|
+
export declare interface QueryCompletion {
|
|
3037
|
+
id: string;
|
|
3038
|
+
label: string;
|
|
3039
|
+
kind: 'field' | 'operator' | 'value' | 'parameter' | 'function';
|
|
3040
|
+
type?: string;
|
|
3041
|
+
description?: string;
|
|
3042
|
+
/** Presentation-only candidate matching and host relevance order. */
|
|
3043
|
+
filterText?: string;
|
|
3044
|
+
sortText?: string;
|
|
3045
|
+
/** Snippets use Monaco/LSP tab-stop syntax; plain edits are the default. */
|
|
3046
|
+
insertTextFormat?: 'plain' | 'snippet';
|
|
3047
|
+
/** Host-provided union/branch applicability. Never inferred by the component. */
|
|
3048
|
+
condition?: string;
|
|
3049
|
+
detail?: string;
|
|
3050
|
+
disabledReason?: string;
|
|
3051
|
+
edit: QueryEdit;
|
|
3052
|
+
}
|
|
3053
|
+
|
|
3054
|
+
export declare interface QueryConversionContext {
|
|
3055
|
+
contextKey: string;
|
|
3056
|
+
signal: AbortSignal;
|
|
3057
|
+
}
|
|
3058
|
+
|
|
3059
|
+
export declare type QueryConversionResult<T> = {
|
|
3060
|
+
status: 'ready';
|
|
3061
|
+
value: T;
|
|
3062
|
+
message?: string;
|
|
3063
|
+
} | {
|
|
3064
|
+
status: 'unsupported' | 'error' | 'denied' | 'unavailable';
|
|
3065
|
+
message: string;
|
|
3066
|
+
};
|
|
3067
|
+
|
|
3068
|
+
export declare interface QueryDiagnostic {
|
|
3069
|
+
id: string;
|
|
3070
|
+
severity: 'error' | 'warning' | 'info' | 'hint';
|
|
3071
|
+
message: string;
|
|
3072
|
+
range: QueryRange;
|
|
3073
|
+
fix?: QueryEdit;
|
|
3074
|
+
}
|
|
3075
|
+
|
|
3076
|
+
export declare interface QueryDocument {
|
|
3077
|
+
text: string;
|
|
3078
|
+
version: number;
|
|
3079
|
+
/** Optional editor-owned identity; authoring adapters must isolate distinct models. */
|
|
3080
|
+
uri?: string;
|
|
3081
|
+
}
|
|
3082
|
+
|
|
3083
|
+
export declare interface QueryEdit {
|
|
3084
|
+
range: QueryRange;
|
|
3085
|
+
text: string;
|
|
3086
|
+
}
|
|
3087
|
+
|
|
3088
|
+
/** Dependency-injected code surface. Base UI owns controls and drafts, never Monaco. */
|
|
3089
|
+
export declare interface QueryEditorRenderProps {
|
|
3090
|
+
document: QueryDocument;
|
|
3091
|
+
onChange: (text: string) => void;
|
|
3092
|
+
contextKey: string;
|
|
3093
|
+
request?: QueryLanguageService;
|
|
3094
|
+
availability?: QueryAvailability;
|
|
3095
|
+
disabled?: boolean;
|
|
3096
|
+
onSubmit?: () => void;
|
|
3097
|
+
label?: string;
|
|
3098
|
+
placeholder?: string;
|
|
3099
|
+
debounceMs?: number;
|
|
3100
|
+
maxSuggestions?: number;
|
|
3101
|
+
}
|
|
3102
|
+
|
|
3103
|
+
export declare interface QueryExplain {
|
|
3104
|
+
queryLabel: string;
|
|
3105
|
+
scope: string;
|
|
3106
|
+
coverage: string;
|
|
3107
|
+
freshness: string;
|
|
3108
|
+
selectionReason: string;
|
|
3109
|
+
measuredAt?: string;
|
|
3110
|
+
stages: readonly {
|
|
3111
|
+
id: string;
|
|
3112
|
+
label: string;
|
|
3113
|
+
description: string;
|
|
3114
|
+
indexIds: readonly string[];
|
|
3115
|
+
work: readonly InspectorEvidence[];
|
|
3116
|
+
}[];
|
|
3117
|
+
diagnostics: readonly InspectorDiagnostic[];
|
|
3118
|
+
}
|
|
3119
|
+
|
|
3120
|
+
export declare function QueryExplainPanel({ explain, state, message }: QueryExplainPanelProps): JSX.Element;
|
|
3121
|
+
|
|
3122
|
+
export declare interface QueryExplainPanelProps {
|
|
3123
|
+
explain?: QueryExplain;
|
|
3124
|
+
state?: 'ready' | 'loading' | 'denied' | 'unavailable';
|
|
3125
|
+
message?: string;
|
|
3126
|
+
}
|
|
3127
|
+
|
|
3128
|
+
export declare interface QueryField {
|
|
3129
|
+
id: string;
|
|
3130
|
+
label: string;
|
|
3131
|
+
type: string;
|
|
3132
|
+
description?: string;
|
|
3133
|
+
condition?: string;
|
|
3134
|
+
disabledReason?: string;
|
|
3135
|
+
operators: readonly QueryOperator[];
|
|
3136
|
+
}
|
|
3137
|
+
|
|
3138
|
+
export declare interface QueryGroup {
|
|
3139
|
+
kind: 'group';
|
|
3140
|
+
id: string;
|
|
3141
|
+
combinator: 'and' | 'or';
|
|
3142
|
+
children: readonly QueryNode[];
|
|
3143
|
+
negated?: boolean;
|
|
3144
|
+
}
|
|
3145
|
+
|
|
3146
|
+
export declare interface QueryHoverResponse {
|
|
3147
|
+
documentVersion: number;
|
|
3148
|
+
contextKey: string;
|
|
3149
|
+
status: QueryServiceStatus;
|
|
3150
|
+
message?: string;
|
|
3151
|
+
/** Untrusted Markdown documentation for a checked source range. */
|
|
3152
|
+
hover?: {
|
|
3153
|
+
range: QueryRange;
|
|
3154
|
+
contents: string;
|
|
3155
|
+
};
|
|
3156
|
+
}
|
|
3157
|
+
|
|
3158
|
+
export declare type QueryHoverService = (request: QueryLanguageRequest) => Promise<QueryHoverResponse>;
|
|
3159
|
+
|
|
3160
|
+
/** Compact native editing mechanics: no CEL parser, schema walker, Monaco model or worker. */
|
|
3161
|
+
export declare function QueryInput({ document, onChange, contextKey, request, onSubmit, label, placeholder, disabled, readOnly, availability, debounceMs, maxSuggestions, rows, className, }: QueryInputProps): JSX.Element;
|
|
3162
|
+
|
|
3163
|
+
export declare interface QueryInputProps {
|
|
3164
|
+
document: QueryDocument;
|
|
3165
|
+
onChange: (text: string) => void;
|
|
3166
|
+
contextKey: string;
|
|
3167
|
+
request?: QueryLanguageService;
|
|
3168
|
+
onSubmit?: () => void;
|
|
3169
|
+
label?: string;
|
|
3170
|
+
placeholder?: string;
|
|
3171
|
+
disabled?: boolean;
|
|
3172
|
+
readOnly?: boolean;
|
|
3173
|
+
availability?: QueryAvailability;
|
|
3174
|
+
debounceMs?: number;
|
|
3175
|
+
/** Bounded visible suggestions; the service must also enforce its own response limit. */
|
|
3176
|
+
maxSuggestions?: number;
|
|
3177
|
+
rows?: number;
|
|
3178
|
+
className?: string;
|
|
3179
|
+
}
|
|
3180
|
+
|
|
3181
|
+
export declare interface QueryLanguageRequest {
|
|
3182
|
+
document: QueryDocument;
|
|
3183
|
+
cursor: {
|
|
3184
|
+
offset: number;
|
|
3185
|
+
unit: 'utf8-byte';
|
|
3186
|
+
};
|
|
3187
|
+
contextKey: string;
|
|
3188
|
+
signal: AbortSignal;
|
|
3189
|
+
}
|
|
3190
|
+
|
|
3191
|
+
export declare interface QueryLanguageResponse {
|
|
3192
|
+
documentVersion: number;
|
|
3193
|
+
contextKey: string;
|
|
3194
|
+
status: QueryServiceStatus;
|
|
3195
|
+
message?: string;
|
|
3196
|
+
completions: readonly QueryCompletion[];
|
|
3197
|
+
diagnostics: readonly QueryDiagnostic[];
|
|
3198
|
+
/** Suggestions are bounded observations, not exhaustive inventory/schema facts. */
|
|
3199
|
+
incomplete?: boolean;
|
|
3200
|
+
}
|
|
3201
|
+
|
|
3202
|
+
export declare type QueryLanguageService = (request: QueryLanguageRequest) => Promise<QueryLanguageResponse>;
|
|
3203
|
+
|
|
3204
|
+
export declare type QueryNode = QueryClause | QueryGroup;
|
|
3205
|
+
|
|
3206
|
+
export declare interface QueryOperator {
|
|
3207
|
+
id: string;
|
|
3208
|
+
label: string;
|
|
3209
|
+
description?: string;
|
|
3210
|
+
/** Omit for host-defined state clauses such as present/absent/null. */
|
|
3211
|
+
value?: QueryValueDefinition;
|
|
3212
|
+
disabledReason?: string;
|
|
3213
|
+
}
|
|
3214
|
+
|
|
3215
|
+
export declare interface QueryOptionRequest {
|
|
3216
|
+
contextKey: string;
|
|
3217
|
+
search: string;
|
|
3218
|
+
signal: AbortSignal;
|
|
3219
|
+
}
|
|
3220
|
+
|
|
3221
|
+
export declare interface QueryOptionResponse {
|
|
3222
|
+
contextKey: string;
|
|
3223
|
+
status: QueryServiceStatus;
|
|
3224
|
+
options: readonly QueryValueOption[];
|
|
3225
|
+
message?: string;
|
|
3226
|
+
incomplete?: boolean;
|
|
3227
|
+
}
|
|
3228
|
+
|
|
3229
|
+
export declare interface QueryPresentationState {
|
|
3230
|
+
status: 'idle' | 'loading' | 'live' | 'snapshot' | 'stale' | 'partial' | 'error' | 'denied' | 'unavailable';
|
|
3231
|
+
message: string;
|
|
3232
|
+
detail?: ReactNode;
|
|
3233
|
+
}
|
|
3234
|
+
|
|
3235
|
+
/** Local presentation contracts, not a host wire protocol. Source offsets are zero-based,
|
|
3236
|
+
* half-open UTF-8 byte offsets. The adapter converts DOM UTF-16 offsets explicitly. */
|
|
3237
|
+
export declare interface QueryRange {
|
|
3238
|
+
start: number;
|
|
3239
|
+
end: number;
|
|
3240
|
+
unit: 'utf8-byte';
|
|
3241
|
+
}
|
|
3242
|
+
|
|
3243
|
+
export declare interface QueryScopeOption {
|
|
3244
|
+
id: string;
|
|
3245
|
+
label: string;
|
|
3246
|
+
description?: string;
|
|
3247
|
+
disabledReason?: string;
|
|
3248
|
+
}
|
|
3249
|
+
|
|
3250
|
+
export declare type QueryServiceStatus = 'ready' | 'empty' | 'error' | 'denied' | 'unavailable';
|
|
3251
|
+
|
|
3252
|
+
export declare interface QuerySignatureResponse {
|
|
3253
|
+
documentVersion: number;
|
|
3254
|
+
contextKey: string;
|
|
3255
|
+
status: QueryServiceStatus;
|
|
3256
|
+
message?: string;
|
|
3257
|
+
signature?: {
|
|
3258
|
+
label: string;
|
|
3259
|
+
documentation?: string;
|
|
3260
|
+
parameters: readonly {
|
|
3261
|
+
label: string;
|
|
3262
|
+
documentation?: string;
|
|
3263
|
+
}[];
|
|
3264
|
+
activeParameter: number;
|
|
3265
|
+
};
|
|
3266
|
+
}
|
|
3267
|
+
|
|
3268
|
+
export declare type QuerySignatureService = (request: QueryLanguageRequest) => Promise<QuerySignatureResponse>;
|
|
3269
|
+
|
|
3270
|
+
/** Numeric and timestamp drafts remain text. Host validation/admission owns conversion,
|
|
3271
|
+
* exactness, ranges, timezone policy, nullability, defaults and execution binding. */
|
|
3272
|
+
export declare type QueryValue = {
|
|
3273
|
+
kind: 'string' | 'integer' | 'number' | 'timestamp';
|
|
3274
|
+
value: string;
|
|
3275
|
+
} | {
|
|
3276
|
+
kind: 'boolean';
|
|
3277
|
+
value: boolean;
|
|
3278
|
+
} | {
|
|
3279
|
+
kind: 'enum';
|
|
3280
|
+
value: string;
|
|
3281
|
+
} | {
|
|
3282
|
+
kind: 'list';
|
|
3283
|
+
value: readonly string[];
|
|
3284
|
+
} | {
|
|
3285
|
+
kind: 'record';
|
|
3286
|
+
value: Readonly<Record<string, QueryValue | undefined>>;
|
|
3287
|
+
};
|
|
3288
|
+
|
|
3289
|
+
/** Host-defined compound inputs preserve correlations (for example a tag key/value
|
|
3290
|
+
* pair). Their field IDs are opaque and do not imply paths or query semantics. */
|
|
3291
|
+
export declare type QueryValueDefinition = QueryValueDefinitionBase & ({
|
|
3292
|
+
kind: Exclude<QueryValue['kind'], 'record'>;
|
|
3293
|
+
} | {
|
|
3294
|
+
kind: 'record';
|
|
3295
|
+
fields: readonly {
|
|
3296
|
+
id: string;
|
|
3297
|
+
label: string;
|
|
3298
|
+
definition: QueryValueDefinition;
|
|
3299
|
+
required?: boolean;
|
|
3300
|
+
}[];
|
|
3301
|
+
});
|
|
3302
|
+
|
|
3303
|
+
declare interface QueryValueDefinitionBase {
|
|
3304
|
+
placeholder?: string;
|
|
3305
|
+
description?: string;
|
|
3306
|
+
options?: readonly QueryValueOption[];
|
|
3307
|
+
loadOptions?: (request: QueryOptionRequest) => Promise<QueryOptionResponse>;
|
|
3308
|
+
/** Host explanation of supported constraints, rendered without reimplementing validation. */
|
|
3309
|
+
constraint?: string;
|
|
3310
|
+
}
|
|
3311
|
+
|
|
3312
|
+
/** Renders host-declared types. Numeric drafts never pass through Number/parseInt. */
|
|
3313
|
+
export declare function QueryValueInput({ definition, value, onChange, contextKey, label, disabled, sensitive, required, error, }: QueryValueInputProps): JSX.Element;
|
|
3314
|
+
|
|
3315
|
+
export declare interface QueryValueInputProps {
|
|
3316
|
+
definition: QueryValueDefinition;
|
|
3317
|
+
value?: QueryValue;
|
|
3318
|
+
onChange: (value: QueryValue | undefined) => void;
|
|
3319
|
+
contextKey?: string;
|
|
3320
|
+
label?: string;
|
|
3321
|
+
disabled?: boolean;
|
|
3322
|
+
sensitive?: boolean;
|
|
3323
|
+
required?: boolean;
|
|
3324
|
+
error?: string;
|
|
3325
|
+
}
|
|
3326
|
+
|
|
3327
|
+
export declare interface QueryValueOption {
|
|
3328
|
+
id: string;
|
|
3329
|
+
label: string;
|
|
3330
|
+
value: string;
|
|
3331
|
+
description?: string;
|
|
3332
|
+
disabledReason?: string;
|
|
3333
|
+
}
|
|
3334
|
+
|
|
3335
|
+
export declare interface QueryVariable {
|
|
3336
|
+
id: string;
|
|
3337
|
+
label: string;
|
|
3338
|
+
definition: QueryValueDefinition;
|
|
3339
|
+
description?: string;
|
|
3340
|
+
required?: boolean;
|
|
3341
|
+
sensitive?: boolean;
|
|
3342
|
+
disabledReason?: string;
|
|
3343
|
+
defaultValue?: QueryValue;
|
|
3344
|
+
error?: string;
|
|
3345
|
+
}
|
|
3346
|
+
|
|
3347
|
+
/** Editing drafts only: the host owns defaults, constraints, dependency cycles and binding.
|
|
3348
|
+
* Values never interpolate into query text and sensitive values are never serialized here. */
|
|
3349
|
+
export declare function QueryVariables({ variables, value, onChange, contextKey, availability, disabled, diagnostics, }: QueryVariablesProps): JSX.Element;
|
|
3350
|
+
|
|
3351
|
+
export declare interface QueryVariablesProps {
|
|
3352
|
+
variables: readonly QueryVariable[];
|
|
3353
|
+
value: Readonly<Record<string, QueryValue | undefined>>;
|
|
3354
|
+
onChange: (value: Readonly<Record<string, QueryValue | undefined>>) => void;
|
|
3355
|
+
/** Include dependency/scope/permission revisions to cancel outdated value lookups. */
|
|
3356
|
+
contextKey?: string;
|
|
3357
|
+
availability?: QueryAvailability;
|
|
3358
|
+
disabled?: boolean;
|
|
3359
|
+
diagnostics?: readonly string[];
|
|
3360
|
+
}
|
|
3361
|
+
|
|
2872
3362
|
export declare const Quote: <C extends QuoteElement = "q">(props: TypographyBaseProps & TruncationProps & {
|
|
2873
3363
|
as?: C | undefined;
|
|
2874
3364
|
} & Omit<PropsWithoutRef<ComponentProps<C>>, "color" | "as" | "truncate" | keyof TypographyBaseProps> & {
|
|
@@ -2952,6 +3442,118 @@ export declare interface RegisteredTheme extends ThemeSummary {
|
|
|
2952
3442
|
definition: ThemeDefinition;
|
|
2953
3443
|
}
|
|
2954
3444
|
|
|
3445
|
+
export declare type RelationshipCardinality = 'one-to-one' | 'one-to-many' | 'many-to-one' | 'many-to-many';
|
|
3446
|
+
|
|
3447
|
+
export declare interface RelationshipCatalog {
|
|
3448
|
+
sourceTypes: readonly RelationshipTypeOption[];
|
|
3449
|
+
targetTypes: readonly RelationshipTypeOption[];
|
|
3450
|
+
scopeMappings: readonly {
|
|
3451
|
+
id: string;
|
|
3452
|
+
label: string;
|
|
3453
|
+
description: string;
|
|
3454
|
+
state: 'available' | 'denied' | 'unavailable';
|
|
3455
|
+
}[];
|
|
3456
|
+
/** Host-supplied operators; compatibility is validated by the host, never inferred here. */
|
|
3457
|
+
operators: readonly {
|
|
3458
|
+
id: string;
|
|
3459
|
+
label: string;
|
|
3460
|
+
description: string;
|
|
3461
|
+
}[];
|
|
3462
|
+
}
|
|
3463
|
+
|
|
3464
|
+
export declare interface RelationshipCondition {
|
|
3465
|
+
id: string;
|
|
3466
|
+
sourceFieldId: string;
|
|
3467
|
+
operatorId: string;
|
|
3468
|
+
targetFieldId: string;
|
|
3469
|
+
}
|
|
3470
|
+
|
|
3471
|
+
export declare interface RelationshipEndpoint {
|
|
3472
|
+
label: string;
|
|
3473
|
+
/** Opaque host navigation target, not an inferred identity. Omit for protected endpoints. */
|
|
3474
|
+
navigationId?: string;
|
|
3475
|
+
}
|
|
3476
|
+
|
|
3477
|
+
export declare interface RelationshipFieldOption {
|
|
3478
|
+
id: string;
|
|
3479
|
+
label: string;
|
|
3480
|
+
type: string;
|
|
3481
|
+
}
|
|
3482
|
+
|
|
3483
|
+
export declare function RelationshipPreview({ preview, state, message, onNavigate, }: RelationshipPreviewProps): JSX.Element;
|
|
3484
|
+
|
|
3485
|
+
export declare interface RelationshipPreviewData {
|
|
3486
|
+
scope: string;
|
|
3487
|
+
coverage: string;
|
|
3488
|
+
limit: number;
|
|
3489
|
+
truncated: boolean;
|
|
3490
|
+
summary: string;
|
|
3491
|
+
diagnostics: readonly InspectorDiagnostic[];
|
|
3492
|
+
edges: readonly {
|
|
3493
|
+
id: string;
|
|
3494
|
+
source: RelationshipEndpoint;
|
|
3495
|
+
target?: RelationshipEndpoint;
|
|
3496
|
+
state: 'matched' | 'unmatched' | 'ambiguous' | 'denied' | 'unavailable';
|
|
3497
|
+
detail: string;
|
|
3498
|
+
provenance: {
|
|
3499
|
+
origin: 'provider' | 'user';
|
|
3500
|
+
ruleLabel: string;
|
|
3501
|
+
condition: string;
|
|
3502
|
+
scopeMapping: string;
|
|
3503
|
+
};
|
|
3504
|
+
}[];
|
|
3505
|
+
}
|
|
3506
|
+
|
|
3507
|
+
export declare interface RelationshipPreviewProps {
|
|
3508
|
+
preview?: RelationshipPreviewData;
|
|
3509
|
+
state?: 'ready' | 'loading' | 'denied' | 'unavailable';
|
|
3510
|
+
message?: string;
|
|
3511
|
+
onNavigate?: (navigationId: string) => void;
|
|
3512
|
+
}
|
|
3513
|
+
|
|
3514
|
+
export declare interface RelationshipRuleDraft {
|
|
3515
|
+
id: string;
|
|
3516
|
+
name: string;
|
|
3517
|
+
sourceTypeId: string;
|
|
3518
|
+
targetTypeId: string;
|
|
3519
|
+
scopeMappingId: string;
|
|
3520
|
+
cardinality: RelationshipCardinality;
|
|
3521
|
+
conditions: readonly RelationshipCondition[];
|
|
3522
|
+
enabled: boolean;
|
|
3523
|
+
origin: 'user' | 'provider';
|
|
3524
|
+
}
|
|
3525
|
+
|
|
3526
|
+
export declare function RelationshipRuleEditor({ draft, catalog, onChange, onSave, onPreview, onSetEnabled, validation, preview, previewIsCurrent, onNavigate, state, message, }: RelationshipRuleEditorProps): JSX.Element;
|
|
3527
|
+
|
|
3528
|
+
export declare interface RelationshipRuleEditorProps {
|
|
3529
|
+
draft: RelationshipRuleDraft;
|
|
3530
|
+
catalog: RelationshipCatalog;
|
|
3531
|
+
onChange: (draft: RelationshipRuleDraft) => void;
|
|
3532
|
+
onSave: (draft: RelationshipRuleDraft, context: InspectorAsyncContext) => Promise<void>;
|
|
3533
|
+
onPreview: (draft: RelationshipRuleDraft, context: InspectorAsyncContext) => Promise<void>;
|
|
3534
|
+
onSetEnabled: (enabled: boolean, context: InspectorAsyncContext) => Promise<void>;
|
|
3535
|
+
/** Must describe the current controlled draft. Unknown/pending drafts cannot be saved. */
|
|
3536
|
+
validation: RelationshipValidation;
|
|
3537
|
+
preview?: RelationshipPreviewData;
|
|
3538
|
+
/** The host confirms the preview belongs to this exact draft/access context. Defaults to false. */
|
|
3539
|
+
previewIsCurrent?: boolean;
|
|
3540
|
+
onNavigate?: (navigationId: string) => void;
|
|
3541
|
+
state?: 'ready' | 'loading' | 'denied' | 'unavailable';
|
|
3542
|
+
message?: string;
|
|
3543
|
+
}
|
|
3544
|
+
|
|
3545
|
+
export declare interface RelationshipTypeOption {
|
|
3546
|
+
id: string;
|
|
3547
|
+
label: string;
|
|
3548
|
+
provider: string;
|
|
3549
|
+
fields: readonly RelationshipFieldOption[];
|
|
3550
|
+
}
|
|
3551
|
+
|
|
3552
|
+
export declare interface RelationshipValidation {
|
|
3553
|
+
state: 'unchecked' | 'pending' | 'valid' | 'invalid' | 'denied' | 'unavailable';
|
|
3554
|
+
diagnostics: readonly InspectorDiagnostic[];
|
|
3555
|
+
}
|
|
3556
|
+
|
|
2955
3557
|
export declare type ReorderMeta = {
|
|
2956
3558
|
id: TabId;
|
|
2957
3559
|
from: number;
|
|
@@ -2979,6 +3581,200 @@ export declare interface ResizableSplitPaneProps extends HTMLAttributes<HTMLDivE
|
|
|
2979
3581
|
children: [ReactNode, ReactNode];
|
|
2980
3582
|
}
|
|
2981
3583
|
|
|
3584
|
+
export declare function ResourceGroupingControls({ fields, value, onChange, loading, error, disabled, className, }: ResourceGroupingControlsProps): JSX.Element;
|
|
3585
|
+
|
|
3586
|
+
export declare interface ResourceGroupingControlsProps {
|
|
3587
|
+
fields: readonly ResourceGroupingField[];
|
|
3588
|
+
value: ResourceGroupingValue;
|
|
3589
|
+
onChange: (value: ResourceGroupingValue) => void;
|
|
3590
|
+
loading?: boolean;
|
|
3591
|
+
error?: string;
|
|
3592
|
+
disabled?: boolean;
|
|
3593
|
+
className?: string;
|
|
3594
|
+
}
|
|
3595
|
+
|
|
3596
|
+
export declare interface ResourceGroupingField {
|
|
3597
|
+
id: string;
|
|
3598
|
+
label: string;
|
|
3599
|
+
groupable: boolean;
|
|
3600
|
+
splittable: boolean;
|
|
3601
|
+
reason?: string;
|
|
3602
|
+
applicability?: string;
|
|
3603
|
+
}
|
|
3604
|
+
|
|
3605
|
+
export declare interface ResourceGroupingValue {
|
|
3606
|
+
groupBy: readonly string[];
|
|
3607
|
+
splitBy: readonly string[];
|
|
3608
|
+
}
|
|
3609
|
+
|
|
3610
|
+
export declare type ResourceIndexAction = {
|
|
3611
|
+
kind: 'create';
|
|
3612
|
+
definition: ResourceIndexDefinition;
|
|
3613
|
+
} | {
|
|
3614
|
+
kind: 'rebuild' | 'drop';
|
|
3615
|
+
indexId: string;
|
|
3616
|
+
} | {
|
|
3617
|
+
kind: 'cancel';
|
|
3618
|
+
operationId: string;
|
|
3619
|
+
};
|
|
3620
|
+
|
|
3621
|
+
export declare interface ResourceIndexAdvice {
|
|
3622
|
+
id: string;
|
|
3623
|
+
viewLabel: string;
|
|
3624
|
+
queryLabel: string;
|
|
3625
|
+
proposalId?: string;
|
|
3626
|
+
indexIds: readonly string[];
|
|
3627
|
+
recommendation: string;
|
|
3628
|
+
confidence: string;
|
|
3629
|
+
basis: string;
|
|
3630
|
+
benefit: InspectorEvidence;
|
|
3631
|
+
memory: IndexFootprint;
|
|
3632
|
+
disk: IndexFootprint;
|
|
3633
|
+
writeCost: InspectorEvidence;
|
|
3634
|
+
beforeAfter?: {
|
|
3635
|
+
before: string;
|
|
3636
|
+
after: string;
|
|
3637
|
+
basis: string;
|
|
3638
|
+
};
|
|
3639
|
+
}
|
|
3640
|
+
|
|
3641
|
+
export declare interface ResourceIndexDefinition {
|
|
3642
|
+
id: string;
|
|
3643
|
+
label: string;
|
|
3644
|
+
provider: string;
|
|
3645
|
+
resourceType: string;
|
|
3646
|
+
scope: string;
|
|
3647
|
+
path: string;
|
|
3648
|
+
valueType: string;
|
|
3649
|
+
schema: string;
|
|
3650
|
+
storage: 'memory' | 'persisted';
|
|
3651
|
+
dataPolicy: string;
|
|
3652
|
+
}
|
|
3653
|
+
|
|
3654
|
+
export declare interface ResourceIndexInventory extends ResourceIndexDefinition {
|
|
3655
|
+
kind: 'metadata' | 'document';
|
|
3656
|
+
state: 'ready' | 'building' | 'catching-up' | 'stale' | 'failed' | 'canceled' | 'unavailable' | 'denied';
|
|
3657
|
+
coverage: string;
|
|
3658
|
+
freshness: string;
|
|
3659
|
+
generation?: string;
|
|
3660
|
+
memory: IndexFootprint;
|
|
3661
|
+
disk: IndexFootprint;
|
|
3662
|
+
quota?: string;
|
|
3663
|
+
references: readonly {
|
|
3664
|
+
id: string;
|
|
3665
|
+
label: string;
|
|
3666
|
+
queryLabel: string;
|
|
3667
|
+
}[];
|
|
3668
|
+
fallback: string;
|
|
3669
|
+
failure?: string;
|
|
3670
|
+
operation?: {
|
|
3671
|
+
id: string;
|
|
3672
|
+
label: string;
|
|
3673
|
+
progress?: number;
|
|
3674
|
+
cancellable: boolean;
|
|
3675
|
+
};
|
|
3676
|
+
/** Host-authorized actions; absence never means allowed. */
|
|
3677
|
+
actions: readonly ('rebuild' | 'drop')[];
|
|
3678
|
+
}
|
|
3679
|
+
|
|
3680
|
+
export declare function ResourceIndexManager({ indexes, proposals, advice, onAction, state, message, }: ResourceIndexManagerProps): JSX.Element;
|
|
3681
|
+
|
|
3682
|
+
export declare interface ResourceIndexManagerProps {
|
|
3683
|
+
indexes: readonly ResourceIndexInventory[];
|
|
3684
|
+
/** Host-admitted create definitions, including schema/scope/storage/data policy. */
|
|
3685
|
+
proposals: readonly ResourceIndexDefinition[];
|
|
3686
|
+
advice: readonly ResourceIndexAdvice[];
|
|
3687
|
+
onAction: (action: ResourceIndexAction, context: InspectorAsyncContext) => Promise<void>;
|
|
3688
|
+
state?: 'ready' | 'loading' | 'denied' | 'unavailable';
|
|
3689
|
+
message?: string;
|
|
3690
|
+
}
|
|
3691
|
+
|
|
3692
|
+
export declare interface ResourceNavigationResult<TResource> {
|
|
3693
|
+
label: string;
|
|
3694
|
+
provenance: string;
|
|
3695
|
+
resource: TResource;
|
|
3696
|
+
disabledReason?: string;
|
|
3697
|
+
}
|
|
3698
|
+
|
|
3699
|
+
export declare function ResourceResultNavigation<TResource, TContext>({ result, context, requestKey, onNavigate, }: ResourceResultNavigationProps<TResource, TContext>): JSX.Element;
|
|
3700
|
+
|
|
3701
|
+
export declare interface ResourceResultNavigationProps<TResource, TContext> {
|
|
3702
|
+
result: ResourceNavigationResult<TResource>;
|
|
3703
|
+
/** Passed intact to the host so opening a drawer/route can retain the originating workspace. */
|
|
3704
|
+
context: TContext;
|
|
3705
|
+
/** Host destination/context generation. Change to cancel a pending navigation; object identity is irrelevant. */
|
|
3706
|
+
requestKey: string | number;
|
|
3707
|
+
onNavigate: (result: ResourceNavigationResult<TResource>, context: TContext, signal: AbortSignal) => Promise<WorkspaceActionResult>;
|
|
3708
|
+
}
|
|
3709
|
+
|
|
3710
|
+
export declare function ResourceScopePicker({ targets, value, onChange, loading, error, disabled, className, }: ResourceScopePickerProps): JSX.Element;
|
|
3711
|
+
|
|
3712
|
+
export declare interface ResourceScopePickerProps {
|
|
3713
|
+
targets: readonly ResourceScopeTarget[];
|
|
3714
|
+
value: readonly ResourceScopeSelection[];
|
|
3715
|
+
onChange: (value: readonly ResourceScopeSelection[]) => void;
|
|
3716
|
+
loading?: boolean;
|
|
3717
|
+
error?: string;
|
|
3718
|
+
disabled?: boolean;
|
|
3719
|
+
className?: string;
|
|
3720
|
+
}
|
|
3721
|
+
|
|
3722
|
+
/** Empty/missing dimensions stay unresolved; this control never broadens them. */
|
|
3723
|
+
export declare interface ResourceScopeSelection {
|
|
3724
|
+
targetId: string;
|
|
3725
|
+
dimensions: Readonly<Record<string, readonly string[] | 'any'>>;
|
|
3726
|
+
}
|
|
3727
|
+
|
|
3728
|
+
/** Host catalog identifiers are opaque; display labels never become resource identity. */
|
|
3729
|
+
export declare interface ResourceScopeTarget {
|
|
3730
|
+
id: string;
|
|
3731
|
+
provider: string;
|
|
3732
|
+
connection: string;
|
|
3733
|
+
resourceType: string;
|
|
3734
|
+
description?: string;
|
|
3735
|
+
status?: 'ready' | 'loading' | 'partial' | 'denied' | 'offline' | 'unsupported';
|
|
3736
|
+
reason?: string;
|
|
3737
|
+
dimensions?: readonly {
|
|
3738
|
+
id: string;
|
|
3739
|
+
label: string;
|
|
3740
|
+
allowAny?: boolean;
|
|
3741
|
+
values: readonly {
|
|
3742
|
+
id: string;
|
|
3743
|
+
label: string;
|
|
3744
|
+
disabledReason?: string;
|
|
3745
|
+
}[];
|
|
3746
|
+
}[];
|
|
3747
|
+
}
|
|
3748
|
+
|
|
3749
|
+
/** The host supplies already bounded/ranked results; no client filtering or indexing. */
|
|
3750
|
+
export declare interface ResourceSearchItem<TPayload> {
|
|
3751
|
+
id: string;
|
|
3752
|
+
kind: 'command' | 'setting' | 'navigation' | 'resource';
|
|
3753
|
+
label: string;
|
|
3754
|
+
description?: string;
|
|
3755
|
+
provenance?: string;
|
|
3756
|
+
disabledReason?: string;
|
|
3757
|
+
payload: TPayload;
|
|
3758
|
+
decoration?: ReactNode;
|
|
3759
|
+
}
|
|
3760
|
+
|
|
3761
|
+
export declare function ResourceSearchResults<TPayload>({ query, onQueryChange, items, onActivate, onDismiss, loading, error, status, scopeStatus, stale, }: ResourceSearchResultsProps<TPayload>): JSX.Element;
|
|
3762
|
+
|
|
3763
|
+
export declare interface ResourceSearchResultsProps<TPayload> {
|
|
3764
|
+
query: string;
|
|
3765
|
+
onQueryChange: (query: string) => void;
|
|
3766
|
+
items: readonly ResourceSearchItem<TPayload>[];
|
|
3767
|
+
onActivate: (item: ResourceSearchItem<TPayload>, signal: AbortSignal) => Promise<WorkspaceActionResult>;
|
|
3768
|
+
onDismiss?: () => void;
|
|
3769
|
+
loading?: boolean;
|
|
3770
|
+
error?: string;
|
|
3771
|
+
/** Host-supplied permission, freshness, partial-source and bounded-result explanations. */
|
|
3772
|
+
status?: ReactNode;
|
|
3773
|
+
scopeStatus?: ReactNode;
|
|
3774
|
+
/** The host can disable older results while replacing its query generation. */
|
|
3775
|
+
stale?: boolean;
|
|
3776
|
+
}
|
|
3777
|
+
|
|
2982
3778
|
/** A span value can be a plain number or a per-breakpoint responsive object. */
|
|
2983
3779
|
export declare type ResponsiveSpan = number | Partial<Record<GridBreakpoint, number>>;
|
|
2984
3780
|
|
|
@@ -3035,6 +3831,66 @@ export declare interface RowListRootProps extends ListRootProps {
|
|
|
3035
3831
|
onSortChange?: (sort: SortState) => void;
|
|
3036
3832
|
}
|
|
3037
3833
|
|
|
3834
|
+
/** Presentation requests only: the host owns document schemas, semantics and persistence. */
|
|
3835
|
+
export declare type SavedResourceAction<TDraft> = {
|
|
3836
|
+
type: 'create';
|
|
3837
|
+
name: string;
|
|
3838
|
+
draft: TDraft;
|
|
3839
|
+
} | {
|
|
3840
|
+
type: 'rename';
|
|
3841
|
+
id: string;
|
|
3842
|
+
name: string;
|
|
3843
|
+
} | {
|
|
3844
|
+
type: 'select';
|
|
3845
|
+
id: string | null;
|
|
3846
|
+
} | {
|
|
3847
|
+
type: 'save';
|
|
3848
|
+
id: string;
|
|
3849
|
+
name: string;
|
|
3850
|
+
draft: TDraft;
|
|
3851
|
+
} | {
|
|
3852
|
+
type: 'reset';
|
|
3853
|
+
id: string | null;
|
|
3854
|
+
} | {
|
|
3855
|
+
type: 'delete';
|
|
3856
|
+
id: string;
|
|
3857
|
+
} | {
|
|
3858
|
+
type: 'import';
|
|
3859
|
+
document: string;
|
|
3860
|
+
} | {
|
|
3861
|
+
type: 'export';
|
|
3862
|
+
id: string;
|
|
3863
|
+
};
|
|
3864
|
+
|
|
3865
|
+
export declare interface SavedResourceItem {
|
|
3866
|
+
id: string;
|
|
3867
|
+
name: string;
|
|
3868
|
+
status?: 'ready' | 'conflict' | 'corrupt' | 'unsupported' | 'denied' | 'unavailable';
|
|
3869
|
+
reason?: string;
|
|
3870
|
+
}
|
|
3871
|
+
|
|
3872
|
+
export declare function SavedResourceManager<TDraft>({ kind, items, selectedId, nameDraft, onNameDraftChange, importDraft, onImportDraftChange, draft, dirty, onAction, status, loading, disabled, disabledReason, children, className, }: SavedResourceManagerProps<TDraft>): JSX.Element;
|
|
3873
|
+
|
|
3874
|
+
export declare interface SavedResourceManagerProps<TDraft> {
|
|
3875
|
+
kind: 'query' | 'view' | 'preset';
|
|
3876
|
+
items: readonly SavedResourceItem[];
|
|
3877
|
+
selectedId: string | null;
|
|
3878
|
+
nameDraft: string;
|
|
3879
|
+
onNameDraftChange: (name: string) => void;
|
|
3880
|
+
importDraft: string;
|
|
3881
|
+
onImportDraftChange: (document: string) => void;
|
|
3882
|
+
/** Opaque configuration. Never interpreted, serialized, or validated by this component. */
|
|
3883
|
+
draft: TDraft;
|
|
3884
|
+
dirty: boolean;
|
|
3885
|
+
onAction: (action: SavedResourceAction<TDraft>, signal: AbortSignal) => Promise<WorkspaceActionResult>;
|
|
3886
|
+
status?: WorkspaceActionResult;
|
|
3887
|
+
loading?: boolean;
|
|
3888
|
+
disabled?: boolean;
|
|
3889
|
+
disabledReason?: string;
|
|
3890
|
+
children?: ReactNode;
|
|
3891
|
+
className?: string;
|
|
3892
|
+
}
|
|
3893
|
+
|
|
3038
3894
|
export declare const ScrollArea: ForwardRefExoticComponent<ScrollAreaProps & RefAttributes<HTMLDivElement>>;
|
|
3039
3895
|
|
|
3040
3896
|
export declare type ScrollAreaOrientation = 'vertical' | 'horizontal' | 'both';
|
|
@@ -4639,7 +5495,7 @@ export declare function useCommandListItem(store: CommandListStore, key: Key_2):
|
|
|
4639
5495
|
|
|
4640
5496
|
export declare function useCommandListStoreContext(): CommandListStore;
|
|
4641
5497
|
|
|
4642
|
-
export declare function useDataTable<TData =
|
|
5498
|
+
export declare function useDataTable<TData = unknown>(options: UseDataTableOptions<TData>): Table_2<TData>;
|
|
4643
5499
|
|
|
4644
5500
|
export declare function useDataTableContext(): DataTableContextValue;
|
|
4645
5501
|
|
|
@@ -4648,15 +5504,24 @@ export declare interface UseDataTableOptions<TData> {
|
|
|
4648
5504
|
columns: ColumnDef_2<TData, unknown>[];
|
|
4649
5505
|
features?: DataTableFeatures;
|
|
4650
5506
|
initialState?: Partial<TableState>;
|
|
5507
|
+
/** Controlled slices override internal state. Callbacks request host edits. */
|
|
5508
|
+
state?: Partial<TableState>;
|
|
4651
5509
|
getRowId?: (row: TData, index: number) => string;
|
|
4652
5510
|
getSubRows?: (row: TData) => TData[] | undefined;
|
|
4653
5511
|
getRowCanExpand?: (row: {
|
|
4654
5512
|
original: TData;
|
|
4655
5513
|
depth: number;
|
|
4656
5514
|
}) => boolean;
|
|
5515
|
+
getRowCanSelect?: (row: {
|
|
5516
|
+
original: TData;
|
|
5517
|
+
depth: number;
|
|
5518
|
+
}) => boolean;
|
|
4657
5519
|
persistenceKey?: string;
|
|
4658
5520
|
onRowSelectionChange?: (selection: RowSelectionState) => void;
|
|
4659
5521
|
onSortingChange?: (sorting: SortingState) => void;
|
|
5522
|
+
onGlobalFilterChange?: (filter: string) => void;
|
|
5523
|
+
onColumnFiltersChange?: (filters: ColumnFiltersState) => void;
|
|
5524
|
+
onGroupingChange?: (grouping: GroupingState) => void;
|
|
4660
5525
|
onColumnVisibilityChange?: (visibility: VisibilityState) => void;
|
|
4661
5526
|
onColumnOrderChange?: (order: ColumnOrderState) => void;
|
|
4662
5527
|
onColumnSizingChange?: (sizing: ColumnSizingState) => void;
|
|
@@ -4669,6 +5534,10 @@ export declare interface UseDataTableOptions<TData> {
|
|
|
4669
5534
|
manualSorting?: boolean;
|
|
4670
5535
|
manualFiltering?: boolean;
|
|
4671
5536
|
manualPagination?: boolean;
|
|
5537
|
+
/** Host-prepared groups/subrows are never regrouped in the browser. */
|
|
5538
|
+
manualGrouping?: boolean;
|
|
5539
|
+
manualExpanding?: boolean;
|
|
5540
|
+
rowCount?: number;
|
|
4672
5541
|
pageCount?: number;
|
|
4673
5542
|
globalFilterFn?: 'auto' | 'includesString' | 'includesStringSensitive';
|
|
4674
5543
|
}
|
|
@@ -4842,6 +5711,10 @@ export declare function useTreeItem(store: TreeStore, key: Key_3, textValue?: st
|
|
|
4842
5711
|
|
|
4843
5712
|
export declare function useTreeStoreContext(): TreeStore;
|
|
4844
5713
|
|
|
5714
|
+
export declare function utf16ToUtf8(text: string, offset: number): number;
|
|
5715
|
+
|
|
5716
|
+
export declare function utf8ToUtf16(text: string, offset: number): number;
|
|
5717
|
+
|
|
4845
5718
|
/** Validation function. Return a FieldErrors map (empty or all-undefined = valid). */
|
|
4846
5719
|
export declare type ValidateItem = (key: Key, values: Record<string, string>) => FieldErrors | Promise<FieldErrors>;
|
|
4847
5720
|
|
|
@@ -4862,6 +5735,127 @@ export declare interface ValidateSectionsResult {
|
|
|
4862
5735
|
|
|
4863
5736
|
export declare function validateThemeDefinition(input: unknown, supportsColor?: SupportsColor): ThemeDefinition;
|
|
4864
5737
|
|
|
5738
|
+
/**
|
|
5739
|
+
* Controlled, keyed layout with pointer and keyboard arrangement. Renderers own
|
|
5740
|
+
* acquisition/lifetimes; preview does not silently unmount panels or pause data.
|
|
5741
|
+
*/
|
|
5742
|
+
export declare function ViewLayout<TItem extends ViewLayoutItem>({ items, onItemsChange, renderItem, onConfigure, editing, disabled, readOnly, columns, rowHeight, maxRowSpan, emptyContent, className, onFocusCapture, ...props }: ViewLayoutProps<TItem>): JSX.Element;
|
|
5743
|
+
|
|
5744
|
+
/** Presentation geometry only, not a persisted saved-view document. */
|
|
5745
|
+
export declare interface ViewLayoutItem {
|
|
5746
|
+
id: string;
|
|
5747
|
+
title: string;
|
|
5748
|
+
columnSpan: number;
|
|
5749
|
+
rowSpan: number;
|
|
5750
|
+
}
|
|
5751
|
+
|
|
5752
|
+
export declare interface ViewLayoutProps<TItem extends ViewLayoutItem = ViewLayoutItem> extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
|
|
5753
|
+
items: readonly TItem[];
|
|
5754
|
+
onItemsChange: (items: TItem[]) => void;
|
|
5755
|
+
renderItem: (item: TItem) => ReactNode;
|
|
5756
|
+
onConfigure?: (id: string) => void;
|
|
5757
|
+
editing?: boolean;
|
|
5758
|
+
/** Prevent layout/configuration changes without disabling rendered panel content. */
|
|
5759
|
+
disabled?: boolean;
|
|
5760
|
+
/** Keep editing controls discoverable, but prevent layout/configuration changes. */
|
|
5761
|
+
readOnly?: boolean;
|
|
5762
|
+
columns?: 1 | 2 | 3 | 4 | 6 | 12;
|
|
5763
|
+
rowHeight?: number;
|
|
5764
|
+
maxRowSpan?: number;
|
|
5765
|
+
emptyContent?: ReactNode;
|
|
5766
|
+
}
|
|
5767
|
+
|
|
5768
|
+
export declare interface VisualizationBindingDiagnostic {
|
|
5769
|
+
slotId?: string;
|
|
5770
|
+
severity: 'error' | 'warning' | 'info';
|
|
5771
|
+
message: string;
|
|
5772
|
+
}
|
|
5773
|
+
|
|
5774
|
+
export declare function VisualizationBindingEditor({ slots, fields, value, onChange, diagnostics, disabled, visualizationId, visualizations, onVisualizationChange, children, className, ...props }: VisualizationBindingEditorProps): JSX.Element;
|
|
5775
|
+
|
|
5776
|
+
export declare interface VisualizationBindingEditorProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
|
|
5777
|
+
slots: readonly VisualizationBindingSlot[];
|
|
5778
|
+
/** Host-projected choices. IDs are opaque: this component never resolves paths or compatibility. */
|
|
5779
|
+
fields: readonly VisualizationFieldOption[];
|
|
5780
|
+
value: VisualizationBindings;
|
|
5781
|
+
onChange: (bindings: VisualizationBindings) => void;
|
|
5782
|
+
diagnostics?: readonly VisualizationBindingDiagnostic[];
|
|
5783
|
+
disabled?: boolean;
|
|
5784
|
+
visualizationId?: string;
|
|
5785
|
+
visualizations?: readonly VisualizationOption[];
|
|
5786
|
+
onVisualizationChange?: (id: string) => void;
|
|
5787
|
+
}
|
|
5788
|
+
|
|
5789
|
+
export declare type VisualizationBindings = Readonly<Record<string, string | undefined>>;
|
|
5790
|
+
|
|
5791
|
+
export declare interface VisualizationBindingSlot {
|
|
5792
|
+
id: string;
|
|
5793
|
+
label: string;
|
|
5794
|
+
description?: string;
|
|
5795
|
+
required?: boolean;
|
|
5796
|
+
}
|
|
5797
|
+
|
|
5798
|
+
/** Values have already been selected/validated by the caller. Exact integers can remain strings. */
|
|
5799
|
+
export declare type VisualizationDisplayValue = string | number | boolean | null | readonly VisualizationDisplayValue[] | {
|
|
5800
|
+
readonly [key: string]: VisualizationDisplayValue;
|
|
5801
|
+
};
|
|
5802
|
+
|
|
5803
|
+
export declare interface VisualizationField {
|
|
5804
|
+
id: string;
|
|
5805
|
+
label: string;
|
|
5806
|
+
value: VisualizationFieldValue;
|
|
5807
|
+
}
|
|
5808
|
+
|
|
5809
|
+
export declare interface VisualizationFieldOption {
|
|
5810
|
+
id: string;
|
|
5811
|
+
label: string;
|
|
5812
|
+
type: string;
|
|
5813
|
+
description?: string;
|
|
5814
|
+
disabledReason?: string;
|
|
5815
|
+
}
|
|
5816
|
+
|
|
5817
|
+
/** Bounded presentation only: does not parse field paths, evaluate selectors or fetch resources. */
|
|
5818
|
+
export declare function VisualizationFields({ fields, presentation, className, ...props }: VisualizationFieldsProps): JSX.Element;
|
|
5819
|
+
|
|
5820
|
+
export declare interface VisualizationFieldsProps extends HTMLAttributes<HTMLDivElement> {
|
|
5821
|
+
fields: readonly VisualizationField[];
|
|
5822
|
+
presentation?: 'stat' | 'list' | 'key-value';
|
|
5823
|
+
}
|
|
5824
|
+
|
|
5825
|
+
export declare type VisualizationFieldValue = {
|
|
5826
|
+
status: 'ready';
|
|
5827
|
+
value: VisualizationDisplayValue;
|
|
5828
|
+
} | {
|
|
5829
|
+
status: 'missing' | 'type-error' | 'unavailable' | 'denied';
|
|
5830
|
+
message: string;
|
|
5831
|
+
};
|
|
5832
|
+
|
|
5833
|
+
export declare interface VisualizationOption {
|
|
5834
|
+
id: string;
|
|
5835
|
+
label: string;
|
|
5836
|
+
description?: string;
|
|
5837
|
+
disabledReason?: string;
|
|
5838
|
+
}
|
|
5839
|
+
|
|
5840
|
+
/** Non-ready content is not mounted; each panel fails independently. */
|
|
5841
|
+
export declare function VisualizationPanel({ title, status, description, detail, actions, children, className, ...props }: VisualizationPanelProps): JSX.Element;
|
|
5842
|
+
|
|
5843
|
+
export declare interface VisualizationPanelProps extends Omit<HTMLAttributes<HTMLElement>, 'color'> {
|
|
5844
|
+
title: string;
|
|
5845
|
+
status: VisualizationStatus;
|
|
5846
|
+
description?: string;
|
|
5847
|
+
/** Safe, host-provided diagnostic; never derives or requests protected data. */
|
|
5848
|
+
detail?: string;
|
|
5849
|
+
actions?: ReactNode;
|
|
5850
|
+
}
|
|
5851
|
+
|
|
5852
|
+
export declare type VisualizationStatus = 'ready' | 'loading' | 'empty' | 'error' | 'unavailable' | 'denied';
|
|
5853
|
+
|
|
4865
5854
|
declare type WeekStart = 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
|
4866
5855
|
|
|
5856
|
+
export declare type WorkspaceActionResult = {
|
|
5857
|
+
status: 'success' | 'conflict' | 'corrupt' | 'unsupported' | 'denied' | 'unavailable' | 'error';
|
|
5858
|
+
message?: string;
|
|
5859
|
+
};
|
|
5860
|
+
|
|
4867
5861
|
export { }
|