From 8299f879750d3412fe0e597db5df259db200b076 Mon Sep 17 00:00:00 2001 From: dab246 Date: Wed, 13 Sep 2023 14:59:31 +0700 Subject: [PATCH] Enable border for tab layout tab --- lib/tag_editor.dart | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/lib/tag_editor.dart b/lib/tag_editor.dart index bcae3ba..f462431 100644 --- a/lib/tag_editor.dart +++ b/lib/tag_editor.dart @@ -84,6 +84,7 @@ class TagEditor extends StatefulWidget { this.itemHighlightColor, this.useDefaultHighlight = true, this.enableFocusAfterEnter = true, + this.enableBorder = false, this.onSelectOptionAction}) : super(key: key); @@ -131,6 +132,9 @@ class TagEditor extends StatefulWidget { final OnDeleteTagAction? onDeleteTagAction; final OnFocusTagAction? onFocusTagAction; + /// Enable border layout tab + final bool enableBorder; + /// [TextField]'s properties. /// /// Please refer to [TextField] documentation. @@ -617,16 +621,22 @@ class TagsEditorState extends State> { )) : widget.inputDecoration; + final borderSize = + widget.borderSize ?? ((_isFocused || widget.enableBorder) ? 1 : 0.5); + var borderColor = Colors.transparent; + if (widget.enableBorder) { + borderColor = widget.enableBorderColor ?? Colors.transparent; + } + if (_isFocused) { + borderColor = widget.focusedBorderColor ?? Colors.transparent; + } + final borderRadius = widget.borderRadius ?? 0; + final tagEditorArea = Container( padding: widget.padding ?? EdgeInsets.zero, decoration: BoxDecoration( - borderRadius: - BorderRadius.all(Radius.circular(widget.borderRadius ?? 0)), - border: Border.all( - width: widget.borderSize ?? (_isFocused ? 1 : 0.5), - color: _isFocused - ? widget.focusedBorderColor ?? Colors.transparent - : widget.enableBorderColor ?? Colors.transparent), + borderRadius: BorderRadius.all(Radius.circular(borderRadius)), + border: Border.all(width: borderSize, color: borderColor), color: widget.backgroundColor ?? Colors.transparent), child: TagLayout( delegate: TagEditorLayoutDelegate(