Spark Core
Spark Core is a UI component library for toddle that helps developers build high-quality, accessible web apps in toddle. It is inspired by the fabulous Radix UI Primitives library for React. We rebuilt the functionality in toddle's visual development framework and adapted it to work seamlessly with all toddle projects.
Vision
Building component systems is hard. Building great component systems is really hard. We provide a solid base that includes complex logic so that you can focus on the design and business logic of your app. This library aims to be as flexible as possible for all kinds of projects while remaining reasonably easy to use and integrating well with toddle.
Target Audience
Spark Core is designed for advanced developers who need complete control over their component architecture and styling. This library provides low-level primitives and complex accessibility features that require a deep understanding of toddle and toddle's component system. If you prefer a simpler solution, check out Spark One - our starter template for toddle.
Key Features
Our main goal is to provide a set of components that are accessible, highly customizable and easy to use.
Key features include:
- Comprehensive Accessibility: All components adhere to WAI-ARIA design patterns. We handle complex accessibility implementation details including ARIA attributes, role management, focus handling and keyboard navigation - allowing developers to create inclusive applications without deep accessibility expertise.
- Zero-Style Architecture: Components ship with minimal to no built-in styles, providing complete styling control. Each component is composed of multiple parts exposed through the library, enabling individual styling through toddle's component style feature. This flexibility allows you to fully align the components with your brand and design philosophy.
- Smart Default Behaviors: Components are uncontrolled by default but can be controlled when needed. All behavior wiring is handled internally, eliminating the need for local state management and enabling rapid development while maintaining flexibility for custom implementations.