Bruno Stasse
@brunostasse.bsky.social
📤 151
📥 263
📝 149
Creator of
@silkhq.com
• Making on the web what the web can't do • EU/France 🇪🇺 • silkhq.com
pinned post!
Introducing Silk — The most advanced swipeable sheet ever engineered for the web. Native-like experience • Works on all devices • Unlocks dozens of UI patterns on the web. Available for React.
loading . . .
6 months ago
14
120
28
Page with background parallax. 120fps trackpad swipe animation. Animated header fade. Fully accessible. On the web, with
@silkhq.com
loading . . .
3 months ago
0
2
1
Just added an `updateThemeColor()` function to
@silkhq.com
that lets you update the page `theme-color` used for the iOS status bar while preserving the dimming that makes it blend with the Sheet's Backdrop. Pretty useful when you're switching between light/dark mode from within a Sheet!
loading . . .
3 months ago
0
0
1
If you're doing cool stuff with
@silkhq.com
too, send it my way, I'd love to see it!
add a skeleton here at some point
3 months ago
0
0
0
This is what the mobile web should have felt like all along. My goal is to make this the new normal.
add a skeleton here at some point
3 months ago
2
5
1
Tjek’s eTilbudsavis web app, home to digital catalogs from brands across Scandinavia, is now using
@silkhq.com
. It looks great, check it out 👇
loading . . .
3 months ago
0
1
3
Sometimes all you need is a clean, smoothly animated page. 120fps enter/exit animations. Inner scrolling with overshoot. Perfect body scroll locking. Fully accessible. Made with
@silkhq.com
, on the web.
loading . . .
3 months ago
0
2
1
Rich in-editor hints for
@silkhq.com
just shipped! You now get information about each component, sub-component and prop inline as you type. Learn what is required, what things do and how they compose together without leaving you editor.
loading . . .
3 months ago
0
0
1
Coming soon: Rich code editor hints for Silk ✨ You'll know which sub-components are required, how they compose together and what their props do without leaving your editor.
3 months ago
0
1
1
Long scrollable sheet. Swipe up or down to dismiss with your trackpad. Made with Silk, on the web.
loading . . .
3 months ago
0
3
1
Silk is getting an upgrade today. It's a letter.
silkhq.co
becomes
silkhq.com
loading . . .
Silk - Native-like swipeable sheets on the web
Find out how to get access for commercial and non-commercial usage for Silk, the swipeable and accessible modal sheet component for React.
https://silkhq.com
3 months ago
0
1
1
Apple says the new iOS Safari is all about an immersive, edge-to-edge experience. But after testing it out, that promise doesn’t hold up. In fact, beta 1 delivers the least immersive experience ever, unless you only visit websites from the ‘90s when `position: fixed` didn’t exist.
3 months ago
3
3
2
Sheet with transient detent. The intermediate detent is removed once the sheet reaches the last detent. Swipe up or tap the input to expand. Scroll to dismiss the keyboard. Swipe down to dismiss the sheet. Made with Silk, on the web.
loading . . .
4 months ago
0
2
1
Just shipped a big revamp of Silk examples' code. Each example is now fully self-contained, making it much easier to just copy/paste into your own project. The generic part of the example is now also structured as compound components, matching Silk's API and providing granular control. v1 → v2
4 months ago
1
1
1
Detached side drawer. Scrollable, swipeable, stackable. Made with Silk, on the web.
loading . . .
4 months ago
1
2
1
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.
loading . . .
4 months ago
6
40
4
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.
loading . . .
4 months ago
0
0
1
Simple swipeable page on the web, made with Silk.
loading . . .
4 months ago
1
2
1
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.
loading . . .
4 months ago
0
1
1
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
4 months ago
0
0
1
Detached sheet made with
silkhq.co
on the web. Natural overshoot, status bar blending with the backdrop, swipe or click outside to dismiss.
loading . . .
5 months ago
1
1
1
Revamped the Community sheet and made it accessible through the nav. Really like that little sheet switching
loading . . .
5 months ago
0
3
0
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.
5 months ago
0
2
1
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.
5 months ago
0
1
1
Toast with natural swipe overshoot. Implemented with
@silkhq.bsky.social
and React on the web.
loading . . .
5 months ago
0
0
1
Did you try installing
silkhq.co
on your home screen? It extends below the status bar there. That's how it looks
loading . . .
5 months ago
1
3
1
`<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.
5 months ago
0
0
1
reposted by
Bruno Stasse
Mike
5 months ago
After playing with the demo, all I can say is: hnnnnngggg
add a skeleton here at some point
1
2
1
Added some very nice quotes to Silk's website
loading . . .
5 months ago
0
5
1
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...
add a skeleton here at some point
5 months ago
0
0
0
Little bouncy card implemented with Silk on the web. Swipe up to dismiss
loading . . .
5 months ago
0
2
1
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.
5 months ago
1
2
1
Bottom sheets are great, but what about top sheets? Swipeable. 120fps. On the web. Made with Silk.
loading . . .
5 months ago
0
2
1
ˋ<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.
5 months ago
0
3
1
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.
5 months ago
0
2
0
reposted by
Bruno Stasse
Adam Argyle
6 months ago
G̶o̶o̶g̶l̶e̶r̶… ex-Googler.
nerdy.dev/ex-googler
loading . . .
G̶o̶o̶g̶l̶e̶r̶… ex-Googler. · April 10, 2025
My role at Google was eliminated.
https://nerdy.dev/ex-googler
495
1652
267
reposted by
Bruno Stasse
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.
loading . . .
6 months ago
1
3
2
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.
6 months ago
0
1
1
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 👇
6 months ago
0
1
1
In case you missed it, Silk Commercial Plan now starts at €299.
6 months ago
0
1
1
reposted by
Bruno Stasse
Marius Schulz
6 months ago
Typesetting on the Web just got more beautiful! Support for `text-wrap: pretty` has landed in Safari Technology Preview 216.
@jensimmons.bsky.social
's post on the WebKit blog explains how this improves typography in multiple ways: no more ragged edges, poor hyphenation, or short last lines.
add a skeleton here at some point
0
28
4
Swipeable music player. Made with Silk, on the web.
loading . . .
6 months ago
1
3
1
I've just added a guide to the docs on using Silk's sheet as a controlled component. Let me know your thoughts and if you'd like more guides like this!
6 months ago
1
4
1
Silk is low-level and unstyled by default. The examples are just a starting point to help you move fast—but you're not limited to them. It's highly flexible and designed to let you build whatever swipeable (or not) sheet UI you may need. Go wild with it!
6 months ago
0
4
1
Here's the code it takes to create a bottom sheet with Silk. Its declarative API, based on sub-components, aims to cover the most common use cases out of the box. When needed, you can opt into more imperative methods to make your sheet controlled.
6 months ago
1
0
1
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.
loading . . .
6 months ago
1
3
2
To make Silk more accessible to indie hackers and early-stage startups, I am introducing a new €299 tier for businesses with 1 to 5 employees. I also plan to introduce purchasing power parity pricing in the future to ensure Silk is affordable in lower-income countries.
6 months ago
1
5
2
Since last week, I have added a "Usage" section to Silk's docs to integrate it with other tools. It currently has four pages: • Usage with Vite & Next.js Pages router: These environments don't import global CSS automatically from packages. Their configuration needs to be tweaked a bit to allow it.
6 months ago
1
0
1
Silk relies heavily on web APIs, like Scroll snap and WAAPI. While building it, I also took care to anticipate new ones, like the Scroll-driven animations API.
6 months ago
1
4
2
In case you missed it, the code for Silk's 12 basic examples is available on CodeSandbox for you to explore and play with. The code for the 4 most advanced examples is available upon purchasing a commercial license.
6 months ago
1
3
1
reposted by
Bruno Stasse
Roderick Gadellaa
6 months ago
@brunostasse.bsky.social
's Silk library is already causing ripples! ❤️ (Also thnx
@nerdy.dev
for following up!)
github.com/w3c/csswg-dr...
loading . . .
[css-ui] Support setting offscreen content inert · Issue #10711 · w3c/csswg-drafts
Problem Tab and carousel UI patterns that can be mostly created with pure HTML and CSS. #9745 is aiming to expand upon how rich of an experience can be declaratively built. The primary use cases ex...
https://github.com/w3c/csswg-drafts/issues/10711#issuecomment-2762007667
0
3
2
Load more
feeds!
log in