Skip to content

Commit 601ffe1

Browse files
Merge pull request #641 from dottharun/feat/catalogIcon
feat(icon): CatalogIcon from Layer5 brand
2 parents db309c1 + 26cfafb commit 601ffe1

File tree

3 files changed

+67
-0
lines changed

3 files changed

+67
-0
lines changed

src/icons/CatalogIcon/CatalogIcon.tsx

+65
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
import { FC } from 'react';
2+
import { DEFAULT_HEIGHT, DEFAULT_WIDTH } from '../../constants/constants';
3+
import { CARIBBEAN_GREEN, DARK_SLATE_GRAY, KEPPEL, WHITE, useTheme } from '../../theme';
4+
import { IconProps } from '../types';
5+
6+
type CatalogIconProps = {
7+
primaryFill?: string;
8+
secondaryFill?: string;
9+
tertiaryFill?: string;
10+
} & IconProps;
11+
12+
export const CatalogIcon: FC<CatalogIconProps> = ({
13+
width = DEFAULT_WIDTH,
14+
height = DEFAULT_HEIGHT,
15+
primaryFill,
16+
secondaryFill,
17+
tertiaryFill = WHITE,
18+
style = {},
19+
...props
20+
}) => {
21+
const theme = useTheme();
22+
const themeMode = theme?.palette?.mode ?? 'light';
23+
24+
const themePrimaryFill = primaryFill ?? (themeMode === 'dark' ? KEPPEL : DARK_SLATE_GRAY);
25+
const themeSecondaryFill = secondaryFill ?? (themeMode === 'dark' ? CARIBBEAN_GREEN : KEPPEL);
26+
27+
return (
28+
<svg
29+
width={width}
30+
height={height}
31+
xmlns="http://www.w3.org/2000/svg"
32+
viewBox="0 0 64 64"
33+
style={style}
34+
{...props}
35+
>
36+
<path
37+
d="m32.03,60H5.1c-2.38,0-4.18-1.23-4.86-3.33-.15-.52-.25-1.11-.25-1.67C0,46.11-.04,37.19,0,28.3c0-.74.12-1.48.34-2.19,2.26-6.92,4.52-13.8,6.78-20.68.43-1.3.62-1.42,2.01-1.42h45.34c1.36,0,1.55.12,1.95,1.36,2.14,6.3,4.24,12.63,6.38,18.92.19.56.5,1.08.68,1.64.22.74.53,1.48.53,2.22.03,9.01.03,18.06,0,27.07,0,2.66-2.17,4.75-4.89,4.75-9.04.03-18.04.03-27.08.03Zm9.16-36.74h18.75c-.06-.28-.09-.43-.15-.62-1.76-5.25-3.53-10.47-5.26-15.71-.19-.59-.56-.65-1.05-.65H10.08c-.62,0-.9.22-1.08.8-1.67,5.19-3.37,10.37-5.08,15.53-.06.22-.12.43-.19.68h19.06c.31,2.38.99,2.99,3.37,2.99h11.67c2.32.03,3.09-.62,3.34-3.03Zm-17.95,19.82c.22-.77.43-1.48.62-2.19.37-1.42-.34-2.75-1.64-3.12-1.36-.37-2.63.34-3.06,1.76-.53,1.73-1.05,3.49-1.55,5.25-.5,1.76.62,3.21,2.44,3.21h24.67c1.61,0,2.82-1.42,2.38-2.96-.59-2.01-1.27-3.95-1.98-5.93-.37-1.02-1.33-1.48-2.41-1.42-.99.06-1.89.71-2.1,1.67-.12.59-.03,1.2.06,1.82.12.65.37,1.23.62,1.91h-18.04Z"
38+
strokeWidth="0"
39+
fill={themePrimaryFill}
40+
/>
41+
<path
42+
d="m32.11,18.48h22.13c.34,0,.8,0,1.02.19.28.28.56.77.53,1.14-.03.62-.53.93-1.11.93-1.21.03-2.41,0-3.62,0H9.58c-.84-.03-1.36-.46-1.36-1.17s.53-1.14,1.39-1.14h11.14c3.78.06,7.55.06,11.36.06Z"
43+
strokeWidth="0"
44+
fill={themeSecondaryFill}
45+
/>
46+
<path
47+
d="m31.98,13.66h20.64c.31,0,.62,0,.93.03.62.09.99.43,1.02,1.08.03.65-.34,1.05-.99,1.2-.25.06-.53.03-.77.03H10.97c-.31,0-.71.03-.9-.12-.31-.31-.68-.8-.65-1.14.03-.37.53-.71.9-.99.19-.12.56-.06.84-.06,6.96-.03,13.9-.03,20.83-.03Z"
48+
strokeWidth="0"
49+
fill={themeSecondaryFill}
50+
/>
51+
<path
52+
d="m32,11.16H12.9c-.22,0-.46.03-.68-.03-.62-.12-1.02-.52-1.02-1.17s.4-1.02,1.05-1.14c.19-.03.4-.03.62-.03h38.25c.22,0,.4-.03.62.03.62.12,1.02.49,1.05,1.14.03.56-.46,1.11-1.11,1.2-.22.03-.4,0-.62,0h-19.06Z"
53+
strokeWidth="0"
54+
fill={themeSecondaryFill}
55+
/>
56+
<path
57+
d="m20.05,47.99h24.67c1.61,0,2.82-1.42,2.38-2.96-.59-2.01-1.27-3.95-1.98-5.93-.37-1.02-1.33-1.48-2.41-1.42-.99.06-1.89.71-2.1,1.67-.12.59-.03,1.2.06,1.82.12.65.37,1.23.62,1.91h-18.04c.22-.77.43-1.48.62-2.19.37-1.42-.34-2.75-1.64-3.12-1.36-.37-2.63.34-3.06,1.76-.53,1.73-1.05,3.49-1.55,5.25s.62,3.21,2.44,3.21Z"
58+
strokeWidth="0"
59+
fill={tertiaryFill}
60+
/>
61+
</svg>
62+
);
63+
};
64+
65+
export default CatalogIcon;

src/icons/CatalogIcon/index.ts

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export { default as CatalogIcon } from './CatalogIcon';

src/icons/index.ts

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ export * from './AddCircle';
33
export * from './Application';
44
export * from './Bell';
55
export * from './Bus';
6+
export * from './CatalogIcon';
67
export * from './Chevron';
78
export * from './Circle';
89
export * from './Clone';

0 commit comments

Comments
 (0)