<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Jeff Rodgers</title>
    <description>The latest articles on DEV Community by Jeff Rodgers (@jeffreykrodgers).</description>
    <link>https://dev.to/jeffreykrodgers</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F327424%2F4b6470c3-900d-483e-a57e-418f96d743d4.png</url>
      <title>DEV Community: Jeff Rodgers</title>
      <link>https://dev.to/jeffreykrodgers</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jeffreykrodgers"/>
    <language>en</language>
    <item>
      <title>60 Themes, 51 Components, still 0 Dependencies. Yumekit v0.5 Released!</title>
      <dc:creator>Jeff Rodgers</dc:creator>
      <pubDate>Sat, 27 Jun 2026 15:55:04 +0000</pubDate>
      <link>https://dev.to/jeffreykrodgers/60-themes-51-components-still-0-dependencies-yumekit-v05-released-m6n</link>
      <guid>https://dev.to/jeffreykrodgers/60-themes-51-components-still-0-dependencies-yumekit-v05-released-m6n</guid>
      <description>&lt;p&gt;Back in May we here at Waggy Labs launched the beta release of our Web Component UI kit "&lt;a href="https://www.yumekit.com" rel="noopener noreferrer"&gt;Yumekit&lt;/a&gt;". Yumekit is a pure web component UI toolkit. Upon its release, it was comprised of roughly 36 fully styled and fully functional UI components that work with just about every web architecture straight out of the box. No configuration or setup necessary, all one needs to do is include the Yumekit script (using either a CDN or installed through NPM) and start building. All components come styled out of the box with no need to include any style sheets.&lt;/p&gt;

&lt;p&gt;Last week, we launched version 0.5. With this latest release, that job is being made easier with the inclusion of new components that add several layout options as well as new Data, Navigation, and Utility components, bringing the total number of components to 51.&lt;/p&gt;

&lt;p&gt;For us, this toolkit has provided us a framework-agnostic solution for our internal tools as well as any client projects. With over 60 themes spread over 9 well-known (and some brand new) open source Design Systems all built directly into the library, we have plenty of options available to us to keep our designs fresh without needing to spend hours dealing with CSS. It's light-weight, dependency free, and well documented.&lt;/p&gt;

&lt;h2&gt;
  
  
  New in 0.5
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Animate
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;y-animate&lt;/code&gt; component allows you to animate entrances and exits for nested components using a few simple configuration attributes.&lt;/p&gt;

&lt;h3&gt;
  
  
  Code
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;y-code&lt;/code&gt; component allows you to display formatted and colorized code, as well as providing a few easy and convenient ways for your users to copy the provided code.&lt;/p&gt;

&lt;h3&gt;
  
  
  Help
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;y-help&lt;/code&gt; component provides a tutorial experience for users of your application with minimal configuration. Simply provide the elements to be highlighted, the messages to be shown, and it handles the rest!&lt;/p&gt;

&lt;h3&gt;
  
  
  Paginator
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;y-paginator&lt;/code&gt; provides a configurable set of pagination buttons to help your users navigate through large data sets.&lt;/p&gt;

&lt;h3&gt;
  
  
  Sidebar
&lt;/h3&gt;

&lt;p&gt;We had originally included a &lt;code&gt;y-appbar&lt;/code&gt; component (which we still do) that had a "Sidebar" mode. However, as we added additional features we felt that perhaps the sidebar and nav bar were too different to be able to share a codebase, so we split the Sidebar mode into its own component and simplified the &lt;code&gt;y-appbar&lt;/code&gt; component.&lt;/p&gt;

&lt;h3&gt;
  
  
  Avatar Group
&lt;/h3&gt;

&lt;p&gt;This simple component stacks either a vertical or horizontal set of &lt;code&gt;y-avatar&lt;/code&gt; components with automatic overflow functionality.&lt;/p&gt;

&lt;h3&gt;
  
  
  Data Grid
&lt;/h3&gt;

&lt;p&gt;Our most complex component thus far, the &lt;code&gt;y-datagrid&lt;/code&gt; component allows you to easily display large sets of data in a filterable and sortable table. While the &lt;code&gt;y-table&lt;/code&gt; component is great for displaying small data sets, &lt;code&gt;y-datagrid&lt;/code&gt; is built for pages and pages of data.&lt;/p&gt;

&lt;h3&gt;
  
  
  Popover
&lt;/h3&gt;

&lt;p&gt;When the tooltip or a dialog doesn't cut it, the &lt;code&gt;y-popover&lt;/code&gt; component saves the day. Landing right in between the two in terms of functionality, it allows you to attach complex popover items to other components in your UI.&lt;/p&gt;

&lt;h3&gt;
  
  
  Break
&lt;/h3&gt;

&lt;p&gt;Our first new layout component provides a way to break up large pages with a vertical or horizontal separator. Also has the ability to display custom content within the break component.&lt;/p&gt;

&lt;h3&gt;
  
  
  Droplist
