open_iconic_flutter 0.3.0

  • README.md
  • CHANGELOG.md
  • Example
  • Installing
  • Versions
  • 93

open_iconic_flutter

The Open Iconic icon pack available as set of Flutter Icons.

Installation

In the dependencies: section of your pubspec.yaml, add the following line:

  open_iconic_flutter: 0.1.0    

Usage

import 'package:open_iconic_flutter/open_iconic_flutter.dart';

class MyWidget extends StatelessWidget {
  Widget build(BuildContext context) {
    return new IconButton(
      // Use the FontAwesomeIcons class for the IconData
      icon: new Icon(OpenIconicIcons.fork), 
      onPressed: () { print("Pressed"); }
     );
  }
}

Example

View the Flutter app in the example directory to see all the available OpenIconicIcons.

0.3.0

  • Now requires Dart 2
  • Add environmental constraint on Dart SDK enforcing Dart 2 - 3

0.2.0

  • Updated to latest Flutter. No longer need to include the font in your own own pubspec.yml.

0.1.0

  • First version of Open Iconic icons as Flutter Icons
  • Expose Open Iconic 1.1.0 woff font asset. This was the smallest version of the font file that worked with Flutter.
  • Created OpenIconicIcons class, which provides static access to all Open Iconic Icons as IconData, similar to Flutter's built-in Icons class.
  • Created a Gallery App that can be used to view all provided icons
  • Created README with installation instructions
  • Added LICENSE.md file
  • Added FONT_LICENSE to honor the Open Iconic licenses.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:open_iconic_flutter/open_iconic_flutter.dart';

void main() {
  runApp(new FontAwesomeGalleryApp());
}

class FontAwesomeGalleryApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      title: 'Open Iconic Flutter Gallery',
      theme: new ThemeData(
        iconTheme: new IconThemeData(size: 32.0, color: Colors.black87),
        primarySwatch: Colors.blue,
        textTheme: new TextTheme(
          body1: new TextStyle(fontSize: 16.0, color: Colors.black87),
        ),
      ),
      home: new FontAwesomeGalleryHome(),
    );
  }
}

class FontAwesomeGalleryHome extends StatefulWidget {
  @override
  State<StatefulWidget> createState() => new FontAwesomeGalleryHomeState();
}

class FontAwesomeGalleryHomeState extends State<FontAwesomeGalleryHome> {
  var _searchTerm = "";
  var _isSearching = false;

  @override
  Widget build(BuildContext context) {
    final filteredIcons = icons
        .where((icon) =>
            _searchTerm.isEmpty ||
            icon.title.toLowerCase().contains(_searchTerm.toLowerCase()))
        .toList();
    final orientation = MediaQuery.of(context).orientation;

    return new Scaffold(
      appBar: _isSearching ? _searchBar(context) : _titleBar(),
      body: new GridView.builder(
        itemCount: filteredIcons.length,
        gridDelegate: new SliverGridDelegateWithFixedCrossAxisCount(
          crossAxisCount: orientation == Orientation.portrait ? 2 : 3,
        ),
        itemBuilder: (context, index) {
          final icon = filteredIcons[index];

          return new InkWell(
            onTap: () {
              Navigator.push(
                context,
                new MaterialPageRoute<Null>(
                  builder: (BuildContext context) {
                    return new GestureDetector(
                      onTap: () {
                        Navigator.of(context).pop();
                      },
                      child: new Container(
                        color: Colors.white,
                        child: new SizedBox.expand(
                          child: new Hero(
                            tag: icon,
                            child: new Icon(
                              icon.iconData,
                              size: 100.0,
                            ),
                          ),
                        ),
                      ),
                    );
                  },
                ),
              );
            },
            child: new Column(
              mainAxisAlignment: MainAxisAlignment.center,
              children: <Widget>[
                new Hero(
                  tag: icon,
                  child: new Icon(icon.iconData),
                ),
                new Container(
                  padding: new EdgeInsets.only(top: 16.0),
                  child: new Text(icon.title),
                )
              ],
            ),
          );
        },
      ),
    );
  }

