From 106a8774faece8df907532c1a7a5c81774b49c31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Mond=C3=A9jar=20Rubio?= Date: Tue, 20 May 2025 23:49:20 +0200 Subject: [PATCH 1/2] Support Leptos `class:` attributes --- crates/oxide/src/extractor/mod.rs | 17 +++++++++++++++++ crates/oxide/src/scanner/mod.rs | 2 +- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/crates/oxide/src/extractor/mod.rs b/crates/oxide/src/extractor/mod.rs index 736deb28d4b9..33a3651f630e 100644 --- a/crates/oxide/src/extractor/mod.rs +++ b/crates/oxide/src/extractor/mod.rs @@ -1054,6 +1054,23 @@ mod tests { ); } + // See: https://github.com/tailwindlabs/tailwindcss/issues/18092 + #[test] + fn test_leptos_rs_view_class_colon_syntax() { + for (input, expected) in [ + ( + r#"
"#, + vec!["class", "px-6"], + ), + ( + r#"view! {
}"#, + vec!["class", "px-6", "view!"], + ), + ] { + assert_extract_sorted_candidates(&pre_process_input(input, "svelte"), expected); + } + } + #[test] fn test_extract_css_variables() { for (input, expected) in [ diff --git a/crates/oxide/src/scanner/mod.rs b/crates/oxide/src/scanner/mod.rs index 05fcd71f19f7..0bd2b6574b3c 100644 --- a/crates/oxide/src/scanner/mod.rs +++ b/crates/oxide/src/scanner/mod.rs @@ -488,7 +488,7 @@ pub fn pre_process_input(content: &[u8], extension: &str) -> Vec { "pug" => Pug.process(content), "rb" | "erb" => Ruby.process(content), "slim" => Slim.process(content), - "svelte" => Svelte.process(content), + "svelte" | "rs" => Svelte.process(content), "vue" => Vue.process(content), _ => content.to_vec(), } From 982b757b03576962957ca7712eed7d0a7f6572eb Mon Sep 17 00:00:00 2001 From: Robin Malfait Date: Fri, 23 May 2025 12:11:19 +0200 Subject: [PATCH 2/2] update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a5fb9603d04b..5b5c30e89fc8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Upgrade: Do not migrate declarations that look like candidates in `