sunny_core_widgets library Null safety

Classes

AdvancedRouteSettings
AndroidModalOpener<T>
AppBarTitle
AuthModalArgs
AutoLayout
Body0Text
Body1Text
Body2Text
Body3Text
ChipButton
CupertinoModalOpener<T>
CupertinoSlidingSegmentedControl2<T>
An iOS 13 style segmented control. [...]
CupertinoVisualStyle
DesktopModalOpener
DesktopPageLayout
DividingLine
DragHandle
ErrorText
Form0Theme
HandleSheet
Headline3Text
Headline4Text
HeroText
HorizontalSpace
HoverEffect
IdArgs<R>
InputText
IntlCore
KeyArgs<R>
KeyboardVisibility
Calls builder on keyboard close/open. https://stackoverflow.com/a/63241409/1321917
LargeTitle
Layout
LayoutInfo
LinkText
MessageLookup
MobilePageLayout
ModalOpener
ModalOverlayLayout
Modals
ModalScaffold
ModalScrollPhysics
NestedNavigatorContainer
NonOpaqueCupertinoPageRoute<T>
Creates a platform-appropriate page route.
NormalText
PageSectionHeaderText
PlaceholderText
PlatformCard
PlatformCardArgs
PlatformCardTheme
PlatformLayoutInfo
PlatformListTile
PlatformNetworkImage
PlatformSegmentControl
PrimaryText
Provided
ProvidedBox<T>
A container that sits at the top of the provider tree that can be updated from within the tree.
ProviderBuildContextResolver
Px
RawSunnyColors
ResponsiveConstraint
ResponsivePageLayout
ResponsiveSliverConstraint
RichTextBuilder
Allows for building rich text using the known styles
RouteExtensions
ScrollerArgs
SecondaryText
SimpleSliverList<W>
SlidingTab
Snapshots
StyledText
SunnyColorData
Implementation of color spec.
SunnyColors
SunnyIntl
SunnyIntlDelegate
SunnyMargin
SunnyPad
SunnyPage
SunnyPageLayout
SunnyPageState
SunnyResponsivePage
SunnyResponsivePageState
SunnyRouterFactory
SunnyRouting
SunnySpacing
List of font styles based on reliveit naming conventions. This can be easily applied to a material or cupertino theme.
TabRouteArgs
Tappable
TertiaryText
TextWidgets
Themes
TileSubtitle
TileTitle
TitleText
VerticalSpace

Mixins

PlatformSegmentControlMixin
RouteParamsMixin
SplitRegistrationResolver
SunnyColorMixin
SunnyPageLayoutMixin
ThrottledChangeNotifier
ValidationIntl
Localization codes for account login

Extensions

AppRouteExtension
AppRouteGoNavigationExtension
AppRouteKeyNavExtension
AppRouteMatchExtensions
AppRouteMatchGoExtension
AppRouteNavigationExtension
AppRouteTypedExtension
AutoLayoutBuilderExt
AutoLayoutConversion
AutoLayoutSingleExt
BorderSideExtensions
BrightnessExt
BuildContextDeviceScreenTypeExt
BuildContextNestedNavigator
BuildContextProvidesExtension
BuildContextRichText
BuildContextThemes
ColorResolver
ColorToWidgetExt
CupertinoDynamicColorToWidgetExt
CupertinoVisualStyleBuildContext
DataServiceBuilder
FlexiDateFormatters
FRouterExtensions
FutureWidgetExt
IterableWidgetConstraint
MModelIdArgsExt
MSchemaRefExt
MSchemaRefKeyExtension
PlatformSegmentControlExt
RecordDataServiceBuilder
ResolverInitToProviderExt
RichTextBuilderTrippiExt
RouteCast
SizedBoxExt
SizeExtension
SnapshotExtensions
StreamWidgetBuilder
SunnyColorExt
SunnySpacingToEdgeInsets
SunnyWidgetHeroExtensions
TabPageExt
TextStyleColorExt
we run points calculations off this
TextStyleMergeExt
TextStylePlatformExt
TextStyleWidgetBuilderExt
TextThemeApplyEachExt
ThemesExt
TypeToRouteExt
WidgetConstraint
WidgetDragHandle
WidgetListExtensions
WidgetMaybeWrap
WidgetSpacingExt

Constants

