diff --git a/.changeset/hot-cherries-speak.md b/.changeset/hot-cherries-speak.md
new file mode 100644
index 00000000..ba512a5b
--- /dev/null
+++ b/.changeset/hot-cherries-speak.md
@@ -0,0 +1,5 @@
+---
+"@devup-ui/wasm": patch
+---
+
+Fix direct select issue
diff --git a/libs/extractor/src/lib.rs b/libs/extractor/src/lib.rs
index 6f963db2..030a4cc9 100644
--- a/libs/extractor/src/lib.rs
+++ b/libs/extractor/src/lib.rs
@@ -1128,6 +1128,8 @@ export {
}
)
.unwrap());
+
+ reset_class_map();
assert_debug_snapshot!(extract(
"test.js",
r#"import {Flex} from '@devup-ui/core'
@@ -1139,6 +1141,22 @@ export {
}
)
.unwrap());
+
+ reset_class_map();
+ assert_debug_snapshot!(extract(
+ "test.js",
+ r#"import {Center} from '@devup-ui/core'
+
+
+ "#,
+ ExtractOption {
+ package: "@devup-ui/core".to_string(),
+ css_file: None
+ }
+ )
+ .unwrap());
}
#[test]
diff --git a/libs/extractor/src/snapshots/extractor__tests__props_direct_select-11.snap b/libs/extractor/src/snapshots/extractor__tests__props_direct_select-11.snap
new file mode 100644
index 00000000..c71576d4
--- /dev/null
+++ b/libs/extractor/src/snapshots/extractor__tests__props_direct_select-11.snap
@@ -0,0 +1,44 @@
+---
+source: libs/extractor/src/lib.rs
+expression: "extract(\"test.js\",\nr#\"import {Center} from '@devup-ui/core'\n\n \n \"#,\nExtractOption\n{ package: \"@devup-ui/core\".to_string(), css_file: None }).unwrap()"
+---
+ExtractOutput {
+ styles: [
+ Static(
+ ExtractStaticStyle {
+ property: "display",
+ value: "flex",
+ level: 0,
+ selector: None,
+ basic: true,
+ },
+ ),
+ Static(
+ ExtractStaticStyle {
+ property: "justifyContent",
+ value: "center",
+ level: 0,
+ selector: None,
+ basic: true,
+ },
+ ),
+ Static(
+ ExtractStaticStyle {
+ property: "alignItems",
+ value: "center",
+ level: 0,
+ selector: None,
+ basic: true,
+ },
+ ),
+ Dynamic(
+ ExtractDynamicStyle {
+ property: "bg",
+ level: 0,
+ identifier: "[\n\t\"var(--webBg)\",\n\t\"var(--appBg)\",\n\t\"var(--solutionBg)\"\n][categoryId - 1]",
+ selector: None,
+ },
+ ),
+ ],
+ code: "import \"@devup-ui/core/devup-ui.css\";\n\n
;\n",
+}
diff --git a/libs/extractor/src/style_extractor.rs b/libs/extractor/src/style_extractor.rs
index 6078fac1..db370618 100644
--- a/libs/extractor/src/style_extractor.rs
+++ b/libs/extractor/src/style_extractor.rs
@@ -150,7 +150,7 @@ pub fn extract_style_from_expression<'a>(
ExtractResult::Maintain
}
}
- Expression::Identifier(_) => {
+ _ => {
if let Some(name) = name {
return ExtractResult::ExtractStyle(vec![
ExtractStyleProp::Static(Dynamic(ExtractDynamicStyle::new(
@@ -163,7 +163,6 @@ pub fn extract_style_from_expression<'a>(
}
ExtractResult::Maintain
}
- _ => ExtractResult::Maintain,
}
}
Expression::ObjectExpression(obj) => match mem_expression {