Replace custom SVG icons and @mui/icons-material with lucide-react for consistent, lightweight icon management across the application. ## Changes - Add lucide-react package and remove @mui/icons-material - Create theme-aware Icon wrapper component with color resolution - Create iconMap.js for legacy icon name mappings - Migrate 64 components to use new Icon component - Remove 74 unused SVG files from assets/icons/ ## Benefits - Consistent icon API across the application - Smaller bundle size with tree-shakeable imports - Theme-aware color support via MUI theme paths - Simpler maintenance with single icon library
37 lines
596 B
React
37 lines
596 B
React
import Icon from "../Icon";
|
|
import PropTypes from "prop-types";
|
|
|
|
const ArrowLeft = ({ type, color = "#667085", ...props }) => {
|
|
if (type === "double") {
|
|
return (
|
|
<Icon
|
|
name="ChevronsLeft"
|
|
color={color}
|
|
{...props}
|
|
/>
|
|
);
|
|
} else if (type === "long") {
|
|
return (
|
|
<Icon
|
|
name="ArrowLeft"
|
|
color={color}
|
|
{...props}
|
|
/>
|
|
);
|
|
} else {
|
|
return (
|
|
<Icon
|
|
name="ChevronLeft"
|
|
color={color}
|
|
{...props}
|
|
/>
|
|
);
|
|
}
|
|
};
|
|
|
|
ArrowLeft.propTypes = {
|
|
color: PropTypes.string,
|
|
type: PropTypes.oneOf(["double", "long", "default"]),
|
|
};
|
|
export default ArrowLeft;
|