Skip to content

Commit

Permalink
Basic memoization of button styles
Browse files Browse the repository at this point in the history
  • Loading branch information
cee-chen committed Feb 22, 2024
1 parent c44cbc2 commit bb99273
Show file tree
Hide file tree
Showing 4 changed files with 7 additions and 12 deletions.
6 changes: 2 additions & 4 deletions src/components/button/button_display/_button_display.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import React, {

// @ts-ignore module doesn't export `createElement`
import { createElement } from '@emotion/react';
import { getSecureRelForTarget, useEuiTheme } from '../../../services';
import { getSecureRelForTarget, useEuiMemoizedStyles } from '../../../services';

import {
CommonProps,
Expand Down Expand Up @@ -139,9 +139,7 @@ export const EuiButtonDisplay = forwardRef<HTMLElement, EuiButtonDisplayProps>(
isLoading,
});

const theme = useEuiTheme();

const styles = euiButtonDisplayStyles(theme);
const styles = useEuiMemoizedStyles(euiButtonDisplayStyles);
const cssStyles = [
styles.euiButtonDisplay,
styles[size],
Expand Down
5 changes: 2 additions & 3 deletions src/components/button/button_empty/button_empty.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import {
PropsForAnchor,
PropsForButton,
} from '../../common';
import { useEuiTheme, getSecureRelForTarget } from '../../../services';
import { useEuiMemoizedStyles, getSecureRelForTarget } from '../../../services';

import {
EuiButtonDisplayContent,
Expand Down Expand Up @@ -119,8 +119,7 @@ export const EuiButtonEmpty: FunctionComponent<EuiButtonEmptyProps> = ({
display: 'empty',
});

const euiTheme = useEuiTheme();
const styles = euiButtonEmptyStyles(euiTheme);
const styles = useEuiMemoizedStyles(euiButtonEmptyStyles);
const cssStyles = [
styles.euiButtonEmpty,
styles[size],
Expand Down
4 changes: 1 addition & 3 deletions src/components/button/button_group/button_group.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -142,15 +142,13 @@ export const EuiButtonGroup: FunctionComponent<Props> = ({
type = 'single',
...rest
}) => {
const euiTheme = useEuiTheme();

const wrapperStyles = euiButtonGroupStyles();
const wrapperCssStyles = [
wrapperStyles.euiButtonGroup,
isFullWidth && wrapperStyles.fullWidth,
];

const styles = euiButtonGroupButtonsStyles(euiTheme);
const styles = useEuiMemoizedStyles(euiButtonGroupButtonsStyles);
const cssStyles = [
styles.euiButtonGroup__buttons,
isFullWidth && styles.fullWidth,
Expand Down
4 changes: 2 additions & 2 deletions src/components/button/button_icon/button_icon.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import React, {
} from 'react';
import classNames from 'classnames';

import { getSecureRelForTarget, useEuiTheme } from '../../../services';
import { getSecureRelForTarget, useEuiTheme, useEuiMemoizedStyles } from '../../../services';
import {
CommonProps,
ExclusiveUnion,
Expand Down Expand Up @@ -142,7 +142,7 @@ export const EuiButtonIcon: FunctionComponent<Props> = ({
!isDisabled &&
_emptyHoverStyles(euiThemeContext, color);

const styles = euiButtonIconStyles(euiThemeContext);
const styles = useEuiMemoizedStyles(euiButtonIconStyles);
const cssStyles = [
styles.euiButtonIcon,
styles[size],
Expand Down

0 comments on commit bb99273

Please sign in to comment.