sunny_macos_ui library

Flutter widgets and themes implementing the current macOS design language.

To use, import 'package:sunny_macos_ui/sunny_macos_ui.dart';

This library is designed for apps that run on macOS. While it will work on other Flutter-supported platforms, we encourage the use of the following libraries for apps that run on other desktop platforms:

Classes

CapacityIndicator
A capacity indicator illustrates the current level in relation to a finite capacity. Capacity indicators are often used when communicating factors like disk and battery usage. Mail, for example, uses a capacity indicator to show the percentage of data used in relation to an email account’s quota.
CapacityIndicatorCell
The cell CapacityIndicator uses to draw itself.
ContentArea
The widget that fills the rest of the body of the macOS MacosScaffold.
HelpButton
A help button appears within a view and opens app-specific help documentation when clicked. For help documentation creation guidance, see Help. All help buttons are circular, consistently sized buttons that contain a question mark icon. Whenever possible, open a help topic related to the current context. For example, the Rules pane of Mail preferences includes a help button. When clicked, it opens directly to a Rules preferences help topic.
HelpButtonState
HelpButtonTheme
Overrides the default style of its HelpButton descendants.
HelpButtonThemeData
A style that overrides the default appearance of HelpButtons when it's used with HelpButtonTheme or with the overall MacosTheme's MacosThemeData.helpButtonTheme.
Label
A label is a static text field that describes an onscreen interface element or provides a short message. Although people can’t edit labels, they can sometimes copy label contents.
MacosAlertDialog
A macOS-style AlertDialog.
MacosApp
An application that uses macOS design.
MacosBackButton
A macOS style back button.
MacosBackButtonState
MacosCheckbox
A checkbox is a type of button that lets the user choose between two opposite states, actions, or values. A selected checkbox is considered on when it contains a checkmark and off when it's empty. A checkbox is almost always followed by a title unless it appears in a checklist.
MacosColor
An immutable 32 bit color value in ARGB format.
MacosColors
A collection of color values lifted from the macOS system color picker.
MacosIcon
An Icon widget that respects a macOS icon theme.
MacosIconButton
A macOS-style icon button.
MacosIconButtonState
MacosIconButtonTheme
Overrides the default style of its MacosIconButton descendants.
MacosIconButtonThemeData
A style that overrides the default appearance of MacosIconButtons when it's used with MacosIconButtonTheme or with the overall MacosTheme's MacosThemeData.macosIconButtonTheme.
MacosIconTheme
Controls the default color, opacity, and size of icons in a widget subtree.
MacosIconThemeData
Defines the color, opacity, and size of icons.
MacosListTile
A widget that aims to approximate the ListTile widget found in Flutter's material library.
MacosPopupButton<T>
A macOS-style pop-up button.
MacosPopupButtonTheme
Overrides the default style of its MacosPopupButton descendants.
MacosPopupButtonThemeData
A style that overrides the default appearance of MacosPopupButtons when it is used with MacosPopupButtonTheme or with the overall MacosTheme's MacosThemeData.MacosPopupButtonTheme.
MacosPopupMenuItem<T>
An item in a menu created by a MacosPopupButton.
MacosRadioButton<T>
A radio button is a small, circular button followed by a title. Typically presented in groups of two to five, radio buttons provide the user a set of related but mutually exclusive choices. A radio button’s state is either on (a filled circle) or off (an empty circle).
MacosScaffold
A macOS page widget.
MacosScrollbar
A Macos Design scrollbar.
MacosScrollBehavior
Describes how Scrollable widgets behave for FluentApps.
MacosSheet
A modal dialog that’s attached to a particular window and prevents further interaction with the window until the sheet is dismissed.
MacosSwitch
A switch is a visual toggle between two mutually exclusive states — on and off. A switch shows that it's on when the accent color is visible and off when the switch appears colorless.
MacosTextField
An macos-style text field.
MacosTextFieldTheme
MacosTextFieldThemeData
MacosTheme
Applies a macOS-style theme to descendant macOS widgets.
MacosThemeData
Defines the configuration of the overall visual MacosTheme for a MacosApp or a widget subtree within the app.
MacosTooltip
Tooltips, succinctly describe how to use controls without shifting people’s focus away from the primary interface. Tooltips appear when the user positions the pointer over a control for a few seconds. A tooltip remains visible for 10 seconds, or until the pointer moves away from the control.
MacosTypography
macOS typography.
MacosWindow
A basic frame layout.
MacosWindowScope
A MacosWindowScope serves as a scope for its descendants to rely on values needed for the layout of the descendants.
ProgressBar
A ProgressBar that shows progress in a horizontal bar.
ProgressCircle
A ProgressCircle that shows progress in a circular form, either as a spinner or as a circle that fills in as progress continues.
PushButton
A macOS-style button.
PushButtonState
PushButtonTheme
Overrides the default style of its PushButton descendants.
PushButtonThemeData
A style that overrides the default appearance of PushButtons when it's used with PushButtonTheme or with the overall MacosTheme's MacosThemeData.pushButtonTheme.
RatingIndicator
A rating indicator uses a series of horizontally arranged graphical symbols to communicate a ranking level. The default symbol is a star.
RelevanceIndicator
A relevance indicator communicates relevancy using a series of vertical bars. It often appears in a list of search results for reference when sorting and comparing multiple items.
ResizablePane
ResolvedMacosDynamicColor
ScrollbarTheme
Applies a scrollbar theme to descendant MacosScrollbar widgets.
ScrollbarThemeData
Defines default property values for descendant MacosScrollbar widgets.
A macOS-style side bar at left side of the MacosScaffold.
SidebarItem
A macOS style navigation-list item intended for use in a Sidebar
SidebarItems
A scrollable widget that renders SidebarItems.
TextInputType
The type of information for which to optimize the text input control.
TitleBar
TooltipThemeData

Enums

ButtonSize
OverlayVisibilityMode
Visibility of text field overlays based on the state of the current text entry.
ResizableSide
Indicates the draggable side of the ResizablePane for resizing
SmartDashesType
Indicates how to handle the intelligent replacement of dashes in text input.
SmartQuotesType
Indicates how to handle the intelligent replacement of quotes in text input.
TextCapitalization
Configures how the platform keyboard will select an uppercase or lowercase keyboard.
TextInputAction
An action the user has requested the text input control to perform.

Constants

kResizablePaneSafeArea → const EdgeInsets
Default value for ResizablePane top padding
kTitleBarHeight → const double
Defines the height of a regular-sized TitleBar

Functions

showMacosAlertDialog<T>({required BuildContext context, required WidgetBuilder builder, bool barrierDismissible = false, Color? barrierColor, String? barrierLabel, bool useRootNavigator = true, RouteSettings? routeSettings, Constraints? constraints}) Future<T?>
Displays a macos alert dialog above the current contents of the app.
showMacosSheet<T>({required BuildContext context, required WidgetBuilder builder, bool barrierDismissible = false, Color? barrierColor, String? barrierLabel, bool useRootNavigator = true, RouteSettings? routeSettings, Constraints? constraints}) Future<T?>
Displays a MacosSheet above the current application.

Typedefs

MacosPopupButtonBuilder = List<Widget> Function(BuildContext context)
A builder to customize popup buttons.