liqkit_ui
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());}
// 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());}