kin_ui 1.7.1
kin_ui: ^1.7.1 copied to clipboard
A Native inspired Flutter design system. Tokens, primitives, components, adaptive shell, and templates out of the box.
Changelog #
1.7.1 #
Fixes #
- KinBottomBar — Tab switches now trigger
HapticFeedback.selectionClick()for native tactile feedback on Android - KinOtpField — Cells are now
Expandedinstead of fixed-width (48px), eliminating the 8px horizontal overflow on standard 360dp screens; field fills available width on any screen size - KinSpacing.md — Corrected default component padding token from
16.0→12.0; affects defaultKinCard,KinSurface,KinListTile, button sizes, and all components using themdspacing constant
1.7.0 #
New Components #
- KinEmptyState — Centered placeholder with icon, title, subtitle, and optional action button for empty lists and zero-data screens
- KinOtpField — Auto-advancing OTP input with configurable digit count and themed focus states
- KinNumberPad — On-screen numeric keypad with haptic feedback, delete key, and spring press animation
- KinTagInput — Chip-based tag input with add/remove, inline text field, and themed styling
- KinTimeline — Vertical timeline with solid/dashed connector styles, themed nodes, and custom content slots
New System: Material Surfaces #
- KinMaterial — Apple-style material system with three surface modes:
KinMaterial.opaque()— Solid background (default, preserves existing behavior)KinMaterial.glass(thickness:)— Frosted glass with backdrop blur. 5 thickness presets:ultraThin,thin,regular,thick,ultraThickKinMaterial.tinted(tintColor:, tintOpacity:)— Semi-transparent surface with color tint overlay
- KinMaterialSurface — Primitive widget that renders glass/tinted materials
- Material parameter added to KinCard, KinSheet, and KinSurface
Deepened Animations #
- KinPress — Upgraded from 150ms tween to dual spring physics (tight press-down stiffness 500/damping 30, bouncy release 300/18) — affects all Cards, Chips, and tappable components
- KinDialog — Spring scale entrance with
elasticOutovershoot, scale from 0.88, 450ms - KinToast — Spring slide with
easeOutBackovershoot, shorter travel distance, staggered fade-in - KinActionSheet — Spring slide-up with
easeOutBackbounce, 400ms - KinCheckbox — Real spring-driven bounce (stiffness 350, damping 15) replacing TweenSequence
- KinDrawer — Refined animation: softer spring (180/22), drawer parallax from 25% offset, center-aligned body scale, curved opacity, 40pt corner radius with easeOut
Enhancements #
- KinButton — Added
KinButtonSizeenum withsmall,medium(default), andlargepresets scaling padding and typography - KinTextField — Added
maxLength,showCharCounter, andinputFormattersparameters with live character count display - KinCard — Added
heroTagfor Hero animation wrapping - KinSheet — Added
KinSheetDetent.small(25%) andKinSheetCustomDetent(fraction)for custom detent positions - KinTheme — Added
success(green) andwarning(amber) color tokens withcopyWithandlerpsupport - KinBottomBar — Made fully responsive: dynamic slot widths via
LayoutBuilder+Expanded, pill scales proportionally (clamped 48–80px), works on narrow Android screens with 4–5+ tabs without overflow
Maintenance #
- Barrel export updated to 54 components
- All new components exported from
components.dartandcore.dart
1.6.0 #
New Components #
- KinBreadcrumbs — Horizontal navigation trail with chevron separators, tappable segments with haptic feedback, icon support, and auto-bolded active (last) item
- KinTreeView — Recursive tree with animated expand/collapse, indentation guide lines, selection highlighting, custom
nodeBuilder, andinitiallyExpandedset - KinHeatmap — GitHub-style activity grid with configurable color scale, row/column labels, tooltip support, and
KinHeatmap.flat()factory for flat value lists - KinMap — Pure-Flutter interactive map with Mercator projection, pan/pinch-zoom gestures,
KinMapMarkerpins,KinMapPolylineoverlays,KinMapController, zoom controls, and coordinate display
Enhancements #
- KinGridView — Added
bento()factory for span-based layouts withKinBentoItem(colSpan/rowSpan) and slot-filling algorithm. Now 4 grid types: default, builder, masonry, bento - KinSheet — Improved closing animation with spring slide-down before pop, faster reverse transition (380ms), reduced default padding (lg→md), and independently optional
showHandle/showCloseparameters - KinDropdownMenu — Capsule-shaped trigger with active border highlight, rounded row tap highlights with inset margins, xl-radius menu corners
- KinRangeSlider — New dual-thumb range slider with pill-shaped thumbs, active track between thumbs, nearest-thumb drag detection, and division snapping
1.5.0 #
New Components #
- KinRangeSlider — Dual-thumb range slider with pill-shaped thumbs, active track highlighting, nearest-thumb drag detection, division snapping, and animated transitions
- KinGridView — Adaptive grid with auto-column count based on
minItemWidth, fixedcrossAxisCountmode, section titles,builder()factory, andmasonry()variant - KinDropdownMenu — Overlay dropdown with spring scale animation, blur backdrop in dark mode, capsule trigger, checkmark for selected item, label/hint support, and custom
itemBuilder
Fixes & Enhancements #
- KinBottomBar — Enlarged dimensions (height 50→62, slot width 56→64, pill 64→72, icon size 22→24)
- KinSegmentedControl — Fixed pill animation clipping with
Clip.none - KinSlider — Fixed thumb overflow at 100% by centering on value position; added
Clip.noneto Stack - KinSheet — Lowered dismiss velocity threshold, added fraction-based dismiss when dragged below 35%, added close icon button next to grab handle
- KinDropdownMenu — Capsule-shaped trigger with active border highlight, rounded row tap highlights, xl-radius menu corners
1.4.0 #
New Components #
- KinCheckbox — Animated checkbox with spring checkmark painter, haptic feedback, optional label and subtitle
- KinRadio — Generic typed radio button with animated overshoot fill dot, haptic feedback, label and subtitle
- KinAvatar — Profile avatar with image, hash-coloured initials fallback, 5 sizes (xs–xl), status indicator (online/offline/busy/away), and
KinAvatarGroupfor stacked display - KinDivider — Themed horizontal/vertical separator with optional centred label
- KinTooltip — Long-press tooltip with spring scale animation, auto-positioning (above/below/left/right), and blur backdrop in dark mode
- KinActivityIndicator — Loading indicator with 3 styles: iOS spinner bars, pulsing dots, and circular arc
- KinContextMenu — iOS-style long-press context menu with blurred scrim, preview card, and destructive action support
- KinSwipeActions — Swipe-to-reveal row actions with rubber-band physics, leading and trailing action slots
- KinActionSheet — iOS-style bottom action sheet with slide-up animation, title/message header, and cancel button
Enhancements #
- KinTypography — Expanded from 7 to 21 type styles (display L/M/S, title L/M/S, headline, subheadline, body L/M/S, callout, label L/M/S, caption L/S, footnote, overline, mono, monoSmall) with proportional font features and SF Mono fallback
- KinText — Added named constructors for all 21 type levels
- KinPageView — Added 4 new iOS 18 page transitions: zoom, cube, flip, depth (8 total)
- KinListTile — Rewritten with
KinPress+InkWellink feedback, haptic, density parameter (compact/standard/comfortable),showDivider,backgroundColor,onLongPress - KinExpansionCard — Removed border, added haptic on toggle, smoother spring animation
- KinSnackbar — Removed border
- KinStepper — Added haptic feedback on step tap
- KinBadge — Improved with
AnimatedScaleandAnimatedSwitcher - KinChip — Added haptic feedback, removed border
- KinFloatingButton — Added spring entrance animation
- KinAccessibility — Added tritanopia simulation and large text support
- KinDataTable — Fixed cell clipping with
Clip.hardEdge - KinNavRail — Removed container border and indicator pill border
- KinSurface — Removed default outline border from card and elevated variants
Maintenance #
- Barrel export updated to 45 components
1.3.0 #
Enhancements #
- KinNavRail — Redesigned as icon-only vertical rail with spring-driven sliding indicator, bounce feedback, frosted glass backdrop in dark mode, haptic feedback, and all-corners rounded capsule
Maintenance #
- Simplified
example/main.dart— clean 3-tab demo (Home, Stats, Settings) using KinScaffold with adaptive navigation, replacing the 630-line kitchen-sink showcase - Removed internal
lib/example/showcase files — package ships only public API code
1.2.0 #
New Components #
- KinRichEditor — Block-based rich text editor with inline formatting (bold, italic, underline, strikethrough), block-level controls (H1–H3, bullet/numbered lists, blockquote), text alignment, link insertion, undo/redo, clear formatting, and a scrollable toolbar
- KinAIGradient — Fluid animated AI gradient surface with 8 mood palettes (abyss, ember, flora, nebula, frost, solar, mycelium, iridescent), 5 animation styles (breathe, orbit, wave, shimmer, pulse), touch interaction with blob attraction and ripple effects, and haptic feedback
- KinAIOrb — Living AI orb that communicates state through motion and colour — 6 states: idle (breathing glow), listening (sonar rings with audio level), thinking (orbital dots), speaking (wave deformation), success (burst sparkles), error (shake), with haptic transitions
- KinRatingPicker — Star-based rating picker for dialogs
Enhancements #
- KinChart — Now supports 6 chart types (bar, line, area, donut, pie, horizontal bar), multi-series data, configurable grid lines & axis labels, interactive tooltips with indicator line/dot and dismiss overlay, and
IntrinsicHeightfix for Y-axis layout - KinSearchBar — Added size variants (small 40px, medium 48px, large 54px),
fillColor,borderColor,borderRadius,enabled,autofocus,showClearButton,elevation,keyboardType - KinDataTable — Rewritten with flex columns (
flex,minWidth), sticky header,maxHeightfor vertical scroll,emptyWidget, and haptic sort feedback - KinTimePicker — Added haptic tick feedback on scroll
Fixes #
- KinDialog — Fixed 2.9px overflow in landscape with conditional spacing before buttons
- KinDatePicker — Fixed 93px calendar overflow in landscape (cell height 30→26, tighter spacing)
- KinColorPicker — Fixed cancel button overflow in landscape (maxWidth 520→560)
- KinAIGradient — Fixed
RenderFlexcrash when used in unconstrained contexts (Row, circle shapes) by reordering build: SizedBox before LayoutBuilder, finite fallback for infinite constraints
1.1.0 #
New Components #
- KinTimePicker — Scroll-wheel time picker dialog with 12/24-hour format, flat scroll columns, and ShaderMask edge fading
- KinPhotoPicker — Dialog-style expandable photo grid picker with compact/expanded drag gesture
- KinImagePicker — Native-style bottom-sheet source selector (camera / gallery)
- KinSnackbar — Overlay snackbar with
standard,success,warning,errorvariants, action button, and swipe dismiss - KinDrawer — Push-body drawer with scale + radius animation, dashed divider, and
KinDrawerController - KinPopupMenu — Contextual popup menu with frosted glass dark mode and divider support
- KinFloatingButton — Themed FAB with size/variant options and
.extended()constructor - KinCarousel — Auto-playing page carousel with
fullBleed,card,stackedvariants and dot/dash indicators - KinStepper — Multi-step indicator with
horizontal/verticallayout andnumbered/dot/progressvariants - KinPageView — Page view with
slide,fade,parallax,stacktransitions and dot/dash/numbered indicators - KinDataTable — Themed data table with column sorting, row selection, alternating row tint, and horizontal scroll
- KinChart — CustomPaint chart with
bar,line,pietypes, labels, values, and entry-level color - KinAccessibility — Subtree wrapper for colour-blindness simulation, greyscale, high contrast, reduced motion, and text scaling
Improvements #
- All picker dialogs (color, date, time, photo) now anchor to
Alignment.bottomCenternear the system navigation bar KinDialogpositioned closer to the bottom for consistency with picker dialogsKinTimePickeruses flat scroll columns (diameterRatio: 100) instead of iOS-style curved perspectiveKinTimePickerfade effect usesShaderMask+BlendMode.dstIn— works flawlessly on frosted glass backgrounds in dark mode- AM/PM column is now a scrollable wheel (same style as hours/minutes) instead of static chip buttons
KinDrawerheader text resolves to white viaKinThemeoverride soKinTextchildren are always visible on the dark drawer backgroundKinDrawerdashed divider extends further withKinSpacing.mdright padding
1.0.1 #
- Use OSI-approved MIT license
- Add documentation comments to all public API classes and enums
- Fix missing assets directory
1.0.0 #
- Initial stable release
- Token system:
KinSpacing,KinRadius,KinMotion,KinTypography KinTheme— 8-colorThemeExtensionwithcopyWithandlerpKinLayout— responsive breakpoints (compact / medium / expanded)KinApp— layout injection and bouncing scroll physics- Primitives:
KinPress,KinSurface,KinText - Components:
KinButton,KinCard,KinChip,KinToggle,KinTextField,KinSearchBar,KinSheet,KinDialog,KinSegmentedControl,KinExpansionCard,KinSlider,KinToast,KinSkeleton,KinProgress,KinBadge,KinColorPicker,KinDatePicker,KinPullToRefresh - Shell:
KinScaffold,KinTopBar,KinNavDrawer,KinNavRail,KinBottomBar,KinListTile - Templates:
KinFeedTemplate,KinDetailTemplate,KinSettingsTemplate,KinDashboardTemplate - SHA-256 gated author presets via
KinConfig