Inputs
Text Fields
LiqTextField is the iOS 26 single-line text input. It requires a
TextEditingController and supports placeholder text, password masking,
and a disabled (read-only) mode.
Empty
import 'package:docs_snippets/src/snippet_frame.dart';import 'package:flutter/widgets.dart';import 'package:liqkit_ui/liqkit_ui.dart';/// Snippet builder consumed by `apps/docs_snippets/lib/src/routes.g.dart`.Widget textFieldEmptyBuilder(BuildContext context) { return SnippetFrame(child: _TextFieldEmptyExample());}class _TextFieldEmptyExample extends StatefulWidget { @override State<_TextFieldEmptyExample> createState() => _TextFieldEmptyExampleState();}class _TextFieldEmptyExampleState extends State<_TextFieldEmptyExample> { final TextEditingController _controller = TextEditingController(); @override void dispose() { _controller.dispose(); super.dispose(); } @override Widget build(BuildContext context) { return LiqTextField(controller: _controller, placeholder: 'Placeholder'); }}
Filled
import 'package:docs_snippets/src/snippet_frame.dart';import 'package:flutter/widgets.dart';import 'package:liqkit_ui/liqkit_ui.dart';/// Snippet builder consumed by `apps/docs_snippets/lib/src/routes.g.dart`.Widget textFieldFilledBuilder(BuildContext context) { return SnippetFrame(child: _TextFieldFilledExample());}class _TextFieldFilledExample extends StatefulWidget { @override State<_TextFieldFilledExample> createState() => _TextFieldFilledExampleState();}class _TextFieldFilledExampleState extends State<_TextFieldFilledExample> { final TextEditingController _controller = TextEditingController( text: 'Hello, World!', ); @override void dispose() { _controller.dispose(); super.dispose(); } @override Widget build(BuildContext context) { return LiqTextField(controller: _controller, placeholder: 'Placeholder'); }}
Obscured
import 'package:docs_snippets/src/snippet_frame.dart';import 'package:flutter/widgets.dart';import 'package:liqkit_ui/liqkit_ui.dart';/// Snippet builder consumed by `apps/docs_snippets/lib/src/routes.g.dart`.Widget textFieldObscuredBuilder(BuildContext context) { return SnippetFrame(child: _TextFieldObscuredExample());}class _TextFieldObscuredExample extends StatefulWidget { @override State<_TextFieldObscuredExample> createState() => _TextFieldObscuredExampleState();}class _TextFieldObscuredExampleState extends State<_TextFieldObscuredExample> { final TextEditingController _controller = TextEditingController( text: 'password123', ); @override void dispose() { _controller.dispose(); super.dispose(); } @override Widget build(BuildContext context) { return LiqTextField( controller: _controller, placeholder: 'Password', obscureText: true, ); }}
Disabled
import 'package:docs_snippets/src/snippet_frame.dart';import 'package:flutter/widgets.dart';import 'package:liqkit_ui/liqkit_ui.dart';/// Snippet builder consumed by `apps/docs_snippets/lib/src/routes.g.dart`.Widget textFieldDisabledBuilder(BuildContext context) { return SnippetFrame(child: _TextFieldDisabledExample());}class _TextFieldDisabledExample extends StatefulWidget { @override State<_TextFieldDisabledExample> createState() => _TextFieldDisabledExampleState();}class _TextFieldDisabledExampleState extends State<_TextFieldDisabledExample> { final TextEditingController _controller = TextEditingController( text: 'Read only', ); @override void dispose() { _controller.dispose(); super.dispose(); } @override Widget build(BuildContext context) { return LiqTextField( controller: _controller, placeholder: 'Placeholder', enabled: false, ); }}
Surface Variants
// ignore_for_file: file_namesimport 'package:docs_snippets/src/snippet_frame.dart';import 'package:flutter/widgets.dart';import 'package:liqkit_ui/examples.dart';Widget textFieldSurfaceVariantsBuilder(BuildContext context) { return const SnippetFrame(child: TextFieldSurfaceVariantsExample());}
Basic
// ignore_for_file: file_namesimport 'package:docs_snippets/src/snippet_frame.dart';import 'package:flutter/widgets.dart';import 'package:liqkit_ui/examples.dart';Widget textFieldBasicBuilder(BuildContext context) { return const SnippetFrame(child: TextFieldBasicExample());}
Form Fields
// ignore_for_file: file_namesimport 'package:docs_snippets/src/snippet_frame.dart';import 'package:flutter/widgets.dart';import 'package:liqkit_ui/examples.dart';Widget textFieldFormFieldsBuilder(BuildContext context) { return const SnippetFrame(child: TextFieldFormFieldsExample());}
Search
// ignore_for_file: file_namesimport 'package:docs_snippets/src/snippet_frame.dart';import 'package:flutter/widgets.dart';import 'package:liqkit_ui/examples.dart';Widget textFieldSearchBuilder(BuildContext context) { return const SnippetFrame(child: TextFieldSearchExample());}
Secure
// ignore_for_file: file_namesimport 'package:docs_snippets/src/snippet_frame.dart';import 'package:flutter/widgets.dart';import 'package:liqkit_ui/examples.dart';Widget textFieldSecureBuilder(BuildContext context) { return const SnippetFrame(child: TextFieldSecureExample());}
Multiline
// ignore_for_file: file_namesimport 'package:docs_snippets/src/snippet_frame.dart';import 'package:flutter/widgets.dart';import 'package:liqkit_ui/examples.dart';Widget textFieldMultilineBuilder(BuildContext context) { return const SnippetFrame(child: TextFieldMultilineExample());}
Custom Styled
// ignore_for_file: file_namesimport 'package:docs_snippets/src/snippet_frame.dart';import 'package:flutter/widgets.dart';import 'package:liqkit_ui/examples.dart';Widget textFieldCustomStyledBuilder(BuildContext context) { return const SnippetFrame(child: TextFieldCustomStyledExample());}
Validation
// ignore_for_file: file_namesimport 'package:docs_snippets/src/snippet_frame.dart';import 'package:flutter/widgets.dart';import 'package:liqkit_ui/examples.dart';Widget textFieldValidationBuilder(BuildContext context) { return const SnippetFrame(child: TextFieldValidationExample());}
Input Formatters
// ignore_for_file: file_namesimport 'package:docs_snippets/src/snippet_frame.dart';import 'package:flutter/widgets.dart';import 'package:liqkit_ui/examples.dart';Widget textFieldInputFormattersBuilder(BuildContext context) { return const SnippetFrame(child: TextFieldInputFormattersExample());}
States
// ignore_for_file: file_namesimport 'package:docs_snippets/src/snippet_frame.dart';import 'package:flutter/widgets.dart';import 'package:liqkit_ui/examples.dart';Widget textFieldStatesBuilder(BuildContext context) { return const SnippetFrame(child: TextFieldStatesExample());}