list-item
The list-item component serves as the child component whenever any list-related item has been called, as discussed in the jig.list and list sections. The component determines how the list items are returned, allowing you to customize the data returned and add UI elements to the lists.
Configuration options
Some properties are common to all components, see Common component properties for a list and their configuration options.
title
Add a title for the list-item. You can use an expression and datasource to set the title. Select Line Options (text), allowing configuration of individual parts of the central element in a list-item. You can set properties such as color, fontSize, bold, format, isSubtle (low opacity), and numberOfLines, rather than applying them globally via the root.
color
The color of the list item changes based on conditions. The first evaluating to true will be used.
description
The subtitle or description should be displayed with the list-item title. You can format the text of these properties if you select the "Text With Format" option in the builder help (ctrl + space) or select Line Options (text), allowing configuration of individual parts of the central element in a list-item. You can set properties such as color, fontSize, bold, format, isSubtle (low opacity), and numberOfLines, rather than applying them globally via the root. select .
divider
Set the space between two items in the list.
none- No divider is shown between items. Set by default.transparent- Sets a 1pt margin between two items.solid- Displays a colored line between two items. When the list-item is contained in a card, this property will be ignored.
hasDynamicHeight
The hasDynamicHeight property for vertical lists. When used with the numberOfLines property, list item heights are calculated dynamically based on content. If not combined, items display as a single line. Note: Using hasDynamicHeight with many items may cause performance issues.
isContained
Used to style the list item, true wraps the list item in a card, while false displays the item with no styling. This property can be used with vertical and horizontal lists.
leftElement
Set an element to the left of the list. The following elements are available:
avatar- configure thecolor,size,text,uri, andonPressevent.checkboxicon- the iconsize,color,shape,type,isSubtle(low opacity), andonPressevent is configurable.image- the imagesize,shape,resizeMode, andonPressevent is configurable.progress
numberOfLines
Specify the maximum number of lines for the description and subtitle properties at a global root level. Property values are:
dynamic- displays all lines of text.Numerical value (e.g.,
2) - Limits thedescriptionandsubtitleto the specified number of lines.
progress
Add a colorful visualization (background color of your choice) of the list item's progress. The color displays from left to right, and the range of the allowed values is from 0 to 1.
rating
Displays a rating as either a numerical value or a percentage. This property is highly flexible, with options to configure the ratingIcon, color, and accompanying descriptive text. By default, the rating property has only one icon showing a rating-star in the primary color. value- Rating with numerical value. The value of the rating, which can be a simple number. The number of icons is calculated based on this value unless overridden in the icon configuration. Configuring the current and maximum values, shows the value as a fraction, for example 7/10. percentage - Rating with a percentage. The percentage value for the rating, where the value ranges between 0 and 1, for example 0.75 is 75%. ratingIcon - By default the rating-star icon in the primary color is displayed. icon - Add an icon to represent the rating. A list of icons is available. See for more information. color- Sets the color of the icon, choose a color from the provided color palette. Default color is primary if the property is not specified in the YAML. See the list of available colors in . current and maximum values - Where maximum is the number of icons to display and current the number of icons to color. text - Add a descriptive text that displays next to the rating. Ratings can set up in the following ways: 1) Example of value for a product rating. 2) Example of a user rating shown in a percentage. 3)Example of value rating showing 2.5/5 as a rating with single star icon.
rightElement
Set an element to the right of the list. The following elements are available:
amountControlbadge- can be a solid colored badge or a badge with a number in it. Badges always use the primary color.buttoncheckboxicon- the iconsize,color,shape,type,isSubtle(low opacity), andonPressevent is configurable.switchvalue- When usingtext, the option to change itscoloris available.text- define up to three lines of text with styling (color, bold, font size) applied to each line of text.
subtitle
The subtitle or description should be displayed together with the title on the list-item. You can format the text of these properties if you select the Text With Format option in the IntelliSense (ctrl + space) or select Line Options (text), allowing configuration of individual parts of the central element in a list-item. You can set properties such as color, fontSize, bold, format, isSubtle (low opacity), and numberOfLines, rather than applying them globally via the root.
tags
A set of descriptive keywords appear at the bottom of each list item, helping to categorize and provide context. Unlike labels, multiple tags can be shown. Tags support up to two lines; if the tags exceed this space, a +1 indicator is added to represent the number of hidden tags. For example, if two tags are hidden, +2 will display at the end of the list.
text- The text content displayed within the tag.color- Sets the color of the tags, choose a color from the provided color palette. The default is primary. See the list of available colors in.
Tags can be set up in three ways:
Using a dynamic expression from a datasource:
tags: [email protected][product = @ctx.current.item.id].{"text":tags, "color":color}Using a dynamic expression from a list item:
tags: [email protected].{"text":$, "color":"primary"}Using static, predefined tags
tags: - text: [email protected] > 0.75 ? 'Great'
rating:
value: 4.5
text: based on 1,200 reviewspercentage:
rating:
percentage: 0.75
text: expectations exceededrating:
value:
current: 2.5
maximum: 5
ratingIcon:
icon: rating-starActions
onPress
The action is available with the swipeable action and is triggered when pressing an item in the list. Use IntelliSense (ctrl+space) to see the list of available actions.
swipeable
Use the swipeable property to add the onPress action. The action will appear and become pressable by swiping the list-item to the left or right.
State Configuration
Key
Notes
amount checked
Applies to a list, list.item, product-item, and stage components. List's data is an array of records. The [email protected] is the state of the current object in the array.
Considerations
You can use a list-item outside of the list component. This allows configuring a single list item with all list-item features, such as left and right elements and swipe actions, without requiring a full list. These items typically use static values rather than a datasource. See the List-item outside a list code example below. The functionality is available in the following components:
jig.default children
Custom components (Alpha) children
Examples and code snippets
Simple list

This example displays the list in its most basic form, with a few additional properties or elements to support layout and data visibility.
Examples: See the full example using static data local and global in GitHub. See the full example using dynamic data in GitHub.
Datasources: See the full datasource for static data in GitHub. See the full datasource for dynamic data in GitHub.
# Data configured to use datasource (static)
data: [email protected]
item:
type: component.list-item
options:
# Display each list-item in a container.
isContained: true
# Define the title and the title styling.
title:
text: [email protected]
fontSize: regular
color: color1
isBold: true
# Define and style the subtitle. Ensure text wraps to the next line.
subtitle:
text: [email protected]
fontSize: small
isSubtle: true
numberOfLines: 3# Data configured to use datasource (dynamic)
data: [email protected]
item:
type: component.list-item
options:
# Define the title and the title styling.
title:
text: [email protected]
fontSize: regular
color: color1
isBold: true
# Define and style the subtitle. Ensure text wraps to the next line.
subtitle:
text: [email protected]
fontSize: small
isSubtle: true
numberOfLines: 3datasources:
repair-services-static:
type: datasource.static
options:
data:
- id: 1
description: Installation or repairs for doors. Doors to be provided by client.We offer expert installation and repair of all types of doors, including interior, exterior, sliding, and security doors.
hourlyRate: 70
illustration: https://clipart-library.com/data_images/436224.png
image: https://images.unsplash.com/photo-1500281781950-6cd80847ebcd?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1469&q=80
materials: false
service: Door Installation/Repair.
time: 60
- id: 2
description: Repairs to door handles. Fast, reliable fixes for loose handles, faulty locks, and jammed mechanisms.
hourlyRate: 40
illustration: https://clipart-library.com/img1/1332215.jpg
image: https://images.unsplash.com/photo-1538766017398-415434a31a5b?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: true
service: Door Handle/Lock Repairs.
time: 60
- id: 3
description: Installation or repairs of tiled surfaces. We handle the installation and repair of all tiled surfaces. Clients are required to supply the tiles and tile adhesive.
hourlyRate: 110
illustration: https://clipart-library.com/images/kcKnbzbXi.jpg
image: https://images.unsplash.com/photo-1523413184730-e85dbbd04aba?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=687&q=80
materials: false
service: Tile Installation/Repair.
time: 120
- id: 4
description: Installation or repairs of dry-wall surfaces
hourlyRate: 80
illustration: https://clipart-library.com/img1/505759.jpg
image: https://images.unsplash.com/photo-1628901551715-7234d14fb7a0?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: true
service: Drywall Installation/Repair
time: 120
- id: 5
description: Bathroom fixture repairs. We repair and secure bathroom rails, toilets, and related fittings to ensure safety, and stability.
hourlyRate: 90
illustration: https://clipart-library.com/new_gallery/53-530190_black-and-white-toilet-png.png
image: https://images.unsplash.com/photo-1585313647787-7a061b5a85a6?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1423&q=80
materials: true
service: Bathroom Repairs
time: 60
- id: 6
description: Painting as required. Paint and tools not provided.
hourlyRate: 70
illustration: https://clipart-library.com/img/853166.jpg
image: https://images.unsplash.com/photo-1562259949-e8e7689d7828?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1431&q=80
materials: false
service: Painting Services
time: 120
- id: 7
description: Repairs to fences. Tools and items not included.
hourlyRate: 90
illustration: https://clipart-library.com/img/18345.gif
image: https://images.unsplash.com/photo-1583805978118-ba9a81ac1399?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: false
service: Fence Installation/Repair
time: 60
- id: 8
description: Removal of graffiti and painting. Paint and brushes not included in cost.
hourlyRate: 110
illustration: https://clipart-library.com/images/6cy5aL5gi.jpg
image: https://images.unsplash.com/photo-1581850518616-bcb8077a2336?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: false
service: Removal of Graffiti
time: 120
- id: 9
description: Repairs to cupboard doors.
hourlyRate: 60
illustration: https://clipart-library.com/img1/1605140.jpg
image: https://images.unsplash.com/photo-1522791465802-47616431a4cf?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1451&q=80
materials: true
service: Cupboard Door Repairs
time: 60
- id: 10
description: Plumbing issues and repairs. Ideal for addressing loose fixtures, leaks, or general wear and tear.
hourlyRate: 90
illustration: https://clipart-library.com/images_k/plumbing-silhouette/plumbing-silhouette-6.png
image: https://images.unsplash.com/photo-1591804774220-c1db3673d05b?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1074&q=80
materials: true
service: Plumbing
time: 60datasources:
cleaning-services-dynamic:
type: datasource.sqlite
options:
provider: DATA_PROVIDER_DYNAMIC
entities:
- entity: default/cleaning-services
query: |
SELECT
id,
'$.id' as sqlid,
'$.area',
'$.description',
'$.hourlyrate',
'$.illustration',
'$.image',
'$.indoor',
'$.onceoffrate',
'$.service',
'$.pressed',
'$.time',
'$.quantity'
FROM [default/cleaning-services]
WHERE '$.hourlyrate' IS NOT NULL ORDER BY id DESCSimple list with dividers

This example shows only a slight variation from the previous example, by having a divider : solid properly configured.
Examples: See the full example using static data in GitHub. See the full example using dynamic data in GitHub.
Datasources: See the full datasource for static data in GitHub. See the full datasource for dynamic data in GitHub.
# Data configured to use datasource (static)
data: [email protected]
item:
type: component.list-item
options:
# Add a solid line divider between each list-item.
divider: solid
# Define the title and the title styling.
title:
text: [email protected]
fontSize: regular
color: color4
isBold: true
# Define and style the subtitle. Ensure text wraps to the next line.
subtitle:
text: [email protected]
fontSize: small
isSubtle: true
numberOfLines: 3# Data configured to use datasource (dynamic)
data: [email protected]
item:
type: component.list-item
options:
# Add a solid line divider between each list-item.
divider: solid
# Define the title and the title styling.
title:
text: [email protected]
fontSize: regular
color: color4
isBold: true
# Define and style the subtitle. Ensure text wraps to the next line.
subtitle:
text: [email protected]
fontSize: small
isSubtle: true
numberOfLines: 3datasources:
repair-services-static:
type: datasource.static
options:
data:
- id: 1
description: Installation or repairs for doors. Doors to be provided by client
hourlyRate: 70
illustration: http://clipart-library.com/data_images/436224.png
image: https://images.unsplash.com/photo-1500281781950-6cd80847ebcd?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1469&q=80
materials: false
service: Door Installation/Repair
time: 60
- id: 2
description: Repairs to door handles
hourlyRate: 40
illustration: http://clipart-library.com/img1/1332215.jpg
image: https://images.unsplash.com/photo-1538766017398-415434a31a5b?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: true
service: Door Handle/Lock Repairs
time: 60
- id: 3
description: Installation or repairs of tiled surfaces. Tiles have to be provided by client
hourlyRate: 110
illustration: http://clipart-library.com/images/kcKnbzbXi.jpg
image: https://images.unsplash.com/photo-1523413184730-e85dbbd04aba?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=687&q=80
materials: false
service: Tile Installation/Repair
time: 120
- id: 4
description: Installation or repairs of dry-wall surfaces
hourlyRate: 80
illustration: http://clipart-library.com/img1/505759.jpg
image: https://images.unsplash.com/photo-1628901551715-7234d14fb7a0?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: true
service: Drywall Installation/Repair
time: 120
- id: 5
description: Repairs to bathroom rails, toilets, etc
hourlyRate: 90
illustration: http://clipart-library.com/new_gallery/53-530190_black-and-white-toilet-png.png
image: https://images.unsplash.com/photo-1585313647787-7a061b5a85a6?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1423&q=80
materials: true
service: Bathroom Repairs
time: 60
- id: 6
description: Painting as required. Paint and tools not provided
hourlyRate: 70
illustration: http://clipart-library.com/img/853166.jpg
image: https://images.unsplash.com/photo-1562259949-e8e7689d7828?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1431&q=80
materials: false
service: Painting Services
time: 120
- id: 7
description: Repairs to fences. Tools and items not included
hourlyRate: 90
illustration: http://clipart-library.com/img/18345.gif
image: https://images.unsplash.com/photo-1583805978118-ba9a81ac1399?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: false
service: Fence Installation/Repair
time: 60
- id: 8
description: Removal of graffiti and painting. Paint and brushes not included in cost
hourlyRate: 110
illustration: http://clipart-library.com/images/6cy5aL5gi.jpg
image: https://images.unsplash.com/photo-1581850518616-bcb8077a2336?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: false
service: Removal of Graffiti
time: 120
- id: 9
description: Repairs to cupboard doors
hourlyRate: 60
illustration: http://clipart-library.com/img1/1605140.jpg
image: https://images.unsplash.com/photo-1522791465802-47616431a4cf?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1451&q=80
materials: true
service: Cupboard Door Repairs
time: 60
- id: 10
description: Plumbing issues and repairs
hourlyRate: 90
illustration: http://clipart-library.com/images_k/plumbing-silhouette/plumbing-silhouette-6.png
image: https://images.unsplash.com/photo-1591804774220-c1db3673d05b?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1074&q=80
materials: true
service: Plumbing
time: 60datasources:
cleaning-services-dynamic:
type: datasource.sqlite
options:
provider: DATA_PROVIDER_DYNAMIC
entities:
- entity: default/cleaning-services
query: |
SELECT
id,
'$.id' as sqlid,
'$.area',
'$.description',
'$.hourlyrate',
'$.illustration',
'$.image',
'$.indoor',
'$.onceoffrate',
'$.service',
'$.pressed',
'$.time',
'$.quantity'
FROM [default/cleaning-services]
WHERE '$.hourlyrate' IS NOT NULL ORDER BY id DESCList with colored progress bars

