Inputs
Checkbox
Cross-platform extension. iOS 26 patterns this differently — Settings, Reminders and the system selection UI all use tinted-circle checkmarks rendered inside list rows (see
LiqList), not classic squares. This component ships the more familiar shadcn/ui / forui.dev square checkbox for cross-library parity, dressed in iOS 26 visual language (Liquid Glass surfaces, San Francisco type, iOS color palette) so it composes cleanly with the rest of the library.
LiqCheckbox is the iOS 26 checkbox. It is a 22pt squircle that
animates between unchecked, checked, and indeterminate states. The
visible box sits inside a 44pt tap target for comfortable hit testing
and renders at 40% opacity when disabled.
Unchecked
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 checkboxUncheckedBuilder(BuildContext context) { return SnippetFrame( child: LiqDemo<LiqCheckboxState>( initial: LiqCheckboxState.unchecked, builder: (v, set) { return LiqCheckbox(value: v, onChanged: set); }, ), );}
Checked
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 checkboxCheckedBuilder(BuildContext context) { return SnippetFrame( child: LiqDemo<LiqCheckboxState>( initial: LiqCheckboxState.checked, builder: (v, set) { return LiqCheckbox(value: v, onChanged: set); }, ), );}
Indeterminate
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 checkboxIndeterminateBuilder(BuildContext context) { return SnippetFrame( child: LiqDemo<LiqCheckboxState>( initial: LiqCheckboxState.indeterminate, builder: (v, set) { return LiqCheckbox(value: v, onChanged: set); }, ), );}