Skip to content

Commit 868652b

Browse files
committed
Fix className logic
1 parent 2e1c60d commit 868652b

File tree

4 files changed

+25
-14
lines changed

4 files changed

+25
-14
lines changed

libs/extractor/src/prop_modify_utils.rs

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,8 @@ pub fn modify_props<'a>(
133133
}
134134
}
135135
}
136+
println!("class_name_prop: {:?}", class_name_prop);
137+
println!("style_prop: {:?}", style_prop);
136138
if let Some(ex) = get_class_name_expression(
137139
ast_builder,
138140
&class_name_prop,
@@ -179,17 +181,26 @@ pub fn get_class_name_expression<'a>(
179181
]
180182
.into_iter()
181183
.flatten()
182-
.chain(spread_props.iter().map(|ex| {
183-
convert_class_name(
184-
ast_builder,
185-
&Expression::StaticMemberExpression(ast_builder.alloc_static_member_expression(
186-
SPAN,
187-
ex.clone_in(ast_builder.allocator),
188-
ast_builder.identifier_name(SPAN, ast_builder.atom("className")),
189-
true,
190-
)),
191-
)
192-
}))
184+
.chain(if class_name_prop.is_some() {
185+
vec![]
186+
} else {
187+
spread_props
188+
.iter()
189+
.map(|ex| {
190+
convert_class_name(
191+
ast_builder,
192+
&Expression::StaticMemberExpression(
193+
ast_builder.alloc_static_member_expression(
194+
SPAN,
195+
ex.clone_in(ast_builder.allocator),
196+
ast_builder.identifier_name(SPAN, ast_builder.atom("className")),
197+
true,
198+
),
199+
),
200+
)
201+
})
202+
.collect::<Vec<_>>()
203+
})
193204
.collect::<Vec<_>>()
194205
.as_slice(),
195206
)

libs/extractor/src/snapshots/extractor__tests__extract_style_props_with_class_name-9.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,5 @@ ToBTreeSet {
2020
"buttonS",
2121
),
2222
},
23-
code: "import \"@devup-ui/core/devup-ui.css\";\nimport clsx from \"clsx\";\n<button {...props} className={`${clsx(variants[variant], isError && variant === \"default\" && errorClassNames, className) || \"\"} d0 ${isPrimary ? {\n\t\"md\": \"typo-buttonM\",\n\t\"sm\": \"typo-buttonS\"\n}[size] || \"\" : \"\"} ${props?.className || \"\"}`} style={props?.style} />;\n",
23+
code: "import \"@devup-ui/core/devup-ui.css\";\nimport clsx from \"clsx\";\n<button {...props} className={`${clsx(variants[variant], isError && variant === \"default\" && errorClassNames, className) || \"\"} d0 ${isPrimary ? {\n\t\"md\": \"typo-buttonM\",\n\t\"sm\": \"typo-buttonS\"\n}[size] || \"\" : \"\"}`} style={props?.style} />;\n",
2424
}

libs/extractor/src/snapshots/extractor__tests__rest_props-2.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,5 +53,5 @@ ToBTreeSet {
5353
},
5454
),
5555
},
56-
code: "import \"@devup-ui/core/devup-ui.css\";\nexport default function Card({ children, className,...props }) {\n\treturn <div {...props} className={`${className || \"\"} d0 d1 d2 d3 ${props?.className || \"\"}`} style={props?.style}>\n {children}\n </div>;\n}\n",
56+
code: "import \"@devup-ui/core/devup-ui.css\";\nexport default function Card({ children, className,...props }) {\n\treturn <div {...props} className={`${className || \"\"} d0 d1 d2 d3`} style={props?.style}>\n {children}\n </div>;\n}\n",
5757
}

libs/extractor/src/snapshots/extractor__tests__support_transpile_mjs-5.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,5 @@ ToBTreeSet {
1414
},
1515
),
1616
},
17-
code: "import \"@devup-ui/core/devup-ui.css\";\nimport { jsx as e } from \"react/jsx-runtime\";\ne(\"div\", {\n\t...props,\n\tclassName: `a d0 ${props?.className || \"\"}`,\n\tstyle: {\n\t\t...{ \"--d1\": variable },\n\t\t...{ color: \"blue\" },\n\t\t...props?.style\n\t}\n});\n",
17+
code: "import \"@devup-ui/core/devup-ui.css\";\nimport { jsx as e } from \"react/jsx-runtime\";\ne(\"div\", {\n\t...props,\n\tclassName: \"a d0\",\n\tstyle: {\n\t\t...{ \"--d1\": variable },\n\t\t...{ color: \"blue\" },\n\t\t...props?.style\n\t}\n});\n",
1818
}

0 commit comments

Comments
 (0)