This example showcases two additional properties that have been configured, the progress and colors. You can use the data along with some expressions to manipulate data to create meaningful list displays.
Examples: See the full example using static data in GitHub. See the full example using dynamic data in GitHub.
Datasources: See the full datasource for static data in GitHub. See the full datasource for dynamic data in GitHub.
# Data configured to use datasource (static)
data: [email protected]
item:
type: component.list-item
options:
title: [email protected]
subtitle: [email protected]
progress: [email protected]/120
color:
- when: [email protected]
color: primary
- when: [email protected] = 'true'
color: color14
- when: [email protected] = 'false'
color: color7# Data configured to use datasource (dynamic)
data: [email protected]
item:
type: component.list-item
options:
title: [email protected]
subtitle: [email protected]
progress: =($number(@ctx.current.item.hourlyrate) / 100)
color:
- when: [email protected]
color: primary
- when: [email protected] = 'true'
color: color14
- when: [email protected] = 'false'
color: color7datasources:
repair-services-static:
type: datasource.static
options:
data:
- id: 1
description: Installation or repairs for doors. Doors to be provided by client
hourlyRate: 70
illustration: http://clipart-library.com/data_images/436224.png
image: https://images.unsplash.com/photo-1500281781950-6cd80847ebcd?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1469&q=80
materials: false
service: Door Installation/Repair
time: 60
- id: 2
description: Repairs to door handles
hourlyRate: 40
illustration: http://clipart-library.com/img1/1332215.jpg
image: https://images.unsplash.com/photo-1538766017398-415434a31a5b?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: true
service: Door Handle/Lock Repairs
time: 60
- id: 3
description: Installation or repairs of tiled surfaces. Tiles have to be provided by client
hourlyRate: 110
illustration: http://clipart-library.com/images/kcKnbzbXi.jpg
image: https://images.unsplash.com/photo-1523413184730-e85dbbd04aba?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=687&q=80
materials: false
service: Tile Installation/Repair
time: 120
- id: 4
description: Installation or repairs of dry-wall surfaces
hourlyRate: 80
illustration: http://clipart-library.com/img1/505759.jpg
image: https://images.unsplash.com/photo-1628901551715-7234d14fb7a0?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: true
service: Drywall Installation/Repair
time: 120
- id: 5
description: Repairs to bathroom rails, toilets, etc
hourlyRate: 90
illustration: http://clipart-library.com/new_gallery/53-530190_black-and-white-toilet-png.png
image: https://images.unsplash.com/photo-1585313647787-7a061b5a85a6?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1423&q=80
materials: true
service: Bathroom Repairs
time: 60
- id: 6
description: Painting as required. Paint and tools not provided
hourlyRate: 70
illustration: http://clipart-library.com/img/853166.jpg
image: https://images.unsplash.com/photo-1562259949-e8e7689d7828?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1431&q=80
materials: false
service: Painting Services
time: 120
- id: 7
description: Repairs to fences. Tools and items not included
hourlyRate: 90
illustration: http://clipart-library.com/img/18345.gif
image: https://images.unsplash.com/photo-1583805978118-ba9a81ac1399?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: false
service: Fence Installation/Repair
time: 60
- id: 8
description: Removal of graffiti and painting. Paint and brushes not included in cost
hourlyRate: 110
illustration: http://clipart-library.com/images/6cy5aL5gi.jpg
image: https://images.unsplash.com/photo-1581850518616-bcb8077a2336?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: false
service: Removal of Graffiti
time: 120
- id: 9
description: Repairs to cupboard doors
hourlyRate: 60
illustration: http://clipart-library.com/img1/1605140.jpg
image: https://images.unsplash.com/photo-1522791465802-47616431a4cf?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1451&q=80
materials: true
service: Cupboard Door Repairs
time: 60
- id: 10
description: Plumbing issues and repairs
hourlyRate: 90
illustration: http://clipart-library.com/images_k/plumbing-silhouette/plumbing-silhouette-6.png
image: https://images.unsplash.com/photo-1591804774220-c1db3673d05b?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1074&q=80
materials: true
service: Plumbing
time: 60datasources:
cleaning-services-dynamic:
type: datasource.sqlite
options:
provider: DATA_PROVIDER_DYNAMIC
entities:
- entity: default/cleaning-services
query: |
SELECT
id,
'$.id' as sqlid,
'$.area',
'$.description',
'$.hourlyrate',
'$.illustration',
'$.image',
'$.indoor',
'$.onceoffrate',
'$.service',
'$.pressed',
'$.time',
'$.quantity'
FROM [default/cleaning-services]
WHERE '$.hourlyrate' IS NOT NULL ORDER BY id DESCList with charts

This example shows pie charts displayed on a list - this is great for a visual representation of information.
Pie chart examples: See the full example using static data in GitHub. See the full example using dynamic data in GitHub.
Datasources: See the full datasource for static data in GitHub. See the full datasource for dynamic data in GitHub.
children:
- type: component.list
options:
# Data configured to use datasource (static)
data: [email protected]
item:
type: component.pie-chart
options:
chart:
title:
text: [email protected]
verticalAlign: center
subtitle:
text: [email protected]
verticalAlign: center
width: 100
height: 100
legend:
isHidden: true
series:
- data: [email protected]
layout: pie# Data configured to use datasource (dynamic)
data: [email protected]
item:
type: component.pie-chart
options:
chart:
title:
text: [email protected]
verticalAlign: center
subtitle:
text: [email protected]
verticalAlign: center
width: 100
height: 100
legend:
isHidden: true
series:
- data: [email protected]
layout: pie
color: [email protected]datasources:
components:
type: datasource.static
options:
data:
- title: 25%
subtitle: As
data:
- 25
- y: 75
color: transparent
- title: 45%
subtitle: Brno
data:
- 45
- y: 55
color: transparent
- title: 33%
subtitle: Prague
data:
- 33
- y: 67
color: transparentdatasources:
pie-chart-list-dynamic:
type: datasource.sqlite
options:
provider: DATA_PROVIDER_DYNAMIC
entities:
- entity: default/charts
query: |
SELECT
id,
json_extract(data, '$.seriesy') as y,
'$.color',
'$.category',
json_extract(data, '$.seriesx') as x,
'$.subtitle',
'$.title'
FROM [default/charts]
WHERE '$.category' = "pie-chart-list"
This example shows bar charts displayed on a list as a visual representation of information.
Bar chart example: See the full example using static data in GitHub. See the full example using dynamic data in GitHub.
Datasources: See the full datasource for static data in GitHub. See the full datasource for dynamic data in GitHub.
children:
- type: component.list
options:
# Data configured to use datasource (static)
data: [email protected]
item:
type: component.bar-chart
options:
legend:
isHidden: true
chart:
title:
text: [email protected]
height: 260
isAnimated: false
yAxis:
min: 0
labels:
format:
numberStyle: currency
currency: USD
compactDisplay: short
notation: compact
tickAmount: 5
isFirstTickHidden: false
isFirstLabelHidden: false
series:
- data: [email protected]
color: [email protected]# Data configured to use datasource (dynamic)
data: [email protected]
# isHorizontal: true
item:
type: component.bar-chart
options:
yAxis:
max: 2000
min: 200
xAxis:
categories: [email protected]
series:
- data: [email protected]
color: [email protected]datasources:
list-bar:
type: datasource.static
options:
data:
- title: Quarterly Overview 2019
color: color1
data:
- x: Q1
y: 1851
- x: Q2
y: 1483
- x: Q3
y: 1250
- x: Q4
y: 1700
- title: Quarterly Overview 2020
color: color2
data:
- x: Q1
y: 1343
- x: Q2
y: 1832
- x: Q3
y: 1932
- x: Q4
y: 2012
- title: Quarterly Overview 2021
color: color3
data:
- x: Q1
y: 1932
- x: Q2
y: 1734
- x: Q3
y: 2129
- x: Q4
y: 2358datasources:
finance-charts:
type: datasource.sqlite
options:
provider: DATA_PROVIDER_DYNAMIC
entities:
- entity: default/finances
- entity: default/finance-review-dynamic
query: |
SELECT
json_extract(B.Data, '$.title') as title,
json_extract(B.Data, '$.subtitle') as subtitle,
json_extract(B.Data, '$.year') as year,
json_extract(A.Data, '$.amount') as y,
json_extract(A.Data, '$.date') as x,
json_extract(A.Data, '$.financeid') as financeid,
json_extract(A.Data, '$.quarterid') as quarterid,
json_extract(A.Data, '$.share') as share
FROM [default/finances] A
LEFT JOIN [default/finance-review-dynamic] B ON
json_extract(A.Data, '$.year') = json_extract(B.Data, '$.year')List with avatars

This example shows a list of avatars grouped by titles and returns all avatars in the array. In this example, the static datasource has been configured to use the uri and text properties that are required for avatars in a list. This makes it easy to configure in the jig by simply using the expression: avatars: [email protected]
The following expression can be used if your datasource uses different names for uri and text, for example: avatars: [email protected].{"text":name,"uri":image}[]
Examples: See the full example using static data in GitHub.
# Data configured to use datasource (static)
data: [email protected]
item:
type: component.list-item
options:
title: [email protected]
subtitle: = 'Group id:'& ' ' & @ctx.current.item.groupId
avatars: [email protected]datasources:
employee-groups:
type: datasource.static
options:
data:
- id: 1
title: Developers
groupId: 101
people:
- uri: https://images.unsplash.com/photo-1548449112-96a38a643324?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=774&q=80
text: John Smith
- uri: https://images.unsplash.com/photo-1573497019940-1c28c88b4f3e?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=774&q=80
text: Mary Gomez
- id: 2
title: UX Design
groupId: 102
people:
- uri: https://images.unsplash.com/photo-1546961329-78bef0414d7c?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=774&q=80
text: July Nelson
- id: 3
title: Project Management
groupId: 103
people:
- uri: https://images.unsplash.com/photo-1591084728795-1149f32d9866?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=928&q=80
text: Karl Fisher
- uri: https://images.unsplash.com/photo-1542740348-39501cd6e2b4?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=774&q=80
text: Lucy WilliamsList with left avatar

This example showcases the list of items with a regular sized avatar to the left. The title text is styled (bold). The subtitle allows the text to wrap over three lines.
Examples: See the full example using static data in GitHub. See the full example using dynamic data in GitHub.
Datasources: See the full datasource for static data in GitHub. See the full datasource for dynamic data in GitHub.
# Data configured to use datasource (static)
data: [email protected]
item:
type: component.list-item
options:
# Add a bold title.
title:
text: [email protected]
isBold: true
# Add a subtitle that will wrap text over 3 lines.
subtitle:
text: [email protected]
numberOfLines: 3
leftElement:
element: avatar
text: $substring($substringBefore(@ctx.current.item.service, " "), 1, 1) & $substring($substringAfter(@ctx.current.item.service, " ") , 1, 1)
uri: [email protected]
# define the size of the avatar.
size: regular# Data configured to use datasource (dynamic)
data: [email protected]
item:
type: component.list-item
options:
title: [email protected]
subtitle: [email protected] & ' minutes for task completion'
leftElement:
element: avatar
text: $substring($substringBefore(@ctx.current.item.service, " "), 1, 1) & $substring($substringAfter(@ctx.current.item.service, " ") , 1, 1)
uri: [email protected]type: datasource.static
options:
data:
- id: 1
description: Installation or repairs for doors. Doors to be provided by client.We offer expert installation and repair of all types of doors, including interior, exterior, sliding, and security doors.
hourlyRate: 70
illustration: https://clipart-library.com/data_images/436224.png
image: https://images.unsplash.com/photo-1500281781950-6cd80847ebcd?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1469&q=80
materials: false
service: Door Installation/Repair.
time: 60
- id: 2
description: Repairs to door handles. Fast, reliable fixes for loose handles, faulty locks, and jammed mechanisms.
hourlyRate: 40
illustration: https://clipart-library.com/img1/1332215.jpg
image: https://images.unsplash.com/photo-1538766017398-415434a31a5b?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: true
service: Door Handle/Lock Repairs.
time: 60
- id: 3
description: Installation or repairs of tiled surfaces. We handle the installation and repair of all tiled surfaces. Clients are required to supply the tiles and tile adhesive.
hourlyRate: 110
illustration: https://clipart-library.com/images/kcKnbzbXi.jpg
image: https://images.unsplash.com/photo-1523413184730-e85dbbd04aba?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=687&q=80
materials: false
service: Tile Installation/Repair.
time: 120
- id: 4
description: Installation or repairs of dry-wall surfaces
hourlyRate: 80
illustration: https://clipart-library.com/img1/505759.jpg
image: https://images.unsplash.com/photo-1628901551715-7234d14fb7a0?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: true
service: Drywall Installation/Repair
time: 120
- id: 5
description: Bathroom fixture repairs. We repair and secure bathroom rails, toilets, and related fittings to ensure safety, and stability.
hourlyRate: 90
illustration: https://clipart-library.com/new_gallery/53-530190_black-and-white-toilet-png.png
image: https://images.unsplash.com/photo-1585313647787-7a061b5a85a6?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1423&q=80
materials: true
service: Bathroom Repairs
time: 60
- id: 6
description: Painting as required. Paint and tools not provided.
hourlyRate: 70
illustration: https://clipart-library.com/img/853166.jpg
image: https://images.unsplash.com/photo-1562259949-e8e7689d7828?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1431&q=80
materials: false
service: Painting Services
time: 120
- id: 7
description: Repairs to fences. Tools and items not included.
hourlyRate: 90
illustration: https://clipart-library.com/img/18345.gif
image: https://images.unsplash.com/photo-1583805978118-ba9a81ac1399?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: false
service: Fence Installation/Repair
time: 60
- id: 8
description: Removal of graffiti and painting. Paint and brushes not included in cost.
hourlyRate: 110
illustration: https://clipart-library.com/images/6cy5aL5gi.jpg
image: https://images.unsplash.com/photo-1581850518616-bcb8077a2336?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: false
service: Removal of Graffiti
time: 120
- id: 9
description: Repairs to cupboard doors.
hourlyRate: 60
illustration: https://clipart-library.com/img1/1605140.jpg
image: https://images.unsplash.com/photo-1522791465802-47616431a4cf?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1451&q=80
materials: true
service: Cupboard Door Repairs
time: 60
- id: 10
description: Plumbing issues and repairs. Ideal for addressing loose fixtures, leaks, or general wear and tear.
hourlyRate: 90
illustration: https://clipart-library.com/images_k/plumbing-silhouette/plumbing-silhouette-6.png
image: https://images.unsplash.com/photo-1591804774220-c1db3673d05b?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1074&q=80
materials: true
service: Plumbing
time: 60datasources:
cleaning-services-dynamic:
type: datasource.sqlite
options:
provider: DATA_PROVIDER_DYNAMIC
entities:
- entity: default/cleaning-services
query: |
SELECT
id,
'$.id' as sqlid,
'$.area',
'$.description',
'$.hourlyrate',
'$.illustration',
'$.image',
'$.indoor',
'$.onceoffrate',
'$.service',
'$.pressed',
'$.time',
'$.quantity'
FROM [default/cleaning-services]
WHERE '$.hourlyrate' IS NOT NULL ORDER BY id DESCList with left checkboxes
This example showcases a list with checkboxes to the left. This can be configured with preset checked values or can just be empty for the user to select themselves. A color is added to the title text and the subtitle allows the text to wrap over two lines.
Examples: See the full example using static data in GitHub. See the full example using dynamic data in GitHub.
Datasources: See the full datasource for static data in GitHub See the full datasource for dynamic data in GitHub.

