Update internal drawer component#6523
Conversation
Greptile SummaryThis PR migrates the internal
Confidence Score: 4/5Safe to merge with no functional regressions in the happy path; the three concerns are UX polish and backward-compatibility items that are low-risk for an internal package undergoing a deliberate library migration. The drawer migration is straightforward and the new component tree maps cleanly onto Base UI's API. The main open questions are whether the handle bar scrolling with content is acceptable in practice, whether any internal callers still rely on Drawer.handle, and how Reflex's event dispatcher handles the new two-argument on_open_change spec with handlers written against the old one-argument form. Only drawer.py changed; callers that used Drawer.handle, Drawer.overlay, or on_open_change handlers with a single bool argument deserve a quick search before merging. Important Files Changed
Sequence DiagramsequenceDiagram
participant User
participant DrawerTrigger
participant DrawerRoot
participant DrawerPortal
participant DrawerBackdrop
participant DrawerViewport
participant DrawerPopup
participant DrawerContent
User->>DrawerTrigger: click
DrawerTrigger->>DrawerRoot: on_open_change(true, dict)
DrawerRoot->>DrawerPortal: mount portal
DrawerPortal->>DrawerBackdrop: render backdrop (opacity animation)
DrawerPortal->>DrawerViewport: render viewport
DrawerViewport->>DrawerPopup: slide up (translateY animation)
DrawerPopup->>DrawerContent: render handle Div + content
User->>DrawerPopup: swipe down
DrawerPopup-->>DrawerRoot: on_open_change(false, dict)
DrawerRoot->>DrawerPortal: unmount portal
|
|
I understand this is a general comment about how the cheron here is not clear it open a drawer |




No description provided.