Every component, every state.
61 component pages, 1,839 addressable components. Hover, focus, active and disabled are drawn on every control that has them, because a design file has no pseudo-classes.
61 of 61 shown
Before you open the file
The things people ask first, answered without marketing.
Real ones. Every entry above is a published Penpot component with named variant properties, not a group that has been copied around. Editing the main updates every instance in the file, and larger components are assembled from smaller published ones - a table cell holds an actual badge, a sidebar row holds an actual switch.
Because a design file has no pseudo-classes. In a browser, hover, focus, active and disabled cost nothing; here each one has to be drawn. That is where 1,692 variants come from, and it is the difference between a kit you can design a real interface with and one that only looks right in a screenshot.
Yes. Light and dark are token sets, so switching the active theme restyles every component at once and neither mode can drift from the other. The usage example frames are light only, deliberately - the components carry both modes, the examples just do not duplicate themselves to show it.
The complete Tabler outline set, 5,130 icons, already imported into the file and sized. They are real shapes in the document rather than a link to a plugin, so an icon is never a reason to leave the file or to install anything.
Yes, and the Components page in the docs is a recipe for doing it so that yours are indistinguishable from the rest: the two frames per page where an example earns its place, flex rather than coordinates, every colour bound to a semantic token, and the states the rest of the kit covers.
Components land page by page and each is checked against the source before it ships. Updates are included for the life of the kit with no renewal, and where Penpot cannot do what the source does, the difference is written on that component's page rather than quietly smoothed over.