diff --git a/app/javascript/components/settings-tasks-form/icons.jsx b/app/javascript/components/settings-tasks-form/icons.jsx index eca4ca2e2c7..3263975bee8 100644 --- a/app/javascript/components/settings-tasks-form/icons.jsx +++ b/app/javascript/components/settings-tasks-form/icons.jsx @@ -5,7 +5,7 @@ import { carbonizeIcon } from '../../menu/icon'; const Icon = ({ text, icon, color, size, }) => { - const IconElement = carbonizeIcon(icon, size); + const IconElement = carbonizeIcon(icon, { size }); return (
diff --git a/app/javascript/components/toolbar/MenuIcon.js b/app/javascript/components/toolbar/MenuIcon.js index ab4770735f7..a81dfffa9d9 100644 --- a/app/javascript/components/toolbar/MenuIcon.js +++ b/app/javascript/components/toolbar/MenuIcon.js @@ -1,10 +1,11 @@ /* eslint-disable react/destructuring-assignment */ import React from 'react'; import PropTypes from 'prop-types'; +import { carbonizeIcon } from '../../menu/icon'; export const MenuIcon = (props) => (
- { props.icon && } + { props.icon && carbonizeIcon(props.icon, { color: props.color }) } {' '} { props.text }
diff --git a/app/javascript/components/toolbar/ToolbarButton.jsx b/app/javascript/components/toolbar/ToolbarButton.jsx index 5eb46282183..26efacd3158 100644 --- a/app/javascript/components/toolbar/ToolbarButton.jsx +++ b/app/javascript/components/toolbar/ToolbarButton.jsx @@ -3,6 +3,7 @@ import PropTypes from 'prop-types'; import { adjustColor, isEnabled } from './utility'; import CountContext from './ToolbarContext'; +import { carbonizeIcon } from '../../menu/icon'; const classNames = require('classnames'); @@ -10,7 +11,10 @@ const ButtonIcon = ({ img_url: imgUrl, icon, color, enabled, }) => { if (icon) { - return ; + const options = { + color: adjustColor(color, enabled), + }; + return carbonizeIcon(icon, options); } if (imgUrl && !icon) { diff --git a/app/javascript/components/toolbar/ToolbarList.jsx b/app/javascript/components/toolbar/ToolbarList.jsx index 496135c3240..d857517ae38 100644 --- a/app/javascript/components/toolbar/ToolbarList.jsx +++ b/app/javascript/components/toolbar/ToolbarList.jsx @@ -6,6 +6,7 @@ import { MenuIcon } from './MenuIcon'; import { isEnabled } from './utility'; import { ToolbarClick } from './ToolbarClick'; import CountContext from './ToolbarContext'; +import { carbonizeIcon } from '../../menu/icon'; export const ToolbarList = (props) => { const count = useContext(CountContext); @@ -58,7 +59,7 @@ export const ToolbarList = (props) => { onClose={closeFunc} renderIcon={() => (
- { props.icon && } + { props.icon && carbonizeIcon(props.icon, { color: props.color }) } {' '} { props.text ? props.text : (props.title && props.title)} diff --git a/app/javascript/menu/icon.jsx b/app/javascript/menu/icon.jsx index d91be92cb1b..431ae455fb5 100644 --- a/app/javascript/menu/icon.jsx +++ b/app/javascript/menu/icon.jsx @@ -2,13 +2,20 @@ import React from 'react'; import PropTypes from 'prop-types'; import * as icons from '@carbon/icons-react'; -export const carbonizeIcon = (classname, size = 20) => { +export const carbonizeIcon = (classname, options = undefined) => { + const size = (options && options.size) || 20; // Default size is 16px + console.log(classname); + console.log(size); + if (!classname) { return null; } if (!classname.startsWith('carbon--')) { - return props => ; + if (options && options.color) { + return ; + } + return ; } const name = classname.replace(/^carbon--/, ''); @@ -17,7 +24,7 @@ export const carbonizeIcon = (classname, size = 20) => { }; const MiqIcon = ({ icon, size }) => { - const IconElement = carbonizeIcon(icon, size); + const IconElement = carbonizeIcon(icon, { size }); return ; };