liqkit_ui
Inputs

Number Field

LiqNumberField is a numeric text field with optional ± stepper buttons flanking the input. Useful for quantity inputs (cart items), settings values, or anywhere a number is required. Values are clamped to [min, max] and the parent receives the parsed num via onChanged.

Default

// ignore_for_file: file_names // hyphenated name required by snippet manifest conventionimport '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 numberFieldDefaultBuilder(BuildContext context) {  return SnippetFrame(    child: LiqDemo<num>(      initial: 1,      builder:          (n, set) =>          LiqNumberField(value: n, onChanged: set, max: 99),    ),  );}

With Suffix

// ignore_for_file: file_names // hyphenated name required by snippet manifest conventionimport '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 numberFieldWithSuffixBuilder(BuildContext context) {  return SnippetFrame(    child: LiqDemo<num>(      initial: 1,      builder:          (n, set) =>          LiqNumberField(            value: n,            onChanged: set,            max: 99,            step: 0.5,            suffix: ' kg',          ),    ),  );}

No Buttons

// ignore_for_file: file_names // hyphenated name required by snippet manifest conventionimport '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 numberFieldNoButtonsBuilder(BuildContext context) {  return SnippetFrame(    maxWidth: 240,    child: LiqDemo<num>(      initial: 1,      builder:          (n, set) =>          LiqNumberField(value: n, onChanged: set, max: 99, showButtons: false),    ),  );}