Discord Shield

Niku

Create Flutter UI, easier, faster, smarter

Fluently developing without headache and Nested Hell.

korone-drake-format

Why

Styling in Flutter is complex and verbose.

Developers have to describe every styling detail to Widget. It’s like low-level programming UI, having to adapt between property is hard when some are more complex than others, for instance, MaterialStateProperty.

When the codebase gets more complex, the syntax of Flutter itself is too verbose, nested than it should be, result being hard to maintain mostly known as Nested Hell.

Niku helps to solve the problem by providing a cascade notation to style widget. Exposing the same naming convention, shorten property, parent builder and style extraction.

Providing a smoother, shorter yet, more straightforward and maintainable way to compose styling in Flutter.

Documentation

Documentation for v2 can be found on niku.saltyaom.com

License

Niku is MIT Licensed.

Maintainers

Libraries

widget/actionChip
macros/actionPadding
widget/alert
macros/alignmentDirectional
extra/animated
extra/animateds
macros/applyButtonStyle
macros/applyContentText
macros/applyInputDecoration
macros/applySturtStyle
macros/applyText
macros/applyTitleText
macros/applyValueIndicatorTextStyle
macros/axis
proxy/axis
macros/backgroundColor
macros/blendMode
macros/borderRadius
objects/boxConstraints
macros/boxFit
proxy/button
widget/button
macros/buttonPadding
objects/buttonStyle
widget/checkbox
widget/checkboxListTile
macros/clip
widget/column
macros/constraints
macros/contentPadding
macros/crossAxisAlignment
macros/dismissDirection
widget/dismissible
objects/edgeInsets
extra/extra
macros/fit
macros/floatingLabelBehavior
macros/focusNode
macros/fontStyle
macros/fontWeight
macros/foregroundColor
macros/gap
widget/gridView
widget/icon
widget/iconButton
proxy/image
widget/image
macros/imageRepeat
objects/inputBorder
proxy/inputDecoration
objects/inputDecoration
macros/insetPadding
macros/keyboardType
macros/labelPadding
widget/listTile
proxy/listTile
macros/listTileControlAffinity
widget/listView
macros/macros
macros/mainAxisAlignment
macros/mainAxisSize
macros/mapTextStyle
namespace
widget/niku
niku
macros/nikuBuild
objects/objects
extra/on
widget/padding
macros/padding
widget/popupMenuButton
extra/primitive
proxy/proxy
proxy/radio
widget/radio
widget/radioListTile
widget/rangeSlider
widget/richText
extra/rounded
widget/row
macros/runAlignment
extra/screen
widget/selectableText
widget/slider
widget/stack
objects/state
objects/strutStyle
widget/switch
widget/switchListTile
widget/text
macros/textAlign
macros/textBaseline
macros/textCapitalization
macros/textDecoration
macros/textDecorationStyle
macros/textDirection
widget/textFormField
macros/textInputAction
widget/textSpan
objects/textStyle
proxy/textStyle
macros/textStyleTheme
macros/verticalDirection
widget/widget
macros/widthHeight
widget/wrap
macros/wrapAlignment
macros/wrapCrossAxis