@@ -1527,36 +1527,24 @@ async def _on_resize(self, event: events.Resize) -> None:
15271527 else self .VERTICAL_BREAKPOINTS
15281528 ) or []
15291529
1530- width , height = event .size
1531-
15321530 if horizontal_breakpoints or vertical_breakpoints :
1531+ width , height = event .size
1532+ breakpoints = {
1533+ breakpoint : False
1534+ for _ , breakpoint in (horizontal_breakpoints + vertical_breakpoints )
1535+ }
15331536
1534- remove_breakpoint_classes = {
1535- breakpoint for _ , breakpoint in horizontal_breakpoints
1536- } | {breakpoint for _ , breakpoint in vertical_breakpoints }
1537- remove_breakpoint_classes = self ._classes .intersection (
1538- remove_breakpoint_classes
1539- )
1540-
1541- breakpoint_classes : set [str ] = set ()
1537+ for breakpoint in self ._get_breakpoint_classes (
1538+ width , horizontal_breakpoints
1539+ ):
1540+ breakpoints [breakpoint ] = True
15421541
1543- if horizontal_breakpoints :
1544- breakpoint_classes |= self ._get_breakpoint_classes (
1545- width , horizontal_breakpoints
1546- )
1547- if vertical_breakpoints :
1548- breakpoint_classes |= self ._get_breakpoint_classes (
1549- height , vertical_breakpoints
1550- )
1542+ for breakpoint in self ._get_breakpoint_classes (
1543+ height , vertical_breakpoints
1544+ ):
1545+ breakpoints [breakpoint ] = True
15511546
1552- remove_breakpoint_classes -= breakpoint_classes
1553- classes = self ._classes .copy ()
1554- if remove_breakpoint_classes :
1555- self ._classes .difference_update (remove_breakpoint_classes )
1556- if breakpoint_classes :
1557- self ._classes .update (breakpoint_classes )
1558- if self ._classes != classes :
1559- self .update_node_styles (animate = False )
1547+ self .update_classes (breakpoints , animate = False )
15601548
15611549 def _get_breakpoint_classes (
15621550 self , dimension : int , breakpoints : list [tuple [int , str ]]
0 commit comments