super_context_menu 0.8.24 copy "super_context_menu: ^0.8.24" to clipboard
super_context_menu: ^0.8.24 copied to clipboard

Context menu for Flutter that can seamlesly transition to drag & drop on mobile. Uses system context menu on iOS, macOS and Linux.

187
likes
130/ 160
pub points
5k
downloads

We analyzed this package 16 hours ago, and awarded it 130 pub points (of a possible 160):

OK
Follow Dart file conventions
30 / 30trigger folding of the section

10/10 points: Provide a valid pubspec.yaml

5/5 points: Provide a valid README.md

5/5 points: Provide a valid CHANGELOG.md

10/10 points: Use an OSI-approved license

Detected license: MIT.

partial
Provide documentation
10 / 20trigger folding of the section

0/10 points: 20% or more of the public API has dartdoc comments

24 out of 144 API elements (16.7 %) have documentation comments.

Providing good documentation for libraries, classes, functions, and other API elements improves code readability and helps developers find and use your API. Document at least 20% of the public API elements.

To highlight public API members missing documentation consider enabling the public_member_api_docs lint.

Some symbols that are missing documentation: super_context_menu, super_context_menu.CancellationToken, super_context_menu.CancellationToken.CancellationToken, super_context_menu.CancellationToken.cancelled, super_context_menu.ContextMenuIsAllowed.

10/10 points: Package has an example

failed
Platform support
20 / 20trigger folding of the section

20/20 points: Supports 5 of 6 possible platforms (iOS, Android, Web, Windows, macOS, Linux)

  • ✓ Android

  • ✓ iOS

  • ✓ Windows

  • ✓ Linux

  • ✓ macOS

These platforms are not supported:

Package not compatible with platform Web

Because:

  • package:super_context_menu/super_context_menu.dart that imports:
  • package:super_context_menu/src/default_builder/mobile_menu_widget_builder.dart that imports:
  • package:super_context_menu/src/scaffold/mobile/menu_widget_builder.dart that imports:
  • package:super_context_menu/src/menu_model.dart that imports:
  • package:super_native_extensions/raw_menu.dart that imports:
  • package:super_native_extensions/src/drag_interaction/long_press_handler.dart that imports:
  • package:super_native_extensions/src/drag_interaction/interaction_session.dart that imports:
  • package:super_native_extensions/src/drag_interaction/overlay_widget.dart that imports:
  • package:super_native_extensions/src/drag_interaction/overlay_layout.dart that imports:
  • package:pixel_snap/pixel_snap.dart that imports:
  • package:pixel_snap/src/widgets/debug_bar/debug_bar.dart that imports:
  • package:pixel_snap/src/generated/widgets.dart that imports:
  • dart:io

These issues are present but do not affect the score, because they may not originate in your package:

Package does not support platform `Android`.

Because:

  • package:super_context_menu/super_context_menu.dart that imports:
  • package:super_context_menu/src/default_builder/mobile_menu_widget_builder.dart that imports:
  • package:super_context_menu/src/scaffold/mobile/menu_widget_builder.dart that imports:
  • package:super_context_menu/src/menu_model.dart that imports:
  • package:super_native_extensions/raw_menu.dart that imports:
  • package:super_native_extensions/src/drag_interaction/long_press_handler.dart that imports:
  • package:device_info_plus/device_info_plus.dart that imports:
  • package:device_info_plus/src/device_info_plus_windows.dart that imports:
  • package:win32_registry/win32_registry.dart that declares support for platforms: Windows.
Package does not support platform `iOS`.

Because:

  • package:super_context_menu/super_context_menu.dart that imports:
  • package:super_context_menu/src/default_builder/mobile_menu_widget_builder.dart that imports:
  • package:super_context_menu/src/scaffold/mobile/menu_widget_builder.dart that imports:
  • package:super_context_menu/src/menu_model.dart that imports:
  • package:super_native_extensions/raw_menu.dart that imports:
  • package:super_native_extensions/src/drag_interaction/long_press_handler.dart that imports:
  • package:device_info_plus/device_info_plus.dart that imports:
  • package:device_info_plus/src/device_info_plus_windows.dart that imports:
  • package:win32_registry/win32_registry.dart that declares support for platforms: Windows.
Package does not support platform `Linux`.

Because:

  • package:super_context_menu/super_context_menu.dart that imports:
  • package:super_context_menu/src/default_builder/mobile_menu_widget_builder.dart that imports:
  • package:super_context_menu/src/scaffold/mobile/menu_widget_builder.dart that imports:
  • package:super_context_menu/src/menu_model.dart that imports:
  • package:super_native_extensions/raw_menu.dart that imports:
  • package:super_native_extensions/src/drag_interaction/long_press_handler.dart that imports:
  • package:device_info_plus/device_info_plus.dart that imports:
  • package:device_info_plus/src/device_info_plus_windows.dart that imports:
  • package:win32_registry/win32_registry.dart that declares support for platforms: Windows.
Package does not support platform `macOS`.

