PackageTrack
Sign in Get early access

tabbed_view

Flutter widget inspired by the classic Desktop-style tab component. Supports customizable themes.

3.1.0 3.1K downloads/mo #4619 most downloaded on pub.dev caduandrade/tabbed_view

What this package is like to depend on

Last release 4 months ago

07 Apr 2026

Release timing varies

gaps range from 2 weeks to 1.1 years

Nearly every release is documented

notes for 50 of 50 stable releases

Nothing withdrawn

no release was ever pulled

5 years old

64 releases · first in 2021

17 releases in the last 12 months

see the full history below

Release timeline

64 releases · Mar 2021 to Apr 2026
2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 60 of 64
  1. 3.1.0 07 Apr 2026
    Release notes
    • Updating dev workbench. #73

    • Adding the TabLabelBuilder typedef. #73

    • Using the label builder in TabHeaderWidget. #73

    • Overring the text with label builder. #73

    • Updating the CHANGELOG and reverting dev example. #73

    • Updating github actions. #73

    Open source →
    Release notes
    • TabData
      • Added listenable and textProvider for reactive UI updates.
      • Added labelBuilder to allow custom label widget creation instead of using the internally generated widget from text.
    • TabsAreaThemeData
      • Added padding property.
      • Added lastVisibleTabBehavior to configure how the last remaining tab behaves when there is no space available.
    • LastVisibleTabBehavior
      • New enum with two modes: hide (moves the tab to the overflow menu) and shrink (keeps the tab visible by reducing its width).
    • Bugfix
      • TabsAreaCrossAxisAlignment
        • Enum was not exported.
    Open source →
  2. 3.0.0 23 Mar 2026
    Release notes
    • OnTabSelection parameter change. #68

    • Replacing the use of the controller with a delegate within the widgets.

    • Declarative callbacks. #68

    • Reorder action #68

    • Simplifying the delegate. #68

    • Fixing imports. #68

    • Selection action. #68

    • Changing default minimalist theme padding. #68

    • Selected tab getter. #68

    • Creating an isolated class for the delegate. #68

    • Removing controller property from TabbedView. #68

    • Updating doc. #68

    • Separating the drag action into 3 callbacks. #68

    • Using TabData itself in viewBuilder. #68

    • Clearing the example. #68

    • Removing wrong class hide. #68

    • Updating CHANGELOG version. #68

    • Renaming content to view. #68

    • Updating CHANGELOG version. #68

    • Using the TabData reference in the declarative constructor callbacks.

    • Renaming normal TabStatus value to unselected. #68

    • Version 3.0.0 #68

    • Formating. #68

    Open source →
    Release notes
    • TabDecoration

      • Added support for custom tab shape.
    • TabbedViewThemeData

      • Added a new predefined theme: folder.
    • TabThemeData

      • Added a maxLines parameter to allow text wrapping in tab labels, specifically designed to work in conjunction with maxMainSize constraints.
    • TabStyleResolver

      • Added to provides per-tab style overrides on top of a TabThemeData.
      • Added support for changing the tab background color in some predefined themes.
    • TabbedView

      • Added TabbedView.declarative constructor for declarative (external state) usage.

    Breaking Changes

    • TabbedView

      • Renamed contentBuilder property to viewBuilder.
        • Updated property type from IndexedWidgetBuilder to TabViewBuilder.
        • Now receives TabData instead of tab index.
    • TabData

      • Added required id property to uniquely identify tabs.
      • Hid key and uniqueKey properties from the public API.
      • Updated value property type from dynamic to Object?.
      • Renamed content property to view.
      • Per-tab styling overrides have been moved from TabData to TabThemeData.
        • The following properties were removed from TabData:
          • normalStatusTheme
          • selectedStatusTheme
          • hoveredStatusTheme
    • TabStatus

      • Renamed normal value to unselected.
    • TabDecorationBuilder

      • Replaced TabStatus parameter with TabStyleContext.
    • OnDraggableBuild

      • Removed controller parameter.
    • CanDrop

      • Removed target parameter.
    • OnBeforeDropAccept

      • Removed target parameter.
    • OnTabSelection

      • Renamed to OnTabSelected.
      • Updated callback signature from (int? tabIndex, TabData? tabData) to (TabSelection? selection).
    • OnTabRemove

      • Renamed to OnTabRemoved.
    • OnTabReorder

      • Renamed to OnTabMoved.
    • TabbedViewController

      • Renamed onTabSelection property to onTabSelected.
      • Renamed onTabRemove property to onTabRemoved.
      • Renamed onTabReorder property to onTabReordered.
    • DraggableData

      • Renamed to DraggableTabData.
      • Removed controller property.
      • Renamed tabData property to tab.
    Open source →
  3. 3.0.0-rc.3 22 Mar 2026 pre-release

    Nothing published for this version

  4. 3.0.0-rc.2 22 Mar 2026 pre-release

    Nothing published for this version

  5. 3.0.0-rc.1 22 Mar 2026 pre-release

    Nothing published for this version

  6. 2.1.0 21 Dec 2025
    Release notes
    • TabData
      • Added the tooltip property.
    Open source →
  7. 2.0.0 16 Sep 2025
    Release notes
    • TabbedView
      • Removed the hiddenTabsMenuItemBuilder property.
      • Removed the tabSelectInterceptor property.
    • TabbedViewController
      • Moved reorderEnable property to TabbedView.
      • Moved onReorder property to TabbedView.
      • New methods:
        • selectTab(TabData tab)
        • getTabByValue(dynamic value)
        • selectTabByValue(dynamic value)
    • TabStatus
      • Renamed highlighted value to hovered.
    • TabData
      • Renamed and refactored buttons property to buttonsBuilder to use the builder pattern.
    • TabButton
      • The constructor was replaced by two separate constructors: TabButton.icon and TabButton.menu.
    • TabRemoveInterceptor
      • ̀Added the BuildContext parameter.
    • OnTabSelection
      • ̀Added the tabData parameter.
    • Theme
      • Refactored theming system to fully support all tab bar positions (top, bottom, left, right).
        • Added TabBarPosition enum to represent the bar positions.
        • Added SideTabsLayout to define how side-positioned tabs (left or right) are laid out (rotated or stacked).
      • Renamed Mobile theme to Underline
      • Removed Dark theme.
      • Added brightness support.
      • The theme data classes are now mutable.
      • TabbedViewThemeData
        • New properties:
          • divider: The border that separates the content area from the tab bar.
      • TabsAreaThemeData
        • Renamed normalButtonColor property to buttonColor.
        • Renamed hoverButtonColor property to hoveredButtonColor.
        • Renamed hoverButtonBackground property to hoveredButtonBackground.
        • Allowed null hoveredButtonColor to inherit default color.
        • New properties:
          • crossAxisFit: Defines how the cross axis will fit within the tabs area.
          • crossAxisAlignment: Defines the alignment of tabs in relation to the main content.
          • tabHeaderExtentSize: Defines how tab headers are sized relative to each other along their extent.
        • Removed properties:
          • gapBottomBorder
          • gapSideBorder̀
      • TabStatusThemeData
        • Renamed normalButtonColor property to buttonColor.
        • Renamed hoverButtonBackground property to hoveredButtonBackground.
      • TabThemeData
        • Renamed highlightedStatus property to hoveredStatus.
        • Renamed normalButtonColor property to buttonColor.
        • Renamed hoverButtonColor property to hoveredButtonColor.
        • Renamed hoverButtonBackground property to hoveredButtonBackground.
        • Allowed null hoveredButtonColor to inherit default color.
      • TabThemeData and TabStatusThemeData
        • Removed properties:
          • innerBottomBorder
          • innerTopBorder
          • decoration
          • margin
        • New properties:
          • decorationBuilder: A builder for creating complex and composable tab decorators.
          • maxMainSize: The maximum main size of the tab.
          • sideTabsLayout: Define how side-positioned tabs (left or right) are laid out.
      • ContentAreaThemeData
        • New properties:
          • border: The border around the outer side of the tab content area, excluding the side adjacent to the tabs.
          • borderRadius: The radius used to round the corners.
      • Replaced HiddenTabsMenuThemeData with TabbedViewMenuThemeData.
    • Special thanks to Patrick Legacy for his great contributions to this release.
    Open source →
  8. 2.0.0-rc.11 16 Sep 2025 pre-release

    Nothing published for this version

  9. 2.0.0-rc.10 15 Sep 2025 pre-release

    Nothing published for this version

  10. 2.0.0-rc.9 14 Sep 2025 pre-release

    Nothing published for this version

  11. 2.0.0-rc.8 12 Sep 2025 pre-release

    Nothing published for this version

  12. 2.0.0-rc.7 06 Sep 2025 pre-release

    Nothing published for this version

  13. 2.0.0-rc.6 01 Sep 2025 pre-release

    Nothing published for this version

  14. 2.0.0-rc.5 01 Sep 2025 pre-release

    Nothing published for this version

  15. 2.0.0-rc.4 01 Sep 2025 pre-release

    Nothing published for this version

  16. 2.0.0-rc.3 29 Aug 2025 pre-release

    Nothing published for this version

  17. 2.0.0-rc.2 29 Aug 2025 pre-release

    Nothing published for this version

  18. 2.0.0-rc.1 29 Aug 2025 pre-release

    Nothing published for this version

  19. 1.22.1 22 Aug 2025
    Release notes

    Making the layout rebuild itself when TabData.text is changed. #55

    Open source →
    Release notes
    • Bugfix
      • Tab width doesn't grow to fit the new title set by TabData.text.
    Open source →
  20. 1.22.0 15 Aug 2025
    Release notes

    Removing unnecessary imports.

    Open source →
    Release notes
    • TabData
      • Added the ability to override tab themes.
    Open source →
  21. 1.21.0 20 Jun 2025
    Release notes
    • TabbedView
      • Providing TabData in tabCloseInterceptor.
      • Adding dragScope for drag rejection.
    Open source →
  22. 1.20.0 25 May 2025
    Release notes
    • Added support for asynchronous tab close interception in `TabCloseInterceptor.
    Open source →
  23. 1.19.1 26 Oct 2024
    Release notes
    • Bugfix
      • Error setting text size
    Open source →
  24. 1.19.0 26 Oct 2024
    Release notes

    Allows you to define a maximum width for the tab text. #34

    Open source →
    Release notes
    • Allows you to define a maximum width for the tab text.
    Open source →
  25. 1.18.1 26 Oct 2024
    Release notes
    • Bugfix
      • Fields in hidden tabs continue to receive focus when pressing TAB.
    Open source →
  26. 1.18.0 08 Sep 2023
    Release notes
    • Highlighting the tab's drop position.
    • Allow dragging to reorder tabs to the last position.
    • Allow dragging tabs between different TabbedView instances.
    • Bugfix
      • Incorrect state for the index of the highlighted tab after being closed.

    Changes

    • Change in the signature of OnDraggableBuild.
      • From: (int tabIndex, TabData tabData)
      • To: (TabbedViewController controller, int tabIndex, TabData tabData)
    • Draggable will always be DraggableData type: Draggable<DraggableData>
    • TabsAreaThemeData
      • New property: dropColor.
    Open source →
  27. 1.17.0 19 May 2023
    Release notes
    • Tab reordering
    • TabbedViewController
      • New methods
        • setTabs
        • reorderTab
        • selectedTab
      • New property: reorderEnable
    • New callback: OnReorder
    • TabThemeData
      • New properties
        • draggingDecoration
        • draggingOpacity
    • TabData
      • New property: draggable
    • New class: DraggableConfig
    • New typedef: OnDraggableBuild
    • TabbedView
      • The draggableTabBuilder has been replaced by onDraggableBuild
        • Automatic creation of a Draggable<TabData>
    • TabData
      • The uniqueKey property has been renamed to key.
    • Minimum sdk version required: 2.19.0

    Migrating custom drag feedback

    From:

        TabbedView tabbedView = TabbedView(
            controller: _controller,
            draggableTabBuilder: (int tabIndex, TabData tab, Widget tabWidget) {
              return Draggable<String>(
                  child: tabWidget,
                  feedback: Material(
                      child: Container(
                          child: Text(tab.text),
                          padding: EdgeInsets.all(4),
                          decoration: BoxDecoration(border: Border.all()))),
                  data: tab.text,
                  dragAnchorStrategy: (Draggable<Object> draggable,
                      BuildContext context, Offset position) {
                    return Offset.zero;
                  });
            });
    

    To:

        TabbedView tabbedView = TabbedView(
            controller: _controller,
            onDraggableBuild: (int tabIndex, TabData tabData) {
              return DraggableConfig(
                  feedback: Container(
                      child: Text(tabData.text),
                      padding: EdgeInsets.all(4),
                      decoration: BoxDecoration(border: Border.all())));
            });
    
    Open source →
  28. 1.16.0 16 Jan 2023
    Release notes
    • Tab leading widget
    Open source →
  29. 1.16.0+1 29 Jan 2023
    Release notes
    • Removing the use of deprecated constructor.
    Open source →
  30. 1.15.0 20 Nov 2022
    Release notes
    • Adding properties
      • TabbedView.tabsAreaVisible
      • TabsAreaThemeData.visible
      • ContentAreaThemeData.decorationNoTabsArea
    • Bugfix
      • Implementing hashCode and == of the theme data.
    Open source →
  31. 1.14.0 03 Oct 2022
    Release notes
    • Renaming MenuThemeData to TabbedViewMenuThemeData
      • Avoiding conflict with next Flutter version.
    Open source →
  32. 1.14.0+1 30 Oct 2022
    Release notes
    • Stopping using deprecated hashValues method.
    Open source →
  33. 1.13.0 08 May 2022
    Release notes
    • Adding interceptor for tab selection.
    Open source →
  34. 1.13.0+1 25 May 2022
    Release notes
    • Formatting code.
    Open source →
  35. 1.12.0 18 Mar 2022
    Release notes
    • Adding getTabByIndex method in TabbedViewController.
    • Allowing update the following TabData properties: buttons, closable, content, text and value.
    Open source →
  36. 1.11.1 13 Mar 2022
    Release notes
    • Bugfix
      • Removing theme settings values equal to inherited ones
        • Mobile theme
          • tab.highlightedStatus.decoration
          • tab.selectedStatus.decoration
    Open source →
  37. 1.11.0 06 Mar 2022
    Release notes
    • Removing unused argument normalStatus from TabThemeData.
    • paddingWithoutButton setting in TabThemeData and TabStatusThemeData
    Open source →
  38. 1.10.0 26 Sep 2021
    Release notes
    • API change
      • ButtonColors has been split into normalButtonColor, hoverButtonColor and disabledButtonColor
      • New buttons theme configurations:
        • buttonPadding, normalButtonBackground, hoverButtonBackground and disabledButtonBackground
    • Default themes have been changed to use buttons decoration
    • Bug fix
      • Selected tab not being painted on top
      • Changed mouse cursor over selected tab
    Open source →
  39. 1.10.0+1 10 Feb 2022
    Release notes
    • Removing unnecessary imports
    Open source →
  40. 1.9.0 29 Aug 2021
    Release notes
    • Padding added to path icons to conform to Material Design standards
      • Gap of the buttons removed from the default themes
    • API change
      • IconProvider to hold an IconPath or an IconData in the themes and TabButton
    Open source →
  41. 1.8.0 29 Aug 2021
    Release notes
    • New icons
    • Default themes adjustments, such as gaps and paddings
    • buttonsGap setting in TabsAreaThemeData
    • IconPath to be used in icons drawing
    • iconSize setting in TabButton
    • API changes
      • minimalIconSize and defaultIconSize constants moved from TabbedViewThemeData to TabbedViewThemeConstants
      • ButtonsAreaThemeData properties moved to TabsAreaThemeData
      • TabButton
        • icon parameter renamed to iconData
      • TabsAreaThemeData
        • closeButtonIcon renamed to closeIconData
        • hiddenTabsMenuButtonIcon renamed to menuIconData
        • tab property moved to TabbedViewThemeData
        • closeIconData property moved to TabThemeData
        • closeIconPath property moved to TabThemeData
    Open source →
  42. 1.8.0+1 29 Aug 2021
    Release notes
    • README update
    Open source →
  43. 1.7.0 23 Aug 2021
    Release notes
    • TabButton padding
    Open source →
  44. 1.6.0 20 Aug 2021
    Release notes
    • API changes
      • menuBuilder has been removed from TabbedViewController
    • Bug fix
      • Error building menu with empty list of TabbedViewMenuItem
    Open source →
  45. 1.5.0 19 Aug 2021
    Release notes
    • API changes
      • OnTabClosing typedef renamed to TabCloseInterceptor
      • Added OnTabClose typedef
    Open source →
  46. 1.4.0 18 Aug 2021
    Release notes
    • API changes
      • TabbedViewTheme refactored to be a widget following the same pattern used by Flutter's Theme
      • Old theme classes have been renamed
        • TabbedViewTheme to TabbedViewThemeData
        • TabsAreaTheme to TabsAreaThemeData
        • ContentAreaTheme to ContentAreaThemeData
        • MenuTheme to MenuThemeData
        • ButtonsAreaTheme to ButtonsAreaThemeData
        • TabTheme to TabThemeData
        • TabStatusTheme to TabStatusThemeData
    Open source →
  47. 1.3.1 14 Aug 2021
    Release notes
    • Bug fix
      • Tabs area overflow
    Open source →
  48. 1.3.0 14 Aug 2021
    Release notes
    • Feature for clipping tab content
    • Bug fix
      • Tab area without performing the layout after tab selection
    Open source →
  49. 1.2.1 13 Aug 2021
    Release notes
    • Bug fix
      • Tabs area overflow
    Open source →
  50. 1.2.0 08 Aug 2021
    Release notes
    • Added keepAlive parameter to prevent loss of tab content state due to tree change during tab selection event.
    Open source →
  51. 1.1.2 06 Aug 2021
    Release notes
    • Bug fix
      • Overlap between tabs and button area
    Open source →
  52. 1.1.1 27 Jul 2021
    Release notes
    • Class name has been fixed (how embarrassing)
      • TabbedWiew has been renamed to TabbedView
    Open source →
  53. 1.1.0 24 Jun 2021
    Release notes
    • Draggable tab builder
    • Bug fix
      • Divisor between tabs and content starting drawing at wrong offset
    Open source →
  54. 1.1.0+1 24 Jun 2021
    Release notes
    • README update
    Open source →
  55. 1.0.0 24 Apr 2021
    Release notes
    • Final version
    Open source →
  56. 1.0.0+1 08 May 2021
    Release notes
    • README update
    Open source →
  57. 1.0.0+2 20 Jun 2021
    Release notes
    • README update
    Open source →
  58. 0.7.0 18 Apr 2021
    Release notes
    • Tabs area buttons builder
    • Theme changes
      • light theme has been renamed to classic theme
    Open source →
  59. 0.6.0 11 Apr 2021
    Release notes
    • Theme changes
    Open source →
  60. 0.5.0 10 Apr 2021
    Release notes
    • Theme changes
    • Documentation
    • Menu builder
    • TabbedWiewModel has been changed to TabbedWiewController
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive