nirrti 3.1.5+235 copy "nirrti: ^3.1.5+235" to clipboard
nirrti: ^3.1.5+235 copied to clipboard

Owlnext flutter's front-end library

3.1.5+235 #

  • added [labelAxis] prop in [OwlnextDate] [DateInputLayoutModel] to customize the Label - Input axis

3.1.5+234 #

  • removed [OwlnextFormFieldGenerator], nobody used it

3.1.4+232 #

  • added the [readOnly] property to [OwlnextInput]. Can be used as a substitute to the [enabled] property, while keeping the internal scroll of text areas

3.1.4+231 #

  • added [OwlnextMandatoryAsterixRichLabel] widget (to draw unified label with colored mandatory asterix)
  • removed password verification on TextInputType.password of [OwlnextInput] (password should be checked on creation only, not when user types it to login)
  • mapped [OwlnextSelect] mandatoryAsterixColor
  • mapped [OwlnextDate] mandatoryAsterixColor

3.1.3+229 #

  • Finished implementation on [OwlnextColorPicker]

3.1.3+228 #

  • Corrected [OwlnextPasswordCreator] to correctly implement hasOnlyAllowedSpecialChars

  • created a model [OwlnextPasswordValidatorModel] to directly test password validation and added new tests

  • Removed [OwlnextInput] Stack wrapper which was used to show SuffixIcon over the input (fix: rebinded suffixIcon to inputDecoration)

3.1.2+227 #

  • Removed provider dependency (was not used in package anymore)
  • Removed path_provider dependency (was not used in package anymore)

3.1.1+226 #

  • Removed dotted_border dependency (was not used in package anymore)

3.1.0+225 #

  • Removed all extensions & extension methods that was not used by nirrti package
  • Removed all dependencies to intl
  • Removed [OwlnextDatePreview] (heavily relies on intl) and was not used on app-side

3.0.3+224 #

  • Added [mandatoryAsterixColor] attributes to [OwlnextInput] to colorate * from mandatory input label
  • you can set [Artist().mandatoryAsterixColor] to affect all the app [OwlnextInput]
  • Removed depency to material_design_icons_flutter

3.0.2+223 #

  • Added [horizontalLabelWidthOverride] to [OwlnextInput] and [OwlnextRadio]

3.0.1+222 #

  • Commented/Removed depency to file_picker, cross_file, universal_html

3.0.0+221 #

  • Hide [FileUtils] from facade
  • Commented owlnext_utils import in pubspec

2.0.2+220 #

  • Added [errorsDictionnary] props to [OwlnextInput]. Can override all error texts

2.0.1+218 #

  • Added [OwlnextPortalMenu] to nirrti
  • Added [OwlnextScrollableColumn] to nirrti
  • Styling fixes on [OwlnextDigitVerifCode]

2.0.1+217 #

  • Added [isOutlined] to [OwlnextRadio] and [OwlnextCheckbox] for alternative displays

2.0.1+216 #

  • Added [isOutlined] to [OwlnextRadio] and [OwlnextCheckbox] for alternative displays

2.0.1+215 #

  • Added [OwlnextFormWrapper] to nirrti
  • Added [OwlnextListView] wrapper to nirrti

2.0.0+214 #

  • Fixed a ParentDataWidget issue on OwlnextSelect

2.0.0+213 #

  • Added [iconStyleData] to [OwlnextSelect] in order to customize the end action icon

2.0.0+212 #

  • edited [OwlnextAutocomplete], now uses a shrinkwrap ListView inside dropdown (boxShadow & borders now works correctly on dropdown box decoration) ps: SingleChildScrolView was cropping borders and shadows effects, this is why we moved to ListView

    featuring widget attributes:

    ///inside [OwlnextAutocomplete], to overriode Artist global attribute
    final BoxDecoration? dropdownDecoration;
featuring Artist attributes:
    /// Directly in Artist() configuration
    /// autocompleteDropdownBoxDecoration boxDecoration attribute specicaly for autocomplete (will override dropdownBoxDecoration if mapped)
    BoxDecoration? autocompleteDropdownBoxDecoration;

