From 1bcd9552ab030a6ed3cc949e8a80c1e940a65d78 Mon Sep 17 00:00:00 2001 From: PoojaB26 Date: Sat, 27 Jul 2024 20:13:09 +0530 Subject: [PATCH 1/7] Fix State Management docs + links cleanup --- .../adding-customization/custom-functions.md | 2 +- .../deep-dynamic-linking.md | 4 +- .../state-management/state-management.md | 38 ++++++++++------ .../authentication/_category_.json | 3 +- .../local-sql/{sqlite => imgs}/img.png | Bin .../local-sql/{sqlite => imgs}/img_1.png | Bin .../local-sql/{sqlite => imgs}/img_2.png | Bin .../local-sql/{sqlite => imgs}/img_3.png | Bin .../local-sql/{sqlite => }/quickstart.md | 18 ++++---- .../database/local-sql/sqlite/_category_.json | 3 -- .../database/refresh-db-request.md | 2 +- .../database/supabase/_category_.json | 3 +- docs/ff-integrations/gemini/_category_.json | 3 +- .../supabase/supabase-setup.md | 4 +- .../setting-up-flutterflow.md | 8 ++-- docs/intro/ff-ui/builder.md | 2 +- docs/intro/quickstart.md | 16 ++++--- .../backend-query/backend-query.md | 2 +- docs/resources/control-flow/concepts.md | 2 +- .../control-flow/functions/action-blocks.md | 2 +- .../forms/form-widgets/dropdown.md | 2 +- .../data-representation/app-state.md | 42 ++++++++++++++---- .../resources/data-representation/overview.md | 2 +- .../imgs/update-app-state-action.png | Bin 0 -> 242047 bytes docs/resources/ui-building-blocks/overview.md | 2 +- .../pages/page-lifecycle.md | 10 ++--- .../pages/pages-configuration.md | 4 +- .../widgets/built-in-widgets/mouse-region.md | 2 +- 28 files changed, 106 insertions(+), 70 deletions(-) rename docs/ff-integrations/database/local-sql/{sqlite => imgs}/img.png (100%) rename docs/ff-integrations/database/local-sql/{sqlite => imgs}/img_1.png (100%) rename docs/ff-integrations/database/local-sql/{sqlite => imgs}/img_2.png (100%) rename docs/ff-integrations/database/local-sql/{sqlite => imgs}/img_3.png (100%) rename docs/ff-integrations/database/local-sql/{sqlite => }/quickstart.md (95%) delete mode 100644 docs/ff-integrations/database/local-sql/sqlite/_category_.json create mode 100644 docs/resources/imgs/update-app-state-action.png diff --git a/docs/ff-concepts/adding-customization/custom-functions.md b/docs/ff-concepts/adding-customization/custom-functions.md index e1f01ac1..a6ca3da9 100644 --- a/docs/ff-concepts/adding-customization/custom-functions.md +++ b/docs/ff-concepts/adding-customization/custom-functions.md @@ -71,7 +71,7 @@ You can't have imports in a custom function. To be able to add imports, consider
Getting error: The function 'FFAppState' isn't defined. -You can't use the app state variable (i.e., FFAppState().variablename) directly in your custom +You can't use the app state variable (i.e., `FFAppState().variablename`) directly in your custom function code. Instead, you can pass the app state variable as a parameter and then use it in your code.
diff --git a/docs/ff-concepts/navigation-routing/deep-dynamic-linking.md b/docs/ff-concepts/navigation-routing/deep-dynamic-linking.md index 784f1e83..76c2ad84 100644 --- a/docs/ff-concepts/navigation-routing/deep-dynamic-linking.md +++ b/docs/ff-concepts/navigation-routing/deep-dynamic-linking.md @@ -110,7 +110,7 @@ To set the page URL: #### 3. Sharing deep link You can share the deep link of the current page by adding -the [share action](/actions/actions/share/share). +the [share action](share-action.md). To share the deep link of the current page: @@ -320,7 +320,7 @@ To set the page URL: You can share the dynamic link of the current page by adding the [**Generate Current Page Link **](generate-current-page-link.md) -action and then sharing it using the [**Share Action**](/actions/actions/share/share). +action and then sharing it using the [**Share Action**](share-action.md). To share the dynamic link of the page: diff --git a/docs/ff-concepts/state-management/state-management.md b/docs/ff-concepts/state-management/state-management.md index 965194e1..9b2e4b3b 100644 --- a/docs/ff-concepts/state-management/state-management.md +++ b/docs/ff-concepts/state-management/state-management.md @@ -2,10 +2,12 @@ title: State Management description: An overview of state management in FlutterFlow --- - +# State Management State management is a crucial concept focused on maintaining and controlling the **state** of an application. Simply put, it involves monitoring the changes within your app and updating the user interface to reflect these changes. -You can think of the UI as a function of your state variables, where changes in these variables directly influence what the UI displays. +The UI (user interface) displays information based on state variables. When these state variables change, the UI updates to reflect the changes. + +## State Variables In FlutterFlow, there are a few types of state variables that you can create: @@ -15,27 +17,35 @@ In FlutterFlow, there are a few types of state variables that you can create: -- State variables are themselves **variables** - meaning they have a *name* and a *data type*. +- State variables are themselves [**variables**](../../resources/data-representation/overview.md#variable) - meaning they have a *name* and a *data type*. - They also have an initial value that is set when you create the variable. - Once you create a state variable, it's value can be used to change the configuration of widget properties - like any other variable. -- You can update the value of state variables using the *Update State Variable* action. +- You can update the value of state variables using the **[Update State Variable](#updating-state-variables)** action. + +### Creating State Variables +- To create an **App State variable**, refer to this **[guide](../../resources/data-representation/app-state.md#create-app-state-variable)**. +- To create a **Page State variable**, refer to this [**guide**](../../resources/ui-building-blocks/pages/page-lifecycle.md#creating-a-page-state). +- To create a **Component State variable**, refer to this [**guide**](../../resources/ui-building-blocks/components/user-defined-components/component-lifecycle.md#creating-a-component-state). + +Note: Users cannot create **widget state variables**. These are automatically exposed by FlutterFlow when a Form widget is used. + + + +### Updating State Variables +- To update an **App State variable**, refer to this **[guide](../../resources/data-representation/app-state.md#update-app-state-action)**. +- Refer to the [**Page Lifecycle**](../../resources/ui-building-blocks/pages/page-lifecycle.md) guide to learn about updating **[Page State variables](../../resources/ui-building-blocks/pages/page-lifecycle.md#update-page-state-action)**. +- Refer to the [**Component Lifecycle**](../../resources/ui-building-blocks/components/user-defined-components/component-lifecycle.md) guide to learn about updating **[Component State variables](../../resources/ui-building-blocks/components/user-defined-components/component-lifecycle.md#update-component-state-action)**. +

+ + +:::tip[Learn from video] You can learn more about state management from this video:
- -