# Data configured to use datasource (static)
data: [email protected]
item:
type: component.list-item
options:
# Add the title and title color.
title:
text: [email protected]
color: primary
# Add a small subtitle that wraps over two lines.
subtitle:
text: [email protected]
fontSize: small
numberOfLines: 2
leftElement:
element: checkbox
initialValue: =(@ctx.current.item.materials) = true ? true :false# Data configured to use datasource (dynamic)
data: [email protected]
item:
type: component.list-item
options:
title: [email protected]
subtitle: [email protected]
leftElement:
element: checkbox
initialValue: =(@ctx.current.item.indoor) = 'TRUE' ? true :falsetype: datasource.static
options:
data:
- id: 1
description: Installation or repairs for doors. Doors to be provided by client.We offer expert installation and repair of all types of doors, including interior, exterior, sliding, and security doors.
hourlyRate: 70
illustration: https://clipart-library.com/data_images/436224.png
image: https://images.unsplash.com/photo-1500281781950-6cd80847ebcd?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1469&q=80
materials: false
service: Door Installation/Repair.
time: 60
- id: 2
description: Repairs to door handles. Fast, reliable fixes for loose handles, faulty locks, and jammed mechanisms.
hourlyRate: 40
illustration: https://clipart-library.com/img1/1332215.jpg
image: https://images.unsplash.com/photo-1538766017398-415434a31a5b?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: true
service: Door Handle/Lock Repairs.
time: 60
- id: 3
description: Installation or repairs of tiled surfaces. We handle the installation and repair of all tiled surfaces. Clients are required to supply the tiles and tile adhesive.
hourlyRate: 110
illustration: https://clipart-library.com/images/kcKnbzbXi.jpg
image: https://images.unsplash.com/photo-1523413184730-e85dbbd04aba?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=687&q=80
materials: false
service: Tile Installation/Repair.
time: 120
- id: 4
description: Installation or repairs of dry-wall surfaces
hourlyRate: 80
illustration: https://clipart-library.com/img1/505759.jpg
image: https://images.unsplash.com/photo-1628901551715-7234d14fb7a0?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: true
service: Drywall Installation/Repair
time: 120
- id: 5
description: Bathroom fixture repairs. We repair and secure bathroom rails, toilets, and related fittings to ensure safety, and stability.
hourlyRate: 90
illustration: https://clipart-library.com/new_gallery/53-530190_black-and-white-toilet-png.png
image: https://images.unsplash.com/photo-1585313647787-7a061b5a85a6?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1423&q=80
materials: true
service: Bathroom Repairs
time: 60
- id: 6
description: Painting as required. Paint and tools not provided.
hourlyRate: 70
illustration: https://clipart-library.com/img/853166.jpg
image: https://images.unsplash.com/photo-1562259949-e8e7689d7828?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1431&q=80
materials: false
service: Painting Services
time: 120
- id: 7
description: Repairs to fences. Tools and items not included.
hourlyRate: 90
illustration: https://clipart-library.com/img/18345.gif
image: https://images.unsplash.com/photo-1583805978118-ba9a81ac1399?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: false
service: Fence Installation/Repair
time: 60
- id: 8
description: Removal of graffiti and painting. Paint and brushes not included in cost.
hourlyRate: 110
illustration: https://clipart-library.com/images/6cy5aL5gi.jpg
image: https://images.unsplash.com/photo-1581850518616-bcb8077a2336?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: false
service: Removal of Graffiti
time: 120
- id: 9
description: Repairs to cupboard doors.
hourlyRate: 60
illustration: https://clipart-library.com/img1/1605140.jpg
image: https://images.unsplash.com/photo-1522791465802-47616431a4cf?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1451&q=80
materials: true
service: Cupboard Door Repairs
time: 60
- id: 10
description: Plumbing issues and repairs. Ideal for addressing loose fixtures, leaks, or general wear and tear.
hourlyRate: 90
illustration: https://clipart-library.com/images_k/plumbing-silhouette/plumbing-silhouette-6.png
image: https://images.unsplash.com/photo-1591804774220-c1db3673d05b?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1074&q=80
materials: true
service: Plumbing
time: 60
datasources:
cleaning-services-dynamic:
type: datasource.sqlite
options:
provider: DATA_PROVIDER_DYNAMIC
entities:
- entity: default/cleaning-services
query: |
SELECT
id,
'$.id' as sqlid,
'$.area',
'$.description',
'$.hourlyrate',
'$.illustration',
'$.image',
'$.indoor',
'$.onceoffrate',
'$.service',
'$.pressed',
'$.time',
'$.quantity'
FROM [default/cleaning-services]
WHERE '$.hourlyrate' IS NOT NULL ORDER BY id DESCList with the left icons

# Data configured to use datasource (static)
data: [email protected]
item:
type: component.list-item
options:
title: [email protected]
subtitle: [email protected] & 'minutes for task completion'
# Add icons to the left of the list-item, define the color,
# type and shape of the icon
leftElement:
element: icon
icon: =(@ctx.current.item.materials) = true ? 'home' :'car-garage'
color: color7
type: contained
shape: basic# Data configured to use datasource (dynamic)
data: [email protected]
item:
type: component.list-item
options:
title: [email protected]
subtitle: [email protected] & 'minutes for task completion'
leftElement:
# Add icons to the left of the list-item, define the color,
# type and shape of the icon
element: icon
icon: =(@ctx.current.item.materials) = true ? 'home' :'car-garage'
color: color7
type: contained
shape: basicdatasources:
repair-services-static:
type: datasource.static
options:
data:
- id: 1
description: Installation or repairs for doors. Doors to be provided by client
hourlyRate: 70
illustration: http://clipart-library.com/data_images/436224.png
image: https://images.unsplash.com/photo-1500281781950-6cd80847ebcd?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1469&q=80
materials: false
service: Door Installation/Repair
time: 60
- id: 2
description: Repairs to door handles
hourlyRate: 40
illustration: http://clipart-library.com/img1/1332215.jpg
image: https://images.unsplash.com/photo-1538766017398-415434a31a5b?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: true
service: Door Handle/Lock Repairs
time: 60
- id: 3
description: Installation or repairs of tiled surfaces. Tiles have to be provided by client
hourlyRate: 110
illustration: http://clipart-library.com/images/kcKnbzbXi.jpg
image: https://images.unsplash.com/photo-1523413184730-e85dbbd04aba?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=687&q=80
materials: false
service: Tile Installation/Repair
time: 120
- id: 4
description: Installation or repairs of dry-wall surfaces
hourlyRate: 80
illustration: http://clipart-library.com/img1/505759.jpg
image: https://images.unsplash.com/photo-1628901551715-7234d14fb7a0?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: true
service: Drywall Installation/Repair
time: 120
- id: 5
description: Repairs to bathroom rails, toilets, etc
hourlyRate: 90
illustration: http://clipart-library.com/new_gallery/53-530190_black-and-white-toilet-png.png
image: https://images.unsplash.com/photo-1585313647787-7a061b5a85a6?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1423&q=80
materials: true
service: Bathroom Repairs
time: 60
- id: 6
description: Painting as required. Paint and tools not provided
hourlyRate: 70
illustration: http://clipart-library.com/img/853166.jpg
image: https://images.unsplash.com/photo-1562259949-e8e7689d7828?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1431&q=80
materials: false
service: Painting Services
time: 120
- id: 7
description: Repairs to fences. Tools and items not included
hourlyRate: 90
illustration: http://clipart-library.com/img/18345.gif
image: https://images.unsplash.com/photo-1583805978118-ba9a81ac1399?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: false
service: Fence Installation/Repair
time: 60
- id: 8
description: Removal of graffiti and painting. Paint and brushes not included in cost
hourlyRate: 110
illustration: http://clipart-library.com/images/6cy5aL5gi.jpg
image: https://images.unsplash.com/photo-1581850518616-bcb8077a2336?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: false
service: Removal of Graffiti
time: 120
- id: 9
description: Repairs to cupboard doors
hourlyRate: 60
illustration: http://clipart-library.com/img1/1605140.jpg
image: https://images.unsplash.com/photo-1522791465802-47616431a4cf?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1451&q=80
materials: true
service: Cupboard Door Repairs
time: 60
- id: 10
description: Plumbing issues and repairs
hourlyRate: 90
illustration: http://clipart-library.com/images_k/plumbing-silhouette/plumbing-silhouette-6.png
image: https://images.unsplash.com/photo-1591804774220-c1db3673d05b?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1074&q=80
materials: true
service: Plumbing
time: 60datasources:
cleaning-services-dynamic:
type: datasource.sqlite
options:
provider: DATA_PROVIDER_DYNAMIC
entities:
- entity: default/cleaning-services
query: |
SELECT
id,
'$.id' as sqlid,
'$.area',
'$.description',
'$.hourlyrate',
'$.illustration',
'$.image',
'$.indoor',
'$.onceoffrate',
'$.service',
'$.pressed',
'$.time',
'$.quantity'
FROM [default/cleaning-services]
WHERE '$.hourlyrate' IS NOT NULL ORDER BY id DESCList with the left image

This example displays a list with an image to left of the list-item for visual representation. The image shape and size is defined.
Examples: See the full example using static data in GitHub. See the full example using dynamic data in GitHub.
Datasources: See the full datasource for static data in GitHub. See the full datasource for dynamic data in GitHub.
# Data configured to use datasource (static)
data: [email protected]
item:
type: component.list-item
options:
title: [email protected]
# Add a subtitle that wraps over two lines.
subtitle:
text: [email protected]
numberOfLines: 2
leftElement:
# Add images to the left of the list-item, define the shape & size
element: image
text: [email protected]
uri: [email protected]
shape: landscape
size: regular# Data configured to use datasource (dynamic)
data: [email protected]
item:
type: component.list-item
options:
title: [email protected]
# Add a subtitle that wraps over two lines.
subtitle:
text: [email protected]
numberOfLines: 2
# Add images to the left of the list-item, define the shape & size.
leftElement:
element: image
text: [email protected]
uri: [email protected]
shape: landscape
size: regulardatasources:
repair-services-static:
type: datasource.static
options:
data:
- id: 1
description: Installation or repairs for doors. Doors to be provided by client
hourlyRate: 70
illustration: http://clipart-library.com/data_images/436224.png
image: https://images.unsplash.com/photo-1500281781950-6cd80847ebcd?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1469&q=80
materials: false
service: Door Installation/Repair
time: 60
- id: 2
description: Repairs to door handles
hourlyRate: 40
illustration: http://clipart-library.com/img1/1332215.jpg
image: https://images.unsplash.com/photo-1538766017398-415434a31a5b?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: true
service: Door Handle/Lock Repairs
time: 60
- id: 3
description: Installation or repairs of tiled surfaces. Tiles have to be provided by client
hourlyRate: 110
illustration: http://clipart-library.com/images/kcKnbzbXi.jpg
image: https://images.unsplash.com/photo-1523413184730-e85dbbd04aba?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=687&q=80
materials: false
service: Tile Installation/Repair
time: 120
- id: 4
description: Installation or repairs of dry-wall surfaces
hourlyRate: 80
illustration: http://clipart-library.com/img1/505759.jpg
image: https://images.unsplash.com/photo-1628901551715-7234d14fb7a0?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: true
service: Drywall Installation/Repair
time: 120
- id: 5
description: Repairs to bathroom rails, toilets, etc
hourlyRate: 90
illustration: http://clipart-library.com/new_gallery/53-530190_black-and-white-toilet-png.png
image: https://images.unsplash.com/photo-1585313647787-7a061b5a85a6?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1423&q=80
materials: true
service: Bathroom Repairs
time: 60
- id: 6
description: Painting as required. Paint and tools not provided
hourlyRate: 70
illustration: http://clipart-library.com/img/853166.jpg
image: https://images.unsplash.com/photo-1562259949-e8e7689d7828?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1431&q=80
materials: false
service: Painting Services
time: 120
- id: 7
description: Repairs to fences. Tools and items not included
hourlyRate: 90
illustration: http://clipart-library.com/img/18345.gif
image: https://images.unsplash.com/photo-1583805978118-ba9a81ac1399?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: false
service: Fence Installation/Repair
time: 60
- id: 8
description: Removal of graffiti and painting. Paint and brushes not included in cost
hourlyRate: 110
illustration: http://clipart-library.com/images/6cy5aL5gi.jpg
image: https://images.unsplash.com/photo-1581850518616-bcb8077a2336?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: false
service: Removal of Graffiti
time: 120
- id: 9
description: Repairs to cupboard doors
hourlyRate: 60
illustration: http://clipart-library.com/img1/1605140.jpg
image: https://images.unsplash.com/photo-1522791465802-47616431a4cf?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1451&q=80
materials: true
service: Cupboard Door Repairs
time: 60
- id: 10
description: Plumbing issues and repairs
hourlyRate: 90
illustration: http://clipart-library.com/images_k/plumbing-silhouette/plumbing-silhouette-6.png
image: https://images.unsplash.com/photo-1591804774220-c1db3673d05b?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1074&q=80
materials: true
service: Plumbing
time: 60datasources:
cleaning-services-dynamic:
type: datasource.sqlite
options:
provider: DATA_PROVIDER_DYNAMIC
entities:
- entity: default/cleaning-services
query: |
SELECT
id,
'$.id' as sqlid,
'$.area',
'$.description',
'$.hourlyrate',
'$.illustration',
'$.image',
'$.indoor',
'$.onceoffrate',
'$.service',
'$.pressed',
'$.time',
'$.quantity'
FROM [default/cleaning-services]
WHERE '$.hourlyrate' IS NOT NULL ORDER BY id DESCList with left progress