2.0.0+211 #

  • added [OwlnextDigitVerifCode] featuring attributes:
    /// lenght of the digit code user has to type
    final int codeLength; 

    /// callback anytime the code was changed by user
    final void Function(String) onCodeChange; 

    /// handle coloring, border radius and more. Basicaly all the styling of the widget
    final OwlnextDigitVerifCodeStyle? style; 

    ///show or not the digit code deletion button (digit by digit)
    final bool showDeleteDigitButton;

1.0.7+206 #

  • added check visiblity on confirmPassword to [OwlnextPasswordCreator]
  • repaired floating label version

1.0.7+205 #

  • added passwordHintText & confirmHintText props to [OwlnextPasswordCreator]
  • also added fallback

1.0.7+203 #

  • added enabled & isMandatory props to [OwlnextAutocomplete]

1.0.7+202 #

  • removed [flutter_tts] package

1.0.7+201 #

  • upgrade [record] and [flutter_tts] package

1.0.7+200 #

  • Removed web copy / paste feature on [OwlnextDropzone]

1.0.7+199 #

  • Removed inspect from [OwlnextDropzone] view

1.0.7+198 #

  • Ignore pointer and interraction on disabled [OwlnextSelect],

1.0.7+197 #

  • Fix problems on datePlusTime validation logic [OwlnextDate],

1.0.7+196 #

  • Added a reset function to [TextToSpeechProvider], to reset all the parameters and update the views

1.0.7+195 #

  • Updated [OwlnextDropzone] with copy / paste feature on Android & iOS devices

1.0.7+193 #

  • Fix theming differences between [OwlnextDate], [OwlnextTime] and other nirrti inputs
  • Removed spacing uses

1.0.7+192 #

  • Introduces [OwlnextTime] widget. Basically the same as DateTime but for hour:minute only
  • Update [OwlnextDate] widget:
    • label use textTheme
    • removed hard coded en local for date picker

1.0.7+191 #

  • Update [OwlnextButton] to be able to fit to it's child :
    • deprecated customWidth (still usable, no breaking-change)
    • added minWidth (replacement of deprecated customWidth)
    • added isExpanded property
    • added padding property
  • Update [Artist] :
    • added buttonMinHeight parameter

1.0.7+190 #

  • Introduces [OwlnextDate] widget:
  DateTime? date; //mutable date to pass
  DateConstraints constraints; // constraints of the date
  bool mandatory;
  bool enabled;
  Function(DateTime? date) onChanged; // callback to affect top layer state
  DatePreviewModel? datePreview; // to preview the top level date
  Widget? globalLabel;
  String? dateLabel;
  String? timeOfDayLabel;
  DateTimeDictionary? dictionnary; //to overide error trads
  DateInputLayoutModel layout; //to organise views

1.0.7+187 #

  • Fix [OwlnextInput] to not check the format (ex: date, email...) when the input's value is empty and not required

1.0.7+186 #

  • Update [OwlnextInput] with physics property to override in text areas (mainly for web)

1.0.7+183 #

  • Update [OwlnextDropzone] can specify maxAllowedSize (default to 10Mo when no specified)

1.0.7+182 #

  • Update [OwlnextInput] to check [TextInputType] validator even when [isMandatory] is [false]

1.0.7+181 #

  • Added [isWrapped] props in [OwlnextRadio]
  • Fixed the Column view of [OwlnextRadio] and [OwlnextCheckbox], added the [Artist.labelBottomSpace]

1.0.7+180 #

[OwlnextInput] & [OwlnextSelect] reverted to autovaliteMode.disabled to avoid focus incoherences. indeed, autovaliteMode.onUserInteraction revealed to be instable with focus managing, so... sorry

1.0.7+179 #

[CustomDocumentIconResolver] handled gif, webp, bmp format in resolving

1.0.7+178 #

[CustomDocumentIconResolver] pdf color mapped to Colors.red instead of ColorScheme.onError

1.0.7+177 #

refactored & unified [OwlnextDropzone] different sizes

  • added image previsualisation
  • added maxFileItemWidth to constraint preview

