beui 1.1.0
beui: ^1.1.0 copied to clipboard
Spring-physics motion components for Flutter — a one-to-one port of the beUI React library, from switches and docks to shader backgrounds.
1.1.0 #
Semantic theming for the AI-agent family, plus compact-to-expanded approval
cards. Default visuals and motion are unchanged: omit BeuiAgentTheme and
every agent widget still resolves to the 1.0.0 source-fidelity look.
Agent theming #
- New
BeuiAgentThemeThemeExtension— typography roles, bubble/card radii, conversation spacing, density, borders, optional glass cards, and semantic icon slots. Install it next toBeuiColors;ThemeData.fontFamilystill owns the typeface. - AI-agent widgets read those tokens instead of hard-coded source sizes, padding, and Lucide defaults. Constructor overrides remain.
- Gallery route Agent Theme shows a custom warm-green palette, inherited font, radii, density, icons, and an expandable approval card using the real widgets.
Approval card #
- Additive compact-to-expanded API:
expanded/defaultExpanded/onExpandedChanged,compactChild/expandedChild,headerAction. Existing call sites are unchanged. Height usesbeuiSpringLayoutand is interruptible; reduced motion snaps.
Compatibility #
- Minor release. No required migrations.
BeuiChatApp.borderRadiusandBeuiMessageBubbleContent.maxWidthFactorare now nullable so the theme can supply the default; omitted arguments still resolve to 16 and 0.82.
1.0.0 #
Initial release — a one-to-one Flutter port of beUI v2, built on the
motor motion engine so the source's exact
spring physics carry over. All 72 beui.dev catalog entries across three groups.
A beui.dev page is not always one component: several pages ship multiple independently-installable widgets, and all of them are covered here.
Components (motion primitives) #
Tilt Card, Button (+ Stateful + Magnetic), Animated CTA Buttons (expanding / hold / slide), Marquee, Tabs, Switch, Input, Select (+ Morph), Checkbox, Radio Group, Bottom Sheet, Pull to Refresh, Shared Layout Background, Bounce Sidebar, Animated Sidebar (sidebar / floating / inset), Preview Rail, Dock (+ separator-grouped actions), Tooltip, Context Menu, Popover (+ Morph), Morphing Modal, Center Morph Modal, Text Animation (reveal / shimmer / cascade / chromatic), Number Animation (count-up + ticker), Animated Badge, Action Swap (blur / roll / cascade), Animated Toast Stack, Theme Toggle (rectangle / circle / circle-blur / blinds), Bouncy Accordion, Drawer, Scroll Animation (smooth scroll / progress / reveal / scroll-to / parallax), Range Slider (ticked / fluid / wave / bubble / ruler), Wheel Picker, Table, Shader Background (21 GPU variants), Cylinder Carousel, Loader (17 variants).
Blocks (composed patterns) #
Infinite Masonry, Notification Stack, Fixtures (knockout bracket with third-place playoff + knockout wheel), Availability Scheduler, Multi-chain Swap, Dynamic Island, Command Palette, Expandable Action Bar, Overflow Actions, Expandable Tabs, Swipeable List, File Upload (upload queue
- attachment workspace), Prediction Market, Wallet Card, OTP Input, Bloom Menu, Feedback Widget, 404 / Not Found (5 variants).
AI Agents (conversational interfaces) #
Message Bubble, Message, Message Scroller, Prompt Input, Todo List, Code Block, Approval Card, File Diff, Tool Result, Streaming Response, Image Generation, Tool Approval, Citations, Agent Activity, Agent Loading States (thinking shimmer / agent progress / reasoning text), AI Sidebar, Chat App.
Foundation #
- Spring and easing motion tokens mirroring the source
ease.ts, resolved through a singlemotor-backed facade. BeuiColorsThemeExtensionwith light/dark and 11 color themes.- Shared
BeuiOverlayfoundation for every floating surface (tooltip, drawer, sheet, modal, command palette). - Reduced-motion resolver (
motionFor) that drops movement while preserving opacity/color feedback. - Default
flutter_lucideicon set re-exported through the barrel.
Deliberate departures from the source #
- No dual-thumb range slider — beui.dev ships five single-value sliders and no range variant.
- File pickers are the consumer's:
BeuiFileUploadandBeuiAttachmentUploadcarry file metadata and exposeonBrowse, so the package takes no file-picker dependency. - Compound React components (
Tabs/TabsList/TabsTrigger,Select/SelectTrigger/…, theAnimatedSidebar*family) collapse into single widgets taking item models, per the Flutter conventions indocs/PORTING_SPEC.md§6.