31 lines
1.0 KiB
JavaScript
31 lines
1.0 KiB
JavaScript
import * as React from "react";
|
|
import { iconFilledClassName, iconRegularClassName } from "./constants";
|
|
import { __styles, mergeClasses } from "@griffel/react";
|
|
const useBundledIconStyles = __styles({
|
|
"root": {
|
|
"mc9l5x": "fjseox"
|
|
},
|
|
"visible": {
|
|
"mc9l5x": "f1w7gpdv"
|
|
}
|
|
}, {
|
|
"d": [".fjseox{display:none;}", ".f1w7gpdv{display:inline;}"]
|
|
});
|
|
const bundleIcon = (FilledIcon, RegularIcon) => {
|
|
const Component = props => {
|
|
const {
|
|
className,
|
|
filled,
|
|
...rest
|
|
} = props;
|
|
const styles = useBundledIconStyles();
|
|
return React.createElement(React.Fragment, null, React.createElement(FilledIcon, Object.assign({}, rest, {
|
|
className: mergeClasses(styles.root, filled && styles.visible, iconFilledClassName, className)
|
|
})), React.createElement(RegularIcon, Object.assign({}, rest, {
|
|
className: mergeClasses(styles.root, !filled && styles.visible, iconRegularClassName, className)
|
|
})));
|
|
};
|
|
Component.displayName = "CompoundIcon";
|
|
return Component;
|
|
};
|
|
export default bundleIcon; |