NyThemeProvider class

Widget that provides theme context to its descendants.

Wraps the child in AnimatedTheme for smooth theme transitions. Uses ValueListenableBuilder to reactively rebuild when theme changes.

Example:

NyThemeProvider(
  child: MaterialApp(
    theme: NyThemeManager.instance.themeData,
    home: MyHomePage(),
  ),
)

Or with custom transition settings:

NyThemeProvider(
  duration: Duration(milliseconds: 300),
  curve: Curves.easeOut,
  child: MaterialApp(...),
)
Inheritance
Available extensions

Constructors

NyThemeProvider({Key? key, required Widget child, Duration duration = const Duration(milliseconds: 200), Curve curve = Curves.easeInOut})
Create a new NyThemeProvider.
const

Properties

child Widget
The child widget to wrap.
final
curve Curve
Curve of the theme transition animation.
final
duration Duration
Duration of the theme transition animation.
final
hashCode int
The hash code for this object.
no setterinherited
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

build(BuildContext context) Widget
Describes the part of the user interface represented by this widget.
override
connectiveOr({required Widget offline}) Widget

Available on Widget, provided by the ConnectiveExtension extension

Wraps the widget in a Connective that shows an offline placeholder.
createElement() StatelessElement
Creates a StatelessElement to manage this widget's location in the tree.
inherited
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
faderBottom({double strength = 0.2, Color color = Colors.black}) FadeOverlay

Available on StatelessWidget, provided by the NyStatelessWidgetExt extension

Make gradient fader from the bottom of the widget. strength ranges from 0.0 (subtle) to 1.0 (strong).
faderFrom({double strength = 0.2, Color color = Colors.black, AlignmentGeometry begin = Alignment.topCenter, AlignmentGeometry end = Alignment.bottomCenter}) FadeOverlay

Available on StatelessWidget, provided by the NyStatelessWidgetExt extension

Make gradient fader with custom alignment. strength ranges from 0.0 (subtle) to 1.0 (strong).
faderLeft({double strength = 0.2, Color color = Colors.black}) FadeOverlay

Available on StatelessWidget, provided by the NyStatelessWidgetExt extension

Make gradient fader from the left of the widget. strength ranges from 0.0 (subtle) to 1.0 (strong).
faderRight({double strength = 0.2, Color color = Colors.black}) FadeOverlay

Available on StatelessWidget, provided by the NyStatelessWidgetExt extension

Make gradient fader from the right of the widget. strength ranges from 0.0 (subtle) to 1.0 (strong).
faderTop({double strength = 0.2, Color color = Colors.black}) FadeOverlay

Available on StatelessWidget, provided by the NyStatelessWidgetExt extension

Make gradient fader from the top of the widget. strength ranges from 0.0 (subtle) to 1.0 (strong).
flexible({Key? key, int flex = 1, FlexFit fit = FlexFit.loose}) Flexible

Available on StatelessWidget, provided by the NyStatelessWidgetExt extension

Make a StatelessWidget Flexible.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onlyOffline() Widget

Available on Widget, provided by the ConnectiveExtension extension

Only shows the widget when offline, otherwise shows nothing.
onlyOnline() Widget

Available on Widget, provided by the ConnectiveExtension extension

Only shows the widget when online, otherwise shows nothing.
onTap(dynamic action(), {LoadingStyle? loadingStyle}) Widget

Available on StatelessWidget, provided by the NyStatelessWidgetExt extension

On tap run a action.
onTapRoute(dynamic routeName, {dynamic data, Map<String, dynamic>? queryParameters, NavigationType navigationType = NavigationType.push, dynamic result, bool removeUntilPredicate(Route route)?, TransitionType? transitionType, PageTransitionType? pageTransitionType, PageTransitionSettings? pageTransitionSettings, dynamic onPop(dynamic value)?}) InkWell

Available on StatelessWidget, provided by the NyStatelessWidgetExt extension

Route to a new page.
paddingOnly({double left = 0.0, double top = 0.0, double right = 0.0, double bottom = 0.0}) Padding

Available on StatelessWidget, provided by the NyStatelessWidgetExt extension

Add padding to the widget.
paddingSymmetric({double horizontal = 0.0, double vertical = 0.0}) Padding

Available on StatelessWidget, provided by the NyStatelessWidgetExt extension

Add symmetric padding to the widget.
pullable({required Future<void> onRefresh()?, PullableConfig? pullableConfig}) Widget

Available on Widget, provided by the NyWidgetExt extension

Make a widget pullable using the Pullable widget.
shadow(int strength, {Color? color, double? blurRadius, double? spreadRadius, Offset? offset, double? rounded}) Container

Available on StatelessWidget, provided by the NyStatelessWidgetExt extension

Add a shadow to the container.
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toSkeleton({Key? key, bool? ignoreContainers, bool? justifyMultiLineText, Color? containersColor, bool ignorePointers = true, bool enabled = true, PaintingEffect? effect, TextBoneBorderRadius? textBoneBorderRadius}) → Skeletonizer

Available on Widget, provided by the NyWidgetExt extension

Make a widget a skeleton using the Skeletonizer package.
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a one-line detailed description of the object.
inherited
toStringShort() String
A short, textual description of this widget.
inherited
visibleWhen(bool condition) Widget

Available on StatelessWidget, provided by the NyStatelessWidgetExt extension

Make a widget visible when a condition is true.

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

colorStyles<T>(BuildContext context) → T
Get typed color styles from the current theme.
currentTheme(BuildContext context) BaseThemeConfig?
Get the current BaseThemeConfig.
currentThemeId(BuildContext context) String
Get the current theme ID.
isDark(BuildContext context) bool
Check if the current theme is dark.
of(BuildContext context) NyThemeManager
Get the NyThemeManager instance from context.