zefyr 0.5.0

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

Zefyr Build Status codecov

Soft and gentle rich text editing for Flutter applications.

Zefyr is currently in early preview. If you have a feature request or found a bug, please file it at the issue tracker.

For documentation see https://github.com/memspace/zefyr.

zefyr screenshot

Installation #

Official releases of Zefyr can be installed from Dart's Pub package repository.

Note that versions from Pub track stable channel of Flutter. If you are on master channel check out instructions below in this document.

To install Zefyr from Pub add zefyr package as a dependency to your pubspec.yaml:

dependencies:
  zefyr: [latest_version]

And run flutter packages get.

Installing version of Zefyr compatible with master channel of Flutter. #

You need to add git dependency to your pubspec.yaml that points to flutter-master branch:

dependencies:
  zefyr:
    git:
      url: https://github.com/memspace/zefyr.git
      ref: flutter-master
      path: packages/zefyr

And run flutter packages get.

Continue to https://github.com/memspace/zefyr/blob/master/doc/quick_start.md to learn more about Zefyr and how to use it in your projects.

0.5.0 #

  • Updated to support Flutter 1.2
  • Experimental: Added non-scrollable ZefyrView widget which allows previewing Notus documents inside layouts using their own scrollables like ListView.
  • Breaking change: renamed EditableRichText to ZefyrRichText. User code is unlikely to be affected unless you've extended Zefyr with custom implementations of block widgets.
  • Breaking change: renamed RenderEditableParagraph to RenderZefyrParagraph. User code is unlikely to be affected unless you've extended Zefyr with custom implementations of block widgets.
  • Added ZefyrScope class - replaces previously used scope objects ZefyrEditableTextScope and ZefyrEditorScope. Unified all shared resources under one class.
  • Breaking change: removed ZefyrEditor.of and ZefyrEditableText.of static methods. Use ZefyrScope.of instead.

0.4.0 #

0.3.1 #

  • Fixed autofocus not being triggered when set to true for the first time.
  • Allow customizing cursor color via ZefyrTheme.

0.3.0 #

This version introduces new widget ZefyrScaffold which allows embedding Zefyr in custom layouts, like forms with multiple input fields.

It is now required to always wrap ZefyrEditor with an instance of this new widget. See examples and readme for more details.

There is also new ZefyrField widget which integrates Zefyr with material design decorations.

  • Breaking change: ZefyrEditor requires an ancestor ZefyrScaffold.
  • Upgraded to url_launcher version 4.0.0.
  • Exposed ZefyrEditor.physics property to allow customization of ScrollPhysics.
  • Added basic ZefyrField widget with material design decorations.

0.2.0 #

  • Breaking change: ZefyrImageDelegate.createImageProvider replaced with ZefyrImageDelegate.buildImage.
  • Fixed redundant updates on composing range for Android.
  • Added TextCapitalization.sentences
  • Added docs for embedding images.

0.1.2 #

  • Fixed analysis warnings.
  • UX: User taps on padding area around the editor and in empty space inside it now look for the nearest paragraph to move caret to.
  • UX: Toggle selection toolbar on double tap instead of refreshing it.

0.1.1 #

  • Fixed: Prevent sending excessive value updates to the native side which cause race conditions (#12).

0.1.0 #

  • Initial release.

example/README.md

example #

A new Flutter project.

Getting Started #

For help getting started with Flutter, view our online documentation.

Use this package as a library

1. Depend on it

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


dependencies:
  zefyr: ^0.5.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:zefyr/zefyr.dart';
  
Version Uploaded Documentation Archive
0.5.0 Mar 10, 2019 Go to the documentation of zefyr 0.5.0 Download zefyr 0.5.0 archive
0.4.0 Feb 14, 2019 Go to the documentation of zefyr 0.4.0 Download zefyr 0.4.0 archive
0.3.1 Jan 28, 2019 Go to the documentation of zefyr 0.3.1 Download zefyr 0.3.1 archive
0.3.0 Nov 15, 2018 Go to the documentation of zefyr 0.3.0 Download zefyr 0.3.0 archive
0.2.0 Oct 22, 2018 Go to the documentation of zefyr 0.2.0 Download zefyr 0.2.0 archive
0.1.2 Jul 24, 2018 Go to the documentation of zefyr 0.1.2 Download zefyr 0.1.2 archive
0.1.1 Jul 18, 2018 Go to the documentation of zefyr 0.1.1 Download zefyr 0.1.1 archive
0.1.0 Jul 15, 2018 Go to the documentation of zefyr 0.1.0 Download zefyr 0.1.0 archive
Popularity:
Describes how popular the package is relative to other packages. [more]
88
Health:
Code health derived from static analysis. [more]
93
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
100
Overall:
Weighted score of the above. [more]
92
Learn more about scoring.

We analyzed this package on Apr 19, 2019, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.2.0
  • pana: 0.12.14
  • Flutter: 1.4.7

Platforms

Detected platforms: Flutter

References Flutter, and has no conflicting libraries.

Health suggestions

Fix lib/src/widgets/editable_box.dart. (-2.48 points)

Analysis of lib/src/widgets/editable_box.dart reported 5 hints:

line 97 col 21: Avoid wrapping fields in getters and setters just to be "safe".

line 99 col 3: Avoid return types on setters.

line 99 col 12: Avoid wrapping fields in getters and setters just to be "safe".

line 105 col 3: Avoid return types on setters.

line 111 col 3: Avoid return types on setters.

Fix lib/src/widgets/rich_text.dart. (-2.48 points)

Analysis of lib/src/widgets/rich_text.dart reported 5 hints:

line 70 col 16: Avoid wrapping fields in getters and setters just to be "safe".

line 72 col 3: Avoid return types on setters.

line 72 col 12: Avoid wrapping fields in getters and setters just to be "safe".

line 172 col 7: Avoid using unnecessary statements.

line 184 col 3: Avoid return types on setters.

Fix lib/src/widgets/image.dart. (-1.49 points)

Analysis of lib/src/widgets/image.dart reported 3 hints:

line 102 col 17: Avoid wrapping fields in getters and setters just to be "safe".

line 104 col 3: Avoid return types on setters.

line 104 col 12: Avoid wrapping fields in getters and setters just to be "safe".

Fix additional 3 files with analysis or formatting issues. (-0.50 points)

Additional issues in the following files:

  • lib/src/widgets/selection.dart (1 hint)
  • lib/src/widgets/controller.dart (Run flutter format to format lib/src/widgets/controller.dart.)
  • lib/util.dart (Run flutter format to format lib/util.dart.)

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.0.0-dev.58.0 <3.0.0
collection ^1.14.6 1.14.11
flutter 0.0.0
image_picker ^0.5.0 0.5.4
meta ^1.1.0 1.1.6 1.1.7
notus ^0.1.0 0.1.3
quill_delta ^1.0.0-dev.1.0 1.0.0-dev.4.0
url_launcher ^5.0.0 5.0.2
Transitive dependencies
quiver_hashcode 2.0.0
sky_engine 0.0.99
typed_data 1.1.6
vector_math 2.0.8
Dev dependencies
flutter_test