Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions .github/release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
changelog:
exclude:
labels:
- skip-changelog
- duplicate
authors:
- dependabot
categories:
- title: 🚀 New Features
labels:
- feat
- enh
- title: 🐛 Bug Fixes
labels:
- bug
- fix
- title: 📖 Documentation
labels:
- docs
- title: 🧹 Maintenance
labels:
- perf
- deps
- title: Other Changes
labels:
- "*"
31 changes: 29 additions & 2 deletions .github/workflows/publish.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -79,15 +79,42 @@ jobs:
git push origin $NEW_TAG
git push --delete origin $TAG_NAME


create-release:
runs-on: ubuntu-latest
needs: deploy-dart
if: success()

steps:
- name: Checkout
uses: actions/checkout@v6
with:
fetch-depth: 0

- name: Get previous tag
id: previousTag
run: |
name=$(git --no-pager tag --sort=creatordate --merged ${{ github.ref_name }} | tail -2 | head -1)
echo "previousTag=$name" >> $GITHUB_OUTPUT

- name: Generate Changelog
id: changelog
uses: requarks/changelog-action@v1
with:
token: ${{ github.token }}
fromTag: ${{ github.ref_name }}
toTag: ${{ steps.previousTag.outputs.previousTag }}
writeToFile: false
excludeTypes: chore,style

- name: Create GitHub Release
if: success()
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ github.ref_name }}
name: Release ${{ github.ref_name }}
body: ${{ steps.changelog.outputs.changes }}
draft: false
prerelease: false
generate_release_notes: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Expand Down
2 changes: 1 addition & 1 deletion example/lib/router.dart
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ final goRoutes = [
];

final router = GoRouter(
initialLocation: kDebugMode ? '/inputs/text' : '/',
initialLocation: kDebugMode ? '/map/layer' : '/',
errorPageBuilder: (context, state) => customTransitionBuilder(context, state, const NotFoundView()),
routes: goRoutes,
);
1 change: 1 addition & 0 deletions example/lib/views/map/src/layer.dart
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,7 @@ class _MapLayerViewState extends State<MapLayerView> with TickerProviderStateMix
layer: selectedLayer,
controller: _controller,
),

// MarkerLayer(
// markers: [
// Marker(
Expand Down
10 changes: 10 additions & 0 deletions lib/src/inputs/src/general/password_input.dart
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,14 @@ class ThemedPasswordInput extends StatefulWidget {
/// The progress indicator will fill up to 25% for each requirement met and for each level reached.
final bool showLevels;

/// [autofillHints] is the list of autofill hints for the input.
///
/// By default uses [AutofillHints.newPassword] and [AutofillHints.password] to allow the browser
/// to suggest strong passwords and to recognize the field as a password input
/// for autofill purposes. However, ideally you should use [AutofillHints.newPassword] for password
/// creation fields and [AutofillHints.password] for password update fields
final List<String> autofillHints;

/// [ThemedPasswordInput] is the constructor of the input.
/// Simplifies (I hope so) the creation of an input using the standard format of Layrz.
const ThemedPasswordInput({
Expand All @@ -68,6 +76,7 @@ class ThemedPasswordInput extends StatefulWidget {
this.focusNode,
this.controller,
this.showLevels = true,
this.autofillHints = const [AutofillHints.newPassword, AutofillHints.password],
}) : assert(
(label == null && labelText != null) || (label != null && labelText == null),
'You must provide either a labelText or a label, but not both.',
Expand Down Expand Up @@ -167,6 +176,7 @@ class _ThemedPasswordInputState extends State<ThemedPasswordInput> {
padding: widget.padding,
isRequired: widget.isRequired,
obscureText: !_showPassword,
autofillHints: widget.autofillHints,
suffixWidget: Row(
mainAxisAlignment: .center,
crossAxisAlignment: .center,
Expand Down