Stefan Matei @stefanmatei.com · 12/05/2026The “systematic” part was the whole thesis of this report you were agreeing with 020
Stefan Matei @stefanmatei.com · 09/02/2026I think there’s something wrong with the background color in dark mode 100
Stefan Matei @stefanmatei.com · 27/11/2025When I had to make a modal/popover custom element I had it register normally, but added a few options via an attribute for how to lazy load the scripts and styles (and, optionally, the markup) inside the modal (usually other web components) github.com/nonsalant/la... 020
Stefan Matei @stefanmatei.com · 07/11/2025Great, I wanted to suggest allowing iframes when you first shared it! Do you think it would be possible to allow a zoom factor for them? 🤔 For example 0.5 would scale the *contents* of the iframe to half the normal size. For reference, the CodePen preview has something like this on mobile. 210
Stefan Matei @stefanmatei.com · 29/10/2025to avoid off-by-one errors, always make sure there is enough contrast between your cats 0163
Stefan Matei @stefanmatei.com · 02/10/2025Was disappointed to see the Whiteboard Guy giving the Vercel CEO fodder to reply to (Vercel guy bumps up his positive comments to push down the negative ones after his Netanyahu photo). He deleted it the next day (after at least one person got upset) but decided DHH is still OK to fraternize with. 081
Stefan Matei @stefanmatei.com · 02/09/2025That’s an explicitly pro Israel labeler. The labeler I’m using (that put these labels on pef-moderation) is @shadowbanner.bsky.social — it’s not perfect but it’s less biased in favor of Israel. 271
Stefan Matei @stefanmatei.com · 02/09/2025Reposting with alt text: 86% of the world’s genocide experts have declared that Israel is committing genocide in Gaza. Israel made its genocidal intent clear from day one. It then committed genocide in full view of the world. Nobody with power or influence can say they didn’t know at the time. 030
Stefan Matei @stefanmatei.com · 02/09/2025Nice! Just a heads up, it looks like the last two demos aren’t highlighting anything (only tried on iOS so far) 100
Stefan Matei @stefanmatei.com · 18/08/2025“a closed box” 🤯 now i realize why one of my icons felt off. the box wasn’t closed enough compared to the ios share icons. not as off as bluesky’s icons though. 130
Stefan Matei @stefanmatei.com · 13/08/2025A pattern I’m using to co-locate (adopted) stylesheet files with web component scripts until CSS module scripts—e.g: `import sheet from './styles.css' with { type: 'css' };`—become available outside of Chrome: 🔗 github.com/nonsalant/co... 120
Stefan Matei @stefanmatei.com · 04/08/2025And I started this off making the fallback for the custom element not getting defined (or javascript not loading) a horizontal scroller with the 2 images side by side, but now I found a way to make the scrollbar always visible on Mac OS (Chrome and Safari): codepen.io/nonsalant/pe... 100
Stefan Matei @stefanmatei.com · 31/07/2025@kevinpowell.co really used `color-scheme: dark light` on his glasses 🤓 😎 #css 1171
Stefan Matei @stefanmatei.com · 28/07/2025just a heads up, looks like someone who doesn’t get sarcasm mislabeled you with the “Dearborn Scapegoating” label. CC: @shadowbanner.bsky.social 110
Stefan Matei @stefanmatei.com · 24/07/2025Correction on a previous thread I made about using AbortController in a web component (to clean up anonymous arrow function events from external elements): 120
Stefan Matei @stefanmatei.com · 14/07/2025Oh, it’s the first time I see this! For what it’s worth, it shouldn’t be empty, but a whitespace: dev.to/afif/what-no... 010
Stefan Matei @stefanmatei.com · 12/07/2025Sometimes I add extra keyboard shortcuts or access with alternative keys (besides the arrows) to things just to get an excuse to use <kbd>’s, like I did on codepen.io/nonsalant/fu... 021
Stefan Matei @stefanmatei.com · 10/07/2025I made some enhancements to my web component that loads other web components in popovers. You can now lazy load the markup inside the popover too (not just its script(s) and style(s)) from an external html file: github.com/nonsalant/la... 251
Stefan Matei @stefanmatei.com · 21/05/2025just used the dynamic import version of this (import attributes to import JSON from a module) in a web component method. very demure 120
Stefan Matei @stefanmatei.com · 08/05/2025Tim O’Brien (illustrator whose work appeared on the cover of Time magazine and whose website I built a number of years ago) predicted this! obrienillustration.com/american-pope/ 000
Stefan Matei @stefanmatei.com · 07/05/2025And now that she won a Pulitzer, the washington post — from where she resigned after they censored her bezos cartoon — appear quite happy to count it as a “win” for themselves 000
Stefan Matei @stefanmatei.com · 01/05/2025Musk, who was wearing a hat on top of another hat: “Well, Mr. President, you know they say I wear a lot of hats” 🎩 🧢 👒 100
Stefan Matei @stefanmatei.com · 25/04/2025I’ve been using CSS Layers in production* since late 2022, and wish I would’ve had a nice boilerplate like this one by @matuzo.at as an example. Screenshots: my layer structure — messy w/ lots of layers vs Manuel’s more organized structure using nested layers. 110
Stefan Matei @stefanmatei.com · 12/04/2025To those talking shit about Google for firing someone like Adam—listen, these are uncertain times and they’ve had to make some tough but rational decisions about their priorities, I’m sure we’ll soon see how it was all in the best interest of their users and the web as a whole 020
Stefan Matei @stefanmatei.com · 03/04/2025@matuzo.at looks like type=search field is being made invisible on iOS (ss is from Chrome on an iPad) 100
Stefan Matei @stefanmatei.com · 22/02/2025nice! consider adding width and height attributes for the images to reduce layout shift (www.smashingmagazine.com/2020/03/sett...) 000
Stefan Matei @stefanmatei.com · 20/02/2025Just found out you can press and hold the Chrome address bar on iOS to change its position to the bottom 000
Stefan Matei @stefanmatei.com · 11/02/2025Unless you’re trying to use them like shortcodes to write less html, i.e. by just putting data in attributes. Which I wouldn’t recommend for actual content (and not UI for example) due to the classic drawbacks of SPA’s (layout shift, harder to parse for search engines, reliance on JS, etc). 110
Stefan Matei @stefanmatei.com · 11/02/2025If your book gallery doesn’t have any JS itself, the web component may not need any JS (at all) either. See, for example: hawkticehurst.com/2024/11/css-... The structure for your CSS web component could look something like this image. 221
Stefan Matei @stefanmatei.com · 10/02/2025Now in the trending tab 🎉 (also cleaned up the markup so JS only UI is added by JS and unique checkbox ID’s are generated by JS if not provided) 000
Stefan Matei @stefanmatei.com · 09/02/2025Yesterday I rewrote another piece of a client project as a web component (<toggle-categories>) for last week’s @codepen.io challenge codepen.io/nonsalant/pe... 020
Stefan Matei @stefanmatei.com · 07/02/2025yay! thanks @darn.es for merging my PR for this into the 'awesome list' 🙏 it was my first to a repo that wasn't mine and was wondering if i was doing things right 😅 github.com/davatron5000... 131
Stefan Matei @stefanmatei.com · 04/02/2025had to build something that looks like an on/off toggle but has a secret third state (pay attention to the small toggle next to the herbs category—its children aren’t always all in the same boat so it needs an intermediary state) 010
Stefan Matei @stefanmatei.com · 26/01/2025Let’s not forget Alexandria Working Tirelessly Toward a Ceasefire Coretz was one of these people 110
Stefan Matei @stefanmatei.com · 16/01/2025also works with remote URL’s (and the base itself can be a remote address), as long as the remote server allows CORS and any web component’s tag can be renamed by adding a pipe separator and a new name after its filename 100
Stefan Matei @stefanmatei.com · 10/01/2025not sure yet how practical this would be (seems really useful to me rn), but what if there was just 1 file responsible for loading web components from their individual files, and you could tell it what to load (and how to define each wc) using query strings? got this working, will put online shortly 101
Stefan Matei @stefanmatei.com · 09/01/2025there’s a bit of weirdness when i go to the home page and then tap on the article on iOS. (missing viewport meta? although it works if you open the article directly) 100