liqkit_ui
Decoration

App Icons

LiqAppIcon renders a 66pt squircle tile (14pt corner radius) with an optional glyph centered inside. Use LiqAppIconBadge to overlay a red notification count at the top-right, and the label parameter to show a caption below the tile.

ParameterDescription
sizeTile dimension in logical pixels (default 66)
colorSolid background color
gradientOptional vertical gradient (overrides color)
glyphWidget centered inside the tile
badgeOptional LiqAppIconBadge widget
labelCaption string shown beneath the tile

Default

// ignore_for_file: file_names // hyphenated name required by snippet manifest conventionimport '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 appIconDefaultBuilder(BuildContext context) {  return const SnippetFrame(    maxWidth: 140,    child: LiqAppIcon(color: Color(0xFF007AFF)),  );}

With Badge

// ignore_for_file: file_names // hyphenated name required by snippet manifest conventionimport '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 appIconWithBadgeBuilder(BuildContext context) {  return const SnippetFrame(    maxWidth: 140,    child: LiqAppIcon(      color: Color(0xFF34C759),      badge: LiqAppIconBadge(count: 3),    ),  );}

With Caption

// ignore_for_file: file_names // hyphenated name required by snippet manifest conventionimport '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 appIconWithCaptionBuilder(BuildContext context) {  return const SnippetFrame(    maxWidth: 140,    child: LiqAppIcon(color: Color(0xFFFF9500), label: 'Messages'),  );}

Single

// ignore_for_file: file_namesimport 'package:docs_snippets/src/snippet_frame.dart';import 'package:flutter/widgets.dart';import 'package:liqkit_ui/examples.dart';Widget appIconSingleBuilder(BuildContext context) {  return const SnippetFrame(child: AppIconSingleExample());}

Sizes

// ignore_for_file: file_namesimport 'package:docs_snippets/src/snippet_frame.dart';import 'package:flutter/widgets.dart';import 'package:liqkit_ui/examples.dart';Widget appIconSizesBuilder(BuildContext context) {  return const SnippetFrame(child: AppIconSizesExample());}

Grid

// ignore_for_file: file_namesimport 'package:docs_snippets/src/snippet_frame.dart';import 'package:flutter/widgets.dart';import 'package:liqkit_ui/examples.dart';Widget appIconGridBuilder(BuildContext context) {  return const SnippetFrame(child: AppIconGridExample());}

Folders

// ignore_for_file: file_namesimport 'package:docs_snippets/src/snippet_frame.dart';import 'package:flutter/widgets.dart';import 'package:liqkit_ui/examples.dart';Widget appIconFoldersBuilder(BuildContext context) {  return const SnippetFrame(child: AppIconFoldersExample());}

Dock

// ignore_for_file: file_namesimport 'package:docs_snippets/src/snippet_frame.dart';import 'package:flutter/widgets.dart';import 'package:liqkit_ui/examples.dart';Widget appIconDockBuilder(BuildContext context) {  return const SnippetFrame(child: AppIconDockExample());}

Custom Colors

// ignore_for_file: file_namesimport 'package:docs_snippets/src/snippet_frame.dart';import 'package:flutter/widgets.dart';import 'package:liqkit_ui/examples.dart';Widget appIconCustomColorsBuilder(BuildContext context) {  return const SnippetFrame(child: AppIconCustomColorsExample());}