This example displays a list with visual progress elements to the left of the list items.
Examples: See the full example using static data in GitHub. See the full example using dynamic data in GitHub.
Datasources: See the full datasource for static data in GitHub. See the full datasource for dynamic data in GitHub
# Data configured to use datasource (static)
data: [email protected]
item:
type: component.list-item
options:
title: [email protected]
subtitle: [email protected]
leftElement:
element: progress
title: Time
value: [email protected]/120# Data configured to use datasource (dynamic)
data: [email protected]
item:
type: component.list-item
options:
title: [email protected]
subtitle: [email protected]
leftElement:
element: progress
title: Time
value: =$number(@ctx.current.item.time)/120datasources:
repair-services-static:
type: datasource.static
options:
data:
- id: 1
description: Installation or repairs for doors. Doors to be provided by client
hourlyRate: 70
illustration: http://clipart-library.com/data_images/436224.png
image: https://images.unsplash.com/photo-1500281781950-6cd80847ebcd?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1469&q=80
materials: false
service: Door Installation/Repair
time: 60
- id: 2
description: Repairs to door handles
hourlyRate: 40
illustration: http://clipart-library.com/img1/1332215.jpg
image: https://images.unsplash.com/photo-1538766017398-415434a31a5b?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: true
service: Door Handle/Lock Repairs
time: 60
- id: 3
description: Installation or repairs of tiled surfaces. Tiles have to be provided by client
hourlyRate: 110
illustration: http://clipart-library.com/images/kcKnbzbXi.jpg
image: https://images.unsplash.com/photo-1523413184730-e85dbbd04aba?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=687&q=80
materials: false
service: Tile Installation/Repair
time: 120
- id: 4
description: Installation or repairs of dry-wall surfaces
hourlyRate: 80
illustration: http://clipart-library.com/img1/505759.jpg
image: https://images.unsplash.com/photo-1628901551715-7234d14fb7a0?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: true
service: Drywall Installation/Repair
time: 120
- id: 5
description: Repairs to bathroom rails, toilets, etc
hourlyRate: 90
illustration: http://clipart-library.com/new_gallery/53-530190_black-and-white-toilet-png.png
image: https://images.unsplash.com/photo-1585313647787-7a061b5a85a6?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1423&q=80
materials: true
service: Bathroom Repairs
time: 60
- id: 6
description: Painting as required. Paint and tools not provided
hourlyRate: 70
illustration: http://clipart-library.com/img/853166.jpg
image: https://images.unsplash.com/photo-1562259949-e8e7689d7828?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1431&q=80
materials: false
service: Painting Services
time: 120
- id: 7
description: Repairs to fences. Tools and items not included
hourlyRate: 90
illustration: http://clipart-library.com/img/18345.gif
image: https://images.unsplash.com/photo-1583805978118-ba9a81ac1399?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: false
service: Fence Installation/Repair
time: 60
- id: 8
description: Removal of graffiti and painting. Paint and brushes not included in cost
hourlyRate: 110
illustration: http://clipart-library.com/images/6cy5aL5gi.jpg
image: https://images.unsplash.com/photo-1581850518616-bcb8077a2336?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: false
service: Removal of Graffiti
time: 120
- id: 9
description: Repairs to cupboard doors
hourlyRate: 60
illustration: http://clipart-library.com/img1/1605140.jpg
image: https://images.unsplash.com/photo-1522791465802-47616431a4cf?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1451&q=80
materials: true
service: Cupboard Door Repairs
time: 60
- id: 10
description: Plumbing issues and repairs
hourlyRate: 90
illustration: http://clipart-library.com/images_k/plumbing-silhouette/plumbing-silhouette-6.png
image: https://images.unsplash.com/photo-1591804774220-c1db3673d05b?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1074&q=80
materials: true
service: Plumbing
time: 60datasources:
cleaning-services-dynamic:
type: datasource.sqlite
options:
provider: DATA_PROVIDER_DYNAMIC
entities:
- entity: default/cleaning-services
query: |
SELECT
id,
'$.id' as sqlid,
'$.area',
'$.description',
'$.hourlyrate',
'$.illustration',
'$.image',
'$.indoor',
'$.onceoffrate',
'$.service',
'$.pressed',
'$.time',
'$.quantity'
FROM [default/cleaning-services]
WHERE '$.hourlyrate' IS NOT NULL ORDER BY id DESCSwipeable list (left)

This example shows using the swipeable action to access the onPress action as well as setting up a primary and secondary action.
Examples: See the full example using static data in GitHub. See the full example using dynamic data in GitHub.
Datasources: See the full datasource for static data in GitHub. See the full datasource for dynamic data in <GitHub.
# Data configured to use datasource (static)
data: [email protected]
item:
type: component.list-item
options:
# Add a bold title.
title:
text: [email protected]
isBold: true
# Add a subtitle that wraps over two lines.
subtitle:
text: [email protected]
numberOfLines: 2
# Add and style the icon to the left of the item.
leftElement:
element: icon
icon: =(@ctx.current.item.materials = true ? 'home' :'car-garage')
shape: circle
type: duotone
rightElement:
element: value
text: ='$ ' & $number(@ctx.current.item.hourlyRate)
swipeable:
left:
# Configure two actions (buttons) with color when swiping left.
- onPress:
type: action.go-to
options:
linkTo: action-list-onPress
label: Primary Action
icon: alarm-bell
color: primary
- onPress:
type: action.go-to
options:
linkTo: action-list-onPress
label: Secondary Action
icon: alert-triangle
color: warning# Data configured to use datasource (dynamic)
data: [email protected]
item:
type: component.list-item
options:
# Add a bold title.
title:
text: [email protected]
isBold: true
# Add a subtitle that wraps over two lines.
subtitle:
text: [email protected]
numberOfLines: 2
# Add and style the icon to the left of the item.
leftElement:
element: icon
icon: =(@ctx.current.item.indoor = "TRUE" ? 'home' :'car-garage')
shape: circle
type: duotone
rightElement:
element: value
text: =(@ctx.current.item.hourlyrate) != 'NA' ? '$ ' & $number(@ctx.current.item.hourlyrate) & ' p/hr':'$ ' & $number(@ctx.current.item.onceoffrate) & ' once off'
swipeable:
# Configure two actions (buttons) with color when swiping left.
left:
- onPress:
type: action.go-to
options:
linkTo: action-list-onPress
label: Primary Action
icon: alarm-bell
color: primary
# note that the secondary action is only for demo purposes,
# you can stop at the primary action
- onPress:
type: action.go-to
options:
linkTo: action-list-onPress
label: Secondary Action
icon: alert-triangle
color: warningtype: datasource.static
options:
data:
- id: 1
description: Installation or repairs for doors. Doors to be provided by client.We offer expert installation and repair of all types of doors, including interior, exterior, sliding, and security doors.
hourlyRate: 70
illustration: https://clipart-library.com/data_images/436224.png
image: https://images.unsplash.com/photo-1500281781950-6cd80847ebcd?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1469&q=80
materials: false
service: Door Installation/Repair.
time: 60
- id: 2
description: Repairs to door handles. Fast, reliable fixes for loose handles, faulty locks, and jammed mechanisms.
hourlyRate: 40
illustration: https://clipart-library.com/img1/1332215.jpg
image: https://images.unsplash.com/photo-1538766017398-415434a31a5b?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: true
service: Door Handle/Lock Repairs.
time: 60
- id: 3
description: Installation or repairs of tiled surfaces. We handle the installation and repair of all tiled surfaces. Clients are required to supply the tiles and tile adhesive.
hourlyRate: 110
illustration: https://clipart-library.com/images/kcKnbzbXi.jpg
image: https://images.unsplash.com/photo-1523413184730-e85dbbd04aba?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=687&q=80
materials: false
service: Tile Installation/Repair.
time: 120
- id: 4
description: Installation or repairs of dry-wall surfaces
hourlyRate: 80
illustration: https://clipart-library.com/img1/505759.jpg
image: https://images.unsplash.com/photo-1628901551715-7234d14fb7a0?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: true
service: Drywall Installation/Repair
time: 120
- id: 5
description: Bathroom fixture repairs. We repair and secure bathroom rails, toilets, and related fittings to ensure safety, and stability.
hourlyRate: 90
illustration: https://clipart-library.com/new_gallery/53-530190_black-and-white-toilet-png.png
image: https://images.unsplash.com/photo-1585313647787-7a061b5a85a6?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1423&q=80
materials: true
service: Bathroom Repairs
time: 60
- id: 6
description: Painting as required. Paint and tools not provided.
hourlyRate: 70
illustration: https://clipart-library.com/img/853166.jpg
image: https://images.unsplash.com/photo-1562259949-e8e7689d7828?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1431&q=80
materials: false
service: Painting Services
time: 120
- id: 7
description: Repairs to fences. Tools and items not included.
hourlyRate: 90
illustration: https://clipart-library.com/img/18345.gif
image: https://images.unsplash.com/photo-1583805978118-ba9a81ac1399?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: false
service: Fence Installation/Repair
time: 60
- id: 8
description: Removal of graffiti and painting. Paint and brushes not included in cost.
hourlyRate: 110
illustration: https://clipart-library.com/images/6cy5aL5gi.jpg
image: https://images.unsplash.com/photo-1581850518616-bcb8077a2336?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: false
service: Removal of Graffiti
time: 120
- id: 9
description: Repairs to cupboard doors.
hourlyRate: 60
illustration: https://clipart-library.com/img1/1605140.jpg
image: https://images.unsplash.com/photo-1522791465802-47616431a4cf?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1451&q=80
materials: true
service: Cupboard Door Repairs
time: 60
- id: 10
description: Plumbing issues and repairs. Ideal for addressing loose fixtures, leaks, or general wear and tear.
hourlyRate: 90
illustration: https://clipart-library.com/images_k/plumbing-silhouette/plumbing-silhouette-6.png
image: https://images.unsplash.com/photo-1591804774220-c1db3673d05b?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1074&q=80
materials: true
service: Plumbing
time: 60datasources:
cleaning-services-dynamic:
type: datasource.sqlite
options:
provider: DATA_PROVIDER_DYNAMIC
entities:
- entity: default/cleaning-services
query: |
SELECT
id,
'$.id' as sqlid,
'$.area',
'$.description',
'$.hourlyrate',
'$.illustration',
'$.image',
'$.indoor',
'$.onceoffrate',
'$.service',
'$.pressed',
'$.time',
'$.quantity'
FROM [default/cleaning-services]
WHERE '$.hourlyrate' IS NOT NULL ORDER BY id DESCList with the right amount control

# Data configured to use datasource (static)
data: [email protected]
item:
type: component.list-item
options:
title: [email protected]
subtitle: [email protected]
style:
isDisabled: [email protected] = 5
rightElement:
element: amount-control
value: 1
step: 1
minimum: 2
maximum: 5# Data configured to use datasource (dynamic)
data: [email protected]
item:
type: component.list-item
options:
title: [email protected]
subtitle: [email protected]
style:
isDisabled: [email protected] = 5
rightElement:
element: amount-control
value: =$number(@ctx.current.item.quantity)
step: 1
minimum: 1
maximum: 5
onChange:
type: action.execute-entity
options:
provider: DATA_PROVIDER_DYNAMIC
entity: default/cleaning-services
method: update
data:
id: [email protected]
quantity: [email protected]datasources:
repair-services-static:
type: datasource.static
options:
data:
- id: 1
description: Installation or repairs for doors. Doors to be provided by client
hourlyRate: 70
illustration: http://clipart-library.com/data_images/436224.png
image: https://images.unsplash.com/photo-1500281781950-6cd80847ebcd?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1469&q=80
materials: false
service: Door Installation/Repair
time: 60
- id: 2
description: Repairs to door handles
hourlyRate: 40
illustration: http://clipart-library.com/img1/1332215.jpg
image: https://images.unsplash.com/photo-1538766017398-415434a31a5b?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: true
service: Door Handle/Lock Repairs
time: 60
- id: 3
description: Installation or repairs of tiled surfaces. Tiles have to be provided by client
hourlyRate: 110
illustration: http://clipart-library.com/images/kcKnbzbXi.jpg
image: https://images.unsplash.com/photo-1523413184730-e85dbbd04aba?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=687&q=80
materials: false
service: Tile Installation/Repair
time: 120
- id: 4
description: Installation or repairs of dry-wall surfaces
hourlyRate: 80
illustration: http://clipart-library.com/img1/505759.jpg
image: https://images.unsplash.com/photo-1628901551715-7234d14fb7a0?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: true
service: Drywall Installation/Repair
time: 120
- id: 5
description: Repairs to bathroom rails, toilets, etc
hourlyRate: 90
illustration: http://clipart-library.com/new_gallery/53-530190_black-and-white-toilet-png.png
image: https://images.unsplash.com/photo-1585313647787-7a061b5a85a6?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1423&q=80
materials: true
service: Bathroom Repairs
time: 60
- id: 6
description: Painting as required. Paint and tools not provided
hourlyRate: 70
illustration: http://clipart-library.com/img/853166.jpg
image: https://images.unsplash.com/photo-1562259949-e8e7689d7828?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1431&q=80
materials: false
service: Painting Services
time: 120
- id: 7
description: Repairs to fences. Tools and items not included
hourlyRate: 90
illustration: http://clipart-library.com/img/18345.gif
image: https://images.unsplash.com/photo-1583805978118-ba9a81ac1399?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: false
service: Fence Installation/Repair
time: 60
- id: 8
description: Removal of graffiti and painting. Paint and brushes not included in cost
hourlyRate: 110
illustration: http://clipart-library.com/images/6cy5aL5gi.jpg
image: https://images.unsplash.com/photo-1581850518616-bcb8077a2336?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: false
service: Removal of Graffiti
time: 120
- id: 9
description: Repairs to cupboard doors
hourlyRate: 60
illustration: http://clipart-library.com/img1/1605140.jpg
image: https://images.unsplash.com/photo-1522791465802-47616431a4cf?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1451&q=80
materials: true
service: Cupboard Door Repairs
time: 60
- id: 10
description: Plumbing issues and repairs
hourlyRate: 90
illustration: http://clipart-library.com/images_k/plumbing-silhouette/plumbing-silhouette-6.png
image: https://images.unsplash.com/photo-1591804774220-c1db3673d05b?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1074&q=80
materials: true
service: Plumbing
time: 60datasources:
cleaning-services-dynamic:
type: datasource.sqlite
options:
provider: DATA_PROVIDER_DYNAMIC
entities:
- entity: default/cleaning-services
query: |
SELECT
id,
'$.id' as sqlid,
'$.area',
'$.description',
'$.hourlyrate',
'$.illustration',
'$.image',
'$.indoor',
'$.onceoffrate',
'$.service',
'$.pressed',
'$.time',
'$.quantity'
FROM [default/cleaning-services]
WHERE '$.hourlyrate' IS NOT NULL ORDER BY id DESCList with the right badges