- -:::tip -To learn more about state management in FlutterFlow, read up on -[**Variables**](../../resources/data-representation/overview.md#variable) and how -[**Page -State**](../../resources/ui-building-blocks/pages/page-lifecycle.md#page-state), or -[**Component State**](#) or [**App State variables**](#) are modified in FlutterFlow. ::: - diff --git a/docs/ff-integrations/authentication/_category_.json b/docs/ff-integrations/authentication/_category_.json index d0d5c1d3..3eb458e5 100644 --- a/docs/ff-integrations/authentication/_category_.json +++ b/docs/ff-integrations/authentication/_category_.json @@ -1,4 +1,3 @@ { - "label": "Authentication", - "position": 1 + "label": "Authentication" } \ No newline at end of file diff --git a/docs/ff-integrations/database/local-sql/sqlite/img.png b/docs/ff-integrations/database/local-sql/imgs/img.png similarity index 100% rename from docs/ff-integrations/database/local-sql/sqlite/img.png rename to docs/ff-integrations/database/local-sql/imgs/img.png diff --git a/docs/ff-integrations/database/local-sql/sqlite/img_1.png b/docs/ff-integrations/database/local-sql/imgs/img_1.png similarity index 100% rename from docs/ff-integrations/database/local-sql/sqlite/img_1.png rename to docs/ff-integrations/database/local-sql/imgs/img_1.png diff --git a/docs/ff-integrations/database/local-sql/sqlite/img_2.png b/docs/ff-integrations/database/local-sql/imgs/img_2.png similarity index 100% rename from docs/ff-integrations/database/local-sql/sqlite/img_2.png rename to docs/ff-integrations/database/local-sql/imgs/img_2.png diff --git a/docs/ff-integrations/database/local-sql/sqlite/img_3.png b/docs/ff-integrations/database/local-sql/imgs/img_3.png similarity index 100% rename from docs/ff-integrations/database/local-sql/sqlite/img_3.png rename to docs/ff-integrations/database/local-sql/imgs/img_3.png diff --git a/docs/ff-integrations/database/local-sql/sqlite/quickstart.md b/docs/ff-integrations/database/local-sql/quickstart.md similarity index 95% rename from docs/ff-integrations/database/local-sql/sqlite/quickstart.md rename to docs/ff-integrations/database/local-sql/quickstart.md index d21fd200..6f1e5405 100644 --- a/docs/ff-integrations/database/local-sql/sqlite/quickstart.md +++ b/docs/ff-integrations/database/local-sql/quickstart.md @@ -1,5 +1,5 @@ --- -slug: /integrations/database/sqlite/quickstart +slug: /integrations/database/sqlite title: SQLIte Quickstart description: Learn how to quickly get started with SQLite in your FlutterFlow app for local data storage. tags: [FlutterFlow, SQLite, Database, Quickstart, Local Storage] @@ -38,7 +38,7 @@ Here are the steps to build such an example: To enable SQLite in FlutterFlow, navigate to Settings and Integrations > Integrations > SQLite > switch on the **Enable SQLite** toggle. -![img.png](img.png) +![img.png](imgs/img.png) ## 2. Database configuration @@ -86,7 +86,7 @@ In general, to add any query, you need to provide a name, the query statement, a * To use variables, simply use the syntax `${variableName}`. For example: `SELECT \* FROM Notes WHERE id = ${noteId}` * When passing string or text data in queries, enclose variables in single quotes, like `${title}`, to signify them as strings. -![img_1.png](img_1.png) +![img_1.png](imgs/img_1.png) ::: Below are the queries that we'll require for this example: @@ -154,7 +154,7 @@ com/embed/aa0bb7bea67145c8b0b61ce57485a5c2?sid=9d950aba-c498-484c-8507-c795bee74 To show a list of notes, you can use the **ListView** > **Container** widgets to design a page that looks like the following: -![img_2.png](img_2.png) +![img_2.png](imgs/img_2.png) Now, on the ListView widget, add a [SQLite backend query](/data-and-backend/backend-query/sqlite-query) and display data in UI elements. @@ -204,7 +204,7 @@ com/embed/bb775d5da5614117ac6fbe6542b6c29f?sid=877e565c-be16-4c77-a92c-9a6a95408 For updating note values, like marking a note as completed or modifying other fields, utilize the SQLite Query Action and set the type to **Update Query**. Here, set the Query Name to -[UpdateNote](#3-updatenote). +[Update Note](#3-updatenote). @@ -215,19 +215,19 @@ com/embed/35564ad5e8be4f58aa72527bc6818183?sid=2740d823-df42-49c3-ae54-8e0e95a72 :::info -* In this example, we are updating the note on a bottom sheet component. To provide a better user experience, we initially display the current values of the note, ensuring that users have a clear idea of what they are going to edit. To display the note values in bottom sheet, we [pass](../../../../ff-concepts/navigation-routing/passing-data.md) the current note with **Type** set to **SQLite Row**. +* In this example, we are updating the note on a bottom sheet component. To provide a better user experience, we initially display the current values of the note, ensuring that users have a clear idea of what they are going to edit. To display the note values in bottom sheet, we [pass](../../../ff-concepts/navigation-routing/passing-data.md) the current note with **Type** set to **SQLite Row**. -![img_3.png](img_3.png) +![img_3.png](imgs/img_3.png) * When updating a date value, we also verify if the date has been modified. If there's no change, we simply pass back the same value we received. ::: ## 7. Delete note -You can delete an existing note from the database using the [SQLite query action](../../../../resources/control-flow/backend-logic/backend-query/sqlite-query.md) with the type set to *Update Query* and Query Name to **Delete Note**. +You can delete an existing note from the database using the [SQLite query action](../../../resources/control-flow/backend-logic/backend-query/sqlite-query.md) with the type set to *Update Query* and Query Name to **Delete Note**. :::tip[Pro Tip] -To refresh the page, simply add an [**Update App State Action**](../../../../resources/data-representation/app-state.md) Action with the Update Type set +To refresh the page, simply add an [**Update App State Action**](../../../resources/data-representation/app-state.md) Action with the Update Type set to 'Rebuild Current Page'. ::: Here's how you do it: diff --git a/docs/ff-integrations/database/local-sql/sqlite/_category_.json b/docs/ff-integrations/database/local-sql/sqlite/_category_.json deleted file mode 100644 index 937b0023..00000000 --- a/docs/ff-integrations/database/local-sql/sqlite/_category_.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "label": "SQLite" -} \ No newline at end of file diff --git a/docs/ff-integrations/database/refresh-db-request.md b/docs/ff-integrations/database/refresh-db-request.md index f95fd92e..81582150 100644 --- a/docs/ff-integrations/database/refresh-db-request.md +++ b/docs/ff-integrations/database/refresh-db-request.md @@ -3,7 +3,7 @@ slug: /integrations/database/refresh-db-request title: Refresh DB Request Action description: Learn how to use the Refresh DB Request action in your FlutterFlow app to refresh your database content. tags: [FlutterFlow, Database, Refresh, Action] -sidebar_position: 1 +sidebar_position: 4 keywords: [FlutterFlow, Database, Refresh, Action] --- diff --git a/docs/ff-integrations/database/supabase/_category_.json b/docs/ff-integrations/database/supabase/_category_.json index 603fa9f6..84f46365 100644 --- a/docs/ff-integrations/database/supabase/_category_.json +++ b/docs/ff-integrations/database/supabase/_category_.json @@ -1,3 +1,4 @@ { - "label": "Supabase" + "label": "Supabase", + "position": 2 } \ No newline at end of file diff --git a/docs/ff-integrations/gemini/_category_.json b/docs/ff-integrations/gemini/_category_.json index edd1d1cc..1065afcc 100644 --- a/docs/ff-integrations/gemini/_category_.json +++ b/docs/ff-integrations/gemini/_category_.json @@ -1,3 +1,4 @@ { - "label": "Gemini" + "label": "Gemini", + "position": 3 } \ No newline at end of file diff --git a/docs/ff-integrations/supabase/supabase-setup.md b/docs/ff-integrations/supabase/supabase-setup.md index 40797c24..fc17fdf1 100644 --- a/docs/ff-integrations/supabase/supabase-setup.md +++ b/docs/ff-integrations/supabase/supabase-setup.md @@ -1,6 +1,6 @@ --- slug: /integrations/supabase/setup -title: SupabaseSetup +title: Supabase Setup description: Learn how to set up Supabase in your FlutterFlow app for database and authentication functionalities. tags: [Supabase, Setup, Integration] sidebar_position: 1 @@ -16,7 +16,7 @@ use in FlutterFlow. With this integration, you can authenticate users and store Follow the steps below to setup the Supabase: ## Create Keys -- Create a new **Supabase account** from [here](https://app.supabase.com/sign-up). If you already +- Create a new [**Supabase account**](https://app.supabase.com/sign-up). If you already have an account, [login](https://app.supabase.com/sign-in). - To use Supabase with your FlutterFlow project, you'll need to create a project in Supabase diff --git a/docs/intro/before-you-begin/setting-up-flutterflow.md b/docs/intro/before-you-begin/setting-up-flutterflow.md index 12b53493..d3716688 100644 --- a/docs/intro/before-you-begin/setting-up-flutterflow.md +++ b/docs/intro/before-you-begin/setting-up-flutterflow.md @@ -8,7 +8,7 @@ description: Ensure you meet system requirements and grasp technical concepts fo Create your free account to get started with FlutterFlow. After you've set up your account, you'll be able to create as many projects as you like. -You can [sign up](https://app.flutterflow.io/create-account) via Apple, Google, or Github. +You can [**sign up**](https://app.flutterflow.io/create-account) via Apple, Google, or Github. ## System Requirements @@ -20,7 +20,9 @@ The FlutterFlow application can be accessed from your browser or installed as a ### Browser recommendations: - FlutterFlow works best on **Google Chrome** - We recommend keeping your browser up-to-date, specifically within the latest two versions -- You should [allow pop-up and redirects and ClipBoard](/troubleshooting/miscellaneous#i-cant-copy-paste-widgets.) from app.flutterflow.io. +- You should allow pop-up and redirects and ClipBoard from _app.flutterflow.io_. + + ### Desktop recommendations: - **macOS**: While FlutterFlow should work on 10.13 or higher, we recommend using 13 or higher @@ -29,7 +31,7 @@ The FlutterFlow application can be accessed from your browser or installed as a For details on target platform system requirements, please see the [Flutter documentation](https://docs.flutter.dev/reference/supported-platforms). ### Desktop vs Web: -We recommend using the desktop application for improved performance and access to features like [local run](TOD0). +We recommend using the desktop application for improved performance and access to features like [**local run**](../../testing-deployment-publishing/running-your-app/local-run.md). However, our desktop applications are currently in a preview phase, which may result in some instability. diff --git a/docs/intro/ff-ui/builder.md b/docs/intro/ff-ui/builder.md index 40eb9cad..08a6998d 100644 --- a/docs/intro/ff-ui/builder.md +++ b/docs/intro/ff-ui/builder.md @@ -28,7 +28,7 @@ Here is a list of all the features accessible from the navigation menu: 5. **Storyboard**: Visualize app's design and navigation. 6. **Firestore**: Create collections and adjust Firestore-related settings. 7. **Data Types**: Create custom data types for your app. -8. **App Values**: Manage App State variables and Constants. +8. **App Values**: Manage [App State variables](../../resources/data-representation/app-state.md) and Constants. 9. **API Calls**: Define API calls. 10. **Media Assets**: Upload assets for your app and team. 11. **Custom Functions**: Add custom functionalities, widgets, and actions. diff --git a/docs/intro/quickstart.md b/docs/intro/quickstart.md index c8bcfdfb..a45ded90 100644 --- a/docs/intro/quickstart.md +++ b/docs/intro/quickstart.md @@ -25,15 +25,15 @@ Below is a preview of what your app will look like once completed:
The steps to build the app are as follows: -1. [Clone or create project](#clone-project) +1. [Clone or create project](#1-clone-or-create-project) 2. [Building UI](#build-ui) 3. [Customize style](#customize-style) 4. [Manage state](#manage-state) 5. [Run the app](#run-app) -## 1. Clone or create project {#clone-project} +## 1. Clone or create project -To kick off your project, the first step is to [create a new project](#). However, to make things easier, we've already created a starter app for you. Simply open [this link](https://app.flutterflow.io/project/f-f-quick-start-app-umu392), click the '**Clone**' button, and the project will be instantly added to your account. +To kick off your project, the first step is to [create a new project](../resources/projects/how-to-create-find-organize-projects.md#how-to-create-a-project). However, to make things easier, we've already created a starter app for you. Simply open [this link](https://app.flutterflow.io/project/f-f-quick-start-app-umu392), click the '**Clone**' button, and the project will be instantly added to your account. ![clone-project.png](clone-project.png) @@ -115,7 +115,7 @@ Once your UI is set up, it's time to make your app interactive by adding a state ### 4.1 Add state variable -We can achieve this behavior by adding state variables. A state variable stores data that can change over time. For this specific use case, let's add a [page state variable](#) that will hold the current quantity value. When a user interacts with the buttons, we update this variable, which in turn updates the UI. +We can achieve this behavior by adding state variables. A state variable stores data that can change over time. For this specific use case, let's add a [page state variable](../resources/ui-building-blocks/pages/page-lifecycle.md) that will hold the current quantity value. When a user interacts with the buttons, we update this variable, which in turn updates the UI. Here's how to add and use state variables: @@ -147,7 +147,7 @@ Here's how to add and use state variables: ### 4.2 Update state variable -To update the state variable, we will need to add actions. Actions are essentially functions that are triggered by the user's interaction, in this case, by clicking either the "Increase" or "Decrease" buttons. You can add actions to your buttons via the [actions panel](#). +To update the state variable, we will need to add actions. Actions are essentially functions that are triggered by the user's interaction, in this case, by clicking either the "Increase" or "Decrease" buttons. You can add actions to your buttons via the [Actions Panel](../resources/control-flow/functions/action-flow-editor.md). Here's how to add actions to your buttons and update the state variable: @@ -179,7 +179,7 @@ Here's how to add actions to your buttons and update the state variable: ## 5. Run the App {#run-app} -Now that you've built and customized your app, it's time to run it. FlutterFlow allows you to test a fully-functional version of your app in [Test](#) and [Run](#) mode. The Run mode requires 2-4 minutes (or more, depending on the size of your project). However, to see your changes immediately, you can run your app in a Test mode that uses Flutter's "[Hot Reload](#)" feature. +Now that you've built and customized your app, it's time to run it. FlutterFlow allows you to test a fully-functional version of your app in [**Test**](../testing-deployment-publishing/running-your-app/run-your-app.md#test-mode) and [**Run**](../testing-deployment-publishing/running-your-app/run-your-app.md#run-mode) mode. The Run mode requires 2-4 minutes (or more, depending on the size of your project). However, to see your changes immediately, you can run your app in a Test mode that uses Flutter's "[**Hot Reload**](https://docs.flutter.dev/tools/hot-reload)" feature.
+To seek assistance from the [Community Forum](https://community.flutterflow.io/). If you're still encountering problems, don't hesitate to report the issue to our support team. \ No newline at end of file diff --git a/docs/resources/control-flow/backend-logic/backend-query/backend-query.md b/docs/resources/control-flow/backend-logic/backend-query/backend-query.md index dcd00259..7b2f2dce 100644 --- a/docs/resources/control-flow/backend-logic/backend-query/backend-query.md +++ b/docs/resources/control-flow/backend-logic/backend-query/backend-query.md @@ -239,7 +239,7 @@ page is loaded) and set the *isCacheOverride* variable accordingly. Here is how 1. First, check if the *lastCacheTime* is set or not. If not, set the current time to it. 2. Then the idea is to create one custom action that checks if the current time is more than 30 minutes ahead of the *lastCacheTime*. **Note** that 30 minutes is the cache expiration time, and here, it is kept minimum just for simplification purposes; It's important to carefully choose the appropriate expiration time for your cache based on the nature of your data. 3. if **True** : - 1. [Update](/actions/actions/state-management/update-app-state) the **lastCacheTime** with + 1. [Update](../../../../resources/data-representation/app-state.md#update-app-state-action) the **lastCacheTime** with the current time and **isCacheOverride** to True. Make sure you keep the **Update Type** to **Rebuild Current Page** so that the backend query is made again, which will invalidate the cache and display updated data. 2. You can also add an action to [Clear Query Cache](/actions/actions/state-management/clear-query-cache). 3. Continuing the same action flow, [wait](../../../../resources/control-flow/time-based-logic/wait-action.md) for 1 sec and again update **isCacheOverride** to **False** so that the cached result won't override on page load for the next 30 min. diff --git a/docs/resources/control-flow/concepts.md b/docs/resources/control-flow/concepts.md index ae59b256..e3e6e0b3 100644 --- a/docs/resources/control-flow/concepts.md +++ b/docs/resources/control-flow/concepts.md @@ -91,7 +91,7 @@ In FlutterFlow, you can implement conditional logic in two primary ways: Example: If the user clicks a button and a form is valid, navigate to the next screen; otherwise, show an error message. :::info -Check out the [**complete guide**](functions/conditional-logic.md) here. Are you looking to learn about implementing conditional UI instead? Check out our **[Responsiveness 101](#)** guide instead. +Check out the [**complete guide**](functions/conditional-logic.md) here. Are you looking to learn about implementing conditional UI instead? Check out our **[Responsiveness 101](../../ff-concepts/layout/responsive-layout.md)** guide instead. ::: ## Sequential vs Parallel Logic Flow diff --git a/docs/resources/control-flow/functions/action-blocks.md b/docs/resources/control-flow/functions/action-blocks.md index eef77e4c..8b894559 100644 --- a/docs/resources/control-flow/functions/action-blocks.md +++ b/docs/resources/control-flow/functions/action-blocks.md @@ -13,7 +13,7 @@ Action Blocks have different scopes, which determine their availability: | **Action Block Type** | **Description** | **Scope** | |----------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------| | **App Level Action Blocks** | Usable across the entire app. You can create an App Level Action Block from any page or component, and it will be accessible for viewing or editing from any page or component as well. | Internally, an App Level Action Block can only access the state variables available in its scope (e.g., app state variables). | -| **Page Level Action Blocks** | Restricted to the page in which they were created. These can access the state variables available in their scope, such as page state variables, as well as variables above their scope, such as App State variables. | Page Level Action Blocks can access page state variables and App State variables. | +| **Page Level Action Blocks** | Restricted to the page in which they were created. These can access the state variables available in their scope, such as page state variables, as well as variables above their scope, such as [App State variables](../../../resources/data-representation/app-state.md). | Page Level Action Blocks can access page state variables and App State variables. | | **Component Level Action Blocks**| Restricted to the component in which they were created. These can access the state variables available in their scope, such as component state variables, as well as variables from higher scopes, like page and App State variables. | Component Level Action Blocks can access component state variables, page state variables, and App State variables. | diff --git a/docs/resources/control-flow/user-interactivity/forms/form-widgets/dropdown.md b/docs/resources/control-flow/user-interactivity/forms/form-widgets/dropdown.md index 81cfd78a..f6dbc82a 100644 --- a/docs/resources/control-flow/user-interactivity/forms/form-widgets/dropdown.md +++ b/docs/resources/control-flow/user-interactivity/forms/form-widgets/dropdown.md @@ -116,7 +116,7 @@ To set an initial value: You might want to save the dropdown value as soon as the selection changes. This approach is useful when you want to ensure that the user's selection is immediately saved without having to wait for them to submit the form. By doing so, you can provide a better user experience and reduce the risk of data loss in case of any interruption. -You can do so by adding an action such as [update app state](../../../../../resources/data-representation/app-state#update-app-state-variable), [update Firestore record](../../../../../integrations/database/cloud-firestore/firestore-actions#update-document-action) that [triggers when a selection changes](../../../../../resources/ui-building-blocks/widgets/widget-commonalities#trigger-action-on-selection-change) on this widget. +You can do so by adding an action such as [update app state](../../../../../resources/data-representation/app-state.md#update-app-state-action), [update Firestore record](../../../../../integrations/database/cloud-firestore/firestore-actions#update-document-action) that [triggers when a selection changes](../../../../../resources/ui-building-blocks/widgets/widget-commonalities#trigger-action-on-selection-change) on this widget. ![Saving *DropDown* value on selection change](../../imgs/saving-dp-value-on-selection-change.webp) diff --git a/docs/resources/data-representation/app-state.md b/docs/resources/data-representation/app-state.md index 85fe2c05..1c143453 100644 --- a/docs/resources/data-representation/app-state.md +++ b/docs/resources/data-representation/app-state.md @@ -18,11 +18,11 @@ App state variables should be used in scenarios where the same data needs to be App state variables should not be used for temporary data that doesn't impact the overall state of the application. For instance, a user's temporary input in a form should not be stored in an app state variable. It would be more appropriate to use a [page state](#) or [component state](#) variable instead. -## Working with App State Variables +## App State Variables Let’s see how you can manage the app state variable using an example of adding items to a cart in a shopping app. -### Create app state variable +### Create App State variable Head over to the left-side navigation menu and follow the steps below to create a variable. @@ -51,9 +51,38 @@ Head over to the left-side navigation menu and follow the steps below to create allow="clipboard-write">
-### Update app state variable -To update the app state variable, we need to add an action to the 'Add to Bag' button. Within this action, we'll provide the product details and configure it to add to the current cart list. +#### App State Properties + +- **isList:** Whether this field is a list type (e.g List of String or List of Custom Data Type) +- **Persisted:** Whether this app state is saved to disk so that it can be loaded when the app is restarted. Otherwise the field will be reset on restart. + +:::tip[Generated Code] + Curious about what happens when the **Persisted** toggle is on? Check out the [**Generated Code**](../../ff-concepts/state-management/generated-code.md#persisting-app-state) guide. + ::: + + +### Use App State + +The variable can now be accessed via set from variable menu. For example, on the cart page, you can loop through the app state variable to display each item. + +![access-app-state-variable.avif](../imgs/access-app-state-variable.avif) + +### Update App State [Action] + +You can update an app state from the Actions Panel anywhere in the app, whether it's on tap of a widget in a component or page, or via custom code in FlutterFlow. + +When you update the app state via the Action Flow Editor, you will find the following options in the Action Settings. +![update-app-state-action.png](..%2Fimgs%2Fupdate-app-state-action.png) + +#### Update Type +How this app state update will affect your app. + +- **Rebuild All Pages:** Rebuilds all pages in the app when this app state is updated. +- **Rebuild Current Page:** Rebuilds only the current page when this app state is updated. +- **No Rebuild:** No rebuild is required. + +Here's a quick guide to updating the app state variable. We need to add an action to the 'Add to Bag' button. Within this action, we'll provide the product details and configure it to add to the current cart list.
-### Use app state variable - -The variable can now be accessed via set from variable menu. For example, on the cart page, you can loop through the app state variable to display each item. - -![access-app-state-variable.avif](../imgs/access-app-state-variable.avif) \ No newline at end of file diff --git a/docs/resources/data-representation/overview.md b/docs/resources/data-representation/overview.md index d6f124d5..d84e0c84 100644 --- a/docs/resources/data-representation/overview.md +++ b/docs/resources/data-representation/overview.md @@ -35,7 +35,7 @@ Learn more about creating [app state variables](app-state), [page state variable You can set the value of variables using [actions](#) in FlutterFlow. For instance, when a button is clicked, you can set a variable to a certain value. Variables can be accessed to control the behavior of UI components, such as visibility, text content, and styling. For example, a text widget can display the value of a variable. Here are examples of setting and using an app state variable ([update] -(app-state#update-app-state-variable) and [use](app-state#use-app-state-variable)), as well as a +(app-state#update-app-state-variable) and [use](app-state#use-app-state)), as well as a page state variable ([set](../ui-building-blocks/pages/page-lifecycle.md#creating-a-page-state) and [use](../ui-building-blocks/pages/page-lifecycle.md#get-page-state-value)). diff --git a/docs/resources/imgs/update-app-state-action.png b/docs/resources/imgs/update-app-state-action.png new file mode 100644 index 0000000000000000000000000000000000000000..f96f27f5673fed5e4ebc1b35d6c7f2bee074dd03 GIT binary patch literal 242047 zcmeFZd0diN`#)|q*-Y6oV`ir2G)+^9TWYSUtvXq0mg2sL8seU~f|a9|rnb3nmAN9~ z2JWDlnWCU6Dk74ak|N>;E(m;YZJy`z&+pIQpU?ezCHLXJ&biOI&ULQqeJ%9#wwcNP zy~p;7iHYsM{`b{8Vq$x{#l-f^{wxlB)5+-W2R?rB|Jyc5Ozg<1t$#bN-}!R^_;N?k z9h1vqp_r`yb>7 zDEzeJ(AQgwy_c?Qp0b#pfBt2puq+4hXC^8x(t{`SC7JoF59h?j!GuO~_sK7)U)Sd} z__rHz#g576zYV`TL;MZ$^zqf}hyQ*d_Ve+&OQZCQ3={dVTTL%g=(e`DR<;xhokGn! zc(knh^Jg98V!~W}ydT~oBQKA$wVHpgo5j%o+=_{{{3Mya`@c<>cfWM+{BKLG?lHU%IpKZDd1Vlx8Js~;ltok3KVh%r|=qRd|i6Q3>K(f;E_4%7iqq= zF`fWI{OkEP{Cjpbx+?5ftK9%FeAxM#8Nm(b{05Enut$S|!PI0FmzS66TPpznc?Lj) z{!?A?)w)2_KkTmS7G4DRd1?Lx0fsAg5vW>dW%U5xeO}G#yn`0yymHN8_}>4qvDVpUdD90DFW z9FJrJV~FidG0*UVOj&;joVBET+q}8T- z*oylke&EmfPAbfFfY4fT+fyk2TYBm8v@xn9DI5_xS||NB#%l*4Z&1s%-~ruk|J_u| z-6FW@q!ZSqst1s$`aTRh253^J>}Qw+}z zs<#-Yj;}fvmtxbdoO0NjRLYNayiW-DH3*x~!YaAk2>u(6ey$Ag8>|`Xq@~!acNFf3 zx-(Z?TGh5Ji)3H^$7A=Fvx8IlceYuGUxU`(v2{{BtWiphW2IaCNz1}sE{}E{9{2Y- zAP6cN9~#W$Ea<_e*WYfvuVwJmmTa|1-PcfcE0;=T8##jx>(7Rv=!v9>$)GEX;Ywy8 z5I}MBao5*2iI2JaK7p4#vA=O=mrScCb7^QEzDJ^GTLxf`+v~1)3NGa}*cIdYXOxmy ziJYtF9yIhR$9kadihB@yVMYDK4!HO>rQ~0`sx8#s34l-%MI#W6?>T948v4%es$rWoO0;Pu z3@we8IAN}xY^&x%*YV^2bEe6A(lnsi%fP-p?EGIo_oduJ@Erb)SEUmdX8f4YJSpS8dfg5FO^l!Q7Z`kwde>_Zva zi$jU3$H3uCllI#vX{PBqej@w6!P_mTwp{K9_dCH7pN~jK?CGeD-`8ZTeBbx2mD3!X zkeYIj6_(W(-rO|Ix}yRt`qWuY)r*7B^-~{$CRvGQHFj*TT3S09yk1?VV~_rLvo=I% znM|Vk!@`P^-irC$xdw>u*RCJSVU|QKVnv}kO8OVx$9NPS1>Pih0}DXoEHG&&sCKdU zq*ccn{sDHa_f^PPI&>i49&@d6jSABuw!n}(0(|jSV<{({^PrYw{Ap+BvvQz|0Iffy zWXs>LaE*4Qjx(cMsX}t(Flq1KXgH=6R-~2G{_RGix zLe~j0c4Uff0Md=|I6$htY3({xX3XW-0dwz))_VU&JOhnm$9YSTmX59Ty6s9b_XBGtN; zIwhLsOFw7FIqkVp-DbQSP$pvON)&)vY*2Hats56z9et&mj#8r$#Oy&TU$tiOL?FiF zk6#)s1*3A&hq9PXVF$EkN0rd4atDE#6Z5upMwx4~^xq~{**$O1A4*4qBWe$!hrEHY zTh=>+P~pu^x!&Ae)o9-LH*?0MMc`$1n`hm(lrc*!^z8#Iv`VlTMkH5L5;M`&oSfX; zBsYQB%6j459xR+J@R0IDp{MF$XPx=*yzJxm2WV?0K4*ZI9M*B@qf zdVBZ7?sjc$>?cjd3ypW$si!9OEWqivAi!Y>wFhf$MY^`8vp+Ye;DR&@PP(NrE9bkm z2%Q8T)J1LwfLg>Qz$x;_hcNdBL{!pSI_O-Ml!xqo?MPrLb+?zYLFDE;xd~W(_9>=U zG}AZQI1%81OW@C2_NyiASW~fH==k|KcsqZ9Uk^EaNiHg;fB{`+w z_~oh#+OmdzvPeMRwA|Yc3q9O#!+s1EVapr_&Z^>hpR55@_Bwi7x5m6=I)u%qFkK3k z5}w^a5zDWJ0;k9&@W*uZ%D_*(*05t_H=D?2J7NV4Sc?Cnse0?&=mOtb$#&5Zh2#*! z(>lP}Pz##{79sXbbAI<1Vf%paHaOK$t|7;Cv06J1inSX%b{G(beZT@6C{8X~)m14= z4(w4~r`){#;_e;wl7E}Al1>2q(^RFl%!P{tD8|#o>iDt9F_};Y^gjtG;F5;EUEQgZ-q}6io&^91B|19XygS9_c3zL>;z5T$0I-3oqOB?gPcg(%GUwQxr z-W0c<1x9hXnO}NnzmYS0Ck(7}XA2>H{UB>7nuQxjbq1i9F90Ne#r=@kR|$nc>(#Z} zTP#`nmn9O;I*x3u+^NtZTVSHNf2_##PuT#$Lt@%?FWBQ&T9`^RwkV+t=xl#UbOGHz zBau@J5c{9{G1n854w{a~pE)A7UY0iaHEhJxIb4qE0DvI?eEk?@=Z-D7hlVYahO+rU zUx(cPkDy^i=cneB)4(9oCb>Df)_}0oRsEQzB5Cz9pO9nS#4r6@Ow`&wNyBfjik%I^ zfXr6}>zMrCdx3Gbu74d&mz$-(ZcSY`d)HRiBR>vdoN)JDX*1yazmkItftht$0eWKV za(Rk$siMqZE$Tm;7oyMp{vZM~6_wTq9ULqdF2AsCo`AcGGtpH&V9*E~u6wh=>5z^>4sFmwBRs{!8(Vzy zeE2wZ>*d5BpbogTZi?~H7(tt9+V`BA)X>Zv?{j)sV;zQVut9JGtz#i4yGpB?-&(tB zMSlPNNm7okOaQEI!7*F6 z;5(12q659V*j=~%7vI~*MuR-tss(T9zU`Ma-rNCE5mFv^!3_3;Bk%gWUP~X1**bZ3qubhM zYm951Fc|oiqm5T;3Z$_;%GT=ql`5H^(T?M;y>_v&EUwpK>)%*hyBa&Rlhhde^fXiY zomEZ$%F2Kg!wl%};PfAft#exe5j|`GxOFu(8EvI;#$FZGx%ZKZ6|TeWN$3f?W}dx- zthxF5cXys)psGMum0kbk$~nD+N8~c4ELW=OqBGV`8AbFs^SVI&LbjBr#$g&Xq|3D0 z_MJ8jljD;rNr3_j5VOyzMgkweRen@v&B4azi7(Lejxvboo0V}S)$xkBXLU~DvBcuR zQV3sJQyQ>~Te`bWPG@<`a|852d_^zJ7)41kE0U!^Pt7KVYZe}BU7O|F-IVr8We+)) zX=brUdbZA8Ma=eb1MbxN)VnjTG*X_L72P!?#aC_V<`h#kJhabO_q9|QC;;cEp$gh^ zGg`p^iQKnbB_8!Gq9uBuY{fl5DW;l*h2d|_2hj{9pr21rVMFj*$%!gpa2Q0mHAUb8 zx;%%WsEP`n!2{vVc$*Ve!PLahEil`++O$eAr~_-i1(LSe@B^#^eI!AkH*kHrmvXEw zvBDE=Cp?@+uXEBL>=FxvV(t6xhjj4(yY>+M_rGWT;nTtSY!otc2N`K)Nir8t4*FXr zwZ{|>3{_$E-}P47*>Y?8QQ?`Fs1l)I5R~W}3+oth6VnBe;0<)A2$cHPT95pIW5C_V zuF|5Mb}>(I8X8;*se9G)!Y6~BseXor`34Y**(Yx6z3u5<$)-PQfqm}sEq~imHoMIL ztN#eZ%`)F2gw{t}6ePy>DYfS{I)goO@Q)C^ZAY=<{Qpf)Z&xzFQr(Jrahhe!7W~AO zh68_rtL6P{_Pzk{ZVzoooG0P3IhEwd-kR&+`wvP#C?ruDx81=uybm^aT(vB>?2C){ zwyD^9tnwU;l0w7v?Rq@A$>g-j4Jp44z{Pg+@c65+sHg);p6M^jw?kdacS;VYPhA9h z{7rhkwIjeNk}J^_MP@ni8lI$&PbE)J^uCQgr>$*$V7dKye_4?@i{-T1FieON**v03 zFabdJNt>{q2yAEoojcTF5W?7U-X8vkQLs!8l+-Fi)DybWXVUd`RzXl?bY@qLF6^U- z=_~>_ZBQ^z5qus-mtE=JG0}NC@7Y1&mpyJn<&KM!oHhML(I%JiGce%A|LAxUZM-dR zlFtw!H#-=j=Cx|osQOT0pe=;=`Nc^Hc8CkrJO&Jv6iT#b9En(+muDFS1ywJ8*he-& zQJzh9BzM#vk5mKvU~6I0E8k}BAfP2P{yW>-wY0>Tn3$?}bG3M`%jT3b^3*&*Bx`{N zyNiV06G{4<_;BZy2uy-*y%>&$p?JR+|`#3{iu`K1MVi}o>d@|$?c1i z9Xsn*3^)3cQ>EU-3D%NDp-mzICplr9EZQVbR_6)kUIzGuw#iPMR9OET7RwN_8A%bG z=8(?1L|+C+Fvdw~tMhGS<3a^2=P2IkiZJyv{MLiWicN{@GU)8jo#JV)@R_R$o16diB$rN^5- z$Zy~jrZ)&~Sumo4bb-jzyrk*#HSE8h&qAayhekEP!oBZwFJ3UKyU;2Y|OKn znHj)2hO|@hi^v>@h}O;XfS<(XLUIY+-yeTHLlp6H^%0S9ec#BzV0a3vlC`K-C; z?c1JLu6T(v%mol(2~>LYL)d3>QELUvIf>{30q>2$uAn3jcEvM=>|H8S+c2i?aj^8X z+js`Y_`%Xnz7C~0K7p5FcNO~^WyA8SyPo1*4GVg`sv_5T@ynp#?iJRQXFg&j=6m)9 zIkt4(lljdVw{Mpp(CEdQ$NK14Om;a9YTTG!xIVY~4)LvB&O&@Ylnt+e&ne>w#}WnF zyKe+H<~)Iej^swZG4k+=H`VlQ&{yoICHz&^{=V~huqW?oO>*<$dbUhydH3A2k@K}H zNm3`g#nS&SGS7>TR>dD>tkEzXefcKt9VGe1lYUVVO^dhu;$?m7PLwyymew6o|2^W{ z=NG_{7hRV#fGg>-&2)te<7tx_p1Dt{RO)92AxXjLcpg75iaEz$vVLjr+o7vXXZLcw-S9M=qDaZ)QjyYq(ey?+Vs> zzzUEYWqC@m`jfA&Ut8Wx8v{^bHZGJ77R$e^cq*!Y0tk7TE zqy^Pqy#}K-L_yP|mV{mg{O0d+h;t2BXm%w7@AM-|tsQY*uXsfArw^-mJDj<*H}77h z0Q#?W~@)=ht>qsvmswMO?lH{LF?@Rvl zAw*Q_l>omAs4$k346RV)YZ>o;)!~TPUw31{3K5%?YeY5!3N*{qxYf26w-K1EX>pm@pHWLi9bW z9_8ObMBD)*>3s|Vv1%u@mgZz=(d-oKdUv_EA98BM*BeQ_mvh(To!)s#r6I!rog;uI z=`$KR87~z=L{=}XM7NVYZW7$8KFIV$Cz~vH^4-Uu`dtkwUPLD zAkPxo4&@D2fAM-P^}ytoomutKGDt~TFD-nAzYB3M^s#SEGT|^~PSRdYjTXM1;U>sC zi<|uTauF-gHu2$LEojYA?W?$C`FK*sWM7W+NJj%Y=AB6XDd}n34zZhsZE*)XmdOV8 zhWM#e`$-)Q20WKp-s4xje-~<9&vdM;zpKvBI%gKE+u;soJRsqE&mE%Z%FJ z5`SH-Y+}Xj2~gPRjhhI{<2#5=65oV_@35nG{N5(mDTMv=MybN;hvUJ-&;XO7)nMY` z?uyi!)gG0hZ^)$^Ae2VpmfWa{(*7DhHy)i+9twjtgc?pLV~s73N#pE> zr%D^uWOF9tz&V9MvtG6ZAt1meZ>|azN8<7v)seGSMsjy4Bc+e1bMEzm{0*BB;mrp} z%=U<>WhBY#+r@hHbBCN2v>l?ZSSqH}^&U$!9u4ToSv)wl8U#pDr;UxxnGV9jhvmg) z4)XNz$ge^#tR3VUW>u6gnxw8yl{yBo9}PE}#9SjWX71YVhR;9#2g2V-@i1D?(x`N2 z#u(wW?vA}g*nsbCemiYs3)Yv<)k5W$BEyl$Md_$YIYZ%Ma#}0ZRmO#cJHm_Rc9P4n zJ6U4>^*@YnD(coXNVvUaRVGyQII2jJ4rjrxQFEuHjWsUREv#whudjr-G0l;0%Cxdh z4BU8&m~*KyZ_-qMPYs>Q%15$6ZW}ypDcY-)0NJUv4T|;(E&!=@1kX?T?$JJAdcIU2 z6F<`!_2)5dhNKcDa&gh?c%-6UhqGO9!+c48pW)JFrKSZNO&POE;->;bUh}toqgkz!TLAJbNUg5 zWf!vu9cJdYI_w!6gAezOhX`*iKaPd)17+&VoHrIM9n1{5CFaVqLzwRL)?tay2R2rU zj1XgwYRcY?V9GO7HnlV!X0iAy{pNZ5dA?Joj|6ZzsZ2+|^9&dn0HS&Hd3)b_NdE}; zGKqg#cJAOL58E@J7roqg8?kix_}$54FjfsEnP3rHJAS!lYHCF$_}s|k<@$7Xq;9Qb z1@?y8mGfA4dn01N6fWF`9>}D;fwPV8q2Rx{^V)?*K!YWOf7G}RVaaq-?xmZ6$FOzI^j7#VLby_Wg z65Q83pE8Bh%8Pg(qI8(%th~`Zpo{_W_XAQqJ9uqEa?DO6 znG69fbf)*M`tRpqTP{FpBj;&tGkcFa1COvkJ0WY|FuPuy7-WbdK`N;ZgArra$-9Oe zk9V~1I(XssfwnP`a5c?nnKumpYtOVMIH!5l_l#PW)Lo6AHoit5RM|J~p`#5N$u)md zVkEMV3aZXzbr|w0t2Vyn8br8(I&s}v@=lz9()DRg+e9tDOGcxGXKCkan+ZlkC)?6w z3Z3qc)nlrnzBN@lnsg!rvV=w18=t0lkrR@6PbiTq`3jD>ZU>S}J3Z2%NOlDP11GjL z^Xp{m*@J?;@7sJ{(z2wYstruIWG-&fgPk=Ri#&u=rK!>au!z^oWZY+jrdJ)^SYB0k zJ{kZUF9X`xMmhwco&?78Sv|VGX`GzlN+AOm$j>Pf zwKSI~=MwX2O%8$+(UB=K4Wusz{kdN>&x=uwJdqndTXJd=Jd#(!I9{I%vie=2)&Q&l zjp8QGMpM(`_(2R8BOM0(_~xc9dl`y`cacBOMaZsi?*9IxZZEaureE^L`Pz>IfV35y zvurQwPvXtE_l2*|c=gOZ^IdEzQyR%m@HNu3kM*|ii(KpkY>2zeUuBve6K*V}?jxch zxno(ENEyX!-P_{wH?Rd!f6VxZ&=xc-A(S6kpU5>B`ss@LMaNAq1%so2?TvFPGY;+; z`<|_$a;ApXhcO=YQNGGwsBXt+B+T;WU%pwIDs4cR+g`7yso>b(`qb63E-l*yNKCDb zi~*U;^qW1?m%GWU^Z45+t9&O+Vzx?KmF^}r522eIx>>0cxVBJrpEpOBH9~IM0MOnM z^4#U*BPvvQplYqr2MtarDVce=?*s_%1e3{Zb|~%kzz(|#)GWK6)BK;K6%N>)g`HQr za!ux{oK+{>Ki3wb7yXPA+M(}ep#C+rwbbHK0bb(O)ItV1@~~MT0l8*?X+4_Zk%;Bff2T zM3hPW?bKN;IN$W_(mJ)-&P9uME}5NjxlRBl`D|`7jRZSX!4?BK_f;|9Wd-N#!8PVh6MuF!$M4;M=Ma^P2FFkBo^w+e) zMuJ!K!uR@BrEZhP?;v{p-S$TP_Se|-pJXaXuG5rB$5C;yawRmlT4GSxp^B_r)0OU- z{$4Q-=!VG-`)pPNJv=-n8d&9^wyH)rJ1N3RF#E6vzG112-;9&SG{6{u zZy|3adgMDdT+byu7{dImhjJ}52{XBN6MpqQT zcr{*Nv18zdGA++>)YyA-cY9}KL?Z8qh7@Ur%*93t-o-b^Z27oFsv=%{z+Od z=5jXQ8#_ym2Ja&tm|e}|&o^>j{sZc8B;%3TiOqVcBtag(KF^+;Ac+tl>-ylNRg6@s zd@i!NL+9d;2z`ZXibT%f>^Ve-eHZlIvZt9bv%7Lkc}6-|U6cR89VPBj{n&eT1u)Iw zih8FHTnll1TXyvr+oSS1RHm+{v?3)V$AXU2IHrwPR7~`-kO?5tsD8qL2Tb#8wV{5@ zk1xFPLc_dV>EE*rEpD!wwCiCwsV}x%7B0%~$%xfZo;_#Uq1)hr-vjfUMzOR@G>0J{ zzqL*;X&OUU7+7<_(AJFRLz4D`Nz*KoO??y<+j#?ibteHV``SmR9NuTfcFV{)NtUJs zm8CUrsWp18yZGQ4y!$bK|4bA<1q1;C|ZaKf^n-)F_mH1 zV9*d$6rp+qadOp%)w`OYH4WQC1RLLBw&2A6ia(AZXudiu`pNtnem6*5V zvRS>Z-c zaE0oX>L(!TS1h1g1J{E zUr>05vm37HVb#Q4m@{bxzgRuo@%4`PVM47(`>?a{yHSGV>3GI9rbpT>4T{%C$B<^l zc|0?>ct{)miyvpqV9QZ#7fp$HmBms7zp+4;@{TMv9#b=U=kpt16@Ct9Y$UDDxOEtK@7X` z&V9O^gcG|yO?k!g9lt?EFI6z)sF$ukMb+x3+gS}WqRTMwX`z2;}TxW!8StY zOlF=z8;fd`TTSq+xPX#0T4>odwXq**w!)|#>z#wLvWX=BjfE9ZCwEqXsOuQje3xLy zcEPS>YwhZvoNIG!bDlfu;ABV=o*Ok|8GPEY@x#elzFT6OFZLmxn~4jjSqayzTJ1-71>!M31P)=De( zKvcl>Xc!H9FZf6<-&f{#Vobf0PSEd7jdi^M$}?WBkIVm!)zssID3$oY+f_Z)l)2oe zI8D)eFrVB2sR$UNoC{`o=LfG*z3>ZHYn(%ytgX&Rx5&hnQR3HcrMV7DJc6$te=>r_ zJb|7Qjr%j}gE^@jvWq9H_impavRGmQZYG!Hbv|Opq*AdxI%OHN9l>z4uIU#}gsEoR zE03V=(B2#U(vzdo)=SNeJ~5M?dA632N>s(EMmMsNF7Qf4AJ*r6?JWKugTJQtxcGbG zzMHp4Nau!EghpNfLUM-@5Zv62`U5G@{MyYK9}9ZW@5k2d&JAE1wBDV&+cbvqvX3oE zz-2|vu~4eZ!>xheiEp5g@QCiFd5+RA-5zW3@lHN5Snl8pIdhLrDZ0lGz4KK$Ud+}!)Em<9og4uT%b07P_(Vb$fG%4qx zwTLJYC$05Kef>J5|K_b*?T>ctnTTciohhO}nVHF`m1 zNpaxmGvw_@ifLfaVb8iiSnR{tUDYzePE#bx>Z#m;Gy7-b-Uf!P+XjgQs~G*_db{%@ z*-_$^>fciO%T8YnD|xmzn(Mc3taecAp!i4d$h5>>51NFvp4@>}pL=6j^4%8{Cd-!n zZQu(AGNDA*fru*3L50&)Wd4UL>Y$7Y$J(28e<}2sp;n-L5Ti`{jBXvNJ~5x?S{^j! zfpWVYZ;GPhNbM-HNWD!DM0wk%Wj#=rnE&oSNtw?n~7E2|de41X>| zNbuIZ_cu;;bv&G=yZ?BjF2`Z)D>J10%7OYO3Gk|sNtN>yQaXM2;FawZf{x$%9>Hu9 z{hXjwK?xN2$;Cx08f9x6JpaJ55O+9w+f8B8T!*PJCKaJ&;!~x&hfeNO~b{ z+>N>$>p%-C>JszvVca?w%pS3a5SDE769j^s~U3lvU8*V?y6t(Q~l zR>a#n+R}`d)86nVTBg31bf`GmgviM}KPHtfFZGaZ{aEfmBE$xUZJBdPhla}Jt#^B- z#>B?%vO#rnozE_$?!b-D)(U2t(81Qk5i((uNN9RrH379! zv(8*~IaKC{`sssu8E>5&g}nYmndYl=SjWrqqJM#5hL7G+iEiF!vF{ZUsR#B*1<|WS zp11w$?!d%#tD8G~2o}rE_j5GXGKk$;VQb@Y#IqIZ`huryO!ZVq5$7~T0JV;pQY+l2l8(B&FRQpJ`r=GS! zPJO9z^K~xx4T~yIoUwOuG(E#=05GZfG*I~LQ|MDpHw276L{QPQuQcN}zYGn}Q zXiWcL*cLo_6e#_~EEluotOUHsslcTp%WbaIOS*>qzKWEj@qIo8yJHX8*}BJb27{++Lo}WZ=^@od_T
jC0*wYL5ceZ!KI%0o{Cco&bruuddG6J2m7N8%L8xW>NnS4a%ajY?Pl+wN?fsjY2o z;5^sY^Y=fgY^y^)B$LxuiZ%4}!7%chDm!Q;n%zcz{bw>PJ8Wbeo?;_}}+goGtX0k2p6Qfni~};=yJL38c=GL|#zAu!zEL%&%H5T?zvq zCqbBNfksN==a&O~P55hX-w|QX0nV>kh|Q_0-vYokJ*6La-Czk+`PU0Vqk!T=wd@@O z$e(LR(}EyU4Bid%G`3~q?8Xx}8t9t7bqL$pA+P>P%=#E!#^Ex~q7R<}MFj9?AraQ# z;+;*YV@O^39;Slw;7tAZTtobW$8I8sQIfFNceRwv8$!)#(7ilw>+=08MMb{IV2n8? zfHh58Oe0xU0hlP;Fzp4ontUp_Haj}O9Gb<%%`E+?J z_BhQm$(vtI(6M1GL1#uENrcqF4pSg z*@1q_KJl%UR=v6(4Bq@8jjx#FHZ^ZRmq~(*OPvzWeG1fUc$AclMY3>?oCNE@K1Q1x za0gxnm>UUJUNZAH+>e`k$2d2h#6Q<7Rghp=`#E+Nvzu-s42MporLc0Y7+px`|IYWr zIfE(kr)a^Jzpr0D#-(b`dz#EM$NldS0y)s7gq4aM{If6em!;%7-HVuky?Ydvlwyvi%T zR-Yz$Yy=waOGX$R(;jnF3NinWOFJ_zj%IMo&qv~ zt%1(c`hF{c2MnxgI&1REANV5UEGreBWnw;#DDz*t%}J%IuOc{OCi{B9PG$zVMQw^~>uS zcTqiE;I#Rw70|Q9|urKol+WH$_MXFfrRW)+>!Q{ z;iI3h%2om$3sJA5=~kEd`-zX}-=z_emKh_*foc`6wjCvS*Rvdw-SrL?^SIxXR!Z$QI@K7}tqj zXuZ)^}rguh<%FUpwVR0 zIGsAoE6h`A!$R8oO);51;BP%$rTv)58{I}LQ#PUVFWhpA!k4r3<cPxC1m`kFf8|1NGsM5XY#7Lu&F=9{+`!8ck=FG3 z+9BqFQ83A`{JVFKyQ;FiS!{spH3DqZ-z2KDS;TM&9ve+tJ{X0SPCq`H`{|~PR&H3E z`D=c)UUku^Hoc4xx#87!THz^x4ZtgD`MW3{2}0*N=6ak^sn8eUIN%#W&m@xJq$!xF zHSg@M849$y4BsEV&WCt~&OZ`09nEB`sJzqh@HBrd6;Kq9h%mHzy5nI2Yhk=?@uOsN z`>s`nv(Ty1lVi1rUllmCOu;%x=!lN!vc3AIvB*JLc-M1l@lUa!-lWnI?NHV{<(US( zSdHpI61frK&SyUlMIl}Xpn|3!pseKNDY?>(OH7Y?AhkJo9wGjnboy#7we?fLbgk5e zzqpAJkX=hY&o0<&krZf{cPqa%F6r*u2OxzTZ9CZ9BdQ@rpJzw5D-yVD zAt7H-5s8dtN=t(GE$u2Z-u85c9c%+0R5U=H$4JfgXQQ)o@>Nr-Ggfw(hH3vg4~1td*9XLnI%=s zOdzIz1!Fhw)=p7Zqm3QMdiyEYhUlo#9Me^ujI4jDL2O*DF>7)#qsc>uBwBIF%|~0kI z_%sdjH;!QxnAb6y@os-o3LomvNJ)8;z-4vk&MNzP=_c-~HD+(n@^PG4ppv4rOw%6k zAi+iS6c5by8Ln9B;?&N|osFa@R%Hde=e_k0O`) zS+Txx)kH92y;4d&f+*0#vgdgB{>IWAp75StX+L2p^YgAut z9~G8lagu;gq!clI#;RM{sWjO44Ac6!Bz1_yYxPyt1OhxtAftU^&y+xKPsJZkgl+OiQr`+!`X*1TK*%fD_^ zuFjVw?y-DiBI|7QB_MRHonOUxZ+AAdZczDC2xm-w@~Bn7%1lw76W1UuFv_vJm%a{m zcjPG3PhX0~bnGYko@XvoHK7dw8>M7?=PS`P#EX~Uyy>?2$#3&h{M&^K;ElG^hKs)- zcG&#*0fI{qq_@2Kf*P$c5rLJsj7vVQwChb9$6En$!Xp`9H#_J46}N<-Q}0eyP=Eq~ zW{FE4HY;W7Wwa+iZYcFp-*nJH)i87MlW9MBm^U3pUty?b`h+$%LY_aEe@jvAN=-q~ z*pGgtSABpozY+VWLBE%>_IKlsyj!1;?9&b2bSUT_i%m&!kkuZg?#nxXzk})+NDR5Q z91$f&my9Ftj!N*ERjKKMVrBkDANu8Zu>Tv zKVPK|g+L3-{-mAZwH2gFCFmC=<)V4CG}FstZ=PNvB5OsT(vdy-;g3ci`TO_`;R6X2xRX5lRa`_zfOG6