Because:

  • package:super_context_menu/super_context_menu.dart that imports:
  • package:super_context_menu/src/default_builder/mobile_menu_widget_builder.dart that imports:
  • package:super_context_menu/src/scaffold/mobile/menu_widget_builder.dart that imports:
  • package:super_context_menu/src/menu_model.dart that imports:
  • package:super_native_extensions/raw_menu.dart that imports:
  • package:super_native_extensions/src/drag_interaction/long_press_handler.dart that imports:
  • package:device_info_plus/device_info_plus.dart that imports:
  • package:device_info_plus/src/device_info_plus_windows.dart that imports:
  • package:win32_registry/win32_registry.dart that declares support for platforms: Windows.

0/0 points: WASM compatibility

Package not compatible with runtime wasm

Because:

  • package:super_context_menu/super_context_menu.dart that imports:
  • package:super_context_menu/src/default_builder/mobile_menu_widget_builder.dart that imports:
  • package:super_context_menu/src/scaffold/mobile/menu_widget_builder.dart that imports:
  • package:super_context_menu/src/menu_model.dart that imports:
  • package:super_native_extensions/raw_menu.dart that imports:
  • package:super_native_extensions/src/drag_interaction/long_press_handler.dart that imports:
  • package:super_native_extensions/src/drag_interaction/interaction_session.dart that imports:
  • package:super_native_extensions/src/drag_interaction/overlay_widget.dart that imports:
  • package:super_native_extensions/src/drag_interaction/overlay_layout.dart that imports:
  • package:pixel_snap/pixel_snap.dart that imports:
  • package:pixel_snap/src/widgets/debug_bar/debug_bar.dart that imports:
  • package:pixel_snap/src/generated/widgets.dart that imports:
  • dart:io

This package is not compatible with runtime wasm, and will not be rewarded full points in a future version of the scoring model.

See https://dart.dev/web/wasm for details.

partial
Pass static analysis
40 / 50trigger folding of the section

40/50 points: code has no errors, warnings, lints, or formatting issues

Found 20 issues. Showing the first 2:

INFO: 'withOpacity' is deprecated and shouldn't be used. Use .withValues() to avoid precision loss.

lib/src/default_builder/desktop_menu_widget_builder.dart:62:37

   ╷
62 │                 color: Colors.black.withOpacity(0.5),
   │                                     ^^^^^^^^^^^
   ╵

To reproduce make sure you are using the lints_core and run flutter analyze lib/src/default_builder/desktop_menu_widget_builder.dart

INFO: 'withOpacity' is deprecated and shouldn't be used. Use .withValues() to avoid precision loss.

lib/src/default_builder/desktop_menu_widget_builder.dart:98:39

   ╷
98 │               color: textStyle.color!.withOpacity(0.5),
   │                                       ^^^^^^^^^^^
   ╵

To reproduce make sure you are using the lints_core and run flutter analyze lib/src/default_builder/desktop_menu_widget_builder.dart

failed
Support up-to-date dependencies
30 / 40trigger folding of the section

0/10 points: All of the package dependencies are supported in the latest version

Package Constraint Compatible Latest
collection ^1.16.0 1.19.0 1.19.1
device_info_plus ^10.0.1 10.1.2 11.1.1
flutter flutter 0.0.0 0.0.0
pixel_snap ^0.1.1 0.1.5 0.1.5
super_native_extensions ^0.8.24 0.8.24 0.8.24
Transitive dependencies
Package Constraint Compatible Latest
characters - 1.3.0 1.3.1
crypto - 3.0.6 3.0.6
device_info_plus_platform_interface - 7.0.1 7.0.1
ffi - 2.1.3 2.1.3
file - 7.0.1 7.0.1
fixnum - 1.1.1 1.1.1
flutter_web_plugins - 0.0.0 0.0.0
irondash_engine_context - 0.5.4 0.5.4
irondash_message_channel - 0.7.0 0.7.0
material_color_utilities - 0.11.1 0.12.0
meta - 1.15.0 1.16.0
path - 1.9.1 1.9.1
plugin_platform_interface - 2.1.8 2.1.8
sky_engine - 0.0.0 0.0.0
sprintf - 7.0.0 7.0.0
typed_data - 1.4.0 1.4.0
uuid - 4.5.1 4.5.1
vector_math - 2.1.4 2.1.4
web - 1.1.0 1.1.0
win32 - 5.9.0 5.9.0
win32_registry - 1.1.5 2.0.1

To reproduce run dart pub outdated --no-dev-dependencies --up-to-date --no-dependency-overrides.

The constraint `^10.0.1` on device_info_plus does not support the stable version `11.0.0`.

Try running dart pub upgrade --major-versions device_info_plus to update the constraint.

10/10 points: Package supports latest stable Dart and Flutter SDKs

20/20 points: Compatible with dependency constraint lower bounds

pub downgrade does not expose any static analysis error.

Analyzed with Pana 0.22.17, Flutter 3.27.0-0.2.pre, Dart 3.6.0-334.4.beta.

Check the analysis log for details.

187
likes
130
points
5k
downloads

Publisher

verified publishernativeshell.dev

Weekly Downloads

Context menu for Flutter that can seamlesly transition to drag & drop on mobile. Uses system context menu on iOS, macOS and Linux.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

collection, device_info_plus, flutter, pixel_snap, super_native_extensions

More

Packages that depend on super_context_menu