@grafana/scenes 6.40.0--canary.1265.18325783397.0 → 6.40.0--canary.1272.18407272616.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.
Files changed (71) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/dist/esm/behaviors/LongFrameDetector.js +11 -11
  3. package/dist/esm/behaviors/LongFrameDetector.js.map +1 -1
  4. package/dist/esm/behaviors/SceneRenderProfiler.js +132 -88
  5. package/dist/esm/behaviors/SceneRenderProfiler.js.map +1 -1
  6. package/dist/esm/behaviors/index.js +0 -3
  7. package/dist/esm/behaviors/index.js.map +1 -1
  8. package/dist/esm/components/SceneRefreshPicker.js +1 -1
  9. package/dist/esm/components/SceneRefreshPicker.js.map +1 -1
  10. package/dist/esm/components/VizPanel/VizPanel.js +1 -36
  11. package/dist/esm/components/VizPanel/VizPanel.js.map +1 -1
  12. package/dist/esm/components/VizPanel/VizPanelRenderer.js +2 -20
  13. package/dist/esm/components/VizPanel/VizPanelRenderer.js.map +1 -1
  14. package/dist/esm/core/SceneTimeRange.js +1 -1
  15. package/dist/esm/core/SceneTimeRange.js.map +1 -1
  16. package/dist/esm/index.js +5 -4
  17. package/dist/esm/index.js.map +1 -1
  18. package/dist/esm/querying/SceneDataTransformer.js +0 -64
  19. package/dist/esm/querying/SceneDataTransformer.js.map +1 -1
  20. package/dist/esm/querying/SceneQueryRunner.js +6 -11
  21. package/dist/esm/querying/SceneQueryRunner.js.map +1 -1
  22. package/dist/esm/querying/layers/SceneDataLayerControls.js +13 -1
  23. package/dist/esm/querying/layers/SceneDataLayerControls.js.map +1 -1
  24. package/dist/esm/querying/registerQueryWithController.js +2 -39
  25. package/dist/esm/querying/registerQueryWithController.js.map +1 -1
  26. package/dist/esm/utils/writeSceneLog.js +10 -1
  27. package/dist/esm/utils/writeSceneLog.js.map +1 -1
  28. package/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFilterPill.js +10 -10
  29. package/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFilterPill.js.map +1 -1
  30. package/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersAlwaysWipCombobox.js +6 -6
  31. package/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersAlwaysWipCombobox.js.map +1 -1
  32. package/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js +57 -55
  33. package/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js.map +1 -1
  34. package/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js +5 -5
  35. package/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js.map +1 -1
  36. package/dist/esm/variables/adhoc/AdHocFiltersCombobox/utils.js +4 -4
  37. package/dist/esm/variables/adhoc/AdHocFiltersCombobox/utils.js.map +1 -1
  38. package/dist/esm/variables/adhoc/AdHocFiltersVariable.js +5 -3
  39. package/dist/esm/variables/adhoc/AdHocFiltersVariable.js.map +1 -1
  40. package/dist/esm/variables/adhoc/controller/VariableBackedAdHocFiltersController.js +65 -0
  41. package/dist/esm/variables/adhoc/controller/VariableBackedAdHocFiltersController.js.map +1 -0
  42. package/dist/esm/variables/components/VariableValueSelect.js +1 -1
  43. package/dist/esm/variables/components/VariableValueSelect.js.map +1 -1
  44. package/dist/esm/variables/groupby/GroupByVariable.js +1 -1
  45. package/dist/esm/variables/groupby/GroupByVariable.js.map +1 -1
  46. package/dist/esm/variables/variants/CustomVariable.js +9 -4
  47. package/dist/esm/variables/variants/CustomVariable.js.map +1 -1
  48. package/dist/esm/variables/variants/MultiValueVariable.js +1 -1
  49. package/dist/esm/variables/variants/MultiValueVariable.js.map +1 -1
  50. package/dist/esm/variables/variants/ScopesVariable.js +1 -1
  51. package/dist/esm/variables/variants/ScopesVariable.js.map +1 -1
  52. package/dist/esm/variables/variants/SwitchVariable.js +108 -0
  53. package/dist/esm/variables/variants/SwitchVariable.js.map +1 -0
  54. package/dist/esm/variables/variants/guards.js +4 -1
  55. package/dist/esm/variables/variants/guards.js.map +1 -1
  56. package/dist/index.d.ts +227 -367
  57. package/dist/index.js +5252 -5682
  58. package/dist/index.js.map +1 -1
  59. package/package.json +2 -2
  60. package/dist/esm/behaviors/PanelProfilingManager.js +0 -65
  61. package/dist/esm/behaviors/PanelProfilingManager.js.map +0 -1
  62. package/dist/esm/behaviors/ScenePerformanceTracker.js +0 -78
  63. package/dist/esm/behaviors/ScenePerformanceTracker.js.map +0 -1
  64. package/dist/esm/behaviors/VizPanelRenderProfiler.js +0 -328
  65. package/dist/esm/behaviors/VizPanelRenderProfiler.js.map +0 -1
  66. package/dist/esm/behaviors/interactionConstants.js +0 -14
  67. package/dist/esm/behaviors/interactionConstants.js.map +0 -1
  68. package/dist/esm/utils/findPanelProfiler.js +0 -18
  69. package/dist/esm/utils/findPanelProfiler.js.map +0 -1
  70. package/dist/esm/utils/writePerformanceLog.js +0 -12
  71. package/dist/esm/utils/writePerformanceLog.js.map +0 -1
package/dist/index.d.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  import * as _grafana_data from '@grafana/data';
2
- import { BusEventWithPayload, EventBus, BusEvent, BusEventType, BusEventHandler, PanelMenuItem, DataQueryRequest, FieldConfigSource, PanelPlugin, AbsoluteTimeRange, PanelData, InterpolateFunction, PanelModel, TimeRange, DataTransformContext, DataFrame, DataSourceGetTagKeysOptions, DataSourceGetTagValuesOptions, IconName, PageLayoutType, UrlQueryMap, DataQuery as DataQuery$1, DataSourceApi, Registry, RegistryItem, ScopedVars, AdHocVariableFilter, GetTagResponse, MetricFindValue, SelectableValue, VariableRefresh as VariableRefresh$1, VariableSort, DrilldownsApplicability, Scope, EventFilterOptions, AnnotationEvent, AnnotationQuery, DataTransformerConfig, TimeOption, FieldConfig, FieldType, FieldValueMatcherConfig, ScopedVar, RawTimeRange } from '@grafana/data';
3
- import * as _grafana_schema from '@grafana/schema';
4
- import { VariableType, VariableHide, LoadingState, TimeZone, DataQuery, DataTopic, DataSourceRef, VariableRefresh, DashboardCursorSync, MatcherConfig, TableFieldOptions } from '@grafana/schema';
2
+ import { BusEventWithPayload, EventBus, BusEvent, BusEventType, BusEventHandler, PanelMenuItem, FieldConfigSource, PanelPlugin, AbsoluteTimeRange, PanelData, InterpolateFunction, PanelModel, TimeRange, DataTransformContext, DataFrame, DataQueryRequest, DataSourceGetTagKeysOptions, DataSourceGetTagValuesOptions, IconName, PageLayoutType, UrlQueryMap, DataQuery as DataQuery$1, DataSourceApi, Registry, RegistryItem, ScopedVars, AdHocVariableFilter, SelectableValue, GetTagResponse, MetricFindValue, VariableRefresh as VariableRefresh$1, VariableSort, DrilldownsApplicability, Scope, EventFilterOptions, AnnotationEvent, AnnotationQuery, DataTransformerConfig, TimeOption, FieldConfig, FieldType, FieldValueMatcherConfig, ScopedVar, RawTimeRange } from '@grafana/data';
5
3
  import * as React$1 from 'react';
