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