Inputs
Buttons
LiqButton is the primary tap target in liqkit_ui. It comes in a few
visually distinct styles to match iOS 26 Human Interface Guidelines.
Regular
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 buttonRegularBuilder(BuildContext context) { return SnippetFrame(child: LiqButton(label: 'Regular', onPressed: () {}));}
Glass
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 buttonGlassBuilder(BuildContext context) { return SnippetFrame( maxWidth: 560, height: 172, surface: SnippetFrameSurface.liquidThemed, child: LiqButton( label: 'Glass', style: LiqButtonStyle.liquid, onPressed: () {}, ), );}
Destructive
// ignore_for_file: file_namesimport 'package:docs_snippets/src/snippet_frame.dart';import 'package:flutter/widgets.dart';import 'package:liqkit_ui/examples.dart';Widget buttonDestructiveBuilder(BuildContext context) { return const SnippetFrame(child: ButtonDestructiveExample());}
Primary
// ignore_for_file: file_namesimport 'package:docs_snippets/src/snippet_frame.dart';import 'package:flutter/widgets.dart';import 'package:liqkit_ui/examples.dart';Widget buttonPrimaryBuilder(BuildContext context) { return const SnippetFrame(child: ButtonPrimaryExample());}
Secondary
// ignore_for_file: file_namesimport 'package:docs_snippets/src/snippet_frame.dart';import 'package:flutter/widgets.dart';import 'package:liqkit_ui/examples.dart';Widget buttonSecondaryBuilder(BuildContext context) { return const SnippetFrame(child: ButtonSecondaryExample());}
Ghost
// ignore_for_file: file_namesimport 'package:docs_snippets/src/snippet_frame.dart';import 'package:flutter/widgets.dart';import 'package:liqkit_ui/examples.dart';Widget buttonGhostBuilder(BuildContext context) { return const SnippetFrame(child: ButtonGhostExample());}
With Icons
// ignore_for_file: file_namesimport 'package:docs_snippets/src/snippet_frame.dart';import 'package:flutter/widgets.dart';import 'package:liqkit_ui/examples.dart';Widget buttonWithIconsBuilder(BuildContext context) { return const SnippetFrame(child: ButtonWithIconsExample());}
Icon
// ignore_for_file: file_namesimport 'package:docs_snippets/src/snippet_frame.dart';import 'package:flutter/widgets.dart';import 'package:liqkit_ui/examples.dart';Widget buttonIconBuilder(BuildContext context) { return const SnippetFrame(child: ButtonIconExample());}
Custom Width
// ignore_for_file: file_namesimport 'package:docs_snippets/src/snippet_frame.dart';import 'package:flutter/widgets.dart';import 'package:liqkit_ui/examples.dart';Widget buttonCustomWidthBuilder(BuildContext context) { return const SnippetFrame(child: ButtonCustomWidthExample());}
Long Press
// ignore_for_file: file_namesimport 'package:docs_snippets/src/snippet_frame.dart';import 'package:flutter/widgets.dart';import 'package:liqkit_ui/examples.dart';Widget buttonLongPressBuilder(BuildContext context) { return const SnippetFrame(child: ButtonLongPressExample());}
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 buttonStatesBuilder(BuildContext context) { return const SnippetFrame(child: ButtonStatesExample());}
Custom Content
// ignore_for_file: file_namesimport 'package:docs_snippets/src/snippet_frame.dart';import 'package:flutter/widgets.dart';import 'package:liqkit_ui/examples.dart';Widget buttonCustomContentBuilder(BuildContext context) { return const SnippetFrame(child: ButtonCustomContentExample());}