@@ -1546,16 +1546,16 @@ impl<T: StylePropValue> TransitionState<T> {
15461546 if let Some ( transition) = & self . transition {
15471547 let time = now. saturating_duration_since ( active. start ) ;
15481548 let time_percent = time. as_secs_f64 ( ) / transition. duration . as_secs_f64 ( ) ;
1549- if time < transition. duration || !transition. easing . finished ( time_percent) {
1550- if let Some ( i) = T :: interpolate (
1549+ if ( time < transition. duration || !transition. easing . finished ( time_percent) )
1550+ && let Some ( i) = T :: interpolate (
15511551 & active. before ,
15521552 & active. after ,
15531553 transition. easing . eval ( time_percent) ,
1554- ) {
1555- active . current = i ;
1556- * request_transition = true ;
1557- return true ;
1558- }
1554+ )
1555+ {
1556+ active . current = i ;
1557+ * request_transition = true ;
1558+ return true ;
15591559 }
15601560 }
15611561 // time has past duration, or the value is not interpolatable
@@ -2073,13 +2073,13 @@ fn resolve_nested_maps_internal(
20732073 }
20742074
20752075 // DarkMode
2076- if interact_state. is_dark_mode {
2077- if let Some ( map) = style. get_nested_map ( StyleSelector :: DarkMode . to_key ( ) ) {
2078- classes_applied |= map . any_inherited ( ) ;
2079- style . apply_mut ( map ) ;
2080- style. remove_nested_map ( StyleSelector :: DarkMode . to_key ( ) ) ;
2081- changed = true ;
2082- }
2076+ if interact_state. is_dark_mode
2077+ && let Some ( map) = style. get_nested_map ( StyleSelector :: DarkMode . to_key ( ) )
2078+ {
2079+ classes_applied |= map . any_inherited ( ) ;
2080+ style. apply_mut ( map ) ;
2081+ style . remove_nested_map ( StyleSelector :: DarkMode . to_key ( ) ) ;
2082+ changed = true ;
20832083 }
20842084
20852085 // Disabled state (takes precedence)
@@ -2094,33 +2094,33 @@ fn resolve_nested_maps_internal(
20942094 // Other states only apply if not disabled
20952095
20962096 // Selected
2097- if interact_state. is_selected || style. get ( Selected ) {
2098- if let Some ( map) = style. get_nested_map ( StyleSelector :: Selected . to_key ( ) ) {
2099- classes_applied |= map . any_inherited ( ) ;
2100- style . apply_mut ( map ) ;
2101- style. remove_nested_map ( StyleSelector :: Selected . to_key ( ) ) ;
2102- changed = true ;
2103- }
2097+ if ( interact_state. is_selected || style. get ( Selected ) )
2098+ && let Some ( map) = style. get_nested_map ( StyleSelector :: Selected . to_key ( ) )
2099+ {
2100+ classes_applied |= map . any_inherited ( ) ;
2101+ style. apply_mut ( map ) ;
2102+ style . remove_nested_map ( StyleSelector :: Selected . to_key ( ) ) ;
2103+ changed = true ;
21042104 }
21052105
21062106 // Hover
2107- if interact_state. is_hovered {
2108- if let Some ( map) = style. get_nested_map ( StyleSelector :: Hover . to_key ( ) ) {
2109- classes_applied |= map . any_inherited ( ) ;
2110- style . apply_mut ( map ) ;
2111- style. remove_nested_map ( StyleSelector :: Hover . to_key ( ) ) ;
2112- changed = true ;
2113- }
2107+ if interact_state. is_hovered
2108+ && let Some ( map) = style. get_nested_map ( StyleSelector :: Hover . to_key ( ) )
2109+ {
2110+ classes_applied |= map . any_inherited ( ) ;
2111+ style. apply_mut ( map ) ;
2112+ style . remove_nested_map ( StyleSelector :: Hover . to_key ( ) ) ;
2113+ changed = true ;
21142114 }
21152115
21162116 // File Hover
2117- if interact_state. is_file_hover {
2118- if let Some ( map) = style. get_nested_map ( StyleSelector :: FileHover . to_key ( ) ) {
2119- classes_applied |= map . any_inherited ( ) ;
2120- style . apply_mut ( map ) ;
2121- style. remove_nested_map ( StyleSelector :: FileHover . to_key ( ) ) ;
2122- changed = true ;
2123- }
2117+ if interact_state. is_file_hover
2118+ && let Some ( map) = style. get_nested_map ( StyleSelector :: FileHover . to_key ( ) )
2119+ {
2120+ classes_applied |= map . any_inherited ( ) ;
2121+ style. apply_mut ( map ) ;
2122+ style . remove_nested_map ( StyleSelector :: FileHover . to_key ( ) ) ;
2123+ changed = true ;
21242124 }
21252125
21262126 // Focus states
@@ -2140,25 +2140,26 @@ fn resolve_nested_maps_internal(
21402140 changed = true ;
21412141 }
21422142
2143- if interact_state. is_clicking {
2144- if let Some ( map) = style. get_nested_map ( StyleSelector :: Active . to_key ( ) ) {
2145- classes_applied |= map . any_inherited ( ) ;
2146- style . apply_mut ( map ) ;
2147- style. remove_nested_map ( StyleSelector :: Active . to_key ( ) ) ;
2148- changed = true ;
2149- }
2143+ if interact_state. is_clicking
2144+ && let Some ( map) = style. get_nested_map ( StyleSelector :: Active . to_key ( ) )
2145+ {
2146+ classes_applied |= map . any_inherited ( ) ;
2147+ style. apply_mut ( map ) ;
2148+ style . remove_nested_map ( StyleSelector :: Active . to_key ( ) ) ;
2149+ changed = true ;
21502150 }
21512151 }
21522152 }
21532153
21542154 // Active (mouse)
2155- if interact_state. is_clicking && !interact_state. using_keyboard_navigation {
2156- if let Some ( map) = style. get_nested_map ( StyleSelector :: Active . to_key ( ) ) {
2157- classes_applied |= map. any_inherited ( ) ;
2158- style. apply_mut ( map) ;
2159- style. remove_nested_map ( StyleSelector :: Active . to_key ( ) ) ;
2160- changed = true ;
2161- }
2155+ if interact_state. is_clicking
2156+ && !interact_state. using_keyboard_navigation
2157+ && let Some ( map) = style. get_nested_map ( StyleSelector :: Active . to_key ( ) )
2158+ {
2159+ classes_applied |= map. any_inherited ( ) ;
2160+ style. apply_mut ( map) ;
2161+ style. remove_nested_map ( StyleSelector :: Active . to_key ( ) ) ;
2162+ changed = true ;
21622163 }
21632164 }
21642165
@@ -2272,11 +2273,11 @@ impl Style {
22722273 self . apply_context_mappings_mut ( ) ;
22732274 }
22742275 }
2275- if self . get ( Selected ) {
2276- if let Some ( map) = self . get_nested_map ( StyleSelector :: Selected . to_key ( ) ) {
2277- self . apply_mut ( map . apply_selectors ( & [ StyleSelector :: Selected ] ) ) ;
2278- self . apply_context_mappings_mut ( ) ;
2279- }
2276+ if self . get ( Selected )
2277+ && let Some ( map) = self . get_nested_map ( StyleSelector :: Selected . to_key ( ) )
2278+ {
2279+ self . apply_mut ( map . apply_selectors ( & [ StyleSelector :: Selected ] ) ) ;
2280+ self . apply_context_mappings_mut ( ) ;
22802281 }
22812282 self
22822283 }
0 commit comments