@omniviewdev/base-ui 0.5.0 → 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 +963 -0
- package/dist/index.js +22246 -19147
- 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 & {
|
|
@@ -2019,6 +2024,23 @@ export declare interface EmptyStateProps extends HTMLAttributes<HTMLDivElement>
|
|
|
2019
2024
|
size?: 'sm' | 'md' | 'lg';
|
|
2020
2025
|
}
|
|
2021
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
|
+
|
|
2022
2044
|
/** Any element that has a string `.value` and can receive focus. */
|
|
2023
2045
|
export declare interface FieldElement {
|
|
2024
2046
|
value: string;
|
|
@@ -2326,6 +2348,15 @@ export declare interface ImageProps extends Omit<ImgHTMLAttributes<HTMLImageElem
|
|
|
2326
2348
|
borderRadius?: ImageBorderRadius;
|
|
2327
2349
|
}
|
|
2328
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
|
+
|
|
2329
2360
|
/** Internal props injected by StepperRoot via Children.map. */
|
|
2330
2361
|
declare interface InjectedStepProps {
|
|
2331
2362
|
/* Excluded from this release type: _index */
|
|
@@ -2367,6 +2398,25 @@ declare const InputRoot: ForwardRefExoticComponent<Omit<InputRootProps, "ref"> &
|
|
|
2367
2398
|
export declare interface InputRootProps extends Field.Root.Props, StyledComponentProps {
|
|
2368
2399
|
}
|
|
2369
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
|
+
|
|
2370
2420
|
export declare function isBuiltInThemeId(id: string): id is BuiltInThemeId;
|
|
2371
2421
|
|
|
2372
2422
|
/** True if the `year` is a leap year (Gregorian calendar). */
|
|
@@ -2887,6 +2937,428 @@ export declare interface ProgressProps extends Omit<HTMLAttributes<HTMLDivElemen
|
|
|
2887
2937
|
size?: ComponentSize;
|
|
2888
2938
|
}
|
|
2889
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
|
+
|
|
2890
3362
|
export declare const Quote: <C extends QuoteElement = "q">(props: TypographyBaseProps & TruncationProps & {
|
|
2891
3363
|
as?: C | undefined;
|
|
2892
3364
|
} & Omit<PropsWithoutRef<ComponentProps<C>>, "color" | "as" | "truncate" | keyof TypographyBaseProps> & {
|
|
@@ -2970,6 +3442,118 @@ export declare interface RegisteredTheme extends ThemeSummary {
|
|
|
2970
3442
|
definition: ThemeDefinition;
|
|
2971
3443
|
}
|
|
2972
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
|
+
|
|
2973
3557
|
export declare type ReorderMeta = {
|
|
2974
3558
|
id: TabId;
|
|
2975
3559
|
from: number;
|
|
@@ -2997,6 +3581,200 @@ export declare interface ResizableSplitPaneProps extends HTMLAttributes<HTMLDivE
|
|
|
2997
3581
|
children: [ReactNode, ReactNode];
|
|
2998
3582
|
}
|
|
2999
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
|
+
|
|
3000
3778
|
/** A span value can be a plain number or a per-breakpoint responsive object. */
|
|
3001
3779
|
export declare type ResponsiveSpan = number | Partial<Record<GridBreakpoint, number>>;
|
|
3002
3780
|
|
|
@@ -3053,6 +3831,66 @@ export declare interface RowListRootProps extends ListRootProps {
|
|
|
3053
3831
|
onSortChange?: (sort: SortState) => void;
|
|
3054
3832
|
}
|
|
3055
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
|
+
|
|
3056
3894
|
export declare const ScrollArea: ForwardRefExoticComponent<ScrollAreaProps & RefAttributes<HTMLDivElement>>;
|
|
3057
3895
|
|
|
3058
3896
|
export declare type ScrollAreaOrientation = 'vertical' | 'horizontal' | 'both';
|
|
@@ -4873,6 +5711,10 @@ export declare function useTreeItem(store: TreeStore, key: Key_3, textValue?: st
|
|
|
4873
5711
|
|
|
4874
5712
|
export declare function useTreeStoreContext(): TreeStore;
|
|
4875
5713
|
|
|
5714
|
+
export declare function utf16ToUtf8(text: string, offset: number): number;
|
|
5715
|
+
|
|
5716
|
+
export declare function utf8ToUtf16(text: string, offset: number): number;
|
|
5717
|
+
|
|
4876
5718
|
/** Validation function. Return a FieldErrors map (empty or all-undefined = valid). */
|
|
4877
5719
|
export declare type ValidateItem = (key: Key, values: Record<string, string>) => FieldErrors | Promise<FieldErrors>;
|
|
4878
5720
|
|
|
@@ -4893,6 +5735,127 @@ export declare interface ValidateSectionsResult {
|
|
|
4893
5735
|
|
|
4894
5736
|
export declare function validateThemeDefinition(input: unknown, supportsColor?: SupportsColor): ThemeDefinition;
|
|
4895
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
|
+
|
|
4896
5854
|
declare type WeekStart = 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
|
4897
5855
|
|
|
5856
|
+
export declare type WorkspaceActionResult = {
|
|
5857
|
+
status: 'success' | 'conflict' | 'corrupt' | 'unsupported' | 'denied' | 'unavailable' | 'error';
|
|
5858
|
+
message?: string;
|
|
5859
|
+
};
|
|
5860
|
+
|
|
4898
5861
|
export { }
|