diff --git a/packages/manager/.changeset/pr-11241-tech-stories-1731391925729.md b/packages/manager/.changeset/pr-11241-tech-stories-1731391925729.md new file mode 100644 index 00000000000..6cbf2765331 --- /dev/null +++ b/packages/manager/.changeset/pr-11241-tech-stories-1731391925729.md @@ -0,0 +1,5 @@ +--- +'@linode/manager': Tech Stories +--- + +Replace one-off hardcoded color values with color tokens pt3 ([#11241](https://github.com/linode/manager/pull/11241)) diff --git a/packages/manager/src/assets/icons/monitor-disabled.svg b/packages/manager/src/assets/icons/monitor-disabled.svg index 2f730c7a332..7be1239b37c 100644 --- a/packages/manager/src/assets/icons/monitor-disabled.svg +++ b/packages/manager/src/assets/icons/monitor-disabled.svg @@ -1,6 +1,6 @@ - + diff --git a/packages/manager/src/assets/icons/toggleOff.svg b/packages/manager/src/assets/icons/toggleOff.svg index 79a13065668..433629a5f01 100644 --- a/packages/manager/src/assets/icons/toggleOff.svg +++ b/packages/manager/src/assets/icons/toggleOff.svg @@ -6,7 +6,7 @@ class="icon" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> - + \ No newline at end of file diff --git a/packages/manager/src/components/AreaChart/AreaChart.tsx b/packages/manager/src/components/AreaChart/AreaChart.tsx index 70dcabf72b4..ff43f4793ef 100644 --- a/packages/manager/src/components/AreaChart/AreaChart.tsx +++ b/packages/manager/src/components/AreaChart/AreaChart.tsx @@ -241,10 +241,10 @@ export const AreaChart = (props: AreaChartProps) => { } diff --git a/packages/manager/src/components/Checkbox.tsx b/packages/manager/src/components/Checkbox.tsx index 036779e0a61..bb7820f3769 100644 --- a/packages/manager/src/components/Checkbox.tsx +++ b/packages/manager/src/components/Checkbox.tsx @@ -78,7 +78,7 @@ const StyledCheckbox = styled(_Checkbox)(({ theme, ...props }) => ({ '&:hover': { color: theme.palette.primary.main, }, - color: '#ccc', + color: theme.tokens.color.Neutrals[40], transition: theme.transitions.create(['color']), ...(props.checked && { color: theme.palette.primary.main, @@ -88,7 +88,7 @@ const StyledCheckbox = styled(_Checkbox)(({ theme, ...props }) => ({ fill: `${theme.bg.main}`, opacity: 0.5, }, - color: '#ccc !important', + color: `${theme.tokens.color.Neutrals[40]} !important`, fill: `${theme.bg.main} !important`, pointerEvents: 'none', }), diff --git a/packages/manager/src/components/CopyableTextField/CopyableTextField.tsx b/packages/manager/src/components/CopyableTextField/CopyableTextField.tsx index fc03b58f186..7d3f057975f 100644 --- a/packages/manager/src/components/CopyableTextField/CopyableTextField.tsx +++ b/packages/manager/src/components/CopyableTextField/CopyableTextField.tsx @@ -60,7 +60,10 @@ const StyledTextField = styled(TextField)(({ theme }) => ({ '.removeDisabledStyles': { '& .MuiInput-input': { WebkitTextFillColor: 'unset !important', - borderColor: theme.name === 'light' ? '#ccc' : '#222', + borderColor: + theme.name === 'light' + ? theme.tokens.color.Neutrals[40] + : theme.tokens.color.Neutrals.Black, color: theme.name === 'light' ? `${theme.palette.text.primary} !important` @@ -68,7 +71,10 @@ const StyledTextField = styled(TextField)(({ theme }) => ({ opacity: theme.name === 'dark' ? 0.5 : 0.8, }, '&& .MuiInput-root': { - borderColor: theme.name === 'light' ? '#ccc' : '#222', + borderColor: + theme.name === 'light' + ? theme.tokens.color.Neutrals[40] + : theme.tokens.color.Neutrals.Black, opacity: 1, }, }, diff --git a/packages/manager/src/components/Dialog/Dialog.tsx b/packages/manager/src/components/Dialog/Dialog.tsx index fbbb76cfaa1..1504ef243ce 100644 --- a/packages/manager/src/components/Dialog/Dialog.tsx +++ b/packages/manager/src/components/Dialog/Dialog.tsx @@ -115,10 +115,10 @@ const StyledDialog = styled(_Dialog, { }, })); -const StyledHr = styled('hr')({ - backgroundColor: '#e3e5e8', +const StyledHr = styled('hr', { label: 'StyledHr' })(({ theme }) => ({ + backgroundColor: theme.tokens.color.Neutrals[20], border: 'none', height: 1, margin: '-2em 8px 0px 8px', width: '100%', -}); +})); diff --git a/packages/manager/src/components/EnhancedSelect/Select.styles.ts b/packages/manager/src/components/EnhancedSelect/Select.styles.ts index def55c13e51..3d1b2d4260f 100644 --- a/packages/manager/src/components/EnhancedSelect/Select.styles.ts +++ b/packages/manager/src/components/EnhancedSelect/Select.styles.ts @@ -86,7 +86,7 @@ export const useStyles = makeStyles()((theme: Theme) => ({ }, '& .react-select__control': { '&:hover': { - border: `1px dotted #ccc`, + border: `1px dotted ${theme.tokens.color.Neutrals[40]}`, cursor: 'text', }, '&--is-focused, &--is-focused:hover': { @@ -136,7 +136,7 @@ export const useStyles = makeStyles()((theme: Theme) => ({ width: 8, }, '&::-webkit-scrollbar-thumb': { - backgroundColor: '#ccc', + backgroundColor: theme.tokens.color.Neutrals[40], borderRadius: 8, }, backgroundColor: theme.bg.white, @@ -290,7 +290,7 @@ export const reactSelectStyles = (theme: Theme) => ({ control: (base: any) => ({ ...base, '&:hover': { - border: `1px dotted #ccc`, + border: `1px dotted ${theme.tokens.color.Neutrals[40]}`, cursor: 'text', }, '&--is-focused, &--is-focused:hover': { @@ -349,7 +349,7 @@ export const reactSelectStyles = (theme: Theme) => ({ width: 8, }, '&::-webkit-scrollbar-thumb': { - backgroundColor: '#ccc', + backgroundColor: theme.tokens.color.Neutrals[40], borderRadius: 8, }, backgroundColor: theme.bg.white, diff --git a/packages/manager/src/components/LineGraph/LineGraph.tsx b/packages/manager/src/components/LineGraph/LineGraph.tsx index cde35ce4004..745e6a27af1 100644 --- a/packages/manager/src/components/LineGraph/LineGraph.tsx +++ b/packages/manager/src/components/LineGraph/LineGraph.tsx @@ -284,7 +284,7 @@ export const LineGraph = (props: LineGraphProps) => { intersect: false, mode: 'index', position: 'nearest', - titleFontColor: '#606469', + titleFontColor: theme.tokens.color.Neutrals[70], xPadding: 8, yPadding: 10, }, diff --git a/packages/manager/src/components/PasswordInput/StrengthIndicator.tsx b/packages/manager/src/components/PasswordInput/StrengthIndicator.tsx index 5eb0b75f3b0..d64a2d4e88b 100644 --- a/packages/manager/src/components/PasswordInput/StrengthIndicator.tsx +++ b/packages/manager/src/components/PasswordInput/StrengthIndicator.tsx @@ -17,7 +17,7 @@ const useStyles = makeStyles()((theme: Theme) => ({ '&[class*="strength-"]': { backgroundColor: theme.palette.primary.main, }, - backgroundColor: '#C9CACB', + backgroundColor: theme.tokens.color.Neutrals[40], height: '4px', transition: 'background-color .5s ease-in-out', }, diff --git a/packages/manager/src/components/Placeholder/Placeholder.tsx b/packages/manager/src/components/Placeholder/Placeholder.tsx index 891cc6dddf6..25662fe8936 100644 --- a/packages/manager/src/components/Placeholder/Placeholder.tsx +++ b/packages/manager/src/components/Placeholder/Placeholder.tsx @@ -218,12 +218,20 @@ const StyledButtonWrapper = styled('div')(({ theme }) => ({ const StyledLinksSection = styled('div')< Pick >(({ theme, ...props }) => ({ - borderTop: `1px solid ${theme.name === 'light' ? '#e3e5e8' : '#2e3238'}`, + borderTop: `1px solid ${ + theme.name === 'light' + ? theme.tokens.color.Neutrals[20] + : theme.tokens.color.Neutrals[100] + }`, gridArea: 'links', paddingTop: '38px', ...(props.showTransferDisplay && { - borderBottom: `1px solid ${theme.name === 'light' ? '#e3e5e8' : '#2e3238'}`, + borderBottom: `1px solid ${ + theme.name === 'light' + ? theme.tokens.color.Neutrals[20] + : theme.tokens.color.Neutrals[100] + }`, paddingBottom: theme.spacing(2), [theme.breakpoints.up('md')]: { paddingBottom: theme.spacing(4), diff --git a/packages/manager/src/components/Tag/Tag.styles.ts b/packages/manager/src/components/Tag/Tag.styles.ts index 77a491cc8cb..b9c8cef2b11 100644 --- a/packages/manager/src/components/Tag/Tag.styles.ts +++ b/packages/manager/src/components/Tag/Tag.styles.ts @@ -92,7 +92,9 @@ export const StyledDeleteButton = styled(StyledLinkButton, { }, borderBottomRightRadius: 3, borderLeft: `1px solid ${ - theme.name === 'light' ? theme.tokens.color.Neutrals.White : '#2e3238' + theme.name === 'light' + ? theme.tokens.color.Neutrals.White + : theme.tokens.color.Neutrals[100] }`, borderRadius: theme.tokens.borderRadius.None, borderTopRightRadius: 3, diff --git a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSummary/DatabaseSummaryConnectionDetails.style.ts b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSummary/DatabaseSummaryConnectionDetails.style.ts index a61db9661f8..582873cb1a6 100644 --- a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSummary/DatabaseSummaryConnectionDetails.style.ts +++ b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSummary/DatabaseSummaryConnectionDetails.style.ts @@ -19,7 +19,7 @@ export const useStyles = makeStyles()((theme: Theme) => ({ }, '&[disabled]': { '& g': { - stroke: '#cdd0d5', + stroke: theme.tokens.color.Neutrals[30], }, '&:hover': { backgroundColor: 'inherit', @@ -27,7 +27,7 @@ export const useStyles = makeStyles()((theme: Theme) => ({ }, // Override disabled background color defined for dark mode backgroundColor: 'transparent', - color: '#cdd0d5', + color: theme.tokens.color.Neutrals[30], cursor: 'default', }, color: theme.palette.primary.main, @@ -47,7 +47,11 @@ export const useStyles = makeStyles()((theme: Theme) => ({ fontFamily: theme.font.bold, }, background: theme.tokens.interaction.Background.Secondary, - border: `1px solid ${theme.name === 'light' ? '#ccc' : '#222'}`, + border: `1px solid ${ + theme.name === 'light' + ? theme.tokens.color.Neutrals[40] + : theme.tokens.color.Neutrals.Black + }`, padding: `${theme.spacing(1)} 15px`, }, copyToolTip: { diff --git a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSummary/legacy/DatabaseSummaryConnectionDetailsLegacy.tsx b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSummary/legacy/DatabaseSummaryConnectionDetailsLegacy.tsx index 2f9288bddd3..849f5924418 100644 --- a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSummary/legacy/DatabaseSummaryConnectionDetailsLegacy.tsx +++ b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSummary/legacy/DatabaseSummaryConnectionDetailsLegacy.tsx @@ -36,7 +36,7 @@ const useStyles = makeStyles()((theme: Theme) => ({ }, '&[disabled]': { '& g': { - stroke: '#cdd0d5', + stroke: theme.tokens.color.Neutrals[30], }, '&:hover': { backgroundColor: 'inherit', @@ -44,7 +44,7 @@ const useStyles = makeStyles()((theme: Theme) => ({ }, // Override disabled background color defined for dark mode backgroundColor: 'transparent', - color: '#cdd0d5', + color: theme.tokens.color.Neutrals[30], cursor: 'default', }, color: theme.palette.primary.main, @@ -64,7 +64,11 @@ const useStyles = makeStyles()((theme: Theme) => ({ fontFamily: theme.font.bold, }, background: theme.bg.bgAccessRowTransparentGradient, - border: `1px solid ${theme.name === 'light' ? '#ccc' : '#222'}`, + border: `1px solid ${ + theme.name === 'light' + ? theme.tokens.color.Neutrals[40] + : theme.tokens.color.Neutrals.Black + }`, padding: '8px 15px', }, copyToolTip: { diff --git a/packages/manager/src/features/Events/FormattedEventMessage.tsx b/packages/manager/src/features/Events/FormattedEventMessage.tsx index 6a0677a7d75..f378c933be1 100644 --- a/packages/manager/src/features/Events/FormattedEventMessage.tsx +++ b/packages/manager/src/features/Events/FormattedEventMessage.tsx @@ -58,7 +58,10 @@ const formatMessage = (message: string): JSX.Element => { }; const StyledPre = styled('pre')(({ theme }) => ({ - backgroundColor: theme.name === 'dark' ? '#222' : '#f4f4f4', + backgroundColor: + theme.name === 'dark' + ? theme.tokens.color.Neutrals.Black + : theme.tokens.color.Neutrals[5], borderRadius: 4, display: 'inline', fontSize: '0.75rem', diff --git a/packages/manager/src/features/ObjectStorage/AccessKeyLanding/HostNamesList.tsx b/packages/manager/src/features/ObjectStorage/AccessKeyLanding/HostNamesList.tsx index 7229f67a0fd..5591b4c05f1 100644 --- a/packages/manager/src/features/ObjectStorage/AccessKeyLanding/HostNamesList.tsx +++ b/packages/manager/src/features/ObjectStorage/AccessKeyLanding/HostNamesList.tsx @@ -27,7 +27,11 @@ export const HostNamesList = ({ objectStorageKey }: Props) => { ({ backgroundColor: theme.bg.main, - border: `1px solid ${theme.name === 'light' ? '#ccc' : '#222'}`, + border: `1px solid ${ + theme.name === 'light' + ? theme.tokens.color.Neutrals[40] + : theme.tokens.color.Neutrals.Black + }`, minHeight: '34px', })} displayShadow={currentListHeight > maxHeight} diff --git a/packages/manager/src/features/Profile/AuthenticationSettings/PhoneVerification/PhoneVerification.styles.ts b/packages/manager/src/features/Profile/AuthenticationSettings/PhoneVerification/PhoneVerification.styles.ts index cd5b9f75a26..d017870775b 100644 --- a/packages/manager/src/features/Profile/AuthenticationSettings/PhoneVerification/PhoneVerification.styles.ts +++ b/packages/manager/src/features/Profile/AuthenticationSettings/PhoneVerification/PhoneVerification.styles.ts @@ -21,7 +21,10 @@ export const StyledPhoneNumberTitle = styled(Typography, { export const StyledLabel = styled(Typography, { label: 'StyledLabel', })(({ theme }) => ({ - color: theme.name === 'light' ? '#555' : '#c9cacb', + color: + theme.name === 'light' + ? theme.tokens.color.Neutrals[80] + : theme.tokens.color.Neutrals[40], fontSize: '.875rem', lineHeight: '1', marginBottom: '8px', @@ -34,7 +37,10 @@ export const StyledInputContainer = styled(Box, { shouldForwardProp: omittedProps(['isPhoneInputFocused']), })<{ isPhoneInputFocused: boolean }>(({ isPhoneInputFocused, theme }) => ({ backgroundColor: theme.name === 'dark' ? '#343438' : undefined, - border: theme.name === 'light' ? '1px solid #ccc' : '1px solid #222', + border: + theme.name === 'light' + ? `1px solid ${theme.tokens.color.Neutrals[40]}` + : `1px solid ${theme.tokens.color.Neutrals.Black}`, transition: 'border-color 225ms ease-in-out', width: 'fit-content', ...(isPhoneInputFocused && @@ -45,7 +51,7 @@ export const StyledInputContainer = styled(Box, { } : { borderColor: '#3683dc', - boxShadow: '0 0 2px 1px #222', + boxShadow: `0 0 2px 1px ${theme.tokens.color.Neutrals.Black}`, })), })); diff --git a/packages/manager/src/features/TopMenu/NotificationMenu/NotificationMenu.tsx b/packages/manager/src/features/TopMenu/NotificationMenu/NotificationMenu.tsx index 063ca7d533c..86b74c64b6b 100644 --- a/packages/manager/src/features/TopMenu/NotificationMenu/NotificationMenu.tsx +++ b/packages/manager/src/features/TopMenu/NotificationMenu/NotificationMenu.tsx @@ -88,7 +88,9 @@ export const NotificationMenu = () => { ({ ...topMenuIconButtonSx(theme), - color: notificationContext.menuOpen ? '#606469' : '#c9c7c7', + color: notificationContext.menuOpen + ? theme.tokens.color.Neutrals[70] + : theme.tokens.color.Neutrals[40], })} aria-describedby={id} aria-haspopup="true" diff --git a/packages/manager/src/features/TopMenu/SearchBar/SearchBar.styles.ts b/packages/manager/src/features/TopMenu/SearchBar/SearchBar.styles.ts index f23d19daff8..d53c91af154 100644 --- a/packages/manager/src/features/TopMenu/SearchBar/SearchBar.styles.ts +++ b/packages/manager/src/features/TopMenu/SearchBar/SearchBar.styles.ts @@ -16,7 +16,7 @@ export const StyledIconButton = styled(IconButton, { }, backgroundColor: 'inherit', border: 'none', - color: '#c9c7c7', + color: theme.tokens.color.Neutrals[40], cursor: 'pointer', padding: theme.spacing(), position: 'relative', diff --git a/packages/manager/src/features/TopMenu/SearchBar/SearchBar.tsx b/packages/manager/src/features/TopMenu/SearchBar/SearchBar.tsx index b6a53bb8130..18bf5642e0b 100644 --- a/packages/manager/src/features/TopMenu/SearchBar/SearchBar.tsx +++ b/packages/manager/src/features/TopMenu/SearchBar/SearchBar.tsx @@ -323,8 +323,11 @@ const SearchBar = (props: SearchProps) => { ({ + color: theme.tokens.color.Neutrals[40], + fontSize: '2rem', + })} data-qa-search-icon - sx={{ color: '#c9cacb', fontSize: '2rem' }} />