diff --git a/.betterer.results b/.betterer.results
index 4a99f9de52e..304db52d9ae 100644
--- a/.betterer.results
+++ b/.betterer.results
@@ -4880,17 +4880,13 @@ exports[`better eslint`] = {
[0, 0, 0, "Styles should be written using objects.", "0"]
],
"public/app/features/plugins/admin/components/InstallControls/ExternallyManagedButton.tsx:5381": [
- [0, 0, 0, "\'HorizontalGroup\' import from \'@grafana/ui\' is restricted from being used by a pattern. Use Stack component instead.", "0"],
+ [0, 0, 0, "No untranslated strings. Wrap text with ", "0"],
[0, 0, 0, "No untranslated strings. Wrap text with ", "1"],
[0, 0, 0, "No untranslated strings. Wrap text with ", "2"],
- [0, 0, 0, "No untranslated strings. Wrap text with ", "3"],
- [0, 0, 0, "No untranslated strings. Wrap text with ", "4"]
- ],
- "public/app/features/plugins/admin/components/InstallControls/InstallControlsButton.tsx:5381": [
- [0, 0, 0, "\'HorizontalGroup\' import from \'@grafana/ui\' is restricted from being used by a pattern. Use Stack component instead.", "0"]
+ [0, 0, 0, "No untranslated strings. Wrap text with ", "3"]
],
"public/app/features/plugins/admin/components/InstallControls/InstallControlsWarning.tsx:5381": [
- [0, 0, 0, "\'HorizontalGroup\' import from \'@grafana/ui\' is restricted from being used by a pattern. Use Stack component instead.", "0"],
+ [0, 0, 0, "No untranslated strings. Wrap text with ", "0"],
[0, 0, 0, "No untranslated strings. Wrap text with ", "1"],
[0, 0, 0, "No untranslated strings. Wrap text with ", "2"],
[0, 0, 0, "No untranslated strings. Wrap text with ", "3"],
@@ -4900,18 +4896,15 @@ exports[`better eslint`] = {
[0, 0, 0, "No untranslated strings. Wrap text with ", "7"],
[0, 0, 0, "No untranslated strings. Wrap text with ", "8"],
[0, 0, 0, "No untranslated strings. Wrap text with ", "9"],
- [0, 0, 0, "No untranslated strings. Wrap text with ", "10"],
- [0, 0, 0, "Styles should be written using objects.", "11"]
+ [0, 0, 0, "Styles should be written using objects.", "10"]
],
"public/app/features/plugins/admin/components/InstallControls/index.tsx:5381": [
[0, 0, 0, "Do not re-export imported variable (\`./InstallControlsWarning\`)", "0"],
[0, 0, 0, "Do not re-export imported variable (\`./InstallControlsButton\`)", "1"]
],
"public/app/features/plugins/admin/components/PluginActions.tsx:5381": [
- [0, 0, 0, "\'HorizontalGroup\' import from \'@grafana/ui\' is restricted from being used by a pattern. Use Stack component instead.", "0"],
- [0, 0, 0, "\'VerticalGroup\' import from \'@grafana/ui\' is restricted from being used by a pattern. Use Stack component instead.", "1"],
- [0, 0, 0, "No untranslated strings. Wrap text with ", "2"],
- [0, 0, 0, "Styles should be written using objects.", "3"]
+ [0, 0, 0, "No untranslated strings. Wrap text with ", "0"],
+ [0, 0, 0, "Styles should be written using objects.", "1"]
],
"public/app/features/plugins/admin/components/PluginDashboards.tsx:5381": [
[0, 0, 0, "No untranslated strings. Wrap text with ", "0"],
@@ -4948,12 +4941,11 @@ exports[`better eslint`] = {
[0, 0, 0, "Styles should be written using objects.", "1"]
],
"public/app/features/plugins/admin/components/PluginDetailsPage.tsx:5381": [
- [0, 0, 0, "\'Layout\' import from \'@grafana/ui/src/components/Layout/Layout\' is restricted from being used by a pattern. Use Stack component instead.", "0"],
- [0, 0, 0, "Do not use any type assertions.", "1"],
+ [0, 0, 0, "Do not use any type assertions.", "0"],
+ [0, 0, 0, "No untranslated strings. Wrap text with ", "1"],
[0, 0, 0, "No untranslated strings. Wrap text with ", "2"],
[0, 0, 0, "No untranslated strings. Wrap text with ", "3"],
- [0, 0, 0, "No untranslated strings. Wrap text with ", "4"],
- [0, 0, 0, "No untranslated strings. Wrap text with ", "5"]
+ [0, 0, 0, "No untranslated strings. Wrap text with ", "4"]
],
"public/app/features/plugins/admin/components/PluginDetailsSignature.tsx:5381": [
[0, 0, 0, "No untranslated strings. Wrap text with ", "0"],
@@ -4962,9 +4954,6 @@ exports[`better eslint`] = {
"public/app/features/plugins/admin/components/PluginListItem.tsx:5381": [
[0, 0, 0, "No untranslated strings. Wrap text with ", "0"]
],
- "public/app/features/plugins/admin/components/PluginListItemBadges.tsx:5381": [
- [0, 0, 0, "\'HorizontalGroup\' import from \'@grafana/ui\' is restricted from being used by a pattern. Use Stack component instead.", "0"]
- ],
"public/app/features/plugins/admin/components/PluginSignatureDetailsBadge.tsx:5381": [
[0, 0, 0, "No untranslated strings. Wrap text with ", "0"],
[0, 0, 0, "No untranslated strings. Wrap text with ", "1"],
@@ -5027,9 +5016,8 @@ exports[`better eslint`] = {
[0, 0, 0, "No untranslated strings. Wrap text with ", "1"]
],
"public/app/features/plugins/components/PluginsErrorsInfo.tsx:5381": [
- [0, 0, 0, "\'HorizontalGroup\' import from \'@grafana/ui\' is restricted from being used by a pattern. Use Stack component instead.", "0"],
- [0, 0, 0, "No untranslated strings. Wrap text with ", "1"],
- [0, 0, 0, "No untranslated strings. Wrap text with ", "2"]
+ [0, 0, 0, "No untranslated strings. Wrap text with ", "0"],
+ [0, 0, 0, "No untranslated strings. Wrap text with ", "1"]
],
"public/app/features/plugins/datasource_srv.ts:5381": [
[0, 0, 0, "Do not use any type assertions.", "0"],
diff --git a/public/app/features/plugins/admin/components/InstallControls/ExternallyManagedButton.tsx b/public/app/features/plugins/admin/components/InstallControls/ExternallyManagedButton.tsx
index 8d347564125..62fe1d8aaec 100644
--- a/public/app/features/plugins/admin/components/InstallControls/ExternallyManagedButton.tsx
+++ b/public/app/features/plugins/admin/components/InstallControls/ExternallyManagedButton.tsx
@@ -1,5 +1,5 @@
import { config } from '@grafana/runtime';
-import { HorizontalGroup, LinkButton } from '@grafana/ui';
+import { LinkButton, Stack } from '@grafana/ui';
import { getExternalManageLink } from '../../helpers';
import { PluginStatus } from '../../types';
@@ -15,14 +15,14 @@ export function ExternallyManagedButton({ pluginId, pluginStatus, angularDetecte
if (pluginStatus === PluginStatus.UPDATE) {
return (
-
+
Update via grafana.com
Uninstall via grafana.com
-
+
);
}
diff --git a/public/app/features/plugins/admin/components/InstallControls/InstallControlsButton.tsx b/public/app/features/plugins/admin/components/InstallControls/InstallControlsButton.tsx
index 2ea60c03e57..671a5b2e8ab 100644
--- a/public/app/features/plugins/admin/components/InstallControls/InstallControlsButton.tsx
+++ b/public/app/features/plugins/admin/components/InstallControls/InstallControlsButton.tsx
@@ -3,7 +3,7 @@ import { useLocation } from 'react-router-dom';
import { AppEvents } from '@grafana/data';
import { config, locationService } from '@grafana/runtime';
-import { Button, HorizontalGroup, ConfirmModal } from '@grafana/ui';
+import { Button, ConfirmModal, Stack } from '@grafana/ui';
import appEvents from 'app/core/app_events';
import configCore from 'app/core/config';
import { useQueryParams } from 'app/core/hooks/useQueryParams';
@@ -130,11 +130,11 @@ export function InstallControlsButton({
onConfirm={onUninstall}
onDismiss={hideConfirmModal}
/>
-
+
-
+
>
);
}
@@ -151,14 +151,14 @@ export function InstallControlsButton({
: isInstalling;
return (
-
+
-
+
);
}
const shouldDisable = isInstalling || errorInstalling || (!config.angularSupportEnabled && plugin.angularDetected);
diff --git a/public/app/features/plugins/admin/components/InstallControls/InstallControlsWarning.tsx b/public/app/features/plugins/admin/components/InstallControls/InstallControlsWarning.tsx
index 89e1e717507..9d10b8a6728 100644
--- a/public/app/features/plugins/admin/components/InstallControls/InstallControlsWarning.tsx
+++ b/public/app/features/plugins/admin/components/InstallControls/InstallControlsWarning.tsx
@@ -2,7 +2,7 @@ import { css } from '@emotion/css';
import { GrafanaTheme2, PluginType } from '@grafana/data';
import { config, featureEnabled } from '@grafana/runtime';
-import { HorizontalGroup, Icon, LinkButton, useStyles2 } from '@grafana/ui';
+import { Icon, LinkButton, Stack, useStyles2 } from '@grafana/ui';
import { contextSrv } from 'app/core/core';
import { AccessControlAction } from 'app/types';
@@ -33,7 +33,7 @@ export const InstallControlsWarning = ({ plugin, pluginStatus, latestCompatibleV
if (plugin.isEnterprise && !featureEnabled('enterprise.plugins')) {
return (
-
+
No valid Grafana Enterprise license detected.
Learn more
-
+
);
}
diff --git a/public/app/features/plugins/admin/components/PluginActions.tsx b/public/app/features/plugins/admin/components/PluginActions.tsx
index b9a64819ac9..3bf24611fdc 100644
--- a/public/app/features/plugins/admin/components/PluginActions.tsx
+++ b/public/app/features/plugins/admin/components/PluginActions.tsx
@@ -3,7 +3,7 @@ import { useState } from 'react';
import { GrafanaTheme2 } from '@grafana/data';
import { config } from '@grafana/runtime';
-import { HorizontalGroup, Icon, useStyles2, VerticalGroup } from '@grafana/ui';
+import { Icon, Stack, useStyles2 } from '@grafana/ui';
import configCore from 'app/core/config';
import { GetStartedWithPlugin } from '../components/GetStartedWithPlugin';
@@ -37,8 +37,8 @@ export const PluginActions = ({ plugin }: Props) => {
const isInstallControlsDisabled = plugin.isCore || plugin.isDisabled || !isInstallControlsEnabled();
return (
-
-
+
+
{!isInstallControlsDisabled && (
<>
{isExternallyManaged && !hasInstallWarning && !configCore.featureToggles.managedPluginsInstall ? (
@@ -59,14 +59,14 @@ export const PluginActions = ({ plugin }: Props) => {
>
)}
-
+
{needReload && (
-
+
Refresh the page to see the changes
-
+
)}
-
+
);
};
diff --git a/public/app/features/plugins/admin/components/PluginDetailsPage.tsx b/public/app/features/plugins/admin/components/PluginDetailsPage.tsx
index 3eabac1e295..c2dbbea44f3 100644
--- a/public/app/features/plugins/admin/components/PluginDetailsPage.tsx
+++ b/public/app/features/plugins/admin/components/PluginDetailsPage.tsx
@@ -4,8 +4,7 @@ import { useLocation } from 'react-router-dom';
import { GrafanaTheme2, NavModelItem } from '@grafana/data';
import { config } from '@grafana/runtime';
-import { useStyles2, TabContent, Alert } from '@grafana/ui';
-import { Layout } from '@grafana/ui/src/components/Layout/Layout';
+import { Alert, Box, Stack, TabContent, useStyles2 } from '@grafana/ui';
import { Page } from 'app/core/components/Page/Page';
import { AppNotificationSeverity } from 'app/types';
@@ -122,11 +121,13 @@ export const getStyles = (theme: GrafanaTheme2) => {
function NotFoundPlugin() {
return (
-
-
- That plugin cannot be found. Please check the url is correct or
- go to the plugin catalog.
-
-
+
+
+
+ That plugin cannot be found. Please check the url is correct or
+ go to the plugin catalog.
+
+
+
);
}
diff --git a/public/app/features/plugins/admin/components/PluginListItemBadges.tsx b/public/app/features/plugins/admin/components/PluginListItemBadges.tsx
index bfd126460bb..eb381aec070 100644
--- a/public/app/features/plugins/admin/components/PluginListItemBadges.tsx
+++ b/public/app/features/plugins/admin/components/PluginListItemBadges.tsx
@@ -1,5 +1,5 @@
import { PluginType } from '@grafana/data';
-import { HorizontalGroup, PluginSignatureBadge } from '@grafana/ui';
+import { PluginSignatureBadge, Stack } from '@grafana/ui';
import { CatalogPlugin } from '../types';
@@ -21,23 +21,23 @@ export function PluginListItemBadges({ plugin }: PluginBadgeType) {
const hasUpdate = plugin.hasUpdate && !plugin.isCore && plugin.type !== PluginType.renderer;
if (plugin.isEnterprise) {
return (
-
+
{plugin.isDisabled && }
{hasUpdate && }
{plugin.angularDetected && }
-
+
);
}
return (
-
+
{plugin.isDisabled && }
{plugin.isDeprecated && }
{plugin.isInstalled && }
{hasUpdate && }
{plugin.angularDetected && }
-
+
);
}
diff --git a/public/app/features/plugins/components/PluginsErrorsInfo.tsx b/public/app/features/plugins/components/PluginsErrorsInfo.tsx
index 4f54292b984..36547a7ac09 100644
--- a/public/app/features/plugins/components/PluginsErrorsInfo.tsx
+++ b/public/app/features/plugins/components/PluginsErrorsInfo.tsx
@@ -2,7 +2,7 @@ import { css } from '@emotion/css';
import { GrafanaTheme2, PluginErrorCode, PluginSignatureStatus, PluginType } from '@grafana/data';
import { selectors } from '@grafana/e2e-selectors';
-import { Alert, HorizontalGroup, Icon, List, PluginSignatureBadge, useStyles2 } from '@grafana/ui';
+import { Alert, Icon, List, PluginSignatureBadge, Stack, useStyles2 } from '@grafana/ui';
import { useGetErrors, useFetchStatus } from '../admin/state/hooks';
@@ -31,13 +31,13 @@ export function PluginsErrorsInfo({ filterByPluginType }: PluginsErrorInfoProps)
className={styles.list}
renderItem={(error) => (
)}
/>