deepyr 0.0.3 copy "deepyr: ^0.0.3" to clipboard
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 #

pub version

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 #

  1. Add Dependency

    Add deepyr to your pubspec.yaml:

    dependencies:
      deepyr: ^0.0.3
    
  2. 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

6
likes
0
points
339
downloads

Publisher

verified publisherphilippgerber.li

Weekly Downloads

A type-safe Dart implementation of DaisyUI components for Jaspr, providing a fluent API for building beautiful web apps (PoC)

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

jaspr, universal_web

More

Packages that depend on deepyr