▲ 9 r/u_Connect_History_915+1 crossposts

solid-mobile is stabilizing: 55 components, zero deps, 590+ tests, heading to 1.0

I've been working on this after hours for a while now, and figured it's time to share where it is — and where it's heading.

solid-mobile is a mobile-first UI component library — buttons, dialogs, pickers, forms, tabs, calendars, that kind of thing. The visual design and component APIs are heavily inspired by Vant (a Vue mobile library with a design language I've always really liked), but the implementation is written from the ground up for Solid's reactivity model.

Why I think it's worth a look:

  • 55 components across 6 categories (Form, Picker, Feedback, Navigation, Display, Basic)
  • Theme system — CSS custom properties throughout, light/dark mode, runtime brand color config
  • i18n — English & Chinese built in, extensible
  • Fully typed — TypeScript from day one
  • Tree-shakable — import { Button } from 'solid-mobile' only bundles what you use, zero runtime dependencies
  • 590+ tests, all green
  • Live docs with an interactive phone simulator so you can try before installing

What's happened recently:

  • TreeSelect grew from a work-in-progress into the most complete component in the library — async lazy-loading with caching, local/global/remote search, strict-checking and leaf-only selection modes, and a full imperative ref API
  • New components shipped: ChatMessage (chat bubbles with 5 message types and long-press menus), SkeletonMarqueeSidebar
  • The test suite was swept to zero failures — which surfaced and fixed 3 real bugs (Toast/Notify/Dialog would double-render if you placed the renderer manually and used the imperative API)
  • Found and fixed a long-standing publishing gap: 7 components (Card, SafeArea, BackTop, Ellipsis, FloatingBall, Popup, Tooltip) were never exported from the public API — they existed in source and docs, but import { Card } from 'solid-mobile' failed for npm users. Shipped in v0.2.4

Where it stands now: the feature set is basically frozen. All 55 components are in place and the API is converging fast — after 1.0 it's additive-only (new features yes, breaking changes no). The run from 0.2.x to 1.0 is a stabilization marathon: 0.01 at a time, grinding on test hardening, edge cases, and docs rather than piling on new features.

The docs site is now an independent project. Since the component set is stable, the docs don't need to track source changes in real time anymore — so I split them out of the library repo into their own repository that consumes solid-mobile as a real npm package (a local file: tarball during development, the published version in CI). That means every demo on the site double-checks the actual release artifact — exports, type declarations, styles — the kind of thing that only ever breaks for real users. If a demo renders correctly, the package works.

Links:

A quick word about Solid.js — I picked it because its reactivity model is genuinely fun to work with. Signals, no virtual DOM, tiny runtime. It feels like what React hooks wanted to be. If you've only used React or Vue, honestly — give Solid a weekend. It keeps the familiar JSX syntax but strips away a ton of complexity, and the performance is no joke (no VDOM diffing, components run once). The ecosystem is still young, which is exactly why projects like this one need to exist.

That said, a lot of the design work here — the component APIs, the theme architecture, the CSS patterns — is framework-agnostic. If someone wanted to port this to Vue or React, the hard part (the visual design and interaction details) is already done.

This was first sketched back in 2023, but as a solo dev I didn't have the bandwidth to pull it off. Fast forward to 2026 and with a lot of help from Claude, it finally came together.

What I'm looking for: Honest feedback. The API is about to lock in, so now is genuinely the best time to poke holes in it — if you look at a prop and think "that's wrong," I want to hear it. If npm install breaks on your machine — please open an issue. If you like the idea and want to contribute — PRs are very welcome. This is a solo project right now and fresh eyes would make a huge difference.

Cheers :)

reddit.com
u/Connect_History_915 — 3 days ago
▲ 20 r/solidjs

solid-mobile — a mobile UI component library for Solid

Hello, Solid Community 👋

I've been quietly working on something for the past month that I'd love to share with you.

First — Solid is incredible.

The reactivity model, the zero-VDOM performance, the small bundle size, the simplicity of the API surface. It's genuinely one of the best frameworks I've used, and it deserves a much richer ecosystem than it currently has. Which brings me to why I'm here.

solid-mobile — a mobile UI component library for Solid

53 components across 6 categories (Form, Picker, Feedback, Nav, Display, Basic), with:

  • 🎨 Theme system — CSS custom properties driven, light/dark mode, custom brand colors via ProviderConfig
  • 🌍 i18n — en-US / zh-CN built in, extensible
  • 📦 Tree-shakableimport { Button } from 'solid-mobile' only bundles what you use
  • ⌨️ Fully typed — TypeScript throughout
  • 🧪 480+ tests — vitest, CI pipeline
  • 📱 Live docs with a phone simulator: https://lxg19961206.github.io/SolidMobile/

The visual style draws inspiration from Vant (a popular Chinese mobile component library) — but the design philosophy is different. Vant is tightly coupled to Vue's reactivity; I've tried to build something that feels native to Solid.

>A note of honesty: this project was first sketched out back in 2023, but as a solo developer I simply didn't have the capacity or skills to pull it off. It took until 2026, with a lot of help from Claude, to finally bring it to life.

📦 npm npm install solid-mobile
🖥️ Docs https://lxg19961206.github.io/SolidMobile/
🐙 GitHub https://github.com/LXG19961206/SolidMobile

About me — and what this project needs

I'm not a top-tier open source developer. I'm a regular frontend engineer building things after work hours. I make mistakes. Some of the API decisions in this library might be wrong. But I'm pouring everything I have — every bit of technical judgment I've accumulated — into making this the best it can be.

This is early beta. I wouldn't recommend it for production just yet. I'm planning to spend the next month or so stabilizing APIs, improving accessibility, optimizing bundle size, and polishing rough edges.

If you try it out and find bugs — please open an issue. If you see a better way to design something — please open a PR. If you want to be part of building this — I'd genuinely love to collaborate. This is a solo project right now, but it doesn't have to stay that way.

Wishing Solid the best

The framework deserves a thriving ecosystem. I hope solid-mobile can be a small piece of that puzzle. Thanks for reading.

humbly, LXG

reddit.com
u/Connect_History_915 — 24 days ago