diff --git a/packages/grafana-ui/src/components/Divider/Divider.tsx b/packages/grafana-ui/src/components/Divider/Divider.tsx index f7656374d4f..ad0da71d3de 100644 --- a/packages/grafana-ui/src/components/Divider/Divider.tsx +++ b/packages/grafana-ui/src/components/Divider/Divider.tsx @@ -1,5 +1,5 @@ import { css } from '@emotion/css'; -import React, { useCallback } from 'react'; +import React from 'react'; import { GrafanaTheme2, ThemeSpacingTokens } from '@grafana/data'; @@ -11,7 +11,7 @@ interface DividerProps { } export const Divider = ({ direction = 'horizontal', spacing = 2 }: DividerProps) => { - const styles = useStyles2(useCallback((theme) => getStyles(theme, spacing), [spacing])); + const styles = useStyles2(getStyles, spacing); if (direction === 'vertical') { return
; diff --git a/packages/grafana-ui/src/components/Forms/InlineLabel.tsx b/packages/grafana-ui/src/components/Forms/InlineLabel.tsx index 8f73fbf2048..b433dc5a46d 100644 --- a/packages/grafana-ui/src/components/Forms/InlineLabel.tsx +++ b/packages/grafana-ui/src/components/Forms/InlineLabel.tsx @@ -1,5 +1,5 @@ import { css, cx } from '@emotion/css'; -import React, { useCallback } from 'react'; +import React from 'react'; import { GrafanaTheme2 } from '@grafana/data'; @@ -34,9 +34,7 @@ export const InlineLabel = ({ as: Component = 'label', ...rest }: Props) => { - const styles = useStyles2( - useCallback((theme) => getInlineLabelStyles(theme, transparent, width), [transparent, width]) - ); + const styles = useStyles2(getInlineLabelStyles, transparent, width); return ( diff --git a/packages/grafana-ui/src/components/Forms/InlineSegmentGroup.tsx b/packages/grafana-ui/src/components/Forms/InlineSegmentGroup.tsx index 7e6bb68567c..8d94fd87856 100644 --- a/packages/grafana-ui/src/components/Forms/InlineSegmentGroup.tsx +++ b/packages/grafana-ui/src/components/Forms/InlineSegmentGroup.tsx @@ -12,7 +12,7 @@ export interface Props { /** @beta */ export const InlineSegmentGroup = ({ children, className, grow, ...htmlProps }: React.PropsWithChildren) => { - const styles = useStyles2((theme) => getStyles(theme, grow)); + const styles = useStyles2(getStyles, grow); return (
diff --git a/packages/grafana-ui/src/components/Layout/Layout.tsx b/packages/grafana-ui/src/components/Layout/Layout.tsx index c89f2288875..d56b07d4b6b 100644 --- a/packages/grafana-ui/src/components/Layout/Layout.tsx +++ b/packages/grafana-ui/src/components/Layout/Layout.tsx @@ -1,5 +1,5 @@ import { css, cx } from '@emotion/css'; -import React, { HTMLProps, useCallback } from 'react'; +import React, { HTMLProps } from 'react'; import { GrafanaTheme2 } from '@grafana/data'; @@ -41,12 +41,7 @@ export const Layout = ({ height = '100%', ...rest }: LayoutProps) => { - const styles = useStyles2( - useCallback( - (theme) => getStyles(theme, orientation, spacing, justify, align, wrap), - [align, justify, orientation, spacing, wrap] - ) - ); + const styles = useStyles2(getStyles, orientation, spacing, justify, align, wrap); return (
@@ -105,7 +100,7 @@ export const VerticalGroup = ({ ); export const Container = ({ children, padding, margin, grow, shrink }: React.PropsWithChildren) => { - const styles = useStyles2(useCallback((theme) => getContainerStyles(theme, padding, margin), [padding, margin])); + const styles = useStyles2(getContainerStyles, padding, margin); return (
getStyles(theme, delay, durationMs)); + const styles = useStyles2(getStyles, delay, durationMs); const containerStyles: CSSProperties = { overflow: 'hidden', }; diff --git a/packages/grafana-ui/src/components/Text/Text.tsx b/packages/grafana-ui/src/components/Text/Text.tsx index 7b687808e0e..eb036f186e7 100644 --- a/packages/grafana-ui/src/components/Text/Text.tsx +++ b/packages/grafana-ui/src/components/Text/Text.tsx @@ -1,14 +1,5 @@ import { css } from '@emotion/css'; -import React, { - createElement, - CSSProperties, - useCallback, - useEffect, - useImperativeHandle, - useMemo, - useRef, - useState, -} from 'react'; +import React, { createElement, CSSProperties, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react'; import ReactDomServer from 'react-dom/server'; import { GrafanaTheme2, ThemeTypographyVariantTypes } from '@grafana/data'; @@ -38,12 +29,7 @@ export interface TextProps extends Omit, 'clas export const Text = React.forwardRef( ({ element = 'span', variant, weight, color, truncate, italic, textAlignment, children, ...restProps }, ref) => { - const styles = useStyles2( - useCallback( - (theme) => getTextStyles(theme, element, variant, color, weight, truncate, italic, textAlignment), - [color, textAlignment, truncate, italic, weight, variant, element] - ) - ); + const styles = useStyles2(getTextStyles, element, variant, color, weight, truncate, italic, textAlignment); const [isOverflowing, setIsOverflowing] = useState(false); const internalRef = useRef(null); diff --git a/public/app/core/components/RolePicker/RolePickerInput.tsx b/public/app/core/components/RolePicker/RolePickerInput.tsx index cfd357601ea..df3ddfadedb 100644 --- a/public/app/core/components/RolePicker/RolePickerInput.tsx +++ b/public/app/core/components/RolePicker/RolePickerInput.tsx @@ -35,7 +35,7 @@ export const RolePickerInput = ({ onQueryChange, ...rest }: InputProps): JSX.Element => { - const styles = useStyles2((theme) => getRolePickerInputStyles(theme, false, !!isFocused, !!disabled, false)); + const styles = useStyles2(getRolePickerInputStyles, false, !!isFocused, !!disabled, false); const inputRef = useRef(null); useEffect(() => { diff --git a/public/app/core/components/Upgrade/UpgradeBox.tsx b/public/app/core/components/Upgrade/UpgradeBox.tsx index c4b1abb9912..36f01e20ed5 100644 --- a/public/app/core/components/Upgrade/UpgradeBox.tsx +++ b/public/app/core/components/Upgrade/UpgradeBox.tsx @@ -25,7 +25,7 @@ export const UpgradeBox = ({ size = 'md', ...htmlProps }: Props) => { - const styles = useStyles2((theme) => getUpgradeBoxStyles(theme, size)); + const styles = useStyles2(getUpgradeBoxStyles, size); useEffect(() => { reportExperimentView(`feature-highlights-${featureId}`, 'test', eventVariant); diff --git a/public/app/features/alerting/unified/components/AlertLabels.tsx b/public/app/features/alerting/unified/components/AlertLabels.tsx index cd7b6cc1412..30bfeb817b7 100644 --- a/public/app/features/alerting/unified/components/AlertLabels.tsx +++ b/public/app/features/alerting/unified/components/AlertLabels.tsx @@ -15,7 +15,7 @@ interface Props { } export const AlertLabels = ({ labels, commonLabels = {}, size }: Props) => { - const styles = useStyles2((theme) => getStyles(theme, size)); + const styles = useStyles2(getStyles, size); const [showCommonLabels, setShowCommonLabels] = useState(false); const labelsToShow = chain(labels) diff --git a/public/app/features/alerting/unified/components/AlertStateDot.tsx b/public/app/features/alerting/unified/components/AlertStateDot.tsx index d52787db4c3..bdd0dbedbe1 100644 --- a/public/app/features/alerting/unified/components/AlertStateDot.tsx +++ b/public/app/features/alerting/unified/components/AlertStateDot.tsx @@ -6,7 +6,7 @@ import { ComponentSize, Tooltip, useStyles2 } from '@grafana/ui'; import { GrafanaAlertState } from 'app/types/unified-alerting-dto'; const AlertStateDot = (props: DotStylesProps) => { - const styles = useStyles2((theme) => getDotStyles(theme, props)); + const styles = useStyles2(getDotStyles, props); return ( diff --git a/public/app/features/alerting/unified/components/Label.tsx b/public/app/features/alerting/unified/components/Label.tsx index 20ac5505dde..42bd58d0040 100644 --- a/public/app/features/alerting/unified/components/Label.tsx +++ b/public/app/features/alerting/unified/components/Label.tsx @@ -18,7 +18,7 @@ interface Props { // TODO allow customization with color prop const Label = ({ label, value, icon, color, size = 'md' }: Props) => { - const styles = useStyles2((theme) => getStyles(theme, color, size)); + const styles = useStyles2(getStyles, color, size); return (
diff --git a/public/app/features/datasources/components/picker/DataSourceDropdown.tsx b/public/app/features/datasources/components/picker/DataSourceDropdown.tsx index 272c7fdca0c..b109b63cf34 100644 --- a/public/app/features/datasources/components/picker/DataSourceDropdown.tsx +++ b/public/app/features/datasources/components/picker/DataSourceDropdown.tsx @@ -72,7 +72,7 @@ export function DataSourceDropdown(props: DataSourceDropdownProps) { ...restProps } = props; - const styles = useStyles2((theme: GrafanaTheme2) => getStylesDropdown(theme, props)); + const styles = useStyles2(getStylesDropdown, props); const [isOpen, setOpen] = useState(false); const [inputHasFocus, setInputHasFocus] = useState(false); const [filterTerm, setFilterTerm] = useState(''); diff --git a/public/app/features/explore/PrometheusListView/ItemLabels.tsx b/public/app/features/explore/PrometheusListView/ItemLabels.tsx index 289de9e2994..a3630f2e650 100644 --- a/public/app/features/explore/PrometheusListView/ItemLabels.tsx +++ b/public/app/features/explore/PrometheusListView/ItemLabels.tsx @@ -32,7 +32,7 @@ export const formatValueName = (name: string): string => { }; export const ItemLabels = ({ valueLabels, expanded }: { valueLabels: Field[]; expanded: boolean }) => { - const styles = useStyles2((theme) => getItemLabelsStyles(theme, expanded)); + const styles = useStyles2(getItemLabelsStyles, expanded); return (
diff --git a/public/app/features/explore/PrometheusListView/ItemValues.tsx b/public/app/features/explore/PrometheusListView/ItemValues.tsx index 5d7d37a7f21..c0c33146d8e 100644 --- a/public/app/features/explore/PrometheusListView/ItemValues.tsx +++ b/public/app/features/explore/PrometheusListView/ItemValues.tsx @@ -53,7 +53,7 @@ export const ItemValues = ({ values: RawListValue[]; hideFieldsWithoutValues: boolean; }) => { - const styles = useStyles2((theme) => getStyles(theme, totalNumberOfValues)); + const styles = useStyles2(getStyles, totalNumberOfValues); return (
{values?.map((value) => { diff --git a/public/app/features/explore/PrometheusListView/RawListItem.tsx b/public/app/features/explore/PrometheusListView/RawListItem.tsx index 44d4f791f31..e7eb1c25e05 100644 --- a/public/app/features/explore/PrometheusListView/RawListItem.tsx +++ b/public/app/features/explore/PrometheusListView/RawListItem.tsx @@ -101,7 +101,7 @@ const RawListItem = ({ listItemData, listKey, totalNumberOfValues, valueLabels, const { __name__, ...allLabels } = listItemData; const [_, copyToClipboard] = useCopyToClipboard(); const displayLength = valueLabels?.length ?? totalNumberOfValues; - const styles = useStyles2((theme) => getStyles(theme, displayLength, isExpandedView)); + const styles = useStyles2(getStyles, displayLength, isExpandedView); const { values, attributeValues } = getQueryValues(allLabels); /** diff --git a/public/app/features/explore/RichHistory/RichHistoryQueriesTab.tsx b/public/app/features/explore/RichHistory/RichHistoryQueriesTab.tsx index a9dd7a0bdbf..a72bd1d9b65 100644 --- a/public/app/features/explore/RichHistory/RichHistoryQueriesTab.tsx +++ b/public/app/features/explore/RichHistory/RichHistoryQueriesTab.tsx @@ -1,5 +1,5 @@ import { css } from '@emotion/css'; -import React, { useEffect, useCallback } from 'react'; +import React, { useEffect } from 'react'; import { GrafanaTheme2, SelectableValue } from '@grafana/data'; import { config } from '@grafana/runtime'; @@ -126,7 +126,7 @@ export function RichHistoryQueriesTab(props: RichHistoryQueriesTabProps) { activeDatasourceInstance, } = props; - const styles = useStyles2(useCallback((theme: GrafanaTheme2) => getStyles(theme, height), [height])); + const styles = useStyles2(getStyles, height); const listOfDatasources = createDatasourcesList(); diff --git a/public/app/features/library-panels/components/LibraryPanelsSearch/LibraryPanelsSearch.tsx b/public/app/features/library-panels/components/LibraryPanelsSearch/LibraryPanelsSearch.tsx index aedb7d918d6..104e5feda14 100644 --- a/public/app/features/library-panels/components/LibraryPanelsSearch/LibraryPanelsSearch.tsx +++ b/public/app/features/library-panels/components/LibraryPanelsSearch/LibraryPanelsSearch.tsx @@ -41,7 +41,7 @@ export const LibraryPanelsSearch = ({ showSort = false, showSecondaryActions = false, }: LibraryPanelsSearchProps): JSX.Element => { - const styles = useStyles2(useCallback((theme) => getStyles(theme, variant), [variant])); + const styles = useStyles2(getStyles, variant); const [searchQuery, setSearchQuery] = useState(''); const [debouncedSearchQuery, setDebouncedSearchQuery] = useState(''); @@ -149,7 +149,7 @@ const SearchControls = React.memo( onFolderFilterChange, onPanelFilterChange, }: SearchControlsProps) => { - const styles = useStyles2(useCallback((theme) => getRowStyles(theme, variant), [variant])); + const styles = useStyles2(getRowStyles, variant); const panelFilterChanged = useCallback( (plugins: PanelPluginMeta[]) => onPanelFilterChange(plugins.map((p) => p.id)), [onPanelFilterChange] diff --git a/public/app/features/search/page/components/FolderSection.tsx b/public/app/features/search/page/components/FolderSection.tsx index 9f3ea0b8d17..7183143594e 100644 --- a/public/app/features/search/page/components/FolderSection.tsx +++ b/public/app/features/search/page/components/FolderSection.tsx @@ -1,5 +1,5 @@ import { css } from '@emotion/css'; -import React, { useCallback, useId, useState } from 'react'; +import React, { useId, useState } from 'react'; import { useAsync } from 'react-use'; import { GrafanaTheme2, toIconName } from '@grafana/data'; @@ -59,7 +59,7 @@ export const FolderSection = ({ const uid = section.uid; const editable = selectionToggle != null; - const styles = useStyles2(useCallback((theme: GrafanaTheme2) => getSectionHeaderStyles(theme, editable), [editable])); + const styles = useStyles2(getSectionHeaderStyles, editable); const [sectionExpanded, setSectionExpanded] = useState(() => { const lastExpandedFolder = window.localStorage.getItem(SEARCH_EXPANDED_FOLDER_STORAGE_KEY); return lastExpandedFolder === uid; diff --git a/public/app/plugins/datasource/grafana-pyroscope-datasource/QueryEditor/Stack.tsx b/public/app/plugins/datasource/grafana-pyroscope-datasource/QueryEditor/Stack.tsx index 9eea8c45aac..51ba00444c9 100644 --- a/public/app/plugins/datasource/grafana-pyroscope-datasource/QueryEditor/Stack.tsx +++ b/public/app/plugins/datasource/grafana-pyroscope-datasource/QueryEditor/Stack.tsx @@ -1,5 +1,5 @@ import { css } from '@emotion/css'; -import React, { CSSProperties, useCallback } from 'react'; +import React, { CSSProperties } from 'react'; import { GrafanaTheme2 } from '@grafana/data'; import { useStyles2 } from '@grafana/ui'; @@ -14,7 +14,7 @@ interface StackProps { } export function Stack(props: StackProps) { - const styles = useStyles2(useCallback((theme) => getStyles(theme, props), [props])); + const styles = useStyles2(getStyles, props); return
{props.children}
; } diff --git a/public/app/plugins/datasource/parca/QueryEditor/Stack.tsx b/public/app/plugins/datasource/parca/QueryEditor/Stack.tsx index 9eea8c45aac..51ba00444c9 100644 --- a/public/app/plugins/datasource/parca/QueryEditor/Stack.tsx +++ b/public/app/plugins/datasource/parca/QueryEditor/Stack.tsx @@ -1,5 +1,5 @@ import { css } from '@emotion/css'; -import React, { CSSProperties, useCallback } from 'react'; +import React, { CSSProperties } from 'react'; import { GrafanaTheme2 } from '@grafana/data'; import { useStyles2 } from '@grafana/ui'; @@ -14,7 +14,7 @@ interface StackProps { } export function Stack(props: StackProps) { - const styles = useStyles2(useCallback((theme) => getStyles(theme, props), [props])); + const styles = useStyles2(getStyles, props); return
{props.children}
; } diff --git a/public/app/plugins/panel/gettingstarted/components/DocsCard.tsx b/public/app/plugins/panel/gettingstarted/components/DocsCard.tsx index fde47696818..8a5fe372228 100644 --- a/public/app/plugins/panel/gettingstarted/components/DocsCard.tsx +++ b/public/app/plugins/panel/gettingstarted/components/DocsCard.tsx @@ -1,5 +1,5 @@ import { css } from '@emotion/css'; -import React, { useCallback } from 'react'; +import React from 'react'; import { GrafanaTheme2 } from '@grafana/data'; import { Icon, useStyles2 } from '@grafana/ui'; @@ -13,8 +13,8 @@ interface Props { } export const DocsCard = ({ card }: Props) => { - const styles = useStyles2(useCallback((theme: GrafanaTheme2) => getStyles(theme, card.done), [card.done])); - const iconStyles = useStyles2(useCallback((theme: GrafanaTheme2) => iconStyle(theme, card.done), [card.done])); + const styles = useStyles2(getStyles, card.done); + const iconStyles = useStyles2(iconStyle, card.done); return (
diff --git a/public/app/plugins/panel/gettingstarted/components/TutorialCard.tsx b/public/app/plugins/panel/gettingstarted/components/TutorialCard.tsx index 5aa26396475..27ea6e7b534 100644 --- a/public/app/plugins/panel/gettingstarted/components/TutorialCard.tsx +++ b/public/app/plugins/panel/gettingstarted/components/TutorialCard.tsx @@ -1,5 +1,5 @@ import { css } from '@emotion/css'; -import React, { MouseEvent, useCallback } from 'react'; +import React, { MouseEvent } from 'react'; import { GrafanaTheme2 } from '@grafana/data'; import { Icon, useStyles2 } from '@grafana/ui'; @@ -14,8 +14,8 @@ interface Props { } export const TutorialCard = ({ card }: Props) => { - const styles = useStyles2(useCallback((theme: GrafanaTheme2) => getStyles(theme, card.done), [card.done])); - const iconStyles = useStyles2(useCallback((theme: GrafanaTheme2) => iconStyle(theme, card.done), [card.done])); + const styles = useStyles2(getStyles, card.done); + const iconStyles = useStyles2(iconStyle, card.done); return ( getStyles(theme, step, outOfBounds, disabled)); + const styles = useStyles2(getStyles, step, outOfBounds, disabled); const [currentValue, setCurrentValue] = useState(step.value); const textColor = useMemo(() => {