&lt;/h3&gt;

&lt;p&gt;A drag-and-drop list of any component you wish. Simply add children components and they will be draggable and droppable amongst one another.&lt;/p&gt;

&lt;h3&gt;
  
  
  Grid
&lt;/h3&gt;

&lt;p&gt;Not to be confused with "Data Grid", &lt;code&gt;y-grid&lt;/code&gt; is a pure layout component. It will automatically lay out any provided children in a grid format with attributes that cover most of the most commonly used CSS grid properties. &lt;code&gt;y-masonry&lt;/code&gt; works the same as &lt;code&gt;y-grid&lt;/code&gt;, but will arrange its children in a masonry configuration and has a simpler set of rules. &lt;/p&gt;

&lt;h3&gt;
  
  
  Shape
&lt;/h3&gt;

&lt;p&gt;The y-shape component uses SVG shapes as frames around child elements, allowing you to present content within non-rectangular containers. Choose from any of the built-in shapes or supply your own custom SVG vectors for complete creative control.&lt;/p&gt;

&lt;h3&gt;
  
  
  Splitter
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;y-splitter&lt;/code&gt; will let you put side-by-side content in a container that allows you to adjust the width or height of the contents with a draggable splitter bar.&lt;/p&gt;

&lt;h2&gt;
  
  
  Themes and Design Systems
&lt;/h2&gt;

&lt;p&gt;We know that reliance on a lot of today's popular design systems like Google's Material or IBM's Carbon make migrations hard because of the limited framework-specific options available for those design systems. With Yumekit, this isn't a problem. As of version 0.5, the &lt;code&gt;y-theme&lt;/code&gt; component has 60 themes built into it, some of which use the very same design systems such as Material and Carbon, as well as other popular systems like Shadcn, Bootstrap, Ant Design, and more.&lt;/p&gt;

&lt;p&gt;We also added several new color options to the Yume Design system that were inspired by projects like "Catppuccin" and "Nord", as well as a few new design systems besides the "Yume" system such as "Kepler" which is a techy/sci-fi throwback to KeplerUI (the proof-of-concept used as the basis for Yumekit) and "Waggy" which is the design system Waggy Labs is using in our upcoming website. Because all of these themes are built right into the y-theme component, switching between them doesn't require loading additional style sheets or reloading any content.&lt;/p&gt;

&lt;p&gt;All of these themes are usable in the &lt;code&gt;y-theme&lt;/code&gt; component by setting the &lt;code&gt;theme&lt;/code&gt; string attribute to your preferred theme, or you can include a custom theme file if our themes don't provide you with the exact specifications needed for your project.&lt;/p&gt;

&lt;p&gt;If it's custom themes you need, Yumekit provides a whole list of CSS variables that can be tweaked to get the exact look you need without needing to create new CSS classes and rules. Of course, if you still need additional customization to cover the areas where our CSS variables don't cut it, all components expose CSS "parts" to easily apply in-depth CSS customization.&lt;/p&gt;

&lt;p&gt;Want to nest themes? Easy. &lt;code&gt;y-theme&lt;/code&gt; components can be nested within each other without any effect on each other.&lt;/p&gt;

&lt;p&gt;Fast and easy theming is great for dev shops that are in need of a UI kit that can fit any of their clients' needs, making Yumekit an ideal choice. Pair that with the ability to use it with any framework and built-in support for coding agents and you have a recipe for fast and efficient output, no matter the existing architecture.&lt;/p&gt;

&lt;h2&gt;
  
  
  Design Tokens
&lt;/h2&gt;

&lt;p&gt;As part of 0.5, we moved away from static style sheets for our variable definitions and instead implemented tokens defined in JSON, which are then used as the single source of truth not just for generated theme style sheets, but for our Figma document as well (via the "Tokens Studio" Figma extension). This is only for built-in themes though; custom style sheets still work as expected with the &lt;code&gt;y-theme&lt;/code&gt; component.&lt;/p&gt;

&lt;h2&gt;
  
  
  Storybook
&lt;/h2&gt;

&lt;p&gt;While Yumekit has always included Storybook in the repository, running it required cloning the repository locally. Now we've published the storybook at &lt;a href="https://storybook.yumekit.com" rel="noopener noreferrer"&gt;storybook.yumekit.com&lt;/a&gt; so you can access it without needing to clone the repository to your local machine. It contains examples for the most common uses of the various attributes for each component.&lt;/p&gt;

&lt;h2&gt;
  
  
  AI Enhancements
&lt;/h2&gt;

&lt;p&gt;Yumekit already includes an llm.txt as well as several references and skill files for coding agents. However, loading these into your project used to require manually copying them to the root of your project. Now we've automated that with a script. Simply run &lt;code&gt;npx @waggylabs/yumekit init-ai&lt;/code&gt; and all relevant files are safely placed where they are needed without overwriting existing AI documents.&lt;/p&gt;

