diff --git a/packages/grafana-data/src/themes/index.ts b/packages/grafana-data/src/themes/index.ts index b49fecd0e05..b98120ce782 100644 --- a/packages/grafana-data/src/themes/index.ts +++ b/packages/grafana-data/src/themes/index.ts @@ -8,6 +8,7 @@ export { ThemeTypography, ThemeTypographyVariant } from './createTypography'; export { ThemeTransitions } from './createTransitions'; export { ThemeSpacing } from './createSpacing'; export { ThemeZIndices } from './zIndex'; +export { palette } from './palette'; /** Exporting the module like this to be able to generate docs properly. */ import * as colorManipulator from './colorManipulator'; diff --git a/packages/grafana-ui/src/components/Forms/FieldValidationMessage.tsx b/packages/grafana-ui/src/components/Forms/FieldValidationMessage.tsx index 565a6c1095a..bc0bcfad4f5 100644 --- a/packages/grafana-ui/src/components/Forms/FieldValidationMessage.tsx +++ b/packages/grafana-ui/src/components/Forms/FieldValidationMessage.tsx @@ -1,8 +1,8 @@ import React from 'react'; import { css, cx } from '@emotion/css'; -import { GrafanaTheme } from '@grafana/data'; +import { GrafanaTheme2 } from '@grafana/data'; import { Icon } from '../Icon/Icon'; -import { useTheme, stylesFactory } from '../../themes'; +import { stylesFactory, useTheme2 } from '../../themes'; export interface FieldValidationMessageProps { children: string; @@ -11,14 +11,14 @@ export interface FieldValidationMessageProps { horizontal?: boolean; } -export const getFieldValidationMessageStyles = stylesFactory((theme: GrafanaTheme) => { +export const getFieldValidationMessageStyles = stylesFactory((theme: GrafanaTheme2) => { const baseStyle = ` font-size: ${theme.typography.size.sm}; - font-weight: ${theme.typography.weight.semibold}; - padding: ${theme.spacing.formValidationMessagePadding}; - color: ${theme.colors.formValidationMessageText}; - background: ${theme.colors.formValidationMessageBg}; - border-radius: ${theme.border.radius.sm}; + font-weight: ${theme.typography.fontWeightMedium}; + padding: ${theme.spacing(0.5, 1)}; + color: ${theme.colors.error.text}; + background: ${theme.colors.error.main}; + border-radius: ${theme.shape.borderRadius()}; position: relative; display: inline-block; `; @@ -26,7 +26,7 @@ export const getFieldValidationMessageStyles = stylesFactory((theme: GrafanaThem return { vertical: css` ${baseStyle} - margin: ${theme.spacing.formValidationMessageMargin}; + margin: ${theme.spacing(0.5, 0, 0, 0)}; &:before { content: ''; @@ -36,7 +36,7 @@ export const getFieldValidationMessageStyles = stylesFactory((theme: GrafanaThem width: 0; height: 0; border-width: 0 4px 5px 4px; - border-color: transparent transparent ${theme.colors.formValidationMessageBg} transparent; + border-color: transparent transparent ${theme.colors.error.main} transparent; border-style: solid; } `, @@ -57,13 +57,13 @@ export const getFieldValidationMessageStyles = stylesFactory((theme: GrafanaThem } `, fieldValidationMessageIcon: css` - margin-right: ${theme.spacing.formSpacingBase}px; + margin-right: ${theme.spacing()}; `, }; }); export const FieldValidationMessage: React.FC = ({ children, horizontal, className }) => { - const theme = useTheme(); + const theme = useTheme2(); const styles = getFieldValidationMessageStyles(theme); const cssName = cx(horizontal ? styles.horizontal : styles.vertical, className); diff --git a/packages/grafana-ui/src/components/Forms/getFormStyles.ts b/packages/grafana-ui/src/components/Forms/getFormStyles.ts index e602e8cb2d0..6d0faf7b8e5 100644 --- a/packages/grafana-ui/src/components/Forms/getFormStyles.ts +++ b/packages/grafana-ui/src/components/Forms/getFormStyles.ts @@ -16,7 +16,7 @@ export const getFormStyles = stylesFactory( return { label: getLabelStyles(theme), legend: getLegendStyles(theme.v1), - fieldValidationMessage: getFieldValidationMessageStyles(theme.v1), + fieldValidationMessage: getFieldValidationMessageStyles(theme), button: getButtonStyles({ theme, variant: options.variant,