Add ADOutlinedTextField

This commit is contained in:
Ashita Prasad
2024-12-09 03:35:35 +05:30
parent d1c4234dfd
commit 66f81a9a34
5 changed files with 81 additions and 58 deletions

View File

@ -1,54 +0,0 @@
import 'package:apidash_design_system/apidash_design_system.dart';
import 'package:flutter/material.dart';
class OutlinedField extends StatelessWidget {
const OutlinedField({
super.key,
this.keyId,
this.initialValue,
this.hintText,
this.onChanged,
this.colorScheme,
});
final String? keyId;
final String? initialValue;
final String? hintText;
final void Function(String)? onChanged;
final ColorScheme? colorScheme;
@override
Widget build(BuildContext context) {
var clrScheme = colorScheme ?? Theme.of(context).colorScheme;
return TextFormField(
key: keyId != null ? Key(keyId!) : null,
initialValue: initialValue,
style: kCodeStyle.copyWith(
color: clrScheme.onSurface,
),
decoration: InputDecoration(
hintStyle: kCodeStyle.copyWith(
color: clrScheme.outline.withOpacity(
kHintOpacity,
),
),
hintText: hintText,
contentPadding: kP10,
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(
color: clrScheme.primary.withOpacity(
kHintOpacity,
),
),
),
enabledBorder: OutlineInputBorder(
borderSide: BorderSide(
color: clrScheme.surfaceContainerHighest,
),
),
isDense: true,
),
onChanged: onChanged,
);
}
}

View File

@ -32,7 +32,6 @@ export 'field_cell_obscurable.dart';
export 'field_cell.dart';
export 'field_header.dart';
export 'field_json_search.dart';
export 'field_outlined.dart';
export 'field_raw.dart';
export 'field_read_only.dart';
export 'field_url.dart';

View File

@ -4,7 +4,6 @@ import 'package:flutter/material.dart';
import 'package:file_selector/file_selector.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:path/path.dart' as p;
import 'field_outlined.dart';
class WorkspaceSelector extends HookWidget {
const WorkspaceSelector({
@ -85,12 +84,12 @@ class WorkspaceSelector extends HookWidget {
],
),
kVSpacer5,
OutlinedField(
ADOutlinedTextField(
keyId: "workspace-name",
onChanged: (value) {
workspaceName.value = value.trim();
},
colorScheme: Theme.of(context).colorScheme,
isDense: true,
),
kVSpacer40,
Row(

View File

@ -0,0 +1,78 @@
import 'package:flutter/material.dart';
import '../consts.dart';
class ADOutlinedTextField extends StatelessWidget {
const ADOutlinedTextField({
super.key,
this.keyId,
this.initialValue,
this.textStyle,
this.textColor,
this.hintText,
this.hintTextStyle,
this.hintTextColor,
this.contentPadding,
this.fillColor,
this.focussedBorderColor,
this.enabledBorderColor,
this.isDense,
this.onChanged,
this.colorScheme,
});
final String? keyId;
final String? initialValue;
final TextStyle? textStyle;
final Color? textColor;
final String? hintText;
final TextStyle? hintTextStyle;
final Color? hintTextColor;
final EdgeInsetsGeometry? contentPadding;
final Color? fillColor;
final Color? focussedBorderColor;
final Color? enabledBorderColor;
final bool? isDense;
final void Function(String)? onChanged;
final ColorScheme? colorScheme;
@override
Widget build(BuildContext context) {
var clrScheme = colorScheme ?? Theme.of(context).colorScheme;
return TextFormField(
key: keyId != null ? Key(keyId!) : null,
initialValue: initialValue,
style: textStyle ??
kCodeStyle.copyWith(
color: textColor ?? clrScheme.onSurface,
),
decoration: InputDecoration(
filled: true,
fillColor: fillColor ?? clrScheme.surfaceContainerLowest,
hintStyle: hintTextStyle ??
kCodeStyle.copyWith(
color: hintTextColor ??
clrScheme.outline.withOpacity(
kHintOpacity,
),
),
hintText: hintText,
contentPadding: contentPadding ?? kP10,
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(
color: focussedBorderColor ??
clrScheme.primary.withOpacity(
kHintOpacity,
),
),
),
enabledBorder: OutlineInputBorder(
borderSide: BorderSide(
color: enabledBorderColor ?? clrScheme.surfaceContainerHighest,
),
),
isDense: isDense,
),
onChanged: onChanged,
);
}
}

View File

@ -1 +1,2 @@
export 'dropdown.dart';
export 'textfield_outlined.dart';