This example shows badges that are displayed based on certain input. Badges always use the primary color. You cannot change the color of the badge. The styling has been applied to the title and subtitle, and each list-item displayed in a container.
Examples: See the full example using static data in GitHub. See the full example using dynamic data in GitHub.
Datasources:
See the full datasource for static data in GitHub. See the full datasource for dynamic data in GitHub.
# Data configured to use datasource (static)
data: [email protected]
item:
type: component.list-item
options:
# Configure each list-item to display in a container/card.
isContained: true
# Add and style the title.
title:
text: [email protected]
fontSize: regular
isBold: true
# Add a subtitle that wraps over two lines and define the font size.
subtitle:
text: [email protected]
numberOfLines: 2
fontSize: small
# Configure when the badge must display.
rightElement:
element: badge
isHidden: =(@ctx.current.item.materials) = true ? true :false# Data configured to use datasource (dynamic)
data: [email protected]
item:
type: component.list-item
options:
# Configure each list-item to display in a container/card.
isContained: true
# Add and style the title.
title:
text: [email protected]
fontSize: regular
isBold: true
# Add a subtitle that wraps over two lines and define the font size.
subtitle:
text: [email protected]
numberOfLines: 2
fontSize: small
# Configure when the badge must display.
rightElement:
element: badge
isHidden: =(@ctx.current.item.indoor) = 'TRUE' ? true :falsetype: datasource.static
options:
data:
- id: 1
description: Installation or repairs for doors. Doors to be provided by client.We offer expert installation and repair of all types of doors, including interior, exterior, sliding, and security doors.
hourlyRate: 70
illustration: https://clipart-library.com/data_images/436224.png
image: https://images.unsplash.com/photo-1500281781950-6cd80847ebcd?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1469&q=80
materials: false
service: Door Installation/Repair.
time: 60
- id: 2
description: Repairs to door handles. Fast, reliable fixes for loose handles, faulty locks, and jammed mechanisms.
hourlyRate: 40
illustration: https://clipart-library.com/img1/1332215.jpg
image: https://images.unsplash.com/photo-1538766017398-415434a31a5b?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: true
service: Door Handle/Lock Repairs.
time: 60
- id: 3
description: Installation or repairs of tiled surfaces. We handle the installation and repair of all tiled surfaces. Clients are required to supply the tiles and tile adhesive.
hourlyRate: 110
illustration: https://clipart-library.com/images/kcKnbzbXi.jpg
image: https://images.unsplash.com/photo-1523413184730-e85dbbd04aba?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=687&q=80
materials: false
service: Tile Installation/Repair.
time: 120
- id: 4
description: Installation or repairs of dry-wall surfaces
hourlyRate: 80
illustration: https://clipart-library.com/img1/505759.jpg
image: https://images.unsplash.com/photo-1628901551715-7234d14fb7a0?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: true
service: Drywall Installation/Repair
time: 120
- id: 5
description: Bathroom fixture repairs. We repair and secure bathroom rails, toilets, and related fittings to ensure safety, and stability.
hourlyRate: 90
illustration: https://clipart-library.com/new_gallery/53-530190_black-and-white-toilet-png.png
image: https://images.unsplash.com/photo-1585313647787-7a061b5a85a6?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1423&q=80
materials: true
service: Bathroom Repairs
time: 60
- id: 6
description: Painting as required. Paint and tools not provided.
hourlyRate: 70
illustration: https://clipart-library.com/img/853166.jpg
image: https://images.unsplash.com/photo-1562259949-e8e7689d7828?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1431&q=80
materials: false
service: Painting Services
time: 120
- id: 7
description: Repairs to fences. Tools and items not included.
hourlyRate: 90
illustration: https://clipart-library.com/img/18345.gif
image: https://images.unsplash.com/photo-1583805978118-ba9a81ac1399?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: false
service: Fence Installation/Repair
time: 60
- id: 8
description: Removal of graffiti and painting. Paint and brushes not included in cost.
hourlyRate: 110
illustration: https://clipart-library.com/images/6cy5aL5gi.jpg
image: https://images.unsplash.com/photo-1581850518616-bcb8077a2336?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: false
service: Removal of Graffiti
time: 120
- id: 9
description: Repairs to cupboard doors.
hourlyRate: 60
illustration: https://clipart-library.com/img1/1605140.jpg
image: https://images.unsplash.com/photo-1522791465802-47616431a4cf?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1451&q=80
materials: true
service: Cupboard Door Repairs
time: 60
- id: 10
description: Plumbing issues and repairs. Ideal for addressing loose fixtures, leaks, or general wear and tear.
hourlyRate: 90
illustration: https://clipart-library.com/images_k/plumbing-silhouette/plumbing-silhouette-6.png
image: https://images.unsplash.com/photo-1591804774220-c1db3673d05b?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1074&q=80
materials: true
service: Plumbing
time: 60datasources:
cleaning-services-dynamic:
type: datasource.sqlite
options:
provider: DATA_PROVIDER_DYNAMIC
entities:
- entity: default/cleaning-services
query: |
SELECT
id,
'$.id' as sqlid,
'$.area',
'$.description',
'$.hourlyrate',
'$.illustration',
'$.image',
'$.indoor',
'$.onceoffrate',
'$.service',
'$.pressed',
'$.time',
'$.quantity'
FROM [default/cleaning-services]
WHERE '$.hourlyrate' IS NOT NULL ORDER BY id DESCList with right numbered badges
In this example a list shows the work priorities and how many tasks there are for each priority. The rightElement uses a badge with an expression. The count is performed in the datasource query rather than in the expression. The expression calls the taskCount from the datasource. Badges always use the primary color. You cannot change the color of the badge.
Examples: See the example in GitHub.
title: Team task priorities list
description: A list displaying priorities, with a numbered badge for each.
type: jig.default
header:
type: component.jig-header
options:
height: medium
children:
type: component.image
options:
source:
uri: https://images.unsplash.com/photo-1569098644584-210bcd375b59?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8MjV8fHdvcmslMjB0YXNrc3xlbnwwfHwwfHx8MA%3D%3D
children:
- type: component.list
options:
data: [email protected]
maximumItemsToRender: 8
item:
type: component.list-item
options:
color:
- when: [email protected] = 'Urgent'
color: negative
- when: [email protected] = 'Medium'
color: primary
- when: [email protected] = 'Low'
color: color6
- when: [email protected] = 'Closed'
color: positive
- when: [email protected] = 'High'
color: warning
title: [email protected]
divider: solid
leftElement:
# Add an icon with styling.
element: icon
icon: [email protected][name = @ctx.current.item.priority].icon
type: duotone
rightElement:
# The badge will display with the number of priorities
# per priority, the count is configured in the datasource query.
element: badge
value: [email protected]datasources:
team-tasks:
type: datasource.sqlite
options:
provider: DATA_PROVIDER_DYNAMIC
entities:
- entity: default/tasks
query: |
SELECT
id,
JSON_EXTRACT(task.data, '$.taskAssignee') AS taskAssignee,
JSON_EXTRACT(task.data, '$.taskName') AS taskName,
JSON_EXTRACT(task.data, '$.taskCost') AS taskCost,
JSON_EXTRACT(task.data, '$.taskId') AS taskId,
JSON_EXTRACT(task.data, '$.taskStatus') AS taskStatus,
JSON_EXTRACT(task.data, '$.team') AS team,
JSON_EXTRACT(task.data, '$.Profile') AS Profile,
JSON_EXTRACT(task.data, '$.priority') AS priority,
COUNT(JSON_EXTRACT(task.data, '$.taskId')) AS taskCount
FROM [default/tasks] AS task
GROUP BY priority
ORDER BY priority DESC
priority:
type: datasource.static
options:
data:
- id: 1
name: Closed
icon: check-2-alternate
- id: 2
name: Urgent
icon: double-exclamation-mark-2-formatting
- id: 3
name: High
icon: arrow-double-up
- id: 4
name: Low
icon: arrow-double-down
- id: 4
name: Medium
icon: equal-math-symbol-circleList with right Buttons

This example shows a list with actionable buttons, a bold title, and the subtitle wraps over two lines.
Examples: See the full example using static data in GitHub. See the full example using dynamic data in GitHub.
Datasources: See the full datasource for static data in GitHub. See the full datasource for dynamic data in GitHub.
type: datasource.static
options:
data:
- id: 1
description: Installation or repairs for doors. Doors to be provided by client.We offer expert installation and repair of all types of doors, including interior, exterior, sliding, and security doors.
hourlyRate: 70
illustration: https://clipart-library.com/data_images/436224.png
image: https://images.unsplash.com/photo-1500281781950-6cd80847ebcd?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1469&q=80
materials: false
service: Door Installation/Repair.
time: 60
- id: 2
description: Repairs to door handles. Fast, reliable fixes for loose handles, faulty locks, and jammed mechanisms.
hourlyRate: 40
illustration: https://clipart-library.com/img1/1332215.jpg
image: https://images.unsplash.com/photo-1538766017398-415434a31a5b?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: true
service: Door Handle/Lock Repairs.
time: 60
- id: 3
description: Installation or repairs of tiled surfaces. We handle the installation and repair of all tiled surfaces. Clients are required to supply the tiles and tile adhesive.
hourlyRate: 110
illustration: https://clipart-library.com/images/kcKnbzbXi.jpg
image: https://images.unsplash.com/photo-1523413184730-e85dbbd04aba?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=687&q=80
materials: false
service: Tile Installation/Repair.
time: 120
- id: 4
description: Installation or repairs of dry-wall surfaces
hourlyRate: 80
illustration: https://clipart-library.com/img1/505759.jpg
image: https://images.unsplash.com/photo-1628901551715-7234d14fb7a0?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: true
service: Drywall Installation/Repair
time: 120
- id: 5
description: Bathroom fixture repairs. We repair and secure bathroom rails, toilets, and related fittings to ensure safety, and stability.
hourlyRate: 90
illustration: https://clipart-library.com/new_gallery/53-530190_black-and-white-toilet-png.png
image: https://images.unsplash.com/photo-1585313647787-7a061b5a85a6?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1423&q=80
materials: true
service: Bathroom Repairs
time: 60
- id: 6
description: Painting as required. Paint and tools not provided.
hourlyRate: 70
illustration: https://clipart-library.com/img/853166.jpg
image: https://images.unsplash.com/photo-1562259949-e8e7689d7828?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1431&q=80
materials: false
service: Painting Services
time: 120
- id: 7
description: Repairs to fences. Tools and items not included.
hourlyRate: 90
illustration: https://clipart-library.com/img/18345.gif
image: https://images.unsplash.com/photo-1583805978118-ba9a81ac1399?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: false
service: Fence Installation/Repair
time: 60
- id: 8
description: Removal of graffiti and painting. Paint and brushes not included in cost.
hourlyRate: 110
illustration: https://clipart-library.com/images/6cy5aL5gi.jpg
image: https://images.unsplash.com/photo-1581850518616-bcb8077a2336?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: false
service: Removal of Graffiti
time: 120
- id: 9
description: Repairs to cupboard doors.
hourlyRate: 60
illustration: https://clipart-library.com/img1/1605140.jpg
image: https://images.unsplash.com/photo-1522791465802-47616431a4cf?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1451&q=80
materials: true
service: Cupboard Door Repairs
time: 60
- id: 10
description: Plumbing issues and repairs. Ideal for addressing loose fixtures, leaks, or general wear and tear.
hourlyRate: 90
illustration: https://clipart-library.com/images_k/plumbing-silhouette/plumbing-silhouette-6.png
image: https://images.unsplash.com/photo-1591804774220-c1db3673d05b?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1074&q=80
materials: true
service: Plumbing
time: 60datasources:
cleaning-services-dynamic:
type: datasource.sqlite
options:
provider: DATA_PROVIDER_DYNAMIC
entities:
- entity: default/cleaning-services
query: |
SELECT
id,
'$.id' as sqlid,
'$.area',
'$.description',
'$.hourlyrate',
'$.illustration',
'$.image',
'$.indoor',
'$.onceoffrate',
'$.service',
'$.pressed',
'$.time',
'$.quantity'
FROM [default/cleaning-services]
WHERE '$.hourlyrate' IS NOT NULL ORDER BY id DESCList with the right icons

# Data configured to use datasource (static)
data: [email protected]
item:
type: component.list-item
options:
# Define a title and apply custom styling such as font size,
# weight, and color.
title:
text: [email protected]
isBold: true
fontSize: regular
# Configure the subtitle to allow text wrapping across two lines.
subtitle:
text: [email protected]
isSubtle: true
numberOfLines: 2
rightElement:
# Define an icon on the right and apply custom styling such as
# shape, and color.
element: icon
icon: =(@ctx.current.item.materials = true ? 'attachment' :'alert-triangle')
type: contained
shape: circle
color: color14# Data configured to use datasource (dynamic)
data: [email protected]
item:
type: component.list-item
options:
# Define a title and apply custom styling such as font size,
# weight, and color.
title:
text: [email protected]
isBold: true
fontSize: regular
# Configure a subtle subtitle.
subtitle:
text: [email protected] & 'minutes for task completion'
isSubtle: true
# Define an icon on the right and apply custom styling such as
# shape, and color.
rightElement:
element: icon
icon: =(@ctx.current.item.indoor = "TRUE" ? 'home' :'car-garage')
type: contained
shape: circle
color: color14type: datasource.static
options:
data:
- id: 1
description: Installation or repairs for doors. Doors to be provided by client.We offer expert installation and repair of all types of doors, including interior, exterior, sliding, and security doors.
hourlyRate: 70
illustration: https://clipart-library.com/data_images/436224.png
image: https://images.unsplash.com/photo-1500281781950-6cd80847ebcd?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1469&q=80
materials: false
service: Door Installation/Repair.
time: 60
- id: 2
description: Repairs to door handles. Fast, reliable fixes for loose handles, faulty locks, and jammed mechanisms.
hourlyRate: 40
illustration: https://clipart-library.com/img1/1332215.jpg
image: https://images.unsplash.com/photo-1538766017398-415434a31a5b?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: true
service: Door Handle/Lock Repairs.
time: 60
- id: 3
description: Installation or repairs of tiled surfaces. We handle the installation and repair of all tiled surfaces. Clients are required to supply the tiles and tile adhesive.
hourlyRate: 110
illustration: https://clipart-library.com/images/kcKnbzbXi.jpg
image: https://images.unsplash.com/photo-1523413184730-e85dbbd04aba?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=687&q=80
materials: false
service: Tile Installation/Repair.
time: 120
- id: 4
description: Installation or repairs of dry-wall surfaces
hourlyRate: 80
illustration: https://clipart-library.com/img1/505759.jpg
image: https://images.unsplash.com/photo-1628901551715-7234d14fb7a0?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: true
service: Drywall Installation/Repair
time: 120
- id: 5
description: Bathroom fixture repairs. We repair and secure bathroom rails, toilets, and related fittings to ensure safety, and stability.
hourlyRate: 90
illustration: https://clipart-library.com/new_gallery/53-530190_black-and-white-toilet-png.png
image: https://images.unsplash.com/photo-1585313647787-7a061b5a85a6?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1423&q=80
materials: true
service: Bathroom Repairs
time: 60
- id: 6
description: Painting as required. Paint and tools not provided.
hourlyRate: 70
illustration: https://clipart-library.com/img/853166.jpg
image: https://images.unsplash.com/photo-1562259949-e8e7689d7828?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1431&q=80
materials: false
service: Painting Services
time: 120
- id: 7
description: Repairs to fences. Tools and items not included.
hourlyRate: 90
illustration: https://clipart-library.com/img/18345.gif
image: https://images.unsplash.com/photo-1583805978118-ba9a81ac1399?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: false
service: Fence Installation/Repair
time: 60
- id: 8
description: Removal of graffiti and painting. Paint and brushes not included in cost.
hourlyRate: 110
illustration: https://clipart-library.com/images/6cy5aL5gi.jpg
image: https://images.unsplash.com/photo-1581850518616-bcb8077a2336?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: false
service: Removal of Graffiti
time: 120
- id: 9
description: Repairs to cupboard doors.
hourlyRate: 60
illustration: https://clipart-library.com/img1/1605140.jpg
image: https://images.unsplash.com/photo-1522791465802-47616431a4cf?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1451&q=80
materials: true
service: Cupboard Door Repairs
time: 60
- id: 10
description: Plumbing issues and repairs. Ideal for addressing loose fixtures, leaks, or general wear and tear.
hourlyRate: 90
illustration: https://clipart-library.com/images_k/plumbing-silhouette/plumbing-silhouette-6.png
image: https://images.unsplash.com/photo-1591804774220-c1db3673d05b?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1074&q=80
materials: true
service: Plumbing
time: 60datasources:
cleaning-services-dynamic:
type: datasource.sqlite
options:
provider: DATA_PROVIDER_DYNAMIC
entities:
- entity: default/cleaning-services
query: |
SELECT
id,
'$.id' as sqlid,
'$.area',
'$.description',
'$.hourlyrate',
'$.illustration',
'$.image',
'$.indoor',
'$.onceoffrate',
'$.service',
'$.pressed',
'$.time',
'$.quantity'
FROM [default/cleaning-services]
WHERE '$.hourlyrate' IS NOT NULL ORDER BY id DESCList with the right switch

