liqkit_ui
Containers

Menu

LiqMenu renders a 286pt translucent rounded panel of LiqMenuItem rows. Sections can be delineated with LiqMenuSectionTitle and LiqMenuSeparator.

Default

import 'package:docs_snippets/src/snippet_frame.dart';import 'package:flutter/material.dart' show Icon, Icons;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 menuDefaultBuilder(BuildContext context) {  return SnippetFrame(    maxWidth: 380,    height: 560,    surface: SnippetFrameSurface.liquidThemed,    child: LiqMenu(      quickActions: <LiqMenuQuickAction>[        LiqMenuQuickAction(          label: 'Copy',          icon: const Icon(Icons.content_copy_rounded, size: 18),          onPressed: () {},        ),        LiqMenuQuickAction(          label: 'Share',          icon: const Icon(Icons.ios_share_rounded, size: 18),          onPressed: () {},        ),        LiqMenuQuickAction(          label: 'Delete',          icon: const Icon(Icons.delete_outline_rounded, size: 18),          destructive: true,          onPressed: () {},        ),      ],      children: <Widget>[        LiqMenuItem(          label: 'Copy',          icon: const Icon(Icons.content_copy_rounded),          trailing: const Text('Cmd C'),          onPressed: () {},        ),        LiqMenuItem(          label: 'Paste',          icon: const Icon(Icons.content_paste_rounded),          trailing: const Text('Cmd V'),          onPressed: () {},        ),        const LiqMenuItem(          label: 'Disabled Action',          icon: Icon(Icons.crop_square_rounded),          trailing: Text('Cmd B'),        ),        const LiqMenuSeparator(),        LiqMenuItem(          label: 'Delete',          icon: const Icon(Icons.delete_outline_rounded),          trailing: const Text('Del'),          style: LiqMenuItemStyle.destructive,          onPressed: () {},        ),      ],    ),  );}

With Section

// ignore_for_file: file_names // hyphenated name required by snippet manifest conventionimport 'package:docs_snippets/src/snippet_frame.dart';import 'package:flutter/material.dart' show Icon, Icons;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 menuWithSectionBuilder(BuildContext context) {  return SnippetFrame(    maxWidth: 380,    height: 620,    surface: SnippetFrameSurface.liquidThemed,    child: LiqMenu(      quickActions: <LiqMenuQuickAction>[        LiqMenuQuickAction(          label: 'Cut',          icon: const Icon(Icons.content_cut_rounded, size: 18),          onPressed: () {},        ),        LiqMenuQuickAction(          label: 'Copy',          icon: const Icon(Icons.content_copy_rounded, size: 18),          selected: true,          onPressed: () {},        ),        LiqMenuQuickAction(          label: 'Paste',          icon: const Icon(Icons.content_paste_rounded, size: 18),          onPressed: () {},        ),      ],      children: <Widget>[        const LiqMenuSectionTitle(title: 'Edit'),        LiqMenuItem(          label: 'Cut',          icon: const Icon(Icons.content_cut_rounded),          trailing: const Text('Cmd X'),          onPressed: () {},        ),        LiqMenuItem(          label: 'Copy',          icon: const Icon(Icons.content_copy_rounded),          trailing: const Text('Cmd C'),          onPressed: () {},        ),        LiqMenuItem(          label: 'Paste',          icon: const Icon(Icons.content_paste_rounded),          trailing: const Text('Cmd V'),          onPressed: () {},        ),        const LiqMenuSeparator(),        const LiqMenuSectionTitle(title: 'Format'),        LiqMenuItem(          label: 'Bold',          icon: const Icon(Icons.format_bold_rounded),          trailing: const Text('Cmd B'),          onPressed: () {},        ),        LiqMenuItem(          label: 'Italic',          icon: const Icon(Icons.format_italic_rounded),          trailing: const Text('Cmd I'),          onPressed: () {},        ),      ],    ),  );}
// ignore_for_file: file_namesimport 'package:docs_snippets/src/snippet_frame.dart';import 'package:flutter/widgets.dart';import 'package:liqkit_ui/examples.dart';Widget menuDropdownBuilder(BuildContext context) {  return const SnippetFrame(child: MenuDropdownExample());}

Context

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

Inline

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