- {controls && (
-
- {controls.map((control) => (
-
- ))}
-
- )}
+
+ {controls?.map((control) => )}
+
+
{
export function buildRelatedLogsScene() {
return new RelatedLogsScene({});
}
+
+export async function findHealthyLokiDataSources() {
+ const lokiDataSources = getDataSourceSrv().getList({
+ logs: true,
+ type: 'loki',
+ filter: (ds) => ds.uid !== 'grafana',
+ });
+ const healthyLokiDataSources: Array> = [];
+ const unhealthyLokiDataSources: Array> = [];
+
+ await Promise.all(
+ lokiDataSources.map((ds) =>
+ getBackendSrv()
+ .get(`/api/datasources/${ds.id}/health`, undefined, undefined, {
+ showSuccessAlert: false,
+ showErrorAlert: false,
+ })
+ .then((health) =>
+ health?.status === 'OK' ? healthyLokiDataSources.push(ds) : unhealthyLokiDataSources.push(ds)
+ )
+ .catch(() => unhealthyLokiDataSources.push(ds))
+ )
+ );
+
+ if (unhealthyLokiDataSources.length) {
+ console.warn(
+ `Found ${unhealthyLokiDataSources.length} unhealthy Loki data sources: ${unhealthyLokiDataSources.map((ds) => ds.name).join(', ')}`
+ );
+ }
+
+ return healthyLokiDataSources;
+}
diff --git a/public/app/features/trails/autoQuery/getAutoQueriesForMetric.ts b/public/app/features/trails/autoQuery/getAutoQueriesForMetric.ts
index 732fd6ed4b3..77ddceff54f 100644
--- a/public/app/features/trails/autoQuery/getAutoQueriesForMetric.ts
+++ b/public/app/features/trails/autoQuery/getAutoQueriesForMetric.ts
@@ -1,3 +1,5 @@
+import { isValidLegacyName } from '@grafana/prometheus';
+
import { createDefaultMetricQueryDefs } from './queryGenerators/default';
import { createHistogramMetricQueryDefs } from './queryGenerators/histogram';
import { createSummaryMetricQueryDefs } from './queryGenerators/summary';
@@ -5,7 +7,7 @@ import { AutoQueryContext, AutoQueryInfo } from './types';
import { getUnit } from './units';
export function getAutoQueriesForMetric(metric: string, nativeHistogram?: boolean): AutoQueryInfo {
- const isUtf8Metric = false;
+ const isUtf8Metric = !isValidLegacyName(metric);
const metricParts = metric.split('_');
const suffix = metricParts.at(-1);
diff --git a/public/app/features/trails/autoQuery/queryGenerators/common.ts b/public/app/features/trails/autoQuery/queryGenerators/common.ts
index b0e82b4baa3..d77a8ce1de1 100644
--- a/public/app/features/trails/autoQuery/queryGenerators/common.ts
+++ b/public/app/features/trails/autoQuery/queryGenerators/common.ts
@@ -24,6 +24,7 @@ export function generateCommonAutoQueryInfo({
refId: 'A',
expr: mainQueryExpr,
legendFormat: description,
+ fromExploreMetrics: true,
};
const main = {
@@ -48,6 +49,7 @@ export function generateCommonAutoQueryInfo({
refId: 'A',
expr: breakdownQueryExpr,
legendFormat: `{{${VAR_GROUP_BY_EXP}}}`,
+ fromExploreMetrics: true,
},
],
vizBuilder: () => simpleGraphBuilder(breakdown),
diff --git a/public/app/features/trails/autoQuery/queryGenerators/histogram.ts b/public/app/features/trails/autoQuery/queryGenerators/histogram.ts
index c4fc17ad331..015ecdc8441 100644
--- a/public/app/features/trails/autoQuery/queryGenerators/histogram.ts
+++ b/public/app/features/trails/autoQuery/queryGenerators/histogram.ts
@@ -44,6 +44,7 @@ export function createHistogramMetricQueryDefs(context: AutoQueryContext) {
isUtf8Metric: context.isUtf8Metric,
groupings: ['le'],
}),
+ fromExploreMetrics: true,
format: 'heatmap',
},
],
@@ -73,5 +74,6 @@ function percentileQuery(context: AutoQueryContext, percentile: number, grouping
refId: `Percentile${percentile}`,
expr: `histogram_quantile(${percent}, ${query})`,
legendFormat,
+ fromExploreMetrics: true,
};
}
diff --git a/public/app/features/trails/helpers/MetricDatasourceHelper.ts b/public/app/features/trails/helpers/MetricDatasourceHelper.ts
index 4ecfb09db53..ae473d5c7e9 100644
--- a/public/app/features/trails/helpers/MetricDatasourceHelper.ts
+++ b/public/app/features/trails/helpers/MetricDatasourceHelper.ts
@@ -4,8 +4,13 @@ import {
DataSourceGetTagValuesOptions,
MetricFindValue,
} from '@grafana/data';
-import { PrometheusDatasource, PromMetricsMetadata, PromMetricsMetadataItem, PromQuery } from '@grafana/prometheus';
-import PromQlLanguageProvider from '@grafana/prometheus/src/language_provider';
+import {
+ PrometheusDatasource,
+ PromMetricsMetadata,
+ PromMetricsMetadataItem,
+ PromQlLanguageProvider,
+ PromQuery,
+} from '@grafana/prometheus';
import { getDataSourceSrv } from '@grafana/runtime';
import { DataTrail } from '../DataTrail';
@@ -149,6 +154,7 @@ export class MetricDatasourceHelper {
const ds = await this.getDatasource();
if (ds instanceof PrometheusDatasource) {
+ options.key = unwrapQuotes(options.key);
const keys = await ds.getTagValues(options);
return keys;
}
@@ -172,3 +178,15 @@ export function getMetricDescription(metadata?: PromMetricsMetadataItem) {
return lines.join('\n\n');
}
+
+function unwrapQuotes(value: string): string {
+ if (value === '' || !isWrappedInQuotes(value)) {
+ return value;
+ }
+ return value.slice(1, -1);
+}
+
+function isWrappedInQuotes(value: string): boolean {
+ const wrappedInQuotes = /^".*"$/;
+ return wrappedInQuotes.test(value);
+}
diff --git a/public/app/features/trails/otel/api.ts b/public/app/features/trails/otel/api.ts
index 3399b0f7fe9..542e9b2cd70 100644
--- a/public/app/features/trails/otel/api.ts
+++ b/public/app/features/trails/otel/api.ts
@@ -1,5 +1,5 @@
import { RawTimeRange, Scope } from '@grafana/data';
-import { getPrometheusTime } from '@grafana/prometheus/src/language_utils';
+import { getPrometheusTime, isValidLegacyName } from '@grafana/prometheus';
import { config, getBackendSrv } from '@grafana/runtime';
import { callSuggestionsApi } from '../utils';
@@ -40,7 +40,10 @@ export async function totalOtelResources(
): Promise {
const start = getPrometheusTime(timeRange.from, false);
const end = getPrometheusTime(timeRange.to, true);
-
+ // check that the metric is utf8 before doing a resource query
+ if (metric && !isValidLegacyName(metric)) {
+ metric = `{"${metric}"}`;
+ }
const query = metric ? metricOtelJobInstanceQuery(metric) : otelTargetInfoQuery(filters);
const url = `/api/datasources/uid/${dataSourceUid}/resources/api/v1/query`;
@@ -204,7 +207,13 @@ export async function getFilteredResourceAttributes(
// The match param for the metric to get all possible labels for this metric
const metricMatchTerms = limitOtelMatchTerms([], metricResources.jobs, metricResources.instances);
- let metricMatchParam = `${metric}{${metricMatchTerms.jobsRegex},${metricMatchTerms.instancesRegex}}`;
+ let metricMatchParam = '';
+ // check metric is utf8 to give corrrect syntax
+ if (!isValidLegacyName(metric)) {
+ metricMatchParam = `{'${metric}',${metricMatchTerms.jobsRegex},${metricMatchTerms.instancesRegex}}`;
+ } else {
+ metricMatchParam = `${metric}{${metricMatchTerms.jobsRegex},${metricMatchTerms.instancesRegex}}`;
+ }
const start = getPrometheusTime(timeRange.from, false);
const end = getPrometheusTime(timeRange.to, true);
diff --git a/public/app/features/trails/otel/util.ts b/public/app/features/trails/otel/util.ts
index d5c2c0b9886..7f0e1ad4f61 100644
--- a/public/app/features/trails/otel/util.ts
+++ b/public/app/features/trails/otel/util.ts
@@ -1,4 +1,5 @@
import { AdHocVariableFilter, MetricFindValue, RawTimeRange, VariableHide } from '@grafana/data';
+import { isValidLegacyName } from '@grafana/prometheus';
import { config } from '@grafana/runtime';
import { AdHocFiltersVariable, ConstantVariable, sceneGraph, SceneObject } from '@grafana/scenes';
@@ -110,7 +111,13 @@ export function getOtelResourcesObject(scene: SceneObject, firstQueryVal?: strin
// add the other OTEL resource filters
for (let i = 0; i < otelFilters?.length; i++) {
- const labelName = otelFilters[i].key;
+ let labelName = otelFilters[i].key;
+
+ // when adding an otel resource filter with utfb
+ if (!isValidLegacyName(labelName)) {
+ labelName = `'${labelName}'`;
+ }
+
const op = otelFilters[i].operator;
const labelValue = otelFilters[i].value;
@@ -281,8 +288,15 @@ export async function updateOtelJoinWithGroupLeft(trail: DataTrail, metric: stri
);
// here we start to add the attributes to the group left
if (attributes.length > 0) {
+ // loop through attributes to check for utf8
+ const utf8Attributes = attributes.map((a) => {
+ if (!isValidLegacyName(a)) {
+ return `'${a}'`;
+ }
+ return a;
+ });
// update the group left variable that contains all the filtered resource attributes
- otelGroupLeft.setState({ value: attributes.join(',') });
+ otelGroupLeft.setState({ value: utf8Attributes.join(',') });
// get the new otel join query that includes the group left attributes
const resourceObject = getOtelResourcesObject(trail);
const otelJoinQuery = getOtelJoinQuery(resourceObject, trail);
diff --git a/public/app/features/trails/utils.ts b/public/app/features/trails/utils.ts
index abacfb7a5a6..860dc630a30 100644
--- a/public/app/features/trails/utils.ts
+++ b/public/app/features/trails/utils.ts
@@ -10,10 +10,12 @@ import {
ScopeSpecFilter,
urlUtil,
} from '@grafana/data';
-import { getPrometheusTime } from '@grafana/prometheus/src/language_utils';
+import { getPrometheusTime } from '@grafana/prometheus';
import { config, FetchResponse, getBackendSrv, getDataSourceSrv } from '@grafana/runtime';
import {
AdHocFiltersVariable,
+ ConstantVariable,
+ CustomVariable,
sceneGraph,
SceneObject,
SceneObjectState,
@@ -35,6 +37,18 @@ import { MetricDatasourceHelper } from './helpers/MetricDatasourceHelper';
import { sortResources } from './otel/util';
import { LOGS_METRIC, TRAILS_ROUTE, VAR_DATASOURCE_EXPR, VAR_OTEL_AND_METRIC_FILTERS } from './shared';
+export function isAdHocVariable(variable: SceneVariable | null): variable is AdHocFiltersVariable {
+ return variable !== null && variable.state.type === 'adhoc';
+}
+
+export function isCustomVariable(variable: SceneVariable | null): variable is CustomVariable {
+ return variable !== null && variable.state.type === 'custom';
+}
+
+export function isConstantVariable(variable: SceneVariable | null): variable is ConstantVariable {
+ return variable !== null && variable.state.type === 'constant';
+}
+
export function getTrailFor(model: SceneObject): DataTrail {
return sceneGraph.getAncestor(model, DataTrail);
}
diff --git a/public/app/features/transformers/joinByLabels/joinByLabels.ts b/public/app/features/transformers/joinByLabels/joinByLabels.ts
index 463c6d5875e..4133dae20a6 100644
--- a/public/app/features/transformers/joinByLabels/joinByLabels.ts
+++ b/public/app/features/transformers/joinByLabels/joinByLabels.ts
@@ -35,7 +35,7 @@ interface JoinValues {
export function joinByLabels(options: JoinByLabelsTransformOptions, data: DataFrame[]): DataFrame {
if (!options.value?.length) {
- return getErrorFrame('No value labele configured');
+ return getErrorFrame('No value label configured');
}
const distinctLabels = getDistinctLabels(data);
if (distinctLabels.size < 1) {
@@ -104,7 +104,11 @@ export function joinByLabels(options: JoinByLabelsTransformOptions, data: DataFr
}
}
- const frame: DataFrame = { fields: [], length: nameValues[0].length };
+ const frame: DataFrame = {
+ fields: [],
+ length: nameValues[0].length,
+ refId: `${DataTransformerID.joinByLabels}-${data.map((frame) => frame.refId).join('-')}`,
+ };
for (let i = 0; i < join.length; i++) {
frame.fields.push({
name: join[i],
diff --git a/public/app/features/transformers/rowsToFields/rowsToFields.test.ts b/public/app/features/transformers/rowsToFields/rowsToFields.test.ts
index f6e458db2b8..4d3ee3d96d9 100644
--- a/public/app/features/transformers/rowsToFields/rowsToFields.test.ts
+++ b/public/app/features/transformers/rowsToFields/rowsToFields.test.ts
@@ -12,6 +12,7 @@ describe('Rows to fields', () => {
{ name: 'Miiin', type: FieldType.number, values: [3, 100] },
{ name: 'max', type: FieldType.string, values: [15, 200] },
],
+ refId: 'A',
});
const result = rowsToFields(
@@ -57,6 +58,7 @@ describe('Rows to fields', () => {
},
],
"length": 1,
+ "refId": "rowsToFields-A",
}
`);
});
diff --git a/public/app/features/transformers/rowsToFields/rowsToFields.ts b/public/app/features/transformers/rowsToFields/rowsToFields.ts
index 6232f3f5546..7bdece8e98b 100644
--- a/public/app/features/transformers/rowsToFields/rowsToFields.ts
+++ b/public/app/features/transformers/rowsToFields/rowsToFields.ts
@@ -64,6 +64,7 @@ export function rowsToFields(options: RowToFieldsTransformOptions, data: DataFra
return {
fields: outFields,
length: 1,
+ refId: `${DataTransformerID.rowsToFields}-${data.refId}`,
};
}
diff --git a/public/app/plugins/datasource/grafana/components/TimePickerInput.tsx b/public/app/plugins/datasource/grafana/components/TimePickerInput.tsx
deleted file mode 100644
index 7526c5f0a9a..00000000000
--- a/public/app/plugins/datasource/grafana/components/TimePickerInput.tsx
+++ /dev/null
@@ -1,185 +0,0 @@
-import { css, cx } from '@emotion/css';
-import { Moment } from 'moment';
-import TimePicker from 'rc-time-picker';
-
-import { GrafanaTheme2 } from '@grafana/data';
-import { FormInputSize, Icon, useStyles2 } from '@grafana/ui';
-import { inputSizes } from '@grafana/ui/src/components/Forms/commonStyles';
-import { getFocusStyles } from '@grafana/ui/src/themes/mixins';
-
-export interface Props {
- onChange: (value: Moment) => void;
- value?: Moment;
- defaultValue?: Moment;
- showHour?: boolean;
- showSeconds?: boolean;
- minuteStep?: number;
- size?: FormInputSize;
- disabled?: boolean;
- disabledHours?: () => number[];
- disabledMinutes?: () => number[];
- disabledSeconds?: () => number[];
- placeholder?: string;
- format?: string;
- allowEmpty?: boolean;
- width?: number;
-}
-
-export const POPUP_CLASS_NAME = 'time-of-day-picker-panel';
-
-// @TODO fix TimeOfDayPicker and switch?
-export const TimePickerInput = ({
- minuteStep = 1,
- showHour = true,
- showSeconds = false,
- onChange,
- value,
- size = 'auto',
- disabled,
- disabledHours,
- disabledMinutes,
- disabledSeconds,
- placeholder,
- format = 'HH:mm',
- defaultValue = undefined,
- allowEmpty = false,
- width,
-}: Props) => {
- const styles = useStyles2(getStyles);
-
- const getWidth = () => {
- if (width) {
- return css({
- width: `${width}px`,
- });
- }
-
- return inputSizes()[size];
- };
-
- return (
- onChange(v)}
- showHour={showHour}
- showSecond={showSeconds}
- format={format}
- allowEmpty={allowEmpty}
- className={cx(getWidth(), styles.input)}
- popupClassName={cx(styles.picker, POPUP_CLASS_NAME)}
- minuteStep={minuteStep}
- inputIcon={}
- disabled={disabled}
- disabledHours={disabledHours}
- disabledMinutes={disabledMinutes}
- disabledSeconds={disabledSeconds}
- placeholder={placeholder}
- />
- );
-};
-
-interface CaretProps {
- wrapperStyle?: string;
-}
-
-const Caret = ({ wrapperStyle = '' }: CaretProps) => {
- return (
-
-
-
- );
-};
-
-const getStyles = (theme: GrafanaTheme2) => {
- const bgColor = theme.components.input.background;
- const menuShadowColor = theme.v1.palette.black;
- const optionBgHover = theme.colors.background.secondary;
- const borderRadius = theme.shape.radius.default;
- const borderColor = theme.components.input.borderColor;
-
- return {
- caretWrapper: css({
- position: 'absolute',
- right: '8px',
- top: '50%',
- transform: 'translateY(-50%)',
- display: 'inline-block',
- textAlign: 'right',
- color: theme.colors.text.secondary,
- }),
- picker: css({
- '.rc-time-picker-panel-select': {
- fontSize: '14px',
- backgroundColor: bgColor,
- borderColor: borderColor,
- li: {
- outlineWidth: '2px',
- '&.rc-time-picker-panel-select-option-selected': {
- backgroundColor: 'inherit',
- border: `1px solid ${theme.v1.palette.orange}`,
- borderRadius: borderRadius,
- },
-
- '&:hover': {
- background: optionBgHover,
- },
-
- '&.rc-time-picker-panel-select-option-disabled': {
- color: theme.colors.action.disabledText,
- },
- },
- },
-
- '.rc-time-picker-panel-inner': {
- boxShadow: `0px 4px 4px ${menuShadowColor}`,
- backgroundColor: bgColor,
- borderColor: borderColor,
- borderRadius: borderRadius,
- marginTop: '3px',
-
- '.rc-time-picker-panel-input-wrap': {
- marginRight: '2px',
-
- '&, .rc-time-picker-panel-input': {
- backgroundColor: bgColor,
- paddingTop: '2px',
- },
- },
-
- '.rc-time-picker-panel-combobox': {
- display: 'flex',
- },
- },
- }),
- input: css({
- '.rc-time-picker-input': {
- backgroundColor: bgColor,
- borderRadius: borderRadius,
- borderColor: borderColor,
- height: theme.spacing(4),
-
- '&:focus': getFocusStyles(theme),
-
- '&:disabled': {
- backgroundColor: theme.colors.action.disabledBackground,
- color: theme.colors.action.disabledText,
- border: `1px solid ${theme.colors.action.disabledBackground}`,
- '&:focus': {
- boxShadow: 'none',
- },
- },
- },
-
- '.rc-time-picker-clear': {
- position: 'absolute',
- right: '20px',
- top: '50%',
- cursor: 'pointer',
- overflow: 'hidden',
- transform: 'translateY(-50%)',
- color: theme.colors.text.secondary,
- },
- }),
- };
-};
diff --git a/public/app/plugins/datasource/grafana/components/TimeRegionEditor.tsx b/public/app/plugins/datasource/grafana/components/TimeRegionEditor.tsx
index 6fdec781340..9ba25879675 100644
--- a/public/app/plugins/datasource/grafana/components/TimeRegionEditor.tsx
+++ b/public/app/plugins/datasource/grafana/components/TimeRegionEditor.tsx
@@ -2,15 +2,13 @@ import { css } from '@emotion/css';
import moment, { Moment } from 'moment/moment';
import { useState } from 'react';
-import { getTimeZoneInfo, GrafanaTheme2, SelectableValue } from '@grafana/data';
-import { Button, Field, FieldSet, Select, Stack, TimeZonePicker, useStyles2 } from '@grafana/ui';
+import { dateTimeAsMoment, getTimeZoneInfo, GrafanaTheme2, isDateTime, SelectableValue } from '@grafana/data';
+import { Button, Field, FieldSet, Select, Stack, TimeOfDayPicker, TimeZonePicker, useStyles2 } from '@grafana/ui';
import { TimeZoneOffset } from '@grafana/ui/src/components/DateTimePickers/TimeZonePicker/TimeZoneOffset';
import { TimeZoneTitle } from '@grafana/ui/src/components/DateTimePickers/TimeZonePicker/TimeZoneTitle';
import { TimeRegionConfig } from 'app/core/utils/timeRegions';
import { getDashboardSrv } from 'app/features/dashboard/services/DashboardSrv';
-import { TimePickerInput } from './TimePickerInput';
-
interface Props {
value: TimeRegionConfig;
onChange: (value?: TimeRegionConfig) => void;
@@ -74,7 +72,7 @@ export const TimeRegionEditor = ({ value, onChange }: Props) => {
return timezone;
};
- const onTimeChange = (v: Moment, field: string) => {
+ const onTimeChange = (v: Moment | undefined, field: string) => {
const time = v ? v.format('HH:mm') : undefined;
if (field === 'from') {
onChange({ ...value, from: time });
@@ -122,6 +120,9 @@ export const TimeRegionEditor = ({ value, onChange }: Props) => {
);
};
+ const from = getTime(value.from);
+ const to = getTime(value.to);
+
return (
@@ -155,12 +156,12 @@ export const TimeRegionEditor = ({ value, onChange }: Props) => {
width={20}
/>
)}
- onTimeChange(v, 'to')}
+ onTimeChange(v ? dateTimeAsMoment(v) : v, 'to')}
allowEmpty={true}
placeholder="HH:mm"
- width={100}
+ size="sm"
/>
diff --git a/public/app/plugins/datasource/graphite/state/context.tsx b/public/app/plugins/datasource/graphite/state/context.tsx
index a15853875a7..1a9aa76b37b 100644
--- a/public/app/plugins/datasource/graphite/state/context.tsx
+++ b/public/app/plugins/datasource/graphite/state/context.tsx
@@ -88,7 +88,7 @@ export const GraphiteQueryEditorContext = ({
if (!state) {
dispatch(
actions.init({
- target: query,
+ target: { ...query },
datasource: datasource,
range: range,
templateSrv: getTemplateSrv(),
diff --git a/public/app/plugins/panel/datagrid/DataGridPanel.test.tsx b/public/app/plugins/panel/datagrid/DataGridPanel.test.tsx
index 79651066698..d08e7f2be33 100644
--- a/public/app/plugins/panel/datagrid/DataGridPanel.test.tsx
+++ b/public/app/plugins/panel/datagrid/DataGridPanel.test.tsx
@@ -59,15 +59,17 @@ describe('DataGrid', () => {
jest.clearAllMocks();
});
- it('converts dataframe values to cell values properly', () => {
+ it('converts dataframe values to cell values properly', async () => {
jest.useFakeTimers();
render(
);
prep(false);
- expect(screen.getByTestId('glide-cell-1-0')).toHaveTextContent('1');
- expect(screen.getByTestId('glide-cell-2-1')).toHaveTextContent('b');
- expect(screen.getByTestId('glide-cell-3-2')).toHaveTextContent('c');
- expect(screen.getByTestId('glide-cell-3-3')).toHaveTextContent('d');
+ await waitFor(() => {
+ expect(screen.getByTestId('glide-cell-1-0')).toHaveTextContent('1');
+ expect(screen.getByTestId('glide-cell-2-1')).toHaveTextContent('b');
+ expect(screen.getByTestId('glide-cell-3-2')).toHaveTextContent('c');
+ expect(screen.getByTestId('glide-cell-3-3')).toHaveTextContent('d');
+ });
});
it('should open context menu on right click', async () => {
diff --git a/public/app/plugins/panel/geomap/editor/FrameSelectionEditor.tsx b/public/app/plugins/panel/geomap/editor/FrameSelectionEditor.tsx
index 00b245ba035..69f423b8f0d 100644
--- a/public/app/plugins/panel/geomap/editor/FrameSelectionEditor.tsx
+++ b/public/app/plugins/panel/geomap/editor/FrameSelectionEditor.tsx
@@ -29,7 +29,9 @@ export const FrameSelectionEditor = ({ value, context, onChange }: Props) => {
);
};
-export const FrameMultiSelectionEditor = ({ value, context, onChange }: Props) => {
+type FrameMultiSelectionEditorProps = Omit
, 'item'>;
+
+export const FrameMultiSelectionEditor = ({ value, context, onChange }: FrameMultiSelectionEditorProps) => {
const onFilterChange = useCallback(
(v: string[]) => {
onChange(
diff --git a/public/locales/en-US/grafana.json b/public/locales/en-US/grafana.json
index ae10eb7c4e2..e63fbcbfd10 100644
--- a/public/locales/en-US/grafana.json
+++ b/public/locales/en-US/grafana.json
@@ -1323,10 +1323,9 @@
"sortBy": "Sort by"
},
"related-logs": {
- "docsLink": "Loki Recording Rule",
+ "LrrDocsLink": "Loki Recording Rule",
"openExploreLogs": "Open Explore Logs",
- "relatedLogsUnavailableAfterDocsLink": ", or check back later as we expand the various methods for establishing connections between metrics and logs.",
- "relatedLogsUnavailableBeforeDocsLink": "Related logs are not available for this metric. Try selecting a metric created by a ",
+ "relatedLogsUnavailable": "No related logs found. To see related logs, you can either:<1><0>adjust the label filter to find logs with the same labels as the currently-selected metric0><1>select a metric created by a <2><0>Loki Recording Rule0>2>1>1>",
"warnExperimentalFeature": "Related logs is an experimental feature."
},
"viewBy": "View by"
diff --git a/public/locales/pseudo-LOCALE/grafana.json b/public/locales/pseudo-LOCALE/grafana.json
index 705aa03d6e9..a15602395c9 100644
--- a/public/locales/pseudo-LOCALE/grafana.json
+++ b/public/locales/pseudo-LOCALE/grafana.json
@@ -1323,10 +1323,9 @@
"sortBy": "Ŝőřŧ þy"
},
"related-logs": {
- "docsLink": "Ŀőĸį Ŗęčőřđįʼnģ Ŗūľę",
+ "LrrDocsLink": "Ŀőĸį Ŗęčőřđįʼnģ Ŗūľę",
"openExploreLogs": "Øpęʼn Ēχpľőřę Ŀőģş",
- "relatedLogsUnavailableAfterDocsLink": ", őř čĥęčĸ þäčĸ ľäŧęř äş ŵę ęχpäʼnđ ŧĥę väřįőūş męŧĥőđş ƒőř ęşŧäþľįşĥįʼnģ čőʼnʼnęčŧįőʼnş þęŧŵęęʼn męŧřįčş äʼnđ ľőģş.",
- "relatedLogsUnavailableBeforeDocsLink": "Ŗęľäŧęđ ľőģş äřę ʼnőŧ äväįľäþľę ƒőř ŧĥįş męŧřįč. Ŧřy şęľęčŧįʼnģ ä męŧřįč čřęäŧęđ þy ä ",
+ "relatedLogsUnavailable": "Ńő řęľäŧęđ ľőģş ƒőūʼnđ. Ŧő şęę řęľäŧęđ ľőģş, yőū čäʼn ęįŧĥęř:<1><0>äđĵūşŧ ŧĥę ľäþęľ ƒįľŧęř ŧő ƒįʼnđ ľőģş ŵįŧĥ ŧĥę şämę ľäþęľş äş ŧĥę čūřřęʼnŧľy-şęľęčŧęđ męŧřįč0><1>şęľęčŧ ä męŧřįč čřęäŧęđ þy ä <2><0>Ŀőĸį Ŗęčőřđįʼnģ Ŗūľę0>2>1>1>",
"warnExperimentalFeature": "Ŗęľäŧęđ ľőģş įş äʼn ęχpęřįmęʼnŧäľ ƒęäŧūřę."
},
"viewBy": "Vįęŵ þy"
diff --git a/public/test/jest-setup.ts b/public/test/jest-setup.ts
index c0286b53e06..72a8d66c0dc 100644
--- a/public/test/jest-setup.ts
+++ b/public/test/jest-setup.ts
@@ -61,6 +61,9 @@ const mockIntersectionObserver = jest
disconnect: jest.fn(),
}));
global.IntersectionObserver = mockIntersectionObserver;
+Object.defineProperty(document, 'fonts', {
+ value: { ready: Promise.resolve({}) },
+});
global.TextEncoder = TextEncoder;
global.TextDecoder = TextDecoder;
diff --git a/scripts/drone/variables.star b/scripts/drone/variables.star
index ec9e803a101..01147f6df17 100644
--- a/scripts/drone/variables.star
+++ b/scripts/drone/variables.star
@@ -3,7 +3,7 @@ global variables
"""
grabpl_version = "v3.1.1"
-golang_version = "1.23.4"
+golang_version = "1.23.5"
# nodejs_version should match what's in ".nvmrc", but without the v prefix.
nodejs_version = "22.11.0"
diff --git a/yarn.lock b/yarn.lock
index d5581c46a4f..760fac248e3 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1438,7 +1438,7 @@ __metadata:
languageName: node
linkType: hard
-"@babel/runtime@npm:7.26.0, @babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.10.1, @babel/runtime@npm:^7.11.1, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.0, @babel/runtime@npm:^7.12.1, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.13.10, @babel/runtime@npm:^7.14.0, @babel/runtime@npm:^7.15.4, @babel/runtime@npm:^7.16.3, @babel/runtime@npm:^7.17.8, @babel/runtime@npm:^7.18.0, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.20.0, @babel/runtime@npm:^7.20.7, @babel/runtime@npm:^7.23.2, @babel/runtime@npm:^7.23.9, @babel/runtime@npm:^7.24.1, @babel/runtime@npm:^7.24.5, @babel/runtime@npm:^7.25.0, @babel/runtime@npm:^7.25.6, @babel/runtime@npm:^7.25.7, @babel/runtime@npm:^7.3.1, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.7.6, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7":
+"@babel/runtime@npm:7.26.0, @babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.10.1, @babel/runtime@npm:^7.11.1, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.0, @babel/runtime@npm:^7.12.1, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.13.10, @babel/runtime@npm:^7.14.0, @babel/runtime@npm:^7.15.4, @babel/runtime@npm:^7.16.3, @babel/runtime@npm:^7.17.8, @babel/runtime@npm:^7.18.0, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.20.0, @babel/runtime@npm:^7.20.7, @babel/runtime@npm:^7.23.2, @babel/runtime@npm:^7.23.9, @babel/runtime@npm:^7.24.1, @babel/runtime@npm:^7.24.5, @babel/runtime@npm:^7.24.7, @babel/runtime@npm:^7.25.0, @babel/runtime@npm:^7.25.6, @babel/runtime@npm:^7.25.7, @babel/runtime@npm:^7.3.1, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.7.6, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7":
version: 7.26.0
resolution: "@babel/runtime@npm:7.26.0"
dependencies:
@@ -3817,10 +3817,10 @@ __metadata:
"@leeoniya/ufuzzy": "npm:1.0.18"
"@monaco-editor/react": "npm:4.6.0"
"@popperjs/core": "npm:2.11.8"
- "@react-aria/dialog": "npm:3.5.20"
- "@react-aria/focus": "npm:3.19.0"
- "@react-aria/overlays": "npm:3.24.0"
- "@react-aria/utils": "npm:3.26.0"
+ "@react-aria/dialog": "npm:3.5.21"
+ "@react-aria/focus": "npm:3.19.1"
+ "@react-aria/overlays": "npm:3.25.0"
+ "@react-aria/utils": "npm:3.27.0"
"@rollup/plugin-node-resolve": "npm:16.0.0"
"@storybook/addon-a11y": "npm:^8.4.2"
"@storybook/addon-actions": "npm:^8.4.2"
@@ -3895,8 +3895,8 @@ __metadata:
process: "npm:^0.11.10"
rc-cascader: "npm:3.33.0"
rc-drawer: "npm:7.2.0"
+ rc-picker: "npm:4.9.2"
rc-slider: "npm:11.1.8"
- rc-time-picker: "npm:^3.7.3"
rc-tooltip: "npm:6.4.0"
react: "npm:18.2.0"
react-calendar: "npm:^5.1.0"
@@ -4079,12 +4079,12 @@ __metadata:
languageName: node
linkType: hard
-"@internationalized/date@npm:^3.6.0":
- version: 3.6.0
- resolution: "@internationalized/date@npm:3.6.0"
+"@internationalized/date@npm:^3.7.0":
+ version: 3.7.0
+ resolution: "@internationalized/date@npm:3.7.0"
dependencies:
"@swc/helpers": "npm:^0.5.0"
- checksum: 10/862a34376ff1e36da0afa4a667b62183d7a480eb7c5b919b0a6e1450f4162bc8a6c8941e073a4fb0c6fce6d9420894051235f9e604ee1162fae7b59972a64d88
+ checksum: 10/59adffb57f1391e17bfe9b2e9b1a71c0957a1835b0176a86ad5a99fd2f2919f094d3f553fb39be157d84c315a88917e0eda779c9101026e3bfac217ace18a559
languageName: node
linkType: hard
@@ -6199,89 +6199,92 @@ __metadata:
languageName: node
linkType: hard
-"@react-aria/dialog@npm:3.5.20":
- version: 3.5.20
- resolution: "@react-aria/dialog@npm:3.5.20"
+"@react-aria/dialog@npm:3.5.21":
+ version: 3.5.21
+ resolution: "@react-aria/dialog@npm:3.5.21"
dependencies:
- "@react-aria/focus": "npm:^3.19.0"
- "@react-aria/overlays": "npm:^3.24.0"
- "@react-aria/utils": "npm:^3.26.0"
- "@react-types/dialog": "npm:^3.5.14"
- "@react-types/shared": "npm:^3.26.0"
+ "@react-aria/focus": "npm:^3.19.1"
+ "@react-aria/overlays": "npm:^3.25.0"
+ "@react-aria/utils": "npm:^3.27.0"
+ "@react-types/dialog": "npm:^3.5.15"
+ "@react-types/shared": "npm:^3.27.0"
"@swc/helpers": "npm:^0.5.0"
peerDependencies:
react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
- checksum: 10/a3e18df7495fc659d46c0ae61ae6addcd55fc6e512f0562c3e31d9e43cb5a95f7f49f6e840894b594839533681701606af804e70ff4c4b22ac4c7f0224f3c817
+ checksum: 10/8531bef34f17c929ebf50caf44e11f69f34475b08893df8ac59eeb18e82e9da8f9eada7379563668aa655c895b86c5f0cd0bb322292a196f2b9638b67228ed52
languageName: node
linkType: hard
-"@react-aria/focus@npm:3.19.0, @react-aria/focus@npm:^3.19.0":
- version: 3.19.0
- resolution: "@react-aria/focus@npm:3.19.0"
+"@react-aria/focus@npm:3.19.1, @react-aria/focus@npm:^3.19.1":
+ version: 3.19.1
+ resolution: "@react-aria/focus@npm:3.19.1"
dependencies:
- "@react-aria/interactions": "npm:^3.22.5"
- "@react-aria/utils": "npm:^3.26.0"
- "@react-types/shared": "npm:^3.26.0"
+ "@react-aria/interactions": "npm:^3.23.0"
+ "@react-aria/utils": "npm:^3.27.0"
+ "@react-types/shared": "npm:^3.27.0"
"@swc/helpers": "npm:^0.5.0"
clsx: "npm:^2.0.0"
peerDependencies:
react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
- checksum: 10/4b507c382ce83b698637464094257af23abdfa1a096486cdf898d0e8db120dcd87035b59dab8855180cc1671e89d410b8812936100a1502ead01f80b52dfa4e9
+ react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
+ checksum: 10/2fe5e880c4d7f3fb612ba8f5ec46e3a6ef761dc8066ad51c043ec0c90b9f5985f49b9ef8e902f75f2bc37e75e54271aa1997afd03a0fd12c5df386190688a761
languageName: node
linkType: hard
-"@react-aria/i18n@npm:^3.12.4":
- version: 3.12.4
- resolution: "@react-aria/i18n@npm:3.12.4"
+"@react-aria/i18n@npm:^3.12.5":
+ version: 3.12.5
+ resolution: "@react-aria/i18n@npm:3.12.5"
dependencies:
- "@internationalized/date": "npm:^3.6.0"
+ "@internationalized/date": "npm:^3.7.0"
"@internationalized/message": "npm:^3.1.6"
"@internationalized/number": "npm:^3.6.0"
"@internationalized/string": "npm:^3.2.5"
"@react-aria/ssr": "npm:^3.9.7"
- "@react-aria/utils": "npm:^3.26.0"
- "@react-types/shared": "npm:^3.26.0"
- "@swc/helpers": "npm:^0.5.0"
- peerDependencies:
- react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
- checksum: 10/3a62d641ed23b96378d82f252cecf17071ca842a2d964e35c9764a7ad1f7f4815472e8f9bf54fe094d15e81f3fb4b982b2b2949298f79ef1a7e2e6b538e1a12a
- languageName: node
- linkType: hard
-
-"@react-aria/interactions@npm:^3.22.5":
- version: 3.22.5
- resolution: "@react-aria/interactions@npm:3.22.5"
- dependencies:
- "@react-aria/ssr": "npm:^3.9.7"
- "@react-aria/utils": "npm:^3.26.0"
- "@react-types/shared": "npm:^3.26.0"
- "@swc/helpers": "npm:^0.5.0"
- peerDependencies:
- react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
- checksum: 10/058fbbfd295471bde94cbe6501d5ebb64d1371c455e43c8c55daf6edd02983f73eb1eb716dd03b96c275aed26fa16a355a35f3daffefc54904576d5d26b4458e
- languageName: node
- linkType: hard
-
-"@react-aria/overlays@npm:3.24.0, @react-aria/overlays@npm:^3.24.0":
- version: 3.24.0
- resolution: "@react-aria/overlays@npm:3.24.0"
- dependencies:
- "@react-aria/focus": "npm:^3.19.0"
- "@react-aria/i18n": "npm:^3.12.4"
- "@react-aria/interactions": "npm:^3.22.5"
- "@react-aria/ssr": "npm:^3.9.7"
- "@react-aria/utils": "npm:^3.26.0"
- "@react-aria/visually-hidden": "npm:^3.8.18"
- "@react-stately/overlays": "npm:^3.6.12"
- "@react-types/button": "npm:^3.10.1"
- "@react-types/overlays": "npm:^3.8.11"
- "@react-types/shared": "npm:^3.26.0"
+ "@react-aria/utils": "npm:^3.27.0"
+ "@react-types/shared": "npm:^3.27.0"
"@swc/helpers": "npm:^0.5.0"
peerDependencies:
react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
- checksum: 10/32bb00a435af82dfb57561737082fb0ac2361954fe217be25c84011bdaf23e683201b0142ba3d1137c90be713894b94c68ae8db4dc269cb09f449673ffa7dcb6
+ checksum: 10/bfbc3a63fd8a6aeda219b60fa447db17e27d05c7a6b24ee030171721cfe3da812880f5fd257552e174b6aea0a209f71807491704bb71ad45db8949718e3aeac0
+ languageName: node
+ linkType: hard
+
+"@react-aria/interactions@npm:^3.23.0":
+ version: 3.23.0
+ resolution: "@react-aria/interactions@npm:3.23.0"
+ dependencies:
+ "@react-aria/ssr": "npm:^3.9.7"
+ "@react-aria/utils": "npm:^3.27.0"
+ "@react-types/shared": "npm:^3.27.0"
+ "@swc/helpers": "npm:^0.5.0"
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
+ react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
+ checksum: 10/915f408708045b38fb25398b2de03610c246f571cb9414c46c00e3e51d3b2abafe778357c1720ff15dc8255fcc023b7eeff7205ddeb60ae3d1b5521f36220e24
+ languageName: node
+ linkType: hard
+
+"@react-aria/overlays@npm:3.25.0, @react-aria/overlays@npm:^3.25.0":
+ version: 3.25.0
+ resolution: "@react-aria/overlays@npm:3.25.0"
+ dependencies:
+ "@react-aria/focus": "npm:^3.19.1"
+ "@react-aria/i18n": "npm:^3.12.5"
+ "@react-aria/interactions": "npm:^3.23.0"
+ "@react-aria/ssr": "npm:^3.9.7"
+ "@react-aria/utils": "npm:^3.27.0"
+ "@react-aria/visually-hidden": "npm:^3.8.19"
+ "@react-stately/overlays": "npm:^3.6.13"
+ "@react-types/button": "npm:^3.10.2"
+ "@react-types/overlays": "npm:^3.8.12"
+ "@react-types/shared": "npm:^3.27.0"
+ "@swc/helpers": "npm:^0.5.0"
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
+ react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
+ checksum: 10/8d868cde9c02c39faa9219ce7eb0441889f8fbde78c73a0db911957ef3355b0d5448c0b47b9a3d491c31e9f3e7939c763f99a5689747be6f97ddb060794b3b7f
languageName: node
linkType: hard
@@ -6296,32 +6299,34 @@ __metadata:
languageName: node
linkType: hard
-"@react-aria/utils@npm:3.26.0, @react-aria/utils@npm:^3.26.0":
- version: 3.26.0
- resolution: "@react-aria/utils@npm:3.26.0"
+"@react-aria/utils@npm:3.27.0, @react-aria/utils@npm:^3.27.0":
+ version: 3.27.0
+ resolution: "@react-aria/utils@npm:3.27.0"
dependencies:
"@react-aria/ssr": "npm:^3.9.7"
"@react-stately/utils": "npm:^3.10.5"
- "@react-types/shared": "npm:^3.26.0"
+ "@react-types/shared": "npm:^3.27.0"
"@swc/helpers": "npm:^0.5.0"
clsx: "npm:^2.0.0"
peerDependencies:
react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
- checksum: 10/484cfbc553b3313d291a78bbfd3fcc435ce36b7fc5408935be027f22f41e73b69306d67aa0bcf5e010f0059d4a6776217110f95012001699fc9d37da54963c7b
+ react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
+ checksum: 10/cacf892a6ae80bef854cd7278320cfc0fdc2582e27bcc57ad9fb5be1174dfc5370132592933921fbe633f4d7a6e0a0293ae607a973b23748d01ea1cae0d49205
languageName: node
linkType: hard
-"@react-aria/visually-hidden@npm:^3.8.18":
- version: 3.8.18
- resolution: "@react-aria/visually-hidden@npm:3.8.18"
+"@react-aria/visually-hidden@npm:^3.8.19":
+ version: 3.8.19
+ resolution: "@react-aria/visually-hidden@npm:3.8.19"
dependencies:
- "@react-aria/interactions": "npm:^3.22.5"
- "@react-aria/utils": "npm:^3.26.0"
- "@react-types/shared": "npm:^3.26.0"
+ "@react-aria/interactions": "npm:^3.23.0"
+ "@react-aria/utils": "npm:^3.27.0"
+ "@react-types/shared": "npm:^3.27.0"
"@swc/helpers": "npm:^0.5.0"
peerDependencies:
react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
- checksum: 10/4f068dbeeaf3751c526bf7d1467d9eeca43a6e665d5e9245b3556e9c5a43f28eb3c14ff56fffeb0eecbf6282eae0cc17824249bfba9199d97d23374ee733e82e
+ react-dom: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
+ checksum: 10/1f4a8a54e87d7a44421e8e033fdffa63a15e5f239d22de76f2bba970189495aed1fd1d42c67635a120ce7a53c715714336f0bebfeaac9f94d2121cd42f776d3e
languageName: node
linkType: hard
@@ -6359,16 +6364,16 @@ __metadata:
languageName: node
linkType: hard
-"@react-stately/overlays@npm:^3.6.12":
- version: 3.6.12
- resolution: "@react-stately/overlays@npm:3.6.12"
+"@react-stately/overlays@npm:^3.6.13":
+ version: 3.6.13
+ resolution: "@react-stately/overlays@npm:3.6.13"
dependencies:
"@react-stately/utils": "npm:^3.10.5"
- "@react-types/overlays": "npm:^3.8.11"
+ "@react-types/overlays": "npm:^3.8.12"
"@swc/helpers": "npm:^0.5.0"
peerDependencies:
react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
- checksum: 10/78c448964fea85d148a6d45c723d26df765ca049445077b85a318b1a10f1b888d543318a251ff80f28e9109da2c722160be4657eae5dae0c2865f24039fecb11
+ checksum: 10/68972dd8617583ee6ecceb6154c97640048c844f8ea4296d64c867e5d95cd6d96c3feee5207efb063d9ee50b08728cc18ae42510eb36c8351a4d7e3452855aec
languageName: node
linkType: hard
@@ -6383,7 +6388,7 @@ __metadata:
languageName: node
linkType: hard
-"@react-types/button@npm:3.10.1, @react-types/button@npm:^3.10.1":
+"@react-types/button@npm:3.10.1":
version: 3.10.1
resolution: "@react-types/button@npm:3.10.1"
dependencies:
@@ -6394,15 +6399,26 @@ __metadata:
languageName: node
linkType: hard
-"@react-types/dialog@npm:^3.5.14":
- version: 3.5.14
- resolution: "@react-types/dialog@npm:3.5.14"
+"@react-types/button@npm:^3.10.2":
+ version: 3.10.2
+ resolution: "@react-types/button@npm:3.10.2"
dependencies:
- "@react-types/overlays": "npm:^3.8.11"
- "@react-types/shared": "npm:^3.26.0"
+ "@react-types/shared": "npm:^3.27.0"
peerDependencies:
react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
- checksum: 10/4339a86c862832860eeb9be102a77cd1119d1ef968bb51603d8d789ee26404a28fde047203c4b579ee0ba2975cf36a8991cfc750449222c0fa150eed84464499
+ checksum: 10/fbc3ac3c11d6ba0f509fa8b26f7de96d77d3ef769fd474d56f1a7f430f727698dd4eb29f0f1dd75de4eb3a3cf9a805a2966e5509c60d1e5ed530f37d1a3ceb58
+ languageName: node
+ linkType: hard
+
+"@react-types/dialog@npm:^3.5.15":
+ version: 3.5.15
+ resolution: "@react-types/dialog@npm:3.5.15"
+ dependencies:
+ "@react-types/overlays": "npm:^3.8.12"
+ "@react-types/shared": "npm:^3.27.0"
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
+ checksum: 10/fce2f15e9fb9be2e9f13405f7129c5225bd9356c4d049d21c5481de150dfff613ae58705d1bfb20155649100ec48a6139549dacb7936ae7e176e9dde28f3eb36
languageName: node
linkType: hard
@@ -6418,7 +6434,7 @@ __metadata:
languageName: node
linkType: hard
-"@react-types/overlays@npm:3.8.11, @react-types/overlays@npm:^3.8.11":
+"@react-types/overlays@npm:3.8.11":
version: 3.8.11
resolution: "@react-types/overlays@npm:3.8.11"
dependencies:
@@ -6429,7 +6445,18 @@ __metadata:
languageName: node
linkType: hard
-"@react-types/shared@npm:3.26.0, @react-types/shared@npm:^3.26.0":
+"@react-types/overlays@npm:^3.8.11, @react-types/overlays@npm:^3.8.12":
+ version: 3.8.12
+ resolution: "@react-types/overlays@npm:3.8.12"
+ dependencies:
+ "@react-types/shared": "npm:^3.27.0"
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
+ checksum: 10/3510add3f70c99a56b3dc160a51f5f71e60e958fd3753f2379eb904ff5442fe30d17841dee79ae77ae3b872a003757995074f45d701453186518dd357d204901
+ languageName: node
+ linkType: hard
+
+"@react-types/shared@npm:3.26.0":
version: 3.26.0
resolution: "@react-types/shared@npm:3.26.0"
peerDependencies:
@@ -6438,6 +6465,15 @@ __metadata:
languageName: node
linkType: hard
+"@react-types/shared@npm:^3.26.0, @react-types/shared@npm:^3.27.0":
+ version: 3.27.0
+ resolution: "@react-types/shared@npm:3.27.0"
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1
+ checksum: 10/359be934dda6404824479d0dfdf9e694414252da4946b4e486f3cc546a080844a7d4f20507041d3f8f6f5a316c05b28785ca3f4377a7f4ea397ed1f21c2646af
+ languageName: node
+ linkType: hard
+
"@reduxjs/toolkit@npm:2.5.0":
version: 2.5.0
resolution: "@reduxjs/toolkit@npm:2.5.0"
@@ -11522,16 +11558,6 @@ __metadata:
languageName: node
linkType: hard
-"babel-runtime@npm:6.x, babel-runtime@npm:^6.26.0":
- version: 6.26.0
- resolution: "babel-runtime@npm:6.26.0"
- dependencies:
- core-js: "npm:^2.4.0"
- regenerator-runtime: "npm:^0.11.0"
- checksum: 10/2cdf0f083b9598a43cdb11cbf1e7060584079a9a2230f06aec997ba81e887ef17fdcb5ad813a484ee099e06d2de0cea832bdd3011c06325acb284284c754ee8f
- languageName: node
- linkType: hard
-
"balanced-match@npm:^1.0.0":
version: 1.0.2
resolution: "balanced-match@npm:1.0.2"
@@ -12819,22 +12845,6 @@ __metadata:
languageName: node
linkType: hard
-"component-classes@npm:^1.2.5":
- version: 1.2.6
- resolution: "component-classes@npm:1.2.6"
- dependencies:
- component-indexof: "npm:0.0.3"
- checksum: 10/aa70f282b85a19d7a190dabb2c72c9b8a2a5565fc42d72ca0661e8ce47e55e53da29f468467771d7e0bf4ba8c9723e5a21954fc38b942d9d873ee56be856adfc
- languageName: node
- linkType: hard
-
-"component-indexof@npm:0.0.3":
- version: 0.0.3
- resolution: "component-indexof@npm:0.0.3"
- checksum: 10/34a720e96fc0be1043a4517845b1b7483989736c559089eca285f7ac9ef049eacc8ab12fc31f924dfa2d4ecea0714611a695d087ce11caf30502b5a80646e9e9
- languageName: node
- linkType: hard
-
"compressible@npm:~2.0.16":
version: 2.0.18
resolution: "compressible@npm:2.0.18"
@@ -13126,7 +13136,7 @@ __metadata:
languageName: node
linkType: hard
-"core-js@npm:^2.4.0, core-js@npm:^2.6.5":
+"core-js@npm:^2.6.5":
version: 2.6.12
resolution: "core-js@npm:2.6.12"
checksum: 10/7c624eb00a59c74c769d5d80f751f3bf1fc6201205b6562f27286ad5e00bbca1483f2f7eb0c2854b86f526ef5c7dc958b45f2ff536f8a31b8e9cb1a13a96efca
@@ -13298,16 +13308,6 @@ __metadata:
languageName: node
linkType: hard
-"css-animation@npm:^1.3.2":
- version: 1.6.1
- resolution: "css-animation@npm:1.6.1"
- dependencies:
- babel-runtime: "npm:6.x"
- component-classes: "npm:^1.2.5"
- checksum: 10/5aea8fd333300c6b15f523ac741dd2ed367489485c7a9a43647f7779fef9e5f338c405e3ad9ed8db338503b4aefea86108112a01bf78651b623f8bd2e146e0e0
- languageName: node
- linkType: hard
-
"css-box-model@npm:^1.2.1":
version: 1.2.1
resolution: "css-box-model@npm:1.2.1"
@@ -17438,10 +17438,10 @@ __metadata:
"@playwright/test": "npm:1.49.1"
"@pmmmwh/react-refresh-webpack-plugin": "npm:0.5.15"
"@popperjs/core": "npm:2.11.8"
- "@react-aria/dialog": "npm:3.5.20"
- "@react-aria/focus": "npm:3.19.0"
- "@react-aria/overlays": "npm:3.24.0"
- "@react-aria/utils": "npm:3.26.0"
+ "@react-aria/dialog": "npm:3.5.21"
+ "@react-aria/focus": "npm:3.19.1"
+ "@react-aria/overlays": "npm:3.25.0"
+ "@react-aria/utils": "npm:3.27.0"
"@react-awesome-query-builder/ui": "npm:6.6.4"
"@react-types/button": "npm:3.10.1"
"@react-types/menu": "npm:3.9.13"
@@ -17642,7 +17642,6 @@ __metadata:
prismjs: "npm:1.29.0"
pseudoizer: "npm:^0.1.0"
rc-slider: "npm:11.1.8"
- rc-time-picker: "npm:3.7.3"
rc-tree: "npm:5.13.0"
re-resizable: "npm:6.10.3"
react: "npm:18.2.0"
@@ -22053,7 +22052,7 @@ __metadata:
languageName: node
linkType: hard
-"moment@npm:2.30.1, moment@npm:2.x, moment@npm:^2.20.1, moment@npm:^2.29.4, moment@npm:^2.30.1":
+"moment@npm:2.30.1, moment@npm:^2.20.1, moment@npm:^2.29.4, moment@npm:^2.30.1":
version: 2.30.1
resolution: "moment@npm:2.30.1"
checksum: 10/ae42d876d4ec831ef66110bdc302c0657c664991e45cf2afffc4b0f6cd6d251dde11375c982a5c0564ccc0fa593fc564576ddceb8c8845e87c15f58aa6baca69
@@ -24710,7 +24709,7 @@ __metadata:
languageName: node
linkType: hard
-"raf@npm:^3.1.0, raf@npm:^3.4.0, raf@npm:^3.4.1":
+"raf@npm:^3.1.0, raf@npm:^3.4.1":
version: 3.4.1
resolution: "raf@npm:3.4.1"
dependencies:
@@ -24792,18 +24791,6 @@ __metadata:
languageName: node
linkType: hard
-"rc-align@npm:^2.4.0":
- version: 2.4.5
- resolution: "rc-align@npm:2.4.5"
- dependencies:
- babel-runtime: "npm:^6.26.0"
- dom-align: "npm:^1.7.0"
- prop-types: "npm:^15.5.8"
- rc-util: "npm:^4.0.4"
- checksum: 10/6a82f7b47dda397b90c7b6d41e5500b9e3e427891d15a54f95708abf31a8aba19d882bd9e5ab42f4979b455aa2236b96cf6403152507bcd1fd7663be08a0ceb5
- languageName: node
- linkType: hard
-
"rc-align@npm:^4.0.0":
version: 4.0.15
resolution: "rc-align@npm:4.0.15"
@@ -24820,21 +24807,6 @@ __metadata:
languageName: node
linkType: hard
-"rc-animate@npm:2.x":
- version: 2.11.1
- resolution: "rc-animate@npm:2.11.1"
- dependencies:
- babel-runtime: "npm:6.x"
- classnames: "npm:^2.2.6"
- css-animation: "npm:^1.3.2"
- prop-types: "npm:15.x"
- raf: "npm:^3.4.0"
- rc-util: "npm:^4.15.3"
- react-lifecycles-compat: "npm:^3.0.4"
- checksum: 10/afb54ad896c9d50af212ae7a56a216b47b38238a4e8e187437fe965c2cf100f1ca82668ed90d38dcd3b0e3ced53f54383e417af09c6dc09f6db0f78cba2aa9e4
- languageName: node
- linkType: hard
-
"rc-cascader@npm:1.0.1":
version: 1.0.1
resolution: "rc-cascader@npm:1.0.1"
@@ -24911,9 +24883,9 @@ __metadata:
languageName: node
linkType: hard
-"rc-overflow@npm:^1.3.1":
- version: 1.3.2
- resolution: "rc-overflow@npm:1.3.2"
+"rc-overflow@npm:^1.3.1, rc-overflow@npm:^1.3.2":
+ version: 1.4.1
+ resolution: "rc-overflow@npm:1.4.1"
dependencies:
"@babel/runtime": "npm:^7.11.1"
classnames: "npm:^2.2.1"
@@ -24922,22 +24894,52 @@ __metadata:
peerDependencies:
react: ">=16.9.0"
react-dom: ">=16.9.0"
- checksum: 10/a35d6f035de9e5b71f5762ddaf9757770fadab7d5f5e6bf0451346cffb06027e9de75a8104ca782c71e381f55552588a350905a61083cd23d2fb6f24e2807007
+ checksum: 10/c5f1daf4ed74ff4d76d593237233a28260d48170deaa87e48b552c0a60ed9cffd23be78bf04472b98da91c2a17f8182589aff7a865c2d66a04731bab6455d216
languageName: node
linkType: hard
-"rc-resize-observer@npm:^1.0.0, rc-resize-observer@npm:^1.3.1":
- version: 1.3.1
- resolution: "rc-resize-observer@npm:1.3.1"
+"rc-picker@npm:4.9.2":
+ version: 4.9.2
+ resolution: "rc-picker@npm:4.9.2"
+ dependencies:
+ "@babel/runtime": "npm:^7.24.7"
+ "@rc-component/trigger": "npm:^2.0.0"
+ classnames: "npm:^2.2.1"
+ rc-overflow: "npm:^1.3.2"
+ rc-resize-observer: "npm:^1.4.0"
+ rc-util: "npm:^5.43.0"
+ peerDependencies:
+ date-fns: ">= 2.x"
+ dayjs: ">= 1.x"
+ luxon: ">= 3.x"
+ moment: ">= 2.x"
+ react: ">=16.9.0"
+ react-dom: ">=16.9.0"
+ peerDependenciesMeta:
+ date-fns:
+ optional: true
+ dayjs:
+ optional: true
+ luxon:
+ optional: true
+ moment:
+ optional: true
+ checksum: 10/5bf0abec3b0fc778a8b0d64023d395f22692b910ead0e63b1f9b941ee510769c814525733bf9084d504567aa449fa50c4dafb18ae95b8e1a291c857e535aeb28
+ languageName: node
+ linkType: hard
+
+"rc-resize-observer@npm:^1.0.0, rc-resize-observer@npm:^1.3.1, rc-resize-observer@npm:^1.4.0":
+ version: 1.4.3
+ resolution: "rc-resize-observer@npm:1.4.3"
dependencies:
"@babel/runtime": "npm:^7.20.7"
classnames: "npm:^2.2.1"
- rc-util: "npm:^5.27.0"
+ rc-util: "npm:^5.44.1"
resize-observer-polyfill: "npm:^1.5.1"
peerDependencies:
react: ">=16.9.0"
react-dom: ">=16.9.0"
- checksum: 10/71add2ac032464b8ef62a044559396728249fc01cffcd5084c4d9e3b69b22f4ad85308f90e2dea6fce8e23d6a72325f8ba9a2c96697e82d31d6c16453fb2642c
+ checksum: 10/aff63c93e811440617d0d2c628a8c1b5e2516e5a26e2d8fc99560fd822d06b9de56cd826fb64b094fc3dc8e926e60e2e38bf594134b17a5024c61cd5a406e4cd
languageName: node
linkType: hard
@@ -24973,20 +24975,6 @@ __metadata:
languageName: node
linkType: hard
-"rc-time-picker@npm:3.7.3, rc-time-picker@npm:^3.7.3":
- version: 3.7.3
- resolution: "rc-time-picker@npm:3.7.3"
- dependencies:
- classnames: "npm:2.x"
- moment: "npm:2.x"
- prop-types: "npm:^15.5.8"
- raf: "npm:^3.4.1"
- rc-trigger: "npm:^2.2.0"
- react-lifecycles-compat: "npm:^3.0.4"
- checksum: 10/236ba0dd1b1cee4dd398d2542c251a7e0da21b31d3390a23c45cc7f2ea266cfddd1f0b7f681fe205f2d92edaa72771cb087505790b5124eb0ca31668feb74da5
- languageName: node
- linkType: hard
-
"rc-tooltip@npm:6.4.0":
version: 6.4.0
resolution: "rc-tooltip@npm:6.4.0"
@@ -25018,21 +25006,6 @@ __metadata:
languageName: node
linkType: hard
-"rc-trigger@npm:^2.2.0":
- version: 2.6.5
- resolution: "rc-trigger@npm:2.6.5"
- dependencies:
- babel-runtime: "npm:6.x"
- classnames: "npm:^2.2.6"
- prop-types: "npm:15.x"
- rc-align: "npm:^2.4.0"
- rc-animate: "npm:2.x"
- rc-util: "npm:^4.4.0"
- react-lifecycles-compat: "npm:^3.0.4"
- checksum: 10/a3ed5f0c453a37ab00fce302e9f40daa64870eb001576a3409a94550802af1e01cbd7b050b3adf7225af03e82e2070d095477957fcd07209ee32602a2f3fba31
- languageName: node
- linkType: hard
-
"rc-trigger@npm:^4.0.0":
version: 4.4.3
resolution: "rc-trigger@npm:4.4.3"
@@ -25047,7 +25020,7 @@ __metadata:
languageName: node
linkType: hard
-"rc-util@npm:^4.0.4, rc-util@npm:^4.15.3, rc-util@npm:^4.4.0":
+"rc-util@npm:^4.0.4":
version: 4.21.1
resolution: "rc-util@npm:4.21.1"
dependencies:
@@ -25060,7 +25033,7 @@ __metadata:
languageName: node
linkType: hard
-"rc-util@npm:^5.0.1, rc-util@npm:^5.0.6, rc-util@npm:^5.15.0, rc-util@npm:^5.16.1, rc-util@npm:^5.21.0, rc-util@npm:^5.24.4, rc-util@npm:^5.26.0, rc-util@npm:^5.27.0, rc-util@npm:^5.36.0, rc-util@npm:^5.37.0, rc-util@npm:^5.38.0, rc-util@npm:^5.38.1, rc-util@npm:^5.43.0, rc-util@npm:^5.44.3":
+"rc-util@npm:^5.0.1, rc-util@npm:^5.0.6, rc-util@npm:^5.15.0, rc-util@npm:^5.16.1, rc-util@npm:^5.21.0, rc-util@npm:^5.24.4, rc-util@npm:^5.26.0, rc-util@npm:^5.36.0, rc-util@npm:^5.37.0, rc-util@npm:^5.38.0, rc-util@npm:^5.38.1, rc-util@npm:^5.43.0, rc-util@npm:^5.44.1, rc-util@npm:^5.44.3":
version: 5.44.3
resolution: "rc-util@npm:5.44.3"
dependencies:
@@ -26248,13 +26221,6 @@ __metadata:
languageName: node
linkType: hard
-"regenerator-runtime@npm:^0.11.0":
- version: 0.11.1
- resolution: "regenerator-runtime@npm:0.11.1"
- checksum: 10/64e62d78594c227e7d5269811bca9e4aa6451332adaae8c79a30cab0fa98733b1ad90bdb9d038095c340c6fad3b414a49a8d9e0b6b424ab7ff8f94f35704f8a2
- languageName: node
- linkType: hard
-
"regenerator-runtime@npm:^0.13.4, regenerator-runtime@npm:^0.13.7":
version: 0.13.11
resolution: "regenerator-runtime@npm:0.13.11"