  AppBar _titleBar() {
    return new AppBar(
      title: new Text("Open Iconic Flutter Gallery"),
      actions: [
        new IconButton(
            icon: new Icon(OpenIconicIcons.magnifyingGlass),
            onPressed: () {
              ModalRoute.of(context)
                  .addLocalHistoryEntry(new LocalHistoryEntry(onRemove: () {
                setState(() {
                  _searchTerm = "";
                  _isSearching = false;
                });
              }));

              setState(() {
                _isSearching = true;
              });
            })
      ],
    );
  }

  AppBar _searchBar(BuildContext context) {
    return new AppBar(
      leading: new IconButton(
        icon: new Icon(OpenIconicIcons.chevronLeft),
        onPressed: () {
          setState(
            () {
              Navigator.pop(context);
              _isSearching = false;
              _searchTerm = "";
            },
          );
        },
      ),
      title: new TextField(
        onChanged: (text) => setState(() => _searchTerm = text),
        autofocus: true,
        style: new TextStyle(fontSize: 18.0),
        decoration: new InputDecoration(border: InputBorder.none),
        keyboardType: TextInputType.text,
      ),
    );
  }
}

final List<IconDefinition> icons = <IconDefinition>[
  new IconDefinition(OpenIconicIcons.accountLogin, "accountLogin"),
  new IconDefinition(OpenIconicIcons.accountLogout, "accountLogout"),
  new IconDefinition(OpenIconicIcons.actionRedo, "actionRedo"),
  new IconDefinition(OpenIconicIcons.actionUndo, "actionUndo"),
  new IconDefinition(OpenIconicIcons.alignCenter, "alignCenter"),
  new IconDefinition(OpenIconicIcons.alignLeft, "alignLeft"),
  new IconDefinition(OpenIconicIcons.alignRight, "alignRight"),
  new IconDefinition(OpenIconicIcons.aperture, "aperture"),
  new IconDefinition(OpenIconicIcons.arrowBottom, "arrowBottom"),
  new IconDefinition(OpenIconicIcons.arrowCircleBottom, "arrowCircleBottom"),
  new IconDefinition(OpenIconicIcons.arrowCircleLeft, "arrowCircleLeft"),
  new IconDefinition(OpenIconicIcons.arrowCircleRight, "arrowCircleRight"),
  new IconDefinition(OpenIconicIcons.arrowCircleTop, "arrowCircleTop"),
  new IconDefinition(OpenIconicIcons.arrowLeft, "arrowLeft"),
  new IconDefinition(OpenIconicIcons.arrowRight, "arrowRight"),
  new IconDefinition(OpenIconicIcons.arrowThickBottom, "arrowThickBottom"),
  new IconDefinition(OpenIconicIcons.arrowThickLeft, "arrowThickLeft"),
  new IconDefinition(OpenIconicIcons.arrowThickRight, "arrowThickRight"),
  new IconDefinition(OpenIconicIcons.arrowThickTop, "arrowThickTop"),
  new IconDefinition(OpenIconicIcons.arrowTop, "arrowTop"),
  new IconDefinition(OpenIconicIcons.audioSpectrum, "audioSpectrum"),
  new IconDefinition(OpenIconicIcons.audio, "audio"),
  new IconDefinition(OpenIconicIcons.badge, "badge"),
  new IconDefinition(OpenIconicIcons.ban, "ban"),
  new IconDefinition(OpenIconicIcons.barChart, "barChart"),
  new IconDefinition(OpenIconicIcons.basket, "basket"),
  new IconDefinition(OpenIconicIcons.batteryEmpty, "batteryEmpty"),
  new IconDefinition(OpenIconicIcons.batteryFull, "batteryFull"),
  new IconDefinition(OpenIconicIcons.beaker, "beaker"),
  new IconDefinition(OpenIconicIcons.bell, "bell"),
  new IconDefinition(OpenIconicIcons.bluetooth, "bluetooth"),
  new IconDefinition(OpenIconicIcons.bold, "bold"),
  new IconDefinition(OpenIconicIcons.bolt, "bolt"),
  new IconDefinition(OpenIconicIcons.book, "book"),
  new IconDefinition(OpenIconicIcons.bookmark, "bookmark"),
  new IconDefinition(OpenIconicIcons.box, "box"),
  new IconDefinition(OpenIconicIcons.briefcase, "briefcase"),
  new IconDefinition(OpenIconicIcons.britishPound, "britishPound"),
  new IconDefinition(OpenIconicIcons.browser, "browser"),
  new IconDefinition(OpenIconicIcons.brush, "brush"),
  new IconDefinition(OpenIconicIcons.bug, "bug"),
  new IconDefinition(OpenIconicIcons.bullhorn, "bullhorn"),
  new IconDefinition(OpenIconicIcons.calculator, "calculator"),
  new IconDefinition(OpenIconicIcons.calendar, "calendar"),
  new IconDefinition(OpenIconicIcons.cameraSlr, "cameraSlr"),
  new IconDefinition(OpenIconicIcons.caretBottom, "caretBottom"),
  new IconDefinition(OpenIconicIcons.caretLeft, "caretLeft"),
  new IconDefinition(OpenIconicIcons.caretRight, "caretRight"),
  new IconDefinition(OpenIconicIcons.caretTop, "caretTop"),
  new IconDefinition(OpenIconicIcons.cart, "cart"),
  new IconDefinition(OpenIconicIcons.chat, "chat"),
  new IconDefinition(OpenIconicIcons.check, "check"),
  new IconDefinition(OpenIconicIcons.chevronBottom, "chevronBottom"),
  new IconDefinition(OpenIconicIcons.chevronLeft, "chevronLeft"),
  new IconDefinition(OpenIconicIcons.chevronRight, "chevronRight"),
  new IconDefinition(OpenIconicIcons.chevronTop, "chevronTop"),
  new IconDefinition(OpenIconicIcons.circleCheck, "circleCheck"),
  new IconDefinition(OpenIconicIcons.circleX, "circleX"),
  new IconDefinition(OpenIconicIcons.clipboard, "clipboard"),
  new IconDefinition(OpenIconicIcons.clock, "clock"),
  new IconDefinition(OpenIconicIcons.cloudDownload, "cloudDownload"),
  new IconDefinition(OpenIconicIcons.cloudUpload, "cloudUpload"),
  new IconDefinition(OpenIconicIcons.cloud, "cloud"),
  new IconDefinition(OpenIconicIcons.cloudy, "cloudy"),
  new IconDefinition(OpenIconicIcons.code, "code"),
  new IconDefinition(OpenIconicIcons.cog, "cog"),
  new IconDefinition(OpenIconicIcons.collapseDown, "collapseDown"),
  new IconDefinition(OpenIconicIcons.collapseLeft, "collapseLeft"),
  new IconDefinition(OpenIconicIcons.collapseRight, "collapseRight"),
  new IconDefinition(OpenIconicIcons.collapseUp, "collapseUp"),
  new IconDefinition(OpenIconicIcons.command, "command"),
  new IconDefinition(OpenIconicIcons.commentSquare, "commentSquare"),
  new IconDefinition(OpenIconicIcons.compass, "compass"),
  new IconDefinition(OpenIconicIcons.contrast, "contrast"),
  new IconDefinition(OpenIconicIcons.copywriting, "copywriting"),
  new IconDefinition(OpenIconicIcons.creditCard, "creditCard"),
  new IconDefinition(OpenIconicIcons.crop, "crop"),
  new IconDefinition(OpenIconicIcons.dashboard, "dashboard"),
  new IconDefinition(
      OpenIconicIcons.dataTransferDownload, "dataTransferDownload"),
  new IconDefinition(OpenIconicIcons.dataTransferUpload, "dataTransferUpload"),
  new IconDefinition(OpenIconicIcons.delete, "delete"),
  new IconDefinition(OpenIconicIcons.dial, "dial"),
  new IconDefinition(OpenIconicIcons.document, "document"),
  new IconDefinition(OpenIconicIcons.dollar, "dollar"),
  new IconDefinition(
      OpenIconicIcons.doubleQuoteSansLeft, "doubleQuoteSansLeft"),
  new IconDefinition(
      OpenIconicIcons.doubleQuoteSansRight, "doubleQuoteSansRight"),
  new IconDefinition(
      OpenIconicIcons.doubleQuoteSerifLeft, "doubleQuoteSerifLeft"),
  new IconDefinition(
      OpenIconicIcons.doubleQuoteSerifRight, "doubleQuoteSerifRight"),
  new IconDefinition(OpenIconicIcons.droplet, "droplet"),
  new IconDefinition(OpenIconicIcons.eject, "eject"),
  new IconDefinition(OpenIconicIcons.elevator, "elevator"),
  new IconDefinition(OpenIconicIcons.ellipses, "ellipses"),
  new IconDefinition(OpenIconicIcons.envelopeClosed, "envelopeClosed"),
  new IconDefinition(OpenIconicIcons.envelopeOpen, "envelopeOpen"),
  new IconDefinition(OpenIconicIcons.euro, "euro"),
  new IconDefinition(OpenIconicIcons.excerpt, "excerpt"),
  new IconDefinition(OpenIconicIcons.expandDown, "expandDown"),
  new IconDefinition(OpenIconicIcons.expandLeft, "expandLeft"),
  new IconDefinition(OpenIconicIcons.expandRight, "expandRight"),
  new IconDefinition(OpenIconicIcons.expandUp, "expandUp"),
  new IconDefinition(OpenIconicIcons.externalLink, "externalLink"),
  new IconDefinition(OpenIconicIcons.eye, "eye"),
  new IconDefinition(OpenIconicIcons.eyedropper, "eyedropper"),
  new IconDefinition(OpenIconicIcons.file, "file"),
  new IconDefinition(OpenIconicIcons.fire, "fire"),
  new IconDefinition(OpenIconicIcons.flag, "flag"),
  new IconDefinition(OpenIconicIcons.flash, "flash"),
  new IconDefinition(OpenIconicIcons.folder, "folder"),
  new IconDefinition(OpenIconicIcons.fork, "fork"),
  new IconDefinition(OpenIconicIcons.fullscreenEnter, "fullscreenEnter"),
  new IconDefinition(OpenIconicIcons.fullscreenExit, "fullscreenExit"),
  new IconDefinition(OpenIconicIcons.globe, "globe"),
  new IconDefinition(OpenIconicIcons.graph, "graph"),
  new IconDefinition(OpenIconicIcons.gridFourUp, "gridFourUp"),
  new IconDefinition(OpenIconicIcons.gridThreeUp, "gridThreeUp"),
  new IconDefinition(OpenIconicIcons.gridTwoUp, "gridTwoUp"),
  new IconDefinition(OpenIconicIcons.hardDrive, "hardDrive"),
  new IconDefinition(OpenIconicIcons.header, "header"),
  new IconDefinition(OpenIconicIcons.headphones, "headphones"),
  new IconDefinition(OpenIconicIcons.heart, "heart"),
  new IconDefinition(OpenIconicIcons.home, "home"),
  new IconDefinition(OpenIconicIcons.image, "image"),
  new IconDefinition(OpenIconicIcons.inbox, "inbox"),
  new IconDefinition(OpenIconicIcons.infinity, "infinity"),
  new IconDefinition(OpenIconicIcons.info, "info"),
  new IconDefinition(OpenIconicIcons.italic, "italic"),
  new IconDefinition(OpenIconicIcons.justifyCenter, "justifyCenter"),
  new IconDefinition(OpenIconicIcons.justifyLeft, "justifyLeft"),
  new IconDefinition(OpenIconicIcons.justifyRight, "justifyRight"),
  new IconDefinition(OpenIconicIcons.key, "key"),
  new IconDefinition(OpenIconicIcons.laptop, "laptop"),
  new IconDefinition(OpenIconicIcons.layers, "layers"),
  new IconDefinition(OpenIconicIcons.lightbulb, "lightbulb"),
  new IconDefinition(OpenIconicIcons.linkBroken, "linkBroken"),
  new IconDefinition(OpenIconicIcons.linkIntact, "linkIntact"),
  new IconDefinition(OpenIconicIcons.listRich, "listRich"),
  new IconDefinition(OpenIconicIcons.list, "list"),
  new IconDefinition(OpenIconicIcons.location, "location"),
  new IconDefinition(OpenIconicIcons.lockLocked, "lockLocked"),
  new IconDefinition(OpenIconicIcons.lockUnlocked, "lockUnlocked"),
  new IconDefinition(OpenIconicIcons.loopCircular, "loopCircular"),
  new IconDefinition(OpenIconicIcons.loopSquare, "loopSquare"),
  new IconDefinition(OpenIconicIcons.loop, "loop"),
  new IconDefinition(OpenIconicIcons.magnifyingGlass, "magnifyingGlass"),
  new IconDefinition(OpenIconicIcons.mapMarker, "mapMarker"),
  new IconDefinition(OpenIconicIcons.map, "map"),
  new IconDefinition(OpenIconicIcons.mediaPause, "mediaPause"),
  new IconDefinition(OpenIconicIcons.mediaPlay, "mediaPlay"),
  new IconDefinition(OpenIconicIcons.mediaRecord, "mediaRecord"),
  new IconDefinition(OpenIconicIcons.mediaSkipBackward, "mediaSkipBackward"),
  new IconDefinition(OpenIconicIcons.mediaSkipForward, "mediaSkipForward"),
  new IconDefinition(OpenIconicIcons.mediaStepBackward, "mediaStepBackward"),
  new IconDefinition(OpenIconicIcons.mediaStepForward, "mediaStepForward"),
  new IconDefinition(OpenIconicIcons.mediaStop, "mediaStop"),
  new IconDefinition(OpenIconicIcons.medicalCross, "medicalCross"),
  new IconDefinition(OpenIconicIcons.menu, "menu"),
  new IconDefinition(OpenIconicIcons.microphone, "microphone"),
  new IconDefinition(OpenIconicIcons.minus, "minus"),
  new IconDefinition(OpenIconicIcons.monitor, "monitor"),
  new IconDefinition(OpenIconicIcons.moon, "moon"),
  new IconDefinition(OpenIconicIcons.move, "move"),
  new IconDefinition(OpenIconicIcons.musicalNote, "musicalNote"),
  new IconDefinition(OpenIconicIcons.paperclip, "paperclip"),
  new IconDefinition(OpenIconicIcons.pencil, "pencil"),
  new IconDefinition(OpenIconicIcons.people, "people"),
  new IconDefinition(OpenIconicIcons.person, "person"),
  new IconDefinition(OpenIconicIcons.phone, "phone"),
  new IconDefinition(OpenIconicIcons.pieChart, "pieChart"),
  new IconDefinition(OpenIconicIcons.pin, "pin"),
  new IconDefinition(OpenIconicIcons.playCircle, "playCircle"),
  new IconDefinition(OpenIconicIcons.plus, "plus"),
  new IconDefinition(OpenIconicIcons.powerStandby, "powerStandby"),
  new IconDefinition(OpenIconicIcons.print, "print"),
  new IconDefinition(OpenIconicIcons.project, "project"),
  new IconDefinition(OpenIconicIcons.pulse, "pulse"),
  new IconDefinition(OpenIconicIcons.puzzlePiece, "puzzlePiece"),
  new IconDefinition(OpenIconicIcons.questionMark, "questionMark"),
  new IconDefinition(OpenIconicIcons.rain, "rain"),
  new IconDefinition(OpenIconicIcons.random, "random"),
  new IconDefinition(OpenIconicIcons.reload, "reload"),
  new IconDefinition(OpenIconicIcons.resizeBoth, "resizeBoth"),
  new IconDefinition(OpenIconicIcons.resizeHeight, "resizeHeight"),
  new IconDefinition(OpenIconicIcons.resizeWidth, "resizeWidth"),
  new IconDefinition(OpenIconicIcons.rssAlt, "rssAlt"),
  new IconDefinition(OpenIconicIcons.rss, "rss"),
  new IconDefinition(OpenIconicIcons.script, "script"),
  new IconDefinition(OpenIconicIcons.shareBoxed, "shareBoxed"),
  new IconDefinition(OpenIconicIcons.share, "share"),
  new IconDefinition(OpenIconicIcons.shield, "shield"),
  new IconDefinition(OpenIconicIcons.signal, "signal"),
  new IconDefinition(OpenIconicIcons.signpost, "signpost"),
  new IconDefinition(OpenIconicIcons.sortAscending, "sortAscending"),
  new IconDefinition(OpenIconicIcons.sortDescending, "sortDescending"),
  new IconDefinition(OpenIconicIcons.spreadsheet, "spreadsheet"),
  new IconDefinition(OpenIconicIcons.star, "star"),
  new IconDefinition(OpenIconicIcons.sun, "sun"),
  new IconDefinition(OpenIconicIcons.tablet, "tablet"),
  new IconDefinition(OpenIconicIcons.tag, "tag"),
  new IconDefinition(OpenIconicIcons.tags, "tags"),
  new IconDefinition(OpenIconicIcons.target, "target"),
  new IconDefinition(OpenIconicIcons.task, "task"),
  new IconDefinition(OpenIconicIcons.terminal, "terminal"),
  new IconDefinition(OpenIconicIcons.text, "text"),
  new IconDefinition(OpenIconicIcons.thumbDown, "thumbDown"),
  new IconDefinition(OpenIconicIcons.thumbUp, "thumbUp"),
  new IconDefinition(OpenIconicIcons.timer, "timer"),
  new IconDefinition(OpenIconicIcons.transfer, "transfer"),
  new IconDefinition(OpenIconicIcons.trash, "trash"),
  new IconDefinition(OpenIconicIcons.underline, "underline"),
  new IconDefinition(
      OpenIconicIcons.verticalAlignBottom, "verticalAlignBottom"),
  new IconDefinition(
      OpenIconicIcons.verticalAlignCenter, "verticalAlignCenter"),
  new IconDefinition(OpenIconicIcons.verticalAlignTop, "verticalAlignTop"),
  new IconDefinition(OpenIconicIcons.video, "video"),
  new IconDefinition(OpenIconicIcons.volumeHigh, "volumeHigh"),
  new IconDefinition(OpenIconicIcons.volumeLow, "volumeLow"),
  new IconDefinition(OpenIconicIcons.volumeOff, "volumeOff"),
  new IconDefinition(OpenIconicIcons.warning, "warning"),
  new IconDefinition(OpenIconicIcons.wifi, "wifi"),
  new IconDefinition(OpenIconicIcons.wrench, "wrench"),
  new IconDefinition(OpenIconicIcons.x, "x"),
  new IconDefinition(OpenIconicIcons.yen, "yen"),
  new IconDefinition(OpenIconicIcons.zoomIn, "zoomIn"),
  new IconDefinition(OpenIconicIcons.zoomOut, "zoomOut"),
];