w!O@mXQP-lP|< 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šov>8~L0PG$ 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 z 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 Y=G70j&TL1;@J~ha@uWBT)2g99^}G#Uv=76E|{* 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

Date: Sat, 27 Jul 2024 20:25:26 +0530 Subject: [PATCH 2/7] Refactor ui-building-blocks folder --- .../adding-customization/cloud-functions.md | 2 +- docs/ff-concepts/animations/page_transitions.md | 2 +- docs/ff-concepts/layout/building-layout.md | 2 +- .../conditional-builder-widget.md | 6 +++--- docs/ff-concepts/state-management/generated-code.md | 6 +++--- .../state-management/state-management.md | 8 ++++---- .../database/cloud-firestore/firestore-actions.md | 2 +- docs/ff-integrations/streaming/mux/integrate-mux.md | 4 ++-- docs/intro/ff-ui/resource-hierarchy.md | 8 ++++---- docs/intro/ff-ui/widget-palette.md | 2 +- docs/intro/quickstart.md | 2 +- .../control-flow/backend-logic/api/streaming-api.md | 2 +- .../backend-query/algolia-search-query.md | 3 +-- .../backend-logic/backend-query/backend-query.md | 4 ++-- .../user-interactivity/forms/form-validation.md | 2 +- .../forms/form-widgets/checkbox-group.md | 2 +- .../forms/form-widgets/dropdown.md | 8 ++++---- .../forms/form-widgets/radiobutton.md | 4 ++-- .../forms/form-widgets/text-field.md | 8 ++++---- .../data-representation/global-properties.md | 7 ++++++- docs/resources/data-representation/overview.md | 4 ++-- .../{ui-building-blocks => ui}/_category_.json | 0 .../components/_category_.json | 0 .../components/built-in-components/_category_.json | 0 .../components/built-in-components/badge.md | 0 .../components/built-in-components/barcode.md | 2 +- .../components/built-in-components/draggable.md | 8 ++++---- .../components/built-in-components/expandable.md | 0 .../built-in-components/getting-started.md | 0 .../components/built-in-components/img.png | Bin .../components/built-in-components/img_1.png | Bin .../components/built-in-components/img_2.png | Bin .../components/built-in-components/img_3.png | Bin .../components/built-in-components/imgs/img.png | Bin .../components/built-in-components/imgs/img_1.png | Bin .../components/built-in-components/imgs/img_2.png | Bin .../components/built-in-components/imgs/img_3.png | Bin .../components/built-in-components/imgs/img_4.png | Bin .../components/built-in-components/markdown.md | 0 .../components/built-in-components/pincode.md | 0 .../components/built-in-components/ratingbar.md | 2 +- .../components/built-in-components/slider.md | 2 +- .../components/built-in-components/sticky-header.md | 0 .../components/custom-components}/_category_.json | 0 .../custom-components}/component-lifecycle.md | 0 .../custom-components}/getting-started.md | 0 .../custom-components}/using-components.md | 0 .../components/overview.md | 2 +- .../imgs/Class-Instance.png | Bin .../{ui-building-blocks => ui}/imgs/Page-State.png | Bin .../imgs/action-props.png | Bin .../imgs/actions-triggers.png | Bin .../{ui-building-blocks => ui}/imgs/actions.png | Bin .../imgs/advanced-configs-widgets.png | Bin .../imgs/advanced-configs.png | Bin .../imgs/backend-query.png | Bin .../{ui-building-blocks => ui}/imgs/body-page.png | Bin .../imgs/column-cross.png | Bin .../imgs/column-main-axis.png | Bin .../imgs/component-actions.png | Bin .../imgs/components-configurations.png | Bin .../imgs/everything-widget.png | Bin .../imgs/fab-comparison.png | Bin .../{ui-building-blocks => ui}/imgs/img.png | Bin .../imgs/nav-bar-default.png | Bin .../imgs/nav-bar-floating.png | Bin .../imgs/nav-bar-google.png | Bin .../{ui-building-blocks => ui}/imgs/nav-bar.png | Bin .../{ui-building-blocks => ui}/imgs/props-panel.png | Bin .../{ui-building-blocks => ui}/imgs/props.png | Bin .../imgs/row-col-stack.png | Bin .../{ui-building-blocks => ui}/imgs/row-cross.png | Bin .../imgs/row-main-axis.png | Bin .../imgs/scaffold-elements.png | Bin .../imgs/snackbar-action-props.png | Bin .../imgs/snackbar-scr.png | Bin .../{ui-building-blocks => ui}/imgs/snackbar.png | Bin .../{ui-building-blocks => ui}/imgs/statemgm.png | Bin .../{ui-building-blocks => ui}/imgs/tree.png | Bin .../imgs/widget-properties.png | Bin .../{ui-building-blocks => ui}/imgs/widget-tree.png | Bin .../{ui-building-blocks => ui}/overview.md | 0 .../pages/_category_.json | 0 .../pages/page-elements.md | 0 .../pages/page-lifecycle.md | 0 .../pages/pages-configuration.md | 0 .../{ui-building-blocks => ui}/pages/pages.md | 0 .../widgets/_category_.json | 0 .../widgets/built-in-widgets/_category_.json | 0 .../widgets/built-in-widgets/button.md | 0 .../widgets/built-in-widgets/card.md | 2 +- .../widgets/built-in-widgets/container.md | 0 .../widgets/built-in-widgets/dividers.md | 0 .../widgets/built-in-widgets/icons.md | 0 .../widgets/built-in-widgets/image.md | 0 .../widgets/built-in-widgets/img.png | Bin .../widgets/built-in-widgets/img_1.png | Bin .../widgets/built-in-widgets/img_10.png | Bin .../widgets/built-in-widgets/img_11.png | Bin .../widgets/built-in-widgets/img_12.png | Bin .../widgets/built-in-widgets/img_2.png | Bin .../widgets/built-in-widgets/img_3.png | Bin .../widgets/built-in-widgets/img_4.png | Bin .../widgets/built-in-widgets/img_5.png | Bin .../widgets/built-in-widgets/img_6.png | Bin .../widgets/built-in-widgets/img_7.png | Bin .../widgets/built-in-widgets/img_8.png | Bin .../widgets/built-in-widgets/img_9.png | Bin .../built-in-widgets/imgs/button-disabled.png | Bin .../widgets/built-in-widgets/imgs/button.png | Bin .../built-in-widgets/imgs/container-props.png | Bin .../widgets/built-in-widgets/imgs/divider.png | Bin .../widgets/built-in-widgets/imgs/expanded.png | Bin .../widgets/built-in-widgets/imgs/flex.png | Bin .../widgets/built-in-widgets/imgs/flexible.png | Bin .../widgets/built-in-widgets/imgs/gradient-cont.png | Bin .../widgets/built-in-widgets/imgs/icon.png | Bin .../widgets/built-in-widgets/imgs/image-boxfit.png | Bin .../widgets/built-in-widgets/imgs/img.png | Bin .../widgets/built-in-widgets/imgs/img_1.png | Bin .../widgets/built-in-widgets/imgs/list-tile.png | Bin .../widgets/built-in-widgets/imgs/listview-axis.png | Bin .../built-in-widgets/imgs/listview-reverse.png | Bin .../widgets/built-in-widgets/imgs/richtext-eg.png | Bin .../widgets/built-in-widgets/imgs/spacer-widget.png | Bin .../widgets/built-in-widgets/imgs/spacer.png | Bin .../widgets/built-in-widgets/imgs/stack-align.png | Bin .../widgets/built-in-widgets/imgs/text-example.png | Bin .../widgets/built-in-widgets/imgs/text-props.png | Bin .../widgets/built-in-widgets/imgs/toggle.png | Bin .../widgets/built-in-widgets/imgs/v-divider.png | Bin .../widgets/built-in-widgets/list-grid.md | 0 .../widgets/built-in-widgets/mouse-region.md | 2 +- .../widgets/built-in-widgets/spacer.md | 0 .../widgets/built-in-widgets/text.md | 0 .../widgets/built-in-widgets/tooltip.md | 0 .../widgets/built-in-widgets/transform.md | 0 .../widgets/composing-widgets.md | 0 .../widgets/generate-dynamic-children.md | 0 .../{ui-building-blocks => ui}/widgets/img.png | Bin .../{ui-building-blocks => ui}/widgets/img_1.png | Bin .../{ui-building-blocks => ui}/widgets/img_2.png | Bin .../{ui-building-blocks => ui}/widgets/img_3.png | Bin .../{ui-building-blocks => ui}/widgets/img_4.png | Bin .../widgets/widget-commonalities.md | 0 .../widgets/widget-configurations.md | 0 146 files changed, 56 insertions(+), 52 deletions(-) rename docs/resources/{ui-building-blocks => ui}/_category_.json (100%) rename docs/resources/{ui-building-blocks => ui}/components/_category_.json (100%) rename docs/resources/{ui-building-blocks => ui}/components/built-in-components/_category_.json (100%) rename docs/resources/{ui-building-blocks => ui}/components/built-in-components/badge.md (100%) rename docs/resources/{ui-building-blocks => ui}/components/built-in-components/barcode.md (96%) rename docs/resources/{ui-building-blocks => ui}/components/built-in-components/draggable.md (91%) rename docs/resources/{ui-building-blocks => ui}/components/built-in-components/expandable.md (100%) rename docs/resources/{ui-building-blocks => ui}/components/built-in-components/getting-started.md (100%) rename docs/resources/{ui-building-blocks => ui}/components/built-in-components/img.png (100%) rename docs/resources/{ui-building-blocks => ui}/components/built-in-components/img_1.png (100%) rename docs/resources/{ui-building-blocks => ui}/components/built-in-components/img_2.png (100%) rename docs/resources/{ui-building-blocks => ui}/components/built-in-components/img_3.png (100%) rename docs/resources/{ui-building-blocks => ui}/components/built-in-components/imgs/img.png (100%) rename docs/resources/{ui-building-blocks => ui}/components/built-in-components/imgs/img_1.png (100%) rename docs/resources/{ui-building-blocks => ui}/components/built-in-components/imgs/img_2.png (100%) rename docs/resources/{ui-building-blocks => ui}/components/built-in-components/imgs/img_3.png (100%) rename docs/resources/{ui-building-blocks => ui}/components/built-in-components/imgs/img_4.png (100%) rename docs/resources/{ui-building-blocks => ui}/components/built-in-components/markdown.md (100%) rename docs/resources/{ui-building-blocks => ui}/components/built-in-components/pincode.md (100%) rename docs/resources/{ui-building-blocks => ui}/components/built-in-components/ratingbar.md (98%) rename docs/resources/{ui-building-blocks => ui}/components/built-in-components/slider.md (98%) rename docs/resources/{ui-building-blocks => ui}/components/built-in-components/sticky-header.md (100%) rename docs/resources/{ui-building-blocks/components/user-defined-components => ui/components/custom-components}/_category_.json (100%) rename docs/resources/{ui-building-blocks/components/user-defined-components => ui/components/custom-components}/component-lifecycle.md (100%) rename docs/resources/{ui-building-blocks/components/user-defined-components => ui/components/custom-components}/getting-started.md (100%) rename docs/resources/{ui-building-blocks/components/user-defined-components => ui/components/custom-components}/using-components.md (100%) rename docs/resources/{ui-building-blocks => ui}/components/overview.md (97%) rename docs/resources/{ui-building-blocks => ui}/imgs/Class-Instance.png (100%) rename docs/resources/{ui-building-blocks => ui}/imgs/Page-State.png (100%) rename docs/resources/{ui-building-blocks => ui}/imgs/action-props.png (100%) rename docs/resources/{ui-building-blocks => ui}/imgs/actions-triggers.png (100%) rename docs/resources/{ui-building-blocks => ui}/imgs/actions.png (100%) rename docs/resources/{ui-building-blocks => ui}/imgs/advanced-configs-widgets.png (100%) rename docs/resources/{ui-building-blocks => ui}/imgs/advanced-configs.png (100%) rename docs/resources/{ui-building-blocks => ui}/imgs/backend-query.png (100%) rename docs/resources/{ui-building-blocks => ui}/imgs/body-page.png (100%) rename docs/resources/{ui-building-blocks => ui}/imgs/column-cross.png (100%) rename docs/resources/{ui-building-blocks => ui}/imgs/column-main-axis.png (100%) rename docs/resources/{ui-building-blocks => ui}/imgs/component-actions.png (100%) rename docs/resources/{ui-building-blocks => ui}/imgs/components-configurations.png (100%) rename docs/resources/{ui-building-blocks => ui}/imgs/everything-widget.png (100%) rename docs/resources/{ui-building-blocks => ui}/imgs/fab-comparison.png (100%) rename docs/resources/{ui-building-blocks => ui}/imgs/img.png (100%) rename docs/resources/{ui-building-blocks => ui}/imgs/nav-bar-default.png (100%) rename docs/resources/{ui-building-blocks => ui}/imgs/nav-bar-floating.png (100%) rename docs/resources/{ui-building-blocks => ui}/imgs/nav-bar-google.png (100%) rename docs/resources/{ui-building-blocks => ui}/imgs/nav-bar.png (100%) rename docs/resources/{ui-building-blocks => ui}/imgs/props-panel.png (100%) rename docs/resources/{ui-building-blocks => ui}/imgs/props.png (100%) rename docs/resources/{ui-building-blocks => ui}/imgs/row-col-stack.png (100%) rename docs/resources/{ui-building-blocks => ui}/imgs/row-cross.png (100%) rename docs/resources/{ui-building-blocks => ui}/imgs/row-main-axis.png (100%) rename docs/resources/{ui-building-blocks => ui}/imgs/scaffold-elements.png (100%) rename docs/resources/{ui-building-blocks => ui}/imgs/snackbar-action-props.png (100%) rename docs/resources/{ui-building-blocks => ui}/imgs/snackbar-scr.png (100%) rename docs/resources/{ui-building-blocks => ui}/imgs/snackbar.png (100%) rename docs/resources/{ui-building-blocks => ui}/imgs/statemgm.png (100%) rename docs/resources/{ui-building-blocks => ui}/imgs/tree.png (100%) rename docs/resources/{ui-building-blocks => ui}/imgs/widget-properties.png (100%) rename docs/resources/{ui-building-blocks => ui}/imgs/widget-tree.png (100%) rename docs/resources/{ui-building-blocks => ui}/overview.md (100%) rename docs/resources/{ui-building-blocks => ui}/pages/_category_.json (100%) rename docs/resources/{ui-building-blocks => ui}/pages/page-elements.md (100%) rename docs/resources/{ui-building-blocks => ui}/pages/page-lifecycle.md (100%) rename docs/resources/{ui-building-blocks => ui}/pages/pages-configuration.md (100%) rename docs/resources/{ui-building-blocks => ui}/pages/pages.md (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/_category_.json (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/_category_.json (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/button.md (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/card.md (93%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/container.md (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/dividers.md (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/icons.md (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/image.md (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/img.png (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/img_1.png (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/img_10.png (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/img_11.png (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/img_12.png (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/img_2.png (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/img_3.png (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/img_4.png (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/img_5.png (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/img_6.png (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/img_7.png (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/img_8.png (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/img_9.png (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/imgs/button-disabled.png (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/imgs/button.png (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/imgs/container-props.png (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/imgs/divider.png (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/imgs/expanded.png (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/imgs/flex.png (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/imgs/flexible.png (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/imgs/gradient-cont.png (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/imgs/icon.png (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/imgs/image-boxfit.png (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/imgs/img.png (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/imgs/img_1.png (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/imgs/list-tile.png (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/imgs/listview-axis.png (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/imgs/listview-reverse.png (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/imgs/richtext-eg.png (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/imgs/spacer-widget.png (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/imgs/spacer.png (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/imgs/stack-align.png (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/imgs/text-example.png (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/imgs/text-props.png (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/imgs/toggle.png (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/imgs/v-divider.png (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/list-grid.md (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/mouse-region.md (98%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/spacer.md (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/text.md (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/tooltip.md (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/built-in-widgets/transform.md (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/composing-widgets.md (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/generate-dynamic-children.md (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/img.png (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/img_1.png (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/img_2.png (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/img_3.png (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/img_4.png (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/widget-commonalities.md (100%) rename docs/resources/{ui-building-blocks => ui}/widgets/widget-configurations.md (100%) diff --git a/docs/ff-concepts/adding-customization/cloud-functions.md b/docs/ff-concepts/adding-customization/cloud-functions.md index e8b909dc..f7c923f1 100644 --- a/docs/ff-concepts/adding-customization/cloud-functions.md +++ b/docs/ff-concepts/adding-customization/cloud-functions.md @@ -48,7 +48,7 @@ Here are the step-by-step instructions to build such an example: ### 1. Add page state variables For this example, you'll need to set up two -[Page State variables](../../resources/ui-building-blocks/pages/page-lifecycle.md#creating-a-page-state): +[Page State variables](../../resources/ui/pages/page-lifecycle.md#creating-a-page-state): 1. **generatingImage (*****Type: Boolean*****)**: This is used to control the visibility of a loading indicator during the logo creation process. Its value is set to *True* before initiating the API call and switched to *False* once the logo generation is complete. diff --git a/docs/ff-concepts/animations/page_transitions.md b/docs/ff-concepts/animations/page_transitions.md index b4e10b15..c3376cda 100644 --- a/docs/ff-concepts/animations/page_transitions.md +++ b/docs/ff-concepts/animations/page_transitions.md @@ -27,7 +27,7 @@ Here, the transitions are recorded with the duration set to 1000ms to make the a ## Animate single navigate transition -To set a transition animation for a single navigate action, first, ensure that you have added a [**Navigate To**](../../resources/ui-building-blocks/pages/navigation#navigate-to-action) action and then select an animation from the **Transition Type** dropdown. By default, the animations use 300 milliseconds as the duration for which it plays but you can change it by specifying a value inside the **Duration** (ms) field. +To set a transition animation for a single navigate action, first, ensure that you have added a [**Navigate To**](../../resources/ui/pages/navigation#navigate-to-action) action and then select an animation from the **Transition Type** dropdown. By default, the animations use 300 milliseconds as the duration for which it plays but you can change it by specifying a value inside the **Duration** (ms) field. ![single-navigate-transition-animation.avif](animation_gifs/single-navigate-transition-animation.avif) diff --git a/docs/ff-concepts/layout/building-layout.md b/docs/ff-concepts/layout/building-layout.md index 0d8dba45..6b9289c5 100644 --- a/docs/ff-concepts/layout/building-layout.md +++ b/docs/ff-concepts/layout/building-layout.md @@ -9,7 +9,7 @@ keywords: [FlutterFlow, Building Layout, Concepts] # Building Layout -In FlutterFlow, you build a page layout using Widgets. **Widgets**, such as [Text](../../resources/ui-building-blocks/widgets/built-in-widgets/text.md), [Buttons](#), [Images](#), and [Icons](#), are visible on the screen. Others, like [Containers](#), [Rows](#), [Columns](#), and [Stacks](#), are not directly visible but help arrange and position the visible elements on the page. +In FlutterFlow, you build a page layout using Widgets. **Widgets**, such as [Text](../../resources/ui/widgets/built-in-widgets/text.md), [Buttons](#), [Images](#), and [Icons](#), are visible on the screen. Others, like [Containers](#), [Rows](#), [Columns](#), and [Stacks](#), are not directly visible but help arrange and position the visible elements on the page. These widgets are categorized into four main types: [Layout Elements](#), [Base Elements](#), [Page Elements](#), and [Form Elements](#). To build a page, you combine different widgets from these categories to get the desired look and feel of your app. diff --git a/docs/ff-concepts/layout/responsive-widgets/conditional-builder-widget.md b/docs/ff-concepts/layout/responsive-widgets/conditional-builder-widget.md index 11e28510..5b4910c3 100644 --- a/docs/ff-concepts/layout/responsive-widgets/conditional-builder-widget.md +++ b/docs/ff-concepts/layout/responsive-widgets/conditional-builder-widget.md @@ -8,7 +8,7 @@ keywords: [FlutterFlow, ConditionalBuilder, Concepts] --- # ConditionalBuilder -The `ConditionalBuilder` widget allows you to dynamically display different widgets based on certain conditions (either [single](/advanced-functionality/conditional-logic#single-condition) or [multiple](/advanced-functionality/conditional-logic#multiple-conditions-and-or)). Using this widget, you can define different conditions, each associated with a specific widget to be displayed when that condition is true. It's like having a switch that shows different things depending on what's happening in your app. +The `ConditionalBuilder` widget allows you to dynamically display different widgets based on certain conditions (either [single](../../../resources/control-flow/functions/conditional-logic.md#single-condition) or [multiple](../../../resources/control-flow/functions/conditional-logic.md#multiple-conditions-andor)). Using this widget, you can define different conditions, each associated with a specific widget to be displayed when that condition is true. It's like having a switch that shows different things depending on what's happening in your app. For example, displaying different charts based on user roles. For team members, an individual progress chart can be shown. Team leads can view the overall progress of the entire team, while project managers can see over project progress chart. Just like the below: @@ -20,11 +20,11 @@ To add the `ConditionalBuilder` widget to your app: 1. Add the **ConditionalBuilder** widget (from the **Base Elements**) to where you want to display dynamic widgets. -2. Move to the **Properties Panel** **>** **Conditional Builder Properties,** andUnder the **First Condition**, provide the **IF** [condition](/advanced-functionality/conditional-logic) by clicking on **UNSET**. +2. Move to the **Properties Panel** **>** **Conditional Builder Properties,** andUnder the **First Condition**, provide the **IF** [condition](../../../resources/control-flow/functions/conditional-logic.md) by clicking on **UNSET**. 3. Now, besides the **THEN**, click **Empty**. This will automatically select the **IF** widget in the widget tree. Inside that, add a widget that you want to display if this condition is true. 4. To add one more condition-based widget, click on the "+" button, add a condition for the **ELSE IF** section, and add a widget inside the **Else If** widget in the widget tree. 5. If none of the conditions are satisfied, add a default widget to display inside the **Else** widget. -6. Use the **Show In UI Builder** option to see that particular widget in the [canvas area](/getting-started/ui-builder/canvas-area). You can see only one widget at a time. +6. Use the **Show In UI Builder** option to see that particular widget in the [canvas area](../../../intro/ff-ui/canvas.md). You can see only one widget at a time.
diff --git a/docs/ff-concepts/state-management/generated-code.md b/docs/ff-concepts/state-management/generated-code.md index fbe3e126..8679280e 100644 --- a/docs/ff-concepts/state-management/generated-code.md +++ b/docs/ff-concepts/state-management/generated-code.md @@ -24,13 +24,13 @@ Additionally, they provide space for action blocks, which are a set of actions t ## Page State -Variables used exclusively within a page—such as a text field validator or the value of a checkbox—are stored in the Model of each page. These variables can be accessed by other component children on the same page. For instance, on a page with a form, tapping a button in one component may need to access the value of a text field in a different component. +[Variables](../../resources/ui/pages/page-lifecycle.md) used exclusively within a page — such as a text field validator or the value of a checkbox — are stored in the `Model` of each page. These variables can be accessed by other component children on the same page. For instance, on a page with a form, tapping a button in one component may need to access the value of a text field in a different component. -Variables within a page are tracked through StatefulWidgets and are encapsulated into that page’s Model. +Variables within a page are tracked through `StatefulWidget` and are encapsulated into that page’s Model. ## Component State -Similar to page state, component variables are accessible within the component where they are defined. Each component has a corresponding Model and Widget class. Variables may be passed in from their parent as parameters. Additionally, you can access component state values from its parent Page widget. +Similar to page state, [**Component State variables**](../../resources/ui/components/custom-components/component-lifecycle.md) are accessible within the component where they are defined. Each component has a corresponding `Model` and `Widget` class. Variables may be passed in from their parent as parameters. Additionally, you can access component state values from its parent Page widget. This accessibility is possible because the Model of a component is instantiated within the parent Page model. It utilizes the Provider method `context.read()`, which returns any existing model in the tree before instantiating a new one. Thus, any updates to the state in the component model will reflect in the parent’s instance of that component model. diff --git a/docs/ff-concepts/state-management/state-management.md b/docs/ff-concepts/state-management/state-management.md index 9b2e4b3b..2b95508b 100644 --- a/docs/ff-concepts/state-management/state-management.md +++ b/docs/ff-concepts/state-management/state-management.md @@ -24,8 +24,8 @@ In FlutterFlow, there are a few types of state variables that you can create: ### Creating State Variables - To create an **App State variable**, refer to this **[guide](../../resources/data-representation/app-state.md#create-app-state-variable)**. -- To create a **Page State variable**, refer to this [**guide**](../../resources/ui-building-blocks/pages/page-lifecycle.md#creating-a-page-state). -- To create a **Component State variable**, refer to this [**guide**](../../resources/ui-building-blocks/components/user-defined-components/component-lifecycle.md#creating-a-component-state). +- To create a **Page State variable**, refer to this [**guide**](../../resources/ui/pages/page-lifecycle.md#creating-a-page-state). +- To create a **Component State variable**, refer to this [**guide**](../../resources/ui/components/custom-components/component-lifecycle.md#creating-a-component-state). Note: Users cannot create **widget state variables**. These are automatically exposed by FlutterFlow when a Form widget is used. @@ -33,8 +33,8 @@ Note: Users cannot create **widget state variables**. These are automatically ex ### Updating State Variables - To update an **App State variable**, refer to this **[guide](../../resources/data-representation/app-state.md#update-app-state-action)**. -- Refer to the [**Page Lifecycle**](../../resources/ui-building-blocks/pages/page-lifecycle.md) guide to learn about updating **[Page State variables](../../resources/ui-building-blocks/pages/page-lifecycle.md#update-page-state-action)**. -- Refer to the [**Component Lifecycle**](../../resources/ui-building-blocks/components/user-defined-components/component-lifecycle.md) guide to learn about updating **[Component State variables](../../resources/ui-building-blocks/components/user-defined-components/component-lifecycle.md#update-component-state-action)**. +- Refer to the [**Page Lifecycle**](../../resources/ui/pages/page-lifecycle.md) guide to learn about updating **[Page State variables](../../resources/ui/pages/page-lifecycle.md#update-page-state-action)**. +- Refer to the [**Component Lifecycle**](../../resources/ui/components/custom-components/component-lifecycle.md) guide to learn about updating **[Component State variables](../../resources/ui/components/custom-components/component-lifecycle.md#update-component-state-action)**.

diff --git a/docs/ff-integrations/database/cloud-firestore/firestore-actions.md b/docs/ff-integrations/database/cloud-firestore/firestore-actions.md index 7be57f67..d95ab731 100644 --- a/docs/ff-integrations/database/cloud-firestore/firestore-actions.md +++ b/docs/ff-integrations/database/cloud-firestore/firestore-actions.md @@ -274,7 +274,7 @@ To do so: ::: Here is an example showing the -[**Snackbar**](../../../resources/ui-building-blocks/pages/page-elements.md#show-snackbar-action) +[**Snackbar**](../../../resources/ui/pages/page-elements.md#show-snackbar-action) message when the data changes in a collection. diff --git a/docs/ff-integrations/streaming/mux/integrate-mux.md b/docs/ff-integrations/streaming/mux/integrate-mux.md index f1854fe5..6dcfe13e 100644 --- a/docs/ff-integrations/streaming/mux/integrate-mux.md +++ b/docs/ff-integrations/streaming/mux/integrate-mux.md @@ -440,7 +440,7 @@ To customize a button that allows you to start a stream: under the **Start Button Style** section. 3. To change the button's text, open the **Start Button Text** section and set the **Text**. You can - also [customize the text](../../../resources/ui-building-blocks/widgets/widget-commonalities.md#styling-text) if + also [customize the text](../../../resources/ui/widgets/widget-commonalities.md#styling-text) if needed. 4. To change the button's icon, open the **Start Button Icon** section and select the new icon. You @@ -504,7 +504,7 @@ screen). To customize the duration indicator: 1. Open the **Duration Text Style** section - and [change its text style](../../../resources/ui-building-blocks/widgets/widget-commonalities.md#styling-text). + and [change its text style](../../../resources/ui/widgets/widget-commonalities.md#styling-text). 2. To change the indicator appearance, open the **Duration Container** section and use the property such as **Background Color** and **Border Radius**. diff --git a/docs/intro/ff-ui/resource-hierarchy.md b/docs/intro/ff-ui/resource-hierarchy.md index 6b434271..7abed7fb 100644 --- a/docs/intro/ff-ui/resource-hierarchy.md +++ b/docs/intro/ff-ui/resource-hierarchy.md @@ -19,8 +19,8 @@ The diagram below illustrates how a FlutterFlow app is structured. ![FlutterFlow app part.avif](imgs/ff-app-part.avif) 1. **Project**: Represents the overall application you are building in FlutterFlow. It encompasses all the other elements listed below and serves as the container for your entire app development effort within FlutterFlow. Learn more about creating a project [here](../../resources/projects/how-to-create-find-organize-projects#how-to-create-a-project). -2. **Page**: Refers to individual screens within the FlutterFlow project. Each page represents a part of the user interface where users can interact with the app. Multiple pages collectively make up the complete user interface of your application. Learn more about pages in FlutterFlow [here](../../resources/ui-building-blocks/pages/pages#creating-a-page). -3. **Built-in-widgets**: These are pre-designed widgets provided by FlutterFlow that you can use to build your app’s user interface. Built-in widgets simplify the development process by offering common UI elements such as buttons, text fields, sliders, etc. Learn more about widgets [here](../../resources/ui-building-blocks/overview#widgets). +2. **Page**: Refers to individual screens within the FlutterFlow project. Each page represents a part of the user interface where users can interact with the app. Multiple pages collectively make up the complete user interface of your application. Learn more about pages in FlutterFlow [here](../../resources/ui/pages/pages#creating-a-page). +3. **Built-in-widgets**: These are pre-designed widgets provided by FlutterFlow that you can use to build your app’s user interface. Built-in widgets simplify the development process by offering common UI elements such as buttons, text fields, sliders, etc. Learn more about widgets [here](../../resources/ui/overview#widgets). 4. **Component**: A component in FlutterFlow is a reusable UI block that can be used across different pages within the project. Components are useful for maintaining consistency and reducing redundancy in the app design, as the same component (like a custom dialog box) can be inserted wherever needed. Learn more about creating a component [here](#). 5. **Design System**: This refers to a set of standards for design within your FlutterFlow project. A design system in FlutterFlow includes predefined styles that ensure visual consistency throughout the app. Learn more about design system [here](#). @@ -31,7 +31,7 @@ If you are coming from Flutter, it is beneficial for you to understand the Flutt ![Flutter to FlutterFlow app parts](imgs/flutter-to-flutterflow.avif) 1. **MyApp to Project**: In Flutter, `MyApp` typically represents the root of your application, where you set up routes and other global configurations. In FlutterFlow, the equivalent is the "Project," which encompasses the entire application you are building, including its configurations and settings. Learn more about creating a project [here](../../resources/projects/how-to-create-find-organize-projects#how-to-create-a-project). -2. **MyPage to Page**: `MyPage` in Flutter represents a specific screen in the app. Similarly, In FlutterFlow, each "Page" corresponds to a screen, where you build the layout and functionality specific to that page of the project. Learn more about pages in FlutterFlow [here](../../resources/ui-building-blocks/pages/pages#creating-a-page). -3. **Column, Button, Text to Built-in widgets**: In FlutterFlow, widgets are categorized under "Built-in widgets," which users can drag and drop onto their canvas to build the UI. Learn more about widgets [here](../../resources/ui-building-blocks/overview#widgets). +2. **MyPage to Page**: `MyPage` in Flutter represents a specific screen in the app. Similarly, In FlutterFlow, each "Page" corresponds to a screen, where you build the layout and functionality specific to that page of the project. Learn more about pages in FlutterFlow [here](../../resources/ui/pages/pages#creating-a-page). +3. **Column, Button, Text to Built-in widgets**: In FlutterFlow, widgets are categorized under "Built-in widgets," which users can drag and drop onto their canvas to build the UI. Learn more about widgets [here](../../resources/ui/overview#widgets). 4. **Custom widget to Component**: `CustomWidget` in Flutter indicates user-defined widgets that serve specific functions not covered by built-in widgets. FlutterFlow translates this into "Component" allowing you to create and use custom components within your projects. Learn more about creating a component [here](#). 5. **Theme/style constants to Design System**: In Flutter, theme and style constants are used to ensure consistent styling across an app. FlutterFlow uses a "Design System" to manage and apply uniform styles and themes throughout the application. Learn more about design system [here](#). \ No newline at end of file diff --git a/docs/intro/ff-ui/widget-palette.md b/docs/intro/ff-ui/widget-palette.md index 45c01b6f..65a917ca 100644 --- a/docs/intro/ff-ui/widget-palette.md +++ b/docs/intro/ff-ui/widget-palette.md @@ -19,7 +19,7 @@ From the Widgets tab, you can access all standard FlutterFlow widgets. They are ## 2. Components -Components are widgets with certain functionalities that can be reused throughout your app. They are constructed from either standard or custom widgets. Once you have created a [component](../../resources/ui-building-blocks/components/user-defined-components/getting-started.md) or [custom widget](../../ff-concepts/adding-customization/custom-widgets.md), you can access it from here. +Components are widgets with certain functionalities that can be reused throughout your app. They are constructed from either standard or custom widgets. Once you have created a [component](../../resources/ui/components/custom-components/getting-started.md) or [custom widget](../../ff-concepts/adding-customization/custom-widgets.md), you can access it from here. ## 3. Templates diff --git a/docs/intro/quickstart.md b/docs/intro/quickstart.md index a45ded90..38965f70 100644 --- a/docs/intro/quickstart.md +++ b/docs/intro/quickstart.md @@ -115,7 +115,7 @@ Once your UI is set up, it's time to make your app interactive by adding a state ### 4.1 Add state variable -We can achieve this behavior by adding state variables. A state variable stores data that can change over time. For this specific use case, let's add a [page state variable](../resources/ui-building-blocks/pages/page-lifecycle.md) that will hold the current quantity value. When a user interacts with the buttons, we update this variable, which in turn updates the UI. +We can achieve this behavior by adding state variables. A state variable stores data that can change over time. For this specific use case, let's add a [page state variable](../resources/ui/pages/page-lifecycle.md) that will hold the current quantity value. When a user interacts with the buttons, we update this variable, which in turn updates the UI. Here's how to add and use state variables: diff --git a/docs/resources/control-flow/backend-logic/api/streaming-api.md b/docs/resources/control-flow/backend-logic/api/streaming-api.md index 2f560ff6..e2ad99ed 100644 --- a/docs/resources/control-flow/backend-logic/api/streaming-api.md +++ b/docs/resources/control-flow/backend-logic/api/streaming-api.md @@ -99,7 +99,7 @@ The steps to build the app are as follows: The user interface includes a section for the average rating, and number of reviews, followed by a detailed summary of the reviews including pros, cons, and sentiment distribution visualization. Here are key widgets to build the page: -* [**Text Widget**](../../../../resources/ui-building-blocks/widgets/built-in-widgets/text.md): +* [**Text Widget**](../../../ui/widgets/built-in-widgets/text.md): Displays the AI-generated summary of the reviews and a list of the positive and negative points mentioned in the reviews. * [**Chart (Bar chart) Widget**](/widgets-and-components/widgets/base-elements/chart/bar-chart): Visual representation of the sentiment distribution (positive, neutral, negative) in a bar chart. diff --git a/docs/resources/control-flow/backend-logic/backend-query/algolia-search-query.md b/docs/resources/control-flow/backend-logic/backend-query/algolia-search-query.md index ebc0ab42..31edc01d 100644 --- a/docs/resources/control-flow/backend-logic/backend-query/algolia-search-query.md +++ b/docs/resources/control-flow/backend-logic/backend-query/algolia-search-query.md @@ -31,8 +31,7 @@ You will need a text to be used as the **search term** while using the Algolia s Follow the steps below to create this UI: -1. Drag a TextField widget from the [Widget Panel] -(/getting-started/ui-builder/navigation-menu/widget-and-component-panel) and drop it onto the canvas. (In the demo below, the TextField is placed inside the AppBar of the app). +1. Drag a TextField widget from the [Widget Panel](/getting-started/ui-builder/navigation-menu/widget-and-component-panel) and drop it onto the canvas. (In the demo below, the TextField is placed inside the AppBar of the app). 2. You can customize the TextField properties to match your app's design style. Add a search Icon to signify that it's a search field. 3. Check the **Update Page On Change** checkbox. This helps to update the page as the user types inside the TextField. This would be required to use the latest text field value as the search term. 4. Set an **Update Delay** (in milliseconds). This specifies the amount of time after the user stops typing to update the page. diff --git a/docs/resources/control-flow/backend-logic/backend-query/backend-query.md b/docs/resources/control-flow/backend-logic/backend-query/backend-query.md index 7b2f2dce..a932a308 100644 --- a/docs/resources/control-flow/backend-logic/backend-query/backend-query.md +++ b/docs/resources/control-flow/backend-logic/backend-query/backend-query.md @@ -75,9 +75,9 @@ To change the loading indicator: 1. Ensure you have added a backend query. 2. Open the **Backend Query** section (on the right side) and scroll down to the **Backend Query Loading Widget**. Open it by clicking on the arrow icon. -3. Set the **Loading Widget Type** to **Image**. You can also choose a [**Component**](../../../../resources/ui-building-blocks/components/user-defined-components/getting-started.md) if you have already designed a loading component. +3. Set the **Loading Widget Type** to **Image**. You can also choose a [**Component**](../../../ui/components/custom-components/getting-started.md) if you have already designed a loading component. 4. Enable the **View in UI Builder**. This allows you to see your custom loading indicator on canvas (before you actually run the app). -5. Choose the **Image Type**, [add the image](../../../../resources/ui-building-blocks/widgets/built-in-widgets/image.md#image-type), and adjust its **Padding** and **Width**. +5. Choose the **Image Type**, [add the image](../../../ui/widgets/built-in-widgets/image.md#image-type), and adjust its **Padding** and **Width**. 6. To show the indicator in the center, turn on the **Center Image** toggle. 7. Run the app, and your custom loading indicator will appear while the data is being loaded. diff --git a/docs/resources/control-flow/user-interactivity/forms/form-validation.md b/docs/resources/control-flow/user-interactivity/forms/form-validation.md index cdf48b2f..9176fd26 100644 --- a/docs/resources/control-flow/user-interactivity/forms/form-validation.md +++ b/docs/resources/control-flow/user-interactivity/forms/form-validation.md @@ -57,7 +57,7 @@ A form widget can only validate if there are any input fields. Here's an example 1. First, add the **Form** widget itself from the **Form Elements**. 2. Inside the form, add the **Column** widget from the **Layout Elements** tab. 3. Now, add two [**TextFields**](form-widgets/text-field.md) (one for email and one for password). -4. Add a [**Button**](../../../../resources/ui-building-blocks/widgets/built-in-widgets/button) widget and then add [Date/Time Picker](#) action to get the date of birth. +4. Add a [**Button**](../../../ui/widgets/built-in-widgets/button) widget and then add [Date/Time Picker](#) action to get the date of birth. 5. Add one more **Button** to validate and submit the form. Here's how it looks: diff --git a/docs/resources/control-flow/user-interactivity/forms/form-widgets/checkbox-group.md b/docs/resources/control-flow/user-interactivity/forms/form-widgets/checkbox-group.md index 1bc7cc5c..730142d2 100644 --- a/docs/resources/control-flow/user-interactivity/forms/form-widgets/checkbox-group.md +++ b/docs/resources/control-flow/user-interactivity/forms/form-widgets/checkbox-group.md @@ -265,5 +265,5 @@ To customize the checkbox border:

:::info[Trigger action on change] -See how to [**trigger an action when a selection changes**](../../../../../resources/ui-building-blocks/widgets/widget-commonalities#trigger-action-on-selection-change) on this widget. +See how to [**trigger an action when a selection changes**](../../../../ui/widgets/widget-commonalities#trigger-action-on-selection-change) on this widget. ::: \ No newline at end of file diff --git a/docs/resources/control-flow/user-interactivity/forms/form-widgets/dropdown.md b/docs/resources/control-flow/user-interactivity/forms/form-widgets/dropdown.md index f6dbc82a..cf846baf 100644 --- a/docs/resources/control-flow/user-interactivity/forms/form-widgets/dropdown.md +++ b/docs/resources/control-flow/user-interactivity/forms/form-widgets/dropdown.md @@ -45,7 +45,7 @@ Let's see how to add a *DropDown* widget and build an example that shows the sel 1. Add the **DropDown** widget, move to the **Properties Panel > Define Options >** click **Add Options** to add items. 2. To display the default value, move to the **Initial Configuration** section and enter the value. Ensure it matches one of the options added in the previous step. -3. The selected dropdown value can be accessed via *Widget State > DropDown*. To display it on the *Text* widget, add a [**Text**](../../../../../resources/ui-building-blocks/widgets/built-in-widgets/text) widget, move to the properties panel, click on **Set from Variable** and choose the **Widget State > DropDown** (i.e., name of your dropdown). +3. The selected dropdown value can be accessed via *Widget State > DropDown*. To display it on the *Text* widget, add a [**Text**](../../../../ui/widgets/built-in-widgets/text) widget, move to the properties panel, click on **Set from Variable** and choose the **Widget State > DropDown** (i.e., name of your dropdown).
Widget State > [TextFieldName]**. +2. Add the [**Button**](../../../../ui/widgets/built-in-widgets/button) widget and on tap of it, add an [Alert Dialog action](#). While adding this action, provide the Message **From Variable > Widget State > [TextFieldName]**.
Input Decoration Properties >** enable **Custom Error Style** and [change the text styling](../../../../../resources/ui-building-blocks/widgets/built-in-widgets/text.md#common-text-styling-properties). +You can also change the text styling for the error message. To do so, head over to **Properties Panel > Input Decoration Properties >** enable **Custom Error Style** and [change the text styling](../../../../ui/widgets/built-in-widgets/text.md#common-text-styling-properties). ![changing-error-message-styling](../../imgs/changing-error-message-styling.avif) @@ -317,7 +317,7 @@ You might want to add an icon inside the TextField, either at the start or end. To add a leading or trailing icon, move to the **Properties Panel >** find the **Leading** and **Trailing Icon** property > Click on the **None** button **>** search and select the icon. -You can also [customize the icon's size and color](../../../../../resources/ui-building-blocks/widgets/built-in-widgets/icons#common-icon-properties). +You can also [customize the icon's size and color](../../../../ui/widgets/built-in-widgets/icons#common-icon-properties). ![adding-icon](../../imgs/adding-icon.avif) @@ -832,7 +832,7 @@ Let's see an example of controlling the visibility of a Text widget based on the To do so: -1. On a Text widget, add a [Conditional Visibility](../../../../../resources/ui-building-blocks/widgets/widget-commonalities#conditional) based on the TextField's Focus state. You can access via **Set from Variable** menu **> Widget Focus State > [TextField name]**. +1. On a Text widget, add a [Conditional Visibility](../../../../ui/widgets/widget-commonalities#conditional) based on the TextField's Focus state. You can access via **Set from Variable** menu **> Widget Focus State > [TextField name]**. 2. Now, on a TextField widget, under the [On Focus Change](#trigger-action--listen-callback) callback, simply add an action to refresh the page by adding the update app state variable.
@@ -101,8 +101,8 @@ and click **Open**. This will open an **Action Flow Editor** in a new popup wind 1. Select the **On Drag Accept** and select **+ Add Conditional Action**. 5. From the **set variable** menu, select **Drag Target > Dragged Data**. This captures the data of the draggable item that we added in [step 2](/widgets-and-components/widgets/base-elements/draggable-+-dragtarget#id-2.-add-draggable-widgets). 8. Check if the captured data matches the expected item, i.e., plant. - 11. In the **TRUE** branch, you can add a [snackbar message](../../../ui-building-blocks/pages/page-elements.md#snackbar) and [update](../../../ui-building-blocks/pages/page-lifecycle.md#page-state) the `isShelfFull` variable to True. This will create an effect like the user has actually dragged and dropped the item onto the shelf. -3. Now, select the **On Drag Exit** andadd an action to [update](../../../ui-building-blocks/pages/page-lifecycle.md#page-state) the `isShelfFull` variable to False. This ensures that if the user decides not to drop the item and moves it away, the shelf image reverts to the empty one. + 11. In the **TRUE** branch, you can add a [snackbar message](../../pages/page-elements.md#snackbar) and [update](../../pages/page-lifecycle.md#page-state) the `isShelfFull` variable to True. This will create an effect like the user has actually dragged and dropped the item onto the shelf. +3. Now, select the **On Drag Exit** andadd an action to [update](../../pages/page-lifecycle.md#page-state) the `isShelfFull` variable to False. This ensures that if the user decides not to drop the item and moves it away, the shelf image reverts to the empty one.
On Drag Accept diff --git a/docs/resources/ui-building-blocks/components/built-in-components/expandable.md b/docs/resources/ui/components/built-in-components/expandable.md similarity index 100% rename from docs/resources/ui-building-blocks/components/built-in-components/expandable.md rename to docs/resources/ui/components/built-in-components/expandable.md diff --git a/docs/resources/ui-building-blocks/components/built-in-components/getting-started.md b/docs/resources/ui/components/built-in-components/getting-started.md similarity index 100% rename from docs/resources/ui-building-blocks/components/built-in-components/getting-started.md rename to docs/resources/ui/components/built-in-components/getting-started.md diff --git a/docs/resources/ui-building-blocks/components/built-in-components/img.png b/docs/resources/ui/components/built-in-components/img.png similarity index 100% rename from docs/resources/ui-building-blocks/components/built-in-components/img.png rename to docs/resources/ui/components/built-in-components/img.png diff --git a/docs/resources/ui-building-blocks/components/built-in-components/img_1.png b/docs/resources/ui/components/built-in-components/img_1.png similarity index 100% rename from docs/resources/ui-building-blocks/components/built-in-components/img_1.png rename to docs/resources/ui/components/built-in-components/img_1.png diff --git a/docs/resources/ui-building-blocks/components/built-in-components/img_2.png b/docs/resources/ui/components/built-in-components/img_2.png similarity index 100% rename from docs/resources/ui-building-blocks/components/built-in-components/img_2.png rename to docs/resources/ui/components/built-in-components/img_2.png diff --git a/docs/resources/ui-building-blocks/components/built-in-components/img_3.png b/docs/resources/ui/components/built-in-components/img_3.png similarity index 100% rename from docs/resources/ui-building-blocks/components/built-in-components/img_3.png rename to docs/resources/ui/components/built-in-components/img_3.png diff --git a/docs/resources/ui-building-blocks/components/built-in-components/imgs/img.png b/docs/resources/ui/components/built-in-components/imgs/img.png similarity index 100% rename from docs/resources/ui-building-blocks/components/built-in-components/imgs/img.png rename to docs/resources/ui/components/built-in-components/imgs/img.png diff --git a/docs/resources/ui-building-blocks/components/built-in-components/imgs/img_1.png b/docs/resources/ui/components/built-in-components/imgs/img_1.png similarity index 100% rename from docs/resources/ui-building-blocks/components/built-in-components/imgs/img_1.png rename to docs/resources/ui/components/built-in-components/imgs/img_1.png diff --git a/docs/resources/ui-building-blocks/components/built-in-components/imgs/img_2.png b/docs/resources/ui/components/built-in-components/imgs/img_2.png similarity index 100% rename from docs/resources/ui-building-blocks/components/built-in-components/imgs/img_2.png rename to docs/resources/ui/components/built-in-components/imgs/img_2.png diff --git a/docs/resources/ui-building-blocks/components/built-in-components/imgs/img_3.png b/docs/resources/ui/components/built-in-components/imgs/img_3.png similarity index 100% rename from docs/resources/ui-building-blocks/components/built-in-components/imgs/img_3.png rename to docs/resources/ui/components/built-in-components/imgs/img_3.png diff --git a/docs/resources/ui-building-blocks/components/built-in-components/imgs/img_4.png b/docs/resources/ui/components/built-in-components/imgs/img_4.png similarity index 100% rename from docs/resources/ui-building-blocks/components/built-in-components/imgs/img_4.png rename to docs/resources/ui/components/built-in-components/imgs/img_4.png diff --git a/docs/resources/ui-building-blocks/components/built-in-components/markdown.md b/docs/resources/ui/components/built-in-components/markdown.md similarity index 100% rename from docs/resources/ui-building-blocks/components/built-in-components/markdown.md rename to docs/resources/ui/components/built-in-components/markdown.md diff --git a/docs/resources/ui-building-blocks/components/built-in-components/pincode.md b/docs/resources/ui/components/built-in-components/pincode.md similarity index 100% rename from docs/resources/ui-building-blocks/components/built-in-components/pincode.md rename to docs/resources/ui/components/built-in-components/pincode.md diff --git a/docs/resources/ui-building-blocks/components/built-in-components/ratingbar.md b/docs/resources/ui/components/built-in-components/ratingbar.md similarity index 98% rename from docs/resources/ui-building-blocks/components/built-in-components/ratingbar.md rename to docs/resources/ui/components/built-in-components/ratingbar.md index 50354de0..2c4160c5 100644 --- a/docs/resources/ui-building-blocks/components/built-in-components/ratingbar.md +++ b/docs/resources/ui/components/built-in-components/ratingbar.md @@ -267,5 +267,5 @@ To change the Axis:

:::info[Trigger action on change] -See how to [**trigger an action when a selection changes**](../../../../../resources/ui-building-blocks/widgets/widget-commonalities#trigger-action-on-selection-change) on this widget. +See how to [**trigger an action when a selection changes**](../../widgets/widget-commonalities#trigger-action-on-selection-change) on this widget. ::: \ No newline at end of file diff --git a/docs/resources/ui-building-blocks/components/built-in-components/slider.md b/docs/resources/ui/components/built-in-components/slider.md similarity index 98% rename from docs/resources/ui-building-blocks/components/built-in-components/slider.md rename to docs/resources/ui/components/built-in-components/slider.md index 25fd9947..b1aaafb4 100644 --- a/docs/resources/ui-building-blocks/components/built-in-components/slider.md +++ b/docs/resources/ui/components/built-in-components/slider.md @@ -300,5 +300,5 @@ To show the slider value: :::info[Trigger action on change] -See how to [**trigger an action when a selection changes**](../../../../resources/ui-building-blocks/widgets/widget-commonalities#trigger-action-on-selection-change) on this widget. +See how to [**trigger an action when a selection changes**](../../widgets/widget-commonalities#trigger-action-on-selection-change) on this widget. ::: \ No newline at end of file diff --git a/docs/resources/ui-building-blocks/components/built-in-components/sticky-header.md b/docs/resources/ui/components/built-in-components/sticky-header.md similarity index 100% rename from docs/resources/ui-building-blocks/components/built-in-components/sticky-header.md rename to docs/resources/ui/components/built-in-components/sticky-header.md diff --git a/docs/resources/ui-building-blocks/components/user-defined-components/_category_.json b/docs/resources/ui/components/custom-components/_category_.json similarity index 100% rename from docs/resources/ui-building-blocks/components/user-defined-components/_category_.json rename to docs/resources/ui/components/custom-components/_category_.json diff --git a/docs/resources/ui-building-blocks/components/user-defined-components/component-lifecycle.md b/docs/resources/ui/components/custom-components/component-lifecycle.md similarity index 100% rename from docs/resources/ui-building-blocks/components/user-defined-components/component-lifecycle.md rename to docs/resources/ui/components/custom-components/component-lifecycle.md diff --git a/docs/resources/ui-building-blocks/components/user-defined-components/getting-started.md b/docs/resources/ui/components/custom-components/getting-started.md similarity index 100% rename from docs/resources/ui-building-blocks/components/user-defined-components/getting-started.md rename to docs/resources/ui/components/custom-components/getting-started.md diff --git a/docs/resources/ui-building-blocks/components/user-defined-components/using-components.md b/docs/resources/ui/components/custom-components/using-components.md similarity index 100% rename from docs/resources/ui-building-blocks/components/user-defined-components/using-components.md rename to docs/resources/ui/components/custom-components/using-components.md diff --git a/docs/resources/ui-building-blocks/components/overview.md b/docs/resources/ui/components/overview.md similarity index 97% rename from docs/resources/ui-building-blocks/components/overview.md rename to docs/resources/ui/components/overview.md index 6a3e71d4..978ed8a5 100644 --- a/docs/resources/ui-building-blocks/components/overview.md +++ b/docs/resources/ui/components/overview.md @@ -47,7 +47,7 @@ Leveraging components effectively helps you build a consistent, efficient, and m out-of-the-box solutions provided by FlutterFlow that can be directly integrated into any project to offer specific functionalities. -- **[User-Defined Components](user-defined-components/getting-started.md):** You can also build your own +- **[User-Defined Components](custom-components/getting-started.md):** You can also build your own components by assembling multiple widgets using FlutterFlow’s drag-and-drop interface. This method involves strategically diff --git a/docs/resources/ui-building-blocks/imgs/Class-Instance.png b/docs/resources/ui/imgs/Class-Instance.png similarity index 100% rename from docs/resources/ui-building-blocks/imgs/Class-Instance.png rename to docs/resources/ui/imgs/Class-Instance.png diff --git a/docs/resources/ui-building-blocks/imgs/Page-State.png b/docs/resources/ui/imgs/Page-State.png similarity index 100% rename from docs/resources/ui-building-blocks/imgs/Page-State.png rename to docs/resources/ui/imgs/Page-State.png diff --git a/docs/resources/ui-building-blocks/imgs/action-props.png b/docs/resources/ui/imgs/action-props.png similarity index 100% rename from docs/resources/ui-building-blocks/imgs/action-props.png rename to docs/resources/ui/imgs/action-props.png diff --git a/docs/resources/ui-building-blocks/imgs/actions-triggers.png b/docs/resources/ui/imgs/actions-triggers.png similarity index 100% rename from docs/resources/ui-building-blocks/imgs/actions-triggers.png rename to docs/resources/ui/imgs/actions-triggers.png diff --git a/docs/resources/ui-building-blocks/imgs/actions.png b/docs/resources/ui/imgs/actions.png similarity index 100% rename from docs/resources/ui-building-blocks/imgs/actions.png rename to docs/resources/ui/imgs/actions.png diff --git a/docs/resources/ui-building-blocks/imgs/advanced-configs-widgets.png b/docs/resources/ui/imgs/advanced-configs-widgets.png similarity index 100% rename from docs/resources/ui-building-blocks/imgs/advanced-configs-widgets.png rename to docs/resources/ui/imgs/advanced-configs-widgets.png diff --git a/docs/resources/ui-building-blocks/imgs/advanced-configs.png b/docs/resources/ui/imgs/advanced-configs.png similarity index 100% rename from docs/resources/ui-building-blocks/imgs/advanced-configs.png rename to docs/resources/ui/imgs/advanced-configs.png diff --git a/docs/resources/ui-building-blocks/imgs/backend-query.png b/docs/resources/ui/imgs/backend-query.png similarity index 100% rename from docs/resources/ui-building-blocks/imgs/backend-query.png rename to docs/resources/ui/imgs/backend-query.png diff --git a/docs/resources/ui-building-blocks/imgs/body-page.png b/docs/resources/ui/imgs/body-page.png similarity index 100% rename from docs/resources/ui-building-blocks/imgs/body-page.png rename to docs/resources/ui/imgs/body-page.png diff --git a/docs/resources/ui-building-blocks/imgs/column-cross.png b/docs/resources/ui/imgs/column-cross.png similarity index 100% rename from docs/resources/ui-building-blocks/imgs/column-cross.png rename to docs/resources/ui/imgs/column-cross.png diff --git a/docs/resources/ui-building-blocks/imgs/column-main-axis.png b/docs/resources/ui/imgs/column-main-axis.png similarity index 100% rename from docs/resources/ui-building-blocks/imgs/column-main-axis.png rename to docs/resources/ui/imgs/column-main-axis.png diff --git a/docs/resources/ui-building-blocks/imgs/component-actions.png b/docs/resources/ui/imgs/component-actions.png similarity index 100% rename from docs/resources/ui-building-blocks/imgs/component-actions.png rename to docs/resources/ui/imgs/component-actions.png diff --git a/docs/resources/ui-building-blocks/imgs/components-configurations.png b/docs/resources/ui/imgs/components-configurations.png similarity index 100% rename from docs/resources/ui-building-blocks/imgs/components-configurations.png rename to docs/resources/ui/imgs/components-configurations.png diff --git a/docs/resources/ui-building-blocks/imgs/everything-widget.png b/docs/resources/ui/imgs/everything-widget.png similarity index 100% rename from docs/resources/ui-building-blocks/imgs/everything-widget.png rename to docs/resources/ui/imgs/everything-widget.png diff --git a/docs/resources/ui-building-blocks/imgs/fab-comparison.png b/docs/resources/ui/imgs/fab-comparison.png similarity index 100% rename from docs/resources/ui-building-blocks/imgs/fab-comparison.png rename to docs/resources/ui/imgs/fab-comparison.png diff --git a/docs/resources/ui-building-blocks/imgs/img.png b/docs/resources/ui/imgs/img.png similarity index 100% rename from docs/resources/ui-building-blocks/imgs/img.png rename to docs/resources/ui/imgs/img.png diff --git a/docs/resources/ui-building-blocks/imgs/nav-bar-default.png b/docs/resources/ui/imgs/nav-bar-default.png similarity index 100% rename from docs/resources/ui-building-blocks/imgs/nav-bar-default.png rename to docs/resources/ui/imgs/nav-bar-default.png diff --git a/docs/resources/ui-building-blocks/imgs/nav-bar-floating.png b/docs/resources/ui/imgs/nav-bar-floating.png similarity index 100% rename from docs/resources/ui-building-blocks/imgs/nav-bar-floating.png rename to docs/resources/ui/imgs/nav-bar-floating.png diff --git a/docs/resources/ui-building-blocks/imgs/nav-bar-google.png b/docs/resources/ui/imgs/nav-bar-google.png similarity index 100% rename from docs/resources/ui-building-blocks/imgs/nav-bar-google.png rename to docs/resources/ui/imgs/nav-bar-google.png diff --git a/docs/resources/ui-building-blocks/imgs/nav-bar.png b/docs/resources/ui/imgs/nav-bar.png similarity index 100% rename from docs/resources/ui-building-blocks/imgs/nav-bar.png rename to docs/resources/ui/imgs/nav-bar.png diff --git a/docs/resources/ui-building-blocks/imgs/props-panel.png b/docs/resources/ui/imgs/props-panel.png similarity index 100% rename from docs/resources/ui-building-blocks/imgs/props-panel.png rename to docs/resources/ui/imgs/props-panel.png diff --git a/docs/resources/ui-building-blocks/imgs/props.png b/docs/resources/ui/imgs/props.png similarity index 100% rename from docs/resources/ui-building-blocks/imgs/props.png rename to docs/resources/ui/imgs/props.png diff --git a/docs/resources/ui-building-blocks/imgs/row-col-stack.png b/docs/resources/ui/imgs/row-col-stack.png similarity index 100% rename from docs/resources/ui-building-blocks/imgs/row-col-stack.png rename to docs/resources/ui/imgs/row-col-stack.png diff --git a/docs/resources/ui-building-blocks/imgs/row-cross.png b/docs/resources/ui/imgs/row-cross.png similarity index 100% rename from docs/resources/ui-building-blocks/imgs/row-cross.png rename to docs/resources/ui/imgs/row-cross.png diff --git a/docs/resources/ui-building-blocks/imgs/row-main-axis.png b/docs/resources/ui/imgs/row-main-axis.png similarity index 100% rename from docs/resources/ui-building-blocks/imgs/row-main-axis.png rename to docs/resources/ui/imgs/row-main-axis.png diff --git a/docs/resources/ui-building-blocks/imgs/scaffold-elements.png b/docs/resources/ui/imgs/scaffold-elements.png similarity index 100% rename from docs/resources/ui-building-blocks/imgs/scaffold-elements.png rename to docs/resources/ui/imgs/scaffold-elements.png diff --git a/docs/resources/ui-building-blocks/imgs/snackbar-action-props.png b/docs/resources/ui/imgs/snackbar-action-props.png similarity index 100% rename from docs/resources/ui-building-blocks/imgs/snackbar-action-props.png rename to docs/resources/ui/imgs/snackbar-action-props.png diff --git a/docs/resources/ui-building-blocks/imgs/snackbar-scr.png b/docs/resources/ui/imgs/snackbar-scr.png similarity index 100% rename from docs/resources/ui-building-blocks/imgs/snackbar-scr.png rename to docs/resources/ui/imgs/snackbar-scr.png diff --git a/docs/resources/ui-building-blocks/imgs/snackbar.png b/docs/resources/ui/imgs/snackbar.png similarity index 100% rename from docs/resources/ui-building-blocks/imgs/snackbar.png rename to docs/resources/ui/imgs/snackbar.png diff --git a/docs/resources/ui-building-blocks/imgs/statemgm.png b/docs/resources/ui/imgs/statemgm.png similarity index 100% rename from docs/resources/ui-building-blocks/imgs/statemgm.png rename to docs/resources/ui/imgs/statemgm.png diff --git a/docs/resources/ui-building-blocks/imgs/tree.png b/docs/resources/ui/imgs/tree.png similarity index 100% rename from docs/resources/ui-building-blocks/imgs/tree.png rename to docs/resources/ui/imgs/tree.png diff --git a/docs/resources/ui-building-blocks/imgs/widget-properties.png b/docs/resources/ui/imgs/widget-properties.png similarity index 100% rename from docs/resources/ui-building-blocks/imgs/widget-properties.png rename to docs/resources/ui/imgs/widget-properties.png diff --git a/docs/resources/ui-building-blocks/imgs/widget-tree.png b/docs/resources/ui/imgs/widget-tree.png similarity index 100% rename from docs/resources/ui-building-blocks/imgs/widget-tree.png rename to docs/resources/ui/imgs/widget-tree.png diff --git a/docs/resources/ui-building-blocks/overview.md b/docs/resources/ui/overview.md similarity index 100% rename from docs/resources/ui-building-blocks/overview.md rename to docs/resources/ui/overview.md diff --git a/docs/resources/ui-building-blocks/pages/_category_.json b/docs/resources/ui/pages/_category_.json similarity index 100% rename from docs/resources/ui-building-blocks/pages/_category_.json rename to docs/resources/ui/pages/_category_.json diff --git a/docs/resources/ui-building-blocks/pages/page-elements.md b/docs/resources/ui/pages/page-elements.md similarity index 100% rename from docs/resources/ui-building-blocks/pages/page-elements.md rename to docs/resources/ui/pages/page-elements.md diff --git a/docs/resources/ui-building-blocks/pages/page-lifecycle.md b/docs/resources/ui/pages/page-lifecycle.md similarity index 100% rename from docs/resources/ui-building-blocks/pages/page-lifecycle.md rename to docs/resources/ui/pages/page-lifecycle.md diff --git a/docs/resources/ui-building-blocks/pages/pages-configuration.md b/docs/resources/ui/pages/pages-configuration.md similarity index 100% rename from docs/resources/ui-building-blocks/pages/pages-configuration.md rename to docs/resources/ui/pages/pages-configuration.md diff --git a/docs/resources/ui-building-blocks/pages/pages.md b/docs/resources/ui/pages/pages.md similarity index 100% rename from docs/resources/ui-building-blocks/pages/pages.md rename to docs/resources/ui/pages/pages.md diff --git a/docs/resources/ui-building-blocks/widgets/_category_.json b/docs/resources/ui/widgets/_category_.json similarity index 100% rename from docs/resources/ui-building-blocks/widgets/_category_.json rename to docs/resources/ui/widgets/_category_.json diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/_category_.json b/docs/resources/ui/widgets/built-in-widgets/_category_.json similarity index 100% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/_category_.json rename to docs/resources/ui/widgets/built-in-widgets/_category_.json diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/button.md b/docs/resources/ui/widgets/built-in-widgets/button.md similarity index 100% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/button.md rename to docs/resources/ui/widgets/built-in-widgets/button.md diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/card.md b/docs/resources/ui/widgets/built-in-widgets/card.md similarity index 93% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/card.md rename to docs/resources/ui/widgets/built-in-widgets/card.md index ad9b7e84..2068a981 100644 --- a/docs/resources/ui-building-blocks/widgets/built-in-widgets/card.md +++ b/docs/resources/ui/widgets/built-in-widgets/card.md @@ -33,7 +33,7 @@ Styling helps you customize a widget that matches your design. The Card widget a Here's how you stylize the Card widget: 1. Select the **Card** widget and move to the **Properties Panel > Card Properties**. -2. To change the background color, [modify the Color](../../../../resources/ui-building-blocks/widgets/widget-commonalities.md#change-color) property. +2. To change the background color, [modify the Color](../../widgets/widget-commonalities.md#change-color) property. 3. To change the elevation (depth or Z-axis), enter the value in the **Elevation** property. 4. To create the rounded border, use the **Border Radius** property. For uniform curvature on all sides, use the **Uniform Radius** option by sliding the adjustment bar or inputting your preferred value directly. diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/container.md b/docs/resources/ui/widgets/built-in-widgets/container.md similarity index 100% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/container.md rename to docs/resources/ui/widgets/built-in-widgets/container.md diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/dividers.md b/docs/resources/ui/widgets/built-in-widgets/dividers.md similarity index 100% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/dividers.md rename to docs/resources/ui/widgets/built-in-widgets/dividers.md diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/icons.md b/docs/resources/ui/widgets/built-in-widgets/icons.md similarity index 100% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/icons.md rename to docs/resources/ui/widgets/built-in-widgets/icons.md diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/image.md b/docs/resources/ui/widgets/built-in-widgets/image.md similarity index 100% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/image.md rename to docs/resources/ui/widgets/built-in-widgets/image.md diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/img.png b/docs/resources/ui/widgets/built-in-widgets/img.png similarity index 100% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/img.png rename to docs/resources/ui/widgets/built-in-widgets/img.png diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/img_1.png b/docs/resources/ui/widgets/built-in-widgets/img_1.png similarity index 100% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/img_1.png rename to docs/resources/ui/widgets/built-in-widgets/img_1.png diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/img_10.png b/docs/resources/ui/widgets/built-in-widgets/img_10.png similarity index 100% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/img_10.png rename to docs/resources/ui/widgets/built-in-widgets/img_10.png diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/img_11.png b/docs/resources/ui/widgets/built-in-widgets/img_11.png similarity index 100% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/img_11.png rename to docs/resources/ui/widgets/built-in-widgets/img_11.png diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/img_12.png b/docs/resources/ui/widgets/built-in-widgets/img_12.png similarity index 100% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/img_12.png rename to docs/resources/ui/widgets/built-in-widgets/img_12.png diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/img_2.png b/docs/resources/ui/widgets/built-in-widgets/img_2.png similarity index 100% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/img_2.png rename to docs/resources/ui/widgets/built-in-widgets/img_2.png diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/img_3.png b/docs/resources/ui/widgets/built-in-widgets/img_3.png similarity index 100% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/img_3.png rename to docs/resources/ui/widgets/built-in-widgets/img_3.png diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/img_4.png b/docs/resources/ui/widgets/built-in-widgets/img_4.png similarity index 100% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/img_4.png rename to docs/resources/ui/widgets/built-in-widgets/img_4.png diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/img_5.png b/docs/resources/ui/widgets/built-in-widgets/img_5.png similarity index 100% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/img_5.png rename to docs/resources/ui/widgets/built-in-widgets/img_5.png diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/img_6.png b/docs/resources/ui/widgets/built-in-widgets/img_6.png similarity index 100% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/img_6.png rename to docs/resources/ui/widgets/built-in-widgets/img_6.png diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/img_7.png b/docs/resources/ui/widgets/built-in-widgets/img_7.png similarity index 100% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/img_7.png rename to docs/resources/ui/widgets/built-in-widgets/img_7.png diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/img_8.png b/docs/resources/ui/widgets/built-in-widgets/img_8.png similarity index 100% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/img_8.png rename to docs/resources/ui/widgets/built-in-widgets/img_8.png diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/img_9.png b/docs/resources/ui/widgets/built-in-widgets/img_9.png similarity index 100% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/img_9.png rename to docs/resources/ui/widgets/built-in-widgets/img_9.png diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/imgs/button-disabled.png b/docs/resources/ui/widgets/built-in-widgets/imgs/button-disabled.png similarity index 100% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/imgs/button-disabled.png rename to docs/resources/ui/widgets/built-in-widgets/imgs/button-disabled.png diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/imgs/button.png b/docs/resources/ui/widgets/built-in-widgets/imgs/button.png similarity index 100% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/imgs/button.png rename to docs/resources/ui/widgets/built-in-widgets/imgs/button.png diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/imgs/container-props.png b/docs/resources/ui/widgets/built-in-widgets/imgs/container-props.png similarity index 100% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/imgs/container-props.png rename to docs/resources/ui/widgets/built-in-widgets/imgs/container-props.png diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/imgs/divider.png b/docs/resources/ui/widgets/built-in-widgets/imgs/divider.png similarity index 100% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/imgs/divider.png rename to docs/resources/ui/widgets/built-in-widgets/imgs/divider.png diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/imgs/expanded.png b/docs/resources/ui/widgets/built-in-widgets/imgs/expanded.png similarity index 100% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/imgs/expanded.png rename to docs/resources/ui/widgets/built-in-widgets/imgs/expanded.png diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/imgs/flex.png b/docs/resources/ui/widgets/built-in-widgets/imgs/flex.png similarity index 100% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/imgs/flex.png rename to docs/resources/ui/widgets/built-in-widgets/imgs/flex.png diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/imgs/flexible.png b/docs/resources/ui/widgets/built-in-widgets/imgs/flexible.png similarity index 100% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/imgs/flexible.png rename to docs/resources/ui/widgets/built-in-widgets/imgs/flexible.png diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/imgs/gradient-cont.png b/docs/resources/ui/widgets/built-in-widgets/imgs/gradient-cont.png similarity index 100% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/imgs/gradient-cont.png rename to docs/resources/ui/widgets/built-in-widgets/imgs/gradient-cont.png diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/imgs/icon.png b/docs/resources/ui/widgets/built-in-widgets/imgs/icon.png similarity index 100% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/imgs/icon.png rename to docs/resources/ui/widgets/built-in-widgets/imgs/icon.png diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/imgs/image-boxfit.png b/docs/resources/ui/widgets/built-in-widgets/imgs/image-boxfit.png similarity index 100% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/imgs/image-boxfit.png rename to docs/resources/ui/widgets/built-in-widgets/imgs/image-boxfit.png diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/imgs/img.png b/docs/resources/ui/widgets/built-in-widgets/imgs/img.png similarity index 100% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/imgs/img.png rename to docs/resources/ui/widgets/built-in-widgets/imgs/img.png diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/imgs/img_1.png b/docs/resources/ui/widgets/built-in-widgets/imgs/img_1.png similarity index 100% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/imgs/img_1.png rename to docs/resources/ui/widgets/built-in-widgets/imgs/img_1.png diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/imgs/list-tile.png b/docs/resources/ui/widgets/built-in-widgets/imgs/list-tile.png similarity index 100% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/imgs/list-tile.png rename to docs/resources/ui/widgets/built-in-widgets/imgs/list-tile.png diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/imgs/listview-axis.png b/docs/resources/ui/widgets/built-in-widgets/imgs/listview-axis.png similarity index 100% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/imgs/listview-axis.png rename to docs/resources/ui/widgets/built-in-widgets/imgs/listview-axis.png diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/imgs/listview-reverse.png b/docs/resources/ui/widgets/built-in-widgets/imgs/listview-reverse.png similarity index 100% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/imgs/listview-reverse.png rename to docs/resources/ui/widgets/built-in-widgets/imgs/listview-reverse.png diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/imgs/richtext-eg.png b/docs/resources/ui/widgets/built-in-widgets/imgs/richtext-eg.png similarity index 100% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/imgs/richtext-eg.png rename to docs/resources/ui/widgets/built-in-widgets/imgs/richtext-eg.png diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/imgs/spacer-widget.png b/docs/resources/ui/widgets/built-in-widgets/imgs/spacer-widget.png similarity index 100% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/imgs/spacer-widget.png rename to docs/resources/ui/widgets/built-in-widgets/imgs/spacer-widget.png diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/imgs/spacer.png b/docs/resources/ui/widgets/built-in-widgets/imgs/spacer.png similarity index 100% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/imgs/spacer.png rename to docs/resources/ui/widgets/built-in-widgets/imgs/spacer.png diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/imgs/stack-align.png b/docs/resources/ui/widgets/built-in-widgets/imgs/stack-align.png similarity index 100% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/imgs/stack-align.png rename to docs/resources/ui/widgets/built-in-widgets/imgs/stack-align.png diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/imgs/text-example.png b/docs/resources/ui/widgets/built-in-widgets/imgs/text-example.png similarity index 100% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/imgs/text-example.png rename to docs/resources/ui/widgets/built-in-widgets/imgs/text-example.png diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/imgs/text-props.png b/docs/resources/ui/widgets/built-in-widgets/imgs/text-props.png similarity index 100% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/imgs/text-props.png rename to docs/resources/ui/widgets/built-in-widgets/imgs/text-props.png diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/imgs/toggle.png b/docs/resources/ui/widgets/built-in-widgets/imgs/toggle.png similarity index 100% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/imgs/toggle.png rename to docs/resources/ui/widgets/built-in-widgets/imgs/toggle.png diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/imgs/v-divider.png b/docs/resources/ui/widgets/built-in-widgets/imgs/v-divider.png similarity index 100% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/imgs/v-divider.png rename to docs/resources/ui/widgets/built-in-widgets/imgs/v-divider.png diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/list-grid.md b/docs/resources/ui/widgets/built-in-widgets/list-grid.md similarity index 100% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/list-grid.md rename to docs/resources/ui/widgets/built-in-widgets/list-grid.md diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/mouse-region.md b/docs/resources/ui/widgets/built-in-widgets/mouse-region.md similarity index 98% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/mouse-region.md rename to docs/resources/ui/widgets/built-in-widgets/mouse-region.md index 3e1733f8..7f3b4970 100644 --- a/docs/resources/ui-building-blocks/widgets/built-in-widgets/mouse-region.md +++ b/docs/resources/ui/widgets/built-in-widgets/mouse-region.md @@ -95,7 +95,7 @@ the next step, we will add the same actions for both MouseRegion widgets so that 3. Create a boolean [App State variable](../../../../resources/data-representation/app-state.md) and use it to -[add conditional visibility](../../../../resources/ui-building-blocks/widgets/widget-commonalities.md#conditional) +[add conditional visibility](../../widgets/widget-commonalities.md#conditional) on menu options. 4. On both MouseRegion widgets, add an [update app state variable](../../../../resources/data-representation/app-state.md#update-app-state-action) action to set **True** when the mouse enters and **False** when the mouse exit. diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/spacer.md b/docs/resources/ui/widgets/built-in-widgets/spacer.md similarity index 100% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/spacer.md rename to docs/resources/ui/widgets/built-in-widgets/spacer.md diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/text.md b/docs/resources/ui/widgets/built-in-widgets/text.md similarity index 100% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/text.md rename to docs/resources/ui/widgets/built-in-widgets/text.md diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/tooltip.md b/docs/resources/ui/widgets/built-in-widgets/tooltip.md similarity index 100% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/tooltip.md rename to docs/resources/ui/widgets/built-in-widgets/tooltip.md diff --git a/docs/resources/ui-building-blocks/widgets/built-in-widgets/transform.md b/docs/resources/ui/widgets/built-in-widgets/transform.md similarity index 100% rename from docs/resources/ui-building-blocks/widgets/built-in-widgets/transform.md rename to docs/resources/ui/widgets/built-in-widgets/transform.md diff --git a/docs/resources/ui-building-blocks/widgets/composing-widgets.md b/docs/resources/ui/widgets/composing-widgets.md similarity index 100% rename from docs/resources/ui-building-blocks/widgets/composing-widgets.md rename to docs/resources/ui/widgets/composing-widgets.md diff --git a/docs/resources/ui-building-blocks/widgets/generate-dynamic-children.md b/docs/resources/ui/widgets/generate-dynamic-children.md similarity index 100% rename from docs/resources/ui-building-blocks/widgets/generate-dynamic-children.md rename to docs/resources/ui/widgets/generate-dynamic-children.md diff --git a/docs/resources/ui-building-blocks/widgets/img.png b/docs/resources/ui/widgets/img.png similarity index 100% rename from docs/resources/ui-building-blocks/widgets/img.png rename to docs/resources/ui/widgets/img.png diff --git a/docs/resources/ui-building-blocks/widgets/img_1.png b/docs/resources/ui/widgets/img_1.png similarity index 100% rename from docs/resources/ui-building-blocks/widgets/img_1.png rename to docs/resources/ui/widgets/img_1.png diff --git a/docs/resources/ui-building-blocks/widgets/img_2.png b/docs/resources/ui/widgets/img_2.png similarity index 100% rename from docs/resources/ui-building-blocks/widgets/img_2.png rename to docs/resources/ui/widgets/img_2.png diff --git a/docs/resources/ui-building-blocks/widgets/img_3.png b/docs/resources/ui/widgets/img_3.png similarity index 100% rename from docs/resources/ui-building-blocks/widgets/img_3.png rename to docs/resources/ui/widgets/img_3.png diff --git a/docs/resources/ui-building-blocks/widgets/img_4.png b/docs/resources/ui/widgets/img_4.png similarity index 100% rename from docs/resources/ui-building-blocks/widgets/img_4.png rename to docs/resources/ui/widgets/img_4.png diff --git a/docs/resources/ui-building-blocks/widgets/widget-commonalities.md b/docs/resources/ui/widgets/widget-commonalities.md similarity index 100% rename from docs/resources/ui-building-blocks/widgets/widget-commonalities.md rename to docs/resources/ui/widgets/widget-commonalities.md diff --git a/docs/resources/ui-building-blocks/widgets/widget-configurations.md b/docs/resources/ui/widgets/widget-configurations.md similarity index 100% rename from docs/resources/ui-building-blocks/widgets/widget-configurations.md rename to docs/resources/ui/widgets/widget-configurations.md From 4a01a15ed8192385fbe04ae4284e7a058bfcfdb1 Mon Sep 17 00:00:00 2001 From: PoojaB26 Date: Sat, 27 Jul 2024 20:37:06 +0530 Subject: [PATCH 3/7] fix links --- docs/ff-integrations/notifications/one-signal/one-signal.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/ff-integrations/notifications/one-signal/one-signal.md b/docs/ff-integrations/notifications/one-signal/one-signal.md index e4f71c17..7b10df6c 100644 --- a/docs/ff-integrations/notifications/one-signal/one-signal.md +++ b/docs/ff-integrations/notifications/one-signal/one-signal.md @@ -109,7 +109,7 @@ You can find out if the user was successfuly added to the subscription by naviga ![img_2.png](img_2.png) :::info[OneSignal for Supabase Users] -Currently, Our OneSignal integration supports Firebase authentication. If you want to use Supabase authentication, you may need to provide custom code to notify your users for now. +Currently, our OneSignal integration supports only Firebase authentication. If you want to use [**Supabase authentication**](../../authentication/supabase-auth/initial-setup.md), you may need to use [**custom code**](../../../ff-concepts/adding-customization/custom-code.md) to notify your users. ::: From ce5501b8cdb3cf0268c4e442bbffcb09d20fb91a Mon Sep 17 00:00:00 2001 From: PoojaB26 Date: Sat, 27 Jul 2024 20:37:18 +0530 Subject: [PATCH 4/7] collapse most sidebar sections --- sidebars.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sidebars.ts b/sidebars.ts index 2944ba33..dd8a9170 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -37,7 +37,7 @@ const sidebars: SidebarsConfig = { { type: 'category', label: 'Resources', - collapsed: false, + collapsed: true, link: { type: 'generated-index', title: 'FlutterFlow Resources', @@ -55,7 +55,7 @@ const sidebars: SidebarsConfig = { { type: 'category', label: 'Building Concepts', - collapsed: false, + collapsed: true, link: { type: 'generated-index', title: 'Key Concepts', @@ -73,7 +73,7 @@ const sidebars: SidebarsConfig = { { type: 'category', label: 'Testing & Publishing', - collapsed: false, + collapsed: true, items: [ { type: 'autogenerated', @@ -87,8 +87,8 @@ const sidebars: SidebarsConfig = { collapsed: true, link: { type: 'generated-index', - title: 'FF Guides', - description: 'Learn about the various integrations available in FlutterFlow!', + title: 'Third Party Integrations', + description: 'Learn about the various third-party integrations available in FlutterFlow!', slug: '/integrations', keywords: ['guides'], }, From a0cefa7b76d637aafb8553b1d60eae185b4f7b3f Mon Sep 17 00:00:00 2001 From: PoojaB26 Date: Sat, 27 Jul 2024 21:04:24 +0530 Subject: [PATCH 5/7] keep doc home page as a single page and not a category page --- docs/index.md | 3 +-- sidebars.ts | 7 +++---- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/docs/index.md b/docs/index.md index beb81828..bcabc703 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,9 +1,8 @@ --- -title: FlutterFlow Documentation +title: Getting Started custom_edit_url: null showLastUpdateTime: false hide_title: true -sidebar_label: Overview slug: / hide_table_of_contents: true --- diff --git a/sidebars.ts b/sidebars.ts index dd8a9170..3d34bfb2 100644 --- a/sidebars.ts +++ b/sidebars.ts @@ -6,11 +6,10 @@ const sidebars: SidebarsConfig = { changelogSidebar: [{type: 'autogenerated', dirName: 'changelog'}], // Adjust `dirName` as needed docsSidebar: [ { - type: 'category', + type: 'doc', + id: 'index', label: 'Getting Started', - collapsed: false, - items: ['index'], - }, + },, 'intro/quickstart', { type: 'category', From 5af70a4c26b87d165a322b9e3a537f41c6c95090 Mon Sep 17 00:00:00 2001 From: PoojaB26 Date: Mon, 29 Jul 2024 18:15:01 +0530 Subject: [PATCH 6/7] Fix paths --- .../ui/components/built-in-components/chart/chart.md | 2 +- .../ui/components/built-in-components/choicechips.md | 4 ++-- docs/resources/ui/components/built-in-components/datatable.md | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/resources/ui/components/built-in-components/chart/chart.md b/docs/resources/ui/components/built-in-components/chart/chart.md index d73c0b24..9a08d2ae 100644 --- a/docs/resources/ui/components/built-in-components/chart/chart.md +++ b/docs/resources/ui/components/built-in-components/chart/chart.md @@ -113,7 +113,7 @@ You can change the appearance of the legend box by following the instructions be 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). +2. To style the legend text, scroll down to the **Legend Properties** > **Legend Text Properties** and change the style as per [here](../../../../../resources/ui/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. diff --git a/docs/resources/ui/components/built-in-components/choicechips.md b/docs/resources/ui/components/built-in-components/choicechips.md index 2ac6cef1..680f4121 100644 --- a/docs/resources/ui/components/built-in-components/choicechips.md +++ b/docs/resources/ui/components/built-in-components/choicechips.md @@ -51,14 +51,14 @@ To add the ChoiceChips widget to your app: ## Trigger action on change -See how to [trigger an action when a selection changes](../../../../../resources/ui-building-blocks/widgets/widget-commonalities#trigger-action-on-selection-change) on this widget. +See how to [trigger an action when a selection changes](../../../../resources/ui/widgets/widget-commonalities#trigger-action-on-selection-change) on this widget. ## Select or clear all choices [Action] Users may need to swiftly deselect all chips or choose all available choice chips at once. You can do so by adding the **Clear All/Select All** action. :::info -Before you add this action, ensure you [**allow multiselect**](#allow-mulitselect) on this widget. +Before you add this action, ensure you [**allow multiselect**](#allow-multiselect) on this widget. ::: ## Customizing diff --git a/docs/resources/ui/components/built-in-components/datatable.md b/docs/resources/ui/components/built-in-components/datatable.md index d505f0ab..555c01d1 100644 --- a/docs/resources/ui/components/built-in-components/datatable.md +++ b/docs/resources/ui/components/built-in-components/datatable.md @@ -231,9 +231,9 @@ To achieve this, create a page state variable to store the selected list. Upon b Here are the exact steps: -1. First, create a [page state](../../../../resources/ui-building-blocks/pages/page-lifecycle.md#creating-a-page-state) variable that will hold the list of selected rows. +1. First, create a [page state](../../../../resources/ui/pages/page-lifecycle.md#creating-a-page-state) variable that will hold the list of selected rows. 2. Select the **DataTable**, move to the **Properties Panel > Paginated Data Table Properties >** turn on the **Selectable** toggle. -3. On button click, [update the page state](../../../../resources/ui-building-blocks/pages/page-lifecycle.md#update-page-state-action) variable with the selected rows. While adding this action, use the following custom function to retrieve the selected items based on the indices. You can get the list of selected rows indices via **Widget State > DataTable Selected Rows**. +3. On button click, [update the page state](../../../../resources/ui/pages/page-lifecycle.md#update-page-state-action) variable with the selected rows. While adding this action, use the following custom function to retrieve the selected items based on the indices. You can get the list of selected rows indices via **Widget State > DataTable Selected Rows**. 4. Optionally, you could pass this variable to a new page to display the selection. Custom function: From 2de2985a4b38d9eba897d59efc3f7e6e6441c051 Mon Sep 17 00:00:00 2001 From: PoojaB26 Date: Mon, 29 Jul 2024 18:21:14 +0530 Subject: [PATCH 7/7] Add more links to page section. --- docs/resources/ui/pages/page-elements.md | 2 ++ docs/resources/ui/pages/pages.md | 8 ++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/docs/resources/ui/pages/page-elements.md b/docs/resources/ui/pages/page-elements.md index 741e18c8..c21092ef 100644 --- a/docs/resources/ui/pages/page-elements.md +++ b/docs/resources/ui/pages/page-elements.md @@ -7,10 +7,12 @@ toc_max_heading_level: 5 # Scaffold Elements + ## AppBar diff --git a/docs/resources/ui/pages/pages.md b/docs/resources/ui/pages/pages.md index 42f286ca..1828ddf7 100644 --- a/docs/resources/ui/pages/pages.md +++ b/docs/resources/ui/pages/pages.md @@ -13,14 +13,14 @@ consistent framework for each page, allowing you to define and organize its stru Here's how the `Scaffold` contributes to page design in FlutterFlow: -- **AppBar** : Scaffold allows you to easily include an `AppBar` at the top of the +- **[AppBar](page-elements.md#appbar)** : Scaffold allows you to easily include an `AppBar` at the top of the page, which can house the title, navigation controls, and other actions. -- **Floating Action Button (FAB)**: An action button that is commonly used for +- **[Floating Action Button (FAB)](page-elements.md#floating-action-button-fab)**: An action button that is commonly used for primary actions on the screen, like adding a new contact or composing a message. -- **Drawer & End-Drawer**: A slide-out menu for app navigation, accessible from +- **[Drawer & End-Drawer](page-elements.md#drawers)**: A slide-out menu for app navigation, accessible from the `AppBar` or by swiping from the side. - **Body:** The main content area where you place your widgets for the body of the Page. @@ -32,7 +32,7 @@ In FlutterFlow, you won't find a section explicitly labeled as "Body". For examp ![scaffold-elements.png](../imgs/scaffold-elements.png) ::: -In FlutterFlow, you will find these Page Widgets under **Page Elements** in Widget Palette. +In FlutterFlow, you will find these Page Widgets under **[Page Elements](page-elements.md)** in Widget Palette.