deepyr 0.4.0
deepyr: ^0.4.0 copied to clipboard
A type-safe Dart implementation of daisyUI components for Jaspr, providing a fluent API for building beautiful web apps (PoC)
Changelog #
0.4.0 #
Fixed #
- Critical State Sync: Resolved a race condition with Jaspr v0.21.6+ where interactive components (Accordion, Collapse, Drawer, etc.) would lose state/snap shut during re-renders.
Changed #
- Controlled Components:
Drawer,Modal,Swap,Checkbox,Toggle,ThemeController,Accordion, andCollapsehave been refactored toStatefulUiComponent. They now strictly follow the Controlled Component pattern (requiring state to be passed in). - Tabs: The
Tabcomponent now correctly handles radio-input logic to prevent state desynchronization.
Added #
- Indeterminate State: Native support for the
indeterminatevisual state onCheckbox,Toggle, andSwapvia JS interop. - Styling Utilities: Added
Transition,Transform, andGrouputility classes for advanced CSS effects. - Custom Variants: Added the
.when()modifier toBaseStyle, allowing for custom state selectors (e.g.,Size.w64.when(DrawerIs.open)).
0.3.0 #
Added #
- New Component:
MockupPhonefor displaying content within an iPhone-style frame, using a simplecontentproperty for the screen area (Example). - New Component:
MockupWindowfor showing content inside a generic OS-style window frame (Example). - New Component:
BrowserMockupfor creating a browser window mockup with a compositional API for the toolbar and content area (Example). - New Component:
MockupCodefor displaying code blocks, featuring a developer-friendly API with.fromString()and.fromList()factories, automatic line numbering, and per-line styling capabilities (Example).
0.2.1 #
fixed README
0.2.0 #
Added #
- New Component:
FABcomponent for creating a Floating Action Button with "Speed Dial" functionality, implemented as a fully controlled component for Dart-driven interactivity (Example). - New Component:
Dockcomponent for creating a responsive bottom navigation bar, composed ofDockItemandDockLabelfor flexible and type-safe implementation (Example). - New Component:
Filtercomponent for creating a group of radio buttons to filter items, with support for form-based and CSS-based reset functionality (Example).
0.1.8 #
0.1.7 #
Added #
- New Component:
Ratingcomponent for selecting a value from a set of icons, with support for half-stars, custom icons viaMask, and sizes (Example) - New Component:
Toastcomponent for displaying notifications in various screen positions (Example) - New Component:
Steps,Step, andStepIconcomponents for showing progress in a process, with support for colors, custom content, and responsive layouts (Example). - New Component:
Stackcomponent for layering elements on top of each other, with positional modifiers likeStack.top,Stack.start, etc. (Example).
0.1.6 #
0.1.5 #
0.1.4 #
Added #
-
New Component:
Timelinecomponent for displaying a list of events in chronological order (Example). -
Responsive API Enhancement: The core styling API has been extended to support
max-widthbreakpoints. All styling components now have a.below(Breakpoint)method, enabling styles that apply only up to a certain screen size (e.g.,Timeline.compact.below(Breakpoint.md)). This also allows for creating ranged styles by chaining methods (e.g.,MyStyle.at(Breakpoint.sm).below(Breakpoint.lg)).
0.1.3 #
Added #
- New Component:
Statuscomponent for displaying small status indicators. - New Component:
Countdowncomponent for displaying animated numerical transitions. - New Component:
RadialProgresscomponent to show progress in a circular style. - New Component:
StatandStatscomponents for displaying statistical data. - New Component:
List,ListRow, andListColcomponents for creating structured lists. - New Component:
Maskcomponent with a full set of shape modifiers. - New Component:
Tablecomponent to be a 1:1 match with all official daisyUI examples.
0.1.2 #
Fixed #
Dropdown: Addressed a critical cross-browser compatibility issue where focus-based dropdowns failed to position correctly in Safari. The component now works seamlessly across all modern browsers.Diff: TheDiffcomponent is now fully interactive. Fixed a fundamental bug that made the comparison slider non-functional.
Changed #
DiffArchitecture: RefactoredDiffto be a stateful, client-side component to enable interactivity.- Breaking Change: The
item1anditem2named parameters have been removed.DiffItem1andDiffItem2must now be passed as direct children in a list.
- Breaking Change: The
0.1.1 #
Fixed #
ModalClosing on Safari: Fixed a critical cross-browser issue whereModalcomponents using the native<dialog>tag could not be closed by aButtoninside a<form method="dialog">. This was most noticeable on Safari. The issue was caused by Jaspr's default event handling (preventDefault()) interfering with the native browser behavior required to close the dialog.
Added #
Button.isNativeSubmitProperty: To solve the modal issue, a newisNativeSubmitboolean property was added to theButtoncomponent. When set totrue, theButtonrenders as a primitive element without Jaspr's event listeners, allowing its native form submission behavior to proceed. This is now the recommended way to create close buttons for dialog-based modals.
0.1.0 #
Added #
Join- A smart container to seamlessly group related components like buttons or inputs.Tooltip- A pop-up that displays information on hover, supporting both simple text and rich content.Indicator- A container to place a badge or item on the corner of another element.Modal- A dialog/overlay component for displaying important messages or interactive content.Tabs- A component for creating tabbed content views, allowing users to switch between different sections.Dropdown- A key interactive component for creating context menus and action lists, refactored for a more declarative and type-safe API.
0.0.4 #
Added #
Checkbox- Boolean selection with custom stylingRadio- Single choice selection from multiple optionsToggle- Modern switch-style boolean inputTextarea- Multi-line text input with resize optionsSelect- Dropdown selection with custom stylingProgress- Task completion and loading progress barsLink- Enhanced hyperlinks with hover states
0.0.2 #
Added #
Input- Text input field with full styling supportBadge- Status indicators and labelsAlert- User notification messagesCard- Content containers and layout blocks
0.0.1 #
- Initial project setup and foundation for the
deepyrpackage. - Proof of Concept (PoC) release with the first component:
Button. - Basic API structure for creating and styling daisyUI components in Jaspr.