This example displays a list with switches/toggle functionality - based on a certain input.
Examples: See the full example using static data in GitHub. See the full example using dynamic data in GitHub.
Datasources: See the full datasource for static data in GitHub. See the full datasource for dynamic data in GitHub.
# Data configured to use datasource (static)
data: [email protected]
item:
type: component.list-item
options:
# Add a line to devide each item in the list.
divider: solid
# Define a title and apply custom styling such as font size.
title:
text: [email protected]
fontSize: regular
# Configure the subtitle to allow text wrapping across two lines.
subtitle:
text: [email protected]
numberOfLines: 2
# Add a switch to the right of each item. Use initialvalue to set
# some of the switches when the screen opens.
rightElement:
element: switch
initialValue: =(@ctx.current.item.materials = true ? true:false)
# Data configured to use datasource (dynamic)
data: [email protected]
item:
type: component.list-item
options:
# Add a line to divide each item in the list.
divider: solid
# Define a title and apply custom styling such as font size.
title:
text: [email protected]
fontSize: regular
# Configure the subtitle to allow text wrapping across two lines.
subtitle:
text: [email protected]
numberOfLines: 2
# Add a switch to the right of each item. Use initialValue to set
# some of the switches when the screen opens.
rightElement:
element: switch
initialValue: =(@ctx.current.item.indoor = 'TRUE' ? true:false)type: datasource.static
options:
data:
- id: 1
description: Installation or repairs for doors. Doors to be provided by client.We offer expert installation and repair of all types of doors, including interior, exterior, sliding, and security doors.
hourlyRate: 70
illustration: https://clipart-library.com/data_images/436224.png
image: https://images.unsplash.com/photo-1500281781950-6cd80847ebcd?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1469&q=80
materials: false
service: Door Installation/Repair.
time: 60
- id: 2
description: Repairs to door handles. Fast, reliable fixes for loose handles, faulty locks, and jammed mechanisms.
hourlyRate: 40
illustration: https://clipart-library.com/img1/1332215.jpg
image: https://images.unsplash.com/photo-1538766017398-415434a31a5b?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: true
service: Door Handle/Lock Repairs.
time: 60
- id: 3
description: Installation or repairs of tiled surfaces. We handle the installation and repair of all tiled surfaces. Clients are required to supply the tiles and tile adhesive.
hourlyRate: 110
illustration: https://clipart-library.com/images/kcKnbzbXi.jpg
image: https://images.unsplash.com/photo-1523413184730-e85dbbd04aba?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=687&q=80
materials: false
service: Tile Installation/Repair.
time: 120
- id: 4
description: Installation or repairs of dry-wall surfaces
hourlyRate: 80
illustration: https://clipart-library.com/img1/505759.jpg
image: https://images.unsplash.com/photo-1628901551715-7234d14fb7a0?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: true
service: Drywall Installation/Repair
time: 120
- id: 5
description: Bathroom fixture repairs. We repair and secure bathroom rails, toilets, and related fittings to ensure safety, and stability.
hourlyRate: 90
illustration: https://clipart-library.com/new_gallery/53-530190_black-and-white-toilet-png.png
image: https://images.unsplash.com/photo-1585313647787-7a061b5a85a6?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1423&q=80
materials: true
service: Bathroom Repairs
time: 60
- id: 6
description: Painting as required. Paint and tools not provided.
hourlyRate: 70
illustration: https://clipart-library.com/img/853166.jpg
image: https://images.unsplash.com/photo-1562259949-e8e7689d7828?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1431&q=80
materials: false
service: Painting Services
time: 120
- id: 7
description: Repairs to fences. Tools and items not included.
hourlyRate: 90
illustration: https://clipart-library.com/img/18345.gif
image: https://images.unsplash.com/photo-1583805978118-ba9a81ac1399?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: false
service: Fence Installation/Repair
time: 60
- id: 8
description: Removal of graffiti and painting. Paint and brushes not included in cost.
hourlyRate: 110
illustration: https://clipart-library.com/images/6cy5aL5gi.jpg
image: https://images.unsplash.com/photo-1581850518616-bcb8077a2336?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: false
service: Removal of Graffiti
time: 120
- id: 9
description: Repairs to cupboard doors.
hourlyRate: 60
illustration: https://clipart-library.com/img1/1605140.jpg
image: https://images.unsplash.com/photo-1522791465802-47616431a4cf?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1451&q=80
materials: true
service: Cupboard Door Repairs
time: 60
- id: 10
description: Plumbing issues and repairs. Ideal for addressing loose fixtures, leaks, or general wear and tear.
hourlyRate: 90
illustration: https://clipart-library.com/images_k/plumbing-silhouette/plumbing-silhouette-6.png
image: https://images.unsplash.com/photo-1591804774220-c1db3673d05b?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1074&q=80
materials: true
service: Plumbing
time: 60datasources:
cleaning-services-dynamic:
type: datasource.sqlite
options:
provider: DATA_PROVIDER_DYNAMIC
entities:
- entity: default/cleaning-services
query: |
SELECT
id,
'$.id' as sqlid,
'$.area',
'$.description',
'$.hourlyrate',
'$.illustration',
'$.image',
'$.indoor',
'$.onceoffrate',
'$.service',
'$.pressed',
'$.time',
'$.quantity'
FROM [default/cleaning-services]
WHERE '$.hourlyrate' IS NOT NULL ORDER BY id DESCList with the right value

This example shows the right values on a list populated dynamically based on input, and additional configuration using expressions were used to concatenate values. Each list item isContained with bold title, subtitle wrapping over two lines.
Examples: See the full example using static data in GitHub. See the full example using dynamic data in GitHub.
Datasources: See the full datasource for static data in GitHub. See the full datasource for dynamic data in GitHub.
title: List with Right Value (Static Data)
description: A list to display values in list items
type: jig.list
icon: task-list
header:
type: component.jig-header
options:
height: medium
children:
type: component.image
options:
source:
uri: https://images.unsplash.com/photo-1534398079543-7ae6d016b86a?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxzZWFyY2h8N3x8cmVwYWlyc3xlbnwwfHwwfHw%3D&auto=format&fit=crop&w=900&q=60
# Data configured to use datasource (static)
data: [email protected]
item:
type: component.list-item
options:
# Configure each list-item to display in a container/card.
isContained: true
# Define a title and apply custom styling.
title:
text: [email protected]
isBold: true
# Configure the subtitle to allow text wrapping across two lines.
subtitle:
text: [email protected]
numberOfLines: 2
# Add a value to the right of each item, and add a color.
rightElement:
element: value
text: ='$ ' & @ctx.current.item.hourlyRate
color: color4title: List with Right Value (Dynamic Data)
description: A list to display values in list items
type: jig.list
icon: task-list
header:
type: component.jig-header
options:
height: medium
children:
type: component.image
options:
source:
uri: https://images.unsplash.com/photo-1618038483079-bfe64dcb17f1?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=870&q=80
# Data configured to use datasource (dynamic)
data: [email protected]
item:
type: component.list-item
options:
# Configure each list-item to display in a container/card.
isContained: true
# Define a title and apply custom styling.
title:
text: [email protected]
isBold: true
# Configure the subtitle to allow text wrapping across two lines.
subtitle:
text: [email protected]
numberOfLines: 2
# Add a value to the right of each item, and add a color.
rightElement:
element: value
text: |
=(@ctx.current.item.hourlyrate) != 'NA'
? '$ ' & $number(@ctx.current.item.hourlyrate) & ' p/hr'
: '$ ' & $number(@ctx.current.item.onceoffrate) & ' once off'
color: color4type: datasource.static
options:
data:
- id: 1
description: Installation or repairs for doors. Doors to be provided by client
hourlyRate: 70
illustration: http://clipart-library.com/data_images/436224.png
image: https://images.unsplash.com/photo-1500281781950-6cd80847ebcd?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1469&q=80
materials: false
service: Door Installation/Repair
time: 60
- id: 2
description: Repairs to door handles
hourlyRate: 40
illustration: http://clipart-library.com/img1/1332215.jpg
image: https://images.unsplash.com/photo-1538766017398-415434a31a5b?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: true
service: Door Handle/Lock Repairs
time: 60
- id: 3
description: Installation or repairs of tiled surfaces. Tiles have to be provided by client
hourlyRate: 110
illustration: http://clipart-library.com/images/kcKnbzbXi.jpg
image: https://images.unsplash.com/photo-1523413184730-e85dbbd04aba?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=687&q=80
materials: false
service: Tile Installation/Repair
time: 120
- id: 4
description: Installation or repairs of dry-wall surfaces
hourlyRate: 80
illustration: http://clipart-library.com/img1/505759.jpg
image: https://images.unsplash.com/photo-1628901551715-7234d14fb7a0?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: true
service: Drywall Installation/Repair
time: 120
- id: 5
description: Repairs to bathroom rails, toilets, etc
hourlyRate: 90
illustration: http://clipart-library.com/new_gallery/53-530190_black-and-white-toilet-png.png
image: https://images.unsplash.com/photo-1585313647787-7a061b5a85a6?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1423&q=80
materials: true
service: Bathroom Repairs
time: 60
- id: 6
description: Painting as required. Paint and tools not provided
hourlyRate: 70
illustration: http://clipart-library.com/img/853166.jpg
image: https://images.unsplash.com/photo-1562259949-e8e7689d7828?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1431&q=80
materials: false
service: Painting Services
time: 120
- id: 7
description: Repairs to fences. Tools and items not included
hourlyRate: 90
illustration: http://clipart-library.com/img/18345.gif
image: https://images.unsplash.com/photo-1583805978118-ba9a81ac1399?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: false
service: Fence Installation/Repair
time: 60
- id: 8
description: Removal of graffiti and painting. Paint and brushes not included in cost
hourlyRate: 110
illustration: http://clipart-library.com/images/6cy5aL5gi.jpg
image: https://images.unsplash.com/photo-1581850518616-bcb8077a2336?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: false
service: Removal of Graffiti
time: 120
- id: 9
description: Repairs to cupboard doors
hourlyRate: 60
illustration: http://clipart-library.com/img1/1605140.jpg
image: https://images.unsplash.com/photo-1522791465802-47616431a4cf?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1451&q=80
materials: true
service: Cupboard Door Repairs
time: 60
- id: 10
description: Plumbing issues and repairs
hourlyRate: 90
illustration: http://clipart-library.com/images_k/plumbing-silhouette/plumbing-silhouette-6.png
image: https://images.unsplash.com/photo-1591804774220-c1db3673d05b?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1074&q=80
materials: true
service: Plumbing
time: 60type: datasource.sqlite
options:
provider: DATA_PROVIDER_DYNAMIC
entities:
- entity: default/cleaning-services
query: |
SELECT
id,
'$.id' as sqlid,
'$.area',
'$.description',
'$.hourlyrate',
'$.illustration',
'$.image',
'$.indoor',
'$.onceoffrate',
'$.service',
'$.pressed',
'$.time',
'$.quantity'
FROM [default/cleaning-services]
WHERE '$.hourlyrate' IS NOT NULL ORDER BY id DESCSwipeable list (right)

This example demonstrates a swipeable action configured to swipe right on each list item, using both primary and secondary actions. The title, subtitle, and left and right elements are styled with properties such as color, bold text, and number of lines.
Examples: See the full example using static data in GitHub. See the full example using dynamic data in GitHub.
Datasources: See the full datasource for static data in GitHub. See the full datasource for dynamic data in GitHub.
# Data configured to use datasource (static)
data: [email protected]
item:
type: component.list-item
options:
title:
# Define a title and apply custom styling.
text: [email protected]
isBold: true
fontSize: regular
# Configure the subtitle to allow text wrapping across two lines.
subtitle:
text: [email protected]
isSubtle: true
numberOfLines: 4
# Add an icon to the left of each item, and add styling.
leftElement:
element: icon
icon: =(@ctx.current.item.materials = true ? 'home' :'car-garage')
type: contained
# Add a value to the right of each item, and add a color.
rightElement:
element: value
text: ='$ ' & @ctx.current.item.hourlyRate
color: color4
# Add two action/buttons when you swipe right to go to another screen.
swipeable:
right:
- onPress:
type: action.go-to
options:
linkTo: action-list-onPress
label: Primary Action
icon: alarm-bell
color: primary
- onPress:
type: action.go-to
options:
linkTo: action-list-onPress
label: Secondary Action
icon: alert-triangle
color: warning# Data configured to use datasource (dynamic)
data: [email protected]
item:
type: component.list-item
options:
title:
# Define a title and apply custom styling.
text: [email protected]
isBold: true
fontSize: regular
# Configure the subtitle to allow text wrapping across two lines.
subtitle:
text: [email protected]
isSubtle: true
numberOfLines: 4
# Add an icon to the left of each item, and add styling.
leftElement:
element: icon
icon: =(@ctx.current.item.indoor = "TRUE" ? 'home' :'car-garage')
type: contained
# Add a value to the right of each item, and add a color.
rightElement:
element: value
text: |
=(@ctx.current.item.hourlyrate) != 'NA'
? '$ ' & $number(@ctx.current.item.hourlyrate) & ' p/hr'
:'$ ' & $number(@ctx.current.item.onceoffrate) & ' once off'
color: color4
# Add two action/buttons when you swipe right to go to another screen.
swipeable:
right:
- onPress:
type: action.go-to
options:
linkTo: action-list-onPress
label: Primary Action
icon: alarm-bell
color: primary
# note that the secondary action is only for demo purposes,
# you can stop at the primary action
- onPress:
type: action.go-to
options:
linkTo: action-list-onPress
label: Secondary Action
icon: alert-triangle
color: warningtype: datasource.static
options:
data:
- id: 1
description: Installation or repairs for doors. Doors to be provided by client.We offer expert installation and repair of all types of doors, including interior, exterior, sliding, and security doors.
hourlyRate: 70
illustration: https://clipart-library.com/data_images/436224.png
image: https://images.unsplash.com/photo-1500281781950-6cd80847ebcd?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1469&q=80
materials: false
service: Door Installation/Repair.
time: 60
- id: 2
description: Repairs to door handles. Fast, reliable fixes for loose handles, faulty locks, and jammed mechanisms.
hourlyRate: 40
illustration: https://clipart-library.com/img1/1332215.jpg
image: https://images.unsplash.com/photo-1538766017398-415434a31a5b?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: true
service: Door Handle/Lock Repairs.
time: 60
- id: 3
description: Installation or repairs of tiled surfaces. We handle the installation and repair of all tiled surfaces. Clients are required to supply the tiles and tile adhesive.
hourlyRate: 110
illustration: https://clipart-library.com/images/kcKnbzbXi.jpg
image: https://images.unsplash.com/photo-1523413184730-e85dbbd04aba?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=687&q=80
materials: false
service: Tile Installation/Repair.
time: 120
- id: 4
description: Installation or repairs of dry-wall surfaces
hourlyRate: 80
illustration: https://clipart-library.com/img1/505759.jpg
image: https://images.unsplash.com/photo-1628901551715-7234d14fb7a0?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: true
service: Drywall Installation/Repair
time: 120
- id: 5
description: Bathroom fixture repairs. We repair and secure bathroom rails, toilets, and related fittings to ensure safety, and stability.
hourlyRate: 90
illustration: https://clipart-library.com/new_gallery/53-530190_black-and-white-toilet-png.png
image: https://images.unsplash.com/photo-1585313647787-7a061b5a85a6?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1423&q=80
materials: true
service: Bathroom Repairs
time: 60
- id: 6
description: Painting as required. Paint and tools not provided.
hourlyRate: 70
illustration: https://clipart-library.com/img/853166.jpg
image: https://images.unsplash.com/photo-1562259949-e8e7689d7828?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1431&q=80
materials: false
service: Painting Services
time: 120
- id: 7
description: Repairs to fences. Tools and items not included.
hourlyRate: 90
illustration: https://clipart-library.com/img/18345.gif
image: https://images.unsplash.com/photo-1583805978118-ba9a81ac1399?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: false
service: Fence Installation/Repair
time: 60
- id: 8
description: Removal of graffiti and painting. Paint and brushes not included in cost.
hourlyRate: 110
illustration: https://clipart-library.com/images/6cy5aL5gi.jpg
image: https://images.unsplash.com/photo-1581850518616-bcb8077a2336?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: false
service: Removal of Graffiti
time: 120
- id: 9
description: Repairs to cupboard doors.
hourlyRate: 60
illustration: https://clipart-library.com/img1/1605140.jpg
image: https://images.unsplash.com/photo-1522791465802-47616431a4cf?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1451&q=80
materials: true
service: Cupboard Door Repairs
time: 60
- id: 10
description: Plumbing issues and repairs. Ideal for addressing loose fixtures, leaks, or general wear and tear.
hourlyRate: 90
illustration: https://clipart-library.com/images_k/plumbing-silhouette/plumbing-silhouette-6.png
image: https://images.unsplash.com/photo-1591804774220-c1db3673d05b?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1074&q=80
materials: true
service: Plumbing
time: 60datasources:
cleaning-services-dynamic:
type: datasource.sqlite
options:
provider: DATA_PROVIDER_DYNAMIC
entities:
- entity: default/cleaning-services
query: |
SELECT
id,
'$.id' as sqlid,
'$.area',
'$.description',
'$.hourlyrate',
'$.illustration',
'$.image',
'$.indoor',
'$.onceoffrate',
'$.service',
'$.pressed',
'$.time',
'$.quantity'
FROM [default/cleaning-services]
WHERE '$.hourlyrate' IS NOT NULL ORDER BY id DESCList with active item
This allows you to see when you are interacting with a specific list-item. Whilst interacting, the list item changes slightly making it clear which item you are interacting with.
Examples: See the full example using static data in GitHub. See the full example using dynamic data in GitHub.
Datasources: See the full datasource for static data in GitHub. See the full datasource for dynamic data in GitHub.

