diff --git a/example/ios/Flutter/AppFrameworkInfo.plist b/example/ios/Flutter/AppFrameworkInfo.plist
index 6b4c0f78..d57061dd 100644
--- a/example/ios/Flutter/AppFrameworkInfo.plist
+++ b/example/ios/Flutter/AppFrameworkInfo.plist
@@ -21,6 +21,6 @@
CFBundleVersion
1.0
MinimumOSVersion
- 8.0
+ 13.0
diff --git a/example/ios/Runner.xcodeproj/project.pbxproj b/example/ios/Runner.xcodeproj/project.pbxproj
index 252c7539..d254e237 100644
--- a/example/ios/Runner.xcodeproj/project.pbxproj
+++ b/example/ios/Runner.xcodeproj/project.pbxproj
@@ -3,7 +3,7 @@
archiveVersion = 1;
classes = {
};
- objectVersion = 46;
+ objectVersion = 54;
objects = {
/* Begin PBXBuildFile section */
@@ -135,7 +135,7 @@
97C146E61CF9000F007C117D /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 1020;
+ LastUpgradeCheck = 1510;
ORGANIZATIONNAME = "The Chromium Authors";
TargetAttributes = {
97C146ED1CF9000F007C117D = {
@@ -179,10 +179,12 @@
/* Begin PBXShellScriptBuildPhase section */
3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
isa = PBXShellScriptBuildPhase;
+ alwaysOutOfDate = 1;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
+ "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
);
name = "Thin Binary";
outputPaths = (
@@ -193,6 +195,7 @@
};
9740EEB61CF901F6004384FC /* Run Script */ = {
isa = PBXShellScriptBuildPhase;
+ alwaysOutOfDate = 1;
buildActionMask = 2147483647;
files = (
);
@@ -280,7 +283,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 13.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
@@ -362,7 +365,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 13.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -411,7 +414,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 13.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
diff --git a/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata
index 1d526a16..919434a6 100644
--- a/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata
+++ b/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -2,6 +2,6 @@
+ location = "self:">
diff --git a/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
index a28140cf..fc5ae031 100644
--- a/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
+++ b/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
@@ -1,6 +1,6 @@
@@ -45,11 +46,13 @@
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ customLLDBInitFile = "$(SRCROOT)/Flutter/ephemeral/flutter_lldbinit"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
+ enableGPUValidationMode = "1"
allowLocationSimulation = "YES">
diff --git a/example/ios/Runner/AppDelegate.swift b/example/ios/Runner/AppDelegate.swift
index 70693e4a..b6363034 100644
--- a/example/ios/Runner/AppDelegate.swift
+++ b/example/ios/Runner/AppDelegate.swift
@@ -1,7 +1,7 @@
import UIKit
import Flutter
-@UIApplicationMain
+@main
@objc class AppDelegate: FlutterAppDelegate {
override func application(
_ application: UIApplication,
diff --git a/example/ios/Runner/Info.plist b/example/ios/Runner/Info.plist
index a060db61..4f68a2ce 100644
--- a/example/ios/Runner/Info.plist
+++ b/example/ios/Runner/Info.plist
@@ -41,5 +41,9 @@
UIViewControllerBasedStatusBarAppearance
+ CADisableMinimumFrameDurationOnPhone
+
+ UIApplicationSupportsIndirectInputEvents
+
diff --git a/example/lib/accessibility/neumorphic_accessibility.dart b/example/lib/accessibility/neumorphic_accessibility.dart
index 15f6223a..8f90e669 100644
--- a/example/lib/accessibility/neumorphic_accessibility.dart
+++ b/example/lib/accessibility/neumorphic_accessibility.dart
@@ -1,5 +1,4 @@
import 'package:example/lib/color_selector.dart';
-import 'package:flutter/material.dart';
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
class NeumorphicAccessibility extends StatefulWidget {
@@ -40,8 +39,8 @@ class __PageState extends State<_Page> {
double height = 150.0;
double width = 150.0;
- Color borderColor;
- double borderWidth;
+ Color? borderColor;
+ double? borderWidth;
static final minWidth = 50.0;
static final maxWidth = 200.0;
@@ -68,10 +67,12 @@ class __PageState extends State<_Page> {
Padding(
padding:
const EdgeInsets.only(left: 8.0, right: 8.0, top: 8.0),
- child: RaisedButton(
- shape: RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(12)),
- color: Theme.of(context).accentColor,
+ child: ElevatedButton(
+ style: ElevatedButton.styleFrom(
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(12)),
+ backgroundColor: Theme.of(context).colorScheme.secondary,
+ ),
child: Text(
"back",
style: TextStyle(color: Colors.white),
@@ -104,11 +105,11 @@ class __PageState extends State<_Page> {
int selectedConfiguratorIndex = 0;
Widget _configurators() {
- final Color buttonActiveColor = Theme.of(context).accentColor;
+ final Color buttonActiveColor = Theme.of(context).colorScheme.secondary;
final Color buttonInnactiveColor = Colors.white;
final Color textActiveColor = Colors.white;
- final Color textInactiveColor = Colors.black.withOpacity(0.3);
+ final Color textInactiveColor = Colors.black.withValues(alpha: 0.3);
return Card(
margin: EdgeInsets.all(8),
@@ -124,12 +125,14 @@ class __PageState extends State<_Page> {
flex: 1,
child: Padding(
padding: const EdgeInsets.all(8.0),
- child: RaisedButton(
- shape: RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(12)),
- color: selectedConfiguratorIndex == 0
- ? buttonActiveColor
- : buttonInnactiveColor,
+ child: ElevatedButton(
+ style: ElevatedButton.styleFrom(
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(12)),
+ backgroundColor: selectedConfiguratorIndex == 0
+ ? buttonActiveColor
+ : buttonInnactiveColor,
+ ),
child: Text(
"Style",
style: TextStyle(
@@ -150,9 +153,14 @@ class __PageState extends State<_Page> {
flex: 1,
child: Padding(
padding: const EdgeInsets.all(8.0),
- child: RaisedButton(
- shape: RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(12)),
+ child: ElevatedButton(
+ style: ElevatedButton.styleFrom(
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(12)),
+ backgroundColor: selectedConfiguratorIndex == 1
+ ? buttonActiveColor
+ : buttonInnactiveColor,
+ ),
child: Text(
"Element",
style: TextStyle(
@@ -161,9 +169,6 @@ class __PageState extends State<_Page> {
: textInactiveColor,
),
),
- color: selectedConfiguratorIndex == 1
- ? buttonActiveColor
- : buttonInnactiveColor,
onPressed: () {
setState(() {
selectedConfiguratorIndex = 1;
@@ -176,9 +181,14 @@ class __PageState extends State<_Page> {
flex: 1,
child: Padding(
padding: const EdgeInsets.all(8.0),
- child: RaisedButton(
- shape: RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(12)),
+ child: ElevatedButton(
+ style: ElevatedButton.styleFrom(
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(12)),
+ backgroundColor: selectedConfiguratorIndex == 2
+ ? buttonActiveColor
+ : buttonInnactiveColor,
+ ),
child: Text(
"Border",
style: TextStyle(
@@ -187,9 +197,6 @@ class __PageState extends State<_Page> {
: textInactiveColor,
),
),
- color: selectedConfiguratorIndex == 2
- ? buttonActiveColor
- : buttonInnactiveColor,
onPressed: () {
setState(() {
selectedConfiguratorIndex = 2;
@@ -210,15 +217,14 @@ class __PageState extends State<_Page> {
switch (selectedConfiguratorIndex) {
case 0:
return styleCustomizer();
- break;
+
case 1:
return elementCustomizer();
- break;
+
case 2:
return borderCustomizer();
- break;
}
- return null;
+ return const SizedBox.shrink();
}
Widget styleCustomizer() {
@@ -268,7 +274,7 @@ class __PageState extends State<_Page> {
onColorChanged: (color) {
setState(() {
NeumorphicTheme.of(context)
- .updateCurrentTheme(NeumorphicThemeData(baseColor: color));
+ ?.updateCurrentTheme(NeumorphicThemeData(baseColor: color));
});
},
color: NeumorphicTheme.baseColor(context),
@@ -293,7 +299,7 @@ class __PageState extends State<_Page> {
borderColor = color;
});
},
- color: borderColor,
+ color: borderColor ?? Colors.transparent,
),
],
);
@@ -325,7 +331,7 @@ class __PageState extends State<_Page> {
child: SizedBox(
height: height,
width: width,
- child: Container(
+ child: SizedBox(
//color: Colors.blue,
child: Center(child: Text("")),
),
@@ -371,7 +377,7 @@ class __PageState extends State<_Page> {
child: Slider(
min: 0,
max: 10,
- value: borderWidth,
+ value: borderWidth ?? 0,
onChanged: (value) {
setState(() {
borderWidth = value;
@@ -381,7 +387,7 @@ class __PageState extends State<_Page> {
),
Padding(
padding: EdgeInsets.only(right: 12),
- child: Text(borderWidth.floor().toString()),
+ child: Text((borderWidth ?? 0).floor().toString()),
),
],
);
@@ -513,11 +519,11 @@ class __PageState extends State<_Page> {
}
Widget shapeWidget() {
- final Color buttonActiveColor = Theme.of(context).accentColor;
+ final Color buttonActiveColor = Theme.of(context).colorScheme.secondary;
final Color buttonInnactiveColor = Colors.white;
final Color iconActiveColor = Colors.white;
- final Color iconInactiveColor = Colors.black.withOpacity(0.3);
+ final Color iconInactiveColor = Colors.black.withValues(alpha: 0.3);
return Row(
mainAxisSize: MainAxisSize.max,
@@ -525,17 +531,20 @@ class __PageState extends State<_Page> {
Expanded(
child: Padding(
padding: const EdgeInsets.all(8.0),
- child: RaisedButton(
- shape: RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(12)),
+ child: ElevatedButton(
+ style: ElevatedButton.styleFrom(
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(12),
+ ),
+ backgroundColor: shape == NeumorphicShape.concave
+ ? buttonActiveColor
+ : buttonInnactiveColor,
+ ),
onPressed: () {
setState(() {
shape = NeumorphicShape.concave;
});
},
- color: shape == NeumorphicShape.concave
- ? buttonActiveColor
- : buttonInnactiveColor,
child: Image.asset("assets/images/concave.png",
color: shape == NeumorphicShape.concave
? iconActiveColor
@@ -546,17 +555,20 @@ class __PageState extends State<_Page> {
Expanded(
child: Padding(
padding: const EdgeInsets.all(8.0),
- child: RaisedButton(
- shape: RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(12)),
+ child: ElevatedButton(
+ style: ElevatedButton.styleFrom(
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(12),
+ ),
+ backgroundColor: shape == NeumorphicShape.convex
+ ? buttonActiveColor
+ : buttonInnactiveColor,
+ ),
onPressed: () {
setState(() {
shape = NeumorphicShape.convex;
});
},
- color: shape == NeumorphicShape.convex
- ? buttonActiveColor
- : buttonInnactiveColor,
child: Image.asset("assets/images/convex.png",
color: shape == NeumorphicShape.convex
? iconActiveColor
@@ -567,17 +579,20 @@ class __PageState extends State<_Page> {
Expanded(
child: Padding(
padding: const EdgeInsets.all(8.0),
- child: RaisedButton(
- shape: RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(12)),
+ child: ElevatedButton(
+ style: ElevatedButton.styleFrom(
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(12),
+ ),
+ backgroundColor: shape == NeumorphicShape.flat
+ ? buttonActiveColor
+ : buttonInnactiveColor,
+ ),
onPressed: () {
setState(() {
shape = NeumorphicShape.flat;
});
},
- color: shape == NeumorphicShape.flat
- ? buttonActiveColor
- : buttonInnactiveColor,
child: Image.asset("assets/images/flat.png",
color: shape == NeumorphicShape.flat
? iconActiveColor
diff --git a/example/lib/lib/Code.dart b/example/lib/lib/Code.dart
index 7e02ee7e..684688a5 100644
--- a/example/lib/lib/Code.dart
+++ b/example/lib/lib/Code.dart
@@ -1,4 +1,3 @@
-import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
class Code extends StatelessWidget {
@@ -10,10 +9,10 @@ class Code extends StatelessWidget {
Widget build(BuildContext context) {
return Container(
padding: EdgeInsets.all(8),
- color: Colors.grey.withOpacity(0.2),
+ color: Colors.grey.withValues(alpha: 0.2),
child: Text(
text,
- style: TextStyle(color: Colors.black.withOpacity(0.8)),
+ style: TextStyle(color: Colors.black.withValues(alpha: 0.8)),
),
);
}
@@ -22,7 +21,7 @@ class Code extends StatelessWidget {
class MyIntWidget extends StatefulWidget {
final int value;
- MyIntWidget({this.value});
+ MyIntWidget({required this.value});
@override
_MyIntWidgetState createState() => _MyIntWidgetState();
@@ -30,9 +29,9 @@ class MyIntWidget extends StatefulWidget {
class _MyIntWidgetState extends State
with TickerProviderStateMixin {
- int _value;
- AnimationController _controller;
- Animation _valueAnimation;
+ late int _value;
+ late AnimationController _controller;
+ late Animation _valueAnimation;
@override
void initState() {
diff --git a/example/lib/lib/ThemeColorSelector.dart b/example/lib/lib/ThemeColorSelector.dart
index b9f3fcf4..8aceb2a2 100644
--- a/example/lib/lib/ThemeColorSelector.dart
+++ b/example/lib/lib/ThemeColorSelector.dart
@@ -1,4 +1,3 @@
-import 'package:flutter/material.dart';
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
import 'color_selector.dart';
@@ -6,7 +5,7 @@ import 'color_selector.dart';
class ThemeColorSelector extends StatefulWidget {
final BuildContext customContext;
- ThemeColorSelector({this.customContext});
+ ThemeColorSelector({required this.customContext});
@override
_ThemeColorSelectorState createState() => _ThemeColorSelectorState();
@@ -19,11 +18,14 @@ class _ThemeColorSelectorState extends State {
padding: EdgeInsets.all(4),
color: Colors.black,
child: ColorSelector(
- color: NeumorphicTheme.baseColor(widget.customContext ?? context),
+ color: NeumorphicTheme.baseColor(widget.customContext),
onColorChanged: (color) {
setState(() {
- NeumorphicTheme.update(widget.customContext ?? context,
- (current) => current.copyWith(baseColor: color));
+ NeumorphicTheme.update(
+ widget.customContext,
+ (current) =>
+ current?.copyWith(baseColor: color) ??
+ NeumorphicThemeData(baseColor: color));
});
},
),
diff --git a/example/lib/lib/ThemeConfigurator.dart b/example/lib/lib/ThemeConfigurator.dart
index d6f6000e..f8072290 100644
--- a/example/lib/lib/ThemeConfigurator.dart
+++ b/example/lib/lib/ThemeConfigurator.dart
@@ -1,4 +1,3 @@
-import 'package:flutter/material.dart';
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
import 'ThemeColorSelector.dart';
@@ -50,7 +49,7 @@ class ThemeConfigurator extends StatelessWidget {
class _ThemeConfiguratorDialog extends StatefulWidget {
final BuildContext contextContainingTheme;
- _ThemeConfiguratorDialog({this.contextContainingTheme});
+ _ThemeConfiguratorDialog({required this.contextContainingTheme});
@override
_ThemeConfiguratorState createState() => _ThemeConfiguratorState();
@@ -82,14 +81,14 @@ class _ThemeConfiguratorState extends State<_ThemeConfiguratorDialog> {
child: Slider(
min: Neumorphic.MIN_INTENSITY, //in case of != 0
max: Neumorphic.MAX_INTENSITY,
- value: intensity,
+ value: intensity ?? 0,
onChanged: (value) {
setState(() {
NeumorphicTheme.update(
widget.contextContainingTheme,
- (current) => current.copyWith(
- intensity: value,
- ),
+ (current) =>
+ current?.copyWith(intensity: value) ??
+ NeumorphicThemeData(intensity: value),
);
});
},
@@ -99,7 +98,7 @@ class _ThemeConfiguratorState extends State<_ThemeConfiguratorDialog> {
padding: EdgeInsets.only(right: 12),
child: Container(
width: 40,
- child: Text(((intensity * 100).floor() / 100).toString()),
+ child: Text(((intensity ?? 0 * 100).floor() / 100).toString()),
),
),
],
@@ -119,12 +118,14 @@ class _ThemeConfiguratorState extends State<_ThemeConfiguratorDialog> {
child: Slider(
min: Neumorphic.MIN_DEPTH,
max: Neumorphic.MAX_DEPTH,
- value: depth,
+ value: depth ?? 0,
onChanged: (value) {
setState(() {
NeumorphicTheme.update(
widget.contextContainingTheme,
- (current) => current.copyWith(depth: value),
+ (current) =>
+ current?.copyWith(depth: value) ??
+ NeumorphicThemeData(depth: value),
);
});
},
@@ -134,7 +135,7 @@ class _ThemeConfiguratorState extends State<_ThemeConfiguratorDialog> {
padding: EdgeInsets.only(right: 12),
child: Container(
width: 40,
- child: Text(depth.floor().toString()),
+ child: Text((depth ?? 0).floor().toString()),
),
),
],
diff --git a/example/lib/lib/back_button.dart b/example/lib/lib/back_button.dart
index 6f0b876a..79453357 100644
--- a/example/lib/lib/back_button.dart
+++ b/example/lib/lib/back_button.dart
@@ -1,5 +1,3 @@
-import 'package:flutter/material.dart';
-import 'package:flutter/widgets.dart';
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
class NeumorphicBack extends StatelessWidget {
diff --git a/example/lib/lib/color_selector.dart b/example/lib/lib/color_selector.dart
index 44133300..56611b92 100644
--- a/example/lib/lib/color_selector.dart
+++ b/example/lib/lib/color_selector.dart
@@ -1,7 +1,4 @@
-import 'dart:ui';
-
import 'package:flutter/material.dart';
-import 'package:flutter/widgets.dart';
import 'package:flutter_colorpicker/flutter_colorpicker.dart';
@immutable
@@ -12,7 +9,10 @@ class ColorSelector extends StatelessWidget {
final double width;
const ColorSelector(
- {this.height = 40, this.width = 40, this.color, this.onColorChanged});
+ {this.height = 40,
+ this.width = 40,
+ required this.color,
+ required this.onColorChanged});
@override
Widget build(BuildContext context) {
@@ -44,12 +44,16 @@ class ColorSelector extends StatelessWidget {
child: ColorPicker(
pickerColor: color,
onColorChanged: this.onColorChanged,
- showLabel: true,
pickerAreaHeightPercent: 0.8,
),
),
actions: [
- FlatButton(
+ ElevatedButton(
+ style: ElevatedButton.styleFrom(
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(12),
+ ),
+ ),
child: const Text('Close'),
onPressed: () {
Navigator.of(context).pop();
diff --git a/example/lib/lib/top_bar.dart b/example/lib/lib/top_bar.dart
index a96d23c2..a8a6be7f 100644
--- a/example/lib/lib/top_bar.dart
+++ b/example/lib/lib/top_bar.dart
@@ -1,5 +1,3 @@
-import 'package:flutter/material.dart';
-import 'package:flutter/widgets.dart';
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
import 'back_button.dart';
@@ -10,7 +8,7 @@ class TopBar extends StatelessWidget implements PreferredSizeWidget {
static const double kToolbarHeight = 110.0;
- const TopBar({this.title = "", this.actions});
+ const TopBar({this.title = "", this.actions = const []});
@override
Widget build(BuildContext context) {
@@ -36,7 +34,7 @@ class TopBar extends StatelessWidget implements PreferredSizeWidget {
alignment: Alignment.centerRight,
child: Row(
mainAxisSize: MainAxisSize.min,
- children: actions ?? [],
+ children: actions,
)),
],
),
diff --git a/example/lib/main.dart b/example/lib/main.dart
index 0ae45ac6..84f2d266 100644
--- a/example/lib/main.dart
+++ b/example/lib/main.dart
@@ -28,7 +28,7 @@ class MyApp extends StatelessWidget {
}
class MyHomePage extends StatelessWidget {
- MyHomePage({Key key}) : super(key: key);
+ MyHomePage({Key? key}) : super(key: key);
Widget build(BuildContext context) {
return Scaffold(
@@ -58,7 +58,7 @@ class MyHomePage extends StatelessWidget {
NeumorphicButton(
margin: EdgeInsets.only(top: 12),
onPressed: () {
- NeumorphicTheme.of(context).themeMode =
+ NeumorphicTheme.of(context)?.themeMode =
NeumorphicTheme.isUsingDark(context)
? ThemeMode.light
: ThemeMode.dark;
@@ -100,10 +100,10 @@ class MyHomePage extends StatelessWidget {
Color _iconsColor(BuildContext context) {
final theme = NeumorphicTheme.of(context);
- if (theme.isUsingDark) {
- return theme.current.accentColor;
+ if (theme?.isUsingDark ?? false) {
+ return theme?.current?.accentColor ?? Colors.black;
} else {
- return null;
+ return Colors.black;
}
}
diff --git a/example/lib/main_home.dart b/example/lib/main_home.dart
index b6d42dfb..aca75e78 100644
--- a/example/lib/main_home.dart
+++ b/example/lib/main_home.dart
@@ -1,6 +1,5 @@
import 'package:example/tips/tips_home.dart';
import 'package:example/widgets/widgets_home.dart';
-import 'package:flutter/material.dart';
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
import 'accessibility/neumorphic_accessibility.dart';
@@ -24,7 +23,7 @@ class MyApp extends StatelessWidget {
}
class FullSampleHomePage extends StatelessWidget {
- Widget _buildButton({String text, VoidCallback onClick}) {
+ Widget _buildButton({required String text, required VoidCallback onClick}) {
return NeumorphicButton(
margin: EdgeInsets.only(bottom: 12),
padding: EdgeInsets.symmetric(
diff --git a/example/lib/playground/neumorphic_playground.dart b/example/lib/playground/neumorphic_playground.dart
index eb52041c..d04d629e 100644
--- a/example/lib/playground/neumorphic_playground.dart
+++ b/example/lib/playground/neumorphic_playground.dart
@@ -30,7 +30,7 @@ class _Page extends StatefulWidget {
class __PageState extends State<_Page> {
LightSource lightSource = LightSource.topLeft;
NeumorphicShape shape = NeumorphicShape.flat;
- NeumorphicBoxShape boxShape;
+ late NeumorphicBoxShape boxShape;
double depth = 5;
double intensity = 0.5;
double surfaceIntensity = 0.5;
@@ -68,10 +68,12 @@ class __PageState extends State<_Page> {
children: [
Padding(
padding: const EdgeInsets.only(left: 8.0, right: 8.0, top: 8.0),
- child: RaisedButton(
- shape: RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(12)),
- color: Theme.of(context).accentColor,
+ child: ElevatedButton(
+ style: ElevatedButton.styleFrom(
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(12)),
+ backgroundColor: Theme.of(context).colorScheme.secondary,
+ ),
child: Text(
"back",
style: TextStyle(color: Colors.white),
@@ -102,11 +104,11 @@ class __PageState extends State<_Page> {
int selectedConfiguratorIndex = 0;
Widget _configurators() {
- final Color buttonActiveColor = Theme.of(context).accentColor;
+ final Color buttonActiveColor = Theme.of(context).colorScheme.secondary;
final Color buttonInnactiveColor = Colors.white;
final Color textActiveColor = Colors.white;
- final Color textInactiveColor = Colors.black.withOpacity(0.3);
+ final Color textInactiveColor = Colors.black.withValues(alpha: 0.3);
return Card(
margin: EdgeInsets.all(8),
@@ -122,12 +124,14 @@ class __PageState extends State<_Page> {
flex: 1,
child: Padding(
padding: const EdgeInsets.all(8.0),
- child: RaisedButton(
- shape: RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(12)),
- color: selectedConfiguratorIndex == 0
- ? buttonActiveColor
- : buttonInnactiveColor,
+ child: ElevatedButton(
+ style: ElevatedButton.styleFrom(
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(12)),
+ backgroundColor: selectedConfiguratorIndex == 0
+ ? buttonActiveColor
+ : buttonInnactiveColor,
+ ),
child: Text(
"Style",
style: TextStyle(
@@ -148,9 +152,14 @@ class __PageState extends State<_Page> {
flex: 1,
child: Padding(
padding: const EdgeInsets.all(8.0),
- child: RaisedButton(
- shape: RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(12)),
+ child: ElevatedButton(
+ style: ElevatedButton.styleFrom(
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(12)),
+ backgroundColor: selectedConfiguratorIndex == 1
+ ? buttonActiveColor
+ : buttonInnactiveColor,
+ ),
child: Text(
"Element",
style: TextStyle(
@@ -159,9 +168,6 @@ class __PageState extends State<_Page> {
: textInactiveColor,
),
),
- color: selectedConfiguratorIndex == 1
- ? buttonActiveColor
- : buttonInnactiveColor,
onPressed: () {
setState(() {
selectedConfiguratorIndex = 1;
@@ -174,9 +180,14 @@ class __PageState extends State<_Page> {
flex: 1,
child: Padding(
padding: const EdgeInsets.all(8.0),
- child: RaisedButton(
- shape: RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(12)),
+ child: ElevatedButton(
+ style: ElevatedButton.styleFrom(
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(12)),
+ backgroundColor: selectedConfiguratorIndex == 2
+ ? buttonActiveColor
+ : buttonInnactiveColor,
+ ),
child: Text(
"Child",
style: TextStyle(
@@ -185,9 +196,6 @@ class __PageState extends State<_Page> {
: textInactiveColor,
),
),
- color: selectedConfiguratorIndex == 2
- ? buttonActiveColor
- : buttonInnactiveColor,
onPressed: () {
setState(() {
selectedConfiguratorIndex = 2;
@@ -208,15 +216,14 @@ class __PageState extends State<_Page> {
switch (selectedConfiguratorIndex) {
case 0:
return styleCustomizer();
- break;
+
case 1:
return elementCustomizer();
- break;
+
case 2:
return childCustomizer();
- break;
}
- return null;
+ return const SizedBox.shrink();
}
Widget styleCustomizer() {
@@ -270,7 +277,7 @@ class __PageState extends State<_Page> {
onColorChanged: (color) {
setState(() {
NeumorphicTheme.of(context)
- .updateCurrentTheme(NeumorphicThemeData(baseColor: color));
+ ?.updateCurrentTheme(NeumorphicThemeData(baseColor: color));
});
},
color: NeumorphicTheme.baseColor(context),
@@ -307,7 +314,7 @@ class __PageState extends State<_Page> {
width: width,
child: haveNeumorphicChild
? neumorphicChild()
- : Container(
+ : SizedBox(
//color: Colors.blue,
child: Center(child: Text("")),
),
@@ -431,7 +438,7 @@ class __PageState extends State<_Page> {
value: this.haveNeumorphicChild,
onChanged: (value) {
setState(() {
- haveNeumorphicChild = value;
+ haveNeumorphicChild = value ?? false;
});
},
),
@@ -457,7 +464,7 @@ class __PageState extends State<_Page> {
value: this.drawAboveChild,
onChanged: (value) {
setState(() {
- drawAboveChild = value;
+ drawAboveChild = value ?? false;
});
},
),
@@ -483,7 +490,7 @@ class __PageState extends State<_Page> {
value: this.childOppositeLightsourceChild,
onChanged: (value) {
setState(() {
- childOppositeLightsourceChild = value;
+ childOppositeLightsourceChild = value ?? false;
});
},
),
@@ -622,11 +629,11 @@ class __PageState extends State<_Page> {
}
Widget boxshapeWidget() {
- final Color buttonActiveColor = Theme.of(context).accentColor;
+ final Color buttonActiveColor = Theme.of(context).colorScheme.secondary;
final Color buttonInnactiveColor = Colors.white;
final Color textActiveColor = Colors.white;
- final Color textInactiveColor = Colors.black.withOpacity(0.3);
+ final Color textInactiveColor = Colors.black.withValues(alpha: 0.3);
return Row(
mainAxisSize: MainAxisSize.max,
@@ -634,18 +641,17 @@ class __PageState extends State<_Page> {
Expanded(
child: Padding(
padding: const EdgeInsets.all(8.0),
- child: RaisedButton(
- shape: RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(12)),
+ child: ElevatedButton(
+ style: ElevatedButton.styleFrom(
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(12)),
+ ),
onPressed: () {
setState(() {
boxShape = NeumorphicBoxShape.roundRect(
BorderRadius.circular(this.cornerRadius));
});
},
- color: boxShape.isRoundRect
- ? buttonActiveColor
- : buttonInnactiveColor,
child: Text(
"Rect",
style: TextStyle(
@@ -659,17 +665,17 @@ class __PageState extends State<_Page> {
Expanded(
child: Padding(
padding: const EdgeInsets.all(8.0),
- child: RaisedButton(
- shape: RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(12)),
+ child: ElevatedButton(
+ style: ElevatedButton.styleFrom(
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(12)),
+ ),
onPressed: () {
setState(() {
boxShape = NeumorphicBoxShape.beveled(
BorderRadius.circular(this.cornerRadius));
});
},
- color:
- boxShape.isBeveled ? buttonActiveColor : buttonInnactiveColor,
child: Text(
"Beveled",
style: TextStyle(
@@ -683,16 +689,19 @@ class __PageState extends State<_Page> {
Expanded(
child: Padding(
padding: const EdgeInsets.all(8.0),
- child: RaisedButton(
- shape: RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(12)),
+ child: ElevatedButton(
+ style: ElevatedButton.styleFrom(
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(12)),
+ backgroundColor: boxShape.isCircle
+ ? buttonActiveColor
+ : buttonInnactiveColor,
+ ),
onPressed: () {
setState(() {
boxShape = NeumorphicBoxShape.circle();
});
},
- color:
- boxShape.isCircle ? buttonActiveColor : buttonInnactiveColor,
child: Text(
"Circle",
style: TextStyle(
@@ -706,16 +715,19 @@ class __PageState extends State<_Page> {
Expanded(
child: Padding(
padding: const EdgeInsets.all(8.0),
- child: RaisedButton(
- shape: RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(12)),
+ child: ElevatedButton(
+ style: ElevatedButton.styleFrom(
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(12)),
+ backgroundColor: boxShape.isStadium
+ ? buttonActiveColor
+ : buttonInnactiveColor,
+ ),
onPressed: () {
setState(() {
boxShape = NeumorphicBoxShape.stadium();
});
},
- color:
- boxShape.isStadium ? buttonActiveColor : buttonInnactiveColor,
child: Text(
"Stadium",
style: TextStyle(
@@ -729,18 +741,20 @@ class __PageState extends State<_Page> {
Expanded(
child: Padding(
padding: const EdgeInsets.all(8.0),
- child: RaisedButton(
- shape: RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(12)),
+ child: ElevatedButton(
+ style: ElevatedButton.styleFrom(
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(12)),
+ backgroundColor: boxShape.isCustomPath
+ ? buttonActiveColor
+ : buttonInnactiveColor,
+ ),
onPressed: () {
setState(() {
boxShape = NeumorphicBoxShape.path(
NeumorphicFlutterLogoPathProvider());
});
},
- color: boxShape.isCustomPath
- ? buttonActiveColor
- : buttonInnactiveColor,
child: Text(
"Custom",
style: TextStyle(
@@ -756,11 +770,11 @@ class __PageState extends State<_Page> {
}
Widget shapeWidget() {
- final Color buttonActiveColor = Theme.of(context).accentColor;
+ final Color buttonActiveColor = Theme.of(context).colorScheme.secondary;
final Color buttonInnactiveColor = Colors.white;
final Color iconActiveColor = Colors.white;
- final Color iconInactiveColor = Colors.black.withOpacity(0.3);
+ final Color iconInactiveColor = Colors.black.withValues(alpha: 0.3);
return Row(
mainAxisSize: MainAxisSize.max,
@@ -768,17 +782,19 @@ class __PageState extends State<_Page> {
Expanded(
child: Padding(
padding: const EdgeInsets.all(8.0),
- child: RaisedButton(
- shape: RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(12)),
+ child: ElevatedButton(
+ style: ElevatedButton.styleFrom(
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(12)),
+ backgroundColor: shape == NeumorphicShape.concave
+ ? buttonActiveColor
+ : buttonInnactiveColor,
+ ),
onPressed: () {
setState(() {
shape = NeumorphicShape.concave;
});
},
- color: shape == NeumorphicShape.concave
- ? buttonActiveColor
- : buttonInnactiveColor,
child: Image.asset("assets/images/concave.png",
color: shape == NeumorphicShape.concave
? iconActiveColor
@@ -789,17 +805,19 @@ class __PageState extends State<_Page> {
Expanded(
child: Padding(
padding: const EdgeInsets.all(8.0),
- child: RaisedButton(
- shape: RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(12)),
+ child: ElevatedButton(
+ style: ElevatedButton.styleFrom(
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(12)),
+ backgroundColor: shape == NeumorphicShape.convex
+ ? buttonActiveColor
+ : buttonInnactiveColor,
+ ),
onPressed: () {
setState(() {
shape = NeumorphicShape.convex;
});
},
- color: shape == NeumorphicShape.convex
- ? buttonActiveColor
- : buttonInnactiveColor,
child: Image.asset("assets/images/convex.png",
color: shape == NeumorphicShape.convex
? iconActiveColor
@@ -810,17 +828,19 @@ class __PageState extends State<_Page> {
Expanded(
child: Padding(
padding: const EdgeInsets.all(8.0),
- child: RaisedButton(
- shape: RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(12)),
+ child: ElevatedButton(
+ style: ElevatedButton.styleFrom(
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(12)),
+ backgroundColor: shape == NeumorphicShape.flat
+ ? buttonActiveColor
+ : buttonInnactiveColor,
+ ),
onPressed: () {
setState(() {
shape = NeumorphicShape.flat;
});
},
- color: shape == NeumorphicShape.flat
- ? buttonActiveColor
- : buttonInnactiveColor,
child: Image.asset("assets/images/flat.png",
color: shape == NeumorphicShape.flat
? iconActiveColor
diff --git a/example/lib/playground/text_playground.dart b/example/lib/playground/text_playground.dart
index f1a547cd..b5db9419 100644
--- a/example/lib/playground/text_playground.dart
+++ b/example/lib/playground/text_playground.dart
@@ -1,5 +1,4 @@
import 'package:example/lib/color_selector.dart';
-import 'package:flutter/material.dart';
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
class NeumorphicTextPlayground extends StatefulWidget {
@@ -89,10 +88,12 @@ class __PageState extends State<_Page> {
Padding(
padding:
const EdgeInsets.only(left: 8.0, right: 8.0, top: 8.0),
- child: RaisedButton(
- shape: RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(12)),
- color: Theme.of(context).accentColor,
+ child: ElevatedButton(
+ style: ElevatedButton.styleFrom(
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(12)),
+ backgroundColor: Theme.of(context).colorScheme.secondary,
+ ),
child: Text(
"back",
style: TextStyle(color: Colors.white),
@@ -125,11 +126,11 @@ class __PageState extends State<_Page> {
int selectedConfiguratorIndex = 0;
Widget _configurators() {
- final Color buttonActiveColor = Theme.of(context).accentColor;
+ final Color buttonActiveColor = Theme.of(context).colorScheme.secondary;
final Color buttonInnactiveColor = Colors.white;
final Color textActiveColor = Colors.white;
- final Color textInactiveColor = Colors.black.withOpacity(0.3);
+ final Color textInactiveColor = Colors.black.withValues(alpha: 0.3);
return Card(
margin: EdgeInsets.all(8),
@@ -145,12 +146,14 @@ class __PageState extends State<_Page> {
flex: 1,
child: Padding(
padding: const EdgeInsets.all(8.0),
- child: RaisedButton(
- shape: RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(12)),
- color: selectedConfiguratorIndex == 0
- ? buttonActiveColor
- : buttonInnactiveColor,
+ child: ElevatedButton(
+ style: ElevatedButton.styleFrom(
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(12)),
+ backgroundColor: selectedConfiguratorIndex == 0
+ ? buttonActiveColor
+ : buttonInnactiveColor,
+ ),
child: Text(
"Style",
style: TextStyle(
@@ -171,9 +174,14 @@ class __PageState extends State<_Page> {
flex: 1,
child: Padding(
padding: const EdgeInsets.all(8.0),
- child: RaisedButton(
- shape: RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(12)),
+ child: ElevatedButton(
+ style: ElevatedButton.styleFrom(
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(12)),
+ backgroundColor: selectedConfiguratorIndex == 1
+ ? buttonActiveColor
+ : buttonInnactiveColor,
+ ),
child: Text(
"Element",
style: TextStyle(
@@ -182,9 +190,6 @@ class __PageState extends State<_Page> {
: textInactiveColor,
),
),
- color: selectedConfiguratorIndex == 1
- ? buttonActiveColor
- : buttonInnactiveColor,
onPressed: () {
setState(() {
selectedConfiguratorIndex = 1;
@@ -205,12 +210,11 @@ class __PageState extends State<_Page> {
switch (selectedConfiguratorIndex) {
case 0:
return styleCustomizer();
- break;
+
case 1:
return elementCustomizer();
- break;
}
- return null;
+ return const SizedBox.shrink();
}
Widget styleCustomizer() {
@@ -238,11 +242,11 @@ class __PageState extends State<_Page> {
}
Widget shapeWidget() {
- final Color buttonActiveColor = Theme.of(context).accentColor;
+ final Color buttonActiveColor = Theme.of(context).colorScheme.secondary;
final Color buttonInnactiveColor = Colors.white;
final Color iconActiveColor = Colors.white;
- final Color iconInactiveColor = Colors.black.withOpacity(0.3);
+ final Color iconInactiveColor = Colors.black.withValues(alpha: 0.3);
return Row(
mainAxisSize: MainAxisSize.max,
@@ -250,17 +254,19 @@ class __PageState extends State<_Page> {
Expanded(
child: Padding(
padding: const EdgeInsets.all(8.0),
- child: RaisedButton(
- shape: RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(12)),
+ child: ElevatedButton(
+ style: ElevatedButton.styleFrom(
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(12)),
+ backgroundColor: shape == NeumorphicShape.concave
+ ? buttonActiveColor
+ : buttonInnactiveColor,
+ ),
onPressed: () {
setState(() {
shape = NeumorphicShape.concave;
});
},
- color: shape == NeumorphicShape.concave
- ? buttonActiveColor
- : buttonInnactiveColor,
child: Image.asset("assets/images/concave.png",
color: shape == NeumorphicShape.concave
? iconActiveColor
@@ -271,17 +277,19 @@ class __PageState extends State<_Page> {
Expanded(
child: Padding(
padding: const EdgeInsets.all(8.0),
- child: RaisedButton(
- shape: RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(12)),
+ child: ElevatedButton(
+ style: ElevatedButton.styleFrom(
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(12)),
+ backgroundColor: shape == NeumorphicShape.convex
+ ? buttonActiveColor
+ : buttonInnactiveColor,
+ ),
onPressed: () {
setState(() {
shape = NeumorphicShape.convex;
});
},
- color: shape == NeumorphicShape.convex
- ? buttonActiveColor
- : buttonInnactiveColor,
child: Image.asset("assets/images/convex.png",
color: shape == NeumorphicShape.convex
? iconActiveColor
@@ -292,17 +300,19 @@ class __PageState extends State<_Page> {
Expanded(
child: Padding(
padding: const EdgeInsets.all(8.0),
- child: RaisedButton(
- shape: RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(12)),
+ child: ElevatedButton(
+ style: ElevatedButton.styleFrom(
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(12)),
+ backgroundColor: shape == NeumorphicShape.flat
+ ? buttonActiveColor
+ : buttonInnactiveColor,
+ ),
onPressed: () {
setState(() {
shape = NeumorphicShape.flat;
});
},
- color: shape == NeumorphicShape.flat
- ? buttonActiveColor
- : buttonInnactiveColor,
child: Image.asset("assets/images/flat.png",
color: shape == NeumorphicShape.flat
? iconActiveColor
@@ -328,7 +338,7 @@ class __PageState extends State<_Page> {
onColorChanged: (color) {
setState(() {
NeumorphicTheme.of(context)
- .updateCurrentTheme(NeumorphicThemeData(baseColor: color));
+ ?.updateCurrentTheme(NeumorphicThemeData(baseColor: color));
});
},
color: NeumorphicTheme.baseColor(context),
@@ -444,7 +454,7 @@ class __PageState extends State<_Page> {
}
FontWeight _fontWeight() {
- switch ((this.fontWeight / 100).toInt()) {
+ switch (this.fontWeight ~/ 100) {
case 1:
return FontWeight.w100;
case 2:
diff --git a/example/lib/sample_neumorphic_playground.dart b/example/lib/sample_neumorphic_playground.dart
index afb309e7..155365fd 100644
--- a/example/lib/sample_neumorphic_playground.dart
+++ b/example/lib/sample_neumorphic_playground.dart
@@ -1,5 +1,3 @@
-import 'package:example/lib/color_selector.dart';
-import 'package:flutter/cupertino.dart';
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
void main() => runApp(NeumorphicPlayground());
@@ -85,11 +83,11 @@ class __PageState extends State<_Page> {
}
Widget _configurators() {
- final Color buttonActiveColor = Theme.of(context).accentColor;
- final Color buttonInnactiveColor = Colors.white;
+ // final Color buttonActiveColor = Theme.of(context).colorScheme.secondary;
+ // final Color buttonInnactiveColor = Colors.white;
- final Color textActiveColor = Colors.white;
- final Color textInactiveColor = Colors.black.withOpacity(0.3);
+ // final Color textActiveColor = Colors.white;
+ // final Color textInactiveColor = Colors.black.withValues(alpha: 0.3);
return Column(
children: [
@@ -138,7 +136,7 @@ class __PageState extends State<_Page> {
width: width,
child: haveNeumorphicChild
? neumorphicChild()
- : Container(
+ : SizedBox(
//color: Colors.blue,
child: Center(child: Text("")),
),
@@ -246,11 +244,11 @@ class __PageState extends State<_Page> {
}
Widget shapeWidget() {
- final Color buttonActiveColor = Theme.of(context).accentColor;
+ final Color buttonActiveColor = Theme.of(context).colorScheme.secondary;
final Color buttonInnactiveColor = Colors.white;
final Color iconActiveColor = Colors.white;
- final Color iconInactiveColor = Colors.black.withOpacity(0.3);
+ final Color iconInactiveColor = Colors.black.withValues(alpha: 0.3);
return Row(
mainAxisSize: MainAxisSize.max,
@@ -258,17 +256,19 @@ class __PageState extends State<_Page> {
Expanded(
child: Padding(
padding: const EdgeInsets.all(8.0),
- child: RaisedButton(
- shape: RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(12)),
+ child: ElevatedButton(
+ style: ElevatedButton.styleFrom(
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(12)),
+ backgroundColor: shape == NeumorphicShape.concave
+ ? buttonActiveColor
+ : buttonInnactiveColor,
+ ),
onPressed: () {
setState(() {
shape = NeumorphicShape.concave;
});
},
- color: shape == NeumorphicShape.concave
- ? buttonActiveColor
- : buttonInnactiveColor,
child: Image.asset("assets/images/concave.png",
color: shape == NeumorphicShape.concave
? iconActiveColor
@@ -279,17 +279,20 @@ class __PageState extends State<_Page> {
Expanded(
child: Padding(
padding: const EdgeInsets.all(8.0),
- child: RaisedButton(
- shape: RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(12)),
+ child: ElevatedButton(
+ style: ElevatedButton.styleFrom(
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(12),
+ ),
+ backgroundColor: shape == NeumorphicShape.convex
+ ? buttonActiveColor
+ : buttonInnactiveColor,
+ ),
onPressed: () {
setState(() {
shape = NeumorphicShape.convex;
});
},
- color: shape == NeumorphicShape.convex
- ? buttonActiveColor
- : buttonInnactiveColor,
child: Image.asset("assets/images/convex.png",
color: shape == NeumorphicShape.convex
? iconActiveColor
@@ -300,17 +303,19 @@ class __PageState extends State<_Page> {
Expanded(
child: Padding(
padding: const EdgeInsets.all(8.0),
- child: RaisedButton(
- shape: RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(12)),
+ child: ElevatedButton(
+ style: ElevatedButton.styleFrom(
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(12)),
+ backgroundColor: shape == NeumorphicShape.flat
+ ? buttonActiveColor
+ : buttonInnactiveColor,
+ ),
onPressed: () {
setState(() {
shape = NeumorphicShape.flat;
});
},
- color: shape == NeumorphicShape.flat
- ? buttonActiveColor
- : buttonInnactiveColor,
child: Image.asset("assets/images/flat.png",
color: shape == NeumorphicShape.flat
? iconActiveColor
diff --git a/example/lib/samples/audio_player_sample.dart b/example/lib/samples/audio_player_sample.dart
index fee9c066..7f2ad6f7 100644
--- a/example/lib/samples/audio_player_sample.dart
+++ b/example/lib/samples/audio_player_sample.dart
@@ -1,4 +1,3 @@
-import 'package:flutter/material.dart';
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
class AudioPlayerSample extends StatefulWidget {
@@ -94,7 +93,7 @@ class __PageState extends State<_Page> {
onPressed: () {
setState(() {
_useDark = !_useDark;
- NeumorphicTheme.of(context).themeMode =
+ NeumorphicTheme.of(context)?.themeMode =
_useDark ? ThemeMode.dark : ThemeMode.light;
});
},
@@ -237,10 +236,10 @@ class __PageState extends State<_Page> {
Color _iconsColor() {
final theme = NeumorphicTheme.of(context);
- if (theme.isUsingDark) {
- return theme.current.accentColor;
+ if (theme?.isUsingDark ?? false) {
+ return theme?.current?.accentColor ?? Colors.black;
} else {
- return null;
+ return Colors.black;
}
}
}
diff --git a/example/lib/samples/calculator_sample.dart b/example/lib/samples/calculator_sample.dart
index fabf9d36..76f33796 100644
--- a/example/lib/samples/calculator_sample.dart
+++ b/example/lib/samples/calculator_sample.dart
@@ -1,4 +1,3 @@
-import 'package:flutter/material.dart';
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
class CalculatorSample extends StatefulWidget {
@@ -65,9 +64,10 @@ class WidgetCalcButton extends StatelessWidget {
}
Color _backgroundColor(BuildContext context) {
- return button.backgroundAccent
- ? NeumorphicTheme.accentColor(context)
- : null;
+ if (button.backgroundAccent) {
+ return NeumorphicTheme.accentColor(context);
+ }
+ return Colors.transparent;
}
@override
@@ -99,7 +99,7 @@ class _TopScreenWidget extends StatelessWidget {
return Neumorphic(
style: NeumorphicStyle(
boxShape: NeumorphicBoxShape.roundRect(BorderRadius.circular(12)),
- depth: -1 * NeumorphicTheme.of(context).current.depth,
+ depth: -1 * (NeumorphicTheme.of(context)?.current?.depth ?? 0),
),
child: FractionallySizedBox(
widthFactor: 1,
@@ -198,11 +198,11 @@ class __PageContentState extends State<_PageContent> {
),
Row(
children: [
- RaisedButton(
+ ElevatedButton(
onPressed: () {
setState(() {
NeumorphicTheme.of(context)
- .updateCurrentTheme(NeumorphicThemeData(
+ ?.updateCurrentTheme(NeumorphicThemeData(
depth: 1,
intensity: 0.5,
accentColor: Colors.cyan,
@@ -213,11 +213,11 @@ class __PageContentState extends State<_PageContent> {
"style 1",
),
),
- RaisedButton(
+ ElevatedButton(
onPressed: () {
setState(() {
NeumorphicTheme.of(context)
- .updateCurrentTheme(NeumorphicThemeData(
+ ?.updateCurrentTheme(NeumorphicThemeData(
depth: 8,
intensity: 0.3,
accentColor: Colors.greenAccent,
diff --git a/example/lib/samples/clock/clock_sample.dart b/example/lib/samples/clock/clock_sample.dart
index 05bc41e9..2197d8ca 100644
--- a/example/lib/samples/clock/clock_sample.dart
+++ b/example/lib/samples/clock/clock_sample.dart
@@ -1,5 +1,4 @@
import 'package:example/lib/top_bar.dart';
-import 'package:flutter/material.dart';
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
import 'clock_second_sample.dart';
@@ -229,11 +228,11 @@ class NeumorphicClock extends StatelessWidget {
}
Widget _buildLine(
- {BuildContext context,
- double angle,
- double width,
+ {required BuildContext context,
+ required double angle,
+ required double width,
double height = 6,
- Color color}) {
+ required Color color}) {
return Transform.rotate(
angle: angle,
child: Center(
diff --git a/example/lib/samples/clock/clock_second_sample.dart b/example/lib/samples/clock/clock_second_sample.dart
index 91873349..bb630bb3 100644
--- a/example/lib/samples/clock/clock_second_sample.dart
+++ b/example/lib/samples/clock/clock_second_sample.dart
@@ -1,5 +1,4 @@
import 'package:example/lib/top_bar.dart';
-import 'package:flutter/material.dart';
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
class ClockAlarmPage extends StatelessWidget {
@@ -230,8 +229,8 @@ class Alarm {
final String label;
const Alarm({
- @required this.enabled,
- @required this.time,
- @required this.label,
+ required this.enabled,
+ required this.time,
+ required this.label,
});
}
diff --git a/example/lib/samples/credit_card_sample.dart b/example/lib/samples/credit_card_sample.dart
index de640f5b..37d25cce 100644
--- a/example/lib/samples/credit_card_sample.dart
+++ b/example/lib/samples/credit_card_sample.dart
@@ -1,7 +1,5 @@
import 'dart:ui';
-import 'package:flutter/material.dart';
-import 'package:flutter/widgets.dart';
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
class CreditCardSample extends StatefulWidget {
@@ -87,8 +85,8 @@ class __PageContentState extends State<_PageContent> {
begin: Alignment.topRight,
end: Alignment.bottomLeft,
colors: [
- Colors.purple.withOpacity(0.5),
- Colors.red.withOpacity(0.5)
+ Colors.purple.withValues(alpha: 0.5),
+ Colors.red.withValues(alpha: 0.5)
])),
),
),
@@ -114,7 +112,7 @@ class __PageContentState extends State<_PageContent> {
"1234 5678",
style: TextStyle(
fontSize: 30,
- color: Colors.black.withOpacity(0.7)),
+ color: Colors.black.withValues(alpha: 0.7)),
),
SizedBox(
height: 3,
@@ -123,7 +121,7 @@ class __PageContentState extends State<_PageContent> {
"1234 5678",
style: TextStyle(
fontSize: 30,
- color: Colors.black.withOpacity(0.7)),
+ color: Colors.black.withValues(alpha: 0.7)),
),
],
),
@@ -158,7 +156,7 @@ class __PageContentState extends State<_PageContent> {
"09/24",
style: TextStyle(
fontSize: 20,
- color: Colors.white.withOpacity(0.7)),
+ color: Colors.white.withValues(alpha: 0.7)),
),
SizedBox(
height: 8,
@@ -235,7 +233,7 @@ class __PageContentState extends State<_PageContent> {
setState(() {
_useDark = !_useDark;
- NeumorphicTheme.of(context).themeMode =
+ NeumorphicTheme.of(context)?.themeMode =
_useDark ? ThemeMode.dark : ThemeMode.light;
});
},
@@ -328,7 +326,7 @@ class __PageContentState extends State<_PageContent> {
value: 0,
onChanged: (value) {
setState(() {
- _dotIndex = value;
+ _dotIndex = value ?? 0;
});
},
style: NeumorphicRadioStyle(
@@ -348,7 +346,7 @@ class __PageContentState extends State<_PageContent> {
value: 1,
onChanged: (value) {
setState(() {
- _dotIndex = value;
+ _dotIndex = value ?? 0;
});
},
style: NeumorphicRadioStyle(
@@ -368,7 +366,7 @@ class __PageContentState extends State<_PageContent> {
value: 2,
onChanged: (value) {
setState(() {
- _dotIndex = value;
+ _dotIndex = value ?? 0;
});
},
style: NeumorphicRadioStyle(
diff --git a/example/lib/samples/form_sample.dart b/example/lib/samples/form_sample.dart
index 7d6af0cc..70dd5896 100644
--- a/example/lib/samples/form_sample.dart
+++ b/example/lib/samples/form_sample.dart
@@ -1,6 +1,5 @@
import 'package:example/lib/ThemeConfigurator.dart';
import 'package:example/lib/top_bar.dart';
-import 'package:flutter/material.dart';
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
class FormSample extends StatelessWidget {
@@ -35,7 +34,7 @@ class __PageState extends State<_Page> {
String firstName = "";
String lastName = "";
double age = 12;
- Gender gender;
+ Gender gender = Gender.MALE;
Set rides = Set();
@override
@@ -170,7 +169,7 @@ class _AvatarField extends StatelessWidget {
child: Icon(
Icons.insert_emoticon,
size: 120,
- color: Colors.black.withOpacity(0.2),
+ color: Colors.black.withValues(alpha: 0.2),
),
),
);
@@ -181,7 +180,7 @@ class _AgeField extends StatelessWidget {
final double age;
final ValueChanged onChanged;
- _AgeField({@required this.age, this.onChanged});
+ _AgeField({required this.age, required this.onChanged});
@override
Widget build(BuildContext context) {
@@ -230,14 +229,15 @@ class _TextField extends StatefulWidget {
final ValueChanged onChanged;
- _TextField({@required this.label, @required this.hint, this.onChanged});
+ _TextField(
+ {required this.label, required this.hint, required this.onChanged});
@override
__TextFieldState createState() => __TextFieldState();
}
class __TextFieldState extends State<_TextField> {
- TextEditingController _controller;
+ late TextEditingController _controller;
@override
void initState() {
@@ -283,8 +283,8 @@ class _GenderField extends StatelessWidget {
final ValueChanged onChanged;
const _GenderField({
- @required this.gender,
- @required this.onChanged,
+ required this.gender,
+ required this.onChanged,
});
@override
@@ -313,7 +313,7 @@ class _GenderField extends StatelessWidget {
),
value: Gender.MALE,
child: Icon(Icons.account_box),
- onChanged: (value) => this.onChanged(value),
+ onChanged: (value) => this.onChanged(value ?? Gender.MALE),
),
SizedBox(width: 12),
NeumorphicRadio(
@@ -324,7 +324,7 @@ class _GenderField extends StatelessWidget {
),
value: Gender.FEMALE,
child: Icon(Icons.pregnant_woman),
- onChanged: (value) => this.onChanged(value),
+ onChanged: (value) => this.onChanged(value ?? Gender.FEMALE),
),
SizedBox(width: 12),
NeumorphicRadio(
@@ -335,7 +335,7 @@ class _GenderField extends StatelessWidget {
),
value: Gender.NON_BINARY,
child: Icon(Icons.supervised_user_circle),
- onChanged: (value) => this.onChanged(value),
+ onChanged: (value) => this.onChanged(value ?? Gender.NON_BINARY),
),
SizedBox(
width: 18,
diff --git a/example/lib/samples/galaxy_sample.dart b/example/lib/samples/galaxy_sample.dart
index 5bae0f8e..aca638ca 100644
--- a/example/lib/samples/galaxy_sample.dart
+++ b/example/lib/samples/galaxy_sample.dart
@@ -1,6 +1,5 @@
import 'package:example/lib/ThemeConfigurator.dart';
import 'package:example/lib/top_bar.dart';
-import 'package:flutter/material.dart';
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
class GalaxySample extends StatelessWidget {
diff --git a/example/lib/samples/sample_home.dart b/example/lib/samples/sample_home.dart
index e4e120a0..cb152b8a 100644
--- a/example/lib/samples/sample_home.dart
+++ b/example/lib/samples/sample_home.dart
@@ -5,14 +5,13 @@ import 'package:example/samples/clock/clock_sample.dart';
import 'package:example/samples/credit_card_sample.dart';
import 'package:example/samples/form_sample.dart';
import 'package:example/samples/testla_sample.dart';
-import 'package:flutter/material.dart';
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
import 'galaxy_sample.dart';
import 'widgets_sample.dart';
class SamplesHome extends StatelessWidget {
- Widget _buildButton({String text, VoidCallback onClick}) {
+ Widget _buildButton({required String text, required VoidCallback onClick}) {
return NeumorphicButton(
margin: EdgeInsets.only(bottom: 12),
padding: EdgeInsets.symmetric(
diff --git a/example/lib/samples/testla_sample.dart b/example/lib/samples/testla_sample.dart
index 400ecf07..a9c69bfd 100644
--- a/example/lib/samples/testla_sample.dart
+++ b/example/lib/samples/testla_sample.dart
@@ -1,7 +1,3 @@
-import 'dart:ui';
-
-import 'package:flutter/material.dart';
-import 'package:flutter/widgets.dart';
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
class TeslaSample extends StatefulWidget {
diff --git a/example/lib/samples/widgets_sample.dart b/example/lib/samples/widgets_sample.dart
index a98f67fc..a45b88ac 100644
--- a/example/lib/samples/widgets_sample.dart
+++ b/example/lib/samples/widgets_sample.dart
@@ -1,15 +1,14 @@
-import 'package:flutter/material.dart';
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
class WidgetsSample extends StatefulWidget {
- WidgetsSample({Key key}) : super(key: key);
+ WidgetsSample({Key? key}) : super(key: key);
@override
createState() => _ContainersListPageState();
}
class _ContainersListPageState extends State {
- int _groupValue;
+ int _groupValue = 0;
bool _switchConcaveEnabled = false;
bool _switchConvexEnabled = false;
bool _switchFlatEnabled = false;
@@ -125,7 +124,7 @@ class _ContainersListPageState extends State {
groupValue: _groupValue,
onChanged: (value) {
setState(() {
- _groupValue = value;
+ _groupValue = value ?? 0;
});
},
),
@@ -145,7 +144,7 @@ class _ContainersListPageState extends State {
groupValue: _groupValue,
onChanged: (value) {
setState(() {
- _groupValue = value;
+ _groupValue = value ?? 0;
});
},
),
@@ -165,7 +164,7 @@ class _ContainersListPageState extends State {
groupValue: _groupValue,
onChanged: (value) {
setState(() {
- _groupValue = value;
+ _groupValue = value ?? 0;
});
},
),
diff --git a/example/lib/tips/border/tips_border.dart b/example/lib/tips/border/tips_border.dart
index 69e04ea3..0e88e8ff 100644
--- a/example/lib/tips/border/tips_border.dart
+++ b/example/lib/tips/border/tips_border.dart
@@ -1,11 +1,10 @@
import 'package:example/lib/Code.dart';
import 'package:example/lib/ThemeConfigurator.dart';
import 'package:example/lib/top_bar.dart';
-import 'package:flutter/material.dart';
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
class TipsBorderPage extends StatefulWidget {
- TipsBorderPage({Key key}) : super(key: key);
+ TipsBorderPage({Key? key}) : super(key: key);
@override
createState() => _WidgetPageState();
@@ -149,9 +148,9 @@ class _CustomWidget extends StatefulWidget {
final NeumorphicStyle secondStyle;
_CustomWidget(
- {@required this.title,
- @required this.firstStyle,
- @required this.secondStyle});
+ {required this.title,
+ required this.firstStyle,
+ required this.secondStyle});
@override
createState() => _CustomWidgetState();
diff --git a/example/lib/tips/border/tips_emboss_inside_emboss.dart b/example/lib/tips/border/tips_emboss_inside_emboss.dart
index c9e03ae8..a048deb1 100644
--- a/example/lib/tips/border/tips_emboss_inside_emboss.dart
+++ b/example/lib/tips/border/tips_emboss_inside_emboss.dart
@@ -1,11 +1,10 @@
import 'package:example/lib/Code.dart';
import 'package:example/lib/ThemeConfigurator.dart';
import 'package:example/lib/top_bar.dart';
-import 'package:flutter/material.dart';
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
class TipsRecursiveeEmbossPage extends StatefulWidget {
- TipsRecursiveeEmbossPage({Key key}) : super(key: key);
+ TipsRecursiveeEmbossPage({Key? key}) : super(key: key);
@override
createState() => _WidgetPageState();
@@ -88,14 +87,16 @@ class _EmbossmbossWidgetState extends State<_EmbossmbossWidget> {
}
Widget _generateEmbosss(
- {int number, Widget child, bool reverseEachPair = false}) {
+ {required int number,
+ required Widget child,
+ bool reverseEachPair = false}) {
Widget element = child;
for (int i = 0; i < number; ++i) {
element = Neumorphic(
padding: EdgeInsets.all(20),
style: NeumorphicStyle(
boxShape: NeumorphicBoxShape.circle(),
- depth: -(NeumorphicTheme.depth(context).abs()), //force negative
+ depth: -(NeumorphicTheme.depth(context)?.abs() ?? 0), //force negative
oppositeShadowLightSource: (reverseEachPair && i % 2 == 0),
),
child: element,
diff --git a/example/lib/tips/tips_home.dart b/example/lib/tips/tips_home.dart
index 945a5e35..97d30530 100644
--- a/example/lib/tips/tips_home.dart
+++ b/example/lib/tips/tips_home.dart
@@ -1,12 +1,11 @@
import 'package:example/lib/top_bar.dart';
-import 'package:flutter/material.dart';
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
import 'border/tips_border.dart';
import 'border/tips_emboss_inside_emboss.dart';
class TipsHome extends StatelessWidget {
- Widget _buildButton({String text, VoidCallback onClick}) {
+ Widget _buildButton({required String text, required VoidCallback onClick}) {
return NeumorphicButton(
margin: EdgeInsets.only(bottom: 12),
padding: EdgeInsets.symmetric(
@@ -39,7 +38,9 @@ class TipsHome extends StatelessWidget {
mainAxisAlignment: MainAxisAlignment.start,
mainAxisSize: MainAxisSize.max,
children: [
- TopBar(title: "Tips"),
+ TopBar(
+ title: "Tips",
+ ),
_buildButton(
text: "Border",
onClick: () {
diff --git a/example/lib/widgets/appbar/widget_app_bar.dart b/example/lib/widgets/appbar/widget_app_bar.dart
index 6e4549e7..de6cf03b 100644
--- a/example/lib/widgets/appbar/widget_app_bar.dart
+++ b/example/lib/widgets/appbar/widget_app_bar.dart
@@ -1,9 +1,7 @@
-import 'package:flutter/material.dart';
-import 'package:flutter/rendering.dart';
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
class AppBarWidgetPage extends StatelessWidget {
- AppBarWidgetPage({Key key}) : super(key: key);
+ AppBarWidgetPage({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
@@ -152,7 +150,7 @@ class FirstThemeContent extends StatelessWidget {
class _MyDrawer extends StatelessWidget {
final bool isLead;
- const _MyDrawer({Key key, this.isLead = true}) : super(key: key);
+ const _MyDrawer({Key? key, this.isLead = true}) : super(key: key);
@override
Widget build(BuildContext context) {
diff --git a/example/lib/widgets/background/widget_background.dart b/example/lib/widgets/background/widget_background.dart
index aa35b588..c32edccc 100644
--- a/example/lib/widgets/background/widget_background.dart
+++ b/example/lib/widgets/background/widget_background.dart
@@ -1,11 +1,10 @@
import 'package:example/lib/Code.dart';
import 'package:example/lib/ThemeConfigurator.dart';
import 'package:example/lib/top_bar.dart';
-import 'package:flutter/material.dart';
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
class BackgroundWidgetPage extends StatefulWidget {
- BackgroundWidgetPage({Key key}) : super(key: key);
+ BackgroundWidgetPage({Key? key}) : super(key: key);
@override
createState() => _WidgetPageState();
diff --git a/example/lib/widgets/button/button.dart b/example/lib/widgets/button/button.dart
index cb8e6319..e249678d 100644
--- a/example/lib/widgets/button/button.dart
+++ b/example/lib/widgets/button/button.dart
@@ -1,4 +1,3 @@
-import 'package:flutter/material.dart';
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
class ButtonSample extends StatefulWidget {
@@ -42,17 +41,17 @@ class __PageState extends State<_Page> {
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
- RaisedButton(
+ ElevatedButton(
onPressed: () {
Navigator.of(context).pop();
},
child: Text("back"),
),
- RaisedButton(
+ ElevatedButton(
onPressed: () {
setState(() {
_useDark = !_useDark;
- NeumorphicTheme.of(context).themeMode =
+ NeumorphicTheme.of(context)?.themeMode =
_useDark ? ThemeMode.dark : ThemeMode.light;
});
},
@@ -89,10 +88,10 @@ class __PageState extends State<_Page> {
Color _iconsColor() {
final theme = NeumorphicTheme.of(context);
- if (theme.isUsingDark) {
- return theme.current.accentColor;
+ if (theme?.isUsingDark ?? false) {
+ return theme?.current?.accentColor ?? Colors.black;
} else {
- return null;
+ return Colors.black;
}
}
}
diff --git a/example/lib/widgets/button/widget_button.dart b/example/lib/widgets/button/widget_button.dart
index 117225b3..8e42d960 100644
--- a/example/lib/widgets/button/widget_button.dart
+++ b/example/lib/widgets/button/widget_button.dart
@@ -2,11 +2,10 @@ import 'package:example/lib/Code.dart';
import 'package:example/lib/ThemeConfigurator.dart';
import 'package:example/lib/color_selector.dart';
import 'package:example/lib/top_bar.dart';
-import 'package:flutter/material.dart';
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
class ButtonWidgetPage extends StatefulWidget {
- ButtonWidgetPage({Key key}) : super(key: key);
+ ButtonWidgetPage({Key? key}) : super(key: key);
@override
createState() => _WidgetPageState();
@@ -78,7 +77,7 @@ class _DefaultWidgetState extends State<_DefaultWidget> {
return Code("""
NeumorphicButton(
onPressed: () {
-
+
},
child: Text("Click me"),
),
@@ -129,7 +128,7 @@ class _CircleWidgetState extends State<_CircleWidget> {
NeumorphicButton(
boxShape: NeumorphicBoxShape.circle(),
onPressed: () {
-
+
},
padding: EdgeInsets.all(18.0),
child: Icon(Icons.play_arrow),
@@ -186,7 +185,7 @@ NeumorphicButton(
boxShape: NeumorphicBoxShape.circle(),
minDistance: -5.0,
onPressed: () {
-
+
},
padding: EdgeInsets.all(18.0),
child: Icon(Icons.play_arrow),
@@ -333,12 +332,12 @@ class _EnabledDisabledWidgetState extends State<_EnabledDisabledWidget> {
}
Widget _buildCode(BuildContext context) {
- return Code("""
+ return Code("""
NeumorphicButton(
isEnabled: false,
child: Text("Second"),
onPressed: () {
-
+
},
),
""");
@@ -423,11 +422,11 @@ class _FlatConcaveConvexWidgetState extends State<_FlatConcaveConvexWidget> {
return Code("""
NeumorphicButton(
style: NeumorphicStyle(
- shape: NeumorphicShape.flat
+ shape: NeumorphicShape.flat
//or convex, concave
),
onPressed: () {
-
+
},
child: ...
),
diff --git a/example/lib/widgets/checkbox/widget_checkbox.dart b/example/lib/widgets/checkbox/widget_checkbox.dart
index 1412294c..d9e136c8 100644
--- a/example/lib/widgets/checkbox/widget_checkbox.dart
+++ b/example/lib/widgets/checkbox/widget_checkbox.dart
@@ -2,11 +2,10 @@ import 'package:example/lib/Code.dart';
import 'package:example/lib/ThemeConfigurator.dart';
import 'package:example/lib/color_selector.dart';
import 'package:example/lib/top_bar.dart';
-import 'package:flutter/material.dart';
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
class CheckboxWidgetPage extends StatefulWidget {
- CheckboxWidgetPage({Key key}) : super(key: key);
+ CheckboxWidgetPage({Key? key}) : super(key: key);
@override
createState() => _WidgetPageState();
@@ -76,8 +75,8 @@ class _DefaultWidgetState extends State<_DefaultWidget> {
Widget _buildCode(BuildContext context) {
return Code("""
-
-bool isChecked = false;
+
+bool isChecked = false;
NeumorphicCheckbox(
value: isChecked,
@@ -209,8 +208,8 @@ class _ColorWidgetState extends State<_ColorWidget> {
Widget _buildCode(BuildContext context) {
return Code("""
-
-bool isChecked = false;
+
+bool isChecked = false;
NeumorphicCheckbox(
value: isChecked,
@@ -286,8 +285,8 @@ class _EnabledDisabledWidgetState extends State<_EnabledDisabledWidget> {
Widget _buildCode(BuildContext context) {
return Code("""
-
-bool isChecked = false;
+
+bool isChecked = false;
NeumorphicCheckbox(
isEnabled: false,
diff --git a/example/lib/widgets/container/widget_container.dart b/example/lib/widgets/container/widget_container.dart
index 90cafbf4..0072c236 100644
--- a/example/lib/widgets/container/widget_container.dart
+++ b/example/lib/widgets/container/widget_container.dart
@@ -2,11 +2,10 @@ import 'package:example/lib/Code.dart';
import 'package:example/lib/ThemeConfigurator.dart';
import 'package:example/lib/color_selector.dart';
import 'package:example/lib/top_bar.dart';
-import 'package:flutter/material.dart';
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
class ContainerWidgetPage extends StatefulWidget {
- ContainerWidgetPage({Key key}) : super(key: key);
+ ContainerWidgetPage({Key? key}) : super(key: key);
@override
createState() => _WidgetPageState();
@@ -236,7 +235,7 @@ Neumorphic(
boxShape: NeumorphicBoxShape.circle()
),
child: SizedBox(
- height: 100,
+ height: 100,
width: 100,
),
),
@@ -298,10 +297,10 @@ class _FlatConcaveConvexWidgetState extends State<_FlatConcaveConvexWidget> {
return Code("""
Neumorphic(
style: NeumorphicStyle(
- shape: NeumorphicShape.flat
+ shape: NeumorphicShape.flat
//or convex, concave
),
-
+
child: ...
),
""");
diff --git a/example/lib/widgets/icon/widget_icon.dart b/example/lib/widgets/icon/widget_icon.dart
index deb111ed..e5067032 100644
--- a/example/lib/widgets/icon/widget_icon.dart
+++ b/example/lib/widgets/icon/widget_icon.dart
@@ -1,10 +1,9 @@
import 'package:example/lib/ThemeConfigurator.dart';
import 'package:example/lib/top_bar.dart';
-import 'package:flutter/material.dart';
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
class IconWidgetPage extends StatefulWidget {
- IconWidgetPage({Key key}) : super(key: key);
+ IconWidgetPage({Key? key}) : super(key: key);
@override
createState() => _WidgetPageState();
@@ -741,7 +740,7 @@ class _PageState extends State<_Page> {
Icons.picture_in_picture,
Icons.picture_in_picture_alt,
Icons.pie_chart,
- Icons.pie_chart_outlined,
+ Icons.pie_chart_outline,
Icons.pin_drop,
Icons.place,
Icons.play_arrow,
diff --git a/example/lib/widgets/indeterminate_progress/widget_indeterminate_progress.dart b/example/lib/widgets/indeterminate_progress/widget_indeterminate_progress.dart
index 09f2b289..95ccf5d6 100644
--- a/example/lib/widgets/indeterminate_progress/widget_indeterminate_progress.dart
+++ b/example/lib/widgets/indeterminate_progress/widget_indeterminate_progress.dart
@@ -2,11 +2,10 @@ import 'package:example/lib/Code.dart';
import 'package:example/lib/ThemeConfigurator.dart';
import 'package:example/lib/color_selector.dart';
import 'package:example/lib/top_bar.dart';
-import 'package:flutter/material.dart';
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
class IndeterminateProgressWidgetPage extends StatefulWidget {
- IndeterminateProgressWidgetPage({Key key}) : super(key: key);
+ IndeterminateProgressWidgetPage({Key? key}) : super(key: key);
@override
createState() => _WidgetPageState();
diff --git a/example/lib/widgets/indicator/widget_indicator.dart b/example/lib/widgets/indicator/widget_indicator.dart
index a5c42247..f6e63903 100644
--- a/example/lib/widgets/indicator/widget_indicator.dart
+++ b/example/lib/widgets/indicator/widget_indicator.dart
@@ -1,14 +1,13 @@
+import 'dart:math' show Random;
+
import 'package:example/lib/Code.dart';
import 'package:example/lib/ThemeConfigurator.dart';
import 'package:example/lib/color_selector.dart';
import 'package:example/lib/top_bar.dart';
-import 'package:flutter/material.dart';
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
-import 'dart:math' show Random;
-
class IndicatorWidgetPage extends StatefulWidget {
- IndicatorWidgetPage({Key key}) : super(key: key);
+ IndicatorWidgetPage({Key? key}) : super(key: key);
@override
createState() => _WidgetPageState();
@@ -102,7 +101,7 @@ NeumorphicIndicator(
percent: percent,
),
SizedBox(width: 12),
- FlatButton(
+ ElevatedButton(
child: Text('Update'),
onPressed: () {
setState(() {
@@ -298,7 +297,7 @@ NeumorphicIndicator(
duration: Duration(seconds: 1),
),
SizedBox(width: 12),
- FlatButton(
+ ElevatedButton(
child: Text('Update'),
onPressed: () {
setState(() {
@@ -356,7 +355,7 @@ NeumorphicIndicator(
percent: percent,
curve: Curves.bounceOut),
SizedBox(width: 12),
- FlatButton(
+ ElevatedButton(
child: Text('Update'),
onPressed: () {
setState(() {
diff --git a/example/lib/widgets/progress/widget_progress.dart b/example/lib/widgets/progress/widget_progress.dart
index 7867cb06..c8ad20ad 100644
--- a/example/lib/widgets/progress/widget_progress.dart
+++ b/example/lib/widgets/progress/widget_progress.dart
@@ -1,13 +1,12 @@
+import 'dart:math' show Random;
+
import 'package:example/lib/Code.dart';
import 'package:example/lib/color_selector.dart';
import 'package:example/lib/top_bar.dart';
-import 'package:flutter/material.dart';
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
-import 'dart:math' show Random;
-
class ProgressWidgetPage extends StatefulWidget {
- ProgressWidgetPage({Key key}) : super(key: key);
+ ProgressWidgetPage({Key? key}) : super(key: key);
@override
createState() => _WidgetPageState();
@@ -74,7 +73,7 @@ class _DefaultWidgetState extends State<_DefaultWidget> {
Widget _buildCode(BuildContext context) {
return Code("""
-double percent = 0.2;
+double percent = 0.2;
Expanded(
child: NeumorphicProgress(
@@ -110,7 +109,7 @@ Expanded(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
_buildWidget(context),
- FlatButton(
+ ElevatedButton(
child: Text('Update'),
onPressed: () {
setState(() {
@@ -133,7 +132,7 @@ class _ColorWidgetState extends State<_ColorWidget> {
Widget _buildCode(BuildContext context) {
return Code("""
-double percent = 0.5;
+double percent = 0.5;
Expanded(
child: NeumorphicProgress(
@@ -225,7 +224,7 @@ class _SizedWidgetState extends State<_SizedWidget> {
Widget _buildCode(BuildContext context) {
return Code("""
-double percent = 0.5;
+double percent = 0.5;
Expanded(
child: NeumorphicProgress(
@@ -285,7 +284,7 @@ class _DurationWidgetState extends State<_DurationWidget> {
Widget _buildCode(BuildContext context) {
return Code("""
-double percent = 0.2;
+double percent = 0.2;
Expanded(
child: NeumorphicProgress(
@@ -323,7 +322,7 @@ Expanded(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
_buildWidget(context),
- FlatButton(
+ ElevatedButton(
child: Text('Update'),
onPressed: () {
setState(() {
@@ -346,7 +345,7 @@ class _CurveWidgetState extends State<_CurveWidget> {
Widget _buildCode(BuildContext context) {
return Code("""
-double percent = 0.2;
+double percent = 0.2;
Expanded(
child: NeumorphicProgress(
@@ -384,7 +383,7 @@ Expanded(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
_buildWidget(context),
- FlatButton(
+ ElevatedButton(
child: Text('Update'),
onPressed: () {
setState(() {
diff --git a/example/lib/widgets/radiobutton/widget_radio_button.dart b/example/lib/widgets/radiobutton/widget_radio_button.dart
index f8e1434f..05a8e296 100644
--- a/example/lib/widgets/radiobutton/widget_radio_button.dart
+++ b/example/lib/widgets/radiobutton/widget_radio_button.dart
@@ -1,11 +1,10 @@
import 'package:example/lib/Code.dart';
import 'package:example/lib/ThemeConfigurator.dart';
import 'package:example/lib/top_bar.dart';
-import 'package:flutter/material.dart';
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
class RadioButtonWidgetPage extends StatefulWidget {
- RadioButtonWidgetPage({Key key}) : super(key: key);
+ RadioButtonWidgetPage({Key? key}) : super(key: key);
@override
createState() => _WidgetPageState();
@@ -69,7 +68,7 @@ class _DefaultWidget extends StatefulWidget {
}
class _DefaultWidgetState extends State<_DefaultWidget> {
- int groupValue;
+ int groupValue = 0;
Widget _buildCode(BuildContext context) {
return Code("""
@@ -108,7 +107,7 @@ NeumorphicRadio(
value: 1991,
onChanged: (value) {
setState(() {
- groupValue = value;
+ groupValue = value ?? 0;
});
},
padding: EdgeInsets.all(8.0),
@@ -120,7 +119,7 @@ NeumorphicRadio(
groupValue: groupValue,
onChanged: (value) {
setState(() {
- groupValue = value;
+ groupValue = value ?? 0;
});
},
padding: EdgeInsets.all(8.0),
@@ -132,7 +131,7 @@ NeumorphicRadio(
value: 2012,
onChanged: (value) {
setState(() {
- groupValue = value;
+ groupValue = value ?? 0;
});
},
padding: EdgeInsets.all(8.0),
@@ -160,7 +159,7 @@ class CircleRadios extends StatefulWidget {
}
class _CircleRadiosState extends State {
- String groupValue;
+ String groupValue = "";
Widget _buildCode(BuildContext context) {
return Code("""
@@ -198,7 +197,7 @@ NeumorphicRadio(
value: "A",
onChanged: (value) {
setState(() {
- groupValue = value;
+ groupValue = value ?? "";
});
},
padding: EdgeInsets.all(18.0),
@@ -213,7 +212,7 @@ NeumorphicRadio(
groupValue: groupValue,
onChanged: (value) {
setState(() {
- groupValue = value;
+ groupValue = value ?? "";
});
},
padding: EdgeInsets.all(18.0),
@@ -228,7 +227,7 @@ NeumorphicRadio(
value: "C",
onChanged: (value) {
setState(() {
- groupValue = value;
+ groupValue = value ?? "";
});
},
padding: EdgeInsets.all(18.0),
@@ -256,7 +255,7 @@ class _EnabledDisabledWidget extends StatefulWidget {
}
class _EnabledDisabledWidgetState extends State<_EnabledDisabledWidget> {
- int groupValue;
+ int groupValue = 0;
Widget _buildWidget(BuildContext context) {
return Padding(
@@ -275,7 +274,7 @@ class _EnabledDisabledWidgetState extends State<_EnabledDisabledWidget> {
child: Text("First"),
onChanged: (value) {
setState(() {
- groupValue = value;
+ groupValue = value ?? 0;
});
},
),
@@ -293,7 +292,7 @@ class _EnabledDisabledWidgetState extends State<_EnabledDisabledWidget> {
child: Text("Second"),
onChanged: (value) {
setState(() {
- groupValue = value;
+ groupValue = value ?? 0;
});
},
),
@@ -303,7 +302,7 @@ class _EnabledDisabledWidgetState extends State<_EnabledDisabledWidget> {
}
Widget _buildCode(BuildContext context) {
- return Code("""
+ return Code("""
int groupValue;
NeumorphicRadio(
diff --git a/example/lib/widgets/range_slider/widget_range_slider.dart b/example/lib/widgets/range_slider/widget_range_slider.dart
index c8c312f3..2b04e7f0 100644
--- a/example/lib/widgets/range_slider/widget_range_slider.dart
+++ b/example/lib/widgets/range_slider/widget_range_slider.dart
@@ -2,11 +2,10 @@ import 'package:example/lib/Code.dart';
import 'package:example/lib/ThemeConfigurator.dart';
import 'package:example/lib/color_selector.dart';
import 'package:example/lib/top_bar.dart';
-import 'package:flutter/material.dart';
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
class RangeSliderWidgetPage extends StatefulWidget {
- RangeSliderWidgetPage({Key key}) : super(key: key);
+ RangeSliderWidgetPage({Key? key}) : super(key: key);
@override
createState() => _RangeWidgetPageState();
diff --git a/example/lib/widgets/slider/widget_slider.dart b/example/lib/widgets/slider/widget_slider.dart
index 522c9c30..07094edd 100644
--- a/example/lib/widgets/slider/widget_slider.dart
+++ b/example/lib/widgets/slider/widget_slider.dart
@@ -2,11 +2,10 @@ import 'package:example/lib/Code.dart';
import 'package:example/lib/ThemeConfigurator.dart';
import 'package:example/lib/color_selector.dart';
import 'package:example/lib/top_bar.dart';
-import 'package:flutter/material.dart';
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
class SliderWidgetPage extends StatefulWidget {
- SliderWidgetPage({Key key}) : super(key: key);
+ SliderWidgetPage({Key? key}) : super(key: key);
@override
createState() => _WidgetPageState();
@@ -73,7 +72,7 @@ class _DefaultWidgetState extends State<_DefaultWidget> {
Widget _buildCode(BuildContext context) {
return Code("""
-double age = 20;
+double age = 20;
Expanded(
child: NeumorphicSlider(
@@ -143,7 +142,7 @@ class _ColorWidgetState extends State<_ColorWidget> {
Widget _buildCode(BuildContext context) {
return Code("""
-double age = 50;
+double age = 50;
Expanded(
child: NeumorphicSlider(
diff --git a/example/lib/widgets/switch/widget_switch.dart b/example/lib/widgets/switch/widget_switch.dart
index cb26b465..8fd568c1 100644
--- a/example/lib/widgets/switch/widget_switch.dart
+++ b/example/lib/widgets/switch/widget_switch.dart
@@ -2,11 +2,10 @@ import 'package:example/lib/Code.dart';
import 'package:example/lib/ThemeConfigurator.dart';
import 'package:example/lib/color_selector.dart';
import 'package:example/lib/top_bar.dart';
-import 'package:flutter/material.dart';
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
class SwitchWidgetPage extends StatefulWidget {
- SwitchWidgetPage({Key key}) : super(key: key);
+ SwitchWidgetPage({Key? key}) : super(key: key);
@override
createState() => _WidgetPageState();
@@ -110,7 +109,7 @@ NeumorphicSwitch(
},
),
SizedBox(width: 12),
- FlatButton(
+ ElevatedButton(
onPressed: () {
setState(() {
isEnabled = !isEnabled;
@@ -148,7 +147,7 @@ bool isChecked;
NeumorphicSwitch(
value: isChecked,
style: NeumorphicSwitchStyle(
- thumbShape: NeumorphicShape.flat
+ thumbShape: NeumorphicShape.flat
//or convex, concave
),
onChanged: (value) {
diff --git a/example/lib/widgets/toggle/widget_toggle.dart b/example/lib/widgets/toggle/widget_toggle.dart
index c2ebbf80..19afb18c 100644
--- a/example/lib/widgets/toggle/widget_toggle.dart
+++ b/example/lib/widgets/toggle/widget_toggle.dart
@@ -1,11 +1,10 @@
import 'package:example/lib/Code.dart';
import 'package:example/lib/ThemeConfigurator.dart';
import 'package:example/lib/top_bar.dart';
-import 'package:flutter/material.dart';
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
class ToggleWidgetPage extends StatefulWidget {
- ToggleWidgetPage({Key key}) : super(key: key);
+ ToggleWidgetPage({Key? key}) : super(key: key);
@override
createState() => _WidgetPageState();
@@ -272,7 +271,7 @@ NeumorphicToggle(
),
onAnimationChangedFinished: (value) {
if (value == 0) {
- Scaffold.of(context)
+ ScaffoldMessenger.of(context)
.showSnackBar(SnackBar(content: Text('on back !')));
print("onAnimationChangedFinished: $_selectedIndex");
}
diff --git a/example/lib/widgets/widgets_home.dart b/example/lib/widgets/widgets_home.dart
index 4cea506b..26af8ff1 100644
--- a/example/lib/widgets/widgets_home.dart
+++ b/example/lib/widgets/widgets_home.dart
@@ -1,7 +1,6 @@
import 'package:example/lib/top_bar.dart';
import 'package:example/widgets/appbar/widget_app_bar.dart';
import 'package:example/widgets/toggle/widget_toggle.dart';
-import 'package:flutter/material.dart';
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
import 'background/widget_background.dart';
@@ -18,7 +17,7 @@ import 'slider/widget_slider.dart';
import 'switch/widget_switch.dart';
class WidgetsHome extends StatelessWidget {
- Widget _buildButton({String text, VoidCallback onClick}) {
+ Widget _buildButton({required String text, required VoidCallback onClick}) {
return NeumorphicButton(
margin: EdgeInsets.only(bottom: 12),
padding: EdgeInsets.symmetric(
diff --git a/example/macos/Flutter/GeneratedPluginRegistrant.swift b/example/macos/Flutter/GeneratedPluginRegistrant.swift
index cf981460..cccf817a 100644
--- a/example/macos/Flutter/GeneratedPluginRegistrant.swift
+++ b/example/macos/Flutter/GeneratedPluginRegistrant.swift
@@ -2,8 +2,6 @@
// Generated file. Do not edit.
//
-// clang-format off
-
import FlutterMacOS
import Foundation
diff --git a/example/pubspec.yaml b/example/pubspec.yaml
index 5f19d033..ee30b399 100644
--- a/example/pubspec.yaml
+++ b/example/pubspec.yaml
@@ -14,7 +14,7 @@ description: A new Flutter project.
version: 1.0.0+1
environment:
- sdk: ">=2.6.0 <3.0.0"
+ sdk: '>=3.2.6 <4.0.0'
dependencies:
flutter:
@@ -23,7 +23,7 @@ dependencies:
flutter_neumorphic:
path: ../
- flutter_colorpicker: ^0.4.0
+ flutter_colorpicker: ^1.1.0
dev_dependencies:
flutter_test:
diff --git a/lib/src/colors.dart b/lib/src/colors.dart
index 84f3533d..c30e2970 100644
--- a/lib/src/colors.dart
+++ b/lib/src/colors.dart
@@ -85,11 +85,11 @@ class NeumorphicColors {
static Color _applyPercentageOnOpacity(
{required Color maxColor, required double percent}) {
- final maxOpacity = maxColor.opacity;
+ final maxOpacity = maxColor.a;
final maxIntensity = Neumorphic.MAX_INTENSITY;
final newOpacity = percent * maxOpacity / maxIntensity;
final newColor =
- maxColor.withOpacity(newOpacity); //<-- intensity act on opacity;
+ maxColor.withValues(alpha: newOpacity); //<-- intensity act on opacity;
return newColor;
}
}
diff --git a/lib/src/decoration/cache/abstract_neumorphic_painter_cache.dart b/lib/src/decoration/cache/abstract_neumorphic_painter_cache.dart
index 9b2b235b..518067a0 100644
--- a/lib/src/decoration/cache/abstract_neumorphic_painter_cache.dart
+++ b/lib/src/decoration/cache/abstract_neumorphic_painter_cache.dart
@@ -1,5 +1,4 @@
import 'dart:math';
-import 'dart:ui';
import '../../../flutter_neumorphic.dart';
diff --git a/lib/src/decoration/cache/neumorphic_emboss_painter_cache.dart b/lib/src/decoration/cache/neumorphic_emboss_painter_cache.dart
index 59f9b5c7..9cc93d47 100644
--- a/lib/src/decoration/cache/neumorphic_emboss_painter_cache.dart
+++ b/lib/src/decoration/cache/neumorphic_emboss_painter_cache.dart
@@ -1,5 +1,3 @@
-import 'dart:ui';
-
import '../../../flutter_neumorphic.dart';
import 'abstract_neumorphic_painter_cache.dart';
diff --git a/lib/src/decoration/cache/neumorphic_painter_cache.dart b/lib/src/decoration/cache/neumorphic_painter_cache.dart
index e63daa1c..85d9d8ab 100644
--- a/lib/src/decoration/cache/neumorphic_painter_cache.dart
+++ b/lib/src/decoration/cache/neumorphic_painter_cache.dart
@@ -1,5 +1,3 @@
-import 'dart:ui';
-
import '../../../flutter_neumorphic.dart';
import 'abstract_neumorphic_painter_cache.dart';
diff --git a/lib/src/decoration/neumorphic_decoration_painter.dart b/lib/src/decoration/neumorphic_decoration_painter.dart
index 36de0f2c..940ba4b6 100644
--- a/lib/src/decoration/neumorphic_decoration_painter.dart
+++ b/lib/src/decoration/neumorphic_decoration_painter.dart
@@ -1,4 +1,3 @@
-import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter/painting.dart';
diff --git a/lib/src/decoration/neumorphic_emboss_decoration_painter.dart b/lib/src/decoration/neumorphic_emboss_decoration_painter.dart
index 299a9694..f849f417 100644
--- a/lib/src/decoration/neumorphic_emboss_decoration_painter.dart
+++ b/lib/src/decoration/neumorphic_emboss_decoration_painter.dart
@@ -1,8 +1,4 @@
-import 'dart:ui';
-
-import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
-import 'package:flutter/painting.dart';
import '../neumorphic_box_shape.dart';
import '../theme/theme.dart';
@@ -134,6 +130,7 @@ class NeumorphicEmbossDecorationPainter extends BoxPainter {
void _paintShadows(Canvas canvas, Path path) {
final Matrix4 matrix4 = Matrix4.identity()
+ // ignore: deprecated_member_use
..scale(_cache.scaleX, _cache.scaleY);
canvas
diff --git a/lib/src/decoration/neumorphic_text_decoration_painter.dart b/lib/src/decoration/neumorphic_text_decoration_painter.dart
index 72ec6696..f5582c58 100644
--- a/lib/src/decoration/neumorphic_text_decoration_painter.dart
+++ b/lib/src/decoration/neumorphic_text_decoration_painter.dart
@@ -1,6 +1,5 @@
import 'dart:ui' as ui;
-import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter/painting.dart';
diff --git a/lib/src/neumorphic_box_shape.dart b/lib/src/neumorphic_box_shape.dart
index 10b927e6..d2ca3a77 100644
--- a/lib/src/neumorphic_box_shape.dart
+++ b/lib/src/neumorphic_box_shape.dart
@@ -1,11 +1,9 @@
-import 'package:flutter/widgets.dart';
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
import 'package:flutter_neumorphic/src/shape/rrect_path_provider.dart';
import 'package:flutter_neumorphic/src/shape/stadium_path_provider.dart';
import 'shape/beveled_path_provider.dart';
import 'shape/circle_path_provider.dart';
-import 'shape/neumorphic_path_provider.dart';
import 'shape/rect_path_provider.dart';
export 'shape/path/flutter_logo_path_provider.dart';
diff --git a/lib/src/shape/beveled_path_provider.dart b/lib/src/shape/beveled_path_provider.dart
index d4bb4745..bd95a618 100644
--- a/lib/src/shape/beveled_path_provider.dart
+++ b/lib/src/shape/beveled_path_provider.dart
@@ -1,7 +1,7 @@
-import '../../flutter_neumorphic.dart';
-import 'neumorphic_path_provider.dart';
import 'dart:math' as math;
+import '../../flutter_neumorphic.dart';
+
class BeveledPathProvider extends NeumorphicPathProvider {
final BorderRadius borderRadius;
diff --git a/lib/src/shape/circle_path_provider.dart b/lib/src/shape/circle_path_provider.dart
index 59980509..c4c304ce 100644
--- a/lib/src/shape/circle_path_provider.dart
+++ b/lib/src/shape/circle_path_provider.dart
@@ -1,7 +1,6 @@
import 'dart:math';
import '../../flutter_neumorphic.dart';
-import 'neumorphic_path_provider.dart';
class CirclePathProvider extends NeumorphicPathProvider {
const CirclePathProvider({Listenable? reclip});
diff --git a/lib/src/shape/rect_path_provider.dart b/lib/src/shape/rect_path_provider.dart
index 8d8625a0..af4fa773 100644
--- a/lib/src/shape/rect_path_provider.dart
+++ b/lib/src/shape/rect_path_provider.dart
@@ -1,5 +1,4 @@
import '../../flutter_neumorphic.dart';
-import 'neumorphic_path_provider.dart';
class RectPathProvider extends NeumorphicPathProvider {
const RectPathProvider({Listenable? reclip});
diff --git a/lib/src/shape/rrect_path_provider.dart b/lib/src/shape/rrect_path_provider.dart
index 6e1e702e..a83a46df 100644
--- a/lib/src/shape/rrect_path_provider.dart
+++ b/lib/src/shape/rrect_path_provider.dart
@@ -1,5 +1,4 @@
import '../../flutter_neumorphic.dart';
-import 'neumorphic_path_provider.dart';
class RRectPathProvider extends NeumorphicPathProvider {
final BorderRadius borderRadius;
diff --git a/lib/src/theme/app_bar.dart b/lib/src/theme/app_bar.dart
index d4e1b8f7..25accccf 100644
--- a/lib/src/theme/app_bar.dart
+++ b/lib/src/theme/app_bar.dart
@@ -1,8 +1,5 @@
import 'dart:io';
-import 'package:flutter/material.dart';
-import 'package:flutter/widgets.dart';
-
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
@immutable
diff --git a/lib/src/theme/inherited_neumorphic_theme.dart b/lib/src/theme/inherited_neumorphic_theme.dart
index d86145cd..b11ee29f 100644
--- a/lib/src/theme/inherited_neumorphic_theme.dart
+++ b/lib/src/theme/inherited_neumorphic_theme.dart
@@ -1,10 +1,5 @@
-import 'package:flutter/foundation.dart';
-import 'package:flutter/widgets.dart';
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
-import 'theme.dart';
-import 'theme_wrapper.dart';
-
export 'theme.dart';
export 'theme_wrapper.dart';
diff --git a/lib/src/theme/neumorphic_theme.dart b/lib/src/theme/neumorphic_theme.dart
index 034fca3f..a0ac754f 100644
--- a/lib/src/theme/neumorphic_theme.dart
+++ b/lib/src/theme/neumorphic_theme.dart
@@ -1,10 +1,4 @@
-import 'package:flutter/material.dart';
-import 'package:flutter/widgets.dart';
-
import '../../flutter_neumorphic.dart';
-import 'inherited_neumorphic_theme.dart';
-import 'theme.dart';
-import 'theme_wrapper.dart';
export 'inherited_neumorphic_theme.dart';
export 'theme.dart';
@@ -106,7 +100,6 @@ class NeumorphicTheme extends StatefulWidget {
}
static double? embossDepth(BuildContext context) {
- if (currentTheme(context).depth == null) return null;
return -currentTheme(context).depth.abs();
}
diff --git a/lib/src/theme/theme.dart b/lib/src/theme/theme.dart
index 8da325c2..92efa86d 100644
--- a/lib/src/theme/theme.dart
+++ b/lib/src/theme/theme.dart
@@ -1,15 +1,6 @@
import 'dart:ui';
-import 'package:flutter/foundation.dart';
-import 'package:flutter/material.dart' show IconThemeData, TextTheme;
-import 'package:flutter/painting.dart';
-import 'package:flutter_neumorphic/src/theme/app_bar.dart';
-import 'package:flutter_neumorphic/src/widget/container.dart';
-
import '../../flutter_neumorphic.dart';
-import '../colors.dart';
-import '../light_source.dart';
-import '../shape.dart';
export '../colors.dart';
export '../light_source.dart';
diff --git a/lib/src/theme/theme_wrapper.dart b/lib/src/theme/theme_wrapper.dart
index e7241b2b..41230884 100644
--- a/lib/src/theme/theme_wrapper.dart
+++ b/lib/src/theme/theme_wrapper.dart
@@ -1,5 +1,3 @@
-import 'dart:ui';
-
import 'package:flutter/material.dart';
import 'theme.dart';
@@ -25,7 +23,9 @@ class ThemeWrapper {
themeMode == ThemeMode.dark ||
//The setting indicating the current brightness mode of the host platform. If the platform has no preference, platformBrightness defaults to Brightness.light.
(themeMode == ThemeMode.system &&
- window.platformBrightness == Brightness.dark);
+ WidgetsBinding.instance.platformDispatcher.views.first
+ .platformDispatcher.platformBrightness ==
+ Brightness.dark);
NeumorphicThemeData? get current {
if (useDark) {
diff --git a/lib/src/widget/app.dart b/lib/src/widget/app.dart
index 70948b8d..72b88b2b 100644
--- a/lib/src/widget/app.dart
+++ b/lib/src/widget/app.dart
@@ -1,4 +1,3 @@
-import 'package:flutter/material.dart';
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
class NeumorphicApp extends StatelessWidget {
@@ -86,13 +85,8 @@ class NeumorphicApp extends StatelessWidget {
return ThemeData(
primaryColor: theme.accentColor,
- accentColor: theme.variantColor,
iconTheme: theme.iconTheme,
brightness: ThemeData.estimateBrightnessForColor(theme.baseColor),
- primaryColorBrightness:
- ThemeData.estimateBrightnessForColor(theme.accentColor),
- accentColorBrightness:
- ThemeData.estimateBrightnessForColor(theme.variantColor),
textTheme: theme.textTheme,
scaffoldBackgroundColor: theme.baseColor,
);
diff --git a/lib/src/widget/app_bar.dart b/lib/src/widget/app_bar.dart
index 75768744..c2219ed9 100644
--- a/lib/src/widget/app_bar.dart
+++ b/lib/src/widget/app_bar.dart
@@ -1,7 +1,4 @@
-import 'package:flutter/material.dart';
-import 'package:flutter/widgets.dart';
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
-import 'package:flutter_neumorphic/src/widget/back_button.dart';
class NeumorphicAppBar extends StatefulWidget implements PreferredSizeWidget {
static const toolbarHeight = kToolbarHeight + 16 * 2;
@@ -102,9 +99,9 @@ class NeumorphicAppBar extends StatefulWidget implements PreferredSizeWidget {
@override
NeumorphicAppBarState createState() => NeumorphicAppBarState();
- bool _getEffectiveCenterTitle(ThemeData theme, NeumorphicThemeData nTheme) {
- if (centerTitle != null || nTheme.appBarTheme.centerTitle != null)
- return centerTitle ?? nTheme.appBarTheme.centerTitle!;
+ bool _getEffectiveCenterTitle(ThemeData theme, NeumorphicThemeData? nTheme) {
+ if (centerTitle != null || nTheme?.appBarTheme.centerTitle != null)
+ return centerTitle ?? nTheme?.appBarTheme.centerTitle ?? false;
switch (theme.platform) {
case TargetPlatform.android:
case TargetPlatform.fuchsia:
@@ -178,11 +175,12 @@ class NeumorphicAppBarState extends State {
Widget? title = widget.title;
if (title != null) {
- final AppBarTheme appBarTheme = AppBarTheme.of(context);
title = DefaultTextStyle(
- style: (appBarTheme.textTheme?.headline5 ??
- Theme.of(context).textTheme.headline5!)
- .merge(widget.textStyle ?? nTheme?.current?.appBarTheme.textStyle),
+ style: (AppBarTheme.of(context).titleTextStyle ??
+ Theme.of(context).textTheme.titleMedium!)
+ .merge(widget.textStyle ??
+ nTheme?.current?.appBarTheme.textStyle ??
+ const TextStyle()),
softWrap: false,
overflow: TextOverflow.ellipsis,
child: title,
@@ -235,7 +233,7 @@ class NeumorphicAppBarState extends State {
middle: title,
trailing: actions,
centerMiddle:
- widget._getEffectiveCenterTitle(theme, nTheme!.current!),
+ widget._getEffectiveCenterTitle(theme, nTheme?.current),
middleSpacing: widget.titleSpacing,
),
),
diff --git a/lib/src/widget/back_button.dart b/lib/src/widget/back_button.dart
index 8757160c..ae74031c 100644
--- a/lib/src/widget/back_button.dart
+++ b/lib/src/widget/back_button.dart
@@ -1,5 +1,3 @@
-import 'package:flutter/material.dart';
-import 'package:flutter/widgets.dart';
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
class NeumorphicBackButton extends StatelessWidget {
diff --git a/lib/src/widget/button.dart b/lib/src/widget/button.dart
index 5bf02bbb..5479b96b 100644
--- a/lib/src/widget/button.dart
+++ b/lib/src/widget/button.dart
@@ -1,11 +1,7 @@
-import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
-import 'package:flutter/widgets.dart';
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
-import '../theme/neumorphic_theme.dart';
-import '../widget/app_bar.dart';
+
import 'animation/animated_scale.dart' as animationScale;
-import 'container.dart';
typedef void NeumorphicButtonClickListener();
diff --git a/lib/src/widget/checkbox.dart b/lib/src/widget/checkbox.dart
index 5f3959cc..431a7883 100644
--- a/lib/src/widget/checkbox.dart
+++ b/lib/src/widget/checkbox.dart
@@ -2,8 +2,6 @@ import 'package:flutter/widgets.dart';
import 'package:flutter_neumorphic/src/neumorphic_icons.dart';
import 'package:flutter_neumorphic/src/widget/container.dart';
-import '../neumorphic_box_shape.dart';
-import '../theme/neumorphic_theme.dart';
import 'button.dart';
typedef void NeumorphicCheckboxListener(T value);
diff --git a/lib/src/widget/close_button.dart b/lib/src/widget/close_button.dart
index f9e087f6..a11c1d65 100644
--- a/lib/src/widget/close_button.dart
+++ b/lib/src/widget/close_button.dart
@@ -1,5 +1,3 @@
-import 'package:flutter/material.dart';
-import 'package:flutter/widgets.dart';
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
class NeumorphicCloseButton extends StatelessWidget {
diff --git a/lib/src/widget/container.dart b/lib/src/widget/container.dart
index 9e1e94fa..10180926 100644
--- a/lib/src/widget/container.dart
+++ b/lib/src/widget/container.dart
@@ -1,13 +1,13 @@
import 'package:flutter/material.dart' as material;
import 'package:flutter/widgets.dart';
-import '../neumorphic_box_shape.dart';
import '../decoration/neumorphic_decorations.dart';
+import '../neumorphic_box_shape.dart';
import '../theme/neumorphic_theme.dart';
import 'clipper/neumorphic_box_shape_clipper.dart';
-export '../neumorphic_box_shape.dart';
export '../decoration/neumorphic_decorations.dart';
+export '../neumorphic_box_shape.dart';
export '../theme/neumorphic_theme.dart';
/// The main container of the Neumorphic UI KIT
@@ -118,7 +118,7 @@ class _NeumorphicContainer extends StatelessWidget {
final shape = this.style.boxShape ?? NeumorphicBoxShape.rect();
return DefaultTextStyle(
- style: this.textStyle ?? material.Theme.of(context).textTheme.bodyText2!,
+ style: this.textStyle ?? material.Theme.of(context).textTheme.bodyMedium!,
child: AnimatedContainer(
margin: this.margin,
duration: this.duration,
diff --git a/lib/src/widget/icon.dart b/lib/src/widget/icon.dart
index 507af0cd..33afbbe5 100644
--- a/lib/src/widget/icon.dart
+++ b/lib/src/widget/icon.dart
@@ -1,7 +1,4 @@
-import 'package:flutter/widgets.dart';
-
import '../../flutter_neumorphic.dart';
-import '../theme/neumorphic_theme.dart';
export '../decoration/neumorphic_decorations.dart';
export '../neumorphic_box_shape.dart';
diff --git a/lib/src/widget/indicator.dart b/lib/src/widget/indicator.dart
index 35e43d2f..a28cea95 100644
--- a/lib/src/widget/indicator.dart
+++ b/lib/src/widget/indicator.dart
@@ -1,5 +1,3 @@
-import 'dart:ui';
-
import 'package:flutter/widgets.dart';
import 'container.dart';
diff --git a/lib/src/widget/progress.dart b/lib/src/widget/progress.dart
index c5e00de6..551251b6 100644
--- a/lib/src/widget/progress.dart
+++ b/lib/src/widget/progress.dart
@@ -1,5 +1,3 @@
-import 'dart:ui';
-
import 'package:flutter/widgets.dart';
import 'container.dart';
diff --git a/lib/src/widget/radio.dart b/lib/src/widget/radio.dart
index f2fc0ab5..20a8e4b0 100644
--- a/lib/src/widget/radio.dart
+++ b/lib/src/widget/radio.dart
@@ -1,7 +1,5 @@
import 'package:flutter/widgets.dart';
-import '../neumorphic_box_shape.dart';
-import '../theme/neumorphic_theme.dart';
import 'button.dart';
import 'container.dart';
diff --git a/lib/src/widget/range_slider.dart b/lib/src/widget/range_slider.dart
index 2c8a718b..79d363ee 100644
--- a/lib/src/widget/range_slider.dart
+++ b/lib/src/widget/range_slider.dart
@@ -1,10 +1,5 @@
-import 'package:flutter/rendering.dart';
-import 'package:flutter/widgets.dart';
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
-import 'container.dart';
-import 'progress.dart';
-
typedef void NeumorphicRangeSliderLowListener(double percent);
typedef void NeumorphicRangeSliderHighListener(double percent);
diff --git a/lib/src/widget/slider.dart b/lib/src/widget/slider.dart
index 4e5a5eed..45abac72 100644
--- a/lib/src/widget/slider.dart
+++ b/lib/src/widget/slider.dart
@@ -1,9 +1,5 @@
-import 'package:flutter/widgets.dart';
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
-import 'container.dart';
-import 'progress.dart';
-
typedef void NeumorphicSliderListener(double percent);
/// A style to customize the [NeumorphicSlider]
diff --git a/lib/src/widget/switch.dart b/lib/src/widget/switch.dart
index 25cb6824..56614d3e 100644
--- a/lib/src/widget/switch.dart
+++ b/lib/src/widget/switch.dart
@@ -1,11 +1,7 @@
-import 'package:flutter/widgets.dart';
import 'package:flutter_neumorphic/src/widget/animation/animated_scale.dart'
as animationScale;
import '../../flutter_neumorphic.dart';
-import '../neumorphic_box_shape.dart';
-import '../theme/neumorphic_theme.dart';
-import 'container.dart';
/// A style to customize the [NeumorphicSwitch]
///
diff --git a/lib/src/widget/text.dart b/lib/src/widget/text.dart
index bc7765fd..573b93f9 100644
--- a/lib/src/widget/text.dart
+++ b/lib/src/widget/text.dart
@@ -1,11 +1,9 @@
import 'dart:ui' as ui show FontFeature;
import 'package:flutter/material.dart' as material;
-import 'package:flutter/widgets.dart';
import 'package:flutter_neumorphic/src/decoration/neumorphic_text_decorations.dart';
import '../../flutter_neumorphic.dart';
-import '../theme/neumorphic_theme.dart';
export '../decoration/neumorphic_decorations.dart';
export '../neumorphic_box_shape.dart';
diff --git a/lib/src/widget/toggle.dart b/lib/src/widget/toggle.dart
index cfb560e0..620282c4 100644
--- a/lib/src/widget/toggle.dart
+++ b/lib/src/widget/toggle.dart
@@ -1,11 +1,5 @@
-import 'package:flutter/material.dart';
-import 'package:flutter/widgets.dart';
import 'package:flutter_neumorphic/flutter_neumorphic.dart';
-import '../neumorphic_box_shape.dart';
-import '../theme/neumorphic_theme.dart';
-import 'container.dart';
-
class NeumorphicToggleStyle {
final double? depth;
final bool? disableDepth;
diff --git a/pubspec.yaml b/pubspec.yaml
index 5044f0f8..66c31db0 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -10,8 +10,8 @@ homepage: https://github.com/Idean/Flutter-Neumorphic
issue_tracker: https://github.com/Idean/Flutter-Neumorphic/issues
environment:
- sdk: ">=2.12.0 <3.0.0"
- flutter: ">=1.13.18"
+ sdk: '>=3.2.6 <4.0.0'
+ flutter: '>=1.13.18'
dependencies:
flutter:
@@ -23,6 +23,6 @@ dev_dependencies:
flutter:
fonts:
- - family: NeumorphicIcons
- fonts:
- - asset: fonts/NeumorphicIcons.ttf
\ No newline at end of file
+ - family: NeumorphicIcons
+ fonts:
+ - asset: fonts/NeumorphicIcons.ttf