deepyr 0.0.3
deepyr: ^0.0.3 copied to clipboard
A type-safe Dart implementation of DaisyUI components for Jaspr, providing a fluent API for building beautiful web apps (PoC)
Deepyr #
Jaspr + DaisyUI => Deepyr
A type-safe Dart implementation of DaisyUI components for Jaspr, providing a fluent API for building beautiful web apps with Tailwind CSS.
Proof of concept #
This package currently serves as a proof-of-concept for integrating DaisyUI with Jaspr using a type-safe Dart API.
Design Principles #
- π― Type Safety - Catch styling errors at compile time
- π§ Fluent API - Chain modifiers intuitively
- π± Responsive - Built-in breakpoint support
- π¨ DaisyUI Faithful - 1:1 component mapping
- β‘ Performance - Minimal runtime overhead
Getting Started #
-
Add Dependency
Add
deepyr
to yourpubspec.yaml
:dependencies: deepyr: ^0.0.3
-
Setup Tailwind CSS
deepyr
is a component library, not a CSS framework. You must have Tailwind CSS v4 and DaisyUI v5 installed and configured in your Jaspr project for the components to be styled correctly.
Usage Example #
import 'package:jaspr/jaspr.dart';
import 'package:deepyr/deepyr.dart';
class MyComponent extends StatelessComponent {
@override
Iterable<Component> build(BuildContext context) sync* {
yield Button(
[
Icon('favorite'),
text('Click Me'),
],
// Apply styles in a type-safe list
style: [
Button.primary, // Apply the primary color
Button.lg.at(Breakpoint.md), // Becomes large on medium screens and up
],
onClick: (_) => print('Button clicked!'),
);
}
}
Deepyr Component Roadmap #
Phase 1: Core Foundation #
Essential building blocks - No dependencies required
- β Button
- β Input
- β Badge
- β Loading
- β Alert
- β Card
- β Divider
Phase 2: Form Components #
Essential form inputs and controls
- π² Checkbox - Boolean selection with custom styling
- π² Radio - Single choice selection from multiple options
- π² Toggle - Modern switch-style boolean input
- π² Textarea - Multi-line text input with resize options
- π² Select - Dropdown selection with custom styling
- π² Progress - Task completion and loading progress bars
- π² Link - Enhanced hyperlinks with hover states
Phase 3: Layout & Navigation #
Page structure and user navigation
- π² Navbar - Header navigation bars
- π² Footer - Page footers with links and branding
- π² Breadcrumbs - Navigation hierarchy display
- π² Hero - Landing page headers and call-to-action sections
- π² Skeleton - Loading state placeholders
- π² Avatar - User profile images and placeholders
Phase 4: Data Display #
Presenting information and data
- π² Table - Structured data presentation
- π² Stats - Metrics and statistics display
- π² List - Structured content organization
- π² Timeline - Chronological data visualization
- π² Kbd - Keyboard shortcut display
- π² Mask - Image and content shape transformations
Phase 5: Advanced Feedback #
Enhanced user notifications and status
- π² Toast - Floating notification messages
- π² Radial Progress - Circular progress indicators
- π² Status - Small online/offline indicators
- π² Indicator - Corner notification badges
- π² Steps - Multi-step process visualization
- π² Countdown - Timer and countdown displays
Phase 6: Container Components #
Component organization and grouping
- π² Join - Group related components together
- π² Stack - Layer elements on top of each other
- π² Collapse - Expandable content sections
- π² Swap - Toggle between two content states
- π² Fieldset - Form section grouping
- π² Label - Enhanced form field labeling
Phase 7: Interactive Components #
Complex user interactions
- π² Modal - Dialog boxes and overlays
- π² Dropdown - Context menus and action lists
- π² Drawer - Sliding side navigation
- π² Menu - Navigation and context menus
- π² Tabs - Tabbed content interfaces
- π² Carousel - Content sliders and galleries
Phase 8: Advanced Components #
Specialized inputs and complex patterns
- π² File Input - File upload interfaces
- π² Range - Slider value selection
- π² Rating - Star ratings and feedback
- π² Filter - Content filtering controls
- π² Pagination - Page navigation controls
- π² Theme Controller - Dynamic theme switching
- π² Validator - Form validation with visual feedback
- π² Diff - Side-by-side content comparison
Phase 9: Display & Demo #
Presentation and demonstration components
- π² Mockup Browser - Browser window frames
- π² Mockup Phone - Mobile device frames
- π² Mockup Window - Desktop window frames
- π² Mockup Code - Code block presentation
- π² Chat - Messaging interface components
- π² Calendar - Date selection integration