Skip to content

SpookyJelly/applejelly

Repository files navigation

logo

AppleJelly


Table of contents

Introduction

AppleJelly is a modern headless component library designed to deliver flexible, unstyled UI primitives while prioritizing accessibility and developer experience. Inspired by DataDog's DRUIDS architecture, AppleJelly provides robust functionality without imposing styling decisions, allowing developers to implement custom designs effortlessly. The library features automatic theme switching based on the user's prefers-color-scheme media query while supporting manual theme overrides.

Features

  • Headless Components
    Focus on functionality without baked-in styling – bring your own CSS or favorite styling solution.

  • DRUIDS-Inspired Architecture
    Built with the same modular philosophy as DataDog's DRUIDS, emphasizing clean separation of logic and presentation.

  • Automatic Theme Detection
    Components automatically adapt to OS-level light/dark theme preferences via CSS media queries.

  • Accessibility First
    Full WAI-ARIA compliance and keyboard navigation support out of the box.

  • Theme Customization
    Override auto-detected themes using CSS variables or component props for granular control.

Getting Started

npm install applejelly
# or
yarn add applejelly

Detailed Usages and API is on HERE

Contributing

We welcome contributions! Please follow these steps:

  1. Fork the repository

  2. Create a feature branch (git checkout -b feat/amazing-feature)

  3. Commit your changes with semantic commit messages

  4. Push to the branch (git push origin feat/amazing-feature)

  5. Open a Pull Request

License

MIT