body1Height → const double
22.0 / 16.0
body1Size → const double
16.0
body1Spacing → const double
0.5
body2Height → const double
19.0 / 14.0
body2Size → const double
14.0
body2Spacing → const double
0.44
body3Height → const double
15.0 / 13.0
body3Size → const double
13.0
body3Spacing → const double
0.41
dividingLine → const DividingLine
const DividingLine()
doubleHorizontalSpace → const HorizontalSpace
emptyBox → const SizedBox
SizedBox(width: 0, height: 0)
expandedBox → const Expanded
Expanded(child: SizedBox())
heroSpacing → const double
-0.42
horizontalShim → const HorizontalSpace
horizontalSpace → const HorizontalSpace
input0Height → const double
24.0 / 18.0
input0Size → const double
18.0
input0Spacing → const double
0.0
kDefaultResponsiveWidth → const double
880.0
kSegmentControlHeight → const double
64.0
kSegmentControlHeightMaterial → const double
74.0
mediumWeight → const FontWeight
FontWeight.w500
noBorder → const Border
const Border.fromBorderSide(BorderSide.none)
primaryLetterSpacing → const double
0.0
sliverEmptyBox → const SliverToBoxAdapter
SliverToBoxAdapter(child: emptyBox)
sliverLoader → const SliverFillRemaining
const SliverFillRemaining(child: Center(child: CircularProgressIndicator()))
sliverSpinner → const SliverFillRemaining
sliverLoader
sliverSpinnerFn → const Widget Function()
sliverLoaderFn
verticalShim → const VerticalSpace
verticalSpace → const VerticalSpace
wideLetterSpacing → const double
0.0

Properties

defaultDarkTheme ThemeData
final
defaultFontFamily String
read / write
defaultLightTheme ThemeData
final
loadingIndicator Center
final
messages MessageLookup
final
nestedGlobalKey GlobalKey<NavigatorState>
final
platformBrightness Brightness
read-only
sliverLoadingIndicator SliverToBoxAdapter
final
sunnyColors SunnyColors
read-only
sunnySpacing SunnySpacing
read-only
sunnyText SunnyTextTheme
read-only

Functions

bottomSheetModal<T>(BuildContext context, WidgetBuilder scrollBuilder, {bool displayDragHandle = true}) Future<T?>
buildSliverBox(WidgetBuilder builder) WidgetBuilder
centerColumn(Iterable<Widget> children, {Color? color}) Widget
centerRow(Iterable<Widget> children) Widget
column(Iterable<Widget> children, {Color? color, WidgetWrapper? wrapper, Widget ifEmpty()?}) Widget
consume<T>(BuildContext context, [void exec(T value)?]) → T?
divide(Iterable<Widget> widgets, Widget? wrapped) List<Widget>
form0Theme(Themes themes, Brightness brightness) ThemeData
hpad(Widget child, [bool white = true]) SunnyPad
initializeMessages(String localeName) bool
User programs should call this before using localeName for messages.
kErrorHandler(BuildContext context, Object? err, StackTrace? stack) Widget
kLoader() Widget
memoizeScrollBuild(WidgetBuilder builder) WidgetBuilder
memoizeScrollToNon(WidgetBuilder builder) WidgetBuilder
memoizeWidgetBuilder(WidgetBuilder builder) WidgetBuilder
nestedModal<T>(BuildContext context, WidgetBuilder scrollBuilder, {bool displayDragHandle = true, required PathRouteSettings? settings}) Future<T?>
pad(Widget child) SunnyPad
PlatformNetworkImageProvider(dynamic url) ImageProvider<Object>
PlatformPageRoute<T>({WidgetBuilder? builder, RouteSettings? settings, bool maintainState = true, bool fullscreenDialog = false, bool nonOpaque = true, bool forceMaterial = false, bool inPageRoute = false}) PageRoute<T>
Creates a platform-appropriate page route.
Reprovide<T>(BuildContext context, {bool listen = true, required Widget child}) Widget
richTextBuilder(BuildContext context, RichTextBuild build) Widget
richTextInvertedBuilder(BuildContext context, void build(RichTextBuilder builder)) Widget
row(Iterable<Widget> children) Widget
sameWidget(Widget input) Widget
shim(Widget child) SunnyPad
simple<R, P>(Widget builder()) WidgetHandler<R, P>
SingleLineText(String? text, {TextAlign? alignment, TextStyle? style}) Text?
sizeExtensions() → void
sliverBox(Widget widget, [bool wrap = true]) Widget
sliverBoxes(Iterable<Widget> widgets) List<Widget>
sliverLoaderFn() Widget
slivers({Widget? child}) Widget
spaced({required List<Widget> children, EdgeInsets? space}) List<Widget>
stack(Iterable<Widget> children, {AlignmentGeometry? alignment}) Widget
tappable<R>(Widget child, {FutureOrTappableCallback? onTap, Key? key, double pressOpacity = 1.0, BuildContext? context, String? routeName, dynamic arguments, void callback(R? result)?}) Widget
Enforces HitTest.opaque and removes parameters
textOrNull(dynamic txt, {TextAlign? alignment, TextStyle? style, Color? color, bool wrap = true, int? maxLines}) Widget?
verticalSpacer(double size) Widget
vpad(Widget child, [bool white = true]) SunnyPad
widgetWithDragHandle({Widget? child}) Widget
wpad(Widget child) SunnyPad
wrap({Iterable<Widget>? children, double runspacing = 5, double spacing = 10}) Widget