class IconDefinition implements Comparable {
  final IconData iconData;
  final String title;

  IconDefinition(this.iconData, this.title);

  @override
  String toString() => 'IconDefinition{iconData: $iconData, title: $title}';

  @override
  bool operator ==(Object other) =>
      identical(this, other) ||
      other is IconDefinition &&
          runtimeType == other.runtimeType &&
          iconData == other.iconData &&
          title == other.title;

  @override
  int get hashCode => iconData.hashCode ^ title.hashCode;

  @override
  int compareTo(other) => title.compareTo(other.title);
}

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  open_iconic_flutter: ^0.3.0

2. Install it

You can install packages from the command line:

with Flutter:


$ flutter packages get

Alternatively, your editor might support flutter packages get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:open_iconic_flutter/open_iconic_flutter.dart';
  
Version Uploaded Documentation Archive
0.3.0 Aug 29, 2018 Go to the documentation of open_iconic_flutter 0.3.0 Download open_iconic_flutter 0.3.0 archive
0.2.0 Dec 4, 2017 Go to the documentation of open_iconic_flutter 0.2.0 Download open_iconic_flutter 0.2.0 archive
0.1.0 Jun 24, 2017 Go to the documentation of open_iconic_flutter 0.1.0 Download open_iconic_flutter 0.1.0 archive
Popularity:
Describes how popular the package is relative to other packages. [more]
85
Health:
Code health derived from static analysis. [more]
100
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
100
Overall:
Weighted score of the above. [more]
93
Learn more about scoring.

We analyzed this package on Oct 10, 2018, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.0.0
  • pana: 0.12.4
  • Flutter: 0.9.5

Platforms

Detected platforms: Flutter

References Flutter, and has no conflicting libraries.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.0.0 <3.0.0
flutter 0.0.0
Transitive dependencies
collection 1.14.11
meta 1.1.6
sky_engine 0.0.99
typed_data 1.1.6
vector_math 2.0.8