children:
- type: component.entity
options:
children:
- type: component.entity-field
options:
label: Current User
value: [email protected]
- type: component.list
options:
# Data configured to use datasource (static)
data: [email protected]
hasActiveItem: true
item:
type: component.list-item
options:
title: [email protected]
subtitle: [email protected] & ' mins'
leftElement:
element: image
text: ''
uri: [email protected]
rightElement:
element: value
text: ='$ ' & @ctx.current.item.hourlyRate & ' p/hr'
onPress:
type: action.set-state
options:
state: [email protected]
value: truechildren:
- type: component.entity
options:
children:
- type: component.entity-field
options:
label: Current User
value: [email protected]
- type: component.list
options:
hasActiveItem: true
# Data configured to use datasource (dynamic)
data: [email protected]
item:
type: component.list-item
options:
title: [email protected]
subtitle: [email protected] & ' mins'
leftElement:
element: image
text: ''
uri: [email protected]
rightElement:
element: value
text: =(@ctx.current.item.hourlyrate) != 'NA' ? '$ ' & $string(@ctx.current.item.hourlyrate) & ' p/hr':'$ ' & $string(@ctx.current.item.onceoffrate) & ' once-off'
onPress:
type: action.set-state
options:
state: [email protected]
value: truedatasources:
repair-services-static:
type: datasource.static
options:
data:
- id: 1
description: Installation or repairs for doors. Doors to be provided by client
hourlyRate: 70
illustration: http://clipart-library.com/data_images/436224.png
image: https://images.unsplash.com/photo-1500281781950-6cd80847ebcd?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1469&q=80
materials: false
service: Door Installation/Repair
time: 60
- id: 2
description: Repairs to door handles
hourlyRate: 40
illustration: http://clipart-library.com/img1/1332215.jpg
image: https://images.unsplash.com/photo-1538766017398-415434a31a5b?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: true
service: Door Handle/Lock Repairs
time: 60
- id: 3
description: Installation or repairs of tiled surfaces. Tiles have to be provided by client
hourlyRate: 110
illustration: http://clipart-library.com/images/kcKnbzbXi.jpg
image: https://images.unsplash.com/photo-1523413184730-e85dbbd04aba?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=687&q=80
materials: false
service: Tile Installation/Repair
time: 120
- id: 4
description: Installation or repairs of dry-wall surfaces
hourlyRate: 80
illustration: http://clipart-library.com/img1/505759.jpg
image: https://images.unsplash.com/photo-1628901551715-7234d14fb7a0?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: true
service: Drywall Installation/Repair
time: 120
- id: 5
description: Repairs to bathroom rails, toilets, etc
hourlyRate: 90
illustration: http://clipart-library.com/new_gallery/53-530190_black-and-white-toilet-png.png
image: https://images.unsplash.com/photo-1585313647787-7a061b5a85a6?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1423&q=80
materials: true
service: Bathroom Repairs
time: 60
- id: 6
description: Painting as required. Paint and tools not provided
hourlyRate: 70
illustration: http://clipart-library.com/img/853166.jpg
image: https://images.unsplash.com/photo-1562259949-e8e7689d7828?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1431&q=80
materials: false
service: Painting Services
time: 120
- id: 7
description: Repairs to fences. Tools and items not included
hourlyRate: 90
illustration: http://clipart-library.com/img/18345.gif
image: https://images.unsplash.com/photo-1583805978118-ba9a81ac1399?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: false
service: Fence Installation/Repair
time: 60
- id: 8
description: Removal of graffiti and painting. Paint and brushes not included in cost
hourlyRate: 110
illustration: http://clipart-library.com/images/6cy5aL5gi.jpg
image: https://images.unsplash.com/photo-1581850518616-bcb8077a2336?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: false
service: Removal of Graffiti
time: 120
- id: 9
description: Repairs to cupboard doors
hourlyRate: 60
illustration: http://clipart-library.com/img1/1605140.jpg
image: https://images.unsplash.com/photo-1522791465802-47616431a4cf?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1451&q=80
materials: true
service: Cupboard Door Repairs
time: 60
- id: 10
description: Plumbing issues and repairs
hourlyRate: 90
illustration: http://clipart-library.com/images_k/plumbing-silhouette/plumbing-silhouette-6.png
image: https://images.unsplash.com/photo-1591804774220-c1db3673d05b?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1074&q=80
materials: true
service: Plumbing
time: 60datasources:
cleaning-services-dynamic:
type: datasource.sqlite
options:
provider: DATA_PROVIDER_DYNAMIC
entities:
- entity: default/cleaning-services
query: |
SELECT
id,
'$.id' as sqlid,
'$.area',
'$.description',
'$.hourlyrate',
'$.illustration',
'$.image',
'$.indoor',
'$.onceoffrate',
'$.service',
'$.pressed',
'$.time',
'$.quantity'
FROM [default/cleaning-services]
WHERE '$.hourlyrate' IS NOT NULL ORDER BY id DESCList with sections

This functionality allows you to divide your list into meaningful sections. In this example, there are two sections—one including materials and the other excluding them. Each list-item is contained, with the subtitle wrapping over two lines. A label on the right displays the duration of the job in hours and minutes.
Examples: See the full example using static data in GitHub. See the full example using dynamic data in GitHub.
Datasources: See the full datasource for static data in GitHub.
children:
- type: component.list
options:
sections:
- title: Services incl Materials
# Data configured to use datasource (static)
data: [email protected][materials=true]
- title: Services excl Materials
# Data configured to use datasource (static)
data: [email protected][materials=false]
item:
type: component.list-item
options:
# Configure each list-item to display in a container/card.
isContained: true
title: [email protected]
subtitle:
# Define the number of lines the text can wrap over.
text: [email protected]
numberOfLines: 2
label:
title: [email protected] & ' mins'children:
- type: component.entity
options:
children:
- type: component.entity-field
options:
label: Current User
value: [email protected]
- type: component.list
options:
sections:
- title: Indoor Services
# Data configured to use datasource (dynamic)
data: [email protected][indoor='TRUE']
- title: Outdoor Services
# Data configured to use datasource (dynamic)
data: [email protected][indoor='FALSE']
item:
type: component.list-item
options:
title: [email protected]
subtitle: [email protected] & ' mins'
leftElement:
element: image
text: ''
uri: [email protected]
rightElement:
element: value
text: =(@ctx.current.item.hourlyrate) != 'NA' ? '$ ' & @ctx.current.item.hourlyrate & ' p/hr':'$ ' & @ctx.current.item.onceoffrate & ' ' & 'once-off'type: datasource.static
options:
data:
- id: 1
description: Installation or repairs for doors. Doors to be provided by client.We offer expert installation and repair of all types of doors, including interior, exterior, sliding, and security doors.
hourlyRate: 70
illustration: https://clipart-library.com/data_images/436224.png
image: https://images.unsplash.com/photo-1500281781950-6cd80847ebcd?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1469&q=80
materials: false
service: Door Installation/Repair.
time: 60
- id: 2
description: Repairs to door handles. Fast, reliable fixes for loose handles, faulty locks, and jammed mechanisms.
hourlyRate: 40
illustration: https://clipart-library.com/img1/1332215.jpg
image: https://images.unsplash.com/photo-1538766017398-415434a31a5b?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: true
service: Door Handle/Lock Repairs.
time: 60
- id: 3
description: Installation or repairs of tiled surfaces. We handle the installation and repair of all tiled surfaces. Clients are required to supply the tiles and tile adhesive.
hourlyRate: 110
illustration: https://clipart-library.com/images/kcKnbzbXi.jpg
image: https://images.unsplash.com/photo-1523413184730-e85dbbd04aba?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=687&q=80
materials: false
service: Tile Installation/Repair.
time: 120
- id: 4
description: Installation or repairs of dry-wall surfaces
hourlyRate: 80
illustration: https://clipart-library.com/img1/505759.jpg
image: https://images.unsplash.com/photo-1628901551715-7234d14fb7a0?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: true
service: Drywall Installation/Repair
time: 120
- id: 5
description: Bathroom fixture repairs. We repair and secure bathroom rails, toilets, and related fittings to ensure safety, and stability.
hourlyRate: 90
illustration: https://clipart-library.com/new_gallery/53-530190_black-and-white-toilet-png.png
image: https://images.unsplash.com/photo-1585313647787-7a061b5a85a6?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1423&q=80
materials: true
service: Bathroom Repairs
time: 60
- id: 6
description: Painting as required. Paint and tools not provided.
hourlyRate: 70
illustration: https://clipart-library.com/img/853166.jpg
image: https://images.unsplash.com/photo-1562259949-e8e7689d7828?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1431&q=80
materials: false
service: Painting Services
time: 120
- id: 7
description: Repairs to fences. Tools and items not included.
hourlyRate: 90
illustration: https://clipart-library.com/img/18345.gif
image: https://images.unsplash.com/photo-1583805978118-ba9a81ac1399?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: false
service: Fence Installation/Repair
time: 60
- id: 8
description: Removal of graffiti and painting. Paint and brushes not included in cost.
hourlyRate: 110
illustration: https://clipart-library.com/images/6cy5aL5gi.jpg
image: https://images.unsplash.com/photo-1581850518616-bcb8077a2336?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
materials: false
service: Removal of Graffiti
time: 120
- id: 9
description: Repairs to cupboard doors.
hourlyRate: 60
illustration: https://clipart-library.com/img1/1605140.jpg
image: https://images.unsplash.com/photo-1522791465802-47616431a4cf?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1451&q=80
materials: true
service: Cupboard Door Repairs
time: 60
- id: 10
description: Plumbing issues and repairs. Ideal for addressing loose fixtures, leaks, or general wear and tear.
hourlyRate: 90
illustration: https://clipart-library.com/images_k/plumbing-silhouette/plumbing-silhouette-6.png
image: https://images.unsplash.com/photo-1591804774220-c1db3673d05b?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1074&q=80
materials: true
service: Plumbing
time: 60datasources:
cleaning-services-dynamic:
type: datasource.sqlite
options:
provider: DATA_PROVIDER_DYNAMIC
entities:
- entity: default/cleaning-services
query: |
SELECT
id,
'$.id' as sqlid,
'$.area',
'$.description',
'$.hourlyrate',
'$.illustration',
'$.image',
'$.indoor',
'$.onceoffrate',
'$.service',
'$.pressed',
'$.time',
'$.quantity'
FROM [default/cleaning-services]
WHERE '$.hourlyrate' IS NOT NULL ORDER BY id DESCList items contained in a card
This example use the isContained property set to true to style each item by wrapping it in a card. The code sample below is for a vertical list. You can also wrap list items in a card for a horizontal list.
Examples: See the full example in GitHub.

title: List with items wrapped in a card
description: A list displaying images on list items styled in a card
type: jig.list
icon: task-list
# Change the list to a horizontal list by uncommenting the isHorizontal line
# below. isHorizontal: true.
header:
type: component.jig-header
options:
height: medium
children:
type: component.image
options:
source:
uri: https://images.unsplash.com/photo-1581244277943-fe4a9c777189?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1632&q=80
data: [email protected]
item:
type: component.list-item
options:
# Configure each list-item to display in a container/card.
isContained: true
title: [email protected]
subtitle: [email protected]
leftElement:
element: image
text: [email protected]
uri: [email protected]List-item with ratings as a value
This example uses the basic rating configuration to display a value with accompanying text. By default, the rating shows a single star in the primary color
Examples: See the full example in GitHub.

