Profile avatar
brunostasse.bsky.social
Creator of Silk • silkhq.co • Making on the web what the web can't do • EU/France 🇪🇺
120 posts 144 followers 262 following
Regular Contributor
Active Commenter

Detached side drawer. Scrollable, swipeable, stackable. Made with Silk, on the web.

The backdrop not covering the status bar when opening a sheet on the web makes it feel... subpar compared to native. So in Silk I baked-in the ability to blend them together by automatically dimming the theme-color in sync with the backdrop opacity.

Little UX improvement to the music player example that'll come with the code revamp I'm working on: you'll be able to scroll the page right after swiping down the panel, without having to wait for the animation to end.

Simple swipeable page on the web, made with Silk.

Want a sheet that can only be dismissed with a button tap? With Silk just set the `swipeDismissal` prop to `false` and the sheet won’t be dismissible by swipe. On iOS the user can still swipe the sheet, but it will snap back into place instead of closing.

Working on revamping @silk_hq examples' code to make them a lot more flexible and easier to drop into your project. One change I’m making is switching from props as slots to compound components that match the actual API. before → after

Detached sheet made with silkhq.co on the web. Natural overshoot, status bar blending with the backdrop, swipe or click outside to dismiss.

Revamped the Community sheet and made it accessible through the nav. Really like that little sheet switching

With Silk you get a nice <Sheet.Backdrop> sub-component that animates its opacity automatically as the sheet goes in and out of the view. It also has a special prop to blend it with the iOS status bar, and you can make it respond to swipe or not. All fully configurable.

Using Radix's DropdownMenu or other overlay components? Silk is built to be fully compatible with all of them. Just added a guide about it to the docs.

Toast with natural swipe overshoot. Implemented with @silkhq.bsky.social and React on the web.

Did you try installing silkhq.co on your home screen? It extends below the status bar there. That's how it looks

`<Sheet.View>` is Silk's most important sub-component. It defines the area where the sheet is visible, but it's also where you set most of its configuration. It has props for content placement, detents, swipe behavior, interactions outside, and a lot more.

After playing with the demo, all I can say is: hnnnnngggg

Added some very nice quotes to Silk's website

This move by the DOJ is bad news for the web. Google is singlehandedly founding up to two-thirds of browser engine development (Chromium & Gecko) at the moment. Cut that off and the platform will likely stagnate and slowly become irrelevant...

Little bouncy card implemented with Silk on the web. Swipe up to dismiss

Just released Silk v0.9.0, which improves compatibility with Tailwind v4 and some build tools! Silk's CSS styles are now exported from the package, letting you import them as you need in your project.

Bottom sheets are great, but what about top sheets? Swipeable. 120fps. On the web. Made with Silk.

ˋ<Sheet.Trigger>` in Silk isn't just used to open a sheet, it’s a versatile component. You can use it to dismiss a sheet, or step to the next detent too.

Working on improving Silk's compatibility with Tailwind V4. V4 use of CSS `@​layer` makes Tailwind's styles less specific than unlayered styles. This means you currently need to use a ˋ!` marker to override Silk's (very few) default styles. Aiming to remove the need for that workaround.

G̶o̶o̶g̶l̶e̶r̶… ex-Googler. nerdy.dev/ex-googler

I built Silk to feel right on both mobile and desktop. You can swipe sheets with your trackpad, just like switching workspaces or going back in the browser. If you’ve got a mouse, the scroll wheel works too. Or just click the backdrop or close button. No mouse? Hit escape.

In Silk, the `<Sheet.Root>ˋ sub-component acts like an umbrella that gathers and links together the other sub-components. It holds the states that needs to be shared among them. For example, it is where is set the ˋpresented` prop, which allow you to make the sheet a controlled component.

Which styling solution do you use these days and would you like to see Silk examples for? CSS and SCSS? Tailwind CSS? CSS Modules? Something else? Let me know in the comments 👇

In case you missed it, Silk Commercial Plan now starts at €299.