Grafana Data: Use package.json exports for internal code (#102696)

* refactor(frontend): rename all @grafana/data/src imports to @grafana/data

* feat(grafana-data): introduce internal entrypoint for sharing code only with grafana

* feat(grafana-data): add test entrypoint for data test utils usage in core

* refactor(frontend): update import paths to use grafana/data exports entrypoints

* docs(grafana-data): update comment in internal/index.ts

* refactor(frontend): prefer public namespaced exports over re-exporting via internal

* chore(frontend): fix a couple more weird paths that typescript complains about
This commit is contained in:
Jack Westbrook 2025-03-25 10:48:36 +01:00 committed by GitHub
parent 0536aa2d52
commit 1ca9910736
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
210 changed files with 572 additions and 729 deletions

File diff suppressed because it is too large Load Diff

View File

@ -15,6 +15,26 @@
},
"main": "src/index.ts",
"types": "src/index.ts",
"module": "src/index.ts",
"exports": {
"./package.json": "./package.json",
".": {
"import": "./src/index.ts",
"require": "./src/index.ts"
},
"./internal": {
"import": "./src/internal/index.ts",
"require": "./src/internal/index.ts"
},
"./unstable": {
"import": "./src/unstable.ts",
"require": "./src/unstable.ts"
},
"./test": {
"import": "./test/index.ts",
"require": "./test/index.ts"
}
},
"publishConfig": {
"main": "./dist/cjs/index.cjs",
"module": "./dist/esm/index.mjs",

View File

@ -0,0 +1,100 @@
/**
* This file is used to share internal grafana/data code with Grafana core.
* Note that these exports are also used within Enterprise.
*
* Through the exports declared in package.json we can import this code in core Grafana and the grafana/data
* package will continue to be able to access all code when it's published to npm as it's private to the package.
*
* During the yarn pack lifecycle the exports[./internal] property is deleted from the package.json
* preventing the code from being importable by plugins or other npm packages making it truly "internal".
*
*/
export { actionsOverrideProcessor } from '../field/overrides/processors';
export { nullToUndefThreshold } from '../transformations/transformers/nulls/nullToUndefThreshold';
export { applyNullInsertThreshold } from '../transformations/transformers/nulls/nullInsertThreshold';
export {
NULL_EXPAND,
NULL_REMOVE,
NULL_RETAIN,
isLikelyAscendingVector,
maybeSortFrame,
} from '../transformations/transformers/joinDataFrames';
export { ConcatenateFrameNameMode, type ConcatenateTransformerOptions } from '../transformations/transformers/concat';
export {
type ConvertFieldTypeOptions,
type ConvertFieldTypeTransformerOptions,
convertFieldType,
} from '../transformations/transformers/convertFieldType';
export { type FilterFieldsByNameTransformerOptions } from '../transformations/transformers/filterByName';
export { type FilterFramesByRefIdTransformerOptions } from '../transformations/transformers/filterByRefId';
export { FormatStringOutput, type FormatStringTransformerOptions } from '../transformations/transformers/formatString';
export { organizeFieldsTransformer } from '../transformations/transformers/organize';
export { labelsToFieldsTransformer } from '../transformations/transformers/labelsToFields';
export { type FormatTimeTransformerOptions } from '../transformations/transformers/formatTime';
export {
type GroupByFieldOptions,
GroupByOperationID,
type GroupByTransformerOptions,
} from '../transformations/transformers/groupBy';
export {
type GroupToNestedTableTransformerOptions,
SHOW_NESTED_HEADERS_DEFAULT,
} from '../transformations/transformers/groupToNestedTable';
export {
type BinaryValue,
type BinaryOptions,
CalculateFieldMode,
type CalculateFieldTransformerOptions,
getNameFromOptions,
defaultWindowOptions,
checkBinaryValueType,
type CumulativeOptions,
type ReduceOptions,
type UnaryOptions,
WindowAlignment,
type WindowOptions,
WindowSizeMode,
} from '../transformations/transformers/calculateField';
export { type SeriesToRowsTransformerOptions } from '../transformations/transformers/seriesToRows';
export { histogramFieldInfo, type HistogramTransformerInputs } from '../transformations/transformers/histogram';
export { type JoinByFieldOptions, JoinMode } from '../transformations/transformers/joinByField';
export { LabelsToFieldsMode, type LabelsToFieldsOptions } from '../transformations/transformers/labelsToFields';
export { type LimitTransformerOptions } from '../transformations/transformers/limit';
export { type MergeTransformerOptions } from '../transformations/transformers/merge';
export { ReduceTransformerMode, type ReduceTransformerOptions } from '../transformations/transformers/reduce';
export { createOrderFieldsComparer } from '../transformations/transformers/order';
export { type RenameByRegexTransformerOptions } from '../transformations/transformers/renameByRegex';
export { type OrganizeFieldsTransformerOptions } from '../transformations/transformers/organize';
export { compareValues } from '../transformations/matchers/compareValues';
export {
type SortByField,
type SortByTransformerOptions,
sortByTransformer,
} from '../transformations/transformers/sortBy';
export { type TransposeTransformerOptions } from '../transformations/transformers/transpose';
export {
type FilterByValueTransformerOptions,
FilterByValueMatch,
FilterByValueType,
type FilterByValueFilter,
} from '../transformations/transformers/filterByValue';
export { getMatcherConfig } from '../transformations/transformers/filterByName';
export { mockTransformationsRegistry } from '../utils/tests/mockTransformationsRegistry';
export { noopTransformer } from '../transformations/transformers/noop';
export { DataTransformerID } from '../transformations/transformers/ids';
export { mergeTransformer } from '../transformations/transformers/merge';
export { getThemeById } from '../themes/registry';
export { GrafanaEdition } from '../types/config';
export { SIPrefix } from '../valueFormats/symbolFormatters';
export { type PluginAddedLinksConfigureFunc, type PluginExtensionEventHelpers } from '../types/pluginExtensions';
export { getStreamingFrameOptions } from '../dataframe/StreamingDataFrame';
export { fieldIndexComparer } from '../field/fieldComparers';
export { decoupleHideFromState } from '../field/fieldState';
export { findNumericFieldMinMax } from '../field/fieldOverrides';
export { type PanelOptionsSupplier } from '../panel/PanelPlugin';
export { sanitize, sanitizeUrl } from '../text/sanitize';
export { type NestedValueAccess, type NestedPanelOptions, isNestedPanelOptions } from '../utils/OptionsUIBuilders';

View File

@ -11,8 +11,7 @@ import {
ThresholdsMode,
} from '@grafana/data';
import { getPanelPlugin } from '../../test/__mocks__/pluginMocks';
import { mockStandardFieldConfigOptions } from '../../test/helpers/fieldConfig';
import { getPanelPlugin, mockStandardFieldConfigOptions } from '../../test';
import { getPanelOptionsWithDefaults, restoreCustomOverrideRules } from './getPanelOptionsWithDefaults';

View File

@ -0,0 +1,2 @@
export { getMockPlugin, getMockPlugins, getPanelPlugin } from './helpers/pluginMocks';
export { mockStandardFieldConfigOptions } from './helpers/fieldConfig';

View File

@ -2,7 +2,7 @@
import { capitalize } from 'lodash';
import pluralize from 'pluralize';
import { SelectableValue } from '@grafana/data/src';
import { SelectableValue } from '@grafana/data';
import { LabelParamEditor } from './components/LabelParamEditor';
import {

View File

@ -1,7 +1,5 @@
import { DataFrame, Field, FieldType, outerJoinDataFrames, TimeRange } from '@grafana/data';
import { NULL_EXPAND, NULL_REMOVE, NULL_RETAIN } from '@grafana/data/src/transformations/transformers/joinDataFrames';
import { applyNullInsertThreshold } from '@grafana/data/src/transformations/transformers/nulls/nullInsertThreshold';
import { nullToUndefThreshold } from '@grafana/data/src/transformations/transformers/nulls/nullToUndefThreshold';
import { DataFrame, Field, FieldType, outerJoinDataFrames, TimeRange, applyNullInsertThreshold } from '@grafana/data';
import { NULL_EXPAND, NULL_REMOVE, NULL_RETAIN, nullToUndefThreshold } from '@grafana/data/internal';
import { GraphDrawStyle } from '@grafana/schema';
import { XYFieldMatchers } from './types';

View File

@ -29,7 +29,7 @@ import {
Action,
DataLinksFieldConfigSettings,
} from '@grafana/data';
import { actionsOverrideProcessor } from '@grafana/data/src/field/overrides/processors';
import { actionsOverrideProcessor } from '@grafana/data/internal';
import { FieldConfig } from '@grafana/schema';
import { RadioButtonGroup, TimeZonePicker, Switch } from '@grafana/ui';
import { FieldNamePicker } from '@grafana/ui/internal';

View File

@ -1,7 +1,6 @@
import uPlot, { Series } from 'uplot';
import { GrafanaTheme2, TimeRange } from '@grafana/data';
import { alpha } from '@grafana/data/src/themes/colorManipulator';
import { GrafanaTheme2, TimeRange, colorManipulator } from '@grafana/data';
import { TimelineValueAlignment, VisibilityMode } from '@grafana/schema';
import { FIXED_UNIT } from '@grafana/ui';
import { distribute, SPACE_BETWEEN } from 'app/plugins/panel/barchart/distribute';
@ -533,5 +532,5 @@ function getFillColor(fieldConfig: { fillOpacity?: number; lineWidth?: number },
}
const opacityPercent = (fieldConfig.fillOpacity ?? 100) / 100;
return alpha(color, opacityPercent);
return colorManipulator.alpha(color, opacityPercent);
}

View File

@ -18,10 +18,10 @@ import {
outerJoinDataFrames,
ValueMapping,
ThresholdsConfig,
applyNullInsertThreshold,
nullToValue,
} from '@grafana/data';
import { maybeSortFrame, NULL_RETAIN } from '@grafana/data/src/transformations/transformers/joinDataFrames';
import { applyNullInsertThreshold } from '@grafana/data/src/transformations/transformers/nulls/nullInsertThreshold';
import { nullToValue } from '@grafana/data/src/transformations/transformers/nulls/nullToValue';
import { maybeSortFrame, NULL_RETAIN } from '@grafana/data/internal';
import {
VizLegendOptions,
AxisPlacement,

View File

@ -1,5 +1,5 @@
import { BuildInfo } from '@grafana/data';
import { GrafanaEdition } from '@grafana/data/src/types/config';
import { GrafanaEdition } from '@grafana/data/internal';
import { Faro, Instrumentation } from '@grafana/faro-core';
import * as faroWebSdkModule from '@grafana/faro-web-sdk';
import { BrowserConfig, FetchTransport } from '@grafana/faro-web-sdk';

View File

@ -1,4 +1,4 @@
import { getThemeById } from '@grafana/data/src/themes/registry';
import { getThemeById } from '@grafana/data/internal';
import { ThemeChangedEvent } from '@grafana/runtime';
import appEvents from '../app_events';

View File

@ -1,5 +1,12 @@
import { DataSourceApi, dateTime, ExploreUrlState, GrafanaConfig, locationUtil, LogsSortOrder } from '@grafana/data';
import { serializeStateToUrlParam } from '@grafana/data/src/utils/url';
import {
DataSourceApi,
dateTime,
ExploreUrlState,
GrafanaConfig,
locationUtil,
LogsSortOrder,
serializeStateToUrlParam,
} from '@grafana/data';
import { config } from '@grafana/runtime';
import { DataQuery } from '@grafana/schema';
import { RefreshPicker } from '@grafana/ui';

View File

@ -1,7 +1,13 @@
import { omit } from 'lodash';
import { DataQuery, DataSourceApi, dateTimeFormat, ExploreUrlState, urlUtil } from '@grafana/data';
import { serializeStateToUrlParam } from '@grafana/data/src/utils/url';
import {
DataQuery,
DataSourceApi,
dateTimeFormat,
ExploreUrlState,
urlUtil,
serializeStateToUrlParam,
} from '@grafana/data';
import { getDataSourceSrv } from '@grafana/runtime';
import { notifyApp } from 'app/core/actions';
import { createErrorNotification, createWarningNotification } from 'app/core/copy/appNotification';

View File

@ -1,6 +1,6 @@
import { css, cx } from '@emotion/css';
import { GrafanaTheme2 } from '@grafana/data/src';
import { GrafanaTheme2 } from '@grafana/data';
import { selectors as e2eSelectors } from '@grafana/e2e-selectors/src';
import { config } from '@grafana/runtime';
import { Button, LoadingPlaceholder, Modal, ModalsController, useStyles2 } from '@grafana/ui';

View File

@ -1,6 +1,6 @@
import { css } from '@emotion/css';
import { GrafanaTheme2 } from '@grafana/data/src';
import { GrafanaTheme2 } from '@grafana/data';
import { config } from '@grafana/runtime';
import { Button, Modal, ModalsController, useStyles2 } from '@grafana/ui';
import { Trans, t } from 'app/core/internationalization';

View File

@ -2,8 +2,7 @@ import { css, cx } from '@emotion/css';
import { keyBy, startCase, uniqueId } from 'lodash';
import * as React from 'react';
import { DataSourceInstanceSettings, GrafanaTheme2, PanelData, urlUtil } from '@grafana/data';
import { secondsToHms } from '@grafana/data/src/datetime/rangeutil';
import { DataSourceInstanceSettings, GrafanaTheme2, PanelData, rangeUtil, urlUtil } from '@grafana/data';
import { config } from '@grafana/runtime';
import { DataSourceRef } from '@grafana/schema';
import { Preview } from '@grafana/sql/src/components/visual-query-builder/Preview';
@ -123,7 +122,7 @@ export function QueryPreview({
if (relativeTimeRange) {
headerItems.push(
<Text color="secondary" key="timerange">
{secondsToHms(relativeTimeRange.from)} to now
{rangeUtil.secondsToHms(relativeTimeRange.from)} to now
</Text>
);
}

View File

@ -1,6 +1,6 @@
import { css } from '@emotion/css';
import { GrafanaTheme2 } from '@grafana/data/src';
import { GrafanaTheme2 } from '@grafana/data';
import { Alert, useStyles2 } from '@grafana/ui';
import { AlertmanagerChoice } from '../../../../plugins/datasource/alertmanager/types';

View File

@ -1,6 +1,6 @@
import { css } from '@emotion/css';
import { DataFrame, GrafanaTheme2 } from '@grafana/data/src';
import { DataFrame, GrafanaTheme2 } from '@grafana/data';
import { Icon, TagList, Tooltip, useStyles2 } from '@grafana/ui';
import { labelsToTags } from '../../utils/labels';

View File

@ -5,7 +5,7 @@ import { useDebounce } from 'react-use';
import AutoSizer from 'react-virtualized-auto-sizer';
import { FixedSizeList } from 'react-window';
import { GrafanaTheme2 } from '@grafana/data/src';
import { GrafanaTheme2 } from '@grafana/data';
import {
Alert,
Button,

View File

@ -1,8 +1,7 @@
import { css } from '@emotion/css';
import { useState } from 'react';
import { GrafanaTheme2, RelativeTimeRange, dateTime, getDefaultRelativeTimeRange } from '@grafana/data';
import { relativeToTimeRange } from '@grafana/data/src/datetime/rangeutil';
import { GrafanaTheme2, RelativeTimeRange, dateTime, getDefaultRelativeTimeRange, rangeUtil } from '@grafana/data';
import { Icon, InlineField, RelativeTimeRangePicker, Toggletip, clearButtonStyles, useStyles2 } from '@grafana/ui';
import { AlertQuery } from 'app/types/unified-alerting-dto';
@ -27,7 +26,7 @@ export const QueryOptions = ({
const [showOptions, setShowOptions] = useState(false);
const timeRange = query.relativeTimeRange ? relativeToTimeRange(query.relativeTimeRange) : undefined;
const timeRange = query.relativeTimeRange ? rangeUtil.relativeToTimeRange(query.relativeTimeRange) : undefined;
return (
<>

View File

@ -1,7 +1,7 @@
import { css } from '@emotion/css';
import { isEmpty } from 'lodash';
import { GrafanaTheme2 } from '@grafana/data/src';
import { GrafanaTheme2 } from '@grafana/data';
import { Stack, useStyles2 } from '@grafana/ui';
import { useRulesSourcesWithRuler } from '../../../hooks/useRuleSourcesWithRuler';

View File

@ -1,7 +1,7 @@
import { css } from '@emotion/css';
import { capitalize } from 'lodash';
import { GrafanaTheme2 } from '@grafana/data/src';
import { GrafanaTheme2 } from '@grafana/data';
import { Label, RadioButtonGroup, Tag, useStyles2 } from '@grafana/ui';
import { GrafanaAlertState, PromAlertingRuleState } from 'app/types/unified-alerting-dto';

View File

@ -1,7 +1,7 @@
import { css } from '@emotion/css';
import { useMemo } from 'react';
import { GrafanaTheme2 } from '@grafana/data/src';
import { GrafanaTheme2 } from '@grafana/data';
import { config } from '@grafana/runtime/src';
import { Icon, Tooltip, useStyles2 } from '@grafana/ui';

View File

@ -11,7 +11,7 @@ import {
ThresholdsMode,
getDisplayProcessor,
} from '@grafana/data';
import { fieldIndexComparer } from '@grafana/data/src/field/fieldComparers';
import { fieldIndexComparer } from '@grafana/data/internal';
import { mapStateWithReasonToBaseState } from 'app/types/unified-alerting-dto';
import { labelsMatchMatchers } from '../../../utils/alertmanager';

View File

@ -9,7 +9,7 @@ import {
GrafanaTheme2,
getDisplayProcessor,
} from '@grafana/data';
import { fieldIndexComparer } from '@grafana/data/src/field/fieldComparers';
import { fieldIndexComparer } from '@grafana/data/internal';
import { MappingType, ThresholdsMode } from '@grafana/schema';
import { useTheme2 } from '@grafana/ui';

View File

@ -1,6 +1,6 @@
import { css } from '@emotion/css';
import { GrafanaTheme2 } from '@grafana/data/';
import { GrafanaTheme2 } from '@grafana/data';
import { Stack, Text, useStyles2 } from '@grafana/ui';
import { useAlertingHomePageExtensions } from '../plugins/useAlertingHomePageExtensions';

View File

@ -1,6 +1,6 @@
import { css } from '@emotion/css';
import { GrafanaTheme2 } from '@grafana/data/src';
import { GrafanaTheme2 } from '@grafana/data';
export const getPaginationStyles = (theme: GrafanaTheme2) => {
return css({

View File

@ -1,7 +1,7 @@
import { sortBy } from 'lodash';
import { Labels, UrlQueryMap } from '@grafana/data';
import { GrafanaEdition } from '@grafana/data/src/types/config';
import { GrafanaEdition } from '@grafana/data/internal';
import { config, isFetchError } from '@grafana/runtime';
import { DataSourceRef } from '@grafana/schema';
import { contextSrv } from 'app/core/services/context_srv';

View File

@ -5,7 +5,7 @@
import { produce } from 'immer';
import { omit } from 'lodash';
import { insertAfterImmutably, insertBeforeImmutably } from '@grafana/data/src/utils/arrayUtils';
import { arrayUtils } from '@grafana/data';
import { ROUTES_META_SYMBOL, Route, RouteWithID } from 'app/plugins/datasource/alertmanager/types';
import {
@ -109,12 +109,12 @@ export const addRouteToReferenceRoute = (
// insert new policy before / above the referenceRoute
if (position === 'above') {
parentRoute.routes = insertBeforeImmutably(parentRoute.routes ?? [], newRoute, positionInParent);
parentRoute.routes = arrayUtils.insertBeforeImmutably(parentRoute.routes ?? [], newRoute, positionInParent);
}
// insert new policy after / below the referenceRoute
if (position === 'below') {
parentRoute.routes = insertAfterImmutably(parentRoute.routes ?? [], newRoute, positionInParent);
parentRoute.routes = arrayUtils.insertAfterImmutably(parentRoute.routes ?? [], newRoute, positionInParent);
}
});
};

View File

@ -1,4 +1,4 @@
import { describeInterval } from '@grafana/data/src/datetime/rangeutil';
import { rangeUtil } from '@grafana/data';
import { TimeOptions } from '../types/time';
@ -18,7 +18,7 @@ export function parseInterval(value: string): [number, string] {
}
export function intervalToSeconds(interval: string): number {
const { sec, count } = describeInterval(interval);
const { sec, count } = rangeUtil.describeInterval(interval);
return sec * count;
}

View File

@ -1,6 +1,6 @@
import { render } from '@testing-library/react';
import { AnnotationQuery, DataSourceApi, DataSourceInstanceSettings } from '@grafana/data/src';
import { AnnotationQuery, DataSourceApi, DataSourceInstanceSettings } from '@grafana/data';
import StandardAnnotationQueryEditor, { Props as EditorProps } from './StandardAnnotationQueryEditor';

View File

@ -1,7 +1,7 @@
import { JSX, useEffect, useState } from 'react';
import { connect, ConnectedProps } from 'react-redux';
import { GrafanaEdition } from '@grafana/data/src/types/config';
import { GrafanaEdition } from '@grafana/data/internal';
import { reportInteraction } from '@grafana/runtime';
import { Grid, TextLink, ToolbarButton } from '@grafana/ui';
import { Page } from 'app/core/components/Page/Page';

View File

@ -1,7 +1,7 @@
import { ComponentType } from 'react';
import { DataLink, RegistryItem, Action } from '@grafana/data';
import { PanelOptionsSupplier } from '@grafana/data/src/panel/PanelPlugin';
import { PanelOptionsSupplier } from '@grafana/data/internal';
import { ColorDimensionConfig, ScaleDimensionConfig } from '@grafana/schema';
import { config } from 'app/core/config';
import { BackgroundConfig, Constraint, LineConfig, Placement } from 'app/plugins/panel/canvas/panelcfg.gen';

View File

@ -1,8 +1,7 @@
import { css } from '@emotion/css';
import { useState } from 'react';
import { GrafanaTheme2 } from '@grafana/data';
import { PluginState } from '@grafana/data/src';
import { GrafanaTheme2, PluginState } from '@grafana/data';
import { TextDimensionMode } from '@grafana/schema';
import { Button, Spinner, useStyles2 } from '@grafana/ui';
import { DimensionContext } from 'app/features/dimensions/context';

View File

@ -1,4 +1,4 @@
import { LinkModel } from '@grafana/data/src';
import { LinkModel } from '@grafana/data';
import { ColorDimensionConfig, ResourceDimensionConfig, TextDimensionConfig } from '@grafana/schema';
import { BackgroundImageSize } from 'app/plugins/panel/canvas/panelcfg.gen';

View File

@ -2,7 +2,7 @@ import userEvent from '@testing-library/user-event';
import { render, screen } from 'test/test-utils';
import { FieldType, getDefaultTimeRange, LoadingState, toDataFrame } from '@grafana/data';
import { getPanelPlugin } from '@grafana/data/test/__mocks__/pluginMocks';
import { getPanelPlugin } from '@grafana/data/test';
import { config } from '@grafana/runtime';
import { SceneQueryRunner, SceneTimeRange, VizPanel, VizPanelMenu } from '@grafana/scenes';
import { contextSrv } from 'app/core/services/context_srv';

View File

@ -10,7 +10,7 @@ import {
standardTransformersRegistry,
toDataFrame,
} from '@grafana/data';
import { getPanelPlugin } from '@grafana/data/test/__mocks__/pluginMocks';
import { getPanelPlugin } from '@grafana/data/test';
import { setPluginImportUtils, setRunRequest } from '@grafana/runtime';
import { SceneCanvasText, SceneDataTransformer, SceneQueryRunner, VizPanel } from '@grafana/scenes';
import * as libpanels from 'app/features/library-panels/state/api';

View File

@ -6,7 +6,7 @@ import { TestProvider } from 'test/helpers/TestProvider';
import { getGrafanaContextMock } from 'test/mocks/getGrafanaContextMock';
import { PanelProps } from '@grafana/data';
import { getPanelPlugin } from '@grafana/data/test/__mocks__/pluginMocks';
import { getPanelPlugin } from '@grafana/data/test';
import { selectors } from '@grafana/e2e-selectors';
import {
LocationServiceProvider,

View File

@ -4,7 +4,7 @@ import { of } from 'rxjs';
import { render } from 'test/test-utils';
import { getDefaultTimeRange, LoadingState, PanelData, PanelProps } from '@grafana/data';
import { getPanelPlugin } from '@grafana/data/test/__mocks__/pluginMocks';
import { getPanelPlugin } from '@grafana/data/test';
import { selectors as e2eSelectors } from '@grafana/e2e-selectors';
import { config, getPluginLinkExtensions, setPluginImportUtils, setRunRequest } from '@grafana/runtime';
import { Dashboard } from '@grafana/schema';

View File

@ -16,7 +16,7 @@ import {
TimeRange,
toDataFrame,
} from '@grafana/data';
import { getPanelPlugin } from '@grafana/data/test/__mocks__/pluginMocks';
import { getPanelPlugin } from '@grafana/data/test';
import { selectors } from '@grafana/e2e-selectors';
import { config, locationService, setPluginExtensionsHook } from '@grafana/runtime';
import { PANEL_EDIT_LAST_USED_DATASOURCE } from 'app/features/dashboard/utils/dashboard';

View File

@ -1,7 +1,7 @@
import { of } from 'rxjs';
import { DataQueryRequest, DataSourceApi, LoadingState, PanelPlugin } from '@grafana/data';
import { getPanelPlugin } from '@grafana/data/test/__mocks__/pluginMocks';
import { getPanelPlugin } from '@grafana/data/test';
import {
CancelActivationHandler,
CustomVariable,

View File

@ -3,7 +3,7 @@ import userEvent from '@testing-library/user-event';
import { render } from 'test/test-utils';
import { standardEditorsRegistry, standardFieldConfigEditorRegistry } from '@grafana/data';
import { getPanelPlugin } from '@grafana/data/test/__mocks__/pluginMocks';
import { getPanelPlugin } from '@grafana/data/test';
import { selectors } from '@grafana/e2e-selectors';
import { VizPanel } from '@grafana/scenes';
import { getAllOptionEditors, getAllStandardFieldConfigs } from 'app/core/components/OptionsUI/registry';

View File

@ -10,7 +10,7 @@ import {
LoadingState,
PanelData,
} from '@grafana/data';
import { getPanelPlugin } from '@grafana/data/test/__mocks__/pluginMocks';
import { getPanelPlugin } from '@grafana/data/test';
import { setPluginImportUtils } from '@grafana/runtime';
import { SceneDataTransformer, SceneFlexLayout, SceneQueryRunner, VizPanel } from '@grafana/scenes';
import { SHARED_DASHBOARD_QUERY, DASHBOARD_DATASOURCE_PLUGIN_ID } from 'app/plugins/datasource/dashboard/constants';

View File

@ -1,4 +1,4 @@
import { sanitizeUrl } from '@grafana/data/src/text/sanitize';
import { sanitizeUrl } from '@grafana/data/internal';
import { selectors } from '@grafana/e2e-selectors';
import { sceneGraph } from '@grafana/scenes';
import { DashboardLink } from '@grafana/schema';

View File

@ -1,7 +1,7 @@
import { screen } from '@testing-library/react';
import { render } from 'test/test-utils';
import { getPanelPlugin } from '@grafana/data/test/__mocks__/pluginMocks';
import { getPanelPlugin } from '@grafana/data/test';
import { config, setPluginImportUtils } from '@grafana/runtime';
import { transformSaveModelToScene } from '../serialization/transformSaveModelToScene';

View File

@ -1,7 +1,7 @@
import { of } from 'rxjs';
import { FieldType, LoadingState, PanelData, getDefaultTimeRange, toDataFrame } from '@grafana/data';
import { getPanelPlugin } from '@grafana/data/test/__mocks__/pluginMocks';
import { getPanelPlugin } from '@grafana/data/test';
import { setPluginImportUtils, setRunRequest } from '@grafana/runtime';
import { SceneCanvasText, sceneGraph, SceneGridLayout, VizPanel } from '@grafana/scenes';
import { LibraryPanel } from '@grafana/schema';

View File

@ -8,7 +8,7 @@ import {
toDataFrame,
urlUtil,
} from '@grafana/data';
import { getPanelPlugin } from '@grafana/data/test/__mocks__/pluginMocks';
import { getPanelPlugin } from '@grafana/data/test';
import { config, getPluginLinkExtensions, locationService } from '@grafana/runtime';
import {
LocalValueVariable,

View File

@ -1,4 +1,4 @@
import { getPanelPlugin } from '@grafana/data/test/__mocks__/pluginMocks';
import { getPanelPlugin } from '@grafana/data/test';
import { setPluginImportUtils } from '@grafana/runtime';
import { SceneGridLayout, SceneVariableSet, TestVariable, VizPanel } from '@grafana/scenes';
import { ALL_VARIABLE_TEXT, ALL_VARIABLE_VALUE } from 'app/features/variables/constants';

View File

@ -1,5 +1,5 @@
import { VariableRefresh } from '@grafana/data';
import { getPanelPlugin } from '@grafana/data/test/__mocks__/pluginMocks';
import { getPanelPlugin } from '@grafana/data/test';
import { setPluginImportUtils } from '@grafana/runtime';
import {
SceneCanvasText,

View File

@ -1,5 +1,5 @@
import { VariableRefresh } from '@grafana/data';
import { getPanelPlugin } from '@grafana/data/test/__mocks__/pluginMocks';
import { getPanelPlugin } from '@grafana/data/test';
import { setPluginImportUtils } from '@grafana/runtime';
import {
SceneGridRow,

View File

@ -1,5 +1,5 @@
import { PanelTypeChangedHandler } from '@grafana/data';
import { getPanelPlugin } from '@grafana/data/test/__mocks__/pluginMocks';
import { getPanelPlugin } from '@grafana/data/test';
import { PanelModel } from 'app/features/dashboard/state/PanelModel';
import { getAngularPanelMigrationHandler } from './angularMigration';

View File

@ -1,5 +1,5 @@
import { LoadingState } from '@grafana/data';
import { getPanelPlugin } from '@grafana/data/test/__mocks__/pluginMocks';
import { getPanelPlugin } from '@grafana/data/test';
import { config } from '@grafana/runtime';
import {
AdHocFiltersVariable,

View File

@ -13,7 +13,7 @@ import {
toDataFrame,
VariableSupportType,
} from '@grafana/data';
import { getPanelPlugin } from '@grafana/data/test/__mocks__/pluginMocks';
import { getPanelPlugin } from '@grafana/data/test';
import { getPluginLinkExtensions, setPluginImportUtils } from '@grafana/runtime';
import { MultiValueVariable, sceneGraph, SceneGridRow, VizPanel } from '@grafana/scenes';
import { Dashboard, LoadingState, Panel, RowPanel, VariableRefresh } from '@grafana/schema';

View File

@ -8,7 +8,7 @@ import {
getDefaultTimeRange,
toDataFrame,
} from '@grafana/data';
import { getPanelPlugin } from '@grafana/data/test/__mocks__/pluginMocks';
import { getPanelPlugin } from '@grafana/data/test';
import { setPluginImportUtils, setRunRequest } from '@grafana/runtime';
import {
SceneVariableSet,

View File

@ -2,7 +2,7 @@ import { screen, waitForElementToBeRemoved } from '@testing-library/react';
import { render } from 'test/test-utils';
import { getDefaultTimeRange, LoadingState } from '@grafana/data';
import { getPanelPlugin } from '@grafana/data/test/__mocks__/pluginMocks';
import { getPanelPlugin } from '@grafana/data/test';
import { selectors as e2eSelectors } from '@grafana/e2e-selectors';
import { config, setPluginImportUtils } from '@grafana/runtime';
import {

View File

@ -1,7 +1,7 @@
import { act, screen } from '@testing-library/react';
import userEvent from '@testing-library/user-event';
import { getPanelPlugin } from '@grafana/data/test/__mocks__/pluginMocks';
import { getPanelPlugin } from '@grafana/data/test';
import { selectors } from '@grafana/e2e-selectors';
import { locationService, setPluginImportUtils } from '@grafana/runtime';
import { SceneTimeRange, UrlSyncContextProvider } from '@grafana/scenes';

View File

@ -3,7 +3,7 @@ import userEvent from '@testing-library/user-event';
import { advanceTo, clear } from 'jest-date-mock';
import { dateTime } from '@grafana/data';
import { getPanelPlugin } from '@grafana/data/test/__mocks__/pluginMocks';
import { getPanelPlugin } from '@grafana/data/test';
import { selectors } from '@grafana/e2e-selectors';
import { config, locationService, setPluginImportUtils } from '@grafana/runtime';
import { SceneTimeRange, VizPanel } from '@grafana/scenes';

View File

@ -1,6 +1,6 @@
import { render, screen } from '@testing-library/react';
import { getPanelPlugin } from '@grafana/data/test/__mocks__/pluginMocks';
import { getPanelPlugin } from '@grafana/data/test';
import { selectors as e2eSelectors } from '@grafana/e2e-selectors';
import { config, setPluginImportUtils } from '@grafana/runtime';
import { SceneTimeRange, VizPanel } from '@grafana/scenes';

View File

@ -1,4 +1,4 @@
import { getPanelPlugin } from '@grafana/data/test/__mocks__/pluginMocks';
import { getPanelPlugin } from '@grafana/data/test';
import { ContextSrv, setContextSrv } from '../../../../core/services/context_srv';
import { PanelModel } from '../../state/PanelModel';

View File

@ -1,7 +1,7 @@
import { render, screen } from '@testing-library/react';
import { FieldType, getDefaultTimeRange, LoadingState, toDataFrame } from '@grafana/data';
import { getPanelPlugin } from '@grafana/data/test/__mocks__/pluginMocks';
import { getPanelPlugin } from '@grafana/data/test';
import { PanelModel } from '../../state/PanelModel';

View File

@ -13,7 +13,7 @@ import {
TimeRange,
toDataFrame,
} from '@grafana/data';
import { getPanelPlugin } from '@grafana/data/test/__mocks__/pluginMocks';
import { getPanelPlugin } from '@grafana/data/test';
import { selectors } from '@grafana/e2e-selectors';
import { getAllOptionEditors, getAllStandardFieldConfigs } from 'app/core/components/OptionsUI/registry';

View File

@ -1,8 +1,7 @@
import { css, cx } from '@emotion/css';
import { Component } from 'react';
import { renderMarkdown, LinkModelSupplier, ScopedVars, IconName } from '@grafana/data';
import { GrafanaTheme2 } from '@grafana/data/';
import { GrafanaTheme2, renderMarkdown, LinkModelSupplier, ScopedVars, IconName } from '@grafana/data';
import { selectors } from '@grafana/e2e-selectors';
import { locationService, getTemplateSrv } from '@grafana/runtime';
import { Tooltip, PopoverContent, Icon, Themeable2, withTheme2, useStyles2 } from '@grafana/ui';

View File

@ -7,13 +7,9 @@ import {
PanelPlugin,
StandardEditorContext,
VariableSuggestionsScope,
} from '@grafana/data';
import { PanelOptionsSupplier } from '@grafana/data/src/panel/PanelPlugin';
import {
NestedValueAccess,
PanelOptionsEditorBuilder,
isNestedPanelOptions,
} from '@grafana/data/src/utils/OptionsUIBuilders';
} from '@grafana/data';
import { NestedValueAccess, isNestedPanelOptions, PanelOptionsSupplier } from '@grafana/data/internal';
import { VizPanel } from '@grafana/scenes';
import { Input } from '@grafana/ui';
import { LibraryVizPanelInfo } from 'app/features/dashboard-scene/panel-edit/LibraryVizPanelInfo';

View File

@ -1,5 +1,5 @@
import { PanelPlugin } from '@grafana/data';
import { getPanelPlugin } from '@grafana/data/test/__mocks__/pluginMocks';
import { getPanelPlugin } from '@grafana/data/test';
import { LibraryElementDTOMeta } from '@grafana/schema';
import { createDashboardModelFixture } from 'app/features/dashboard/state/__fixtures__/dashboardFixtures';
import { panelModelAndPluginReady, removePanel } from 'app/features/panel/state/reducers';

View File

@ -1,6 +1,6 @@
import { css, cx } from '@emotion/css';
import { GrafanaTheme2 } from '@grafana/data/src';
import { GrafanaTheme2 } from '@grafana/data';
import { selectors as e2eSelectors } from '@grafana/e2e-selectors/src';
import { useStyles2 } from '@grafana/ui';

View File

@ -1,7 +1,7 @@
import { css } from '@emotion/css';
import { useForm } from 'react-hook-form';
import { GrafanaTheme2, TimeRange } from '@grafana/data/src';
import { GrafanaTheme2, TimeRange } from '@grafana/data';
import { selectors as e2eSelectors } from '@grafana/e2e-selectors/src';
import {
Button,

View File

@ -1,6 +1,6 @@
import { UseFormRegister } from 'react-hook-form';
import { TimeRange } from '@grafana/data/src';
import { TimeRange } from '@grafana/data';
import { selectors as e2eSelectors } from '@grafana/e2e-selectors/src';
import { FieldSet, Label, Switch, TimeRangeInput, Stack, VerticalGroup } from '@grafana/ui';
import { Trans, t } from 'app/core/internationalization';

View File

@ -1,7 +1,7 @@
import { css } from '@emotion/css';
import { UseFormRegister } from 'react-hook-form';
import { GrafanaTheme2 } from '@grafana/data/src';
import { GrafanaTheme2 } from '@grafana/data';
import { selectors as e2eSelectors } from '@grafana/e2e-selectors/src';
import { Checkbox, FieldSet, HorizontalGroup, LinkButton, useStyles2, VerticalGroup } from '@grafana/ui';
import { t, Trans } from 'app/core/internationalization';

View File

@ -1,7 +1,7 @@
import { css } from '@emotion/css';
import cx from 'classnames';
import { GrafanaTheme2 } from '@grafana/data/src';
import { GrafanaTheme2 } from '@grafana/data';
import { selectors as e2eSelectors } from '@grafana/e2e-selectors/src';
import { config } from '@grafana/runtime';
import { Alert, useStyles2 } from '@grafana/ui';

View File

@ -3,7 +3,7 @@ import userEvent from '@testing-library/user-event';
import { http, HttpResponse } from 'msw';
import { setupServer } from 'msw/node';
import { BootData, DataQuery } from '@grafana/data/src';
import { BootData, DataQuery } from '@grafana/data';
import { selectors as e2eSelectors } from '@grafana/e2e-selectors/src';
import { reportInteraction, setEchoSrv } from '@grafana/runtime';
import { Panel } from '@grafana/schema';

View File

@ -1,6 +1,6 @@
import { css } from '@emotion/css';
import { GrafanaTheme2 } from '@grafana/data/src';
import { GrafanaTheme2 } from '@grafana/data';
import { Spinner, useStyles2 } from '@grafana/ui';
import { useGetPublicDashboardQuery } from 'app/features/dashboard/api/publicDashboardApi';
import { publicDashboardPersisted } from 'app/features/dashboard/components/ShareModal/SharePublicDashboard/SharePublicDashboardUtils';

View File

@ -1,5 +1,4 @@
import { TypedVariableModel } from '@grafana/data';
import { DataSourceRef, DataQuery } from '@grafana/data/src/types/query';
import { DataSourceRef, DataQuery, TypedVariableModel } from '@grafana/data';
import { DataSourceWithBackend } from '@grafana/runtime';
import { updateConfig } from 'app/core/config';
import { mockDataSource } from 'app/features/alerting/unified/mocks';

View File

@ -1,6 +1,6 @@
import { useEffectOnce } from 'react-use';
import { sanitizeUrl } from '@grafana/data/src/text/sanitize';
import { sanitizeUrl } from '@grafana/data/internal';
import { selectors } from '@grafana/e2e-selectors';
import { TimeRangeUpdatedEvent } from '@grafana/runtime';
import { DashboardLink } from '@grafana/schema';

View File

@ -3,7 +3,7 @@ import { forwardRef } from 'react';
import { useAsync } from 'react-use';
import { GrafanaTheme2, ScopedVars } from '@grafana/data';
import { sanitize, sanitizeUrl } from '@grafana/data/src/text/sanitize';
import { sanitize, sanitizeUrl } from '@grafana/data/internal';
import { selectors } from '@grafana/e2e-selectors';
import { DashboardLink } from '@grafana/schema';
import { Dropdown, Icon, LinkButton, Button, Menu, ScrollContainer, useStyles2 } from '@grafana/ui';

View File

@ -1,7 +1,7 @@
import { each, map } from 'lodash';
import { DataLinkBuiltInVars, MappingType, VariableHide } from '@grafana/data';
import { getPanelPlugin } from '@grafana/data/test/__mocks__/pluginMocks';
import { getPanelPlugin } from '@grafana/data/test';
import { FieldConfigSource } from '@grafana/schema';
import { config } from 'app/core/config';
import { GRID_CELL_HEIGHT, GRID_CELL_VMARGIN } from 'app/core/constants';

View File

@ -27,8 +27,7 @@ import {
ValueMapping,
VariableHide,
} from '@grafana/data';
import { labelsToFieldsTransformer } from '@grafana/data/src/transformations/transformers/labelsToFields';
import { mergeTransformer } from '@grafana/data/src/transformations/transformers/merge';
import { labelsToFieldsTransformer, mergeTransformer } from '@grafana/data/internal';
import { getDataSourceSrv, setDataSourceSrv } from '@grafana/runtime';
import { DataTransformerConfig } from '@grafana/schema';
import { AxisPlacement, GraphFieldConfig } from '@grafana/ui';

View File

@ -11,8 +11,7 @@ import {
PanelMigrationHandler,
PanelTypeChangedHandler,
} from '@grafana/data';
import { getPanelPlugin } from '@grafana/data/test/__mocks__/pluginMocks';
import { mockStandardFieldConfigOptions } from '@grafana/data/test/helpers/fieldConfig';
import { getPanelPlugin, mockStandardFieldConfigOptions } from '@grafana/data/test';
import { setTemplateSrv } from '@grafana/runtime';
import { queryBuilder } from 'app/features/variables/shared/testing/builders';

View File

@ -2,7 +2,7 @@ import { advanceTo, clear } from 'jest-date-mock';
import { ComponentClass } from 'react';
import { dateTime, DateTime, PanelProps, TimeRange } from '@grafana/data';
import { getPanelPlugin } from '@grafana/data/test/__mocks__/pluginMocks';
import { getPanelPlugin } from '@grafana/data/test';
import { applyPanelTimeOverrides, calculateInnerPanelHeight } from 'app/features/dashboard/utils/panel';
import { PanelModel } from '../state/PanelModel';

View File

@ -1,5 +1,4 @@
import { DateTime, TimeRange } from '@grafana/data';
import { dateMath, dateTime, isDateTime } from '@grafana/data/src';
import { dateMath, dateTime, isDateTime, DateTime, TimeRange } from '@grafana/data';
import { TimeModel } from 'app/features/dashboard/state/TimeModel';
export const getTimeRange = (

View File

@ -1,5 +1,5 @@
import { DataSourceSettings } from '@grafana/data';
import { GrafanaEdition } from '@grafana/data/src/types/config';
import { GrafanaEdition } from '@grafana/data/internal';
import { Alert } from '@grafana/ui';
import { LocalStorageValueProvider } from 'app/core/components/LocalStorageValueProvider';
import { config } from 'app/core/config';

View File

@ -1,5 +1,5 @@
import { DataSourcePluginMeta } from '@grafana/data';
import { getMockPlugin } from '@grafana/data/test/__mocks__/pluginMocks';
import { getMockPlugin } from '@grafana/data/test';
import { buildCategories } from './buildCategories';

View File

@ -1,4 +1,4 @@
import { PanelData } from '@grafana/data/src';
import { PanelData } from '@grafana/data';
import {
ColorDimensionConfig,
ResourceDimensionConfig,

View File

@ -1,5 +1,4 @@
import { DataFrame, Field } from '@grafana/data';
import { getMinMaxAndDelta } from '@grafana/data/src/field/scale';
import { getMinMaxAndDelta, DataFrame, Field } from '@grafana/data';
import { ScaleDimensionConfig, ScaleDimensionMode } from '@grafana/schema';
import { DimensionSupplier, ScaleDimensionOptions } from './types';

View File

@ -16,7 +16,7 @@ import {
ExploreLogsPanelState,
DataQuery,
} from '@grafana/data';
import { organizeFieldsTransformer } from '@grafana/data/src/transformations/transformers/organize';
import { organizeFieldsTransformer } from '@grafana/data/internal';
import { config } from '@grafana/runtime';
import { extractFieldsTransformer } from 'app/features/transformers/extractFields/extractFields';
import { LokiQueryDirection } from 'app/plugins/datasource/loki/dataquery.gen';

View File

@ -1,7 +1,7 @@
import { css } from '@emotion/css';
import * as React from 'react';
import { GrafanaTheme2 } from '@grafana/data/src';
import { GrafanaTheme2 } from '@grafana/data';
import { Field, Input, useTheme2 } from '@grafana/ui';
function getStyles(theme: GrafanaTheme2) {

View File

@ -4,7 +4,7 @@ import saveAs from 'file-saver';
import { ComponentProps } from 'react';
import { FieldType, LogLevel, LogsDedupStrategy, standardTransformersRegistry, toDataFrame } from '@grafana/data';
import { organizeFieldsTransformer } from '@grafana/data/src/transformations/transformers/organize';
import { organizeFieldsTransformer } from '@grafana/data/internal';
import { config } from '@grafana/runtime';
import { MAX_CHARACTERS } from '../../logs/components/LogRowMessage';

View File

@ -14,8 +14,8 @@ import {
DataTransformerConfig,
CustomTransformOperator,
Labels,
DataFrame,
} from '@grafana/data';
import { DataFrame } from '@grafana/data/';
import { config, reportInteraction } from '@grafana/runtime';
import { Button, Dropdown, Menu, ToolbarButton, Tooltip, useStyles2 } from '@grafana/ui';
import { Trans } from 'app/core/internationalization';

View File

@ -2,7 +2,7 @@ import { render, screen, waitFor } from '@testing-library/react';
import { ComponentProps } from 'react';
import { DataFrame, FieldType, LogsSortOrder, standardTransformersRegistry, toUtc } from '@grafana/data';
import { organizeFieldsTransformer } from '@grafana/data/src/transformations/transformers/organize';
import { organizeFieldsTransformer } from '@grafana/data/internal';
import { config } from '@grafana/runtime';
import { extractFieldsTransformer } from 'app/features/transformers/extractFields/extractFields';

View File

@ -1,7 +1,7 @@
import { css, cx } from '@emotion/css';
import { DragDropContext, Draggable, DraggableProvided, Droppable, DropResult } from '@hello-pangea/dnd';
import { GrafanaTheme2 } from '@grafana/data/src';
import { GrafanaTheme2 } from '@grafana/data';
import { useTheme2 } from '@grafana/ui';
import { LogsTableEmptyFields } from './LogsTableEmptyFields';

View File

@ -1,6 +1,6 @@
import { css } from '@emotion/css';
import { GrafanaTheme2 } from '@grafana/data/src';
import { GrafanaTheme2 } from '@grafana/data';
import { useTheme2 } from '@grafana/ui';
import { Trans } from 'app/core/internationalization';

View File

@ -1,14 +1,8 @@
import { act, fireEvent, render, screen, waitFor } from '@testing-library/react';
import { ComponentProps } from 'react';
import {
createTheme,
ExploreLogsPanelState,
LogsSortOrder,
standardTransformersRegistry,
toUtc,
} from '@grafana/data/src';
import { organizeFieldsTransformer } from '@grafana/data/src/transformations/transformers/organize';
import { createTheme, ExploreLogsPanelState, LogsSortOrder, standardTransformersRegistry, toUtc } from '@grafana/data';
import { organizeFieldsTransformer } from '@grafana/data/internal';
import { config } from '@grafana/runtime';
import { extractFieldsTransformer } from '../../transformers/extractFields/extractFields';

View File

@ -1,6 +1,4 @@
import { DataFrame, Field, FieldType } from '@grafana/data/src';
import { DataFrameType } from '../../../../../../packages/grafana-data';
import { DataFrame, DataFrameType, Field, FieldType } from '@grafana/data';
export const getMockLokiFrame = (override?: Partial<DataFrame>) => {
const testDataFrame: DataFrame = {

View File

@ -1,6 +1,6 @@
import { css } from '@emotion/css';
import { GrafanaTheme2 } from '@grafana/data/src';
import { GrafanaTheme2 } from '@grafana/data';
import { useStyles2, PanelContainer } from '@grafana/ui';
export const NoData = () => {

View File

@ -1,6 +1,6 @@
import { css } from '@emotion/css';
import { Field, GrafanaTheme2 } from '@grafana/data/';
import { Field, GrafanaTheme2 } from '@grafana/data';
import { InstantQueryRefIdIndex } from '@grafana/prometheus';
import { useStyles2 } from '@grafana/ui';

View File

@ -1,6 +1,6 @@
import { css } from '@emotion/css';
import { GrafanaTheme2 } from '@grafana/data/';
import { GrafanaTheme2 } from '@grafana/data';
import { useStyles2 } from '@grafana/ui';
import { rawListItemColumnWidth, rawListPaddingToHoldSpaceForCopyIcon, RawListValue } from './RawListItem';

View File

@ -1,6 +1,6 @@
import { render, screen, within } from '@testing-library/react';
import { FieldType, FormattedValue, toDataFrame } from '@grafana/data/src';
import { FieldType, FormattedValue, toDataFrame } from '@grafana/data';
import RawListContainer, { RawListContainerProps } from './RawListContainer';

View File

@ -4,7 +4,7 @@ import { useEffect, useId, useRef, useState } from 'react';
import { useWindowSize } from 'react-use';
import { VariableSizeList as List } from 'react-window';
import { DataFrame, Field as DataFrameField } from '@grafana/data/';
import { DataFrame, Field as DataFrameField } from '@grafana/data';
import { reportInteraction } from '@grafana/runtime/src';
import { Field, Switch } from '@grafana/ui';

View File

@ -1,7 +1,7 @@
import { css } from '@emotion/css';
import { useCopyToClipboard } from 'react-use';
import { Field, GrafanaTheme2 } from '@grafana/data/';
import { Field, GrafanaTheme2 } from '@grafana/data';
import { isValidLegacyName, utf8Support } from '@grafana/prometheus/src/utf8_support';
import { reportInteraction } from '@grafana/runtime/src';
import { IconButton, useStyles2 } from '@grafana/ui';

Some files were not shown because too many files have changed in this diff Show More