1.0.7+176 #

inputDecoration copyWith overrides:

  • mapped hintText for [OwlnextInput].
  • mapped label for [OwlnextSelect];

1.0.7+175 #

  • !IMPORTANT! Fix [OwlnextSelect] isMandatory props which worked only when hasSearch was passed as true. Now validator is executed in any case
  • [OwlnextSelect] & [OwlnextInput] now handles error clearing after user validated once. the error will stay display until the field is corrected

1.0.6+174 #

  • Fix [maximumDate] and [minimumDate] props on the [OwlnextInput] datepicker
  • Add documentation on the string_extensions input formatters

1.0.6+173 #

  • Fix labelText on [InputDecoration] override on [OwlnextInput]

1.0.6+172 #

  • Removed required on [OwlnextAudioPlayer] onDelete prop

1.0.6+170 #

Corrected UI implementation of disabled outlined button variant of [OwlnextButton]

1.0.6+165 #

Added enabled attribute to [OwlnextDropzone] (default is set to true, to avoid breaking changes)

1.0.6+163 #

Added a method to [FileUtils] to get all the bytes list

    // Retreives all the bytesList from the filesList
    List<Uint8List> bytesArray = await fileUtils.getBytes(fileUtils.filesList);

1.0.6+160 #

Added prop to [Artist] : - onErrorColor Mapped onError color from Theme.of(context).cs.onError onto icon and text of error snack

1.0.6+159 #

Added props to [OwlnextDropzone]

  • isMandatory handling form validation
  • onAddedFile callback called when a file was added to the fileUtils
  • onDeletedFile callback called when a file is delete from fileUtils

1.0.6+157 #

Added [Axis] parameter to [OwlnextTextToSpeech]

1.0.6+156 #

Added parameters to handle [OwlnextDropzone] copy / paste feature. If enabled, you can

  • [ctrl] + [v] in order to paste the current copied file path inside the [OwlnextDropZone]
  • Right click to have a contextual menu to paste the current copied file path

Added [OwlnextContextualMenu], to show a right-click contextual menu

  • [buttons] specifies the list of actions inside the contextual menu
  • [child] is the wrapped child

1.0.5+154 #

Added parameters to handle [OwlnextDropzone] wording, added nullable attributes to overide default texts: - mainText: the upper part text (ex: Import file) - helpText below the mainText (ex: Click here or drag to import)

also updated default values of those texts and handled singular/plural versions according to fileUtils.isMultiupload attribute.

[WARNING] @deprecated isMultiupload param

1.0.5+153 #

Added parameters to handle [OwlnextDropzone] theming, added nullable attributes to overide default theme: - textColor (text color) - draggingColor (color on dragging) - backgroundColor (background of the zone) - destructiveColor (color for delete file icon)

#[BREAKING CHANGE]# destructiveColor was previously mapped on onError color, now it's mapped to error, (you might redeclare onError and error color in the colorscheme if it does not follow theming good practices)

1.0.4+152 #

Minor fixes to the [FileUtils] conditionnal imports

1.0.4+150 #

Direct wrapper to access NirritExamplePage anywhere in your app code

//Inside main.dart, wrap your app child like this, just below SafeArea
SafeArea(
    child: FloatingNirrtiExample(
        child: child, // application child
    ),
),

1.0.4+149 #

Added Mixins to the [FileUtils] class

  • You can now import [FileUtils] on any device type (web and non-web) seemlessly
  • The conditional import is integrated within the Nirrti package, nothing to do to implement it anywhere else

1.0.4+148 #

Hotfix on [OwlnextInput] widget Tagged the [datePickerCallback] property onto the [hours] input type.

1.0.4+147 #

Colorize the [OwlnextLoading] with new Artist() configuration attributes:

  • Color? loaderLeftDotColor;
  • Color? loaderRightDotColor;
  • Color? loaderCircularColor;

In you initArtist() function, affect these:

Artist().loaderLeftDotColor = Colors.red;
Artist().loaderRightDotColor = Colors.orange;
Artist().loaderCircularColor = Colors.blue;