&lt;h2&gt;
  
  
  Looking Ahead
&lt;/h2&gt;

&lt;p&gt;Now that we have completed the core components that we think are necessary for the base library, the coming months will be focused on fit and finish. This is where we're looking to you, our lovely users, to help us find flaws and pain points that fall outside of our normal testing and usage. We are planning to release the full 1.0 version of Yumekit in September of 2026, contingent on ongoing feedback from our users.&lt;/p&gt;

&lt;p&gt;We are committed to providing a toolkit that seasoned developers, designers, or even you vibe coders out there can get started with instantly. So give Yumekit a try and let us know what you think!&lt;/p&gt;

&lt;p&gt;Website:&lt;br&gt;
&lt;a href="https://www.yumekit.com" rel="noopener noreferrer"&gt;yumekit.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Github Repo:&lt;br&gt;
&lt;a href="https://github.com/waggylabs/yumekit" rel="noopener noreferrer"&gt;github.com/waggylabs/yumekit&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webcomponents</category>
      <category>ui</category>
      <category>javascript</category>
      <category>opensource</category>
    </item>
    <item>
      <title>I built a Web Component UI Kit.</title>
      <dc:creator>Jeff Rodgers</dc:creator>
      <pubDate>Sat, 11 Apr 2026 14:50:21 +0000</pubDate>
      <link>https://dev.to/jeffreykrodgers/i-build-a-web-component-ui-kit-2gi5</link>
      <guid>https://dev.to/jeffreykrodgers/i-build-a-web-component-ui-kit-2gi5</guid>
      <description>&lt;p&gt;I didn't wake up one day and decide to build a UI kit.&lt;/p&gt;

&lt;p&gt;Like most things I've built, it started as a solution to a problem I had, for a project nobody asked for.&lt;/p&gt;

&lt;p&gt;I spin up a lot of side projects in my free time, the kind that will never see the light of day. Little things that keep me entertained and challenged, and honestly, keep me sharp on technology I'd otherwise only read about.&lt;/p&gt;

&lt;p&gt;About a year ago I was deep in a sci-fi browser game rabbit hole. I had spun up a few different projects across a few different frameworks just to get a feel for the latest versions of each, and I needed a UI that matched the aesthetic of the game without being tied to any one framework and without costing anything. This was a screw-around project after all.&lt;br&gt;
After striking out on npm, nothing I found worked cleanly across the board. So I just started writing my own web components. A few buttons, some inputs, a handful of form elements. One component led to another and eventually I had a full suite.&lt;/p&gt;

&lt;p&gt;That became Kepler UI, a heavily sci-fi inspired, zero-dependency web component toolkit with roughly 20 components, a theme switcher, and even a web-component-based SPA router. Over-engineered for a game I never finished, but I liked how it worked.&lt;/p&gt;

&lt;p&gt;The problem wasn't the technology. Working with a web component kit in my own projects was honestly easier than dealing with framework-specific alternatives. The problem was that Kepler was too niche to be genuinely useful to anyone else. The sci-fi skin that made it fun to build made it hard to actually use in most real projects.&lt;/p&gt;

&lt;p&gt;So I stripped it down, started fresh with a proper design system, and built something more practical.&lt;/p&gt;

&lt;p&gt;That's Yumekit. You can check it out at &lt;a href="https://www.yumekit.com" rel="noopener noreferrer"&gt;yumekit.com&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Yumekit is everything Kepler should have been minus the sci-fi aesthetics. About 30 components, zero dependencies, and a single JS file import to get you fully styled and functional. Drop it into a React project, a Vue project, a Svelte project, or no framework at all, it doesn't care. That was the whole point.&lt;/p&gt;

&lt;p&gt;Theming works through a &lt;code&gt;&amp;lt;y-theme&amp;gt;&lt;/code&gt; component that lets you switch and customize themes dynamically without touching a stylesheet. It's one of those things that sounds like a small quality-of-life feature until you've spent an afternoon wrestling with CSS specificity in someone else's component library, and then it feels essential.&lt;/p&gt;

&lt;p&gt;For anyone leaning on AI tools to build things right now, Yumekit ships with built-in agent skills and LLM instruction sets, which means tools like Cursor or Claude already have the context they need to use it correctly from the start. If you're vibe coding a project together with an AI and want a UI layer that just works without a lot of hand-holding in your prompts, it fits naturally into that workflow.&lt;/p&gt;

&lt;p&gt;It's early, it's open source, and I'm genuinely still figuring out what it should be. If you try it and something is broken, confusing, or just obviously missing, I'd rather hear about it now than six months from now when bad patterns have calcified. Issues and PRs are open, and so is the discussion below.&lt;/p&gt;

&lt;p&gt;What would make something like this actually useful to you?&lt;/p&gt;

</description>
      <category>webcomponents</category>
      <category>javascript</category>
      <category>opensource</category>
      <category>frontend</category>
    </item>
  </channel>
</rss>
