import React, { useMemo } from 'react'; import { SelectableValue } from '@grafana/data'; import { Select } from '@grafana/ui'; import { ALIGNMENT_PERIODS } from '../constants'; import { MetricQuery, SLOQuery } from '../types'; export interface Props { onChange(query: TQuery): void; query: TQuery; templateVariableOptions: Array>; selectWidth?: number; } export function AlignmentPeriod({ templateVariableOptions, onChange, query, selectWidth, }: Props) { const options = useMemo( () => ALIGNMENT_PERIODS.map((ap) => ({ ...ap, label: ap.text, })), [] ); const visibleOptions = useMemo(() => options.filter((ap) => !ap.hidden), [options]); return ( ); }