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 | |
| 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_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