diff --git a/docs/resources/ui-building-blocks/components/built-in-components/calendar.md b/docs/resources/ui-building-blocks/components/built-in-components/calendar.md
new file mode 100644
index 00000000..e204cd4c
--- /dev/null
+++ b/docs/resources/ui-building-blocks/components/built-in-components/calendar.md
@@ -0,0 +1,396 @@
+---
+slug: calendar
+title: Calendar
+tags: []
+description: Learn how to add Calendar widget in your FlutterFlow project.
+---
+
+# Calendar
+The Calendar widget shows days in a month and a week. You can use the Calendar widget to filter the event list by date. For example, showing appointments on a specific date.
+
+
+## Adding Calendar to your project
+
+To add the Calendar widget to your project:
+
+1. Drag the **Calendar** widget from the **Base Elements** tab (in the Widget Panel) or add it directly from the widget tree.
+2. On running the app, the calendar widget shows today's date by default. To set a different date, follow the instructions as below.
+3. Move to the Properties Panel and scroll down to the **Calendar** section.
+4. Find the **Initial Date** property, click **Unset,** and set the date from the variable (app state, API, etc.).
+
+
+
+
+
+
+## Show/save the selected date
+
+When you select/change any date on the calendar, you can display it on the page or save it in a variable/Field (as Timestamp datatype) for later access.
+
+Let's build an example of showing the selected date in a Text widget that looks like the one below:
+
+
+
+
+
+
+The steps to show the selected date in the Text widget are as follows:
+
+### 1. Create an app state variable
+
+Changing the date on the calendar widget emits the selected date in a variable called *calendarSelectedDay*. You can't use this value directly in the Text widget because the Text widget can only accept String values. Hence it would help if you created an app state variable that will store the *calendarSelectedDay* value and then display the selected date in a Text widget (using Date Format Options).
+
+To create the app state variable, please find the instructions [here](../../../../resources/data-representation/app-state#create-app-state-variable).
+
+It should look something like this:
+
+
+
+### 2. Saving selected date in app state variable
+
+To save the selected date in an app state variable, you can utilize the ***On Date Selected*** event and then add actions to update the app state variable:
+
+Here are the steps in detail:
+
+1. Select the **Calendar** widget from the widget tree or canvas area.
+2. Select **Actions** from the Properties panel (the right menu), and click **Open**. This will open an **Action flow Editor** in a new popup window.
+ 1. Click on the **+ Add Action**.
+ 2. On the right side, search and select the [**Update App State**](../../../../resources/data-representation/app-state#update-app-state-variable) action.
+ 3. Set the **Select field to update** to the App State variable **name**.
+ 4. Choose the **Select Update Type** to **Set Value**.
+ 5. Set the **Value Source** to **From Variable**.
+ 6. Set the **Source** to **Widget State**.
+ 7. Set the **Available Options** to the **calendarSelectedDay**.
+ 8. If there is a multiple date selection (date range selection), you can choose which date to pick up. You can choose to set the start or end date by setting the **Range Part** to **Start** or **End**. For a single date selection (which is by default), the start and end date would be the same.
+
+
+
+
+
+
+
+### 3. Showing date in Text widget from an app state variable
+
+To show the selected date in the Text widget:
+
+1. Select the **Text**, move to the properties panel, and click **Set from Variable**.
+2. Select **Source** as **App State** and **Available Options** to the App State Variable **name**.
+3. (Optional) Set the **Timestamp Format** to display the date in a specific format.
+4. (Optional) Set the default value if you wish to.
+5. Click **Confirm**.
+
+
+
+
+
+
+
+## Using a calendar to filter the list
+
+You might need to use the calendar widget to filter the list of events (appointments, meetings, tickets, etc.). You can do so by applying the filter on the backend query and passing the selected date as a parameter.
+
+Let's build an example that shows the Todos list (from the Firestore collection) based on date. Here's how it looks:
+
+
+
+
+
+
+The steps to use the calendar to filter the list are as follows:
+
+### 1. Prepare data
+
+Before you use the calendar to filter the list, you need to have a list of items with at least one field that holds the date. This date will be used to match against the date selected from the calendar. Skip if you already have data in such a format.
+
+
+You can create a Firestore collection with a date field like the one below:
+
+
+
+### 2. Building UI
+
+Your UI must include at least two calendars and ListView widgets. Here's how you add it:
+
+1. Add the **Calendar** widget. To provide a better user experience, you can switch to the week view.
+2. Add the **ListView** and show the data from the Firestore collection.
+
+
+
+
+
+
+
+### 3. Apply date filter on backend query
+
+Finally, you can add a filter on the existing backend query or a new one and provide the selected date from the calendar.
+
+To apply filter by date:
+
+1. Select **ListView** from the widget tree or the canvas area.
+2. Click on the **Backend Query** tab (on the right side of your screen).
+3. Query a collection. Skip if you have already done so.
+4. Scroll down and click on the **+ Filter** button at the bottom
+5. Find the **Field Name**, click on the Unset, and select the field on which you would like to apply the filter.
+6. Find the **Relation** dropdown, click on the **Unset** and choose the relation as **Equal To**.
+7. Set the **Value Source** to **From Variable**.
+8. Set the **Source** to **Widget State**.
+9. Set the **Available Options** to the **calendarSelectedDay**.
+10. If there is a multiple date selection (date range selection), you can choose which date to pick up. You can choose to include the start or end date by setting the **Range Part** to **Start** or **End**. For a single date selection (by default), the start and end date would be the same.
+11. Click **Confirm**.
+12. After this, you can display the actual data in UI elements.
+
+
+
+
+
+
+## Customizing calendar
+
+The Properties Panel can be used to customize the appearance and behavior of your widget.
+
+### Changing icon color
+
+You can change the color of the icons displayed on the top right side of the calendar. to do that:
+
+1. Select **Calendar** from the widget tree or the canvas area.
+2. Move to the Properties panel and scroll down to the **Calendar** section.
+3. Find the **Icon Colors** property, click on the box next to **Unset**, select the color, and then click **Use Color** or click on **Unset** and enter a Hex Code directly. You can also choose the color by clicking the Palette and Simple button.
+
+
+
+
+
+
+### Separate title and icons
+
+By default, the calendar title (displaying the current month-year) and the icon for changing the month are positioned on the same row. If you wish to place them in separate rows, navigate to the **Properties Panel > Calendar >** and **enable the Two-row Header** option.
+
+
+
+
+
+
+### Changing row height
+
+Changing the row height allows you to adjust the calendar height as per your design.
+
+To change the row height:
+
+1. Select **Calendar** from the widget tree or the canvas area.
+2. Move to the Properties panel and scroll down to the **Calendar** section.
+3. Find the **Row Height** property and enter the value.
+
+
+
+
+
diff --git a/docs/resources/ui-building-blocks/components/built-in-components/carousel.md b/docs/resources/ui-building-blocks/components/built-in-components/carousel.md
new file mode 100644
index 00000000..793cdc8a
--- /dev/null
+++ b/docs/resources/ui-building-blocks/components/built-in-components/carousel.md
@@ -0,0 +1,327 @@
+---
+slug: carousel
+title: Carousel
+tags: []
+description: Learn how to add Carousel widget in your FlutterFlow project.
+---
+
+# Carousel
+The Carousel widget, often called an image slider, is a popular design element used to display a series of images or content in a horizontal or sometimes vertical format. The primary purpose of a carousel slider is to showcase multiple pieces of information, such as images, product features, news articles, or testimonials, within limited screen space.
+
+
+
+
+
+
+## Adding Carousel widget
+
+To add the Carousel widget to your app:
+
+1. Add the **Carousel** widget from the **Layout Elements** tab.
+2. By default, it adds four slides and shows the first one in the canvas. In the widget tree, it is represented as **Carousel Page**. To see another slide in the canvas, move to the **Properties Panel >** set the **Active Page** to the slide you want to see.
+3. To add a new slide, move to the **Properties Panel > Active Page >** click **+ Add Page**.
+4. To delete any slide, select the **Carousel Page** from the widget tree or the canvas area and press the **Delete** key on the keyboard.
+5. By default, Carousel Page contains an Image widget; however, you can customize it as per your requirements.
+
+
+
+
+
+
+## Customizing
+
+You can customize the appearance and behavior of this widget using the various properties available under the properties panel.
+
+### Changing the scroll direction
+
+By default, the Carousel comes with a horizontal scroll for the slides. To change the scroll direction to vertical, move to the **Properties Panel > Carousel Properties >** set the **Axis** to **Vertical**.
+
+
+
+
+
+
+### Trigger action on slide chang
+
+You might want to trigger an action when the slide is swiped. For example, If your carousel has an auto-play feature, you can listen for slide change events to pause or resume auto-play. You could also have a custom indicator below the Carousel and have it synchronize with the current slide to provide users with clear feedback about their position within the carousel.
+
+To trigger action on page or slide change:
+
+1. Select the widget from the widget tree or canvas area.
+2. Select **Actions** from the Properties panel (the right menu), and click **+ Add Action**.
+3. You will notice that the **Type of Action** (aka callback) is already set to **On Page Change**. That means actions added under this will be called whenever the slide is swiped.
+4. Now you can add any action here.
+
+Here is an example showing the snackbar message whenever the slide is swiped.
+
+
+
+
+
+
+### Setting initial page index
+
+You might want to display a specific slide as soon as it is loaded. To do so, move to the **Properties Panel > Carousel Properties >** enter the **Initial Page Index** value. Please **note** that the slide index starts from 0. So, if you want to set slide 1, you should enter 0. If you want to set slide 2, you should enter 1, and so on.
+
+
+
+### Loop carousel contents
+
+By default, the content of the carousel loops continuously. To stop this behavior, move to the **properties panel > Carousel Properties >** disable **Loop carousel contents**.
+
+
+
+
+
+
+### Wrap items in a center widget
+
+If you want all items in a center position, move to the **properties panel > Carousel Properties >** enable **Wrap items in Center Widget**.
+
+
+
+### Changing Viewport and Shrink factor
+
+You can use the **Viewport Fraction** to change the size of a single item, i.e., the item in the center. The **Shrink Factor** lets you adjust the size of other items, i.e., items that are not in focus. Both the properties accept the value between 0 and 1. where 1 is full size, and 0.5 is half of the actual size.
+
+
+
+
+
+
+### Enabling autoplay
+
+When autoplay is enabled, the carousel will automatically transition from one slide to the next at regular intervals, determined by the following options:
+
+- **Duration**: The amount of time (in milliseconds) that it takes to transition from the current slide to the next.
+- **Delay**: The amount of time (in milliseconds) that the item remains in the center before moving to the next one.
+
+
+
+
+
+
+### Change slide on button press
+
+You might want to allow users to change the slide on button press (e.g., next, previous, and skip buttons) in addition to the swipe. You can do so by adding the **Control Carousel** action on the Tap of a Button widget.
+
+
+
+
+
+
+Here's how you do it:
+
+1. First, [add the Carousel](#adding-carousel-widget) widget.
+2. Add buttons to go to the previous and next pages.
+3. Now select any button and define the [Control Carousel](#control-carousel-action) action.
+
+---
+
+## Control Carousel [Action]
+
+By using this action, you can gain more control over the scrolling behavior of the Carousel widget. For instance, you can enable your users to move to the next or previous slide with a single tap of a button.
+
+
+
+
+
+
+### Types of action
+
+These are the types of actions you can add on the Carousel widget.
+
+- **Previous**: Scroll to the previous slide.
+- **Next**: Scroll to the next slide.
+- **First**: Scroll to the first slide.
+- **Last**: Scroll to the last slide.
+- **Jump to**: Scroll to a specific slide in the Carousel widget. Please note that the slide index starts from 0. So, if you want to jump to slide 1, you should enter 0. If you want to jump to slide 2, you should enter 1, and so on.
diff --git a/docs/resources/ui-building-blocks/components/built-in-components/chart/_category_.json b/docs/resources/ui-building-blocks/components/built-in-components/chart/_category_.json
new file mode 100644
index 00000000..f1f949d5
--- /dev/null
+++ b/docs/resources/ui-building-blocks/components/built-in-components/chart/_category_.json
@@ -0,0 +1,4 @@
+{
+ "label": "Chart",
+ "position": 1
+}
\ No newline at end of file
diff --git a/docs/resources/ui-building-blocks/components/built-in-components/chart/bar-chart.md b/docs/resources/ui-building-blocks/components/built-in-components/chart/bar-chart.md
new file mode 100644
index 00000000..2fbc7ce6
--- /dev/null
+++ b/docs/resources/ui-building-blocks/components/built-in-components/chart/bar-chart.md
@@ -0,0 +1,237 @@
+---
+slug: bar-chart
+title: Bar Chart
+tags: []
+description: Learn how to add Bar Chart widget in your FlutterFlow project.
+sidebar_position: 1
+---
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+# Bar Chart
+
+The Bar Chart shows the rectangular bars on a graph whose height varies as per its numeric value and has equal width. This can be used to display categorical information.
+
+For example, you could use the Bar chart to display each year's income and expense value together.
+
+
+## Adding bar chart
+
+Adding a chart comprises of following steps:
+
+1. [Preparing data](#1-preparing-data)
+2. [Adding bar chart widget](#2-adding-bar-chart-widget)
+
+### 1. Preparing data
+
+Before adding the chart widget, you need to prepare the data in the format that the chart widget accepts. The bar chart widget requires label values (runs horizontally from left to right) and Y coordinate values (runs vertically from bottom to top). Together these values (labels and Y coordinate) are used to draw bars on a chart. You can store and retrieve these values in the following ways:
+
+1. [Firestore Documents](#11-firestore-documents)
+2. [Numbers Lists](#12-numbers-lists)
+
+#### 1.1 Firestore Documents
+
+If you use Firebase as the backend, you can create a collection and add the list of documents. Each document entry can be used to draw bars on the chart. Hence you must add at least two fields (one with DataType String and another with DataType Double) in a document that will act as the labels, and the Y coordinates value to draw a bar.
+
+The figure below illustrates the sample collection that draws the two bars (income and expense) for each year.
+
+
+
+:::warning
+The above collection schema is used for simplification. You are free to have your own schema that works best for you.
+:::
+
+Here's how the data is used to draw bars on a chart:
+
+
+
+
+#### 1.2 Numbers Lists
+
+The bar chart widget can draw a bar using a list of labels and numbers. You need at least two separate lists with DataType String and Double. One list stores a list of labels to be displayed on the X-axis, whereas the other stores a list of values on the Y-axis. The chart widget uses both variables to draw the bar.
+
+:::info
+The variable can be an app state variable or the action output variable of an API call.
+:::
+
+The figure below illustrates the sample app state variables that draw the two bars (income and expense) for each year.
+
+
+
+:::warning
+A number of values in the Y-axis variable should match the number of labels in the X-axis variable.
+:::
+
+Here's how the number list is used to draw bars on a chart:
+
+
+
+To create the app state variable, please find the instructions [here](../../../../../resources/data-representation/app-state#create-app-state-variable).
+
+### 2. Adding bar chart widget
+
+To add the bar chart widget to your project:
+
+1. Drag the **Chart** widget from the **Base Elements** tab (in the Widget Panel) or add it directly from the widget tree.
+2. Move to the property panel and set the **Chart Type** to **Bar**.
+3. For the Bar Chart, a single **Chart Data** is a **Bar** drawn on the chart. The bar is drawn by providing the data to this. To show the first bar, open the **Chart Data 1** section, and set the **Data Source** to [Firestore Documents](#11-firestore-documents) or [Numbers List](#12-numbers-lists).
+4. If you select **Firestore Documents**:
+ 1. Make sure you have access to a list of documents. The list of documents can be retrieved by querying a collection at any top-level widget, such as the **Page** or **Column** widget. You can also query a collection on the Chart widget itself. To query collection on a page:
+ 1. Select the **page** and then click on the **Backend Query** tab (on the right side of your screen).
+ 2. Set the **Query Type** to **Query Collection**.
+ 3. Scroll down to find the **Collection** dropdown and set it to your collection.
+ 4. Set the **Query Type** to **List of Documents**.
+ 5. To order the labels, you can perform Ordering on a query.
+ 6. Click **Save**.
+ 2. Set the Source to the **collection_name Documents > Documents (List/)** and click **Confirm** (e.g. *transactions Documents > Documents (List/)*).
+ 3. Set the **Bar Labels Field,** whose values will be used as labels, and lay out horizontally from left to right (e.g., day, week, month, year).
+ 4. Set the **Bar Values Field,** whose values will be used to draw bars on a chart. This will draw bars for the first chart data (e.g., income data).
+5. If you select **Numbers Lists**:
+ 1. Under the **Bar Labels**, click on the **UNSET** and set it to a variable whose values will be used as labels and lay out horizontally from left to right (e.g., day, week, month, year).
+ 2. Further options are displayed as per the selected source. For example, if you choose **App State**, The **Available Option** field is displayed that allows you to select the actual variable.
+ 3. Under the **Bar Values**, click on the **UNSET** and set it to a variable whose values will be used to draw bars on a chart. This will draw bars for the first chart data (e.g., income data).
+6. Click **Add Data** to show bars for multiple categories (e.g., income and expense). The bars for each new category are displayed next to the previous one. **Note**: When you click **Add Data**, you can only set **Bar Values Field** since the **Bar Labels Field** is already provided in the first **Chart Data**.
+7. Scroll down to the **Chart Properties** section and adjust the **Width** and **Height** properties.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Customizing bars
+
+You can customize the look and feel of bars to match your design.
+
+### Customize bar for an individual chart data
+
+You can customize the bar for each specific chart data to help users easily identify the information.
+
+To customize the bar for each chart data:
+
+1. Select the **Chart** widget from the widget tree or the canvas area.
+2. Move to the properties panel, and open the **Chart Data** > **Bar Properties**.
+3. To change the **Bar Color**, click on the box next to the already selected color, select any dark/light color, and then click **Use Color** or click on an already selected color ****and enter a Hex Code directly.
+4. To add a border around the bar, enter the **Border Width** value and change its **Border Color**.
+
+
+
+
+
+
+
+### Customize all bars
+
+To customize all bars together:
+
+1. To change the bar width, scroll down the **Bar Styling properties > Bar Width** and enter the value.
+2. To add space between two bars or two bars category (if you have multiple chart data), enter the value in the **Group Spacing** property.
+3. If you have multiple chart data and want to add space between two adjacent bars, you can enter a value in the **Bar Spacing** property.
+4. To combine multiple chart data and display it as a single bar, enable the **Stack Bars**.
+5. To change how the bars should be distributed horizontal direction, choose from the **Main Axis Alignment** options.
+
+
+
+
+
+
+
+
+## Customizing chart
+
+You can [customize the chart](../chart/overview#customizing-chart) to match your design by changing the background color, setting axis bounds, showing grids, displaying borders, and more.
diff --git a/docs/resources/ui-building-blocks/components/built-in-components/chart/chart.md b/docs/resources/ui-building-blocks/components/built-in-components/chart/chart.md
new file mode 100644
index 00000000..d73c0b24
--- /dev/null
+++ b/docs/resources/ui-building-blocks/components/built-in-components/chart/chart.md
@@ -0,0 +1,495 @@
+---
+slug: overview
+title: Chart
+tags: []
+description: Learn how to add Chart widget in your FlutterFlow project.
+sidebar_position: 1
+---
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+# Chart
+The chart widget is used to represent the information in a graphical format. You can use it to display complex information in an easily understandable format.
+
+
+## Types of chart
+
+You can add the following types of charts:
+
+1. [Line Chart](line-chart.md)
+2. [Bar Chart](bar-chart.md)
+3. [Pie Chart](pie-chart.md)
+
+
+## Customizing chart
+
+Using *Chart* Properties (inside the properties panel), you can customize the appearance and behavior of the widget.
+
+:::info
+The following instructions will have a similar effect on the Bar chart.
+:::
+
+### Showing legend
+
+Legend helps users identify the data drawn over the chart. It's a small box that shows the chart data name/text next to its color (a color used to draw a line or bar).
+
+
+
+To show legend:
+
+1. Select the **Chart** widget from the widget tree or the canvas area.
+2. Move to the properties panel and open **Chart Data 1**.
+3. Enter the **Legend** name. This will be displayed as the name of the line or bar.
+4. If you have multiple chart data (e.g., Chart Data 1, Chart Data 2, and so on), set the legend for them as well.
+5. Scroll down to **Chart Properties** and enable the **Show Legend** property.
+
+
+
+
+
+
+
+### Customizing legend box
+
+You can change the appearance of the legend box by following the instructions below:
+
+1. First, [enable the legend](#showing-legend).
+2. Scroll down to the **Legend Properties** section.
+3. To change the dimension of the legend box, enter the **Width** and **Height** values.
+4. The legend box typically appears over the chart on the bottom right side. To change its position, use the **Horizontal** and **Vertical** **Alignment** slider.
+5. To change the background color, find the **Background Color** property and click on the box next to **Unset**, select the color, then click **Use Color** or click on **Unset** and enter a Hex Code directly.
+6. To customize the border, use the **Border Color**, **Border Width,** and **Border Radius**.
+7. To add space between legend text and its box border, adjust **Padding** property.
+
+
+
+
+
+
+### Customizing legend text and indicator
+
+To customize the legend text and indicator:
+
+1. First, [enable the legend](#showing-legend).
+2. To style the legend text, scroll down to the **Legend Properties** > **Legend Text Properties** and change the style as per [here](../../../../../resources/ui-building-blocks/widgets/built-in-widgets/text.md#common-text-styling-properties).
+3. To add space between the indicator and the text, adjust the **Text Padding** property.
+4. You can change the indicator size by entering a value inside the **Indicator Size** property.
+5. To create rounded corners around the indicator, you can use the **Indicator Border Radius** property.
+
+
+
+
+
+
+### Changing background color
+
+The default background color for the chart widget is white. To change the background color:
+
+1. Select the **Chart** widget from the widget tree or the canvas area.
+2. Move to the properties panel, and scroll down to the **Chart Properties** section.
+3. Find the **Background Color** property, click on the box next to **Unset**, select any dark/light color, and then click **Use Color** or click on **Unset** and enter a Hex Code directly. You can also choose the color by clicking on the Palette and Simple buttons.
+
+
+
+
+
+
+
+### Set axis bounds
+
+Axis Bounds specify limits on the axis. You can set the minimum and maximum limits on the X and Y axes.
+
+You can set four types of bounds on a chart:
+
+1. **Min X** (only applicable in Line Chart): Specifies a number at which the X-axis should start.
+2. **Min Y**: Specifies a number at which the Y-axis should start.
+3. **Max X** (only applicable in Line Chart): Specifies a number at which the X-axis should end.
+4. **Max Y**: Specifies a number at which the Y-axis should end.
+
+:::info
+If you don't specify the axis bounds, the start and end numbers for the X and Y axis are set as per the min and max of the actual data.
+:::
+
+To set the axis bounds:
+
+1. Select the **Chart** widget from the widget tree or the canvas area.
+2. Move to the properties panel, and scroll down to the **Chart Properties** section.
+3. Find the **Axis Bounds** section and enter the **Min X**, **Min Y**, **Max X**, and **Max Y** values.
+
+
+
+
+
+
+The line chart with bounds set to **Min X:0 ,Min Y:0, Max X:7 and Max Y:100** looks like this:
+
+
+
+
+
+### Showing grid
+
+To display the grid on the chart background:
+
+1. Select the **Chart** widget from the widget tree or the canvas area.
+2. Move to the properties panel, and scroll down to the **Chart Properties** section.
+3. Find the **Show Grid** toggle and **enable** it.
+
+### Showing border
+
+To display a border around the chart:
+
+1. Select the **Chart** widget from the widget tree or the canvas area.
+2. Move to the properties panel, and scroll down to the **Chart Properties** section.
+3. Find the **Show Border** toggle and **enable** it.
+4. Find the **Border Color** property, click on the box next to **Black**, select the color, and then click **Use Color** or click on **Black** and enter a Hex Code directly.
+5. Now, find the **Border Width** property below and enter the value. (e.g. 2,5,10)
+
+### Showing tooltip
+
+Sometimes it becomes difficult to identify the exact Y value. To overcome this, you can enable the tooltip. Enabling the tooltip will display the Y value when you interact with the chart. You can also add background color to the tooltip.
+
+To enable tooltip:
+
+1. Select the **Chart** widget from the widget tree or the canvas area.
+2. Move to the properties panel, and scroll down to the **Chart Properties** section.
+3. Find the **Show Border** toggle and **enable** it.
+4. To change the background color, find the **Tooltip Background Color** property, click on the box next to **Unset**, select any dark/light color, and then click **Use Color** or click on **Unset** and enter a Hex Code directly.
+
+
+
+
+
+
+### Customizing X axis (Show name, number, and labels)
+
+You can customize the X axis to display names and numbers on it.
+
+### Displaying name on X-Axis
+
+To show the name on the axis, such as day, week, and month:
+
+1. Select the **Chart** widget from the widget tree or the canvas area.
+2. Move to the properties panel, and scroll down to the **Chart Properties** section.
+3. Scroll down to the **X Axis Properties** and enter the value in the **Text** input box. You can also set the name from a variable by clicking on the **Set from Variable text**.
+4. You can also customize the appearance of the name text.
+
+
+
+
+
+
+### Displaying numbers or labels on the X axis
+
+Displaying numbers or labels on the axis helps you quickly understand the graph.
+
+**For Line Chart**
+
+If you have set the [Axis bounds](#set-axis-bounds), the start and end numbers are displayed as per the value set in **Min X** and **Max X**. Otherwise, they are shown as per the min and max values of the actual data. You can also specify the intervals between the numbers.
+
+To display numbers on the X-axis:
+
+1. Select the **Chart** widget, head over to the properties panel, and scroll down to the **Chart Properties** section.
+2. Scroll down to the **X Axis Properties** and enable the **Show Label** option.
+3. When it comes to displaying numbers, it's usually acceptable to show up to two digits as is. However, if the number exceeds that limit, it's recommended to set the **Label Format Type** to **Number** and configure the appropriate **Number Format Options**.
+4. Enter the value in the **Label Interval** input box.
+5. You can also customize the appearance of the numbers.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+:::info
+
+For the bar chart, you can only display labels on X-axis.
+
+:::
+
+### Customizing Y axis (Show name and numbers)
+
+You can customize the Y axis to display names and numbers on it.
+
+### Displaying name on Y-axis
+
+To show the name on the axis, such as progress, number of users, and sales:
+
+1. Select the **Chart** widget from the widget tree or the canvas area.
+2. Move to the properties panel, and scroll down to the **Chart Properties** section.
+3. Scroll down to the **Y-Axis Properties** and enter the value in the **Text** input box. You can also set the name from a variable by clicking on the **Set from Variable text**.
+4. You can also customize the appearance of the name text.
+
+
+
+
+
+
+
+### Displaying numbers on the Y axis
+
+Just like X-axis, If you have set the [Axis bounds](#set-axis-bounds), the start and end numbers are displayed as per the value set in **Min Y** and **Max Y**. Otherwise, they are shown as per the min and max value of the actual data. You can also specify the intervals between the numbers.
+
+To display numbers on the Y axis:
+
+1. Select the **Chart** widget, head over to the properties panel, and scroll down to the **Chart Properties** section.
+2. Scroll down to the **Y Axis Properties** and enable the **Show Label** option.
+3. When it comes to displaying numbers, it's usually acceptable to show up to two digits as is. However, if the number exceeds that limit, it's recommended to set the **Label Format Type** to **Number** and configure the appropriate **Number Format Options**.
+4. Enter the value in the **Label Interval** input box.
+5. You can also customize the appearance of the numbers.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/resources/ui-building-blocks/components/built-in-components/chart/line-chart.md b/docs/resources/ui-building-blocks/components/built-in-components/chart/line-chart.md
new file mode 100644
index 00000000..9b0748dd
--- /dev/null
+++ b/docs/resources/ui-building-blocks/components/built-in-components/chart/line-chart.md
@@ -0,0 +1,195 @@
+---
+slug: line-chart
+title: Line Chart
+tags: []
+description: Learn how to add Line Chart widget in your FlutterFlow project.
+sidebar_position: 0
+---
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+# Line Chart
+
+The Line Chart connects the data points on a graph with a line. This is typically used to display information that evolves over time.
+
+For example, you could use this widget to show progress over some time. This will plot the progress value on a chart that becomes easily digestible for the users instead of just showing numbers in a tabular format.
+
+## Adding line chart
+
+Adding a chart comprises of following steps:
+
+1. [Preparing Data](#1-preparing-data)
+2. [Adding Chart widget](#2-adding-chart-widget)
+
+### 1. Preparing Data
+
+Before adding the chart widget, you need to prepare the data in the format that the chart widget accepts. The line chart widget requires an X coordinate (runs horizontally from left to right) and a Y coordinate (runs vertically from bottom to top) value. Together these values (x,y) are used to mark a point in the chart. You can store and retrieve these values in the following ways:
+
+1. [Firestore Documents](#11-firestore-documents)
+2. [Numbers Lists](#12-numbers-lists)
+
+#### 1.1 Firestore Documents
+
+If you use Firebase as the backend, you can create a collection and add the list of documents. Each document entry is used to plot a single point on the chart. Hence you must add at least two fields (with DataType Integer or Double) in a document that acts as the X and Y coordinates to plot the point.
+
+The figure below illustrates the sample collection that will draw a single line on the chart:
+
+
+
+:::warning
+The above collection schema is used for simplification. You are free to have your own schema that works best for you.
+:::
+
+Here's how the data is used to mark a point in a chart:
+
+
+
+
+#### 1.2 Numbers Lists
+
+The chart widget can plot a point using a list of numbers. You must create at least two separate lists with DataType Integer or Double. One list stores all X-axis values, whereas the other stores a list of all Y-axis values. The chart widget uses both variables to create pair of (x,y), which are then used to mark a point in the chart.
+
+:::info
+The variable can be an app state variable or the action output variable of an API call.
+:::
+
+:::warning
+You must have at least two variables to draw a single line.
+:::
+
+The figure below illustrates what the app state variables should look like:
+
+
+
+Here's how the number list is used to mark a point in a chart:
+
+
+
+To create the app state variable, please find the instructions [here](../../../../../resources/data-representation/app-state#create-app-state-variable).
+
+### 2. Adding Chart widget
+
+To add the chart widget to your project:
+
+1. Drag the **Chart** widget from the **Base Elements** tab (in the Widget Panel) or add it directly from the widget tree. **Note**: The Line Chart is the default chart type.
+2. Move to the property panel and scroll down to the **Chart Data** section.
+3. For the Line Chart, **Chart Data** is a **line** drawn on the chart. The line is drawn by providing data to this. To show the first line, open the **Chart Data 1** section, and set the **Data Source** to [Firestore Documents](#11-firestore-documents) or [Number List](#12-numbers-lists).
+4. If you select **Firestore Documents**:
+ 1. Make sure you have access to a list of documents. The list of documents can be retrieved by querying a collection at any top-level widget, such as **Page** or **Column** widget. You can also query a collection on the Chart widget itself. To query collection on a page:
+ 1. Select the **page** and then click on the **Backend Query** tab (on the right side of your screen).
+ 2. Set the **Query Type** to **Query Collection**.
+ 3. Scroll down to find the **Collection** dropdown and set it to your collection.
+ 4. Set the **Query Type** to **List of Documents**.
+ 5. Click **Save**.
+ 2. Set the Source to the **collection_name Documents > Documents (List\)** and click **Confirm** (e.g. *progress Documents > Documents (List\