# Canvas library

- [Updating asset RG data source](https://docs.airdev.co/canvas/5.2/canvas-library/updating-asset-rg-data-source.md)
- [UI Patterns](https://docs.airdev.co/canvas/5.2/canvas-library/ui-patterns.md)
- [Simple Dashboard Page](https://docs.airdev.co/canvas/5.2/canvas-library/ui-patterns/simple-dashboard-page.md): Use this for simple dashboards that require only one-level menu navigation
- [Product Marketplace Dashboard Page](https://docs.airdev.co/canvas/5.2/canvas-library/ui-patterns/product-marketplace-dashboard-page.md): Use this dashboard for ecommerce or two-sided marketplace apps
- [Labor Marketplace Profile Page](https://docs.airdev.co/canvas/5.2/canvas-library/ui-patterns/labor-marketplace-profile-page.md): Use this for labor/gig marketplace apps (e.g. Upwork, TaskRabbit, or Dribbble)
- [Social Network Profile Page](https://docs.airdev.co/canvas/5.2/canvas-library/ui-patterns/social-network-profile-page.md): Use this for social apps (e.g. X or Facebook)
- [Simple Events Search Page](https://docs.airdev.co/canvas/5.2/canvas-library/ui-patterns/simple-events-search-page.md): Use this for a simple search page like Eventbrite
- [Events Search Page](https://docs.airdev.co/canvas/5.2/canvas-library/ui-patterns/events-search-page.md): Use this for a mobile-friendly search page with a few filters
- [Ecommerce Search Page](https://docs.airdev.co/canvas/5.2/canvas-library/ui-patterns/ecommerce-search-page.md): Use this for ecommerce or marketplace apps with complex filtering requirements
- [Labor Marketplace Search Page](https://docs.airdev.co/canvas/5.2/canvas-library/ui-patterns/labor-marketplace-search-page.md): Use this for labor/gig marketplace apps (e.g. Upwork, Zocdoc, or Preply/italki)
- [Page templates](https://docs.airdev.co/canvas/5.2/canvas-library/page-templates.md)
- [Basic Bubble Marketing Page](https://docs.airdev.co/canvas/5.2/canvas-library/page-templates/basic-bubble-marketing-page.md)
- [Chat Messenger Page](https://docs.airdev.co/canvas/5.2/canvas-library/page-templates/chat-messenger-page.md): Use this for all social chat messengers to display a list of threads and messages
- [Form Builder Page](https://docs.airdev.co/canvas/5.2/canvas-library/page-templates/form-builder-page.md): Use this to create forms, surveys, and quizzes with multiple question types
- [Centered Profile Page](https://docs.airdev.co/canvas/5.2/canvas-library/page-templates/centered-profile-page.md): Use this for standard profile pages without 1 or 2 key actions
- [Left-Justified Profile Page](https://docs.airdev.co/canvas/5.2/canvas-library/page-templates/left-justified-profile-page.md): Use this for profile pages with 1 to 2 key actions.
- [Standard page](https://docs.airdev.co/canvas/5.2/canvas-library/page-templates/standard-page.md): Use this to create custom product, profile, and more detail pages.
- [Toggle Tabs Page](https://docs.airdev.co/canvas/5.2/canvas-library/page-templates/toggle-tabs-page.md): Use this to break up long pages with less than 4 sections of information.
- [Menu Page](https://docs.airdev.co/canvas/5.2/canvas-library/page-templates/menu-page.md): Use this for account pages where each section is its own subpage.
- [Mobile Menu Page](https://docs.airdev.co/canvas/5.2/canvas-library/page-templates/mobile-menu-page.md): Use this for mobile-first apps and pages.
- [Video List Page](https://docs.airdev.co/canvas/5.2/canvas-library/page-templates/video-list-page.md): Use this for courses or multi-section documentation pages.
- [Horizontal Tabs Portal / Dashboard Page](https://docs.airdev.co/canvas/5.2/canvas-library/page-templates/horizontal-tabs-portal-dashboard-page.md): Use this for dashboards that require only one-level menu navigation
- [Standard Portal / Dashboard Page](https://docs.airdev.co/canvas/5.2/canvas-library/page-templates/standard-portal-dashboard-page.md): Use this for complex dashboards that require two-level menu navigation
- [Simple Portal / Dashboard Page with Icons](https://docs.airdev.co/canvas/5.2/canvas-library/page-templates/simple-portal-dashboard-page-with-icons.md): Use this for simple dashboards that require only one-level menu navigation
- [Double Sidebar Portal Page Template](https://docs.airdev.co/canvas/5.2/canvas-library/page-templates/double-sidebar-portal-page-template.md): Use this for complex dashboards that require at least three-level menu navigation
- [Search Page](https://docs.airdev.co/canvas/5.2/canvas-library/page-templates/search-page.md): Use this for a simple search page without filters or for a complex search page with multiple filters
- [Map Search Page with Toggle and Filters](https://docs.airdev.co/canvas/5.2/canvas-library/page-templates/map-search-page-with-toggle-and-filters.md): Use this when the location of each result is most important.
- [Floating Map Search Page](https://docs.airdev.co/canvas/5.2/canvas-library/page-templates/floating-map-search-page.md): Use this to display a list of Things in a repeating group and on a map.
- [Search Bar Page](https://docs.airdev.co/canvas/5.2/canvas-library/page-templates/search-bar-page.md): Use this when users won't usually filter the results.
- [Multi-Step Page With Progress Bar](https://docs.airdev.co/canvas/5.2/canvas-library/page-templates/multi-step-page-with-progress-bar.md): Use this for non-editable onboarding and quiz pages with many steps.
- [Standard Multi-Step Process Page](https://docs.airdev.co/canvas/5.2/canvas-library/page-templates/standard-multi-step-process-page.md): Use this for non-editable onboarding and quiz pages with many steps.
- [Multi-Step Process Page with Sidebar](https://docs.airdev.co/canvas/5.2/canvas-library/page-templates/multi-step-process-page-with-sidebar.md): Use this for complex non-editable onboarding pages and surveys.
- [Gallery Profile or Product Page](https://docs.airdev.co/canvas/5.2/canvas-library/page-templates/gallery-profile-or-product-page.md): Use this for image-heavy product, profile, and more details pages.
- [Sidebar Profile Page with Tabs](https://docs.airdev.co/canvas/5.2/canvas-library/page-templates/sidebar-profile-page-with-tabs.md): Use this for standard profile pages and client/advisor profile pages
- [2-Column Menu Tabs Page](https://docs.airdev.co/canvas/5.2/canvas-library/page-templates/2-column-menu-tabs-page.md): Use this for editable onboarding and complex form pages.
- [2-Column Checkout Page](https://docs.airdev.co/canvas/5.2/canvas-library/page-templates/2-column-checkout-page.md): Use this for checkout or numbered multi-step experiences.
- [2-Column Video Chat Page](https://docs.airdev.co/canvas/5.2/canvas-library/page-templates/2-column-video-chat-page.md): Use this to create a video chat page with Twilio's API.
- [Vertical Multi-Step Page Template](https://docs.airdev.co/canvas/5.2/canvas-library/page-templates/vertical-multi-step-page-template.md): Use this for complex onboarding processes and intake forms.
- [Blocks](https://docs.airdev.co/canvas/5.2/canvas-library/blocks.md)
- [Pagination](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/pagination.md)
- [Monthly Calendar Scheduling Widget](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/monthly-calendar-scheduling-widget.md): Use this monthly calendar widget to display available booking dates that the user can reserve.
- [No Reply Comments Thread](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/no-reply-comments-thread.md): Use this when the ability to like or reply to comments isn't needed.
- [Nested Comments Thread (with Like and Reply)](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/nested-comments-thread-with-like-and-reply.md): Use this when the ability to like and reply to comments is needed.
- [Placeholder Group](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/placeholder-group.md): Use this collapsible group to save space between elements in the editor.
- [List with Circular Progress Bar Repeating Group](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/list-with-circular-progress-bar-repeating-group.md): Use this to display and track the progress of specific operations.
- [Top Input Chat Widget](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/top-input-chat-widget.md): Use this when it is most important to load results quickly.
- [Bottom Input Chat Widget](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/bottom-input-chat-widget.md): Use this for all social chat messengers
- [Toggle Tabs Group](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/toggle-tabs-group.md): Use this to add toggle tabs above repeating groups, groups, and maps.
- [Single-Select or Multi-Select Pill Tabs Group](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/single-select-or-multi-select-pill-tabs-group.md): Use this to add single-select or multi-select pills above any repeating group.
- [Settings group](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/settings-group.md): Use this group to display a list of settings that a user can edit
- [To-Do List Repeating Group](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/to-do-list-repeating-group.md): Use this to create simple to-do list functionality within a single list of Tasks.
- [Title Group with Button and Filters](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/title-group-with-button-and-filters.md): Use this standalone title group to create subpages.
- [Product Details Group With Progress Bar](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/product-details-group-with-progress-bar.md): Use this on product and profile pages to display multimedia.
- [Listing details with Icons and Menu Focus Group](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/listing-details-with-icons-and-menu-focus-group.md): Use this to display multiline descriptions on product and profile pages.
- [Week Daily Availability Group](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/week-daily-availability-group.md): Use this to create calendar booking functionality.
- [Frequently Asked Questions (FAQ) Repeating Group](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/frequently-asked-questions-faq-repeating-group.md): Use this to display FAQs or users' responses to a list of questions.
- [Dismissible Module](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/dismissible-module.md): Use this to highlight important alerts or notifications.
- [Video Group](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/video-group.md): Use this to display a video on a page in a group (or convert it to a popup).
- [About Group](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/about-group.md): Use this to display information about a user or company on a product page.
- [Add to Cart Group](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/add-to-cart-group.md): Use this to display a gallery with a long description.
- [Full Width Map with Directions Link](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/full-width-map-with-directions-link.md): Use this to display a single address or list of addresses on any type of page.
- [Location Module (Map and Directions)](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/location-module-map-and-directions.md): Use this to display a single address on product and profile pages.
- [Drag and Drop Repeating Group](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/drag-and-drop-repeating-group.md): Use this fully-functional block to create drag-and-drop functionality.
- [Infinite Columns Horizontal Scroll Data Table with Fixed First Column (Repeating Group)](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/infinite-columns-horizontal-scroll-data-table-with-fixed-first-column-repeating-group.md): Use this to display over 10 fields in a scrollable data table
- [Nested Data Table (Repeating Group)](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/nested-data-table-repeating-group.md): Use this to display a nested table within a list
- [Standard Data Table (Repeating Group)](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/standard-data-table-repeating-group.md): Use this to display data in a 4-column data table and for more complex data table UI (e.g. nested repeating groups)
- [Standard Data Table (Table Element)](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/standard-data-table-table-element.md): Use this to display data in a simple 4-column data table
- [Mobile-Friendly Data Table (Repeating Group)](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/mobile-friendly-data-table-repeating-group.md): Use this to display data in a 5-column data table and for more complex data table UI (e.g. nested repeating groups)
- [Mobile-Friendly Data Table (Table Element)](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/mobile-friendly-data-table-table-element.md): Use this to display data in a simple 5-column data table
- [Infinite Columns Horizontal Scroll Data Table (Repeating Group)](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/infinite-columns-horizontal-scroll-data-table-repeating-group.md): Use this to display over 10 fields in a scrollable data table and for more complex data table UI (e.g. nested repeating groups)
- [Infinite Columns Horizontal Scroll Data Table (Table Element)](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/infinite-columns-horizontal-scroll-data-table-table-element.md): Use this to display over 10 fields in a simple scrollable data table
- [Activity Feed](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/activity-feed.md): Use this to display a list actions performed by users on an app or website
- [Social Feed](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/social-feed.md): Use this to display a stream of content, such as text, images, links, and videos
- [Nested Repeating Group](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/nested-repeating-group.md)
- [Advanced Form Inputs Group](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/advanced-form-inputs-group.md)
- [Reviews with Ratings Summary and Images](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/reviews-with-ratings-summary-and-images.md): Use this group to submit a review and view a list of existing ratings and reviews
- [Reviews Repeating Group with User Images](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/reviews-repeating-group-with-user-images.md)
- [Reviews (Text Only) Repeating Group](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/reviews-text-only-repeating-group.md)
- [Standard Repeating Group with Image](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/standard-repeating-group-with-image.md)
- [Search Bar Group](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/search-bar-group.md)
- [Listing Details Group](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/listing-details-group.md)
- [Post Group with Upvoting UI](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/post-group-with-upvoting-ui.md)
- [Large Chart Dashboard Widget](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/large-chart-dashboard-widget.md)
- [Chart With Key Metrics Dashboard Widget](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/chart-with-key-metrics-dashboard-widget.md)
- [2-Column Table and Key Metrics Dashboard Widgets](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/2-column-table-and-key-metrics-dashboard-widgets.md)
- [2-Column Large Metrics Dashboard Widgets](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/2-column-large-metrics-dashboard-widgets.md): Use this on dashboard pages to highlight two key metrics
- [4-Column Large Metrics Dashboard Widgets](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/4-column-large-metrics-dashboard-widgets.md)
- [Main Image with Thumbnails](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/main-image-with-thumbnails.md)
- [Centered Profile Block](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/centered-profile-block.md)
- [Left-justified Profile Block](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/left-justified-profile-block.md)
- [Tile Image Gallery and Popup](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/tile-image-gallery-and-popup.md)
- [Image Feed with Nested Comments Thread](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/image-feed-with-nested-comments-thread.md)
- [1-Column Standard Form Inputs Group](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/1-column-standard-form-inputs-group.md)
- [2-Column Slideshow Tiles Repeating Group](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/2-column-slideshow-tiles-repeating-group.md): Use this to display a slideshow of images in a repeating group
- [2-Column Repeating Group (Text, Link, Image, and Description)](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/2-column-repeating-group-text-link-image-and-description.md)
- [2-Column Repeating Group (Link, Text, and Button)](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/2-column-repeating-group-link-text-and-button.md)
- [2-Column Repeating Group with Actions](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/2-column-repeating-group-with-actions.md)
- [2-Column Grid Tiles Repeating Group](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/2-column-grid-tiles-repeating-group.md)
- [2-Column Form Group](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/2-column-form-group.md)
- [4-Column Tiles Repeating Group](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/4-column-tiles-repeating-group.md)
- [Expiration timer](https://docs.airdev.co/canvas/5.2/canvas-library/blocks/expiration-timer.md): Use this group to instill a sense of urgency and to nudge the user to complete a certain action.
- [Popups](https://docs.airdev.co/canvas/5.2/canvas-library/popups.md)
- [Edit Drawer](https://docs.airdev.co/canvas/5.2/canvas-library/popups/edit-drawer.md): Use this drawer to display details with the option to edit the fields
- [Map Location Details Drawer](https://docs.airdev.co/canvas/5.2/canvas-library/popups/map-location-details-drawer.md): Use this drawer to display additional details for a product or service on a map
- [Details and Comments Drawer](https://docs.airdev.co/canvas/5.2/canvas-library/popups/details-and-comments-drawer.md): Use this drawer to display information and leave comments
- [Confirmation Popup](https://docs.airdev.co/canvas/5.2/canvas-library/popups/confirmation-popup.md): Use this to prompt the user to confirm a specific action.
- [Message Popup](https://docs.airdev.co/canvas/5.2/canvas-library/popups/message-popup.md): Use this to display information, welcome, and warning messages.
- [Image Popup](https://docs.airdev.co/canvas/5.2/canvas-library/popups/image-popup.md): Use this to enlarge an image in a popup.
- [Video Popup](https://docs.airdev.co/canvas/5.2/canvas-library/popups/video-popup.md): Use this to play a video in a popup.
- [Vertical Scroll Popup](https://docs.airdev.co/canvas/5.2/canvas-library/popups/vertical-scroll-popup.md): Use this to display long, scrollable text within a popup.
- [Permissions popup](https://docs.airdev.co/canvas/5.2/canvas-library/popups/permissions-popup.md): Use this to manage user permissions or visibility rules
- [Multimedia Slideshow Popup](https://docs.airdev.co/canvas/5.2/canvas-library/popups/multimedia-slideshow-popup.md): Use this to display a list of images or videos in a slideshow
- [Edit Popup](https://docs.airdev.co/canvas/5.2/canvas-library/popups/edit-popup.md): Use this to allow a user to edit a few short fields about a Thing.
- [Standard Form Popup](https://docs.airdev.co/canvas/5.2/canvas-library/popups/standard-form-popup.md): Use this for short forms that do not need multi-file uploaders.
- [Subscribe Popup](https://docs.airdev.co/canvas/5.2/canvas-library/popups/subscribe-popup.md): Use this for single field forms in popups that may contain an image.
- [Feedback / Contact Popup](https://docs.airdev.co/canvas/5.2/canvas-library/popups/feedback-contact-popup.md): Use this to allow users to write reviews or send new messages.
- [Details Popup](https://docs.airdev.co/canvas/5.2/canvas-library/popups/details-popup.md): Use this to display a short list of specifications within a popup.
- [Add List Popup](https://docs.airdev.co/canvas/5.2/canvas-library/popups/add-list-popup.md): Use this to allow users to create a custom list of Things.
- [Advanced Form Popup](https://docs.airdev.co/canvas/5.2/canvas-library/popups/advanced-form-popup.md): Use this for short forms that need multi-file or multi-image uploaders.
- [Rating Popup](https://docs.airdev.co/canvas/5.2/canvas-library/popups/rating-popup.md): Use this to prompt a user to rate or review a product or service.
- [Toggle Tabs Popup](https://docs.airdev.co/canvas/5.2/canvas-library/popups/toggle-tabs-popup.md): Use this to prompt a user to rate or review a product or service.
- [Share Popup](https://docs.airdev.co/canvas/5.2/canvas-library/popups/share-popup.md): Use this to prompt users to share a link, copy a code, or invite a friend.
- [Multi-Step Popup](https://docs.airdev.co/canvas/5.2/canvas-library/popups/multi-step-popup.md): Use this to create custom, one-time onboarding and checkout processes.
- [Invoice Popup](https://docs.airdev.co/canvas/5.2/canvas-library/popups/invoice-popup.md): Use this to display an invoice, a receipt, or a list of cart items.
- [Stripe Credit Card Purchase Popup](https://docs.airdev.co/canvas/5.2/canvas-library/popups/stripe-credit-card-purchase-popup.md): Use this to allow users to edit their credit card and confirm payments.
- [View Profile Popup](https://docs.airdev.co/canvas/5.2/canvas-library/popups/view-profile-popup.md): Use this to display user or company profiles.
- [Send Message Popup](https://docs.airdev.co/canvas/5.2/canvas-library/popups/send-message-popup.md): Use this popup to send messages to users or companies.
- [Multi-Select Pill Tabs Popup](https://docs.airdev.co/canvas/5.2/canvas-library/popups/multi-select-pill-tabs-popup.md): Use this multi-select pill tabs popup to collect data for a Thing.
- [Net Promoter Score (NPS) Popup](https://docs.airdev.co/canvas/5.2/canvas-library/popups/net-promoter-score-nps-popup.md): Use this popup to collect NPS scores and feedback
- [Pricing Plans Popup](https://docs.airdev.co/canvas/5.2/canvas-library/popups/pricing-plans-popup.md): Use this to display pricing plans with different billing frequencies.
- [Reusables](https://docs.airdev.co/canvas/5.2/canvas-library/reusables.md)
- [Multimage uploader](https://docs.airdev.co/canvas/5.2/canvas-library/reusables/multimage-uploader.md): Description and instructions for the multimage uploader reusable
- [Sidebar\_icontab](https://docs.airdev.co/canvas/5.2/canvas-library/reusables/sidebar_icontab.md)
- [Doublesidebar\_tab](https://docs.airdev.co/canvas/5.2/canvas-library/reusables/doublesidebar_tab.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.airdev.co/canvas/5.2/canvas-library.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
