bottomSheet (Beta)
BETA: This feature is currently in beta. Functionality and design may change as we continue to improve the experience. Any bugs discovered must be logged via [email protected].
The bottomSheet element slides up from the bottom of the screen to present additional content, actions, or contextual information. It enhances user interaction by providing a seamless display of information without navigating away from the current screen. Perfect for menus, filters, forms, or quick actions, the bottomSheet can be customized to suit various use cases while maintaining a smooth and intuitive user experience.

Configuration options
jigId
Provide the jigId for the jigs that will be displayed when the bottomSheet is opened. - instanceId - Give the bottomSheet jig a unique identifier allowing you to reference the jig in expressions. - inputs- Specify the inputs related to the the jigs.
isPanDownToCloseEnabled
Enable pan down gesture to close the sheet. Swiping or dragging downward while maintaining contact with the screen closes the sheet. Setting this to false disables closing the sheet by dragging down; instead, tapping outside the sheet on the jig will close it.
backDrop
The backdrop property controls the visibility of the jig content displayed beneath the bottomSheet. appearsOnIndex - Specifies the ID of the snapPoint at which the backdrop will appear. This value is a number starting from 0 and depends on the number of snapPoints configured. Example snapPoints configured: snapPoints: - 30% - 50% Example backdrop configuration: backdrop: appearsOnIndex: 0 disappearsOnIndex: 1 disappearsOnIndex - Specifies the ID of the snapPoint at which the backdrop will disappear. Like appearsOnIndex, the value starts at 0 and corresponds to the configured snapPoints. isVisible - Determines whether the backdrop is enabled.- true - Enables the backdrop, adding a grey overlay to the parent jig.- false - Disables the backdrop, rendering the parent jig without an overlay. Default: true. opacity - Sets the transparency level of the jig content under the bottomSheet. Acceptable values range from 0.1 (very transparent) to 1(fully opaque).
isDetached
When set to true, the modal detaches from the jig and slides up independently from the bottom of the screen.
initialValue
Setting the initialValue with the jigId ensures that the bottomSheet is open when the parent jig loads.
position
Determine the open position of the bottomSheet. Options are left, middle or right. Note: This property is specific to tablets.
snapIndex
Specifies the initial snapPoint to which the bottomSheet should open. The value is a number starting from 0 and corresponds to the configured snapPoints.
snapPoints
Defines the points where the bottomSheet will snap when opened. These points should be configured in ascending order, from the smallest to the largest, and are set as percentages. Examples:
The
bottomSheetcovers the entire jig:snapPoints:- 100%ThebottomSheetcovers the 30% on first snap and 60% on the second snapsnapPoints:- 30%- 60%
width
Select the width of the bottomSheet from small, medium, or large. Note: This property is specific to tablets.
Considerations
Multiple bottomSheets: Multiple
bottomSheetscan be configured. When doing so, theaction.go-tofor the secondbottomSheetmust be configured in the parent jig. Refer to the Multiple BottomSheets example below.Order of actions: When configuring multiple actions, carefully consider the order of the action list. Certain actions should be executed before the
action.go-tothat opens the bottomSheet. For instance, aexecute-entityaction to save data should be performed before opening the bottomSheet.Testing: Configuring the bottomSheet requires careful setup and testing to ensure the jig content displays correctly and the bottomSheet renders as expected. Test on multiple devices to confirm the bottomSheet functions properly across all supported devices.
Global properties: BottomSheet properties can be set globally, applying the same settings to all jigs specified in the bottomSheet. These properties are configured directly under the bottomSheet property.
Local properties (per jig): BottomSheet properties can also be set individually for each jig. For instance, when multiple bottomSheets are configured, each jig may require unique settings, such as different heights or content. These properties are configured directly under each
jigIdproperty.Navigating to jigs: To navigate to another screen from the bottomSheet specify
isModal: falseto explicitly open the jig outside of the bottomSheet.Retrieving Outputs from the bottomSheet: When you navigate to a jig using the
action.go-toto open the bottom modal (by settingisModal: true), you can access the outputs from that jig by referencing itsinstanceIdin your context expressions. In the originating jig, use the syntax[email protected].[isntance-id-of-the-jig].outputs.[key-of-output]to retrieve specific output values. See the Accessing jig outputs from a modal example.
Examples and code snippets
Basic bottomSheet

Here is a simple example of a menu that is configured to open a bottomSheet with options to order the food. The Options jigId is specified under the bottomSheet property.
BottomSheet with pan down to close disabled
This example demonstrates how to disable the bottomSheet from being closed by swiping or dragging downward. To achieve this, set the isPanDownToCloseEnabled property to false. This property is configured at the global level under the bottomSheet property. In this example, the jig rendered in the bottomSheet includes an info-modal action, which is used to display information necessary for ordering food from the menu. To close the bottomSheet in this example, add a go-back action.

BottomSheet set to open by default when the parent jig opens

In this example, the bottomSheet opens automatically when the parent jig loads. This is achieved by setting the initialValue property with the corresponding jigId.
BottomSheet with backdrop
In this example, the backdrop of the bottomSheet completely obscures the menu screen. This is achieved by using the isVisible: true and maximum opacity: 1. Note: Setting isVisible: false allows the menu to be visible.

BottomSheet with backdrop that appears & disappears on index

This example demonstrates how to configure the backdrop of the bottomSheet to appear at a specific snapPoint and disappear at another. Use the appearsOnIndex and disappearsOnIndex properties, which correspond to the indexes of the snapPoints. The snapIndex property specifies the initial snapPoint at which the bottomSheet will open.
Detached bottomSheet
In this example the bottomSheet is detached from the main parent jig, giving it a floating effect. This functionality is achieved by setting the isDetached property to true.

BottomSheet with snapPoints

This example demonstrates how to configure three snap points for the bottomSheet using the SnapPoints property. The bottomSheet will initially open at 20% of the screen. When panned up, it will expand to cover 40%, and finally, 60% of the screen. Note: Snapoints should be configured in ascending order, from the smallest to the largest.
Multiple bottomSheets with local properties set
This example demonstrates that two jigs can be opened sequentially in the bottomSheet. Each jig is configured with its own local properties to ensure the bottomSheet adjusts and renders the content correctly.
Note: The go-to action for the second bottom sheet jig is configured within the YAML of the parent jig.
The first bottom sheet jig is set to open by default using the initialValue property.

Last updated
Was this helpful?