niku 2.3.1
niku: ^2.3.1 copied to clipboard
Property builder for styling Widget with SwiftUI like pattern
2.3.1 - 2022-06-16 #
Bug Fix:
- Add
.copiedDeepto resolve StyleSheet overwrite inNikuButton
2.3.0 - 2022-06-11 #
Breaking Change:
- Rename the following property on
Image:circleProgress->useCircleProgresslinearProgress->useLinearProgress
- Rename
ontodeps, andonGesturetoon. - Add
labelTextas replacement oflabelwhich is now acceptWidget - Move
useTextStyletouseNikuTextStyleinNikuButtonto adduseTextStyleforNikuState - Remove
useNiku,nikuConstraints,nikuPadding,nikuMarginfromNikuand Parent Proxy.
Feature:
- Add material 3 shortcut.
sparkleonNikuButtonas shortcut for..splashFactory = InkSparkle.splashFactory- Add Material 3 Typography initialzation shortcut, and Text Factory
- displayLarge
- displayMedium
- displaySmall
- titleLarge
- titleMedium
- titleSmall
- bodyLarge
- bodyMedium
- bodySmall
- labelLarge
- labelMedium
- labelSmall
- Internal architecture changed called
Tempestissimo.- Significant performance improvement, parent builder rewrite
- Parent Property builder now lazily executed
- Flatten and parent property
- Add
ExplictParentBuilderto quickly handle single use of parent builder - New hook:
useShadow - Add new property,
borderRadius,shadow,highlightColor,focusColor,hoverColor
Change:
- Add .offstage, .show shortcut
- Update .useScrollbar to Flutter 3
- .hidden now based on Offset
- Initial work with Flutter 3 and Material3.
useThemeSelectornow can accept nullable value- Refactored Proxy, now has 50% less code and much more cleaner
- Parent Builder architecture rewrite, name
Tempestissimo. roundednow useNikuRoundedunder the hood to auto inherits borderRadius for next builder, eg.shadows, andborder.- Deprecate
UseQueryMacro<T>, merged intoNikuBuildMacro<T>
Bug fix:
- Text Theme doesn't update on Brightness change
- _applyConstraints, _applyPadding, _applyPositions cause Stackoverflow
- Gap now doesn't use square ratio, the content cross-dimension is now preserved.
2.3.0-experimental.4 - 2022-06-09 #
Breaking Change:
- Rename the following property on
Image:circleProgress->useCircleProgresslinearProgress->useLinearProgress
- Rename
ontodeps, andonGesturetoon. - Extra hook doesn't work with Tempest Engine, eg.
useScreen,useThemeSelector useScreenbreak BuildContext on Flutter 3
Change:
- Add .offstage, .show shortcut
- Update .useScrollbar to Flutter 3
- .hidden now based on Offset
2.3.0-experimental.3 - 2022-05-16 #
Breaking Change:
- Pass context to
get widgetresults inwidget(BuildContext context) - Rename
ontodeps, andonGesturetoon.
Feature:
- Add material 3 shortcut.
sparkleonNikuButtonas shortcut for..splashFactory = InkSparkle.splashFactory- Add Material 3 Typography initialzation shortcut, and Text Factory
- displayLarge
- displayMedium
- displaySmall
- titleLarge
- titleMedium
- titleSmall
- bodyLarge
- bodyMedium
- bodySmall
- labelLarge
- labelMedium
- labelSmall
Bug fix:
- Text Theme doesn't update on Brightness change
2.3.0-experimental.2 - 2022-04-11 #
Breaking Change:
- Add
labelTextas replacement oflabelwhich is now acceptWidget
Change:
- Initial work with Flutter 3 and Material3.
useThemeSelectornow can accept nullable value
Bugs fix:
- Extra hook doesn't work with Tempest Engine, eg.
useScreen,useThemeSelector useScreenbreak BuildContext on Flutter 3
2.3.0-experimental.1 - 2022-04-09 #
Breaking Change:
- Move
useTextStyletouseNikuTextStyleinNikuButtonto adduseTextStyleforNikuState
Change:
- Refactored Proxy, now has 50% less code and much more cleaner
Bugs fix:
- _applyConstraints, _applyPadding, _applyPositions cause Stackoverflow
2.3.0-experimental.0 - 2022-04-08 #
Breaking Change:
- Remove
useNiku,nikuConstraints,nikuPadding,nikuMarginfromNikuand Parent Proxy.
Feature:
- Internal architecture changed called
Tempestissimo.- Significant performance improvement, parent builder rewrite
- Parent Property builder now lazily executed
- Flatten and parent property
- Add
ExplictParentBuilderto quickly handle single use of parent builder - New hook:
useShadow - Add new property,
borderRadius,shadow,highlightColor,focusColor,hoverColor
Change:
- Parent Builder architecture rewrite, name
Tempestissimo. roundednow useNikuRoundedunder the hood to auto inherits borderRadius for next builder, eg.shadows, andborder.- Deprecate
UseQueryMacro<T>, merged intoNikuBuildMacro<T>
Bugs fix:
- Gap now doesn't use square ratio, the content cross-dimension is now preserved.
2.2.4 - 2022-03-23 #
Feature:
- Add
sliverToBox,useForm, andformKeyto Parent Proxy
2.2.3 - 2022-03-23 #
Feature:
- Add
useTitle,useContenttoNikuAlert - Add
sliverToBox,useForm, andformKeytoNiku
Bugs fix:
- Set
borderColortotransparenton callingnoUnderlineonTextFormField .gapnot working withRow
2.2.2 - 2022-03-21 #
Bugs fix:
NikuListTile.applynot applying parent property
2.2.1 - 2022-03-21 #
Feature:
- Add
.roundedtoNikuImage - Add
FocusNodeMacro, addinguseFocusNode,useFocus - Add
useTitle,useSubtitle,useLeading,useTrailing
2.2.0 - 2022-03-18 #
Improvement:
- Reduce Time Complexity of hooks from
UseQueryMacrofrom O(n(2i + p)) to O(n) where n is property, p is parent total callstack, and i is total invocation. By passing widget self as reference instead of immutable copied then diffing, and apply The following hooks benefits in performance improvement:- useQuery
- useSize
- useDarkMode
- useThemeSelector
- useScreen
Feature:
- New parent proxy available for all widget:
- expanded
- flex
- fullSize
- fullWidth, wFull, w100
- fullHeight, hFull, h100
- fractionSize, sizePercent
- fractionWidth, fractionW, fw, wFactor, widthPercent, wPercent
- fractionHeight, fractionH, hw, hFactor, heightPercent, hPercent
- boxConstraints
- nikuConstraints
- maxSize
- minSize
- maxWidth, maxW, wMax
- minWidth, minW, wMin
- maxHeight, maxH, hMax
- minHeight, minH, hMin
- width, w
- height, h
- useGesture
- New parent proxy available for AxisLayourProxy
- alignTopLeft
- alignTopCenter
- alignTopRight
- alignCenterLeft
- alignCenter
- alignCenterRight
- alignBottomLeft
- alignBottomCenter
- alignBottomRight
- New widget:
NikuRadio,NikuRadioListTile,NikuDismissible
- New hook:
useTransition,useTransitions - Add property:
splash,wFactor,hFactortoNiku - New utility widget
NikuAnimated,NikuAnimateds - New proxy:
ListTilewithdismissforNikuDismissible
Change:
- Move part of
AxisProxytoNikuBuildMacro - Refactor, and organize examples
Bug fixes:
obscureCharacternot working inNikuTextFormField
2.2.0-experimental.1 - 2022-03-17 #
Improvement:
- Reduce Time Complexity of hooks from
UseQueryMacrofrom O(n(2i + p)) to O(n) where n is property, p is parent total callstack, and i is total invocation. By passing widget self as reference instead of immutable copied then diffing, and apply The following hooks benefits in performance improvement:- useQuery
- useSize
- useDarkMode
- useThemeSelector
- useScreen
Feature:
- New parent proxy available for all widget:
- expanded
- flex
- fullSize
- fullWidth, wFull, w100
- fullHeight, hFull, h100
- fractionSize, sizePercent
- fractionWidth, fractionW, fw, wFactor, widthPercent, wPercent
- fractionHeight, fractionH, hw, hFactor, heightPercent, hPercent
- boxConstraints
- nikuConstraints
- maxSize
- minSize
- maxWidth, maxW, wMax
- minWidth, minW, wMin
- maxHeight, maxH, hMax
- minHeight, minH, hMin
- width, w
- height, h
- useGesture
- New parent proxy available for AxisLayourProxy
- alignTopLeft
- alignTopCenter
- alignTopRight
- alignCenterLeft
- alignCenter
- alignCenterRight
- alignBottomLeft
- alignBottomCenter
- alignBottomRight
Change:
- Move part of
AxisProxytoNikuBuildMacro - Refactor, and organize examples
Bug fixes:
obscureCharacternot working inNikuTextFormField
2.2.0-experimental.0 - 2022-03-14 #
Feature:
- New widget:
NikuRadio,NikuRadioListTile,NikuDismissible - New hook:
useTransition,useTransitions - Add property:
splash,wFactor,hFactortoNiku - New utility widget
NikuAnimated,NikuAnimateds - New proxy:
ListTilewithdismissforNikuDismissible
2.1.1 - 2022-03-10 #
Bug fix:
- Unmatch filename with capital case
- Remove
printfromPaddingMacro
2.1.0 - 2022-02-28 #
Breaking Change:
flexibleis nowflex- Deprecated required value of
TextFormFieldin favor ofhint.- To migrate, please add factory
.hintor add it asnamed parameter
- To migrate, please add factory
Feature:
- Add mandatory shortcut to
AxisLayoutProxy - Add
useThemeSelectorfor declarativeuseDarkMode - Support all factory method for
NikuGridView - Add
NikuListView - Add
AxisLayoutMacro - Add
.center,.w100,safeAreatoAxisLayoutMacro - Add
ofalias forapply
Change:
AxisLayoutMacrois nowAxisLayoutProxyborderWidthis nowbaseBorderWidthto follow the same convention withborder,borderColor, andborderStyleon proxy- Remove function allocation from
_initofMapTextStyleMacro - Add
centertoNikuColumn, andNikuRow - Replace
childrenWithGapwith$internalComposeGapinGapMacro - Add
gapproperty to AxisLayout - gap can now be applied
childrenWithGapnow only composed on build
Bug fix:
useDarkModeanduseThemeSelectornot switching context between- Fix
'owner!._debugCurrentBuildTarget == this': is not true.when usinguseDarkMode
2.1.0-experimental.4 - 2022-02-28 #
Breaking Change:
flexibleis nowflex
Feature:
- Add mandatory shortcut to
AxisLayoutProxy
Change:
AxisLayoutMacrois nowAxisLayoutProxy
2.1.0-experimental.3 - 2022-02-27 #
Feature:
- Add
useThemeSelectorfor declarativeuseDarkMode
Bug fix:
useDarkModeanduseThemeSelectornot switching context between
2.1.0-experimental.2 - 2022-02-27 #
Breaking Change:
- Deprecated required value of
TextFormFieldin favor ofhint.- To migrate, please add factory
.hintor add it asnamed parameter
- To migrate, please add factory
Change:
borderWidthis nowbaseBorderWidthto follow the same convention withborder,borderColor, andborderStyleon proxy
Bug fix:
- Fix
'owner!._debugCurrentBuildTarget == this': is not true.when usinguseDarkMode
2.1.0-experimental.1 - 2022-02-23 #
Feature:
- Support all factory method for
NikuGridView - Add
NikuListView - Add
AxisLayoutMacro - Add
.center,.w100,safeAreatoAxisLayoutMacro - Add
ofalias forapply
Change:
- Remove function allocation from
_initofMapTextStyleMacro - Add
centertoNikuColumn, andNikuRow - Replace
childrenWithGapwith$internalComposeGapinGapMacro - Add
gapproperty to AxisLayout - gap can now be applied
childrenWithGapnow only composed on build
Bug fix:
- Remove
printfromPaddingMacro
2.1.0-experimental.0 - 2022-02-23 #
Feature:
- Text Style Proxy, Button Proxy, TextFormField Proxy
- Add
ConstraintsMacrotoNikuInputDecoration - Add
useTextStyletoDropdownButton - Add State Utility Hooks to
NikuButton - Add
colorsetter toNikuButtonStyle
Change:
borderis nowbaseBorder, andallBorderis nowborder- margin property now uses
Paddinginstead ofContainerbecause that's how native Flutter doing it. Yes, margin is actually padding in Flutter.
2.0.0 - 2022-02-21 #
Base on 2.0.0-rc.8
Simply an entire rewrite, read more at version 2 introduction
2.0.0-compat.0 - 2022-02-21 #
Base on 2.0.0-rc.8
A compatibility version for working with both v1 and v2 for gradually migrating from v1.
To gradually migrate from v1, simply replace all:
// From
import 'package:niku/niku.dart';
// into
import 'package:niku/v1/niku.dart';
You can easily use IDE like VS Code to find and replace all package:niku/ with package:niku/v1/ then it should work just fine, gradually migrate from v1.
2.0.0-rc.8 - 2022-02-20 #
Bux Fix:
- Add
copiedto NikuImage, NikuSlider, NikuRangeSlider. - Apply parent builder to
copiedmethod
2.0.0-rc.7 - 2022-02-20 #
Feature:
- New
useonNikuWidgetto apply multiple styles at once - Add
useBorder,useRoundedBorder - Add
applytoNikuIcon - Add
WidthHeightMacro
Change:
- Add
Full Macroconventions - Use Parent Builder stack instead of direct setter to support apply parent styling
Bux Fix:
- Fix wrong spelling of
actionPb - Use
Full MacroonAlert - n.showDialog now accepts any widget
2.0.0-rc.6 - 2022-02-19 #
Change:
- showNikuDialog now accepts any widget
2.0.0-rc.5 - 2022-02-17 #
Bug Fix:
- Add default
.roundedtoNikuButton - Fix gap inserted to last children
- Fix Column with gap required at least 1 children
2.0.0-rc.4 - 2022-02-14 #
Breaking Change:
- Remove
NikuImage.filefactory to support web platform.
2.0.0-rc.3 - 2022-02-14 #
Breaking Change:
- Remove cached network image due to not supporting all platform yet.
2.0.0-rc.2 - 2022-02-13 #
Feature:
- Add
.quarterTurns,bgBlur,clipRect,clipOvaltoNiku
Change:
- Remove default styling from
NikuTextto match default Flutter Text, eg. TextBasis.
Bug fixes:
AxisMacronot assigning wrong field name
2.0.0-rc.1 - 2022-02-13 #
Breaking Change:
- Migrate
.useScreentouseSize - Migrate
.useQueryto.useScreen - Migrate
.useEventstouseGesture - Remove
TransformSelectableText
Feature:
- Add
.useQueryto handleMediaQueryData - Add
useBorder,useNikuBorder,useBorderColor,useBorderWidthhook - Add
.useDarkModeto handle element styling on Dark Theme - Add
n.Image.cacheto useCacheNetworkImage
Bug fixes:
- Correct
focusedErrorBordersetter name
2.0.0-experimental.4 - 2022-01-31 #
Breaking Change:
- Remove
asNikuon Widget (still working for object) - Migrate
.useOntouseEvents
Feature:
- Add
.focusColor,.splashColor,highlightColor,hoverColortoNikuCheckboxListTile - Add
.adaptivetoNikuAlert - Add
.adaptivetoSwitch - Add
.adaptivetoNikuTextFormField - Add
NikuShowDialogto handle adaptive dialog - New
NikuQuerywidget
Bug fixes:
.onproperty inNikudoesn't passing dependencies to concilation process
2.0.0-experimental.3 - 2022-01-29 #
Feature:
- Add
useQueryanduseScreenproperty, read more about it here
Bug fixes:
.onproperty inNikudoesn't passing dependencies to concilation process
2.0.0-experimental.2 - 2022-01-25 #
Feature:
- Game Changing,
NikuOn,.onand.freezedproperty, read more about it here NikuDropdownButtonwidget forDropdownButton
Bug fixes:
- Change from Nullish cascade equality to nullish check to override
useStyle's style
Breaking Change:
- Migrate
.useStyleto.useTextStyle()onNikuText. - Migrate
.useStyleto.useButtonStyle()onNikuButton. - Change
.useStyleto.useButtonStyle()onNikuButton. - Migrate
.useBuilder,useParenttouseChildonNiku. - Migrate from
.valueto.widgeton every Niku component. - Migrate from
styletotextStyleon every Niku component.
2.0.0-experimental.1 - 2021-12-16 #
- Namespace
- Selectable Text
1.1.3 2021/9/30 #
Thanks to y-pakron for fixing the bug!
This release fix the expanded method to be flexible on NikuCore where I overlook.
Without this PR, we are going to have time confusion of why flexing doesn't work!
Bug fixes:
- Apply
flexparameter toexpandedonNikuCore
1.1.2 2021/7/20 #
Thanks to dmitrijkiltau for contribution!
This release add the nullable onTap on NikuButton, also adding the example for that.
Bug fixes:
- Nullable onTap on
NikuButton
1.1.1 2021/7/11 #
Big thanks to y-pakorn for this release! He contribute to Niku for a several PR now, in fact, this entire release is happend because of his contribution which solved bug caused by my clumsiness, tee hee~
Feature:
- Add
mainAxisSizetoNikuColumnandNikuRow
Bug fixes:
- Fixes
.fullWidth()which cause full height. - Makes error text optional on
NikuTextField.
1.1.0 2021/6/2 #
Feature:
- selectable text
1.0.5 2021/4/24 #
Bug fix:
- builder return Widget instead of Niku.
1.0.4 2021/4/24 #
Bug fix:
- log
1.0.3 2021/4/24 #
Bug fix:
- builder return void.
1.0.2 2021/4/24 #
Feature:
- add
.scrollbarto base. - add
.style,.themeto text.
1.0.1 2021/4/7 #
Breaking Change:
- Remove
.textfrom NikuText.
Change:
- Adding final to constructor parameter.
Bug fix:
- Fix key not setting for several widget.
- Fix
animatedandanimatedBuildernot working.
1.0.0 2021/4/7 #
Bug fix:
this.access property.
1.0.0-alpha.4 2021/4/1 #
Feature:
- Add
NikuWrap - Add
formtoNikuBase. - Add
focusedErrortoTextFieldborder input.
Bug fix:
applyusing unexpected share property.applyonNikuTextFieldwithoutAlignVerticalcause build to failed.
1.0.0-alpha.3 2021/3/31 #
Feature:
- Add
cursorto IconButton. - Add the following property to
IconButton:size,minSize,minimumSizemaxSize,maximumSizeminWidth,minimumWidthminHeight,minimumHeightmaxWidth,maximumWidthmaxHeight,maximumHeight
- Boolean method on
NikuTextFieldnow has default value oftrue.
Breaking Change:
- Rename
bordertobandsetBordertoborder. - Change
obscureTextFormFieldtoobscureTexton NikuTextField. - Add
asPasswordon NikuTextField. - Remove
disabledSmartDashesanddisabledSmartQuotes. enableSmartQuotesandenableSmartDashesnow accept option boolean default as true.- Change from
inputDecorationEnabletoenableInputDecoration. - Change from
...textFormFieldto...textin NikuTextField.
Bug fix:
- Fix Visual Density in NikuButton.
- Setting multiple border variant not working
1.0.0-alpha.2 2021/3/28 #
Breaking Change:
- Swap arguments of animated
Change:
- Remove Nested instance from base property
- Add default value of
truetoabsortPointerandignorePointer
1.0.0-alpha.1 2021/3/25 #
Bug Fix:
- add Key
1.0.0-alpha.0 2021/3/24 #
Feature:
- Remove
.build()and.style() - Niku Internal is now mutating property instead of stacking
- Add
.asNikuon component instead of using Niku Component - Match
NikuButtonto idiomatic Dart - Add
TextStyleto TextButton - Every Niku Component now support margin property
Breaking Change:
- Every Niku Component now extend
NikuCorewhich extendsStatelessWidget - Variant method
NikuButtonis removed.icontoNikuButton.icon.texttoNikuButton.text.elevatedtoNikuButton.elevated.elevatedIcontoNikuButton.elevatedIcon.outlinedtoNikuButton.outlined.outlinedIcontoNikuButton.outlinedIcon
Change:
- Remove usage of
this.except for constructor - Every margin property is moved to
NikuCore - Build is now using
internalBuild - Remove container if margin is not presented
Bug fix:
- Foreground on text change background instead
- Fix margin not mistakenly setting on padding instead
0.5.5 2021/3/15 #
Feature:
- Add
animatedBuilder,animatedforAnimationBuilder - Add
animatedContainerforAnimatedContainer - Add
semanticsforSemantics
Changed:
- Move use of
ContainertoDecoratedBox- The property which affected this changed including:
- boxDecoration
- border
- shadows
- The property which affected this changed including:
- Move use of
ContainertoSizedBox- The property which affected this changed including:
- fullSize
- fullWidth
- fullHeight
- The property which affected this changed including:
0.5.4 2021/3/11 #
Bug fixes:
- Wrong size on
widthPercent,heightPercentandsizePercent - Unable to use
NikuRowwithout specifyingcrossAxisAlignment - Add optional
onTapto.inkwell
0.5.3 2021/3/11 #
Bug fixes:
- Wrong size on
widthPercent,heightPercentandsizePercent
0.5.2 2021/3/11 #
Feature:
- Add
builderon Niku for composing custom widget. - Add
widthPercent,heightPercentandsizePercent
Changed:
bgandbackgroundColorofNikuare now usingColoredBoxinstead ofContainerNikunow don't required any constructor Widget
0.5.1 2021/3/7 #
Bug fixes:
- Fix apply overriding written value
0.5.0 2021/3/6 #
Breaking Change:
- Deprecated:
- FlatButton
- RaisedButton
- ElevatedButton
- Move
button.darttooldButton.dart - Move
NikuButtontobutton.dart - Importing
package:niku/niku.dartwon't importoldButton.dart - Only support Flutter 2.0.0 or newer
Feature:
- Add
NikuButtonfor new building new universal Button including- TextButton
- TextButton.icon
- ElevatedButton
- ElevatedButton.icon
- OutlinedButton
- OutlinedButton.icon
Documentation
- Add code highlight to widget example usage
0.4.0 2021/3/4 #
Feature:
- Add support for Sound Null Safety of Flutter 2
- Only support Flutter 2.0.0 or newer
Refactor:
- Constructor to use
thisas parameter - Remove
overflowfrom stack as it's deprecated
Documentation:
- Fix Null Coalesce
- Fix
borderColor,borderStylefrom crashing on outlineButton
0.3.2 2021/2/25 #
Documentation:
- Fix Null Coalesce
- Fix
borderColor,borderStylefrom crashing on outlineButton
0.3.1 2021/2/25 #
Documentation:
- Fix wrong spelling of
disabledon outlineButton - Fix
setBorderofoutlineButtonfrom crashing
0.3.0 2021/2/22 #
Feature:
- Add support for:
- NikuStack
- Niku extension for
IconButton
- Niku extension for
- NikuStack
- Add more property to Base Widget
- Backdrop filter
- Positioned
- singleChildScrollView / scrollable
- flexible / flex
- Add group import
- Add extension Widget
- Add
.niku()extension for widget
- Add
Documentation:
-
Add property documentation
-
Correcting wrong spelling
-
Bug fixes:
- Fixes border not rendering children
- Mark children constructor in Row as required
0.2.0 2021/2/21 #
Feature:
- Add support for:
- NikuIconButton
- Niku extension for
IconButton
- Niku extension for
- NikuIconButton
- Add new property to
Niku (base):on- Event listenermaterial- Add [Material] to WidgetinkWell- Add [InkWell] to Widgetborder- Decorate with border using [Border]
- Add group for
flatButton,raisedButton,outlineButtonandflatButtonaspackage:niku/widget/button
Documentation:
-
Restructure documentation
-
Bug fixes:
- Wrong spelling of documentation in several place
- Prevent
toolbarOptionsfrom crashing if not specified all by adding default value
0.1.2 2021/2/21 #
Bug fixes:
- Fix require padding for
NikuFlatButton,NikuOutlineButtonandNikuRaisedButton
0.1.1 2021/2/21 #
Bug fixes:
README.mdimage not showing banner.
0.1.0 2021/2/21 #
Initialize project
Add support for
- Niku
- Niku base for styling widget
- NikuText
- Niku extension for
Text
- Niku extension for
- Column
- Niku extension for
Row
- Niku extension for
- Row
- Niku extension for
Column
- Niku extension for
- NikuTextField
- Niku extension for
TextFormField
- Niku extension for
- NikuFlatButton
- Niku extension for
FlatButton
- Niku extension for
- NikuRaisedButton
- Niku extension for
RaisedButton
- Niku extension for
- NikuOutlineButton
- Niku extension for
OutlineButton
- Niku extension for