Skip to main content

Design Principles

AndrejGround Lab is built on a philosophy of predictable logic and developer ergonomics. We prioritize a 'low-friction' experience where the components get out of your way and let you build.

Ergonomic by Default

Powerful tools shouldn't come with a steep learning curve. Every component is architected for clarity, ensuring that implementation feels natural whether you’re a beginner or a seasoned developer.

Zero-Waste Architecture

Performance is a first-class citizen. Tree-shakable foundation ensures your production bundles only contain the code you actually use, keeping your apps lean and your load times fast.

Smooth User Experience

All components are built with performance and scalability in mind. The event management is highly optimized, ensuring a smooth feel even in the most cluttered environments.

Consistent API

AndrejGround Lab maintains a consistent API across all components. Common props and attributes across different components behave in a predictable way, allowing developers to anticipate component behavior and reduce learning curve.

Accessibility

Accessibility is an ongoing priority for AndrejGround Lab. At the moment, all the components have a full keyboard navigation support and focus management. Full assistive technologies support is on the way.

Customizable

All components are built highly customizable. You can easily override any style using TailwindCSS classes (without worrying about class conflicts) or CSS modules, and thus have full control over the look and feel of your components. No class conflicts, no "!important" fights

Component Slots & Granular Control

To avoid the limitations of monolithic components, AndrejGround Lab utilizes a slots. Slots are predefined entry points within a component’s internal structure that allow you to inject custom styles directly into sub-parts (e.g. menu, item, trigger for Dropdown component)