1.0.4+146 #

Added ColorScheme exporter first version in [NirrtiExamplePage]. To generate a colorScheme:

  • go in ColorScheme section
  • open a colorPicker of a theme variable
  • click ok, it will be copied to your clipboard.

1.0.4+145 #

Restructured [NirrtiExamplePage] layout, now it's more suitable for extension:

  • Added TextTheme checker
  • Added ColorScheme checker
  • Added Wireframe example
  • Added a light/dark theme switcher in Artist configuration pannel
  • Added a return callback handleClickReturn on NirrtiExamplePage

In order to implement light/dark theme checker in your project, you must provide a new parameter populateThemeMode to NirrtiExample. Your NirrrtiExamplePage should be wrapped by a ThemeWrapper that can handle themeMode switch

if (kDebugMode)
GoRoute(
    path: "/nirrti",
    pageBuilder: (context, state) => CustomTransitionPage(
    transitionsBuilder: (context, animation, secondaryAnimation, child) => FadeTransition(opacity: animation, child: child),
    child: ThemeWrapper( //ThemeWrapper is a consumer that redraw widget tree with the newest theme mode
        child: NirrtiExamplePage(
            handleClickReturn: () {
                context.go('/'); //specify wherever you want to return on click return
            },
            populateThemeMode: (mode) {
                ///if you use ThemeProvider: implement as following
                Provider.of<ThemeProvider>(context, listen: false).populateThemeMode(mode);
            },
        ),
    ),
),

1.0.4+144 #

Fixed data_table2 package version to 2.5.15 in order to avoid compiler issues

1.0.4+143 #

Correction on [OwlnextTextToSpeech] component

  • Fixed a critical issue on Windows with the stop & play security
  • Added 'fr-FR' on the [TextToSpeechProvider] language setter

1.0.4+142 #

Added outlined variant of buttons on [OwlnextButton] component

  • isOutlined attribute has to be set to true to override default value
    OwlnextButton(
        callback: ...
        isOutlined: true,
        child: const Text('...')
    ),

Also added a new tab (OlwnextButton) to NirrtiExamplePage with related examples

1.0.4+141 #

Correction on [OwlnextDropZone] component

  • A toLowerCase() has been added to the extension verification algorithm (in order to verify JPG, JPEG and PNG files)

1.0.4+140 #

The searchInput in [OwlnextSelect] with hasSearch option does now requestFocus on appearance.

1.0.4+139 #

Added hasSearch property to [OwlnextSelect]. When true, a front searchbar appears. You can customize the search label with the property searchLabel.

OwlnextSelect(
    value: value,
    hasSearch: true,
    searchLabel: "Rechercher une option...",
    items: [
        ...
    ],
    onChanged: (String value) {
        ...
    },
    label: "Label",
);

1.0.4+138 #

Added attribute passwordConditionsPosition to [OwlnextPasswordCreator] to configure the display position of the password validity conditions compared to password inputs. Possible positions are :

enum PasswordConditionsPosition {
  before, //before both password inputs
  after, //after both password inputs
  inbetween, //in between password inputs
}

Default value in [OwlnextPasswordCreator] is after.

You can override the default value this way:

OwlnextPasswordCreator(
    passwordConditionsPosition: PasswordConditionsPosition.before,
),

1.0.4+137 #

Added the final version of [OwlnextTextToSpeech], with auto colorization and reworks on user actions

  • You can now Pause and Stop the current TTS instance anytime

1.0.3+136 #

Added more widget examples to [NirrtiExamplePage], especialy on [OwlnextInput] to showup and test mandatory and enabling states on email and date type.

  • started to implement an Artist() configurator (very basic ATM)

To reinit the overiden Artist() singleton configuration, provide your project's initArtist() function to the following props

NirrtiExamplePage(
    initArtist: () {
        initArtist(isDarkMode: ThemeUtils.isDarkMode());
    },
),

also added an example tab to showup and [OwlnextPasswordCreator]

1.0.3+135 #

Added importable [NirrtiExamplePage] page widget

  • At the moment, it provides unclassified example of [OwlnextInput], [OwlnextSelect], [OwlnextAutocomplete], [OwlnextTable], [OwlnxtDropzone], [OwlnextButton] & [OwlnextRadio]

Nirrti package's user can call it on their project router (helps to preview Artist() configuration in different Theming environment)

if (kDebugMode)
GoRoute(
    path: "/nirrti",
    pageBuilder: (context, state) => CustomTransitionPage(
        transitionsBuilder: (context, animation, secondaryAnimation, child) => FadeTransition(opacity: animation, child: child),
        child: NirrtiExamplePage(),
    ),
),

1.0.3+134 #

Fix [OwlnextPasswordCreator] component toggle password visibility state inversion

1.0.3+133 #

Feature the first version of [OwlnextPasswordCreator] component

  • easy to instanciate password creator passing two [TextEditingController] (password + confirmPassword) alongside passwordValidityCallback Function

[OwlnextPasswordCreator] wrap in itself another standalone component [OwlnextPasswordConditions] which is responsible for displaying and validating the passwords conditions

  • More precisely, passwordValidityCallback is called by [OwlnextPasswordConditions] to retrieve a allConditionAreMet bool to update the password validity state used at top level (at package's user implementation level)

Also include:

  • password visibility toggler (UX concers: toggle password obscuration)
  • passwordInputDecoration & confirmInputDecoration overides (for password input styling)
  • innerInputTextStyle overides (for password input styling)
  • inputGap (space between password inputs)
  • explicationsTextStyle (to stylize the passwordValidityCondition textStyles)
  • isForgottenVersion (bool to derivate labelText)

1.0.3+132 #

Added properties to Artist configuration:

  • inputDecoration (with overides onto [OwlnextInput] and [OwlnextSelect])

  • innerInputTextStyle (with overides onto [OwlnextInput] and [OwlnextSelect])

  • dropdownBoxDecoration (with overides [OwlnextSelect])

  • Changed handlePickFile function for ios compatibility (now requires file picker result as an argument)

  • Changed OwlnextDropzone accordingly

  • File utils restructuration for conditional import (web / io)

1.0.3+129 #

  • New OwlnextCustomizableTable using DataTable2, kept the OwlnextTable for simple ones

1.0.1+110 #

  • set enabled property to DropdownButtonFormField2 to fix border and text color when input is disabled

1.0.0+100 #

  • Update SDK to support Flutter 3.22

0.0.91+2 #

  • Fixed [OwlnextRadio] options tap detection

0.0.90 #

  • Added [useTwistedDots] property on OwlnextLoading

0.0.87 #

  • Added OwlnextSideScroll as a widget

0.0.83 #

  • Reverting intl to 0.18.* to downgrade to flutter sdk version 3.19.3 for compatibility

0.0.81 #

  • Changing Fields DTO

0.0.80 #

  • Update SDK 3.22

0.0.79 #

  • Fixed intl package for flutter 3.22.*

0.0.78 #

  • Added textInputAction props to specify the validate behavior.

0.0.77 #

  • Revert intl package to 0.18 for compatibility with stable channel

0.0.76 #

  • Update intl package to 0.19

0.0.75 #

  • Adding copy to clipboard button in OwlnextInputs

0.0.74 #

  • Adding OwlnextTapOutsideWrapper to normalize outside closing clicks

0.0.72 #

  • Adding OwlnextActionsButton with dropdown actions on click

0.0.62 #

  • Fixing OwlnextAutocomplete shadows and empty behavior

0.0.61 #

  • Fixing OwlnextAutocomplete width

0.0.6 #

  • Completed OwlnextAutocomplete with custom width, correct dropdown height, suffix & prefix icons, hint texts and loading time / delay on change

0.0.5 #

  • Added OwlnextDropzone, OwlnextButton, OwlnextHelper, OwlnextRadio, OwlnextTable & OwlnextLoading

0.0.4 #

  • Added OwlnextSelect & OwlnextAutocomplete

0.0.1 #

  • initial release