abaabil

Abaabil vs shadcn/ui

Both libraries, measured the same way on the same day: each entry point bundled with its own module graph, gzipped, React treated as external. All twenty-three abaabil components together come to 7,364 B. The same set from shadcn/ui, over the 21 it offers, comes to 74,098 B, or 10x the size.

What shadcn/ui is

Not a dependency. You copy its source into your own repository, where it imports Radix, lucide-react, clsx and tailwind-merge, and you own the result outright.

ui.shadcn.com

Per component, gzipped

abaabil's column is its a11y tier, the one most applications should use. 21 components are directly comparable; the widest gap is select at 80x. shadcn/ui has no equivalent for 2 of the twenty-three (file, toolbar), so those are left out rather than counted as a win.

JavaScript weight in gzipped bytes, abaabil against shadcn/ui, per component.
Componentabaabilshadcn/uiratio
button55710,92220x
dialog58025,52244x
popover49532,87366x
menu1,12040,53236x
tooltip45928,04761x
combobox1,09740,52337x
input5019,04018x
textarea5068,99018x
checkbox53416,40731x
radio44420,89147x
switch42313,89733x
select53042,65780x
slider70518,77627x
accordion36419,43753x
tabs78618,78624x
breadcrumb33510,31731x
pagination6899,79114x
progress49311,70224x
alert3419,40628x
avatar46012,03826x
badge26710,75440x
all of them, one bundle7,36474,09810x

The last row matters more than any single one above it. A library with a large shared runtime pays for it once, so the gap always narrows as you use more of it. Quoting only the widest row would be the easiest way to mislead you with real numbers.

Reading this fairly. shadcn is measured as what it actually costs you: its published source, fetched from its registry, bundled with everything it pulls in. That is why it measures heavier than Radix in every row. It is Radix, plus the component, plus the utilities.

abaabil's figures are JavaScript only, the same as every other column here, and unlike shadcn/ui it arrives already styled. That cost is real and tracked separately rather than folded in: the whole stylesheet is 5,217 B gzipped if you import all of it. The method, and every library at once, is on the Why page.

When to choose shadcn/ui instead

You want to own the code. That is a real and often correct preference, and it is not something a package can offer you: no version bump can break a file that lives in your repository. If you are already on Tailwind, it is also the shortest path from nothing to a styled, accessible application.

abaabil is twenty-three components and stops there. It has no date picker, no data grid, no virtualised list, and no plans for any of them. If the thing you need is on that list, the size comparison above is irrelevant to your decision, and you should take the library that has it.

If abaabil is the right fit

Setup is four steps and the first one is npm i abaabil. Every component has its own page with a live example at the tier you would actually import. Or read when not to use it first, which is the section written to talk you out of it.

Compare against another library.