Files
medusa-store/packages/design-system/toolbox/src/transformers/transform-svg.ts
Kasper Fabricius Kristensen 2e3d444c9b chore(ui-preset,icons,toolbox): Update dark mode theme (#8168)
* run scripts

* chore(ui-preset,icons): Update dark mode theme

* fix nameing of icon
2024-07-18 08:56:35 +02:00

57 lines
1.1 KiB
TypeScript

import { transform } from "@svgr/core"
import jsx from "@svgr/plugin-jsx"
import prettier from "@svgr/plugin-prettier"
import svgo from "@svgr/plugin-svgo"
import { defaultTemplate, fixedTemplate } from "@/templates"
type TransformArgs = {
code: string
componentName: string
fixed?: boolean
}
export async function transformSvg({
code,
componentName,
fixed = false,
}: TransformArgs) {
return await transform(
code,
{
typescript: true,
replaceAttrValues: !fixed
? {
"#18181B": "{color}",
}
: undefined,
svgProps: {
ref: "{ref}",
},
expandProps: "end",
plugins: [svgo, jsx, prettier],
jsxRuntime: "classic",
prettierConfig: {
semi: false,
parser: "typescript",
},
svgoConfig: {
plugins: [
{
name: "preset-default",
params: {
overrides: {
removeTitle: false,
},
},
},
],
},
template: fixed ? fixedTemplate : defaultTemplate,
},
{
componentName,
}
)
}