Skip to content

Commit 63625e2

Browse files
committed
New: added custom class
1 parent 0f155a9 commit 63625e2

File tree

7 files changed

+21
-11
lines changed

7 files changed

+21
-11
lines changed

package-lock.json

Lines changed: 5 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,5 +101,8 @@
101101
"files": [
102102
"es",
103103
"lib"
104-
]
104+
],
105+
"dependencies": {
106+
"classnames": "^2.3.1"
107+
}
105108
}

scripts/iconCommonScript.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ async function generateIconCommonComponents ({ type, from }: IconGenerateScript)
3030
}
3131

3232
// eslint-disable-next-line no-template-curly-in-string
33-
const propString = 'svg data-testid="eos-svg-component" transform={`rotate(${rotate}) translate(${translateX}, ${translateY}) scale(${scaleX}, ${scaleY})`} fill={color} width={size} height={size}'
33+
const propString = 'svg className={classString} data-testid="eos-svg-component" transform={`rotate(${rotate}) translate(${translateX}, ${translateY}) scale(${scaleX}, ${scaleY})`} fill={color} width={size} height={size}'
3434
filled = filled.replace('svg', propString)
3535
outlined = outlined.replace('svg', propString)
3636

scripts/iconScript.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ async function generateIconComponents ({ type, from }: IconGenerateScript) {
2727
}
2828

2929
// eslint-disable-next-line no-template-curly-in-string
30-
const propString = 'svg data-testid="eos-svg-component" transform={`rotate(${rotate}) translate(${translateX}, ${translateY}) scale(${scaleX}, ${scaleY})`} fill={color} width={size} height={size}'
30+
const propString = 'svg className={classString} data-testid="eos-svg-component" transform={`rotate(${rotate}) translate(${translateX}, ${translateY}) scale(${scaleX}, ${scaleY})`} fill={color} width={size} height={size}'
3131
data = data.replace('svg', propString)
3232

3333
const render = componentTemplate({ fileName, data })

template/iconCommonComponent.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,15 @@ function componentCommonTemplate ({ fileName, filled, outlined }:CommonTemplateP
99
import * as React from 'react';
1010
import { IconCommonProps, valuesMap } from '../helper';
1111
import { flipFunction } from '../flipFunction';
12+
import classNames from 'classnames';
1213
13-
function EOS_${fileName}({size = "${iconData.iconDefault.size}", color = "${iconData.iconDefault.color}", rotate = ${iconData.iconDefault.rotate}, horizontalFlip = ${iconData.iconDefault.horizontalFlip}, verticalFlip = ${iconData.iconDefault.verticalFlip}, theme = "${iconData.iconDefault.theme}"}: IconCommonProps) {
14+
function EOS_${fileName}({size = "${iconData.iconDefault.size}", color = "${iconData.iconDefault.color}", rotate = ${iconData.iconDefault.rotate}, horizontalFlip = ${iconData.iconDefault.horizontalFlip}, verticalFlip = ${iconData.iconDefault.verticalFlip}, theme = "${iconData.iconDefault.theme}", className}: IconCommonProps) {
1415
const sizeString: string = size.toString()
1516
if(Object.keys(valuesMap).includes(sizeString)) {
1617
size = valuesMap[size]
1718
}
1819
const { scaleX, scaleY, translateX, translateY } = flipFunction({horizontalFlip,verticalFlip})
20+
const classString = classNames(className);
1921
return (
2022
<>
2123
{

template/iconComponent.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,15 @@ function componentTemplate ({ fileName, data }:TemplateProps) {
88
import * as React from 'react';
99
import { IconProps, valuesMap } from '../helper';
1010
import { flipFunction } from '../flipFunction';
11+
import classNames from 'classnames';
1112
12-
function EOS_${fileName}({size = "${iconData.iconDefault.size}", color = "${iconData.iconDefault.color}", rotate = ${iconData.iconDefault.rotate}, horizontalFlip = ${iconData.iconDefault.horizontalFlip}, verticalFlip = ${iconData.iconDefault.verticalFlip}}: IconProps) {
13+
function EOS_${fileName}({size = "${iconData.iconDefault.size}", color = "${iconData.iconDefault.color}", rotate = ${iconData.iconDefault.rotate}, horizontalFlip = ${iconData.iconDefault.horizontalFlip}, verticalFlip = ${iconData.iconDefault.verticalFlip}, className}: IconProps) {
1314
const sizeString: string = size.toString()
1415
if(Object.keys(valuesMap).includes(sizeString)) {
1516
size = valuesMap[size]
1617
}
1718
const { scaleX, scaleY, translateX, translateY } = flipFunction({horizontalFlip,verticalFlip})
19+
const classString = classNames(className);
1820
return (
1921
${data}
2022
);

utils/helper.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ export interface IconProps {
44
color?: string,
55
rotate?: string | number,
66
horizontalFlip?: boolean,
7-
verticalFlip?: boolean
7+
verticalFlip?: boolean,
8+
className?: string
89
}
910

1011
// Interface for Common React SVG components
@@ -14,7 +15,8 @@ export interface IconCommonProps {
1415
rotate?: string | number,
1516
horizontalFlip?: boolean,
1617
verticalFlip?: boolean,
17-
theme?: string
18+
theme?: string,
19+
className?: string
1820
}
1921

2022
export interface ValueMap {

0 commit comments

Comments
 (0)