title: List of cleaning services with ratings
type: jig.default
description: A list displaying ratings with values
icon: notes-paper-approve
header:
type: component.jig-header
options:
height: medium
children:
type: component.image
options:
source:
uri: https://images.unsplash.com/photo-1529220502050-f15e570c634e?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1829&q=80
children:
- type: component.list
instanceId: rating-list
options:
data: [email protected]
item:
type: component.list-item
options:
isContained: true
title: [email protected]
subtitle: [email protected]
label:
title: =(@ctx.current.item.status = "indoor" ? 'Indoor' :'Outdoor')
leftElement:
element: image
text: =$substring($substringBefore(@ctx.current.item.service, " "), 1, 1) &
$substring($substringAfter(@ctx.current.item.service, " ") , 1, 1)
uri: [email protected]
# Rating uses a value from the datasource with accompanying text.
# By default, a single rating-star icon in the primary color is shown.
rating:
value: [email protected]
text: [email protected]datasources:
cleaning-services-static:
type: datasource.static
options:
data:
- area: Bathroom
category: withRate
description: Steam cleaning and disinfecting of the bathroom in its totality.
Provision of fresh towels.
hourlyrate: 30
illustration: https://clipart-library.com/newimages/bathroom-clip-art-15.jpg
image: https://images.unsplash.com/photo-1646592472335-fa6be8e9bc7c?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1471&q=80
onceoffrate: null
service: Bathroom Deep Clean
status: indoor
time: 90
ratingText: Good
rating: 7
- area: Garden
category: null
description: Taking care of general gardening to provide an immaculate first
impression
hourlyrate: null
illustration: https://clipart-library.com/images/6Tr8BrjTK.jpg
image: https://images.unsplash.com/photo-1416879595882-3373a0480b5b?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
onceoffrate: 100
service: Gardening
status: outdoor
time: 120
ratingText: poor
rating: 3
- area: General
category: null
description: Cleaning and streak removal of external windows
hourlyrate: 35
illustration: https://clipart-library.com/img1/872145.png
image: https://images.unsplash.com/photo-1650538250295-6ef68d7ae1f4?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
onceoffrate: null
service: Window Cleaning - External
status: outdoor
time: 60
ratingText: excellent
rating: 9
- area: Driveway
category: null
description: Car wash including vacuum
hourlyrate: null
image: https://images.unsplash.com/photo-1520340356584-f9917d1eea6f?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1631&q=80
onceoffrate: 50
service: Car Washing
status: outdoor
time: 60
ratingText: Recommended
rating: 8
- area: Laundry
category: null
description: Provision of laundry services by removal of laundry and return of
laundry. Includes a surcharge for delivery.
hourlyrate: null
image: https://images.unsplash.com/photo-1637795065412-eed4c565db78?w=800&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8MTl8fGxhdW5kcnklMjBzZXJ2aWNlfGVufDB8fDB8fHww
onceoffrate: 110
service: Offsite laundry services
status: indoor
time: 120
ratingText: Excellent
rating: 8.5
- area: Laundry
category: null
description: Provision of laundry services making use of client's machines. Note
that where this has been booked, but machines are not available,
this will automatically be adjusted to offsite laundry services.
hourlyrate: null
image: https://images.unsplash.com/photo-1626806819282-2c1dc01a5e0c?w=800&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8MTV8fGxhdW5kcnklMjByb29tfGVufDB8fDB8fHww
onceoffrate: 110
service: Onsite laundry services
status: indoor
time: 120
ratingText: Not satisfied
- area: Lounge
category: null
description: Maintain your upholstery (chair, couch and seat) in pristine
condition. We use only the most delicate clearning methods.
hourlyrate: 40
image: https://images.unsplash.com/photo-1612696733290-a2a26ce8131c?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1470&q=80
onceoffrate: null
service: Upholstery Cleaning
status: indoor
time: 60
ratingText: Poor
rating: 5
- area: Pool
category: null
description: Cleaning of pool, including chemical treatments, sweeping and
proper flush.
hourlyrate: null
image: https://images.unsplash.com/photo-1562844275-857f6e7c429e?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1603&q=80
onceoffrate: 40
service: Pool Cleaning
status: outdoor
time: 45
ratingText: Excellent service
rating: 9List-item with ratings as a percentage
This example uses the simplest configuration of the rating property to display a percentage. By default the rating shows a star in the primary color.
Examples: See the full example in GitHub.

title: Manufacturing quality control
description: List with a percentage rating
type: jig.default
header:
type: component.jig-header
options:
height: medium
children:
type: component.image
options:
source:
uri: https://images.unsplash.com/photo-1700727448575-6f1680cd7d75?w=800&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Nnx8cXVhbGl0eSUyMGNvbnRyb2x8ZW58MHx8MHx8fDA%3D
children:
- type: component.list
options:
data: [email protected]
maximumItemsToRender: 8
item:
type: component.list-item
options:
isContained: true
title: [email protected]
subtitle: [email protected]
# Rating uses a percentage defined in the datasource.
# By default, a single star icon in the primary color is shown.
rating:
percentage: [email protected]
leftElement:
element: icon
icon: [email protected]
isDuotone: truedatasources:
control-stats:
type: datasource.static
options:
data:
- id: 1
stat: Quality
description: The performance and consistency of products in meeting established standards.
percentage: 0.7
percentage-text: y
icon: air-quality-check-magnifying-glass
- id: 2
stat: Inspection
description: Measures the outcomes of product evaluations within the quality control process.
percentage: 0.5
icon: amazon-inspector
- id: 3
stat: Rework
description: Tracks the percentage of products that require additional processing or correction after initial inspection
percentage: 0.2
icon: hardware-hammer-nail-hit
- id: 4
stat: Rejected
description: Measures the percentage of products that fail to meet quality standards and cannot be reworked or sold.
percentage: 0.1
icon: cross-over
- id: 5
stat: Approved
description: The percentage of products that meet all quality standards and are cleared for distribution or sale.
percentage: 0.9
icon: select List-item with ratings with a percentage, minimum, maximum and icon
This example sets up a product review jig that displays:
A
ratingas a percentage.An
iconandcolorcustomized to represent the rating percentage visually.A styled list where each item is displayed within a card format, achieved by enabling the
isContainedproperty.A verified
labelplaced on the right side of the item.A product image shown as an
avataron the left side.
Examples: See the full example in GitHub.

title: Product Review
description: List with percentage rating and icons
type: jig.default
header:
type: component.jig-header
options:
height: medium
children:
type: component.image
options:
source:
uri: https://images.unsplash.com/photo-1505740420928-5e560c06d30e?w=800&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8MTF8fHByb2R1Y3QlMjBleHBlcmllbmNlfGVufDB8fDB8fHww
children:
- type: component.list
options:
data: [email protected]
maximumItemsToRender: 8
item:
type: component.list-item
options:
title: [email protected]
subtitle: [email protected]
description: [email protected]
isContained: true
label:
title: [email protected]
leftElement:
element: avatar
text: ""
uri: [email protected]
# Rating uses a percentage from the datasource, the rating icon and
# color is customized. By configuring the maximum property sets the
# number of icons required. By configuring the current property colors
# the number of icons specified in the maximum property with the value
# to create the rating.
rating:
percentage: [email protected]
ratingIcon:
color: color7
current: [email protected]*5
icon: thumb-up-like
maximum: 5type: datasource.static
options:
data:
- avatars:
- https://plus.unsplash.com/premium_photo-1658527049634-15142565537a?w=900&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8MXx8YXZhdGFyfGVufDB8fDB8fHww
- https://images.unsplash.com/photo-1500648767791-00dcc994a43e?w=900&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8YXZhdGFyfGVufDB8fDB8fHww
- https://images.unsplash.com/photo-1535713875002-d1d0cf377fde?w=900&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8M3x8YXZhdGFyfGVufDB8fDB8fHww
- https://images.unsplash.com/photo-1494790108377-be9c29b29330?w=900&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8NHx8YXZhdGFyfGVufDB8fDB8fHww
- https://images.unsplash.com/photo-1438761681033-6461ffad8d80?w=900&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8N3x8YXZhdGFyfGVufDB8fDB8fHww
id: 1
label: Verified
productImage: https://images.unsplash.com/photo-1559912311-8421ee673ca5?w=700&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Nnx8cHJvZHVjdCUyMGltYWdlc3xlbnwwfHwwfHx8MA%3D%3D
rating: 0.95
ratingValue: 5
ratingText: (529)
subtitle: Exceeded my expectations
tags:
- high quality
- durable
- recommended
- value for money
thirdLine: I've been using this product daily for over a year, and it still
works as well as the day I bought it. Highly recommend!
title: Fantastic Product!
- avatars:
- https://plus.unsplash.com/premium_photo-1658527049634-15142565537a?w=900&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8MXx8YXZhdGFyfGVufDB8fDB8fHww
- https://images.unsplash.com/photo-1500648767791-00dcc994a43e?w=900&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8YXZhdGFyfGVufDB8fDB8fHww
- https://images.unsplash.com/photo-1535713875002-d1d0cf377fde?w=900&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8M3x8YXZhdGFyfGVufDB8fDB8fHww
id: 2
label: Verified
productImage: https://images.unsplash.com/photo-1523275335684-37898b6baf30?w=900&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8cHJvZHVjdHxlbnwwfHwwfHx8MA%3D%3D
rating: 0.75
ratingValue: 4
ratingText: (1999+)
subtitle: Solid performance overall
tags:
- value for money
- good support
- recommended
thirdLine: The product works well, but there are a few minor issues that could
be improved. Customer support was helpful in resolving my concerns.
title: Good, but room for improvement
- avatars:
- https://images.unsplash.com/photo-1438761681033-6461ffad8d80?w=900&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8N3x8YXZhdGFyfGVufDB8fDB8fHww
id: 3
label: Verified
productImage: https://images.unsplash.com/photo-1504274066651-8d31a536b11a?w=700&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8NTR8fHByb2R1Y3QlMjBpbWFnZXN8ZW58MHx8MHx8fDA%3D
rating: 0.35
ratingValue: 2
ratingText: (247)
subtitle: Not worth the price
tags:
- not satisfied
- poor quality
thirdLine: The product stopped working after just a few weeks. The build quality
feels cheap, and I’m not happy with the overall experience.
title: Disappointing experiencetype: datasource.static
options:
data:
- avatars: https://plus.unsplash.com/premium_photo-1658527049634-15142565537a?w=900&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8MXx8YXZhdGFyfGVufDB8fDB8fHww
id: 1
product: 1
text: AB
- avatars: https://images.unsplash.com/photo-1500648767791-00dcc994a43e?w=900&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8YXZhdGFyfGVufDB8fDB8fHww
id: 2
product: 1
text: CD
- avatars: https://images.unsplash.com/photo-1535713875002-d1d0cf377fde?w=900&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8M3x8YXZhdGFyfGVufDB8fDB8fHww
id: 3
product: 1
text: EF
- avatars: https://images.unsplash.com/photo-1494790108377-be9c29b29330?w=900&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8NHx8YXZhdGFyfGVufDB8fDB8fHww
id: 4
product: 2
text: GH
- avatars: https://images.unsplash.com/photo-1438761681033-6461ffad8d80?w=900&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8N3x8YXZhdGFyfGVufDB8fDB8fHww
id: 5
product: 2
text: IJ
- avatars: https://plus.unsplash.com/premium_photo-1658527049634-15142565537a?w=900&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8MXx8YXZhdGFyfGVufDB8fDB8fHww
id: 6
product: 3
text: KLList-item with multiple tags
This example creates a list with multiple tags shown on each list-item
A styled list where each item is displayed within a card format, achieved by enabling the
isContainedproperty.The
tagsshow the assigned team, priority, and status.A product image shown as an
avataron the left side.
Examples: See the full example in GitHub.

datasources:
team-tasks:
type: datasource.sqlite
options:
provider: DATA_PROVIDER_DYNAMIC
entities:
- entity: default/tasks
query: |
SELECT
id,
'$.taskAssignee',
'$.taskName',
'$.taskCost',
'$.taskId',
'$.taskStatus',
'$.team',
'$.Profile',
'$.priority'
FROM [default/tasks]List-item with ratings and tags

This example show a list of cleaning services that displays:
A
ratingas avalue.An
iconandcolorcustomized to represent the rating value visually.Multiple
tagsshowing the hourly rate and cleaning area category.A styled list where each item is displayed within a card format, achieved by enabling the
isContainedproperty.A numbered
badgein therightElementof the item shows the number of services available.
Examples: See the full example in GitHub.
type: datasource.sqlite
options:
provider: DATA_PROVIDER_DYNAMIC
entities:
- entity: default/cleaning-services
query: |
SELECT
id,
'$.id' as sqlid,
'$.area',
'$.description',
'$.hourlyrate',
'$.illustration',
'$.image',
'$.indoor',
'$.onceoffrate',
'$.service',
'$.pressed',
'$.time',
'$.quantity',
'$.rating'
FROM [default/cleaning-services]
WHERE '$.hourlyrate' IS NOT NULL ORDER BY id DESCList-item outside a list
In this example, a single list-item is configured inside an expander component. The list-item uses a static value and is configured to use the left and right element as well as the swipeable event that opens an info-modal. Note, that the list-item is outside of a list component and uses a static value and does not rely on a datasource.

title: Single list ite
type: jig.default
children:
# Configure the expander component that will contain the single list-item
- type: component.expander
options:
header:
centerElement:
type: component.titles
options:
align: left
leftElement:
title: Reservations
element: text
divider: solid
children:
# Single list-item configured outside of the list.
# The values are static and do not rely on a datasource.
# Add a left and right element for the list-item.
- type: component.list-item
instanceId: list-item
options:
# Note: The list-item is outside of a list component
# and uses a static value and does not rely on a datasource.
# This means you do not need to use [email protected].
title: Guests
subtitle: Select the number of guests
leftElement:
element: checkbox
value: "true"
rightElement:
element: amount-control
initialValue: 5
progress: 1
swipeable:
right:
- label: Cost
icon: currency-dollar
color: primary
onPress:
type: action.info-modal
options:
modal:
element:
type: icon
icon: monetization-approve
color: warning
title: Cost per guest is $25
description: Bookings for groups of ten or more are charged at $20 per guest.
buttonText: rightBookList-item with multiple lines in right element

This example demonstrates list-items configured to display data across multiple lines, with styling applied to the title, subtitle, and the left and right elements.
Example:
See the full example in GitHub
data: [email protected]
item:
type: component.list-item
options:
# Configure each list-item to display in a container/card.
isContained: true
# Define a title and apply custom styling.
title:
text: [email protected]
color: color1
fontSize: regular
isBold: true
numberOfLines: 1
# Define the color of the subtitle's text.
subtitle:
text: = 'Group id:'& ' ' & @ctx.current.item.groupId
color: color4
# Define a description, apply custom styling and wrap the text.
description:
text: [email protected]
isSubtle: true
fontSize: small
numberOfLines: 3
# Configure and style the avatar to the left of the item.
leftElement:
element: avatar
text: [email protected]
uri: [email protected]
size: large
color: color6
onPress:
type: action.go-to
options:
linkTo: custom-user-profile
# Configure and style the text to the right of the item.
# THe right element has text defined on three lines.
rightElement:
element: text
firstLine:
text: 10 hours
isBold: true
secondLine:
text: [email protected]
isSubtle: true
color: color1
thirdLine:
text: 2 days left
fontSize: medium
color: negativedatasources:
employee-groups:
type: datasource.static
options:
data:
- id: 1
title: Project Management
groupId: 103
people:
- uri: https://images.unsplash.com/photo-1591084728795-1149f32d9866?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=928&q=80
text: Karl Fisher
- rate: $46 per hour
project: A cross-functional project to deliver an app for field task management.
- id: 2
title: Developers
groupId: 101
people:
- uri: https://images.unsplash.com/photo-1548449112-96a38a643324?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=774&q=80
text: Harry Smith
- rate: $50 per hour
project: Build an application that uses a modular architecture to manage and display data.
- id: 3
title: UX Design
groupId: 102
people:
- uri: https://images.unsplash.com/photo-1546961329-78bef0414d7c?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=774&q=80
text: July Nelson
- rate: $40 per hour
project: Design project focused on streamlining task management for field technicians.message = "hello world"
puts messageSee also
Last updated
Was this helpful?