Changelog
See the release history, new components, bug fixes, and improvements in the Bloom UI ecosystem.
Version 1.0.10
2026-08-19Version 1.0.10
New Features and Improvements 🎨
- Tailwind v4 CSS Auto-Setup: Added automatic detection and setup of
globals.css(supporting Next.js structures) duringnpx @bloomui-react/cli init, provisioning custom components animations, variables, and utility classes directly into the project's globals file. - Automatic `@source` Directive Injection: The CLI now automatically injects the
@source "../node_modules/@bloomui-react/components"directive into the host project'sglobals.cssafter runninginit, positioned correctly after@import "tw-animate-css". Works for both existing and new CSS files — no manual configuration required. - Smart Package Manager Enforcement: Implemented a package manager verification script during
@bloomui-react/componentsinstallation that checks the current running client against existing lockfiles (pnpm-lock.yaml,yarn.lock,bun.lockb) to prevent package manager mismatches and lockfile corruption. - TypeScript Declarations Support: Enabled TypeScript
.d.tsdeclaration file generation during compilation of the@bloomui-react/componentslibrary for full, seamless IDE auto-import suggestions and type safety. - CLI Dependency Expansion: Added
tw-animate-cssto the list of packages installed automatically duringinitand checked bydoctorcommand, resolving import and compilation errors on Tailwind CSS animations in client workspaces. - CLI Dependency Prompt Fix: Updated the installation prompt message to list all required dependencies (
tailwind-merge,clsx,lucide-react, andtw-animate-css) instead of justtailwind-mergeandclsx.
Refactorings and Fixes ⚙️
- Menubar Portability Fix: Wrapped Radix UI sub-components in the
Menubarto ensure complete, clean types definition and avoid TypeScript portable type compilation errors (TS2742). - Next.js Dynamic Require Fix: Configured
next,next/imageandnext/linkas external dependencies in tsup config, preventing Turbopack runtime errors ("dynamic usage of require is not supported") and significantly reducing bundle size. - Installation Page Simplified: Removed the manual
@sourcedirective step from the NPM package installation guide since the CLI now handles it automatically oninit.
Version 1.0.2
2026-08-18Version 1.0.2
New Features and Previews 🎨
- Authentication Preview Route: Added a new
/preview/authpage showcasing 9 complete, production-ready auth layouts (Classic Card, Split Screen Banner, Modern Minimalist, Image Split Panel, OTP Verification, Social Login with Recent Accounts, Password Reset, Sign Up with Strength Meter, and Multi-Step Registration) fully built using Bloom components (Card,Button,Input,PasswordInput,Stepper,Avatar,Separator, andToast). - Forms & CRUD Preview Route: Created a new
/preview/formsroute containing 9 comprehensive form and data management templates (Profile Settings, Support Ticket, System Preferences, Project Task Creator, Job Application, Appointment Scheduler, Verification & Terms Pad, Customer Billing, and Member CRUD Manager). - Zod Validation & Form Wrapper: Integrated schema-based Zod validation and
react-hook-formstate management using Bloom's native<Form>and<FormField>components across all 9 authentication and 9 form layouts for type-safe and realistic templates. - Responsive Device Simulator (`ResponsivePreview`): Designed a new preview simulator component in the docs (
components/core/docsComponent.tsx) to preview components under Mobile (375px), Tablet (768px), and Desktop (100%) views. - Manual Drag Resizing: Added native pointer-based drag handles allowing users to manually resize simulated device widths, restricted to a safe minimum width of
375px(Mobile) to preserve layout responsiveness. - Context-Aware Simulation: Introduced
DevicePreviewContextto propagate the simulator's size state down to preview components, enabling dynamic column collapse and elements hiding in real-time during simulation.
Refactorings and Fixes ⚙️
- Checkbox Label Wrapping: Removed
truncateclass from theCheckboxcomponent's label and updated line-height fromleading-nonetoleading-tight. This allows long terms and privacy policy labels to wrap correctly on mobile viewports. - Minimalist Clean Aesthetics: Removed high-contrast gradients and sparkles icons from preview layouts, shifting to premium solid dark gray backgrounds (
bg-zinc-950/text-zinc-400) and modern symbols (lucide:command) to prevent generic "AI-generated" looks. - Flat Border Styling: Updated card preview variants from
"shadow"to"bordered", removing heavy shadows (shadow-2xl/shadow-md) to ensure consistent, premium flat design system aesthetics.
Version 1.0.1
2026-08-17Version 1.0.1
Refactorings and Improvements ⚙️
- Accessibility (A11y): Added native keyboard navigation and action support (
Enter/Space) to interactiveCard,Badge,Avatar(both the main component and the editable overlay layer),Select,Combobox, andDatePicker(on main trigger buttons) components when theisPressable,isEditableor trigger active state is set. Additionally correctedAlertDialog,Dialog,Drawer, andSheetbehaviour to default to modal (modal = true) conforming with WAI-ARIA specs to restrict background interaction and trap focus correctly. - Accessibility Hook: Created and applied a reusable
useKeyboardClickhook inlib/hooksto manage keyboard click event interception cleanly and uniformly across the codebase. - Polymorphism: Added support for the
asChildproperty using@radix-ui/react-slotinCardandBadgecomponents for flexible rendering of the output HTML element. - Performance Optimization: Implemented recursive memoization (
React.memo) on the internalJsonNodeof theJsonTreeViewercomponent, preventing unnecessary re-renders of the entire data tree. Also memoized announcement carousel and dismissal callbacks (React.useCallback) in theBannercomponent. OptimizedColorPickercomponent by decoupling selector pointer state from canvas redraws and only re-rendering the HSL wheel on size changes, dramatically lowering drag CPU workload, and fixeduseMemodependency array bugs inButtonGroup. Also addedrequestAnimationFramethrottling toTourcomponent scroll and resize listeners to prevent layout thrashing and scroll jank. - Code Structuring: Extracted duplicate navigation lists from
SidebarandDocsPaginationcomponents into a single centralized source of truth inlib/navigation.tsfor cleaner future maintenance. Added auto-sync support to globaluseQueryStatehook by subscribing to window"popstate"history navigation events. - Sidebar Fixes: Corrected the
scrollIntoVieweffect dependency array to scroll dynamically to the active link on page navigation, and removed a redundant mobile mount effect. - Code Cleanup: Removed inline
<style>tag injection from theButtoncomponent, replacing the copy animation draw keyframe with a reactive native CSS transition.