Napa widgets are an inspectable and serializable version of common Flutter widgets.

Features

  • Inspect in real time internal properties.
  • JSON compatible serialization/deserialization.

Library status

Widget name Status Comment
Align Ok
AspectRatio Ok
BackdropFilter Ok
Baseline Ok
Center Ok
ClipOval Ok No CustomClipper implementation.
ClipPath Pending No CustomClipper implementation.
ClipRect Ok No CustomClipper implementation.
ClipRRect Ok No CustomClipper implementation.
ClipRSuperellipse Ok No CustomClipper implementation.
Column Ok
Container Ok
CustomPaint Ok
DecoratedBox Ok
Expanded Ok
FittedBox Ok
Flex Ok
Flexible Ok
Flow Pending
GestureDetector Ok
Icon Pending
Image Ok
ImageFiltered Ok
ListView Ok
Opacity Ok
Padding Ok
Positioned Ok
RepaintBoundary Ok
RotatedBox Ok
Row Ok
SizedBox Ok
Stack Ok
Text Ok
Transform Ok
Wrap Ok

Usage

Compose Napa widgets and transform to regular widgets...

///
/// Basic example
/// 
const napaWidget = NapaPadding(
  padding: EdgeInsetsGeometry.all(8.0),
  child: NapaText('Hello world!!!'),
);

Widget flutterWidget = napaWidget.toWidget();

Scripting example:

const napaWidget = NapaCustomPaint(
  painter: NapaCustomPainter(
    type: .lua,
    script: '''
      -- paint signature
      function paint(canvas, size)
      end
    '''
  )
);

Widget flutterWidget = napaWidget.toWidget();

Libraries

napa_widgets
scripting/lua/lua_ui_lib
scripting/napa_script_type
widgets/data/image_wrapper
widgets/data/napa_color_filter
widgets/data/napa_image_filter
widgets/data/napa_mask_filter
widgets/data/napa_matrix4
widgets/data/napa_paint
widgets/data/napa_shader
widgets/data/napa_text_decoration
widgets/data/napa_text_scaler
widgets/data/napa_text_style
widgets/napa_align
widgets/napa_aspect_ratio
widgets/napa_backdrop_filter
widgets/napa_baseline
widgets/napa_box_scroll_view
widgets/napa_center
widgets/napa_clip_oval
widgets/napa_clip_path
widgets/napa_clip_rect
widgets/napa_clip_rrect
widgets/napa_clip_rsuperellipse
widgets/napa_column
widgets/napa_container
widgets/napa_custom_paint
widgets/napa_decorated_box
widgets/napa_expanded
widgets/napa_fitted_box
widgets/napa_flex
widgets/napa_flexible
widgets/napa_flow
widgets/napa_gesture_detector
widgets/napa_icon
widgets/napa_image
widgets/napa_image_filtered
widgets/napa_list_view
widgets/napa_multi_child_render_object_widget
widgets/napa_opacity
widgets/napa_padding
widgets/napa_parent_data_widget
widgets/napa_positioned
widgets/napa_proxy_widget
widgets/napa_render_object_widget
widgets/napa_repaint_boundary
widgets/napa_rotated_box
widgets/napa_row
widgets/napa_scroll_view
widgets/napa_single_child_render_object_widget
widgets/napa_sized_box
widgets/napa_stack
widgets/napa_stateful_widget
widgets/napa_stateless_widget
widgets/napa_text
widgets/napa_transform
widgets/napa_widget
widgets/napa_wrap
widgets/tojson_extensions