flutter_lucide_animated 0.0.1 copy "flutter_lucide_animated: ^0.0.1" to clipboard
flutter_lucide_animated: ^0.0.1 copied to clipboard

Animated Lucide icons for Flutter. Beautiful, customizable icon animations with 375+ icons. Supports pathLength, rotate, translate, scale, and opacity animations. Tree-shaking enabled.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_lucide_animated/flutter_lucide_animated.dart' as lucide;

void main() => runApp(const MyApp());

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Lucide Animated Icons',
      debugShowCheckedModeBanner: false,
      theme: ThemeData.dark().copyWith(
        scaffoldBackgroundColor: const Color(0xFF0a0a0a),
        colorScheme: const ColorScheme.dark(
          primary: Color(0xFFf97316),
          surface: Color(0xFF0a0a0a),
        ),
      ),
      home: const IconGallery(),
    );
  }
}

// All available icons
final List<(String, lucide.LucideAnimatedIconData)> _allIcons = [
  ('a_arrow_down', lucide.a_arrow_down),
  ('a_arrow_up', lucide.a_arrow_up),
  ('accessibility', lucide.accessibility),
  ('activity', lucide.activity),
  ('airplane', lucide.airplane),
  ('airplay', lucide.airplay),
  ('air_vent', lucide.air_vent),
  ('align_center', lucide.align_center),
  ('align_horizontal', lucide.align_horizontal),
  ('align_left', lucide.align_left),
  ('align_right', lucide.align_right),
  ('align_vertical', lucide.align_vertical),
  ('angry', lucide.angry),
  ('annoyed', lucide.annoyed),
  ('archive', lucide.archive),
  ('arrow_big_down', lucide.arrow_big_down),
  ('arrow_big_down_dash', lucide.arrow_big_down_dash),
  ('arrow_big_left', lucide.arrow_big_left),
  ('arrow_big_left_dash', lucide.arrow_big_left_dash),
  ('arrow_big_right', lucide.arrow_big_right),
  ('arrow_big_right_dash', lucide.arrow_big_right_dash),
  ('arrow_big_up', lucide.arrow_big_up),
  ('arrow_big_up_dash', lucide.arrow_big_up_dash),
  ('arrow_down', lucide.arrow_down),
  ('arrow_down_0_1', lucide.arrow_down_0_1),
  ('arrow_down_1_0', lucide.arrow_down_1_0),
  ('arrow_down_a_z', lucide.arrow_down_a_z),
  ('arrow_down_left', lucide.arrow_down_left),
  ('arrow_down_right', lucide.arrow_down_right),
  ('arrow_down_z_a', lucide.arrow_down_z_a),
  ('arrow_left', lucide.arrow_left),
  ('arrow_right', lucide.arrow_right),
  ('arrow_up', lucide.arrow_up),
  ('arrow_up_left', lucide.arrow_up_left),
  ('arrow_up_right', lucide.arrow_up_right),
  ('atom', lucide.atom),
  ('at_sign', lucide.at_sign),
  ('attach_file', lucide.attach_file),
  ('audio_lines', lucide.audio_lines),
  ('badge_alert', lucide.badge_alert),
  ('badge_percent', lucide.badge_percent),
  ('ban', lucide.ban),
  ('banana', lucide.banana),
  ('battery', lucide.battery),
  ('battery_charging', lucide.battery_charging),
  ('battery_full', lucide.battery_full),
  ('battery_low', lucide.battery_low),
  ('battery_medium', lucide.battery_medium),
  ('battery_plus', lucide.battery_plus),
  ('battery_warning', lucide.battery_warning),
  ('bell', lucide.bell),
  ('bell_electric', lucide.bell_electric),
  ('blocks', lucide.blocks),
  ('bluetooth', lucide.bluetooth),
  ('bluetooth_connected', lucide.bluetooth_connected),
  ('bluetooth_off', lucide.bluetooth_off),
  ('bluetooth_searching', lucide.bluetooth_searching),
  ('bold', lucide.bold),
  ('bone', lucide.bone),
  ('bookmark', lucide.bookmark),
  ('bookmark_check', lucide.bookmark_check),
  ('bookmark_minus', lucide.bookmark_minus),
  ('bookmark_plus', lucide.bookmark_plus),
  ('bookmark_x', lucide.bookmark_x),
  ('book_text', lucide.book_text),
  ('bot', lucide.bot),
  ('bot_message_square', lucide.bot_message_square),
  ('box', lucide.box),
  ('boxes', lucide.boxes),
  ('calendar_check', lucide.calendar_check),
  ('calendar_check_2', lucide.calendar_check_2),
  ('calendar_cog', lucide.calendar_cog),
  ('calendar_days', lucide.calendar_days),
  ('cart', lucide.cart),
  ('cast', lucide.cast),
  ('cctv', lucide.cctv),
  ('chart_bar_decreasing', lucide.chart_bar_decreasing),
  ('chart_bar_increasing', lucide.chart_bar_increasing),
  ('chart_column_decreasing', lucide.chart_column_decreasing),
  ('chart_column_increasing', lucide.chart_column_increasing),
  ('chart_line', lucide.chart_line),
  ('chart_no_axes_column_decreasing', lucide.chart_no_axes_column_decreasing),
  ('chart_no_axes_column_increasing', lucide.chart_no_axes_column_increasing),
  ('chart_pie', lucide.chart_pie),
  ('chart_scatter', lucide.chart_scatter),
  ('chart_spline', lucide.chart_spline),
  ('check', lucide.check),
  ('check_check', lucide.check_check),
  ('chevron_down', lucide.chevron_down),
  ('chevron_first', lucide.chevron_first),
  ('chevron_left', lucide.chevron_left),
  ('chevron_right', lucide.chevron_right),
  ('chevrons_down_up', lucide.chevrons_down_up),
  ('chevrons_left_right', lucide.chevrons_left_right),
  ('chevrons_right_left', lucide.chevrons_right_left),
  ('chevrons_up_down', lucide.chevrons_up_down),
  ('chevron_up', lucide.chevron_up),
  ('circle_check', lucide.circle_check),
  ('circle_chevron_down', lucide.circle_chevron_down),
  ('circle_chevron_left', lucide.circle_chevron_left),
  ('circle_chevron_right', lucide.circle_chevron_right),
  ('circle_chevron_up', lucide.circle_chevron_up),
  ('circle_dashed', lucide.circle_dashed),
  ('circle_dollar_sign', lucide.circle_dollar_sign),
  ('circle_help', lucide.circle_help),
  ('clap', lucide.clap),
  ('clipboard_check', lucide.clipboard_check),
  ('clock', lucide.clock),
  ('cloud_cog', lucide.cloud_cog),
  ('cloud_download', lucide.cloud_download),
  ('cloud_lightning', lucide.cloud_lightning),
  ('cloud_rain', lucide.cloud_rain),
  ('cloud_rain_wind', lucide.cloud_rain_wind),
  ('cloud_snow', lucide.cloud_snow),
  ('cloud_sun', lucide.cloud_sun),
  ('cloud_upload', lucide.cloud_upload),
  ('coffee', lucide.coffee),
  ('cog', lucide.cog),
  ('compass', lucide.compass),
  ('connect', lucide.connect),
  ('construction', lucide.construction),
  ('contrast', lucide.contrast),
  ('cooking_pot', lucide.cooking_pot),
  ('copy', lucide.copy),
  ('corner_down_left', lucide.corner_down_left),
  ('corner_down_right', lucide.corner_down_right),
  ('corner_left_down', lucide.corner_left_down),
  ('corner_left_up', lucide.corner_left_up),
  ('corner_right_down', lucide.corner_right_down),
  ('corner_right_up', lucide.corner_right_up),
  ('corner_up_left', lucide.corner_up_left),
  ('corner_up_right', lucide.corner_up_right),
  ('cpu', lucide.cpu),
  ('cursor_click', lucide.cursor_click),
  ('delete', lucide.delete),
  ('discord', lucide.discord),
  ('dollar_sign', lucide.dollar_sign),
  ('download', lucide.download),
  ('downvote', lucide.downvote),
  ('dribbble', lucide.dribbble),
  ('droplet', lucide.droplet),
  ('drum', lucide.drum),
  ('earth', lucide.earth),
  ('euro', lucide.euro),
  ('ev_charger', lucide.ev_charger),
  ('expand', lucide.expand),
  ('eye', lucide.eye),
  ('eye_off', lucide.eye_off),
  ('facebook', lucide.facebook),
  ('feather', lucide.feather),
  ('figma', lucide.figma),
  ('file_chart_line', lucide.file_chart_line),
  ('file_check', lucide.file_check),
  ('file_check_2', lucide.file_check_2),
  ('file_cog', lucide.file_cog),
  ('file_pen_line', lucide.file_pen_line),
  ('file_stack', lucide.file_stack),
  ('file_text', lucide.file_text),
  ('fingerprint', lucide.fingerprint),
  ('fish_symbol', lucide.fish_symbol),
  ('flame', lucide.flame),
  ('flask', lucide.flask),
  ('folder_archive', lucide.folder_archive),
  ('folder_check', lucide.folder_check),
  ('folder_clock', lucide.folder_clock),
  ('folder_code', lucide.folder_code),
  ('folder_cog', lucide.folder_cog),
  ('folder_dot', lucide.folder_dot),
  ('folder_down', lucide.folder_down),
  ('folder_git', lucide.folder_git),
  ('folder_git_2', lucide.folder_git_2),
  ('folder_heart', lucide.folder_heart),
  ('folder_input', lucide.folder_input),
  ('folder_kanban', lucide.folder_kanban),
  ('folder_key', lucide.folder_key),
  ('folder_lock', lucide.folder_lock),
  ('folder_minus', lucide.folder_minus),
  ('folder_open', lucide.folder_open),
  ('folder_output', lucide.folder_output),
  ('folder_plus', lucide.folder_plus),
  ('folder_root', lucide.folder_root),
  ('folders', lucide.folders),
  ('folder_sync', lucide.folder_sync),
  ('folder_tree', lucide.folder_tree),
  ('folder_up', lucide.folder_up),
  ('folder_x', lucide.folder_x),
  ('frame', lucide.frame),
  ('frown', lucide.frown),
  ('gallery_horizontal_end', lucide.gallery_horizontal_end),
  ('gallery_thumbnails', lucide.gallery_thumbnails),
  ('gallery_vertical_end', lucide.gallery_vertical_end),
  ('gauge', lucide.gauge),
  ('georgian_lari', lucide.georgian_lari),
  ('git_branch', lucide.git_branch),
  ('git_commit_horizontal', lucide.git_commit_horizontal),
  ('git_commit_vertical', lucide.git_commit_vertical),
  ('git_compare', lucide.git_compare),
  ('git_compare_arrows', lucide.git_compare_arrows),
  ('git_fork', lucide.git_fork),
  ('git_graph', lucide.git_graph),
  ('github', lucide.github),
  ('gitlab', lucide.gitlab),
  ('git_merge', lucide.git_merge),
  ('git_pull_request', lucide.git_pull_request),
  ('git_pull_request_closed', lucide.git_pull_request_closed),
  ('git_pull_request_create', lucide.git_pull_request_create),
  ('grip', lucide.grip),
  ('grip_horizontal', lucide.grip_horizontal),
  ('grip_vertical', lucide.grip_vertical),
  ('hand', lucide.hand),
  ('hand_coins', lucide.hand_coins),
  ('hand_fist', lucide.hand_fist),
  ('hand_grab', lucide.hand_grab),
  ('hand_heart', lucide.hand_heart),
  ('hand_helping', lucide.hand_helping),
  ('hand_metal', lucide.hand_metal),
  ('hard_drive_download', lucide.hard_drive_download),
  ('hard_drive_upload', lucide.hard_drive_upload),
  ('heart', lucide.heart),
  ('heart_handshake', lucide.heart_handshake),
  ('history', lucide.history),
  ('home', lucide.home),
  ('hourglass', lucide.hourglass),
  ('id_card', lucide.id_card),
  ('indian_rupee', lucide.indian_rupee),
  ('instagram', lucide.instagram),
  ('italic', lucide.italic),
  ('japanese_yen', lucide.japanese_yen),
  ('key', lucide.key),
  ('keyboard', lucide.keyboard),
  ('key_circle', lucide.key_circle),
  ('key_square', lucide.key_square),
  ('languages', lucide.languages),
  ('laptop_minimal_check', lucide.laptop_minimal_check),
  ('laugh', lucide.laugh),
  ('layers', lucide.layers),
  ('layout_panel_top', lucide.layout_panel_top),
  ('link', lucide.link),
  ('linkedin', lucide.linkedin),
  ('loader_pinwheel', lucide.loader_pinwheel),
  ('lock', lucide.lock),
  ('lock_keyhole', lucide.lock_keyhole),
  ('lock_keyhole_open', lucide.lock_keyhole_open),
  ('lock_open', lucide.lock_open),
  ('logout', lucide.logout),
  ('mail_check', lucide.mail_check),
  ('map_pin', lucide.map_pin),
  ('map_pin_check', lucide.map_pin_check),
  ('map_pin_check_inside', lucide.map_pin_check_inside),
  ('map_pin_house', lucide.map_pin_house),
  ('map_pin_minus', lucide.map_pin_minus),
  ('map_pin_minus_inside', lucide.map_pin_minus_inside),
  ('map_pin_off', lucide.map_pin_off),
  ('map_pin_plus', lucide.map_pin_plus),
  ('map_pin_plus_inside', lucide.map_pin_plus_inside),
  ('map_pin_x_inside', lucide.map_pin_x_inside),
  ('maximize', lucide.maximize),
  ('maximize_2', lucide.maximize_2),
  ('meh', lucide.meh),
  ('menu', lucide.menu),
  ('message_circle', lucide.message_circle),
  ('message_circle_dashed', lucide.message_circle_dashed),
  ('message_circle_more', lucide.message_circle_more),
  ('message_square', lucide.message_square),
  ('message_square_dashed', lucide.message_square_dashed),
  ('message_square_more', lucide.message_square_more),
  ('mic', lucide.mic),
  ('mic_off', lucide.mic_off),
  ('minimize', lucide.minimize),
  ('monitor_check', lucide.monitor_check),
  ('moon', lucide.moon),
  ('nfc', lucide.nfc),
  ('panel_left_close', lucide.panel_left_close),
  ('panel_left_open', lucide.panel_left_open),
  ('panel_right_open', lucide.panel_right_open),
  ('party_popper', lucide.party_popper),
  ('pen_tool', lucide.pen_tool),
  ('philippine_peso', lucide.philippine_peso),
  ('play', lucide.play),
  ('plug_zap', lucide.plug_zap),
  ('plus', lucide.plus),
  ('pound_sterling', lucide.pound_sterling),
  ('rabbit', lucide.rabbit),
  ('radio', lucide.radio),
  ('radio_tower', lucide.radio_tower),
  ('redo', lucide.redo),
  ('redo_dot', lucide.redo_dot),
  ('refresh_ccw', lucide.refresh_ccw),
  ('refresh_ccw_dot', lucide.refresh_ccw_dot),
  ('refresh_cw', lucide.refresh_cw),
  ('refresh_cw_off', lucide.refresh_cw_off),
  ('rocket', lucide.rocket),
  ('rocking_chair', lucide.rocking_chair),
  ('roller_coaster', lucide.roller_coaster),
  ('rotate_ccw', lucide.rotate_ccw),
  ('rotate_cw', lucide.rotate_cw),
  ('route', lucide.route),
  ('russian_ruble', lucide.russian_ruble),
  ('saudi_riyal', lucide.saudi_riyal),
  ('scan_face', lucide.scan_face),
  ('scan_text', lucide.scan_text),
  ('search', lucide.search),
  ('settings', lucide.settings),
  ('shield_check', lucide.shield_check),
  ('ship', lucide.ship),
  ('shower_head', lucide.shower_head),
  ('shrink', lucide.shrink),
  ('sliders_horizontal', lucide.sliders_horizontal),
  ('smartphone_charging', lucide.smartphone_charging),
  ('smartphone_nfc', lucide.smartphone_nfc),
  ('smile', lucide.smile),
  ('smile_plus', lucide.smile_plus),
  ('snowflake', lucide.snowflake),
  ('sparkles', lucide.sparkles),
  ('square_activity', lucide.square_activity),
  ('square_arrow_down', lucide.square_arrow_down),
  ('square_arrow_left', lucide.square_arrow_left),
  ('square_arrow_right', lucide.square_arrow_right),
  ('square_arrow_up', lucide.square_arrow_up),
  ('square_chevron_down', lucide.square_chevron_down),
  ('square_chevron_left', lucide.square_chevron_left),
  ('square_chevron_right', lucide.square_chevron_right),
  ('square_chevron_up', lucide.square_chevron_up),
  ('square_pen', lucide.square_pen),
  ('square_stack', lucide.square_stack),
  ('stethoscope', lucide.stethoscope),
  ('sun', lucide.sun),
  ('sun_dim', lucide.sun_dim),
  ('sun_medium', lucide.sun_medium),
  ('sun_moon', lucide.sun_moon),
  ('sunset', lucide.sunset),
  ('swiss_franc', lucide.swiss_franc),
  ('syringe', lucide.syringe),
  ('telescope', lucide.telescope),
  ('terminal', lucide.terminal),
  ('thermometer', lucide.thermometer),
  ('timer', lucide.timer),
  ('tornado', lucide.tornado),
  ('trending_down', lucide.trending_down),
  ('trending_up', lucide.trending_up),
  ('trending_up_down', lucide.trending_up_down),
  ('truck', lucide.truck),
  ('turkish_lira', lucide.turkish_lira),
  ('twitch', lucide.twitch),
  ('twitter', lucide.twitter),
  ('underline', lucide.underline),
  ('undo', lucide.undo),
  ('undo_dot', lucide.undo_dot),
  ('upload', lucide.upload),
  ('upvote', lucide.upvote),
  ('user', lucide.user),
  ('user_check', lucide.user_check),
  ('user_round_check', lucide.user_round_check),
  ('user_round_plus', lucide.user_round_plus),
  ('users', lucide.users),
  ('vibrate', lucide.vibrate),
  ('volume', lucide.volume),
  ('washing_machine', lucide.washing_machine),
  ('waves', lucide.waves),
  ('waves_ladder', lucide.waves_ladder),
  ('waypoints', lucide.waypoints),
  ('wifi', lucide.wifi),
  ('wind', lucide.wind),
  ('wind_arrow_down', lucide.wind_arrow_down),
  ('wrench', lucide.wrench),
  ('x', lucide.x),
  ('youtube', lucide.youtube),
  ('zap', lucide.zap),
  ('zap_off', lucide.zap_off),
];

