diff --git a/packages/scenes/package.json b/packages/scenes/package.json index a3c592aad..30400473b 100644 --- a/packages/scenes/package.json +++ b/packages/scenes/package.json @@ -48,12 +48,12 @@ "uuid": "^9.0.0" }, "peerDependencies": { - "@grafana/data": ">=10.4", - "@grafana/e2e-selectors": ">=10.4", + "@grafana/data": ">=11.5", + "@grafana/e2e-selectors": ">=11.5", "@grafana/i18n": "*", - "@grafana/runtime": ">=10.4", - "@grafana/schema": ">=10.4", - "@grafana/ui": ">=10.4", + "@grafana/runtime": ">=11.5", + "@grafana/schema": ">=11.5", + "@grafana/ui": ">=11.5", "react": "^18.0.0", "react-dom": "^18.0.0", "react-router-dom": "^6.28.0" diff --git a/packages/scenes/src/index.ts b/packages/scenes/src/index.ts index 267a98924..6a6a2fd59 100644 --- a/packages/scenes/src/index.ts +++ b/packages/scenes/src/index.ts @@ -78,6 +78,7 @@ export { } from './variables/variants/MultiValueVariable'; export { LocalValueVariable } from './variables/variants/LocalValueVariable'; export { IntervalVariable } from './variables/variants/IntervalVariable'; +export { ExperimentalIntervalVariable } from './variables/variants/ExperimentalIntervalVariable'; export { AdHocFiltersVariable } from './variables/adhoc/AdHocFiltersVariable'; export type { AdHocFilterWithLabels } from './variables/adhoc/AdHocFiltersVariable'; export type { diff --git a/packages/scenes/src/variables/variants/ExperimentalIntervalVariable.tsx b/packages/scenes/src/variables/variants/ExperimentalIntervalVariable.tsx new file mode 100644 index 000000000..224147f15 --- /dev/null +++ b/packages/scenes/src/variables/variants/ExperimentalIntervalVariable.tsx @@ -0,0 +1,147 @@ +import { t } from '@grafana/i18n'; +import { rangeUtil } from '@grafana/data'; +import { VariableRefresh } from '@grafana/schema'; +import { Combobox, ComboboxOption } from '@grafana/ui'; +import React from 'react'; +import { Observable, of } from 'rxjs'; +import { sceneGraph } from '../../core/sceneGraph'; +import { SceneObjectBase } from '../../core/SceneObjectBase'; +import { SceneComponentProps, SceneObjectUrlValues } from '../../core/types'; +import { SceneObjectUrlSyncConfig } from '../../services/SceneObjectUrlSyncConfig'; +import { AUTO_VARIABLE_TEXT, AUTO_VARIABLE_VALUE } from '../constants'; +import { + SceneVariable, + SceneVariableState, + SceneVariableValueChangedEvent, + ValidateAndUpdateResult, + VariableValue, +} from '../types'; + +export interface IntervalVariableState extends SceneVariableState { + intervals: string[]; + value: string; + autoEnabled: boolean; + autoMinInterval: string; + autoStepCount: number; + refresh: VariableRefresh; +} + +/** + * @experimental Temporary experimental alternative to IntervalVariable + * that implements new `` instead of `