@reopt-ai/opt-ui 1.14.0 → 1.15.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/CHANGELOG.md +45 -0
- package/COMPONENT_CATALOG.md +222 -69
- package/README.md +26 -0
- package/dist/core/index.cjs +4 -4
- package/dist/core/index.d.cts +2 -2
- package/dist/core/index.d.ts +2 -2
- package/dist/core/index.js +2 -2
- package/dist/docs/02-components/01-core.md +37 -33
- package/dist/docs/02-components/02-visuals.md +1 -1
- package/dist/docs/02-components/03-shells.md +191 -36
- package/dist/docs/02-components/04-surfaces.md +1 -1
- package/dist/docs/02-components/index.md +4 -4
- package/dist/id-registry.cjs +24 -0
- package/dist/id-registry.js +24 -0
- package/dist/id-registry.json +51 -0
- package/dist/index.cjs +445 -381
- package/dist/index.d.cts +16 -13
- package/dist/index.d.ts +16 -13
- package/dist/index.js +303 -245
- package/dist/{key-pad-menu-CqFI6la9.js → key-pad-menu-BCOeYvsH.js} +50 -61
- package/dist/{key-pad-menu-D6pYzaj-.d.cts → key-pad-menu-CaIsTHB2.d.cts} +12 -8
- package/dist/{key-pad-menu-BgtSL3xe.cjs → key-pad-menu-Jaqxhx9P.cjs} +48 -71
- package/dist/{key-pad-menu-Yh7Fpb8m.d.ts → key-pad-menu-odAEycIX.d.ts} +12 -8
- package/dist/meta.cjs +447 -7
- package/dist/meta.js +447 -7
- package/dist/{field-sidebar-mSVCMAZp.js → replay-player-layout-BVUNsUS1.js} +891 -191
- package/dist/{field-sidebar-ePqFX6MN.cjs → replay-player-layout-Cmzptq89.cjs} +931 -189
- package/dist/{field-sidebar-CJ4HxP8D.d.cts → replay-player-layout-DpqdfdQ6.d.ts} +246 -3
- package/dist/{field-sidebar-DnhpcT2A.d.ts → replay-player-layout-DuZW-gFF.d.cts} +246 -3
- package/dist/shells/index.cjs +58 -52
- package/dist/shells/index.d.cts +2 -2
- package/dist/shells/index.d.ts +2 -2
- package/dist/shells/index.js +2 -2
- package/dist/{text-truncate-Bd-0WkSP.js → text-truncate-B-8nJgnu.js} +200 -101
- package/dist/{text-truncate-Bbul-jMD.d.cts → text-truncate-DOxUijpB.d.cts} +2 -0
- package/dist/{text-truncate-Bbul-jMD.d.ts → text-truncate-DOxUijpB.d.ts} +2 -0
- package/dist/{text-truncate-BeYW6XZu.cjs → text-truncate-gQhpMy-Z.cjs} +214 -97
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
import { B as ProjectDef, D as EnvGroupDef, E as DomainDef, F as FormFieldDef, H as SelectOption, I as MenuDef, M as FaqItem, T as DeploymentStep, U as StatCard, W as TabDef, X as ToolbarButtonDef, _ as DateRangePreset, a as FieldDataType, j as FailureItem, m as DateRange, r as TruncationSide, w as CommandDef, y as BranchDef, z as NavItemDef } from "./text-truncate-
|
|
2
|
+
import { B as ProjectDef, D as EnvGroupDef, E as DomainDef, F as FormFieldDef, H as SelectOption, I as MenuDef, M as FaqItem, T as DeploymentStep, U as StatCard, W as TabDef, X as ToolbarButtonDef, _ as DateRangePreset, a as FieldDataType, j as FailureItem, m as DateRange, r as TruncationSide, w as CommandDef, y as BranchDef, z as NavItemDef } from "./text-truncate-DOxUijpB.js";
|
|
3
3
|
import * as React from "react";
|
|
4
4
|
import { ReactNode, Ref } from "react";
|
|
5
5
|
import { TimeGranularity, TimeRange, TimeRange as TimeRange$1, TimeSeriesAnnotation, TimeSeriesChartProps, TimeSeriesDef, TimeSeriesPoint } from "@reopt-ai/opt-charts";
|
|
@@ -61,6 +61,8 @@ declare function DashboardGrid({ stats, columns, labels: customLabels }: Dashboa
|
|
|
61
61
|
/** Localized labels for the search combobox component. */
|
|
62
62
|
interface SearchComboboxLabels {
|
|
63
63
|
noResults?: string;
|
|
64
|
+
error?: string;
|
|
65
|
+
retry?: string;
|
|
64
66
|
loading?: string;
|
|
65
67
|
}
|
|
66
68
|
/** Props for the search combobox component. */
|
|
@@ -173,6 +175,7 @@ declare function FaqAccordion({ items, labels: customLabels }: FaqAccordionProps
|
|
|
173
175
|
//#region src/shells/settings-form.d.ts
|
|
174
176
|
/** Localized labels for the settings form component. */
|
|
175
177
|
interface SettingsFormLabels {
|
|
178
|
+
submitError?: string;
|
|
176
179
|
formAriaLabel?: string;
|
|
177
180
|
submitButton?: string;
|
|
178
181
|
successMessage?: string;
|
|
@@ -180,7 +183,7 @@ interface SettingsFormLabels {
|
|
|
180
183
|
/** Props for the settings form component. */
|
|
181
184
|
interface SettingsFormProps {
|
|
182
185
|
fields: FormFieldDef[];
|
|
183
|
-
onSubmit?: (values: Record<string, unknown>) => void
|
|
186
|
+
onSubmit?: (values: Record<string, unknown>) => void | Promise<void>;
|
|
184
187
|
labels?: SettingsFormLabels;
|
|
185
188
|
}
|
|
186
189
|
/** Renders the settings form component. */
|
|
@@ -2146,4 +2149,244 @@ declare namespace FieldSidebar {
|
|
|
2146
2149
|
var displayName: string;
|
|
2147
2150
|
}
|
|
2148
2151
|
//#endregion
|
|
2149
|
-
|
|
2152
|
+
//#region src/shells/replay-scrubber.d.ts
|
|
2153
|
+
/** What the visitor was doing over a stretch of the recording. */
|
|
2154
|
+
type ReplayScrubberSegmentKind = "active" | "inactive" | "gap" | "buffer";
|
|
2155
|
+
/** A contiguous stretch of the recording classified by activity. */
|
|
2156
|
+
interface ReplayScrubberSegment {
|
|
2157
|
+
/** Absolute start, in the same unit as `start`/`end` (usually epoch ms). */
|
|
2158
|
+
start: number;
|
|
2159
|
+
/** Absolute end. */
|
|
2160
|
+
end: number;
|
|
2161
|
+
/**
|
|
2162
|
+
* `active`: the visitor was interacting. `inactive`: a pause that playback
|
|
2163
|
+
* may skip. `gap`: no data was recorded. `buffer`: data exists but has not
|
|
2164
|
+
* loaded yet, so playback should wait rather than skip.
|
|
2165
|
+
*/
|
|
2166
|
+
kind: ReplayScrubberSegmentKind;
|
|
2167
|
+
}
|
|
2168
|
+
/** A point of interest on the track — an analytics event, an error, a note. */
|
|
2169
|
+
interface ReplayScrubberMarker {
|
|
2170
|
+
id: string;
|
|
2171
|
+
/** Absolute time. */
|
|
2172
|
+
time: number;
|
|
2173
|
+
/** Accessible name and tooltip line. */
|
|
2174
|
+
label: string;
|
|
2175
|
+
tone?: "default" | "accent" | "danger" | "warning";
|
|
2176
|
+
}
|
|
2177
|
+
/** Text overrides for the scrubber's accessible strings. */
|
|
2178
|
+
interface ReplayScrubberLabels {
|
|
2179
|
+
/** aria-label of the track; default "Replay position". */
|
|
2180
|
+
track?: string;
|
|
2181
|
+
/** Tooltip suffix for a merged marker group; receives the count. */
|
|
2182
|
+
markerGroup?: (count: number) => string;
|
|
2183
|
+
/** Screen-reader name for each segment kind. */
|
|
2184
|
+
segment?: Partial<Record<ReplayScrubberSegmentKind, string>>;
|
|
2185
|
+
}
|
|
2186
|
+
/** Props for the replay scrubber component. */
|
|
2187
|
+
interface ReplayScrubberProps {
|
|
2188
|
+
/** Absolute time of the first playable moment. */
|
|
2189
|
+
start: number;
|
|
2190
|
+
/** Absolute time of the last playable moment. */
|
|
2191
|
+
end: number;
|
|
2192
|
+
/** Current playhead, absolute. Clamped into `[start, end]`. */
|
|
2193
|
+
position: number;
|
|
2194
|
+
/** Activity classification drawn under the playhead. Sorted by `start`. */
|
|
2195
|
+
segments?: ReplayScrubberSegment[];
|
|
2196
|
+
/** Ranges whose data is already loaded; drawn as the "buffered" band. */
|
|
2197
|
+
buffered?: Array<{
|
|
2198
|
+
start: number;
|
|
2199
|
+
end: number;
|
|
2200
|
+
}>;
|
|
2201
|
+
/**
|
|
2202
|
+
* Activity density, one value per equal-width bucket across `[start, end]`,
|
|
2203
|
+
* already normalized to `0..1`. Drawn as a log-scaled area behind the track.
|
|
2204
|
+
*/
|
|
2205
|
+
activity?: number[];
|
|
2206
|
+
/** Points of interest above the track. Nearby markers merge into one glyph. */
|
|
2207
|
+
markers?: ReplayScrubberMarker[];
|
|
2208
|
+
/** Fires once when a pointer or keyboard interaction settles on a time. */
|
|
2209
|
+
onSeek: (time: number) => void;
|
|
2210
|
+
/**
|
|
2211
|
+
* Fires continuously while dragging or hovering, with `null` when the pointer
|
|
2212
|
+
* leaves. Use it to show a preview; never to drive an expensive seek.
|
|
2213
|
+
*/
|
|
2214
|
+
onPreview?: (time: number | null) => void;
|
|
2215
|
+
/** Fires when a marker glyph is chosen; defaults to seeking to its time. */
|
|
2216
|
+
onMarkerSelect?: (marker: ReplayScrubberMarker) => void;
|
|
2217
|
+
/** Formats a time for the hover badge and `aria-valuetext`. Default `m:ss` from `start`. */
|
|
2218
|
+
formatTime?: (time: number) => string;
|
|
2219
|
+
/** Keyboard step for arrow keys, in time units. Default 5000. */
|
|
2220
|
+
stepMs?: number;
|
|
2221
|
+
/** Keyboard step for PageUp/PageDown. Default 30000. */
|
|
2222
|
+
largeStepMs?: number;
|
|
2223
|
+
disabled?: boolean;
|
|
2224
|
+
labels?: ReplayScrubberLabels;
|
|
2225
|
+
className?: string;
|
|
2226
|
+
}
|
|
2227
|
+
interface MarkerGroup {
|
|
2228
|
+
key: string;
|
|
2229
|
+
time: number;
|
|
2230
|
+
items: ReplayScrubberMarker[];
|
|
2231
|
+
tone: NonNullable<ReplayScrubberMarker["tone"]>;
|
|
2232
|
+
}
|
|
2233
|
+
/**
|
|
2234
|
+
* Merge markers that would render within `mergePx` of each other. Each group
|
|
2235
|
+
* anchors on its first marker; the tooltip lists every member.
|
|
2236
|
+
*/
|
|
2237
|
+
declare function groupReplayMarkers(markers: readonly ReplayScrubberMarker[], start: number, end: number, widthPx: number, mergePx?: number): MarkerGroup[];
|
|
2238
|
+
/**
|
|
2239
|
+
* ReplayScrubber — the timeline of a session recording.
|
|
2240
|
+
*
|
|
2241
|
+
* A plain `Slider` knows only a position. A recording also has stretches
|
|
2242
|
+
* where nothing happened, stretches that have not loaded, events worth
|
|
2243
|
+
* jumping to, and a rhythm of activity. This track layers all of those
|
|
2244
|
+
* under one playhead and commits a seek only when the interaction ends,
|
|
2245
|
+
* so dragging never floods the player.
|
|
2246
|
+
*/
|
|
2247
|
+
declare function ReplayScrubber({ start, end, position, segments, buffered, activity, markers, onSeek, onPreview, onMarkerSelect, formatTime, stepMs, largeStepMs, disabled, labels, className }: ReplayScrubberProps): import("react").JSX.Element;
|
|
2248
|
+
declare namespace ReplayScrubber {
|
|
2249
|
+
var displayName: string;
|
|
2250
|
+
}
|
|
2251
|
+
/** A merged cluster of markers, as rendered on the rail. */
|
|
2252
|
+
type ReplayScrubberMarkerGroup = MarkerGroup;
|
|
2253
|
+
//#endregion
|
|
2254
|
+
//#region src/shells/replay-transport.d.ts
|
|
2255
|
+
/** Text overrides for every control; defaults are English. */
|
|
2256
|
+
interface ReplayTransportLabels {
|
|
2257
|
+
play?: string;
|
|
2258
|
+
pause?: string;
|
|
2259
|
+
restart?: string;
|
|
2260
|
+
skipToStart?: string;
|
|
2261
|
+
/** Receives the jump size in seconds. */
|
|
2262
|
+
back?: (seconds: number) => string;
|
|
2263
|
+
forward?: (seconds: number) => string;
|
|
2264
|
+
speed?: string;
|
|
2265
|
+
skipInactive?: string;
|
|
2266
|
+
enterFullscreen?: string;
|
|
2267
|
+
exitFullscreen?: string;
|
|
2268
|
+
/** Names the two timecode modes for the toggle button. */
|
|
2269
|
+
elapsed?: string;
|
|
2270
|
+
clock?: string;
|
|
2271
|
+
}
|
|
2272
|
+
/** Keyboard shortcuts advertised next to each control. */
|
|
2273
|
+
interface ReplayTransportShortcuts {
|
|
2274
|
+
playPause?: string;
|
|
2275
|
+
back?: string;
|
|
2276
|
+
forward?: string;
|
|
2277
|
+
fullscreen?: string;
|
|
2278
|
+
skipInactive?: string;
|
|
2279
|
+
}
|
|
2280
|
+
/** Props for the replay transport component. */
|
|
2281
|
+
interface ReplayTransportProps {
|
|
2282
|
+
/** Whether playback is running. */
|
|
2283
|
+
playing: boolean;
|
|
2284
|
+
/** Playhead reached the end; the play button offers a restart. */
|
|
2285
|
+
ended?: boolean;
|
|
2286
|
+
/** Absolute playhead time. */
|
|
2287
|
+
position: number;
|
|
2288
|
+
/** Absolute recording bounds. */
|
|
2289
|
+
start: number;
|
|
2290
|
+
end: number;
|
|
2291
|
+
/** Toggle playback; when `ended`, restart from `start`. */
|
|
2292
|
+
onTogglePlay: () => void;
|
|
2293
|
+
/** Move the playhead by a signed amount of time units. */
|
|
2294
|
+
onSkip: (deltaMs: number) => void;
|
|
2295
|
+
/** Jump straight to `start`. Omit to hide the button. */
|
|
2296
|
+
onSkipToStart?: () => void;
|
|
2297
|
+
/** Jump size in ms for the back/forward buttons. Default 10000. */
|
|
2298
|
+
jumpMs?: number;
|
|
2299
|
+
speed: number;
|
|
2300
|
+
/** Selectable speeds. Default `[0.5, 1, 1.5, 2, 3, 4, 8, 16]`. */
|
|
2301
|
+
speeds?: readonly number[];
|
|
2302
|
+
onSpeedChange: (speed: number) => void;
|
|
2303
|
+
skipInactive: boolean;
|
|
2304
|
+
onSkipInactiveChange: (skip: boolean) => void;
|
|
2305
|
+
/** Present when the host supports fullscreen; the button toggles it. */
|
|
2306
|
+
fullscreen?: boolean;
|
|
2307
|
+
onFullscreenChange?: (fullscreen: boolean) => void;
|
|
2308
|
+
/** Show absolute clock time instead of elapsed time. Controlled by the host. */
|
|
2309
|
+
timecode?: "elapsed" | "clock";
|
|
2310
|
+
onTimecodeChange?: (mode: "elapsed" | "clock") => void;
|
|
2311
|
+
/** Formats an absolute time as a clock string; used when `timecode="clock"`. */
|
|
2312
|
+
formatClock?: (time: number) => string;
|
|
2313
|
+
/** Disables every control, e.g. while the first snapshot loads. */
|
|
2314
|
+
disabled?: boolean;
|
|
2315
|
+
/** Extra controls rendered on the right side. */
|
|
2316
|
+
children?: ReactNode;
|
|
2317
|
+
labels?: ReplayTransportLabels;
|
|
2318
|
+
shortcuts?: ReplayTransportShortcuts;
|
|
2319
|
+
className?: string;
|
|
2320
|
+
}
|
|
2321
|
+
/** `m:ss` for anything under an hour, `h:mm:ss` beyond it. */
|
|
2322
|
+
declare function formatReplayElapsed(ms: number): string;
|
|
2323
|
+
/**
|
|
2324
|
+
* ReplayTransport — play/pause, jumps, speed and skip-inactivity for a
|
|
2325
|
+
* session recording.
|
|
2326
|
+
*
|
|
2327
|
+
* It renders controls only; the host owns playback. Timecode shows elapsed
|
|
2328
|
+
* time by default and can flip to the clock time of the visitor's session,
|
|
2329
|
+
* which is what an engineer needs when matching a recording against logs.
|
|
2330
|
+
*/
|
|
2331
|
+
declare function ReplayTransport({ playing, ended, position, start, end, onTogglePlay, onSkip, onSkipToStart, jumpMs, speed, speeds, onSpeedChange, skipInactive, onSkipInactiveChange, fullscreen, onFullscreenChange, timecode, onTimecodeChange, formatClock, disabled, children, labels, shortcuts, className }: ReplayTransportProps): import("react").JSX.Element;
|
|
2332
|
+
declare namespace ReplayTransport {
|
|
2333
|
+
var displayName: string;
|
|
2334
|
+
}
|
|
2335
|
+
//#endregion
|
|
2336
|
+
//#region src/shells/replay-player-layout.d.ts
|
|
2337
|
+
/** Text overrides for the layout chrome. */
|
|
2338
|
+
interface ReplayPlayerLayoutLabels {
|
|
2339
|
+
/** aria-label of the whole player region. */
|
|
2340
|
+
region?: string;
|
|
2341
|
+
openInspector?: string;
|
|
2342
|
+
closeInspector?: string;
|
|
2343
|
+
}
|
|
2344
|
+
/** Keyboard shortcut handlers; keys are `KeyboardEvent.key` values, lower-cased. */
|
|
2345
|
+
type ReplayShortcutMap = Record<string, (event: KeyboardEvent) => void | boolean>;
|
|
2346
|
+
/** Props for the replay player layout component. */
|
|
2347
|
+
interface ReplayPlayerLayoutProps {
|
|
2348
|
+
/** The rendered recording (an iframe host). Fills the stage. */
|
|
2349
|
+
stage: ReactNode;
|
|
2350
|
+
/** Thin bar above the stage: current URL, window, device. */
|
|
2351
|
+
meta?: ReactNode;
|
|
2352
|
+
/** Transport and scrubber, below the stage. */
|
|
2353
|
+
controls?: ReactNode;
|
|
2354
|
+
/** Side panel: events, errors, details. Omit to render no panel. */
|
|
2355
|
+
inspector?: ReactNode;
|
|
2356
|
+
/** Whether the inspector panel is visible. Controlled. */
|
|
2357
|
+
inspectorOpen?: boolean;
|
|
2358
|
+
onInspectorOpenChange?: (open: boolean) => void;
|
|
2359
|
+
/** Initial inspector width as a percentage of the layout. Default 34. */
|
|
2360
|
+
inspectorSize?: number;
|
|
2361
|
+
/** Stable id so the resizable layout persists between visits. */
|
|
2362
|
+
layoutId?: string;
|
|
2363
|
+
/** Fullscreen is requested on the layout root; the host keeps the state. */
|
|
2364
|
+
fullscreen?: boolean;
|
|
2365
|
+
onFullscreenChange?: (fullscreen: boolean) => void;
|
|
2366
|
+
/**
|
|
2367
|
+
* Shortcuts active while focus is inside the layout and not in a text
|
|
2368
|
+
* field. Return `false` from a handler to let the event propagate.
|
|
2369
|
+
*/
|
|
2370
|
+
shortcuts?: ReplayShortcutMap;
|
|
2371
|
+
/** Overlay rendered above the stage: loading, errors, "skipping inactivity". */
|
|
2372
|
+
overlay?: ReactNode;
|
|
2373
|
+
labels?: ReplayPlayerLayoutLabels;
|
|
2374
|
+
className?: string;
|
|
2375
|
+
}
|
|
2376
|
+
/** Normalize a keyboard event into a shortcut key such as `space`, `arrowleft`, `shift+arrowright`. */
|
|
2377
|
+
declare function replayShortcutKey(event: KeyboardEvent): string;
|
|
2378
|
+
/**
|
|
2379
|
+
* ReplayPlayerLayout — stage, chrome and inspector for a session replay.
|
|
2380
|
+
*
|
|
2381
|
+
* Owns three things every replay UI otherwise reinvents: a resizable
|
|
2382
|
+
* inspector that keeps its width, fullscreen on the whole player rather
|
|
2383
|
+
* than on the recording iframe alone, and a keyboard scope that reacts to
|
|
2384
|
+
* shortcuts only while the player is focused and never while someone is
|
|
2385
|
+
* typing in a field.
|
|
2386
|
+
*/
|
|
2387
|
+
declare function ReplayPlayerLayout({ stage, meta, controls, inspector, inspectorOpen, onInspectorOpenChange, inspectorSize, layoutId, fullscreen, onFullscreenChange, shortcuts, overlay, labels, className }: ReplayPlayerLayoutProps): import("react").JSX.Element;
|
|
2388
|
+
declare namespace ReplayPlayerLayout {
|
|
2389
|
+
var displayName: string;
|
|
2390
|
+
}
|
|
2391
|
+
//#endregion
|
|
2392
|
+
export { addClause as $, DataTableProps as $n, QueryFiltersMenuProps as $t, LogTableHandle as A, formatQueryCell as An, CommandPalette as Ar, SqlEditorTheme as At, TimeRangeControlProps as B, FailureListLabels as Bn, QueryHistoryListLabels as Bt, FieldValueCount as C, SchemaTreeProps as Cn, StatusSelectProps as Cr, SqlEditorExtension as Ct, LogDensity as D, QueryResultsTable as Dn, DashboardGridProps as Dr, SqlEditorProps as Dt, LogColumnPriority as E, QueryResultSort as En, DashboardGrid as Er, SqlEditorLabels as Et, TimeSeriesPanelProps as F, KeyValueEditor as Fn, SaveQueryDialogLabels as Ft, QueryField as G, ToastMessage as Gn, QueryVariablesMenuProps as Gt, QueryBar as H, NotificationToast as Hn, QueryVariable as Ht, DEFAULT_TIME_PRESETS as I, KeyValueEditorLabels as In, SaveQueryDialogProps as It, QueryCellAction as J, ToastVariant as Jn, QueryFilterField as Jt, EMPTY_QUERY as K, ToastProvider as Kn, isValidQueryVariableName as Kt, RefreshSetting as L, KeyValueEditorProps as Ln, SaveQueryValues as Lt, LogTableProps as M, WorkflowCanvasConnection as Mn, QueryWorkspaceLabels as Mt, TimeSeriesPanel as N, WorkflowCanvasProps as Nn, QueryWorkspaceProps as Nt, LogSort as O, QueryResultsTableLabels as On, CommandPaletteTrigger as Or, SqlEditorRunContext as Ot, TimeSeriesPanelLabels as P, WorkflowCanvasStep as Pn, SaveQueryDialog as Pt, QueryTermClause as Q, DataTable as Qn, QueryFiltersMenuLabels as Qt, TimeRangeControl as R, KeyValueEntry as Rn, QueryHistoryItem as Rt, FieldSummary as S, SchemaTreeLabels as Sn, StatusSelect as Sr, SqlEditorCompletionSource as St, LogColumn as T, QueryResultColumn as Tn, SearchComboboxProps as Tr, SqlEditorKeyBinding as Tt, QueryBarLabels as U, ToastAction as Un, QueryVariablesMenu as Ut, TimeRangePreset as V, FailureListProps as Vn, QueryHistoryListProps as Vt, QueryBarProps as W, ToastContextValue as Wn, QueryVariablesMenuLabels as Wt, QueryFieldClause as X, useToast as Xn, QueryFilters as Xt, QueryClause as Y, toast as Yn, QueryFilterOperator as Yt, QueryOperator as Z, ColumnDef as Zn, QueryFiltersMenu as Zt, ReplayScrubberSegmentKind as _, QueryToolbar as _n, EditorToolbarProps as _r, EventTimelineItem as _t, replayShortcutKey as a, QueryChartType as an, EnvPanelProps as ar, withFieldValue as at, FieldSidebarLabels as b, SchemaTree as bn, AppMenubar as br, EventTimelineTone as bt, ReplayTransportProps as c, QueryResultChartProps as cn, DeploymentTimeline as cr, FlyoutLabels as ct, ReplayScrubber as d, QueryOutputPane as dn, SettingsFormProps as dr, ScoreBand as dt, QueryPropertyFilter as en, DomainTable as er, applyCellAction as et, ReplayScrubberLabels as f, QueryOutputPaneLabels as fn, FaqAccordion as fr, ScoreBreakdown as ft, ReplayScrubberSegment as g, QueryRunState as gn, EditorToolbar as gr, EventTimelineGroup as gt, ReplayScrubberProps as h, QueryRunStats as hn, ContentTabsProps as hr, EventTimeline as ht, ReplayShortcutMap as i, QueryChartConfig as in, EnvPanel as ir, removeClause as it, LogTableLabels as j, WorkflowCanvas as jn, CommandPaletteProps as jr, QueryWorkspace as jt, LogTable as k, QueryResultsTableProps as kn, CommandPaletteTriggerProps as kr, SqlEditorSchema as kt, ReplayTransportShortcuts as l, defaultQueryChartConfig as ln, DeploymentTimelineProps as lr, FlyoutProps as lt, ReplayScrubberMarkerGroup as m, QueryOutputView as mn, ContentTabs as mr, ScoreBreakdownProps as mt, ReplayPlayerLayoutLabels as n, countActiveQueryFilters as nn, BranchSelect as nr, isEmptyQuery as nt, ReplayTransport as o, QueryResultChart as on, ProjectSwitcher as or, withoutField as ot, ReplayScrubberMarker as p, QueryOutputPaneProps as pn, FaqAccordionProps as pr, ScoreBreakdownLabels as pt, Query as q, ToastProviderProps as qn, EMPTY_QUERY_FILTERS as qt, ReplayPlayerLayoutProps as r, hasActiveQueryFilters as rn, BranchSelectProps as rr, queryFields as rt, ReplayTransportLabels as s, QueryResultChartLabels as sn, ProjectSwitcherProps as sr, Flyout as st, ReplayPlayerLayout as t, VALUELESS_OPERATORS as tn, DomainTableProps as tr, fieldValues as tt, formatReplayElapsed as u, numericResultColumns as un, SettingsForm as ur, ScoreAxis as ut, groupReplayMarkers as v, QueryToolbarLabels as vn, SidebarNav as vr, EventTimelineLabels as vt, LogCellAction as w, SchemaTreeTable as wn, SearchCombobox as wr, SqlEditorHandle as wt, FieldSidebarProps as x, SchemaTreeColumn as xn, AppMenubarProps as xr, SqlEditor as xt, FieldSidebar as y, QueryToolbarProps as yn, SidebarNavProps as yr, EventTimelineProps as yt, TimeRangeControlLabels as z, FailureList as zn, QueryHistoryList as zt };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
import { B as ProjectDef, D as EnvGroupDef, E as DomainDef, F as FormFieldDef, H as SelectOption, I as MenuDef, M as FaqItem, T as DeploymentStep, U as StatCard, W as TabDef, X as ToolbarButtonDef, _ as DateRangePreset, a as FieldDataType, j as FailureItem, m as DateRange, r as TruncationSide, w as CommandDef, y as BranchDef, z as NavItemDef } from "./text-truncate-
|
|
2
|
+
import { B as ProjectDef, D as EnvGroupDef, E as DomainDef, F as FormFieldDef, H as SelectOption, I as MenuDef, M as FaqItem, T as DeploymentStep, U as StatCard, W as TabDef, X as ToolbarButtonDef, _ as DateRangePreset, a as FieldDataType, j as FailureItem, m as DateRange, r as TruncationSide, w as CommandDef, y as BranchDef, z as NavItemDef } from "./text-truncate-DOxUijpB.cjs";
|
|
3
3
|
import * as React from "react";
|
|
4
4
|
import { ReactNode, Ref } from "react";
|
|
5
5
|
import { TimeGranularity, TimeRange, TimeRange as TimeRange$1, TimeSeriesAnnotation, TimeSeriesChartProps, TimeSeriesDef, TimeSeriesPoint } from "@reopt-ai/opt-charts";
|
|
@@ -61,6 +61,8 @@ declare function DashboardGrid({ stats, columns, labels: customLabels }: Dashboa
|
|
|
61
61
|
/** Localized labels for the search combobox component. */
|
|
62
62
|
interface SearchComboboxLabels {
|
|
63
63
|
noResults?: string;
|
|
64
|
+
error?: string;
|
|
65
|
+
retry?: string;
|
|
64
66
|
loading?: string;
|
|
65
67
|
}
|
|
66
68
|
/** Props for the search combobox component. */
|
|
@@ -173,6 +175,7 @@ declare function FaqAccordion({ items, labels: customLabels }: FaqAccordionProps
|
|
|
173
175
|
//#region src/shells/settings-form.d.ts
|
|
174
176
|
/** Localized labels for the settings form component. */
|
|
175
177
|
interface SettingsFormLabels {
|
|
178
|
+
submitError?: string;
|
|
176
179
|
formAriaLabel?: string;
|
|
177
180
|
submitButton?: string;
|
|
178
181
|
successMessage?: string;
|
|
@@ -180,7 +183,7 @@ interface SettingsFormLabels {
|
|
|
180
183
|
/** Props for the settings form component. */
|
|
181
184
|
interface SettingsFormProps {
|
|
182
185
|
fields: FormFieldDef[];
|
|
183
|
-
onSubmit?: (values: Record<string, unknown>) => void
|
|
186
|
+
onSubmit?: (values: Record<string, unknown>) => void | Promise<void>;
|
|
184
187
|
labels?: SettingsFormLabels;
|
|
185
188
|
}
|
|
186
189
|
/** Renders the settings form component. */
|
|
@@ -2146,4 +2149,244 @@ declare namespace FieldSidebar {
|
|
|
2146
2149
|
var displayName: string;
|
|
2147
2150
|
}
|
|
2148
2151
|
//#endregion
|
|
2149
|
-
|
|
2152
|
+
//#region src/shells/replay-scrubber.d.ts
|
|
2153
|
+
/** What the visitor was doing over a stretch of the recording. */
|
|
2154
|
+
type ReplayScrubberSegmentKind = "active" | "inactive" | "gap" | "buffer";
|
|
2155
|
+
/** A contiguous stretch of the recording classified by activity. */
|
|
2156
|
+
interface ReplayScrubberSegment {
|
|
2157
|
+
/** Absolute start, in the same unit as `start`/`end` (usually epoch ms). */
|
|
2158
|
+
start: number;
|
|
2159
|
+
/** Absolute end. */
|
|
2160
|
+
end: number;
|
|
2161
|
+
/**
|
|
2162
|
+
* `active`: the visitor was interacting. `inactive`: a pause that playback
|
|
2163
|
+
* may skip. `gap`: no data was recorded. `buffer`: data exists but has not
|
|
2164
|
+
* loaded yet, so playback should wait rather than skip.
|
|
2165
|
+
*/
|
|
2166
|
+
kind: ReplayScrubberSegmentKind;
|
|
2167
|
+
}
|
|
2168
|
+
/** A point of interest on the track — an analytics event, an error, a note. */
|
|
2169
|
+
interface ReplayScrubberMarker {
|
|
2170
|
+
id: string;
|
|
2171
|
+
/** Absolute time. */
|
|
2172
|
+
time: number;
|
|
2173
|
+
/** Accessible name and tooltip line. */
|
|
2174
|
+
label: string;
|
|
2175
|
+
tone?: "default" | "accent" | "danger" | "warning";
|
|
2176
|
+
}
|
|
2177
|
+
/** Text overrides for the scrubber's accessible strings. */
|
|
2178
|
+
interface ReplayScrubberLabels {
|
|
2179
|
+
/** aria-label of the track; default "Replay position". */
|
|
2180
|
+
track?: string;
|
|
2181
|
+
/** Tooltip suffix for a merged marker group; receives the count. */
|
|
2182
|
+
markerGroup?: (count: number) => string;
|
|
2183
|
+
/** Screen-reader name for each segment kind. */
|
|
2184
|
+
segment?: Partial<Record<ReplayScrubberSegmentKind, string>>;
|
|
2185
|
+
}
|
|
2186
|
+
/** Props for the replay scrubber component. */
|
|
2187
|
+
interface ReplayScrubberProps {
|
|
2188
|
+
/** Absolute time of the first playable moment. */
|
|
2189
|
+
start: number;
|
|
2190
|
+
/** Absolute time of the last playable moment. */
|
|
2191
|
+
end: number;
|
|
2192
|
+
/** Current playhead, absolute. Clamped into `[start, end]`. */
|
|
2193
|
+
position: number;
|
|
2194
|
+
/** Activity classification drawn under the playhead. Sorted by `start`. */
|
|
2195
|
+
segments?: ReplayScrubberSegment[];
|
|
2196
|
+
/** Ranges whose data is already loaded; drawn as the "buffered" band. */
|
|
2197
|
+
buffered?: Array<{
|
|
2198
|
+
start: number;
|
|
2199
|
+
end: number;
|
|
2200
|
+
}>;
|
|
2201
|
+
/**
|
|
2202
|
+
* Activity density, one value per equal-width bucket across `[start, end]`,
|
|
2203
|
+
* already normalized to `0..1`. Drawn as a log-scaled area behind the track.
|
|
2204
|
+
*/
|
|
2205
|
+
activity?: number[];
|
|
2206
|
+
/** Points of interest above the track. Nearby markers merge into one glyph. */
|
|
2207
|
+
markers?: ReplayScrubberMarker[];
|
|
2208
|
+
/** Fires once when a pointer or keyboard interaction settles on a time. */
|
|
2209
|
+
onSeek: (time: number) => void;
|
|
2210
|
+
/**
|
|
2211
|
+
* Fires continuously while dragging or hovering, with `null` when the pointer
|
|
2212
|
+
* leaves. Use it to show a preview; never to drive an expensive seek.
|
|
2213
|
+
*/
|
|
2214
|
+
onPreview?: (time: number | null) => void;
|
|
2215
|
+
/** Fires when a marker glyph is chosen; defaults to seeking to its time. */
|
|
2216
|
+
onMarkerSelect?: (marker: ReplayScrubberMarker) => void;
|
|
2217
|
+
/** Formats a time for the hover badge and `aria-valuetext`. Default `m:ss` from `start`. */
|
|
2218
|
+
formatTime?: (time: number) => string;
|
|
2219
|
+
/** Keyboard step for arrow keys, in time units. Default 5000. */
|
|
2220
|
+
stepMs?: number;
|
|
2221
|
+
/** Keyboard step for PageUp/PageDown. Default 30000. */
|
|
2222
|
+
largeStepMs?: number;
|
|
2223
|
+
disabled?: boolean;
|
|
2224
|
+
labels?: ReplayScrubberLabels;
|
|
2225
|
+
className?: string;
|
|
2226
|
+
}
|
|
2227
|
+
interface MarkerGroup {
|
|
2228
|
+
key: string;
|
|
2229
|
+
time: number;
|
|
2230
|
+
items: ReplayScrubberMarker[];
|
|
2231
|
+
tone: NonNullable<ReplayScrubberMarker["tone"]>;
|
|
2232
|
+
}
|
|
2233
|
+
/**
|
|
2234
|
+
* Merge markers that would render within `mergePx` of each other. Each group
|
|
2235
|
+
* anchors on its first marker; the tooltip lists every member.
|
|
2236
|
+
*/
|
|
2237
|
+
declare function groupReplayMarkers(markers: readonly ReplayScrubberMarker[], start: number, end: number, widthPx: number, mergePx?: number): MarkerGroup[];
|
|
2238
|
+
/**
|
|
2239
|
+
* ReplayScrubber — the timeline of a session recording.
|
|
2240
|
+
*
|
|
2241
|
+
* A plain `Slider` knows only a position. A recording also has stretches
|
|
2242
|
+
* where nothing happened, stretches that have not loaded, events worth
|
|
2243
|
+
* jumping to, and a rhythm of activity. This track layers all of those
|
|
2244
|
+
* under one playhead and commits a seek only when the interaction ends,
|
|
2245
|
+
* so dragging never floods the player.
|
|
2246
|
+
*/
|
|
2247
|
+
declare function ReplayScrubber({ start, end, position, segments, buffered, activity, markers, onSeek, onPreview, onMarkerSelect, formatTime, stepMs, largeStepMs, disabled, labels, className }: ReplayScrubberProps): import("react").JSX.Element;
|
|
2248
|
+
declare namespace ReplayScrubber {
|
|
2249
|
+
var displayName: string;
|
|
2250
|
+
}
|
|
2251
|
+
/** A merged cluster of markers, as rendered on the rail. */
|
|
2252
|
+
type ReplayScrubberMarkerGroup = MarkerGroup;
|
|
2253
|
+
//#endregion
|
|
2254
|
+
//#region src/shells/replay-transport.d.ts
|
|
2255
|
+
/** Text overrides for every control; defaults are English. */
|
|
2256
|
+
interface ReplayTransportLabels {
|
|
2257
|
+
play?: string;
|
|
2258
|
+
pause?: string;
|
|
2259
|
+
restart?: string;
|
|
2260
|
+
skipToStart?: string;
|
|
2261
|
+
/** Receives the jump size in seconds. */
|
|
2262
|
+
back?: (seconds: number) => string;
|
|
2263
|
+
forward?: (seconds: number) => string;
|
|
2264
|
+
speed?: string;
|
|
2265
|
+
skipInactive?: string;
|
|
2266
|
+
enterFullscreen?: string;
|
|
2267
|
+
exitFullscreen?: string;
|
|
2268
|
+
/** Names the two timecode modes for the toggle button. */
|
|
2269
|
+
elapsed?: string;
|
|
2270
|
+
clock?: string;
|
|
2271
|
+
}
|
|
2272
|
+
/** Keyboard shortcuts advertised next to each control. */
|
|
2273
|
+
interface ReplayTransportShortcuts {
|
|
2274
|
+
playPause?: string;
|
|
2275
|
+
back?: string;
|
|
2276
|
+
forward?: string;
|
|
2277
|
+
fullscreen?: string;
|
|
2278
|
+
skipInactive?: string;
|
|
2279
|
+
}
|
|
2280
|
+
/** Props for the replay transport component. */
|
|
2281
|
+
interface ReplayTransportProps {
|
|
2282
|
+
/** Whether playback is running. */
|
|
2283
|
+
playing: boolean;
|
|
2284
|
+
/** Playhead reached the end; the play button offers a restart. */
|
|
2285
|
+
ended?: boolean;
|
|
2286
|
+
/** Absolute playhead time. */
|
|
2287
|
+
position: number;
|
|
2288
|
+
/** Absolute recording bounds. */
|
|
2289
|
+
start: number;
|
|
2290
|
+
end: number;
|
|
2291
|
+
/** Toggle playback; when `ended`, restart from `start`. */
|
|
2292
|
+
onTogglePlay: () => void;
|
|
2293
|
+
/** Move the playhead by a signed amount of time units. */
|
|
2294
|
+
onSkip: (deltaMs: number) => void;
|
|
2295
|
+
/** Jump straight to `start`. Omit to hide the button. */
|
|
2296
|
+
onSkipToStart?: () => void;
|
|
2297
|
+
/** Jump size in ms for the back/forward buttons. Default 10000. */
|
|
2298
|
+
jumpMs?: number;
|
|
2299
|
+
speed: number;
|
|
2300
|
+
/** Selectable speeds. Default `[0.5, 1, 1.5, 2, 3, 4, 8, 16]`. */
|
|
2301
|
+
speeds?: readonly number[];
|
|
2302
|
+
onSpeedChange: (speed: number) => void;
|
|
2303
|
+
skipInactive: boolean;
|
|
2304
|
+
onSkipInactiveChange: (skip: boolean) => void;
|
|
2305
|
+
/** Present when the host supports fullscreen; the button toggles it. */
|
|
2306
|
+
fullscreen?: boolean;
|
|
2307
|
+
onFullscreenChange?: (fullscreen: boolean) => void;
|
|
2308
|
+
/** Show absolute clock time instead of elapsed time. Controlled by the host. */
|
|
2309
|
+
timecode?: "elapsed" | "clock";
|
|
2310
|
+
onTimecodeChange?: (mode: "elapsed" | "clock") => void;
|
|
2311
|
+
/** Formats an absolute time as a clock string; used when `timecode="clock"`. */
|
|
2312
|
+
formatClock?: (time: number) => string;
|
|
2313
|
+
/** Disables every control, e.g. while the first snapshot loads. */
|
|
2314
|
+
disabled?: boolean;
|
|
2315
|
+
/** Extra controls rendered on the right side. */
|
|
2316
|
+
children?: ReactNode;
|
|
2317
|
+
labels?: ReplayTransportLabels;
|
|
2318
|
+
shortcuts?: ReplayTransportShortcuts;
|
|
2319
|
+
className?: string;
|
|
2320
|
+
}
|
|
2321
|
+
/** `m:ss` for anything under an hour, `h:mm:ss` beyond it. */
|
|
2322
|
+
declare function formatReplayElapsed(ms: number): string;
|
|
2323
|
+
/**
|
|
2324
|
+
* ReplayTransport — play/pause, jumps, speed and skip-inactivity for a
|
|
2325
|
+
* session recording.
|
|
2326
|
+
*
|
|
2327
|
+
* It renders controls only; the host owns playback. Timecode shows elapsed
|
|
2328
|
+
* time by default and can flip to the clock time of the visitor's session,
|
|
2329
|
+
* which is what an engineer needs when matching a recording against logs.
|
|
2330
|
+
*/
|
|
2331
|
+
declare function ReplayTransport({ playing, ended, position, start, end, onTogglePlay, onSkip, onSkipToStart, jumpMs, speed, speeds, onSpeedChange, skipInactive, onSkipInactiveChange, fullscreen, onFullscreenChange, timecode, onTimecodeChange, formatClock, disabled, children, labels, shortcuts, className }: ReplayTransportProps): import("react").JSX.Element;
|
|
2332
|
+
declare namespace ReplayTransport {
|
|
2333
|
+
var displayName: string;
|
|
2334
|
+
}
|
|
2335
|
+
//#endregion
|
|
2336
|
+
//#region src/shells/replay-player-layout.d.ts
|
|
2337
|
+
/** Text overrides for the layout chrome. */
|
|
2338
|
+
interface ReplayPlayerLayoutLabels {
|
|
2339
|
+
/** aria-label of the whole player region. */
|
|
2340
|
+
region?: string;
|
|
2341
|
+
openInspector?: string;
|
|
2342
|
+
closeInspector?: string;
|
|
2343
|
+
}
|
|
2344
|
+
/** Keyboard shortcut handlers; keys are `KeyboardEvent.key` values, lower-cased. */
|
|
2345
|
+
type ReplayShortcutMap = Record<string, (event: KeyboardEvent) => void | boolean>;
|
|
2346
|
+
/** Props for the replay player layout component. */
|
|
2347
|
+
interface ReplayPlayerLayoutProps {
|
|
2348
|
+
/** The rendered recording (an iframe host). Fills the stage. */
|
|
2349
|
+
stage: ReactNode;
|
|
2350
|
+
/** Thin bar above the stage: current URL, window, device. */
|
|
2351
|
+
meta?: ReactNode;
|
|
2352
|
+
/** Transport and scrubber, below the stage. */
|
|
2353
|
+
controls?: ReactNode;
|
|
2354
|
+
/** Side panel: events, errors, details. Omit to render no panel. */
|
|
2355
|
+
inspector?: ReactNode;
|
|
2356
|
+
/** Whether the inspector panel is visible. Controlled. */
|
|
2357
|
+
inspectorOpen?: boolean;
|
|
2358
|
+
onInspectorOpenChange?: (open: boolean) => void;
|
|
2359
|
+
/** Initial inspector width as a percentage of the layout. Default 34. */
|
|
2360
|
+
inspectorSize?: number;
|
|
2361
|
+
/** Stable id so the resizable layout persists between visits. */
|
|
2362
|
+
layoutId?: string;
|
|
2363
|
+
/** Fullscreen is requested on the layout root; the host keeps the state. */
|
|
2364
|
+
fullscreen?: boolean;
|
|
2365
|
+
onFullscreenChange?: (fullscreen: boolean) => void;
|
|
2366
|
+
/**
|
|
2367
|
+
* Shortcuts active while focus is inside the layout and not in a text
|
|
2368
|
+
* field. Return `false` from a handler to let the event propagate.
|
|
2369
|
+
*/
|
|
2370
|
+
shortcuts?: ReplayShortcutMap;
|
|
2371
|
+
/** Overlay rendered above the stage: loading, errors, "skipping inactivity". */
|
|
2372
|
+
overlay?: ReactNode;
|
|
2373
|
+
labels?: ReplayPlayerLayoutLabels;
|
|
2374
|
+
className?: string;
|
|
2375
|
+
}
|
|
2376
|
+
/** Normalize a keyboard event into a shortcut key such as `space`, `arrowleft`, `shift+arrowright`. */
|
|
2377
|
+
declare function replayShortcutKey(event: KeyboardEvent): string;
|
|
2378
|
+
/**
|
|
2379
|
+
* ReplayPlayerLayout — stage, chrome and inspector for a session replay.
|
|
2380
|
+
*
|
|
2381
|
+
* Owns three things every replay UI otherwise reinvents: a resizable
|
|
2382
|
+
* inspector that keeps its width, fullscreen on the whole player rather
|
|
2383
|
+
* than on the recording iframe alone, and a keyboard scope that reacts to
|
|
2384
|
+
* shortcuts only while the player is focused and never while someone is
|
|
2385
|
+
* typing in a field.
|
|
2386
|
+
*/
|
|
2387
|
+
declare function ReplayPlayerLayout({ stage, meta, controls, inspector, inspectorOpen, onInspectorOpenChange, inspectorSize, layoutId, fullscreen, onFullscreenChange, shortcuts, overlay, labels, className }: ReplayPlayerLayoutProps): import("react").JSX.Element;
|
|
2388
|
+
declare namespace ReplayPlayerLayout {
|
|
2389
|
+
var displayName: string;
|
|
2390
|
+
}
|
|
2391
|
+
//#endregion
|
|
2392
|
+
export { addClause as $, DataTableProps as $n, QueryFiltersMenuProps as $t, LogTableHandle as A, formatQueryCell as An, CommandPalette as Ar, SqlEditorTheme as At, TimeRangeControlProps as B, FailureListLabels as Bn, QueryHistoryListLabels as Bt, FieldValueCount as C, SchemaTreeProps as Cn, StatusSelectProps as Cr, SqlEditorExtension as Ct, LogDensity as D, QueryResultsTable as Dn, DashboardGridProps as Dr, SqlEditorProps as Dt, LogColumnPriority as E, QueryResultSort as En, DashboardGrid as Er, SqlEditorLabels as Et, TimeSeriesPanelProps as F, KeyValueEditor as Fn, SaveQueryDialogLabels as Ft, QueryField as G, ToastMessage as Gn, QueryVariablesMenuProps as Gt, QueryBar as H, NotificationToast as Hn, QueryVariable as Ht, DEFAULT_TIME_PRESETS as I, KeyValueEditorLabels as In, SaveQueryDialogProps as It, QueryCellAction as J, ToastVariant as Jn, QueryFilterField as Jt, EMPTY_QUERY as K, ToastProvider as Kn, isValidQueryVariableName as Kt, RefreshSetting as L, KeyValueEditorProps as Ln, SaveQueryValues as Lt, LogTableProps as M, WorkflowCanvasConnection as Mn, QueryWorkspaceLabels as Mt, TimeSeriesPanel as N, WorkflowCanvasProps as Nn, QueryWorkspaceProps as Nt, LogSort as O, QueryResultsTableLabels as On, CommandPaletteTrigger as Or, SqlEditorRunContext as Ot, TimeSeriesPanelLabels as P, WorkflowCanvasStep as Pn, SaveQueryDialog as Pt, QueryTermClause as Q, DataTable as Qn, QueryFiltersMenuLabels as Qt, TimeRangeControl as R, KeyValueEntry as Rn, QueryHistoryItem as Rt, FieldSummary as S, SchemaTreeLabels as Sn, StatusSelect as Sr, SqlEditorCompletionSource as St, LogColumn as T, QueryResultColumn as Tn, SearchComboboxProps as Tr, SqlEditorKeyBinding as Tt, QueryBarLabels as U, ToastAction as Un, QueryVariablesMenu as Ut, TimeRangePreset as V, FailureListProps as Vn, QueryHistoryListProps as Vt, QueryBarProps as W, ToastContextValue as Wn, QueryVariablesMenuLabels as Wt, QueryFieldClause as X, useToast as Xn, QueryFilters as Xt, QueryClause as Y, toast as Yn, QueryFilterOperator as Yt, QueryOperator as Z, ColumnDef as Zn, QueryFiltersMenu as Zt, ReplayScrubberSegmentKind as _, QueryToolbar as _n, EditorToolbarProps as _r, EventTimelineItem as _t, replayShortcutKey as a, QueryChartType as an, EnvPanelProps as ar, withFieldValue as at, FieldSidebarLabels as b, SchemaTree as bn, AppMenubar as br, EventTimelineTone as bt, ReplayTransportProps as c, QueryResultChartProps as cn, DeploymentTimeline as cr, FlyoutLabels as ct, ReplayScrubber as d, QueryOutputPane as dn, SettingsFormProps as dr, ScoreBand as dt, QueryPropertyFilter as en, DomainTable as er, applyCellAction as et, ReplayScrubberLabels as f, QueryOutputPaneLabels as fn, FaqAccordion as fr, ScoreBreakdown as ft, ReplayScrubberSegment as g, QueryRunState as gn, EditorToolbar as gr, EventTimelineGroup as gt, ReplayScrubberProps as h, QueryRunStats as hn, ContentTabsProps as hr, EventTimeline as ht, ReplayShortcutMap as i, QueryChartConfig as in, EnvPanel as ir, removeClause as it, LogTableLabels as j, WorkflowCanvas as jn, CommandPaletteProps as jr, QueryWorkspace as jt, LogTable as k, QueryResultsTableProps as kn, CommandPaletteTriggerProps as kr, SqlEditorSchema as kt, ReplayTransportShortcuts as l, defaultQueryChartConfig as ln, DeploymentTimelineProps as lr, FlyoutProps as lt, ReplayScrubberMarkerGroup as m, QueryOutputView as mn, ContentTabs as mr, ScoreBreakdownProps as mt, ReplayPlayerLayoutLabels as n, countActiveQueryFilters as nn, BranchSelect as nr, isEmptyQuery as nt, ReplayTransport as o, QueryResultChart as on, ProjectSwitcher as or, withoutField as ot, ReplayScrubberMarker as p, QueryOutputPaneProps as pn, FaqAccordionProps as pr, ScoreBreakdownLabels as pt, Query as q, ToastProviderProps as qn, EMPTY_QUERY_FILTERS as qt, ReplayPlayerLayoutProps as r, hasActiveQueryFilters as rn, BranchSelectProps as rr, queryFields as rt, ReplayTransportLabels as s, QueryResultChartLabels as sn, ProjectSwitcherProps as sr, Flyout as st, ReplayPlayerLayout as t, VALUELESS_OPERATORS as tn, DomainTableProps as tr, fieldValues as tt, formatReplayElapsed as u, numericResultColumns as un, SettingsForm as ur, ScoreAxis as ut, groupReplayMarkers as v, QueryToolbarLabels as vn, SidebarNav as vr, EventTimelineLabels as vt, LogCellAction as w, SchemaTreeTable as wn, SearchCombobox as wr, SqlEditorHandle as wt, FieldSidebarProps as x, SchemaTreeColumn as xn, AppMenubarProps as xr, SqlEditor as xt, FieldSidebar as y, QueryToolbarProps as yn, SidebarNavProps as yr, EventTimelineProps as yt, TimeRangeControlLabels as z, FailureList as zn, QueryHistoryList as zt };
|