class IconGallery extends StatefulWidget {
  const IconGallery({super.key});

  @override
  State<IconGallery> createState() => _IconGalleryState();
}

class _IconGalleryState extends State<IconGallery> {
  String _searchQuery = '';

  List<(String, lucide.LucideAnimatedIconData)> get _filteredIcons {
    if (_searchQuery.isEmpty) return _allIcons;
    final query = _searchQuery.toLowerCase();
    return _allIcons
        .where((icon) => icon.$1.toLowerCase().contains(query))
        .toList();
  }

  void _copyToClipboard(String name) {
    Clipboard.setData(ClipboardData(text: name));
    ScaffoldMessenger.of(context).showSnackBar(
      SnackBar(
        content: Text('Copied "$name" to clipboard'),
        duration: const Duration(seconds: 1),
        behavior: SnackBarBehavior.floating,
        backgroundColor: const Color(0xFF262626),
      ),
    );
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Column(
        crossAxisAlignment: CrossAxisAlignment.start,
        children: [
          Padding(
            padding: const EdgeInsets.fromLTRB(24, 48, 24, 24),
            child: Column(
              crossAxisAlignment: CrossAxisAlignment.start,
              children: [
                const Text(
                  'Lucide Animated',
                  style: TextStyle(
                    fontSize: 32,
                    fontWeight: FontWeight.bold,
                    color: Colors.white,
                  ),
                ),
                const SizedBox(height: 8),
                Text(
                  '${_allIcons.length} beautifully animated icons for Flutter',
                  style: TextStyle(fontSize: 16, color: Colors.grey[400]),
                ),
                const SizedBox(height: 24),
                Container(
                  padding: const EdgeInsets.symmetric(
                    horizontal: 16,
                    vertical: 12,
                  ),
                  decoration: BoxDecoration(
                    color: const Color(0xFF1a1a1a),
                    borderRadius: BorderRadius.circular(8),
                    border: Border.all(color: const Color(0xFF262626)),
                  ),
                  child: Row(
                    children: [
                      Expanded(
                        child: Text(
                          'flutter pub add flutter_lucide_animated',
                          style: TextStyle(
                            fontFamily: 'monospace',
                            fontSize: 14,
                            color: Colors.grey[300],
                          ),
                        ),
                      ),
                      IconButton(
                        icon: const Icon(Icons.copy, size: 18),
                        color: Colors.grey[500],
                        onPressed: () => _copyToClipboard(
                          'flutter pub add flutter_lucide_animated',
                        ),
                      ),
                    ],
                  ),
                ),
                const SizedBox(height: 24),
                TextField(
                  onChanged: (value) => setState(() => _searchQuery = value),
                  decoration: InputDecoration(
                    hintText: 'Search ${_allIcons.length} lucide...',
                    hintStyle: TextStyle(color: Colors.grey[600]),
                    prefixIcon: Icon(Icons.search, color: Colors.grey[600]),
                    filled: true,
                    fillColor: const Color(0xFF1a1a1a),
                    border: OutlineInputBorder(
                      borderRadius: BorderRadius.circular(8),
                      borderSide: const BorderSide(color: Color(0xFF262626)),
                    ),
                    enabledBorder: OutlineInputBorder(
                      borderRadius: BorderRadius.circular(8),
                      borderSide: const BorderSide(color: Color(0xFF262626)),
                    ),
                    focusedBorder: OutlineInputBorder(
                      borderRadius: BorderRadius.circular(8),
                      borderSide: const BorderSide(color: Color(0xFFf97316)),
                    ),
                  ),
                  style: const TextStyle(color: Colors.white),
                ),
              ],
            ),
          ),
          Expanded(
            child: GridView.builder(
              padding: const EdgeInsets.all(24),
              gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
                crossAxisCount: 7,
                mainAxisSpacing: 12,
                crossAxisSpacing: 12,
                childAspectRatio: 1.0,
              ),
              itemCount: _filteredIcons.length,
              itemBuilder: (context, index) {
                final (name, iconData) = _filteredIcons[index];
                return _IconCard(
                  iconData: iconData,
                  onTap: () => _copyToClipboard(name),
                );
              },
            ),
          ),
        ],
      ),
    );
  }
}

