Inputs
Chip
LiqChip is an interactive tag pill. It can render in a selected state
(filled blue), accept taps via onPressed, and carry an inline delete
affordance via onDeleted. Use it for tag inputs, filter pills, and
multi-select facets. For read-only counters or status indicators, reach
for LiqBadge instead.
Single
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 chipSingleBuilder(BuildContext context) { return const SnippetFrame( child: Wrap( spacing: 6, runSpacing: 8, children: <Widget>[ LiqChip(label: 'flutter', onPressed: _noop), LiqChip(label: 'dart', selected: true, onPressed: _noop), LiqChip(label: 'ios', onPressed: _noop), ], ), );}void _noop() {}
Group
import 'package:docs_snippets/src/demo.dart';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 chipGroupBuilder(BuildContext context) { return SnippetFrame( child: LiqDemo<Set<String>>( initial: const <String>{'flutter'}, builder: (selected, set) => LiqChipGroup( chips: const <String>['flutter', 'dart', 'ios', 'swift', 'rust'] .map( (tag) => LiqChip( label: tag, selected: selected.contains(tag), onPressed: () { final next = Set<String>.from(selected); if (next.contains(tag)) { next.remove(tag); } else { next.add(tag); } set(next); }, ), ) .toList(), ), ), );}
Dismissible
import 'package:docs_snippets/src/demo.dart';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 chipDismissibleBuilder(BuildContext context) { return SnippetFrame( child: LiqDemo<List<String>>( initial: const <String>['Design', 'Code', 'Ship'], builder: (tags, set) => Wrap( spacing: 6, runSpacing: 8, children: tags .map( (t) => LiqChip( label: t, onDeleted: () { final next = List<String>.from(tags)..remove(t); set(next); }, ), ) .toList(), ), ), );}