Hiding the implementation files is best practice according to Dart
organising a library package, https://bit.ly/3fA23Yz. It also helps
us to know which files we can change without worrying about breaking
changes.
The PR is not a breaking change, because the classes can still be
imported via the old files. In the next breaking change update, these
old files can then be removed.
No functionality was changed in the PR.
This improves separation of concerns for the RawEditor by moving
the code for the text selection delegate to a separate class,
furthermore add more comments.
The PR does not change the functionality of the code.
Improve separation of concerns for `RawEditor` by moving the code
for the keyboard to a separate class, furthermore add more comments.
The PR does not change the functionality of the code.
* updating checkbox to handle tap
* updating checkbox to handle long press and using UniqueKey() to avoid weird side effects
* removed useless doc
Co-authored-by: Kevin Despoulains <kevin.despoulains@scriptandgo.com>
I also restructured the code slightly to make it more readable
and fixed some minor bugs in the desktop and web version.
I also noticed that the image button doesn't work in the desktop
version as well as in the web version. This is not part of the PR.
Closes#137.
Annotating types for function expression parameters is usually
unnecessary because the parameter types can almost always be
inferred from the context, thus making the practice redundant.
Declaring variables as final when possible is a good practice
because it helps avoid accidental reassignments and allows the
compiler to do optimizations.