deepyr 0.1.2 copy "deepyr: ^0.1.2" to clipboard
deepyr: ^0.1.2 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.

πŸš€ Live Demo & Documentation #

Explore all available components and see them in action on the official documentation site:

https://deepyr-doc.web.app/

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.1.2
    
  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
150
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)

Homepage
Repository (GitHub)
View/report issues

Topics

#jaspr #daisyui #ui-components #web

Documentation

API reference

License

MIT (license)

Dependencies

jaspr, universal_web

More

Packages that depend on deepyr