Enums

FontType
TapTransform

Typedefs

DataServiceWidgetBuilder<X> = Widget Function(X data, DataService<X> service)
DataServiceWidgetBuilderWithContext<X> = Widget Function(BuildContext context, X data, DataService<X> service)
DynamicContextFactory = dynamic Function(BuildContext context)
FutureBuildCallback<T> = FutureOr<T> Function(BuildContext context)
FutureOrTappableCallback<T> = FutureOr<T> Function()
FutureTappableCallback<T> = FutureOr<T> Function(BuildContext context)
HoverBuilder = Widget Function(bool isHover)
KeyboardVisibilityBuilder = Widget Function(BuildContext context, Widget? child, bool isKeyboardVisible)
LayoutConfigure = void Function(AutoLayout container)
Lookup = dynamic Function(dynamic val)
MessageIfAbsent = dynamic Function(String message_str, List args)
ModalArgsBuilder<P extends RouteParams> = P Function(ScrollController? controller)
Passes the ScrollController to the route args
OnGenerateRoute<T> = Route<T> Function(RouteSettings settings)
OpenModal<T> = Future<T?> Function(BuildContext context, {required WidgetBuilder builder, bool dismissible, bool displayDragHandle, bool draggable, bool expand, double? height, bool nestModals, PathRouteSettings? settings, bool useRootNavigator, double? width})
PlatformScreenInit = void Function(PlatformLayoutInfo platformLayoutInfo)
RecordDataServiceWidgetBuilder<X, KType> = Widget Function(X data, RecordDataService<X, KType> service)
RecordDataServiceWidgetBuilderWithContext<X, KType> = Widget Function(BuildContext context, X data, RecordDataService<X, KType> service)
ResponsiveMaxWidth = double Function(SizingInformation sizing)
ResponsiveSliverMaxWidth = double Function(BuildContext context, SliverConstraints sizing)
RichTextBuild = void Function(RichTextBuilder builder)
ScreenInit = void Function(BuildContext context, LayoutInfo layoutInfo)
SimpleWidgetBuilder = Widget Function()
SliverWrapper = Widget Function(Widget widget)
StyleAdjuster = TextStyle Function(TextStyle theme)
StyleExtractor = TextStyle? Function(TextTheme theme)
SunnyPageLayoutFactory = SunnyPageLayout Function(SunnyPageState state)
TabChanged = void Function(BuildContext context, int change)
ThemeDataBuilder = ThemeData Function(Brightness brightness, TextStyle inputStyle, TextStyle placeholder1)
WidgetContextDataBuilder<I> = Widget Function(BuildContext context, I input)
WidgetContextFactory = Widget Function(BuildContext context)
WidgetDataBuilder<I> = Widget Function(I input)
WidgetErrorBuilder = Widget Function(BuildContext context, Object err, StackTrace? stack)
WidgetFactory = Widget Function()
WidgetListContextFactory = List<Widget> Function(BuildContext context)
WidgetListFactory = List<Widget> Function()
WidgetListScrollerContextFactory = List<Widget> Function(BuildContext context, ScrollController controller)
WidgetOrLoaderBuilder<I> = Widget Function(I? input, SimpleWidgetBuilder loader)
WidgetScrollerContextFactory = Widget Function(BuildContext context, ScrollController controller)
WidgetWrapFn = Widget Function(WidgetBuilder builder)
WidgetWrapper = Widget Function(Widget widget)