class _IconCard extends StatefulWidget {
  final lucide.LucideAnimatedIconData iconData;
  final VoidCallback onTap;

  const _IconCard({required this.iconData, required this.onTap});

  @override
  State<_IconCard> createState() => _IconCardState();
}

class _IconCardState extends State<_IconCard> {
  bool _isHovered = false;

  @override
  Widget build(BuildContext context) {
    return MouseRegion(
      onEnter: (_) => setState(() => _isHovered = true),
      onExit: (_) => setState(() => _isHovered = false),
      child: GestureDetector(
        onTap: widget.onTap,
        child: AnimatedContainer(
          duration: const Duration(milliseconds: 150),
          padding: const EdgeInsets.all(12),
          decoration: BoxDecoration(
            color: _isHovered
                ? const Color(0xFF1a1a1a)
                : const Color(0xFF0f0f0f),
            borderRadius: BorderRadius.circular(12),
            border: Border.all(
              color: _isHovered
                  ? const Color(0xFF404040)
                  : const Color(0xFF262626),
            ),
          ),
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            mainAxisSize: MainAxisSize.min,
            children: [
              lucide.LucideAnimatedIcon(
                icon: widget.iconData,
                size: 56,
                color: _isHovered ? const Color(0xFFf97316) : Colors.white,
                trigger: lucide.AnimationTrigger.onHover,
              ),
            ],
          ),
        ),
      ),
    );
  }
}
4
likes
0
points
102
downloads

Publisher

verified publishervoltvave.com

Weekly Downloads

Animated Lucide icons for Flutter. Beautiful, customizable icon animations with 375+ icons. Supports pathLength, rotate, translate, scale, and opacity animations. Tree-shaking enabled.

Repository (GitHub)
View/report issues

Topics

#icons #animation #lucide #ui

Documentation

Documentation

License

unknown (license)

Dependencies

flutter, path_parsing

More

Packages that depend on flutter_lucide_animated