feat: added spacers before and after form

This commit is contained in:
Freek van de Ven 2023-07-27 14:04:40 +02:00
parent 44096e8c04
commit 1f45ca9b85
5 changed files with 37 additions and 20 deletions

View file

@ -1,3 +1,6 @@
## 4.2.0
* Option for spacers add the start and end of the form
## 4.1.1 ## 4.1.1
* Export default LoginValidationService * Export default LoginValidationService

View file

@ -5,10 +5,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: async name: async
sha256: bfe67ef28df125b7dddcea62755991f807aa39a2492a23e1550161692950bbe0 sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.10.0" version: "2.11.0"
boolean_selector: boolean_selector:
dependency: transitive dependency: transitive
description: description:
@ -21,10 +21,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: characters name: characters
sha256: e6a326c8af69605aec75ed6c187d06b349707a27fbff8222ca9cc2cff167975c sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.2.1" version: "1.3.0"
clock: clock:
dependency: transitive dependency: transitive
description: description:
@ -37,10 +37,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: collection name: collection
sha256: cfc915e6923fe5ce6e153b0723c753045de46de1b4d63771530504004a45fae0 sha256: "4a07be6cb69c84d677a6c3096fcf960cc3285a8330b4603e0d463d15d9bd934c"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.17.0" version: "1.17.1"
fake_async: fake_async:
dependency: transitive dependency: transitive
description: description:
@ -68,7 +68,7 @@ packages:
path: ".." path: ".."
relative: true relative: true
source: path source: path
version: "4.1.0" version: "4.2.0"
flutter_test: flutter_test:
dependency: "direct dev" dependency: "direct dev"
description: flutter description: flutter
@ -83,10 +83,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: js name: js
sha256: "5528c2f391ededb7775ec1daa69e65a2d61276f7552de2b5f7b8d34ee9fd4ab7" sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.6.5" version: "0.6.7"
lints: lints:
dependency: transitive dependency: transitive
description: description:
@ -99,10 +99,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: matcher name: matcher
sha256: "16db949ceee371e9b99d22f88fa3a73c4e59fd0afed0bd25fc336eb76c198b72" sha256: "6501fbd55da300384b768785b83e5ce66991266cec21af89ab9ae7f5ce1c4cbb"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.12.13" version: "0.12.15"
material_color_utilities: material_color_utilities:
dependency: transitive dependency: transitive
description: description:
@ -115,18 +115,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: meta name: meta
sha256: "6c268b42ed578a53088d834796959e4a1814b5e9e164f147f580a386e5decf42" sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.8.0" version: "1.9.1"
path: path:
dependency: transitive dependency: transitive
description: description:
name: path name: path
sha256: db9d4f58c908a4ba5953fcee2ae317c94889433e5024c27ce74a37f94267945b sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.8.2" version: "1.8.3"
pinput: pinput:
dependency: transitive dependency: transitive
description: description:
@ -192,10 +192,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: test_api name: test_api
sha256: ad540f65f92caa91bf21dfc8ffb8c589d6e4dc0c2267818b4cc2792857706206 sha256: eb6ac1540b26de412b3403a163d919ba86f6a973fe6cc50ae3541b80092fdcfb
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.4.16" version: "0.5.1"
universal_platform: universal_platform:
dependency: transitive dependency: transitive
description: description:
@ -213,5 +213,5 @@ packages:
source: hosted source: hosted
version: "2.1.4" version: "2.1.4"
sdks: sdks:
dart: ">=2.18.1 <3.0.0" dart: ">=3.0.0-0 <4.0.0"
flutter: ">=3.7.0" flutter: ">=3.7.0"

View file

@ -3,13 +3,18 @@ import 'package:flutter/material.dart';
@immutable @immutable
class LoginSpacerOptions { class LoginSpacerOptions {
const LoginSpacerOptions({ const LoginSpacerOptions({
this.spacerBeforeTitle,
this.spacerAfterTitle, this.spacerAfterTitle,
this.spacerAfterSubtitle, this.spacerAfterSubtitle,
this.spacerAfterImage, this.spacerAfterImage,
this.spacerAfterForm, this.spacerAfterForm,
this.spacerAfterButton,
this.formFlexValue = 1, this.formFlexValue = 1,
}); });
/// Flex value for the spacer before the title.
final int? spacerBeforeTitle;
/// Flex value for the spacer between the title and subtitle. /// Flex value for the spacer between the title and subtitle.
final int? spacerAfterTitle; final int? spacerAfterTitle;
@ -22,6 +27,9 @@ class LoginSpacerOptions {
/// Flex value for the spacer between the form and button. /// Flex value for the spacer between the form and button.
final int? spacerAfterForm; final int? spacerAfterForm;
/// Flex value for the spacer after the button.
final int? spacerAfterButton;
/// Flex value for the form. Defaults to 1. Use this when also using the other spacer options. /// Flex value for the form. Defaults to 1. Use this when also using the other spacer options.
final int formFlexValue; final int formFlexValue;
} }

View file

@ -83,6 +83,9 @@ class _EmailPasswordLoginFormState extends State<EmailPasswordLoginForm> {
hasScrollBody: false, hasScrollBody: false,
child: Column( child: Column(
children: [ children: [
if (options.spacers.spacerBeforeTitle != null) ...[
Spacer(flex: options.spacers.spacerBeforeTitle!),
],
if (options.title != null) ...[ if (options.title != null) ...[
const SizedBox( const SizedBox(
height: 60, height: 60,
@ -218,7 +221,10 @@ class _EmailPasswordLoginFormState extends State<EmailPasswordLoginForm> {
() {}, () {},
options, options,
), ),
] ],
if (options.spacers.spacerAfterButton != null) ...[
Spacer(flex: options.spacers.spacerAfterButton!),
],
], ],
), ),
), ),

View file

@ -1,6 +1,6 @@
name: flutter_login name: flutter_login
description: Flutter Login Component description: Flutter Login Component
version: 4.1.1 version: 4.2.0
environment: environment:
sdk: ">=2.18.1 <3.0.0" sdk: ">=2.18.1 <3.0.0"