@omniviewdev/base-ui 0.5.0 → 0.7.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 +989 -6
- package/dist/index.js +22514 -19286
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -241,6 +241,11 @@ declare const AlertDialogTrigger: {
|
|
|
241
241
|
export declare interface AlertDialogTriggerProps extends Omit<ComponentPropsWithoutRef<typeof AlertDialog_2.Trigger>, 'color'>, StyledComponentProps {
|
|
242
242
|
}
|
|
243
243
|
|
|
244
|
+
export declare function applyQueryEdit(text: string, edit: QueryEdit): {
|
|
245
|
+
text: string;
|
|
246
|
+
selection: number;
|
|
247
|
+
};
|
|
248
|
+
|
|
244
249
|
export declare const AppShell: AppShellCompound;
|
|
245
250
|
|
|
246
251
|
declare type AppShellCompound = typeof AppShellRoot & {
|
|
@@ -1135,6 +1140,9 @@ declare type CommandListCompound = typeof CommandListRoot & {
|
|
|
1135
1140
|
ItemIcon: typeof CommandListItemIcon;
|
|
1136
1141
|
ItemLabel: typeof CommandListItemLabel;
|
|
1137
1142
|
ItemDescription: typeof CommandListItemDescription;
|
|
1143
|
+
ItemContent: typeof CommandListItemContent;
|
|
1144
|
+
ItemMeta: typeof CommandListItemMeta;
|
|
1145
|
+
ItemDisabledReason: typeof CommandListItemDisabledReason;
|
|
1138
1146
|
ItemShortcut: typeof CommandListItemShortcut;
|
|
1139
1147
|
Empty: typeof CommandListEmpty;
|
|
1140
1148
|
Loading: typeof CommandListLoading;
|
|
@@ -1164,8 +1172,14 @@ declare interface CommandListInputProps extends Omit<SearchInputProps, 'value' |
|
|
|
1164
1172
|
|
|
1165
1173
|
declare const CommandListItem: ForwardRefExoticComponent<CommandListItemProps & RefAttributes<HTMLDivElement>>;
|
|
1166
1174
|
|
|
1175
|
+
/** Compound item layout: label, metadata, and shortcut first, description below. */
|
|
1176
|
+
declare const CommandListItemContent: ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & RefAttributes<HTMLDivElement>>;
|
|
1177
|
+
|
|
1167
1178
|
declare const CommandListItemDescription: ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & RefAttributes<HTMLSpanElement>>;
|
|
1168
1179
|
|
|
1180
|
+
/** Unlike descriptions, disabled reasons wrap so the explanation stays visible. */
|
|
1181
|
+
declare const CommandListItemDisabledReason: ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & RefAttributes<HTMLSpanElement>>;
|
|
1182
|
+
|
|
1169
1183
|
declare const CommandListItemIcon: ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & RefAttributes<HTMLSpanElement>>;
|
|
1170
1184
|
|
|
1171
1185
|
declare const CommandListItemLabel: ForwardRefExoticComponent<CommandListItemLabelProps & RefAttributes<HTMLSpanElement>>;
|
|
@@ -1174,6 +1188,8 @@ declare interface CommandListItemLabelProps extends HTMLAttributes<HTMLSpanEleme
|
|
|
1174
1188
|
highlights?: HighlightRange[];
|
|
1175
1189
|
}
|
|
1176
1190
|
|
|
1191
|
+
declare const CommandListItemMeta: ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & RefAttributes<HTMLSpanElement>>;
|
|
1192
|
+
|
|
1177
1193
|
export declare interface CommandListItemProps extends Omit<HTMLAttributes<HTMLDivElement>, 'color'> {
|
|
1178
1194
|
itemKey: Key_2;
|
|
1179
1195
|
disabled?: boolean;
|
|
@@ -2019,6 +2035,23 @@ export declare interface EmptyStateProps extends HTMLAttributes<HTMLDivElement>
|
|
|
2019
2035
|
size?: 'sm' | 'md' | 'lg';
|
|
2020
2036
|
}
|
|
2021
2037
|
|
|
2038
|
+
/** Composition only. Hosts retain query leases, routing, rendering and all query semantics. */
|
|
2039
|
+
export declare function ExploreWorkspace({ title, scope, query, variables, grouping, results, saveActions, status, inspector, loading, className, }: ExploreWorkspaceProps): JSX.Element;
|
|
2040
|
+
|
|
2041
|
+
export declare interface ExploreWorkspaceProps {
|
|
2042
|
+
title?: string;
|
|
2043
|
+
scope: ReactNode;
|
|
2044
|
+
query: ReactNode;
|
|
2045
|
+
variables?: ReactNode;
|
|
2046
|
+
grouping?: ReactNode;
|
|
2047
|
+
results: ReactNode;
|
|
2048
|
+
saveActions?: ReactNode;
|
|
2049
|
+
status?: ReactNode;
|
|
2050
|
+
inspector?: ReactNode;
|
|
2051
|
+
loading?: boolean;
|
|
2052
|
+
className?: string;
|
|
2053
|
+
}
|
|
2054
|
+
|
|
2022
2055
|
/** Any element that has a string `.value` and can receive focus. */
|
|
2023
2056
|
export declare interface FieldElement {
|
|
2024
2057
|
value: string;
|
|
@@ -2274,15 +2307,16 @@ export declare interface HighlightRange {
|
|
|
2274
2307
|
end: number;
|
|
2275
2308
|
}
|
|
2276
2309
|
|
|
2277
|
-
export declare
|
|
2278
|
-
|
|
2279
|
-
}
|
|
2280
|
-
ref?: PolymorphicRef<C> | undefined;
|
|
2281
|
-
}) => ReactElement | null;
|
|
2310
|
+
export declare function Hotkey<E extends HotkeyElement = 'kbd'>({ keys, children, ...props }: HotkeyProps<E> & {
|
|
2311
|
+
ref?: PolymorphicRef<E>;
|
|
2312
|
+
}): JSX.Element;
|
|
2282
2313
|
|
|
2283
2314
|
declare type HotkeyElement = 'kbd' | 'span';
|
|
2284
2315
|
|
|
2285
|
-
export declare type HotkeyProps<E extends HotkeyElement = HotkeyElement> = PolymorphicComponentProps<E, TypographyBaseProps & TruncationProps
|
|
2316
|
+
export declare type HotkeyProps<E extends HotkeyElement = HotkeyElement> = PolymorphicComponentProps<E, TypographyBaseProps & TruncationProps & {
|
|
2317
|
+
/** Keys pressed together, rendered with a plus separator by default. */
|
|
2318
|
+
keys?: readonly string[];
|
|
2319
|
+
}>;
|
|
2286
2320
|
|
|
2287
2321
|
export declare const IconButton: ForwardRefExoticComponent<Omit<IconButtonProps, "ref"> & RefAttributes<HTMLElement>>;
|
|
2288
2322
|
|
|
@@ -2326,6 +2360,15 @@ export declare interface ImageProps extends Omit<ImgHTMLAttributes<HTMLImageElem
|
|
|
2326
2360
|
borderRadius?: ImageBorderRadius;
|
|
2327
2361
|
}
|
|
2328
2362
|
|
|
2363
|
+
export declare type IndexFootprint = {
|
|
2364
|
+
kind: 'actual' | 'estimated';
|
|
2365
|
+
value: string;
|
|
2366
|
+
basis: string;
|
|
2367
|
+
} | {
|
|
2368
|
+
kind: 'unavailable' | 'not-applicable';
|
|
2369
|
+
reason: string;
|
|
2370
|
+
};
|
|
2371
|
+
|
|
2329
2372
|
/** Internal props injected by StepperRoot via Children.map. */
|
|
2330
2373
|
declare interface InjectedStepProps {
|
|
2331
2374
|
/* Excluded from this release type: _index */
|
|
@@ -2367,6 +2410,25 @@ declare const InputRoot: ForwardRefExoticComponent<Omit<InputRootProps, "ref"> &
|
|
|
2367
2410
|
export declare interface InputRootProps extends Field.Root.Props, StyledComponentProps {
|
|
2368
2411
|
}
|
|
2369
2412
|
|
|
2413
|
+
export declare interface InspectorAsyncContext {
|
|
2414
|
+
/** Abort stops waiting for this request. The host decides whether underlying work can stop. */
|
|
2415
|
+
signal: AbortSignal;
|
|
2416
|
+
}
|
|
2417
|
+
|
|
2418
|
+
/** Presentation contracts only. The host owns planning, validation, matching and index lifecycle. */
|
|
2419
|
+
export declare interface InspectorDiagnostic {
|
|
2420
|
+
id: string;
|
|
2421
|
+
severity: 'info' | 'warning' | 'error';
|
|
2422
|
+
message: string;
|
|
2423
|
+
}
|
|
2424
|
+
|
|
2425
|
+
export declare interface InspectorEvidence {
|
|
2426
|
+
label: string;
|
|
2427
|
+
kind: 'actual' | 'estimated' | 'unavailable';
|
|
2428
|
+
value: string;
|
|
2429
|
+
basis: string;
|
|
2430
|
+
}
|
|
2431
|
+
|
|
2370
2432
|
export declare function isBuiltInThemeId(id: string): id is BuiltInThemeId;
|
|
2371
2433
|
|
|
2372
2434
|
/** True if the `year` is a leap year (Gregorian calendar). */
|
|
@@ -2887,6 +2949,428 @@ export declare interface ProgressProps extends Omit<HTMLAttributes<HTMLDivElemen
|
|
|
2887
2949
|
size?: ComponentSize;
|
|
2888
2950
|
}
|
|
2889
2951
|
|
|
2952
|
+
/** Both drafts are retained. Only an explicit successful host conversion changes mode. */
|
|
2953
|
+
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;
|
|
2954
|
+
|
|
2955
|
+
export declare interface QueryAuthoringLabels {
|
|
2956
|
+
code?: string;
|
|
2957
|
+
builder?: string;
|
|
2958
|
+
run?: string;
|
|
2959
|
+
clear?: string;
|
|
2960
|
+
}
|
|
2961
|
+
|
|
2962
|
+
export declare interface QueryAuthoringProps {
|
|
2963
|
+
value: QueryAuthoringValue;
|
|
2964
|
+
onChange: (value: QueryAuthoringValue) => void;
|
|
2965
|
+
contextKey: string;
|
|
2966
|
+
fields: QueryBuilderProps['fields'];
|
|
2967
|
+
request?: QueryLanguageService;
|
|
2968
|
+
/** Render the host's code editor without introducing a base-ui/editor dependency. */
|
|
2969
|
+
renderEditor?: (props: QueryEditorRenderProps) => ReactNode;
|
|
2970
|
+
toBuilder?: (document: QueryDocument, context: QueryConversionContext) => Promise<QueryConversionResult<QueryGroup>>;
|
|
2971
|
+
toCode?: (builder: QueryGroup, context: QueryConversionContext) => Promise<QueryConversionResult<string>>;
|
|
2972
|
+
onRun?: (value: QueryAuthoringValue) => void;
|
|
2973
|
+
onCancel?: () => void;
|
|
2974
|
+
onRefresh?: () => void;
|
|
2975
|
+
onClear?: () => void;
|
|
2976
|
+
running?: boolean;
|
|
2977
|
+
disabled?: boolean;
|
|
2978
|
+
availability?: QueryAvailability;
|
|
2979
|
+
state?: QueryPresentationState;
|
|
2980
|
+
scopes?: readonly QueryScopeOption[];
|
|
2981
|
+
scope?: string;
|
|
2982
|
+
onScopeChange?: (scope: string) => void;
|
|
2983
|
+
inputProps?: Pick<QueryInputProps, 'rows' | 'label' | 'placeholder' | 'debounceMs' | 'maxSuggestions'>;
|
|
2984
|
+
builderProps?: Omit<QueryBuilderProps, 'value' | 'onChange' | 'fields' | 'contextKey' | 'availability' | 'disabled'>;
|
|
2985
|
+
labels?: QueryAuthoringLabels;
|
|
2986
|
+
actions?: ReactNode;
|
|
2987
|
+
children?: ReactNode;
|
|
2988
|
+
className?: string;
|
|
2989
|
+
}
|
|
2990
|
+
|
|
2991
|
+
export declare interface QueryAuthoringValue {
|
|
2992
|
+
mode: 'code' | 'builder';
|
|
2993
|
+
code: QueryDocument;
|
|
2994
|
+
builder: QueryGroup;
|
|
2995
|
+
}
|
|
2996
|
+
|
|
2997
|
+
export declare interface QueryAvailability {
|
|
2998
|
+
status: 'ready' | 'loading' | 'error' | 'denied' | 'unavailable';
|
|
2999
|
+
message?: string;
|
|
3000
|
+
}
|
|
3001
|
+
|
|
3002
|
+
export declare function QueryBuilder({ value, onChange, fields, contextKey, disabled, availability, allowNegation, diagnostics, analyze, preview, explanation, examples, className, }: QueryBuilderProps): JSX.Element;
|
|
3003
|
+
|
|
3004
|
+
export declare interface QueryBuilderAnalysis {
|
|
3005
|
+
status: QueryServiceStatus;
|
|
3006
|
+
message?: string;
|
|
3007
|
+
diagnostics: readonly QueryBuilderDiagnostic[];
|
|
3008
|
+
preview?: string;
|
|
3009
|
+
explanation?: string;
|
|
3010
|
+
}
|
|
3011
|
+
|
|
3012
|
+
export declare interface QueryBuilderDiagnostic {
|
|
3013
|
+
nodeId?: string;
|
|
3014
|
+
message: string;
|
|
3015
|
+
severity: 'error' | 'warning' | 'info';
|
|
3016
|
+
}
|
|
3017
|
+
|
|
3018
|
+
export declare interface QueryBuilderProps {
|
|
3019
|
+
value: QueryGroup;
|
|
3020
|
+
onChange: (value: QueryGroup) => void;
|
|
3021
|
+
fields: readonly QueryField[];
|
|
3022
|
+
contextKey?: string;
|
|
3023
|
+
disabled?: boolean;
|
|
3024
|
+
availability?: QueryAvailability;
|
|
3025
|
+
diagnostics?: readonly QueryBuilderDiagnostic[];
|
|
3026
|
+
/** Host-authorized operation. Negation is whole-clause/group NOT, never inequality. */
|
|
3027
|
+
allowNegation?: boolean;
|
|
3028
|
+
analyze?: (value: QueryGroup, context: QueryConversionContext) => Promise<QueryBuilderAnalysis>;
|
|
3029
|
+
preview?: string;
|
|
3030
|
+
explanation?: string;
|
|
3031
|
+
examples?: readonly {
|
|
3032
|
+
label: string;
|
|
3033
|
+
description: string;
|
|
3034
|
+
value: QueryGroup;
|
|
3035
|
+
}[];
|
|
3036
|
+
className?: string;
|
|
3037
|
+
}
|
|
3038
|
+
|
|
3039
|
+
export declare interface QueryClause {
|
|
3040
|
+
kind: 'clause';
|
|
3041
|
+
id: string;
|
|
3042
|
+
field?: string;
|
|
3043
|
+
operator?: string;
|
|
3044
|
+
value?: QueryValue;
|
|
3045
|
+
negated?: boolean;
|
|
3046
|
+
}
|
|
3047
|
+
|
|
3048
|
+
export declare interface QueryCompletion {
|
|
3049
|
+
id: string;
|
|
3050
|
+
label: string;
|
|
3051
|
+
kind: 'field' | 'operator' | 'value' | 'parameter' | 'function';
|
|
3052
|
+
type?: string;
|
|
3053
|
+
description?: string;
|
|
3054
|
+
/** Presentation-only candidate matching and host relevance order. */
|
|
3055
|
+
filterText?: string;
|
|
3056
|
+
sortText?: string;
|
|
3057
|
+
/** Snippets use Monaco/LSP tab-stop syntax; plain edits are the default. */
|
|
3058
|
+
insertTextFormat?: 'plain' | 'snippet';
|
|
3059
|
+
/** Host-provided union/branch applicability. Never inferred by the component. */
|
|
3060
|
+
condition?: string;
|
|
3061
|
+
detail?: string;
|
|
3062
|
+
disabledReason?: string;
|
|
3063
|
+
edit: QueryEdit;
|
|
3064
|
+
}
|
|
3065
|
+
|
|
3066
|
+
export declare interface QueryConversionContext {
|
|
3067
|
+
contextKey: string;
|
|
3068
|
+
signal: AbortSignal;
|
|
3069
|
+
}
|
|
3070
|
+
|
|
3071
|
+
export declare type QueryConversionResult<T> = {
|
|
3072
|
+
status: 'ready';
|
|
3073
|
+
value: T;
|
|
3074
|
+
message?: string;
|
|
3075
|
+
} | {
|
|
3076
|
+
status: 'unsupported' | 'error' | 'denied' | 'unavailable';
|
|
3077
|
+
message: string;
|
|
3078
|
+
};
|
|
3079
|
+
|
|
3080
|
+
export declare interface QueryDiagnostic {
|
|
3081
|
+
id: string;
|
|
3082
|
+
severity: 'error' | 'warning' | 'info' | 'hint';
|
|
3083
|
+
message: string;
|
|
3084
|
+
range: QueryRange;
|
|
3085
|
+
fix?: QueryEdit;
|
|
3086
|
+
}
|
|
3087
|
+
|
|
3088
|
+
export declare interface QueryDocument {
|
|
3089
|
+
text: string;
|
|
3090
|
+
version: number;
|
|
3091
|
+
/** Optional editor-owned identity; authoring adapters must isolate distinct models. */
|
|
3092
|
+
uri?: string;
|
|
3093
|
+
}
|
|
3094
|
+
|
|
3095
|
+
export declare interface QueryEdit {
|
|
3096
|
+
range: QueryRange;
|
|
3097
|
+
text: string;
|
|
3098
|
+
}
|
|
3099
|
+
|
|
3100
|
+
/** Dependency-injected code surface. Base UI owns controls and drafts, never Monaco. */
|
|
3101
|
+
export declare interface QueryEditorRenderProps {
|
|
3102
|
+
document: QueryDocument;
|
|
3103
|
+
onChange: (text: string) => void;
|
|
3104
|
+
contextKey: string;
|
|
3105
|
+
request?: QueryLanguageService;
|
|
3106
|
+
availability?: QueryAvailability;
|
|
3107
|
+
disabled?: boolean;
|
|
3108
|
+
onSubmit?: () => void;
|
|
3109
|
+
label?: string;
|
|
3110
|
+
placeholder?: string;
|
|
3111
|
+
debounceMs?: number;
|
|
3112
|
+
maxSuggestions?: number;
|
|
3113
|
+
}
|
|
3114
|
+
|
|
3115
|
+
export declare interface QueryExplain {
|
|
3116
|
+
queryLabel: string;
|
|
3117
|
+
scope: string;
|
|
3118
|
+
coverage: string;
|
|
3119
|
+
freshness: string;
|
|
3120
|
+
selectionReason: string;
|
|
3121
|
+
measuredAt?: string;
|
|
3122
|
+
stages: readonly {
|
|
3123
|
+
id: string;
|
|
3124
|
+
label: string;
|
|
3125
|
+
description: string;
|
|
3126
|
+
indexIds: readonly string[];
|
|
3127
|
+
work: readonly InspectorEvidence[];
|
|
3128
|
+
}[];
|
|
3129
|
+
diagnostics: readonly InspectorDiagnostic[];
|
|
3130
|
+
}
|
|
3131
|
+
|
|
3132
|
+
export declare function QueryExplainPanel({ explain, state, message }: QueryExplainPanelProps): JSX.Element;
|
|
3133
|
+
|
|
3134
|
+
export declare interface QueryExplainPanelProps {
|
|
3135
|
+
explain?: QueryExplain;
|
|
3136
|
+
state?: 'ready' | 'loading' | 'denied' | 'unavailable';
|
|
3137
|
+
message?: string;
|
|
3138
|
+
}
|
|
3139
|
+
|
|
3140
|
+
export declare interface QueryField {
|
|
3141
|
+
id: string;
|
|
3142
|
+
label: string;
|
|
3143
|
+
type: string;
|
|
3144
|
+
description?: string;
|
|
3145
|
+
condition?: string;
|
|
3146
|
+
disabledReason?: string;
|
|
3147
|
+
operators: readonly QueryOperator[];
|
|
3148
|
+
}
|
|
3149
|
+
|
|
3150
|
+
export declare interface QueryGroup {
|
|
3151
|
+
kind: 'group';
|
|
3152
|
+
id: string;
|
|
3153
|
+
combinator: 'and' | 'or';
|
|
3154
|
+
children: readonly QueryNode[];
|
|
3155
|
+
negated?: boolean;
|
|
3156
|
+
}
|
|
3157
|
+
|
|
3158
|
+
export declare interface QueryHoverResponse {
|
|
3159
|
+
documentVersion: number;
|
|
3160
|
+
contextKey: string;
|
|
3161
|
+
status: QueryServiceStatus;
|
|
3162
|
+
message?: string;
|
|
3163
|
+
/** Untrusted Markdown documentation for a checked source range. */
|
|
3164
|
+
hover?: {
|
|
3165
|
+
range: QueryRange;
|
|
3166
|
+
contents: string;
|
|
3167
|
+
};
|
|
3168
|
+
}
|
|
3169
|
+
|
|
3170
|
+
export declare type QueryHoverService = (request: QueryLanguageRequest) => Promise<QueryHoverResponse>;
|
|
3171
|
+
|
|
3172
|
+
/** Compact native editing mechanics: no CEL parser, schema walker, Monaco model or worker. */
|
|
3173
|
+
export declare function QueryInput({ document, onChange, contextKey, request, onSubmit, label, placeholder, disabled, readOnly, availability, debounceMs, maxSuggestions, rows, className, }: QueryInputProps): JSX.Element;
|
|
3174
|
+
|
|
3175
|
+
export declare interface QueryInputProps {
|
|
3176
|
+
document: QueryDocument;
|
|
3177
|
+
onChange: (text: string) => void;
|
|
3178
|
+
contextKey: string;
|
|
3179
|
+
request?: QueryLanguageService;
|
|
3180
|
+
onSubmit?: () => void;
|
|
3181
|
+
label?: string;
|
|
3182
|
+
placeholder?: string;
|
|
3183
|
+
disabled?: boolean;
|
|
3184
|
+
readOnly?: boolean;
|
|
3185
|
+
availability?: QueryAvailability;
|
|
3186
|
+
debounceMs?: number;
|
|
3187
|
+
/** Bounded visible suggestions; the service must also enforce its own response limit. */
|
|
3188
|
+
maxSuggestions?: number;
|
|
3189
|
+
rows?: number;
|
|
3190
|
+
className?: string;
|
|
3191
|
+
}
|
|
3192
|
+
|
|
3193
|
+
export declare interface QueryLanguageRequest {
|
|
3194
|
+
document: QueryDocument;
|
|
3195
|
+
cursor: {
|
|
3196
|
+
offset: number;
|
|
3197
|
+
unit: 'utf8-byte';
|
|
3198
|
+
};
|
|
3199
|
+
contextKey: string;
|
|
3200
|
+
signal: AbortSignal;
|
|
3201
|
+
}
|
|
3202
|
+
|
|
3203
|
+
export declare interface QueryLanguageResponse {
|
|
3204
|
+
documentVersion: number;
|
|
3205
|
+
contextKey: string;
|
|
3206
|
+
status: QueryServiceStatus;
|
|
3207
|
+
message?: string;
|
|
3208
|
+
completions: readonly QueryCompletion[];
|
|
3209
|
+
diagnostics: readonly QueryDiagnostic[];
|
|
3210
|
+
/** Suggestions are bounded observations, not exhaustive inventory/schema facts. */
|
|
3211
|
+
incomplete?: boolean;
|
|
3212
|
+
}
|
|
3213
|
+
|
|
3214
|
+
export declare type QueryLanguageService = (request: QueryLanguageRequest) => Promise<QueryLanguageResponse>;
|
|
3215
|
+
|
|
3216
|
+
export declare type QueryNode = QueryClause | QueryGroup;
|
|
3217
|
+
|
|
3218
|
+
export declare interface QueryOperator {
|
|
3219
|
+
id: string;
|
|
3220
|
+
label: string;
|
|
3221
|
+
description?: string;
|
|
3222
|
+
/** Omit for host-defined state clauses such as present/absent/null. */
|
|
3223
|
+
value?: QueryValueDefinition;
|
|
3224
|
+
disabledReason?: string;
|
|
3225
|
+
}
|
|
3226
|
+
|
|
3227
|
+
export declare interface QueryOptionRequest {
|
|
3228
|
+
contextKey: string;
|
|
3229
|
+
search: string;
|
|
3230
|
+
signal: AbortSignal;
|
|
3231
|
+
}
|
|
3232
|
+
|
|
3233
|
+
export declare interface QueryOptionResponse {
|
|
3234
|
+
contextKey: string;
|
|
3235
|
+
status: QueryServiceStatus;
|
|
3236
|
+
options: readonly QueryValueOption[];
|
|
3237
|
+
message?: string;
|
|
3238
|
+
incomplete?: boolean;
|
|
3239
|
+
}
|
|
3240
|
+
|
|
3241
|
+
export declare interface QueryPresentationState {
|
|
3242
|
+
status: 'idle' | 'loading' | 'live' | 'snapshot' | 'stale' | 'partial' | 'error' | 'denied' | 'unavailable';
|
|
3243
|
+
message: string;
|
|
3244
|
+
detail?: ReactNode;
|
|
3245
|
+
}
|
|
3246
|
+
|
|
3247
|
+
/** Local presentation contracts, not a host wire protocol. Source offsets are zero-based,
|
|
3248
|
+
* half-open UTF-8 byte offsets. The adapter converts DOM UTF-16 offsets explicitly. */
|
|
3249
|
+
export declare interface QueryRange {
|
|
3250
|
+
start: number;
|
|
3251
|
+
end: number;
|
|
3252
|
+
unit: 'utf8-byte';
|
|
3253
|
+
}
|
|
3254
|
+
|
|
3255
|
+
export declare interface QueryScopeOption {
|
|
3256
|
+
id: string;
|
|
3257
|
+
label: string;
|
|
3258
|
+
description?: string;
|
|
3259
|
+
disabledReason?: string;
|
|
3260
|
+
}
|
|
3261
|
+
|
|
3262
|
+
export declare type QueryServiceStatus = 'ready' | 'empty' | 'error' | 'denied' | 'unavailable';
|
|
3263
|
+
|
|
3264
|
+
export declare interface QuerySignatureResponse {
|
|
3265
|
+
documentVersion: number;
|
|
3266
|
+
contextKey: string;
|
|
3267
|
+
status: QueryServiceStatus;
|
|
3268
|
+
message?: string;
|
|
3269
|
+
signature?: {
|
|
3270
|
+
label: string;
|
|
3271
|
+
documentation?: string;
|
|
3272
|
+
parameters: readonly {
|
|
3273
|
+
label: string;
|
|
3274
|
+
documentation?: string;
|
|
3275
|
+
}[];
|
|
3276
|
+
activeParameter: number;
|
|
3277
|
+
};
|
|
3278
|
+
}
|
|
3279
|
+
|
|
3280
|
+
export declare type QuerySignatureService = (request: QueryLanguageRequest) => Promise<QuerySignatureResponse>;
|
|
3281
|
+
|
|
3282
|
+
/** Numeric and timestamp drafts remain text. Host validation/admission owns conversion,
|
|
3283
|
+
* exactness, ranges, timezone policy, nullability, defaults and execution binding. */
|
|
3284
|
+
export declare type QueryValue = {
|
|
3285
|
+
kind: 'string' | 'integer' | 'number' | 'timestamp';
|
|
3286
|
+
value: string;
|
|
3287
|
+
} | {
|
|
3288
|
+
kind: 'boolean';
|
|
3289
|
+
value: boolean;
|
|
3290
|
+
} | {
|
|
3291
|
+
kind: 'enum';
|
|
3292
|
+
value: string;
|
|
3293
|
+
} | {
|
|
3294
|
+
kind: 'list';
|
|
3295
|
+
value: readonly string[];
|
|
3296
|
+
} | {
|
|
3297
|
+
kind: 'record';
|
|
3298
|
+
value: Readonly<Record<string, QueryValue | undefined>>;
|
|
3299
|
+
};
|
|
3300
|
+
|
|
3301
|
+
/** Host-defined compound inputs preserve correlations (for example a tag key/value
|
|
3302
|
+
* pair). Their field IDs are opaque and do not imply paths or query semantics. */
|
|
3303
|
+
export declare type QueryValueDefinition = QueryValueDefinitionBase & ({
|
|
3304
|
+
kind: Exclude<QueryValue['kind'], 'record'>;
|
|
3305
|
+
} | {
|
|
3306
|
+
kind: 'record';
|
|
3307
|
+
fields: readonly {
|
|
3308
|
+
id: string;
|
|
3309
|
+
label: string;
|
|
3310
|
+
definition: QueryValueDefinition;
|
|
3311
|
+
required?: boolean;
|
|
3312
|
+
}[];
|
|
3313
|
+
});
|
|
3314
|
+
|
|
3315
|
+
declare interface QueryValueDefinitionBase {
|
|
3316
|
+
placeholder?: string;
|
|
3317
|
+
description?: string;
|
|
3318
|
+
options?: readonly QueryValueOption[];
|
|
3319
|
+
loadOptions?: (request: QueryOptionRequest) => Promise<QueryOptionResponse>;
|
|
3320
|
+
/** Host explanation of supported constraints, rendered without reimplementing validation. */
|
|
3321
|
+
constraint?: string;
|
|
3322
|
+
}
|
|
3323
|
+
|
|
3324
|
+
/** Renders host-declared types. Numeric drafts never pass through Number/parseInt. */
|
|
3325
|
+
export declare function QueryValueInput({ definition, value, onChange, contextKey, label, disabled, sensitive, required, error, }: QueryValueInputProps): JSX.Element;
|
|
3326
|
+
|
|
3327
|
+
export declare interface QueryValueInputProps {
|
|
3328
|
+
definition: QueryValueDefinition;
|
|
3329
|
+
value?: QueryValue;
|
|
3330
|
+
onChange: (value: QueryValue | undefined) => void;
|
|
3331
|
+
contextKey?: string;
|
|
3332
|
+
label?: string;
|
|
3333
|
+
disabled?: boolean;
|
|
3334
|
+
sensitive?: boolean;
|
|
3335
|
+
required?: boolean;
|
|
3336
|
+
error?: string;
|
|
3337
|
+
}
|
|
3338
|
+
|
|
3339
|
+
export declare interface QueryValueOption {
|
|
3340
|
+
id: string;
|
|
3341
|
+
label: string;
|
|
3342
|
+
value: string;
|
|
3343
|
+
description?: string;
|
|
3344
|
+
disabledReason?: string;
|
|
3345
|
+
}
|
|
3346
|
+
|
|
3347
|
+
export declare interface QueryVariable {
|
|
3348
|
+
id: string;
|
|
3349
|
+
label: string;
|
|
3350
|
+
definition: QueryValueDefinition;
|
|
3351
|
+
description?: string;
|
|
3352
|
+
required?: boolean;
|
|
3353
|
+
sensitive?: boolean;
|
|
3354
|
+
disabledReason?: string;
|
|
3355
|
+
defaultValue?: QueryValue;
|
|
3356
|
+
error?: string;
|
|
3357
|
+
}
|
|
3358
|
+
|
|
3359
|
+
/** Editing drafts only: the host owns defaults, constraints, dependency cycles and binding.
|
|
3360
|
+
* Values never interpolate into query text and sensitive values are never serialized here. */
|
|
3361
|
+
export declare function QueryVariables({ variables, value, onChange, contextKey, availability, disabled, diagnostics, }: QueryVariablesProps): JSX.Element;
|
|
3362
|
+
|
|
3363
|
+
export declare interface QueryVariablesProps {
|
|
3364
|
+
variables: readonly QueryVariable[];
|
|
3365
|
+
value: Readonly<Record<string, QueryValue | undefined>>;
|
|
3366
|
+
onChange: (value: Readonly<Record<string, QueryValue | undefined>>) => void;
|
|
3367
|
+
/** Include dependency/scope/permission revisions to cancel outdated value lookups. */
|
|
3368
|
+
contextKey?: string;
|
|
3369
|
+
availability?: QueryAvailability;
|
|
3370
|
+
disabled?: boolean;
|
|
3371
|
+
diagnostics?: readonly string[];
|
|
3372
|
+
}
|
|
3373
|
+
|
|
2890
3374
|
export declare const Quote: <C extends QuoteElement = "q">(props: TypographyBaseProps & TruncationProps & {
|
|
2891
3375
|
as?: C | undefined;
|
|
2892
3376
|
} & Omit<PropsWithoutRef<ComponentProps<C>>, "color" | "as" | "truncate" | keyof TypographyBaseProps> & {
|
|
@@ -2970,6 +3454,118 @@ export declare interface RegisteredTheme extends ThemeSummary {
|
|
|
2970
3454
|
definition: ThemeDefinition;
|
|
2971
3455
|
}
|
|
2972
3456
|
|
|
3457
|
+
export declare type RelationshipCardinality = 'one-to-one' | 'one-to-many' | 'many-to-one' | 'many-to-many';
|
|
3458
|
+
|
|
3459
|
+
export declare interface RelationshipCatalog {
|
|
3460
|
+
sourceTypes: readonly RelationshipTypeOption[];
|
|
3461
|
+
targetTypes: readonly RelationshipTypeOption[];
|
|
3462
|
+
scopeMappings: readonly {
|
|
3463
|
+
id: string;
|
|
3464
|
+
label: string;
|
|
3465
|
+
description: string;
|
|
3466
|
+
state: 'available' | 'denied' | 'unavailable';
|
|
3467
|
+
}[];
|
|
3468
|
+
/** Host-supplied operators; compatibility is validated by the host, never inferred here. */
|
|
3469
|
+
operators: readonly {
|
|
3470
|
+
id: string;
|
|
3471
|
+
label: string;
|
|
3472
|
+
description: string;
|
|
3473
|
+
}[];
|
|
3474
|
+
}
|
|
3475
|
+
|
|
3476
|
+
export declare interface RelationshipCondition {
|
|
3477
|
+
id: string;
|
|
3478
|
+
sourceFieldId: string;
|
|
3479
|
+
operatorId: string;
|
|
3480
|
+
targetFieldId: string;
|
|
3481
|
+
}
|
|
3482
|
+
|
|
3483
|
+
export declare interface RelationshipEndpoint {
|
|
3484
|
+
label: string;
|
|
3485
|
+
/** Opaque host navigation target, not an inferred identity. Omit for protected endpoints. */
|
|
3486
|
+
navigationId?: string;
|
|
3487
|
+
}
|
|
3488
|
+
|
|
3489
|
+
export declare interface RelationshipFieldOption {
|
|
3490
|
+
id: string;
|
|
3491
|
+
label: string;
|
|
3492
|
+
type: string;
|
|
3493
|
+
}
|
|
3494
|
+
|
|
3495
|
+
export declare function RelationshipPreview({ preview, state, message, onNavigate, }: RelationshipPreviewProps): JSX.Element;
|
|
3496
|
+
|
|
3497
|
+
export declare interface RelationshipPreviewData {
|
|
3498
|
+
scope: string;
|
|
3499
|
+
coverage: string;
|
|
3500
|
+
limit: number;
|
|
3501
|
+
truncated: boolean;
|
|
3502
|
+
summary: string;
|
|
3503
|
+
diagnostics: readonly InspectorDiagnostic[];
|
|
3504
|
+
edges: readonly {
|
|
3505
|
+
id: string;
|
|
3506
|
+
source: RelationshipEndpoint;
|
|
3507
|
+
target?: RelationshipEndpoint;
|
|
3508
|
+
state: 'matched' | 'unmatched' | 'ambiguous' | 'denied' | 'unavailable';
|
|
3509
|
+
detail: string;
|
|
3510
|
+
provenance: {
|
|
3511
|
+
origin: 'provider' | 'user';
|
|
3512
|
+
ruleLabel: string;
|
|
3513
|
+
condition: string;
|
|
3514
|
+
scopeMapping: string;
|
|
3515
|
+
};
|
|
3516
|
+
}[];
|
|
3517
|
+
}
|
|
3518
|
+
|
|
3519
|
+
export declare interface RelationshipPreviewProps {
|
|
3520
|
+
preview?: RelationshipPreviewData;
|
|
3521
|
+
state?: 'ready' | 'loading' | 'denied' | 'unavailable';
|
|
3522
|
+
message?: string;
|
|
3523
|
+
onNavigate?: (navigationId: string) => void;
|
|
3524
|
+
}
|
|
3525
|
+
|
|
3526
|
+
export declare interface RelationshipRuleDraft {
|
|
3527
|
+
id: string;
|
|
3528
|
+
name: string;
|
|
3529
|
+
sourceTypeId: string;
|
|
3530
|
+
targetTypeId: string;
|
|
3531
|
+
scopeMappingId: string;
|
|
3532
|
+
cardinality: RelationshipCardinality;
|
|
3533
|
+
conditions: readonly RelationshipCondition[];
|
|
3534
|
+
enabled: boolean;
|
|
3535
|
+
origin: 'user' | 'provider';
|
|
3536
|
+
}
|
|
3537
|
+
|
|
3538
|
+
export declare function RelationshipRuleEditor({ draft, catalog, onChange, onSave, onPreview, onSetEnabled, validation, preview, previewIsCurrent, onNavigate, state, message, }: RelationshipRuleEditorProps): JSX.Element;
|
|
3539
|
+
|
|
3540
|
+
export declare interface RelationshipRuleEditorProps {
|
|
3541
|
+
draft: RelationshipRuleDraft;
|
|
3542
|
+
catalog: RelationshipCatalog;
|
|
3543
|
+
onChange: (draft: RelationshipRuleDraft) => void;
|
|
3544
|
+
onSave: (draft: RelationshipRuleDraft, context: InspectorAsyncContext) => Promise<void>;
|
|
3545
|
+
onPreview: (draft: RelationshipRuleDraft, context: InspectorAsyncContext) => Promise<void>;
|
|
3546
|
+
onSetEnabled: (enabled: boolean, context: InspectorAsyncContext) => Promise<void>;
|
|
3547
|
+
/** Must describe the current controlled draft. Unknown/pending drafts cannot be saved. */
|
|
3548
|
+
validation: RelationshipValidation;
|
|
3549
|
+
preview?: RelationshipPreviewData;
|
|
3550
|
+
/** The host confirms the preview belongs to this exact draft/access context. Defaults to false. */
|
|
3551
|
+
previewIsCurrent?: boolean;
|
|
3552
|
+
onNavigate?: (navigationId: string) => void;
|
|
3553
|
+
state?: 'ready' | 'loading' | 'denied' | 'unavailable';
|
|
3554
|
+
message?: string;
|
|
3555
|
+
}
|
|
3556
|
+
|
|
3557
|
+
export declare interface RelationshipTypeOption {
|
|
3558
|
+
id: string;
|
|
3559
|
+
label: string;
|
|
3560
|
+
provider: string;
|
|
3561
|
+
fields: readonly RelationshipFieldOption[];
|
|
3562
|
+
}
|
|
3563
|
+
|
|
3564
|
+
export declare interface RelationshipValidation {
|
|
3565
|
+
state: 'unchecked' | 'pending' | 'valid' | 'invalid' | 'denied' | 'unavailable';
|
|
3566
|
+
diagnostics: readonly InspectorDiagnostic[];
|
|
3567
|
+
}
|
|
3568
|
+
|
|
2973
3569
|
export declare type ReorderMeta = {
|
|
2974
3570
|
id: TabId;
|
|
2975
3571
|
from: number;
|
|
@@ -2997,6 +3593,200 @@ export declare interface ResizableSplitPaneProps extends HTMLAttributes<HTMLDivE
|
|
|
2997
3593
|
children: [ReactNode, ReactNode];
|
|
2998
3594
|
}
|
|
2999
3595
|
|
|
3596
|
+
export declare function ResourceGroupingControls({ fields, value, onChange, loading, error, disabled, className, }: ResourceGroupingControlsProps): JSX.Element;
|
|
3597
|
+
|
|
3598
|
+
export declare interface ResourceGroupingControlsProps {
|
|
3599
|
+
fields: readonly ResourceGroupingField[];
|
|
3600
|
+
value: ResourceGroupingValue;
|
|
3601
|
+
onChange: (value: ResourceGroupingValue) => void;
|
|
3602
|
+
loading?: boolean;
|
|
3603
|
+
error?: string;
|
|
3604
|
+
disabled?: boolean;
|
|
3605
|
+
className?: string;
|
|
3606
|
+
}
|
|
3607
|
+
|
|
3608
|
+
export declare interface ResourceGroupingField {
|
|
3609
|
+
id: string;
|
|
3610
|
+
label: string;
|
|
3611
|
+
groupable: boolean;
|
|
3612
|
+
splittable: boolean;
|
|
3613
|
+
reason?: string;
|
|
3614
|
+
applicability?: string;
|
|
3615
|
+
}
|
|
3616
|
+
|
|
3617
|
+
export declare interface ResourceGroupingValue {
|
|
3618
|
+
groupBy: readonly string[];
|
|
3619
|
+
splitBy: readonly string[];
|
|
3620
|
+
}
|
|
3621
|
+
|
|
3622
|
+
export declare type ResourceIndexAction = {
|
|
3623
|
+
kind: 'create';
|
|
3624
|
+
definition: ResourceIndexDefinition;
|
|
3625
|
+
} | {
|
|
3626
|
+
kind: 'rebuild' | 'drop';
|
|
3627
|
+
indexId: string;
|
|
3628
|
+
} | {
|
|
3629
|
+
kind: 'cancel';
|
|
3630
|
+
operationId: string;
|
|
3631
|
+
};
|
|
3632
|
+
|
|
3633
|
+
export declare interface ResourceIndexAdvice {
|
|
3634
|
+
id: string;
|
|
3635
|
+
viewLabel: string;
|
|
3636
|
+
queryLabel: string;
|
|
3637
|
+
proposalId?: string;
|
|
3638
|
+
indexIds: readonly string[];
|
|
3639
|
+
recommendation: string;
|
|
3640
|
+
confidence: string;
|
|
3641
|
+
basis: string;
|
|
3642
|
+
benefit: InspectorEvidence;
|
|
3643
|
+
memory: IndexFootprint;
|
|
3644
|
+
disk: IndexFootprint;
|
|
3645
|
+
writeCost: InspectorEvidence;
|
|
3646
|
+
beforeAfter?: {
|
|
3647
|
+
before: string;
|
|
3648
|
+
after: string;
|
|
3649
|
+
basis: string;
|
|
3650
|
+
};
|
|
3651
|
+
}
|
|
3652
|
+
|
|
3653
|
+
export declare interface ResourceIndexDefinition {
|
|
3654
|
+
id: string;
|
|
3655
|
+
label: string;
|
|
3656
|
+
provider: string;
|
|
3657
|
+
resourceType: string;
|
|
3658
|
+
scope: string;
|
|
3659
|
+
path: string;
|
|
3660
|
+
valueType: string;
|
|
3661
|
+
schema: string;
|
|
3662
|
+
storage: 'memory' | 'persisted';
|
|
3663
|
+
dataPolicy: string;
|
|
3664
|
+
}
|
|
3665
|
+
|
|
3666
|
+
export declare interface ResourceIndexInventory extends ResourceIndexDefinition {
|
|
3667
|
+
kind: 'metadata' | 'document';
|
|
3668
|
+
state: 'ready' | 'building' | 'catching-up' | 'stale' | 'failed' | 'canceled' | 'unavailable' | 'denied';
|
|
3669
|
+
coverage: string;
|
|
3670
|
+
freshness: string;
|
|
3671
|
+
generation?: string;
|
|
3672
|
+
memory: IndexFootprint;
|
|
3673
|
+
disk: IndexFootprint;
|
|
3674
|
+
quota?: string;
|
|
3675
|
+
references: readonly {
|
|
3676
|
+
id: string;
|
|
3677
|
+
label: string;
|
|
3678
|
+
queryLabel: string;
|
|
3679
|
+
}[];
|
|
3680
|
+
fallback: string;
|
|
3681
|
+
failure?: string;
|
|
3682
|
+
operation?: {
|
|
3683
|
+
id: string;
|
|
3684
|
+
label: string;
|
|
3685
|
+
progress?: number;
|
|
3686
|
+
cancellable: boolean;
|
|
3687
|
+
};
|
|
3688
|
+
/** Host-authorized actions; absence never means allowed. */
|
|
3689
|
+
actions: readonly ('rebuild' | 'drop')[];
|
|
3690
|
+
}
|
|
3691
|
+
|
|
3692
|
+
export declare function ResourceIndexManager({ indexes, proposals, advice, onAction, state, message, }: ResourceIndexManagerProps): JSX.Element;
|
|
3693
|
+
|
|
3694
|
+
export declare interface ResourceIndexManagerProps {
|
|
3695
|
+
indexes: readonly ResourceIndexInventory[];
|
|
3696
|
+
/** Host-admitted create definitions, including schema/scope/storage/data policy. */
|
|
3697
|
+
proposals: readonly ResourceIndexDefinition[];
|
|
3698
|
+
advice: readonly ResourceIndexAdvice[];
|
|
3699
|
+
onAction: (action: ResourceIndexAction, context: InspectorAsyncContext) => Promise<void>;
|
|
3700
|
+
state?: 'ready' | 'loading' | 'denied' | 'unavailable';
|
|
3701
|
+
message?: string;
|
|
3702
|
+
}
|
|
3703
|
+
|
|
3704
|
+
export declare interface ResourceNavigationResult<TResource> {
|
|
3705
|
+
label: string;
|
|
3706
|
+
provenance: string;
|
|
3707
|
+
resource: TResource;
|
|
3708
|
+
disabledReason?: string;
|
|
3709
|
+
}
|
|
3710
|
+
|
|
3711
|
+
export declare function ResourceResultNavigation<TResource, TContext>({ result, context, requestKey, onNavigate, }: ResourceResultNavigationProps<TResource, TContext>): JSX.Element;
|
|
3712
|
+
|
|
3713
|
+
export declare interface ResourceResultNavigationProps<TResource, TContext> {
|
|
3714
|
+
result: ResourceNavigationResult<TResource>;
|
|
3715
|
+
/** Passed intact to the host so opening a drawer/route can retain the originating workspace. */
|
|
3716
|
+
context: TContext;
|
|
3717
|
+
/** Host destination/context generation. Change to cancel a pending navigation; object identity is irrelevant. */
|
|
3718
|
+
requestKey: string | number;
|
|
3719
|
+
onNavigate: (result: ResourceNavigationResult<TResource>, context: TContext, signal: AbortSignal) => Promise<WorkspaceActionResult>;
|
|
3720
|
+
}
|
|
3721
|
+
|
|
3722
|
+
export declare function ResourceScopePicker({ targets, value, onChange, loading, error, disabled, className, }: ResourceScopePickerProps): JSX.Element;
|
|
3723
|
+
|
|
3724
|
+
export declare interface ResourceScopePickerProps {
|
|
3725
|
+
targets: readonly ResourceScopeTarget[];
|
|
3726
|
+
value: readonly ResourceScopeSelection[];
|
|
3727
|
+
onChange: (value: readonly ResourceScopeSelection[]) => void;
|
|
3728
|
+
loading?: boolean;
|
|
3729
|
+
error?: string;
|
|
3730
|
+
disabled?: boolean;
|
|
3731
|
+
className?: string;
|
|
3732
|
+
}
|
|
3733
|
+
|
|
3734
|
+
/** Empty/missing dimensions stay unresolved; this control never broadens them. */
|
|
3735
|
+
export declare interface ResourceScopeSelection {
|
|
3736
|
+
targetId: string;
|
|
3737
|
+
dimensions: Readonly<Record<string, readonly string[] | 'any'>>;
|
|
3738
|
+
}
|
|
3739
|
+
|
|
3740
|
+
/** Host catalog identifiers are opaque; display labels never become resource identity. */
|
|
3741
|
+
export declare interface ResourceScopeTarget {
|
|
3742
|
+
id: string;
|
|
3743
|
+
provider: string;
|
|
3744
|
+
connection: string;
|
|
3745
|
+
resourceType: string;
|
|
3746
|
+
description?: string;
|
|
3747
|
+
status?: 'ready' | 'loading' | 'partial' | 'denied' | 'offline' | 'unsupported';
|
|
3748
|
+
reason?: string;
|
|
3749
|
+
dimensions?: readonly {
|
|
3750
|
+
id: string;
|
|
3751
|
+
label: string;
|
|
3752
|
+
allowAny?: boolean;
|
|
3753
|
+
values: readonly {
|
|
3754
|
+
id: string;
|
|
3755
|
+
label: string;
|
|
3756
|
+
disabledReason?: string;
|
|
3757
|
+
}[];
|
|
3758
|
+
}[];
|
|
3759
|
+
}
|
|
3760
|
+
|
|
3761
|
+
/** The host supplies already bounded/ranked results; no client filtering or indexing. */
|
|
3762
|
+
export declare interface ResourceSearchItem<TPayload> {
|
|
3763
|
+
id: string;
|
|
3764
|
+
kind: 'command' | 'setting' | 'navigation' | 'resource';
|
|
3765
|
+
label: string;
|
|
3766
|
+
description?: string;
|
|
3767
|
+
provenance?: string;
|
|
3768
|
+
disabledReason?: string;
|
|
3769
|
+
payload: TPayload;
|
|
3770
|
+
decoration?: ReactNode;
|
|
3771
|
+
}
|
|
3772
|
+
|
|
3773
|
+
export declare function ResourceSearchResults<TPayload>({ query, onQueryChange, items, onActivate, onDismiss, loading, error, status, scopeStatus, stale, }: ResourceSearchResultsProps<TPayload>): JSX.Element;
|
|
3774
|
+
|
|
3775
|
+
export declare interface ResourceSearchResultsProps<TPayload> {
|
|
3776
|
+
query: string;
|
|
3777
|
+
onQueryChange: (query: string) => void;
|
|
3778
|
+
items: readonly ResourceSearchItem<TPayload>[];
|
|
3779
|
+
onActivate: (item: ResourceSearchItem<TPayload>, signal: AbortSignal) => Promise<WorkspaceActionResult>;
|
|
3780
|
+
onDismiss?: () => void;
|
|
3781
|
+
loading?: boolean;
|
|
3782
|
+
error?: string;
|
|
3783
|
+
/** Host-supplied permission, freshness, partial-source and bounded-result explanations. */
|
|
3784
|
+
status?: ReactNode;
|
|
3785
|
+
scopeStatus?: ReactNode;
|
|
3786
|
+
/** The host can disable older results while replacing its query generation. */
|
|
3787
|
+
stale?: boolean;
|
|
3788
|
+
}
|
|
3789
|
+
|
|
3000
3790
|
/** A span value can be a plain number or a per-breakpoint responsive object. */
|
|
3001
3791
|
export declare type ResponsiveSpan = number | Partial<Record<GridBreakpoint, number>>;
|
|
3002
3792
|
|
|
@@ -3053,6 +3843,66 @@ export declare interface RowListRootProps extends ListRootProps {
|
|
|
3053
3843
|
onSortChange?: (sort: SortState) => void;
|
|
3054
3844
|
}
|
|
3055
3845
|
|
|
3846
|
+
/** Presentation requests only: the host owns document schemas, semantics and persistence. */
|
|
3847
|
+
export declare type SavedResourceAction<TDraft> = {
|
|
3848
|
+
type: 'create';
|
|
3849
|
+
name: string;
|
|
3850
|
+
draft: TDraft;
|
|
3851
|
+
} | {
|
|
3852
|
+
type: 'rename';
|
|
3853
|
+
id: string;
|
|
3854
|
+
name: string;
|
|
3855
|
+
} | {
|
|
3856
|
+
type: 'select';
|
|
3857
|
+
id: string | null;
|
|
3858
|
+
} | {
|
|
3859
|
+
type: 'save';
|
|
3860
|
+
id: string;
|
|
3861
|
+
name: string;
|
|
3862
|
+
draft: TDraft;
|
|
3863
|
+
} | {
|
|
3864
|
+
type: 'reset';
|
|
3865
|
+
id: string | null;
|
|
3866
|
+
} | {
|
|
3867
|
+
type: 'delete';
|
|
3868
|
+
id: string;
|
|
3869
|
+
} | {
|
|
3870
|
+
type: 'import';
|
|
3871
|
+
document: string;
|
|
3872
|
+
} | {
|
|
3873
|
+
type: 'export';
|
|
3874
|
+
id: string;
|
|
3875
|
+
};
|
|
3876
|
+
|
|
3877
|
+
export declare interface SavedResourceItem {
|
|
3878
|
+
id: string;
|
|
3879
|
+
name: string;
|
|
3880
|
+
status?: 'ready' | 'conflict' | 'corrupt' | 'unsupported' | 'denied' | 'unavailable';
|
|
3881
|
+
reason?: string;
|
|
3882
|
+
}
|
|
3883
|
+
|
|
3884
|
+
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;
|
|
3885
|
+
|
|
3886
|
+
export declare interface SavedResourceManagerProps<TDraft> {
|
|
3887
|
+
kind: 'query' | 'view' | 'preset';
|
|
3888
|
+
items: readonly SavedResourceItem[];
|
|
3889
|
+
selectedId: string | null;
|
|
3890
|
+
nameDraft: string;
|
|
3891
|
+
onNameDraftChange: (name: string) => void;
|
|
3892
|
+
importDraft: string;
|
|
3893
|
+
onImportDraftChange: (document: string) => void;
|
|
3894
|
+
/** Opaque configuration. Never interpreted, serialized, or validated by this component. */
|
|
3895
|
+
draft: TDraft;
|
|
3896
|
+
dirty: boolean;
|
|
3897
|
+
onAction: (action: SavedResourceAction<TDraft>, signal: AbortSignal) => Promise<WorkspaceActionResult>;
|
|
3898
|
+
status?: WorkspaceActionResult;
|
|
3899
|
+
loading?: boolean;
|
|
3900
|
+
disabled?: boolean;
|
|
3901
|
+
disabledReason?: string;
|
|
3902
|
+
children?: ReactNode;
|
|
3903
|
+
className?: string;
|
|
3904
|
+
}
|
|
3905
|
+
|
|
3056
3906
|
export declare const ScrollArea: ForwardRefExoticComponent<ScrollAreaProps & RefAttributes<HTMLDivElement>>;
|
|
3057
3907
|
|
|
3058
3908
|
export declare type ScrollAreaOrientation = 'vertical' | 'horizontal' | 'both';
|
|
@@ -3085,6 +3935,14 @@ export declare interface SearchInputProps extends Omit<InputControlProps, 'start
|
|
|
3085
3935
|
rootProps?: Omit<HTMLAttributes<HTMLDivElement>, 'className' | 'color'>;
|
|
3086
3936
|
}
|
|
3087
3937
|
|
|
3938
|
+
/** Opens a search surface using the same shell and sizing as a text input. */
|
|
3939
|
+
export declare const SearchTrigger: ForwardRefExoticComponent<SearchTriggerProps & RefAttributes<HTMLButtonElement>>;
|
|
3940
|
+
|
|
3941
|
+
export declare interface SearchTriggerProps extends Omit<ComponentPropsWithoutRef<'button'>, 'color' | 'children'>, StyledComponentProps {
|
|
3942
|
+
placeholder?: string;
|
|
3943
|
+
shortcut?: ReactNode;
|
|
3944
|
+
}
|
|
3945
|
+
|
|
3088
3946
|
declare const SecondarySidebar: ForwardRefExoticComponent<AppShellSecondarySidebarProps & RefAttributes<HTMLElement>>;
|
|
3089
3947
|
|
|
3090
3948
|
export declare interface Section {
|
|
@@ -4873,6 +5731,10 @@ export declare function useTreeItem(store: TreeStore, key: Key_3, textValue?: st
|
|
|
4873
5731
|
|
|
4874
5732
|
export declare function useTreeStoreContext(): TreeStore;
|
|
4875
5733
|
|
|
5734
|
+
export declare function utf16ToUtf8(text: string, offset: number): number;
|
|
5735
|
+
|
|
5736
|
+
export declare function utf8ToUtf16(text: string, offset: number): number;
|
|
5737
|
+
|
|
4876
5738
|
/** Validation function. Return a FieldErrors map (empty or all-undefined = valid). */
|
|
4877
5739
|
export declare type ValidateItem = (key: Key, values: Record<string, string>) => FieldErrors | Promise<FieldErrors>;
|
|
4878
5740
|
|
|
@@ -4893,6 +5755,127 @@ export declare interface ValidateSectionsResult {
|
|
|
4893
5755
|
|
|
4894
5756
|
export declare function validateThemeDefinition(input: unknown, supportsColor?: SupportsColor): ThemeDefinition;
|
|
4895
5757
|
|
|
5758
|
+
/**
|
|
5759
|
+
* Controlled, keyed layout with pointer and keyboard arrangement. Renderers own
|
|
5760
|
+
* acquisition/lifetimes; preview does not silently unmount panels or pause data.
|
|
5761
|
+
*/
|
|
5762
|
+
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;
|
|
5763
|
+
|
|
5764
|
+
/** Presentation geometry only, not a persisted saved-view document. */
|
|
5765
|
+
export declare interface ViewLayoutItem {
|
|
5766
|
+
id: string;
|
|
5767
|
+
title: string;
|
|
5768
|
+
columnSpan: number;
|
|
5769
|
+
rowSpan: number;
|
|
5770
|
+
}
|
|
5771
|
+
|
|
5772
|
+
export declare interface ViewLayoutProps<TItem extends ViewLayoutItem = ViewLayoutItem> extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
|
|
5773
|
+
items: readonly TItem[];
|
|
5774
|
+
onItemsChange: (items: TItem[]) => void;
|
|
5775
|
+
renderItem: (item: TItem) => ReactNode;
|
|
5776
|
+
onConfigure?: (id: string) => void;
|
|
5777
|
+
editing?: boolean;
|
|
5778
|
+
/** Prevent layout/configuration changes without disabling rendered panel content. */
|
|
5779
|
+
disabled?: boolean;
|
|
5780
|
+
/** Keep editing controls discoverable, but prevent layout/configuration changes. */
|
|
5781
|
+
readOnly?: boolean;
|
|
5782
|
+
columns?: 1 | 2 | 3 | 4 | 6 | 12;
|
|
5783
|
+
rowHeight?: number;
|
|
5784
|
+
maxRowSpan?: number;
|
|
5785
|
+
emptyContent?: ReactNode;
|
|
5786
|
+
}
|
|
5787
|
+
|
|
5788
|
+
export declare interface VisualizationBindingDiagnostic {
|
|
5789
|
+
slotId?: string;
|
|
5790
|
+
severity: 'error' | 'warning' | 'info';
|
|
5791
|
+
message: string;
|
|
5792
|
+
}
|
|
5793
|
+
|
|
5794
|
+
export declare function VisualizationBindingEditor({ slots, fields, value, onChange, diagnostics, disabled, visualizationId, visualizations, onVisualizationChange, children, className, ...props }: VisualizationBindingEditorProps): JSX.Element;
|
|
5795
|
+
|
|
5796
|
+
export declare interface VisualizationBindingEditorProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
|
|
5797
|
+
slots: readonly VisualizationBindingSlot[];
|
|
5798
|
+
/** Host-projected choices. IDs are opaque: this component never resolves paths or compatibility. */
|
|
5799
|
+
fields: readonly VisualizationFieldOption[];
|
|
5800
|
+
value: VisualizationBindings;
|
|
5801
|
+
onChange: (bindings: VisualizationBindings) => void;
|
|
5802
|
+
diagnostics?: readonly VisualizationBindingDiagnostic[];
|
|
5803
|
+
disabled?: boolean;
|
|
5804
|
+
visualizationId?: string;
|
|
5805
|
+
visualizations?: readonly VisualizationOption[];
|
|
5806
|
+
onVisualizationChange?: (id: string) => void;
|
|
5807
|
+
}
|
|
5808
|
+
|
|
5809
|
+
export declare type VisualizationBindings = Readonly<Record<string, string | undefined>>;
|
|
5810
|
+
|
|
5811
|
+
export declare interface VisualizationBindingSlot {
|
|
5812
|
+
id: string;
|
|
5813
|
+
label: string;
|
|
5814
|
+
description?: string;
|
|
5815
|
+
required?: boolean;
|
|
5816
|
+
}
|
|
5817
|
+
|
|
5818
|
+
/** Values have already been selected/validated by the caller. Exact integers can remain strings. */
|
|
5819
|
+
export declare type VisualizationDisplayValue = string | number | boolean | null | readonly VisualizationDisplayValue[] | {
|
|
5820
|
+
readonly [key: string]: VisualizationDisplayValue;
|
|
5821
|
+
};
|
|
5822
|
+
|
|
5823
|
+
export declare interface VisualizationField {
|
|
5824
|
+
id: string;
|
|
5825
|
+
label: string;
|
|
5826
|
+
value: VisualizationFieldValue;
|
|
5827
|
+
}
|
|
5828
|
+
|
|
5829
|
+
export declare interface VisualizationFieldOption {
|
|
5830
|
+
id: string;
|
|
5831
|
+
label: string;
|
|
5832
|
+
type: string;
|
|
5833
|
+
description?: string;
|
|
5834
|
+
disabledReason?: string;
|
|
5835
|
+
}
|
|
5836
|
+
|
|
5837
|
+
/** Bounded presentation only: does not parse field paths, evaluate selectors or fetch resources. */
|
|
5838
|
+
export declare function VisualizationFields({ fields, presentation, className, ...props }: VisualizationFieldsProps): JSX.Element;
|
|
5839
|
+
|
|
5840
|
+
export declare interface VisualizationFieldsProps extends HTMLAttributes<HTMLDivElement> {
|
|
5841
|
+
fields: readonly VisualizationField[];
|
|
5842
|
+
presentation?: 'stat' | 'list' | 'key-value';
|
|
5843
|
+
}
|
|
5844
|
+
|
|
5845
|
+
export declare type VisualizationFieldValue = {
|
|
5846
|
+
status: 'ready';
|
|
5847
|
+
value: VisualizationDisplayValue;
|
|
5848
|
+
} | {
|
|
5849
|
+
status: 'missing' | 'type-error' | 'unavailable' | 'denied';
|
|
5850
|
+
message: string;
|
|
5851
|
+
};
|
|
5852
|
+
|
|
5853
|
+
export declare interface VisualizationOption {
|
|
5854
|
+
id: string;
|
|
5855
|
+
label: string;
|
|
5856
|
+
description?: string;
|
|
5857
|
+
disabledReason?: string;
|
|
5858
|
+
}
|
|
5859
|
+
|
|
5860
|
+
/** Non-ready content is not mounted; each panel fails independently. */
|
|
5861
|
+
export declare function VisualizationPanel({ title, status, description, detail, actions, children, className, ...props }: VisualizationPanelProps): JSX.Element;
|
|
5862
|
+
|
|
5863
|
+
export declare interface VisualizationPanelProps extends Omit<HTMLAttributes<HTMLElement>, 'color'> {
|
|
5864
|
+
title: string;
|
|
5865
|
+
status: VisualizationStatus;
|
|
5866
|
+
description?: string;
|
|
5867
|
+
/** Safe, host-provided diagnostic; never derives or requests protected data. */
|
|
5868
|
+
detail?: string;
|
|
5869
|
+
actions?: ReactNode;
|
|
5870
|
+
}
|
|
5871
|
+
|
|
5872
|
+
export declare type VisualizationStatus = 'ready' | 'loading' | 'empty' | 'error' | 'unavailable' | 'denied';
|
|
5873
|
+
|
|
4896
5874
|
declare type WeekStart = 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
|
4897
5875
|
|
|
5876
|
+
export declare type WorkspaceActionResult = {
|
|
5877
|
+
status: 'success' | 'conflict' | 'corrupt' | 'unsupported' | 'denied' | 'unavailable' | 'error';
|
|
5878
|
+
message?: string;
|
|
5879
|
+
};
|
|
5880
|
+
|
|
4898
5881
|
export { }
|