Skip to content

Commit 308d8ff

Browse files
committed
Fix style order testcase
1 parent a1aa9bb commit 308d8ff

File tree

2 files changed

+25
-5
lines changed

2 files changed

+25
-5
lines changed

libs/extractor/src/prop_modify_utils.rs

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -252,6 +252,15 @@ pub fn get_class_name_expression<'a>(
252252
(expression, tailwind_styles)
253253
}
254254

255+
/// Apply style_order to all ExtractStyleValue items
256+
fn apply_style_order_to_styles(styles: &mut [ExtractStyleValue], style_order: Option<u8>) {
257+
if let Some(order) = style_order {
258+
for style in styles.iter_mut() {
259+
style.set_style_order(order);
260+
}
261+
}
262+
}
263+
255264
/// Extract Tailwind CSS styles from a static className string and generate devup-ui class names
256265
/// Returns (extracted styles for CSS generation, generated class names expression)
257266
fn extract_tailwind_from_class_name<'a>(
@@ -264,8 +273,11 @@ fn extract_tailwind_from_class_name<'a>(
264273
if let Some(Expression::StringLiteral(literal)) = class_name_prop {
265274
let class_str = literal.value.as_str();
266275
if has_tailwind_classes(class_str) {
267-
let tailwind_styles = parse_tailwind_to_styles(class_str, filename);
276+
let mut tailwind_styles = parse_tailwind_to_styles(class_str, filename);
268277
if !tailwind_styles.is_empty() {
278+
// Apply style_order to all extracted Tailwind styles
279+
apply_style_order_to_styles(&mut tailwind_styles, style_order);
280+
269281
// Convert ExtractStyleValue to ExtractStyleProp::Static for gen_class_names
270282
let mut tailwind_style_props: Vec<ExtractStyleProp> = tailwind_styles
271283
.iter()
@@ -295,7 +307,9 @@ fn extract_tailwind_from_class_name<'a>(
295307

296308
if !class_mapping.is_empty() {
297309
// Collect all styles for CSS generation
298-
let tailwind_styles = parse_tailwind_to_styles(&all_classes, filename);
310+
let mut tailwind_styles = parse_tailwind_to_styles(&all_classes, filename);
311+
// Apply style_order to all extracted Tailwind styles
312+
apply_style_order_to_styles(&mut tailwind_styles, style_order);
299313

300314
// Build new template literal with replaced class names
301315
let new_template =

libs/extractor/src/snapshots/extractor__tests__tailwind_template_literal_with_style_order.snap

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@ ToBTreeSet {
1010
value: "#22C55E",
1111
level: 0,
1212
selector: None,
13-
style_order: None,
13+
style_order: Some(
14+
5,
15+
),
1416
layer: None,
1517
},
1618
),
@@ -20,7 +22,9 @@ ToBTreeSet {
2022
value: "#3B82F6",
2123
level: 0,
2224
selector: None,
23-
style_order: None,
25+
style_order: Some(
26+
5,
27+
),
2428
layer: None,
2529
},
2630
),
@@ -30,7 +34,9 @@ ToBTreeSet {
3034
value: "1rem",
3135
level: 0,
3236
selector: None,
33-
style_order: None,
37+
style_order: Some(
38+
5,
39+
),
3440
layer: None,
3541
},
3642
),

0 commit comments

Comments
 (0)