figma2flutter library Null safety
Figma2Flutter SDK
Library contains functions and classes used to interface with the widgets generated by Figma2Flutter Figma plugin service.
Features
- Switch between generated screens
- Add event listeners to global events such as pageLoaded
- Add event listeners to widgets generated with Figma2Flutter by using Flutter's event names
- Get reference to widgets currently displayed on the screen
- Change states of currently displayed widgets
- Set and get data from widgets, for example, get value from text input or set image URL to the image element
- witch between generated screens
Classes
- Elem
- Figma2Flutter Element It contains at least Figma name, Figma id and Flutter widget instance Most of the functions such as getElementsByName will contain instances of this class in the responses.
- Event
- Figma2Flutter Event It contains at least eventName, the name of the event from Flutter, componentName, the name of the Figma instance. and sometimes target element reference and payload string
Properties
-
elementInstances
↔ Map<
int, Elem> -
A map of all currently active elements
read / write
-
eventSubscriptions
↔ Map<
String, Map< String, Map< >int, List< >Event> > -
A map of component event subscriptions
read / write
-
images
↔ Map<
String, Image> -
A map of images
read / write
- isInitialized ↔ bool
-
read / write
- isWeb ↔ bool
-
read / write
-
final
-
screenClasses
↔ Map<
String, Elem> -
A map of screen elements
read / write
-
simpleEvents
↔ Map<
String, List< Event> > -
A Map of simple events such as page loaded
read / write
Functions
-
addComponentItems(
String name, dynamic itemsString, [int index = 0]) → void - Same as setComponentItems but it will append items to the end of the ListView
-
getApp(
{dynamic withInit = Function}) → App -
Returns App instance representing application generated from Figma.
When App is initialized,
withInitcallback is triggered. -
getComponentState(
String name, [int index = 1]) → String -
Returns current sate name of the element referenced by Figma
name -
getComponentText(
String name, [int index = 0]) → String -
Returns text string currently being displayed in the element referenced by it's Figma
name -
getElementsByName(
String name, [int limit = 1]) → List< Elem> -
Returns List of Figma2Flutter elements (Elem) with same FIgma
name. Limit number of returned elements by specifyinglimitOnly currently active elements will be returned (i.e. elements displayed on current page) -
getFirstElementByName(
String name) → Elem -
Returns first element matching Figma
name -
getLocationSearch(
) → String -
getWidgetHashCode(
String name, [int index = 0]) → int -
getWidgetInstanceByName(
String name, {Map< String, dynamic> properties = const {}}) → dynamic -
Returns new Flutter widget instance referenced by it's Figma
namewith optional Map of properties to initialize the widget with. -
openAppPage(
String name) → void -
Open page (screen, menu, popup) of the generated application using it's FIgma
name -
parseItem(
dynamic item) → Map< String, dynamic> -
parseItems(
dynamic itemsString) → List< Map< String, dynamic> > -
removeAllComponentEvents(
) → void - Removes all currently attached componen evens
-
removeComponentEvent(
Event evt) → void - Removes component event [...]
-
replaceComponentItems(
String name, dynamic itemsString, [int index = 0, int offset = 0]) → void -
Same as setComponentItems but will set items starting from
offsetitem -
setComponentImageUrl(
String name, String url, [int index = 0]) → void -
Sets network image
urlto be displayed in the element referenced by it's FigmanameOnly works on Figma nodes that contain Image fill -
setComponentItems(
String name, dynamic itemsString, [int index = 0]) → void -
Sets ListView items on annotated ListView Figma element referenced by it's
nameListView items (itemsString) are represented as array of JSON objects either as List(i.e. returned from jsonDecode()) or as stringified JSON or as List<Map<String, dynamic>> Each item in the array represents an item in the ListView -
setComponentProperties(
String name, String props, [int index = 0]) → void -
Set properties to Figma2Flutter element referenced by it's
name -
setComponentState(
String name, String stateName, [int index = 0, bool asDefault = false]) → void -
Sets Figma2Flutter component state by Figma
nameandstateName -
setComponentText(
String name, String text, [int index = 0]) → void -
Sets
textto be displayed in the element referenced by it's FigmanameOnly works on TEXT Figma nodes -
setDropdownValues(
String name, List values, [int index = 0]) → void -
subscribeToComponentEvent(
String eventName, String componentName, dynamic callback(Event), [int index = 0]) → Event - Subscribes to events emitted by the components [...]
-
subscribeToEvent(
String eventName, dynamic callback(Event)) → int -
Subscribes to global Event such as 'pageLoaded', with a
callbackfunction -
subscribeToEventOnce(
String eventName, dynamic callback(Event)) → int -
triggerComponentEvent(
String eventName, int hashCode, String componentName, [String payload = '']) → void -
triggerEvent(
String eventName, [String payload = '', Map< String, dynamic> data = const {}]) → void - Triggers global Event such as 'pageLoaded', with payload