{"repo":"harshmandan/svaul","free":true,"listed":false,"github":"https://github.com/harshmandan/svaul","clone":"git clone https://github.com/harshmandan/svaul.git","description":"Svelte 5 port of the amazing Vaul bottom drawer","language":"TypeScript","stars":29,"topics":["component","drawer","svelte","sveltekit"],"license":"MIT","category":"saas-starters-boilerplates","readme_excerpt":"svaul The best drawer on the planet — for Svelte 5. Velocity-based, runes-first, unstyled: drag-to-dismiss, snap points, nested drawers, an accessible dialog core. Zero runtime dependencies. Fling it, catch it mid-close, reverse it on a dime — joy to use. (See Why svaul?.) Quick start Requires Svelte ^5 . Every part of the drawer is customizable via named snippets in the component: trigger , overlay , content , handle , title , description , header , footer , and the default children (the scrollable body). Supply only the parts you want to own; each renders a sensible default otherwise. Body snippets receive { open, close, setOpen, closeAll, cycleSnapPoint } controls. To close the drawer on the browser back button, drive open yourself and reset it from onOpenChange + a popstate listener (svaul intentionally doesn't touch history). Key props Prop Default --- --- --- bind:open — controlled/uncontrolled open state (also onOpenChange ) direction \"bottom\" top · bottom · left · right snapPoints — fractions ( 0.5 ) or px ( \"148px\" ); pair with bind:activeSnapPoint dismissible true drag / overlay-click / Escape can close modal true overlay + scroll-lock + focus-trap scaleBackground false scale [data-svaul-drawer-wrapper] (the card-stack look) handleOnly false only the handle initiates a drag dragSensitivity 1 1 makes the drawer move faster than the cursor disableAnimation false instant open / close Plus closeThreshold , repositionInputs , preventScrollRestoration , noBodyStyles , set","default_branch":null,"files":null,"tree":[],"storefront":"/r/harshmandan","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/harshmandan/svaul/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}