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