6
4
  import React__default, { ComponentType, CSSProperties, PointerEvent, ForwardRefExoticComponent } from 'react';
7
5
  import * as rxjs from 'rxjs';
8
6
  import { Observable, Subscription, Unsubscribable, MonoTypeOperatorFunction, ReplaySubject } from 'rxjs';
7
+ import * as _grafana_schema from '@grafana/schema';
8
+ import { VariableType, VariableHide, TimeZone, DataQuery, DataTopic, DataSourceRef, VariableRefresh, LoadingState, DashboardCursorSync, MatcherConfig, TableFieldOptions } from '@grafana/schema';
9
9
  import { PanelContext, WeekStart, IconName as IconName$1 } from '@grafana/ui';
10
10
  import { LocationService, VariableInterpolation, ScopesContextValue } from '@grafana/runtime';
11
11
  import { Location } from 'history';
@@ -315,118 +315,6 @@ declare class VariableDependencyConfig<TState extends SceneObjectState> implemen
315
315
  private handleTimeMacros;
316
316
  }
317
317
 
318
- interface LongFrameEvent {
319
- duration: number;
320
- timestamp: number;
321
- method: 'manual' | 'loaf';
322
- }
323
- type LongFrameCallback = (event: LongFrameEvent) => void;
324
-
325
- interface QueryResultWithState {
326
- state: LoadingState;
327
- }
328
- interface SceneQueryControllerEntry {
329
- request?: DataQueryRequest;
330
- type: SceneQueryControllerEntryType;
331
- origin: SceneObject;
332
- cancel?: () => void;
333
- }
334
- type SceneQueryControllerEntryType = 'data' | 'annotations' | 'variable' | 'alerts' | 'plugin' | string;
335
-
336
-
337
-
338
- interface SceneComponentInteractionEvent {
339
- origin: string;
340
- duration: number;
341
- networkDuration: number;
342
- startTs: number;
343
- endTs: number;
344
- }
345
- interface SceneInteractionTrackerState extends SceneObjectState {
346
- enableInteractionTracking?: boolean;
347
- onInteractionComplete?(event: SceneComponentInteractionEvent): void;
348
- }
349
- interface SceneQueryStateControllerState extends SceneObjectState {
350
- isRunning: boolean;
351
- enableProfiling?: boolean;
352
- }
353
- interface SceneQueryControllerLike extends SceneObject<SceneQueryStateControllerState> {
354
- isQueryController: true;
355
- cancelAll(): void;
356
- queryStarted(entry: SceneQueryControllerEntry): void;
357
- queryCompleted(entry: SceneQueryControllerEntry): void;
358
- startProfile(name: string): void;
359
- cancelProfile(): void;
360
- runningQueriesCount(): number;
361
- }
362
-
363
- interface QueryProfilerLike {
364
- onQueryStarted(timestamp: number, entry: SceneQueryControllerEntry, queryId: string): ((endTimestamp: number, error?: any) => void) | null;
365
- }
366
- /**
367
- * Will look for a scene object with a behavior that is a SceneQueryController and register the query with it.
368
- * Optionally accepts a panel profiler for direct query tracking callbacks.
369
- */
370
- declare function registerQueryWithController<T extends QueryResultWithState>(entry: SceneQueryControllerEntry, profiler?: QueryProfilerLike): (queryStream: Observable<T>) => Observable<T>;
371
-
372
- interface VizPanelRenderProfilerState extends SceneObjectState {
373
- }
374
- /**
375
- * Tracks performance metrics for individual VizPanel instances using observer pattern.
376
- *
377
- * Performance events are sent to ScenePerformanceTracker observers, which are consumed
378
- * by Grafana's ScenePerformanceLogger and DashboardAnalyticsAggregator.
379
- */
380
- declare class VizPanelRenderProfiler extends SceneObjectBase<VizPanelRenderProfilerState> implements QueryProfilerLike {
381
- private _panelKey?;
382
- private _panelId?;
383
- private _pluginId?;
384
- private _pluginVersion?;
385
- private _isTracking;
386
- private _loadPluginStartTime?;
387
- private _applyFieldConfigStartTime?;
388
- private _activeQueries;
389
- constructor(state?: Partial<VizPanelRenderProfilerState>);
390
- private _onActivate;
391
- private _handlePanelStateChange;
392
- /**
393
- * Track query execution with operation ID correlation
394
- */
395
- onQueryStarted(timestamp: number, entry: SceneQueryControllerEntry, queryId: string): ((endTimestamp: number, error?: any) => void) | null;
396
- /**
397
- * Track plugin loading with operation ID correlation
398
- */
399
- onPluginLoadStart(pluginId: string): ((plugin: any, fromCache?: boolean) => void) | null;
400
- /**
401
- * Track field config processing with operation ID correlation
402
- */
403
- onFieldConfigStart(timestamp: number): ((endTimestamp: number, dataPointsCount?: number, seriesCount?: number) => void) | null;
404
- /**
405
- * Get panel info for logging - truncates long titles for readability
406
- */
407
- private _getPanelInfo;
408
- /**
409
- * Track simple render timing with operation ID correlation
410
- */
411
- onSimpleRenderStart(timestamp: number): ((endTimestamp: number, duration: number) => void) | undefined;
412
- /** Handle plugin changes */
413
- private _onPluginChange;
414
- /** Start tracking this panel */
415
- private _startTracking;
416
- /** Cleanup when behavior is deactivated */
417
- private _cleanup;
418
- /**
419
- * Track data transformation with operation ID correlation
420
- */
421
- onDataTransformStart(timestamp: number, transformationId: string, metrics: {
422
- transformationCount: number;
423
- seriesTransformationCount: number;
424
- annotationTransformationCount: number;
425
- }): ((endTimestamp: number, duration: number, success: boolean, result?: {
426
- error?: string;
427
- }) => void) | null;
428
- }
429
-
430
318
  interface VizPanelState<TOptions = {}, TFieldConfig = {}> extends SceneObjectState {
431
319
  /**
432
320
  * This is usually a plugin id that references a core plugin or an external plugin. But this can also reference a
@@ -497,10 +385,6 @@ declare class VizPanel<TOptions = {}, TFieldConfig extends {} = {}> extends Scen
497
385
  private _dataWithFieldConfig?;
498
386
  private _structureRev;
499
387
  constructor(state: Partial<VizPanelState<TOptions, TFieldConfig>>);
500
- /**
501
- * Get the VizPanelRenderProfiler behavior if attached
502
- */
503
- getProfiler(): VizPanelRenderProfiler | undefined;
504
388
  private _onActivate;
505
389
  forceRender(): void;
506
390
  private _loadPlugin;
@@ -1240,6 +1124,7 @@ interface CustomVariableState extends MultiValueVariableState {
1240
1124
  declare class CustomVariable extends MultiValueVariable<CustomVariableState> {
1241
1125
  protected _variableDependency: VariableDependencyConfig<CustomVariableState>;
1242
1126
  constructor(initialState: Partial<CustomVariableState>);
1127
+ transformCsvStringToOptions(str: string, interpolate?: boolean): VariableValueOption[];
1243
1128
  getValueOptions(args: VariableGetOptionsArgs): Observable<VariableValueOption[]>;
1244
1129
  static Component: ({ model }: SceneComponentProps<MultiValueVariable>) => React__default.JSX.Element;
1245
1130
  }
@@ -1401,6 +1286,30 @@ declare class GroupByVariable extends MultiValueVariable<GroupByVariableState> {
1401
1286
  }
1402
1287
  declare function GroupByVariableRenderer({ model }: SceneComponentProps<GroupByVariable>): React__default.JSX.Element;
1403
1288
 
1289
+ interface SwitchVariableState extends SceneVariableState {
1290
+ value: string;
1291
+ enabledValue: string;
1292
+ disabledValue: string;
1293
+ }
1294
+ declare class SwitchVariable extends SceneObjectBase<SwitchVariableState> implements SceneVariable<SwitchVariableState> {
1295
+ static Component: typeof SwitchVariableRenderer;
1296
+ private _prevValue;
1297
+ constructor(initialState: Partial<SwitchVariableState>);
1298
+ /**
1299
+ * This function is called on when SceneVariableSet is activated or when a dependency changes.
1300
+ */
1301
+ validateAndUpdate(): Observable<ValidateAndUpdateResult>;
1302
+ setValue(newValue: string): void;
1303
+ getValue(): VariableValue;
1304
+ isEnabled(): boolean;
1305
+ isDisabled(): boolean;
1306
+ private getKey;
1307
+ getKeys(): string[];
1308
+ getUrlState(): SceneObjectUrlValues;
1309
+ updateFromUrl(values: SceneObjectUrlValues): void;
1310
+ }
1311
+ declare function SwitchVariableRenderer({ model }: SceneComponentProps<SwitchVariable>): React__default.JSX.Element;
1312
+
1404
1313
  declare function isAdHocVariable(variable: SceneVariable): variable is AdHocFiltersVariable;
1405
1314
  declare function isConstantVariable(variable: SceneVariable): variable is ConstantVariable;
1406
1315
  declare function isCustomVariable(variable: SceneVariable): variable is CustomVariable;
@@ -1409,6 +1318,7 @@ declare function isIntervalVariable(variable: SceneVariable): variable is Interv
1409
1318
  declare function isQueryVariable(variable: SceneVariable): variable is QueryVariable;
1410
1319
  declare function isTextBoxVariable(variable: SceneVariable): variable is TextBoxVariable;
1411
1320
  declare function isGroupByVariable(variable: SceneVariable): variable is GroupByVariable;
1321
+ declare function isSwitchVariable(variable: SceneVariable): variable is SwitchVariable;
1412
1322
 
1413
1323
  interface SceneObjectStateChangedPayload<TState extends SceneObjectState = SceneObjectState> {
1414
1324
  prevState: TState;
@@ -1433,6 +1343,65 @@ declare class UserActionEvent extends BusEventWithPayload<UserActionEventPayload
1433
1343
  */
1434
1344
  declare function lookupVariable(name: string, sceneObject: SceneObject): SceneVariable | null;
1435
1345
 
1346
+ interface LongFrameEvent {
1347
+ duration: number;
1348
+ timestamp: number;
1349
+ method: 'manual' | 'loaf';
1350
+ }
1351
+ type LongFrameCallback = (event: LongFrameEvent) => void;
1352
+
1353
+ interface QueryResultWithState {
1354
+ state: LoadingState;
1355
+ }
1356
+ interface SceneQueryControllerEntry {
1357
+ request?: DataQueryRequest;
1358
+ type: SceneQueryControllerEntryType;
1359
+ origin: SceneObject;
1360
+ cancel?: () => void;
1361
+ }
1362
+ type SceneQueryControllerEntryType = 'data' | 'annotations' | 'variable' | 'alerts' | 'plugin' | string;
1363
+
1364
+
1365
+
1366
+ interface SceneInteractionProfileEvent {
1367
+ origin: string;
1368
+ duration: number;
1369
+ networkDuration: number;
1370
+ jsHeapSizeLimit: number;
1371
+ usedJSHeapSize: number;
1372
+ totalJSHeapSize: number;
1373
+ crumbs: string[];
1374
+ startTs: number;
1375
+ endTs: number;
1376
+ longFramesCount: number;
1377
+ longFramesTotalTime: number;
1378
+ }
1379
+ interface SceneComponentInteractionEvent {
1380
+ origin: string;
1381
+ duration: number;
1382
+ networkDuration: number;
1383
+ startTs: number;
1384
+ endTs: number;
1385
+ }
1386
+ interface SceneInteractionTrackerState extends SceneObjectState {
1387
+ enableInteractionTracking?: boolean;
1388
+ onInteractionComplete?(event: SceneComponentInteractionEvent): void;
1389
+ }
1390
+ interface SceneQueryStateControllerState extends SceneObjectState {
1391
+ isRunning: boolean;
1392
+ enableProfiling?: boolean;
1393
+ onProfileComplete?(event: SceneInteractionProfileEvent): void;
1394
+ }
1395
+ interface SceneQueryControllerLike extends SceneObject<SceneQueryStateControllerState> {
1396
+ isQueryController: true;
1397
+ cancelAll(): void;
1398
+ queryStarted(entry: SceneQueryControllerEntry): void;
1399
+ queryCompleted(entry: SceneQueryControllerEntry): void;
1400
+ startProfile(name: string): void;
1401
+ cancelProfile(): void;
1402
+ runningQueriesCount(): number;
1403
+ }
1404
+
1436
1405
  /**
1437
1406
  * Returns the closest query controller undefined if none found
1438
1407
  */
@@ -1612,10 +1581,6 @@ declare class PanelContextEventBus implements EventBus {
1612
1581
  newScopedBus(key: string, filter: EventFilterOptions): EventBus;
1613
1582
  }
1614
1583
 
1615
- interface PanelProfilingConfig {
1616
- watchStateKey?: string;
1617
- }
1618
-
1619
1584
  /**
1620
1585
  * SceneRenderProfiler tracks dashboard interaction performance including:
1621
1586
  * - Total interaction duration
@@ -1635,17 +1600,9 @@ interface PanelProfilingConfig {
1635
1600
  */
1636
1601
  declare class SceneRenderProfiler {
1637
1602
  #private;
1638
- private metadata;
1639
- private _panelProfilingManager?;
1640
1603
  private queryController?;
1641
- constructor(panelProfilingConfig?: PanelProfilingConfig);
1642
- /** Set generic metadata for observer notifications */
1643
- setMetadata(metadata: Record<string, unknown>): void;
1604
+ constructor(queryController?: SceneQueryControllerLike | undefined);
1644
1605
  setQueryController(queryController: SceneQueryControllerLike): void;
1645
- /** Attach panel profiling to a scene object */
1646
- attachPanelProfiling(sceneObject: SceneObject): void;
1647
- /** Attach profiler to a specific panel */
1648
- attachProfilerToPanel(panel: VizPanel): void;
1649
1606
  setInteractionCompleteHandler(handler?: (event: SceneComponentInteractionEvent) => void): void;
1650
1607
  private setupVisibilityChangeHandler;
1651
1608
  cleanup(): void;
@@ -1654,9 +1611,14 @@ declare class SceneRenderProfiler {
1654
1611
  stopInteraction(): void;
1655
1612
  getCurrentInteraction(): string | null;
1656
1613
  /**
1657
- * Start new performance profile
1658
- * @param name - Profile trigger (e.g., 'time_range_change')
1659
- * @param force - True if canceling existing profile, false if starting clean
1614
+ * Starts a new profile for performance measurement.
1615
+ *
1616
+ * @param name - The origin/trigger of the profile (e.g., 'time_range_change', 'variable_value_changed')
1617
+ * @param force - Whether this is a "forced" profile (true) or "clean" profile (false)
1618
+ * - "forced": Started by canceling an existing profile that was recording trailing frames
1619
+ * This happens when a new user interaction occurs before the previous one
1620
+ * finished measuring its performance impact
1621
+ * - "clean": Started when no profile is currently active
1660
1622
  */
1661
1623
  private _startNewProfile;
1662
1624
  private recordProfileTail;
@@ -1705,231 +1667,26 @@ declare class LiveNowTimer extends SceneObjectBase<LiveNowTimerState> {
1705
1667
  get isEnabled(): boolean;
1706
1668
  }
1707
1669
 
1708
- /**
1709
- * Centralized performance tracking system using observer pattern.
1710
- * External systems (like Grafana) implement ScenePerformanceObserver to receive performance events.
1711
- */
1712
- declare function generateOperationId(prefix?: string): string;
1713
- /** Base interface for all performance events */
1714
- interface BasePerformanceEvent {
1715
- operationId: string;
1716
- timestamp: number;
1717
- duration?: number;
1718
- error?: string;
1719
- }
1720
- interface DashboardInteractionStartData extends BasePerformanceEvent {
1721
- interactionType: string;
1722
- metadata?: Record<string, unknown>;
1723
- }
1724
- interface DashboardInteractionMilestoneData extends BasePerformanceEvent {
1725
- interactionType: string;
1726
- milestone: string;
1727
- metadata?: Record<string, unknown>;
1728
- }
1729
- interface DashboardInteractionCompleteData extends BasePerformanceEvent {
1730
- interactionType: string;
1731
- networkDuration?: number;
1732
- longFramesCount: number;
1733
- longFramesTotalTime: number;
1734
- metadata?: Record<string, unknown>;
1735
- }
1736
- /** Metadata interface for transform operations */
1737
- interface TransformMetadata {
1738
- transformationId: string;
1739
- transformationCount: number;
1740
- seriesTransformationCount: number;
1741
- annotationTransformationCount: number;
1742
- success?: boolean;
1743
- error?: string;
1744
- }
1745
- /** Metadata interface for query operations */
1746
- interface QueryMetadata {
1747
- queryId: string;
1748
- queryType: string;
1749
- }
1750
- /** Metadata interface for render operations */
1751
- interface RenderMetadata {
1752
- }
1753
- /** Metadata interface for plugin load operations */
1754
- interface PluginLoadMetadata {
1755
- pluginId: string;
1756
- fromCache?: boolean;
1757
- pluginLoadTime?: number;
1758
- }
1759
- /** Metadata interface for field config operations */
1760
- interface FieldConfigMetadata {
1761
- }
1762
- /** Base interface for panel performance events */
1763
- interface BasePanelPerformanceData extends BasePerformanceEvent {
1764
- panelId: string;
1765
- panelKey: string;
1766
- pluginId: string;
1767
- pluginVersion?: string;
1768
- panelTitle?: string;
1769
- }
1770
- /** Transform operation performance data */
1771
- interface PanelTransformPerformanceData extends BasePanelPerformanceData {
1772
- operation: 'transform';
1773
- metadata: TransformMetadata;
1774
- }
1775
- /** Query operation performance data */
1776
- interface PanelQueryPerformanceData extends BasePanelPerformanceData {
1777
- operation: 'query';
1778
- metadata: QueryMetadata;
1779
- }
1780
- /** Render operation performance data */
1781
- interface PanelRenderPerformanceData extends BasePanelPerformanceData {
1782
- operation: 'render';
1783
- metadata: RenderMetadata;
1784
- }
1785
- /** Plugin load operation performance data */
1786
- interface PanelPluginLoadPerformanceData extends BasePanelPerformanceData {
1787
- operation: 'plugin-load';
1788
- metadata: PluginLoadMetadata;
1789
- }
1790
- /** Field config operation performance data */
1791
- interface PanelFieldConfigPerformanceData extends BasePanelPerformanceData {
1792
- operation: 'fieldConfig';
1793
- metadata: FieldConfigMetadata;
1794
- }
1795
- /** Discriminated union of all panel performance data types */
1796
- type PanelPerformanceData = PanelTransformPerformanceData | PanelQueryPerformanceData | PanelRenderPerformanceData | PanelPluginLoadPerformanceData | PanelFieldConfigPerformanceData;
1797
- /** Non-panel query performance data for dashboard queries (annotations, variables, etc.) */
1798
- interface QueryPerformanceData extends BasePerformanceEvent {
1799
- queryId: string;
1800
- queryType: string;
1801
- origin: string;
1802
- }
1803
- /**
1804
- * Observer interface for performance monitoring
1805
- * External systems implement this to receive performance notifications
1806
- */
1807
- interface ScenePerformanceObserver {
1808
- onDashboardInteractionStart?(data: DashboardInteractionStartData): void;
1809
- onDashboardInteractionMilestone?(data: DashboardInteractionMilestoneData): void;
1810
- onDashboardInteractionComplete?(data: DashboardInteractionCompleteData): void;
1811
- onPanelOperationStart?(data: PanelPerformanceData): void;
1812
- onPanelOperationComplete?(data: PanelPerformanceData): void;
1813
- onQueryStart?(data: QueryPerformanceData): void;
1814
- onQueryComplete?(data: QueryPerformanceData): void;
1815
- }
1816
- /**
1817
- * Centralized performance tracker
1818
- * Manages observers and provides methods for scene objects to report performance events
1819
- */
1820
- declare class ScenePerformanceTracker {
1821
- private static instance;
1822
- private observers;
1823
- static getInstance(): ScenePerformanceTracker;
1824
- /**
1825
- * Register a performance observer
1826
- */
1827
- addObserver(observer: ScenePerformanceObserver): () => void;
1828
- /**
1829
- * Remove all observers (for testing)
1830
- */
1831
- clearObservers(): void;
1832
- /**
1833
- * Get current observer count (for debugging)
1834
- */
1835
- getObserverCount(): number;
1836
- private notifyObservers;
1837
- notifyDashboardInteractionStart(data: DashboardInteractionStartData): void;
1838
- notifyDashboardInteractionMilestone(data: DashboardInteractionMilestoneData): void;
1839
- notifyDashboardInteractionComplete(data: DashboardInteractionCompleteData): void;
1840
- notifyPanelOperationStart(data: PanelPerformanceData): void;
1841
- notifyPanelOperationComplete(data: PanelPerformanceData): void;
1842
- notifyQueryStart(data: QueryPerformanceData): void;
1843
- notifyQueryComplete(data: QueryPerformanceData): void;
1844
- }
1845
- /**
1846
- * Get the global performance tracker instance
1847
- */
1848
- declare function getScenePerformanceTracker(): ScenePerformanceTracker;
1849
-
1850
- /**
1851
- * Constants for different types of dashboard interactions tracked by SceneRenderProfiler
1852
- */
1853
- declare const REFRESH_INTERACTION = "refresh";
1854
- declare const TIME_RANGE_CHANGE_INTERACTION = "time_range_change";
1855
- declare const FILTER_ADDED_INTERACTION = "filter_added";
1856
- declare const FILTER_REMOVED_INTERACTION = "filter_removed";
1857
- declare const FILTER_CHANGED_INTERACTION = "filter_changed";
1858
- declare const FILTER_RESTORED_INTERACTION = "filter_restored";
1859
- declare const VARIABLE_VALUE_CHANGED_INTERACTION = "variable_value_changed";
1860
- declare const SCOPES_CHANGED_INTERACTION = "scopes_changed";
1861
- declare const ADHOC_KEYS_DROPDOWN_INTERACTION = "adhoc_keys_dropdown";
1862
- declare const ADHOC_VALUES_DROPDOWN_INTERACTION = "adhoc_values_dropdown";
1863
- declare const GROUPBY_DIMENSIONS_INTERACTION = "groupby_dimensions";
1864
-
1865
-
1866
-
1867
-
1868
-
1869
-
1870
-
1871
-
1872
-
1873
-
1874
-
1875
-
1876
-
1877
-
1878
-
1879
-
1880
-
1881
-
1882
-
1883
- declare const index$1_ADHOC_KEYS_DROPDOWN_INTERACTION: typeof ADHOC_KEYS_DROPDOWN_INTERACTION;
1884
- declare const index$1_ADHOC_VALUES_DROPDOWN_INTERACTION: typeof ADHOC_VALUES_DROPDOWN_INTERACTION;
1885
1670
  type index$1_ActWhenVariableChanged = ActWhenVariableChanged;
1886
1671
  declare const index$1_ActWhenVariableChanged: typeof ActWhenVariableChanged;
1887
- type index$1_BasePerformanceEvent = BasePerformanceEvent;
1888
1672
  type index$1_CursorSync = CursorSync;
1889
1673
  declare const index$1_CursorSync: typeof CursorSync;
1890
- type index$1_DashboardInteractionCompleteData = DashboardInteractionCompleteData;
1891
- type index$1_DashboardInteractionMilestoneData = DashboardInteractionMilestoneData;
1892
- type index$1_DashboardInteractionStartData = DashboardInteractionStartData;
1893
- declare const index$1_FILTER_ADDED_INTERACTION: typeof FILTER_ADDED_INTERACTION;
1894
- declare const index$1_FILTER_CHANGED_INTERACTION: typeof FILTER_CHANGED_INTERACTION;
1895
- declare const index$1_FILTER_REMOVED_INTERACTION: typeof FILTER_REMOVED_INTERACTION;
1896
- declare const index$1_FILTER_RESTORED_INTERACTION: typeof FILTER_RESTORED_INTERACTION;
1897
- type index$1_FieldConfigMetadata = FieldConfigMetadata;
1898
- declare const index$1_GROUPBY_DIMENSIONS_INTERACTION: typeof GROUPBY_DIMENSIONS_INTERACTION;
1899
1674
  type index$1_LiveNowTimer = LiveNowTimer;
1900
1675
  declare const index$1_LiveNowTimer: typeof LiveNowTimer;
1901
- type index$1_PanelFieldConfigPerformanceData = PanelFieldConfigPerformanceData;
1902
- type index$1_PanelPerformanceData = PanelPerformanceData;
1903
- type index$1_PanelPluginLoadPerformanceData = PanelPluginLoadPerformanceData;
1904
- type index$1_PanelQueryPerformanceData = PanelQueryPerformanceData;
1905
- type index$1_PanelRenderPerformanceData = PanelRenderPerformanceData;
1906
- type index$1_PanelTransformPerformanceData = PanelTransformPerformanceData;
1907
- type index$1_PluginLoadMetadata = PluginLoadMetadata;
1908
- type index$1_QueryMetadata = QueryMetadata;
1909
- type index$1_QueryPerformanceData = QueryPerformanceData;
1910
- declare const index$1_REFRESH_INTERACTION: typeof REFRESH_INTERACTION;
1911
- type index$1_RenderMetadata = RenderMetadata;
1912
- declare const index$1_SCOPES_CHANGED_INTERACTION: typeof SCOPES_CHANGED_INTERACTION;
1913
1676
  type index$1_SceneInteractionTracker = SceneInteractionTracker;
1914
1677
  declare const index$1_SceneInteractionTracker: typeof SceneInteractionTracker;
1915
- type index$1_ScenePerformanceObserver = ScenePerformanceObserver;
1916
- type index$1_ScenePerformanceTracker = ScenePerformanceTracker;
1917
- declare const index$1_ScenePerformanceTracker: typeof ScenePerformanceTracker;
1918
1678
  type index$1_SceneQueryController = SceneQueryController;
1919
1679
  declare const index$1_SceneQueryController: typeof SceneQueryController;
1920
- declare const index$1_TIME_RANGE_CHANGE_INTERACTION: typeof TIME_RANGE_CHANGE_INTERACTION;
1921
- type index$1_TransformMetadata = TransformMetadata;
1922
- declare const index$1_VARIABLE_VALUE_CHANGED_INTERACTION: typeof VARIABLE_VALUE_CHANGED_INTERACTION;
1923
- type index$1_VizPanelRenderProfiler = VizPanelRenderProfiler;
1924
- declare const index$1_VizPanelRenderProfiler: typeof VizPanelRenderProfiler;
1925
- declare const index$1_getScenePerformanceTracker: typeof getScenePerformanceTracker;
1926
1680
  declare namespace index$1 {
1927
- export { index$1_ADHOC_KEYS_DROPDOWN_INTERACTION as ADHOC_KEYS_DROPDOWN_INTERACTION, index$1_ADHOC_VALUES_DROPDOWN_INTERACTION as ADHOC_VALUES_DROPDOWN_INTERACTION, index$1_ActWhenVariableChanged as ActWhenVariableChanged, index$1_CursorSync as CursorSync, index$1_FILTER_ADDED_INTERACTION as FILTER_ADDED_INTERACTION, index$1_FILTER_CHANGED_INTERACTION as FILTER_CHANGED_INTERACTION, index$1_FILTER_REMOVED_INTERACTION as FILTER_REMOVED_INTERACTION, index$1_FILTER_RESTORED_INTERACTION as FILTER_RESTORED_INTERACTION, index$1_GROUPBY_DIMENSIONS_INTERACTION as GROUPBY_DIMENSIONS_INTERACTION, index$1_LiveNowTimer as LiveNowTimer, index$1_REFRESH_INTERACTION as REFRESH_INTERACTION, index$1_SCOPES_CHANGED_INTERACTION as SCOPES_CHANGED_INTERACTION, index$1_SceneInteractionTracker as SceneInteractionTracker, index$1_ScenePerformanceTracker as ScenePerformanceTracker, index$1_SceneQueryController as SceneQueryController, index$1_TIME_RANGE_CHANGE_INTERACTION as TIME_RANGE_CHANGE_INTERACTION, index$1_VARIABLE_VALUE_CHANGED_INTERACTION as VARIABLE_VALUE_CHANGED_INTERACTION, index$1_VizPanelRenderProfiler as VizPanelRenderProfiler, index$1_getScenePerformanceTracker as getScenePerformanceTracker };
1928
- export type { index$1_BasePerformanceEvent as BasePerformanceEvent, index$1_DashboardInteractionCompleteData as DashboardInteractionCompleteData, index$1_DashboardInteractionMilestoneData as DashboardInteractionMilestoneData, index$1_DashboardInteractionStartData as DashboardInteractionStartData, index$1_FieldConfigMetadata as FieldConfigMetadata, index$1_PanelFieldConfigPerformanceData as PanelFieldConfigPerformanceData, index$1_PanelPerformanceData as PanelPerformanceData, index$1_PanelPluginLoadPerformanceData as PanelPluginLoadPerformanceData, index$1_PanelQueryPerformanceData as PanelQueryPerformanceData, index$1_PanelRenderPerformanceData as PanelRenderPerformanceData, index$1_PanelTransformPerformanceData as PanelTransformPerformanceData, index$1_PluginLoadMetadata as PluginLoadMetadata, index$1_QueryMetadata as QueryMetadata, index$1_QueryPerformanceData as QueryPerformanceData, index$1_RenderMetadata as RenderMetadata, index$1_ScenePerformanceObserver as ScenePerformanceObserver, index$1_TransformMetadata as TransformMetadata };
1681
+ export {
1682
+ index$1_ActWhenVariableChanged as ActWhenVariableChanged,
1683
+ index$1_CursorSync as CursorSync,
1684
+ index$1_LiveNowTimer as LiveNowTimer,
1685
+ index$1_SceneInteractionTracker as SceneInteractionTracker,
1686
+ index$1_SceneQueryController as SceneQueryController,
1687
+ };
1929
1688
  }
1930
1689
 
1931
- declare function writePerformanceLog(logger: string, message: string, ...rest: unknown[]): void;
1932
-
1933
1690
  /**
1934
1691
  * Base class for data layer. Handles common implementation including enabling/disabling layer and publishing results.
1935
1692
  */
@@ -2255,10 +2012,6 @@ declare class SceneDataTransformer extends SceneObjectBase<SceneDataTransformerS
2255
2012
  setContainerWidth(width: number): void;
2256
2013
  isDataReadyToDisplay(): boolean;
2257
2014
  reprocessTransformations(): void;
2258
- /**
2259
- * S3.1: Calculate transformation complexity metrics
2260
- */
2261
- private _calculateTransformationMetrics;
2262
2015
  cancelQuery(): void;
2263
2016
  getResultsStream(): ReplaySubject<SceneDataProviderResult>;
2264
2017
  clone(withState?: Partial<SceneDataTransformerState>): this;
@@ -2269,6 +2022,11 @@ declare class SceneDataTransformer extends SceneObjectBase<SceneDataTransformerS
2269
2022
  private _interpolateVariablesInTransformationConfigs;
2270
2023
  }
2271
2024
 
2025
+ /**
2026
+ * Will look for a scene object with a behavior that is a SceneQueryController and register the query with it.
2027
+ */
2028
+ declare function registerQueryWithController<T extends QueryResultWithState>(entry: SceneQueryControllerEntry): (queryStream: Observable<T>) => Observable<T>;
2029
+
2272
2030
  interface VariableValueSelectorsState extends SceneObjectState {
2273
2031
  layout?: ControlsLayout;
2274
2032
  }
@@ -2456,6 +2214,121 @@ declare class LocalValueVariable extends SceneObjectBase<LocalValueVariableState
2456
2214
  isAncestorLoading(): boolean;
2457
2215
  }
2458
2216
 
2217
+ /**
2218
+ * Controller state returned by useState hook
2219
+ */
2220
+ interface AdHocFiltersControllerState {
2221
+ filters: AdHocFilterWithLabels[];
2222
+ originFilters?: AdHocFilterWithLabels[];
2223
+ readOnly?: boolean;
2224
+ allowCustomValue?: boolean;
2225
+ supportsMultiValueOperators?: boolean;
2226
+ onAddCustomValue?: OnAddCustomValueFn;
2227
+ wip?: AdHocFilterWithLabels;
2228
+ inputPlaceholder?: string;
2229
+ }
2230
+ /**
2231
+ * Controller interface for adhoc filters combobox UI.
2232
+ * Decouples the UI from AdHocFiltersVariable, allowing usage with or without a variable.
2233
+ */
2234
+ interface AdHocFiltersController {
2235
+ /**
2236
+ * React hook to access controller state.
2237
+ * Components should call this to get current filters and configuration.
2238
+ */
2239
+ useState(): AdHocFiltersControllerState;
2240
+ /**
2241
+ * Get possible keys given current filters.
2242
+ * @param currentKey - The key being edited (to exclude from filter context)
2243
+ */
2244
+ getKeys(currentKey: string | null): Promise<Array<SelectableValue<string>>>;
2245
+ /**
2246
+ * Get possible values for a specific filter key.
2247
+ * @param filter - The filter to get values for
2248
+ */
2249
+ getValuesFor(filter: AdHocFilterWithLabels): Promise<Array<SelectableValue<string>>>;
2250
+ /**
2251
+ * Get available operators based on configuration.
2252
+ */
2253
+ getOperators(): Array<SelectableValue<string>>;
2254
+ /**
2255
+ * Update a filter with partial changes.
2256
+ * @param filter - The filter to update
2257
+ * @param update - Partial filter properties to update
2258
+ */
2259
+ updateFilter(filter: AdHocFilterWithLabels, update: Partial<AdHocFilterWithLabels>): void;
2260
+ /**
2261
+ * Update a filter to match all values (=~ .*)
2262
+ * @param filter - The filter to update
2263
+ */
2264
+ updateToMatchAll(filter: AdHocFilterWithLabels): void;
2265
+ /**
2266
+ * Remove a filter.
2267
+ * @param filter - The filter to remove
2268
+ */
2269
+ removeFilter(filter: AdHocFilterWithLabels): void;
2270
+ /**
2271
+ * Remove the last filter in the list.
2272
+ */
2273
+ removeLastFilter(): void;
2274
+ /**
2275
+ * Handle backspace key in combobox (removes filter or navigates to previous).
2276
+ * @param filter - The filter where backspace was pressed
2277
+ */
2278
+ handleComboboxBackspace(filter: AdHocFilterWithLabels): void;
2279
+ /**
2280
+ * Add a new work-in-progress filter.
2281
+ */
2282
+ addWip(): void;
2283
+ /**
2284
+ * Restore an origin filter to its original value.
2285
+ * @param filter - The filter to restore
2286
+ */
2287
+ restoreOriginalFilter(filter: AdHocFilterWithLabels): void;
2288
+ /**
2289
+ * Optional: Start profiling an interaction (for performance tracking).
2290
+ * @param name - The interaction name
2291
+ */
2292
+ startProfile?(name: string): void;
2293
+ /**
2294
+ * Optional: Start tracking an interaction (for analytics).
2295
+ * @param name - The interaction name
2296
+ */
2297
+ startInteraction?(name: string): void;
2298
+ /**
2299
+ * Optional: Stop tracking the current interaction.
2300
+ */
2301
+ stopInteraction?(): void;
2302
+ }
2303
+
2304
+ /**
2305
+ * Adapter that wraps AdHocFiltersVariable to implement the AdHocFiltersController interface.
2306
+ * This allows the combobox UI to work with the variable while keeping the UI decoupled.
2307
+ */
2308
+ declare class VariableBackedAdHocFiltersController implements AdHocFiltersController {
2309
+ private model;
2310
+ constructor(model: AdHocFiltersVariable);
2311
+ useState(): AdHocFiltersControllerState;
2312
+ getKeys(currentKey: string | null): Promise<Array<SelectableValue<string>>>;
2313
+ getValuesFor(filter: AdHocFilterWithLabels): Promise<Array<SelectableValue<string>>>;
2314
+ getOperators(): Array<SelectableValue<string>>;
2315
+ updateFilter(filter: AdHocFilterWithLabels, update: Partial<AdHocFilterWithLabels>): void;
2316
+ updateToMatchAll(filter: AdHocFilterWithLabels): void;
2317
+ removeFilter(filter: AdHocFilterWithLabels): void;
2318
+ removeLastFilter(): void;
2319
+ handleComboboxBackspace(filter: AdHocFilterWithLabels): void;
2320
+ addWip(): void;
2321
+ restoreOriginalFilter(filter: AdHocFilterWithLabels): void;
2322
+ startProfile(name: string): void;
2323
+ startInteraction(name: string): void;
2324
+ stopInteraction(): void;
2325
+ }
2326
+
2327
+ interface Props$2 {
2328
+ controller: AdHocFiltersController;
2329
+ }
2330
+ declare const AdHocFiltersComboboxRenderer: React__default.NamedExoticComponent<Props$2>;
2331
+
2459
2332
  declare function useUrlSync(sceneRoot: SceneObject, options?: SceneUrlSyncOptions): boolean;
2460
2333
 
2461
2334
  interface UrlSyncContextProviderProps extends SceneUrlSyncOptions {
@@ -3439,20 +3312,6 @@ declare const loadResources: ResourceLoader;
3439
3312
 
3440
3313
 
3441
3314
 
3442
-
3443
-
3444
-
3445
-
3446
-
3447
-
3448
-
3449
-
3450
-
3451
-
3452
-
3453
-
3454
-
3455
-
3456
3315
 
3457
3316
 
3458
3317
 
@@ -3485,9 +3344,10 @@ declare const sceneUtils: {
3485
3344
  isQueryVariable: typeof isQueryVariable;
3486
3345
  isTextBoxVariable: typeof isTextBoxVariable;
3487
3346
  isGroupByVariable: typeof isGroupByVariable;
3347
+ isSwitchVariable: typeof isSwitchVariable;
3488
3348
  isRepeatCloneOrChildOf: typeof isRepeatCloneOrChildOf;
3489
3349
  buildPathIdFor: typeof buildPathIdFor;
3490
3350
  };
3491
3351
 
3492
- export { ADHOC_KEYS_DROPDOWN_INTERACTION, ADHOC_VALUES_DROPDOWN_INTERACTION, AdHocFiltersVariable, ConstantVariable, ControlsLabel, CustomVariable, DataProviderProxy, DataSourceVariable, EmbeddedScene, FILTER_ADDED_INTERACTION, FILTER_CHANGED_INTERACTION, FILTER_REMOVED_INTERACTION, FILTER_RESTORED_INTERACTION, FieldConfigBuilder, FieldConfigBuilders, FieldConfigOverridesBuilder, GROUPBY_DIMENSIONS_INTERACTION, GroupByVariable, IntervalVariable, LazyLoader, LocalValueVariable, MultiOrSingleValueSelect, MultiValueVariable, NestedScene, NewSceneObjectAddedEvent, PATH_ID_SEPARATOR, PanelBuilders, PanelOptionsBuilders, QueryVariable, REFRESH_INTERACTION, RuntimeDataSource, SCOPES_CHANGED_INTERACTION, SafeSerializableSceneObject, SceneApp, SceneAppPage, SceneByFrameRepeater, SceneByVariableRepeater, SceneCSSGridItem, SceneCSSGridLayout, SceneCanvasText, SceneControlsSpacer, SceneDataLayerBase, SceneDataLayerControls, SceneDataLayerSet, SceneDataLayerSetBase, SceneDataNode, SceneDataTransformer, SceneDebugger, SceneFlexItem, SceneFlexLayout, SceneGridItem, SceneGridLayout, SceneGridLayoutDragStartEvent, SceneGridRow, SceneObjectBase, SceneObjectRef, SceneObjectStateChangedEvent, SceneObjectUrlSyncConfig, SceneQueryRunner, SceneReactObject, SceneRefreshPicker, SceneRenderProfiler, SceneTimePicker, SceneTimeRange, SceneTimeRangeCompare, SceneTimeRangeTransformerBase, SceneTimeZoneOverride, SceneToolbarButton, SceneToolbarInput, SceneVariableSet, SceneVariableValueChangedEvent, ScopesVariable, SplitLayout, TIME_RANGE_CHANGE_INTERACTION, TestVariable, TextBoxVariable, UrlSyncContextProvider, UrlSyncManager, UserActionEvent, VARIABLE_VALUE_CHANGED_INTERACTION, VariableDependencyConfig, VariableValueControl, VariableValueSelectWrapper, VariableValueSelectors, VizConfigBuilder, VizConfigBuilders, VizPanel, VizPanelBuilder, VizPanelExploreButton, VizPanelMenu, index$1 as behaviors, index as dataLayers, escapeUrlPipeDelimiters, formatRegistry, generateOperationId, getExploreURL, getScenePerformanceTracker, isCustomVariableValue, isDataLayer, isDataRequestEnricher, isFiltersRequestEnricher, isSceneObject, loadResources, registerQueryWithController, registerRuntimeDataSource, sceneGraph, sceneUtils, useSceneApp, useSceneObjectState, useUrlSync, writePerformanceLog };
3493
- export type { AdHocFilterWithLabels, BasePerformanceEvent, CancelActivationHandler, ControlsLayout, CustomFormatterVariable, CustomTransformOperator, CustomTransformerDefinition, CustomVariableValue, DashboardInteractionCompleteData, DashboardInteractionMilestoneData, DashboardInteractionStartData, DataLayerFilter, DataRequestEnricher, DeepPartial, EmbeddedSceneState, ExtraQueryDataProcessor, ExtraQueryDescriptor, ExtraQueryProvider, FieldConfigMetadata, FiltersRequestEnricher, FormatVariable, InterpolationFormatParameter, MacroVariableConstructor, MultiValueVariableState, PanelFieldConfigPerformanceData, PanelPerformanceData, PanelPluginLoadPerformanceData, PanelQueryPerformanceData, PanelRenderPerformanceData, PanelTransformPerformanceData, PluginLoadMetadata, QueryMetadata, QueryPerformanceData, QueryRunnerState, RenderMetadata, SceneActivationHandler, SceneAppDrilldownView, SceneAppPageLike, SceneAppPageState, SceneAppRoute, SceneComponent, SceneComponentProps, SceneDataLayerProvider, SceneDataLayerProviderState, SceneDataProvider, SceneDataProviderResult, SceneDataQuery, SceneDataState, SceneDataTransformerState, SceneDeactivationHandler, SceneFlexItemLike, SceneFlexItemState, SceneGridItemLike, SceneGridItemStateLike, SceneLayout, SceneLayoutChildOptions, SceneLayoutState, SceneObject, SceneObjectState, SceneObjectStateChangedPayload, SceneObjectUrlSyncHandler, SceneObjectUrlValue, SceneObjectUrlValues, SceneObjectWithUrlSync, ScenePerformanceObserver, SceneQueryControllerEntry, SceneQueryControllerEntryType, SceneQueryControllerLike, SceneRefreshPickerState, SceneRouteMatch, SceneStateChangedHandler, SceneStatelessBehavior, SceneTimeRangeLike, SceneTimeRangeState, SceneUrlSyncOptions, SceneVariable, SceneVariableDependencyConfigLike, SceneVariableSetState, SceneVariableState, SceneVariables, TransformMetadata, UrlSyncManagerLike, UseStateHookOptions, ValidateAndUpdateResult, VariableCustomFormatterFn, VariableGetOptionsArgs, VariableValue, VariableValueOption, VariableValueSingle, VizConfig, VizPanelState };
3352
+ export { AdHocFiltersComboboxRenderer, AdHocFiltersVariable, ConstantVariable, ControlsLabel, CustomVariable, DataProviderProxy, DataSourceVariable, EmbeddedScene, FieldConfigBuilder, FieldConfigBuilders, FieldConfigOverridesBuilder, GroupByVariable, IntervalVariable, LazyLoader, LocalValueVariable, MultiOrSingleValueSelect, MultiValueVariable, NestedScene, NewSceneObjectAddedEvent, PATH_ID_SEPARATOR, PanelBuilders, PanelOptionsBuilders, QueryVariable, RuntimeDataSource, SafeSerializableSceneObject, SceneApp, SceneAppPage, SceneByFrameRepeater, SceneByVariableRepeater, SceneCSSGridItem, SceneCSSGridLayout, SceneCanvasText, SceneControlsSpacer, SceneDataLayerBase, SceneDataLayerControls, SceneDataLayerSet, SceneDataLayerSetBase, SceneDataNode, SceneDataTransformer, SceneDebugger, SceneFlexItem, SceneFlexLayout, SceneGridItem, SceneGridLayout, SceneGridLayoutDragStartEvent, SceneGridRow, SceneObjectBase, SceneObjectRef, SceneObjectStateChangedEvent, SceneObjectUrlSyncConfig, SceneQueryRunner, SceneReactObject, SceneRefreshPicker, SceneRenderProfiler, SceneTimePicker, SceneTimeRange, SceneTimeRangeCompare, SceneTimeRangeTransformerBase, SceneTimeZoneOverride, SceneToolbarButton, SceneToolbarInput, SceneVariableSet, SceneVariableValueChangedEvent, ScopesVariable, SplitLayout, SwitchVariable, TestVariable, TextBoxVariable, UrlSyncContextProvider, UrlSyncManager, UserActionEvent, VariableBackedAdHocFiltersController, VariableDependencyConfig, VariableValueControl, VariableValueSelectWrapper, VariableValueSelectors, VizConfigBuilder, VizConfigBuilders, VizPanel, VizPanelBuilder, VizPanelExploreButton, VizPanelMenu, index$1 as behaviors, index as dataLayers, escapeUrlPipeDelimiters, formatRegistry, getExploreURL, isCustomVariableValue, isDataLayer, isDataRequestEnricher, isFiltersRequestEnricher, isSceneObject, loadResources, registerQueryWithController, registerRuntimeDataSource, sceneGraph, sceneUtils, useSceneApp, useSceneObjectState, useUrlSync };
3353
+ export type { AdHocFilterWithLabels, AdHocFiltersController, AdHocFiltersControllerState, CancelActivationHandler, ControlsLayout, CustomFormatterVariable, CustomTransformOperator, CustomTransformerDefinition, CustomVariableValue, DataLayerFilter, DataRequestEnricher, DeepPartial, EmbeddedSceneState, ExtraQueryDataProcessor, ExtraQueryDescriptor, ExtraQueryProvider, FiltersRequestEnricher, FormatVariable, InterpolationFormatParameter, MacroVariableConstructor, MultiValueVariableState, QueryRunnerState, SceneActivationHandler, SceneAppDrilldownView, SceneAppPageLike, SceneAppPageState, SceneAppRoute, SceneComponent, SceneComponentProps, SceneDataLayerProvider, SceneDataLayerProviderState, SceneDataProvider, SceneDataProviderResult, SceneDataQuery, SceneDataState, SceneDataTransformerState, SceneDeactivationHandler, SceneFlexItemLike, SceneFlexItemState, SceneGridItemLike, SceneGridItemStateLike, SceneInteractionProfileEvent, SceneLayout, SceneLayoutChildOptions, SceneLayoutState, SceneObject, SceneObjectState, SceneObjectStateChangedPayload, SceneObjectUrlSyncHandler, SceneObjectUrlValue, SceneObjectUrlValues, SceneObjectWithUrlSync, SceneQueryControllerEntry, SceneQueryControllerEntryType, SceneQueryControllerLike, SceneRefreshPickerState, SceneRouteMatch, SceneStateChangedHandler, SceneStatelessBehavior, SceneTimeRangeLike, SceneTimeRangeState, SceneUrlSyncOptions, SceneVariable, SceneVariableDependencyConfigLike, SceneVariableSetState, SceneVariableState, SceneVariables, UrlSyncManagerLike, UseStateHookOptions, ValidateAndUpdateResult, VariableCustomFormatterFn, VariableGetOptionsArgs, VariableValue, VariableValueOption, VariableValueSingle, VizConfig, VizPanelState };