diff --git a/docs/resources/projects/imgs/access-library-values.avif b/docs/resources/projects/imgs/access-library-values.avif new file mode 100644 index 00000000..502f2f7c Binary files /dev/null and b/docs/resources/projects/imgs/access-library-values.avif differ diff --git a/docs/resources/projects/libraries.md b/docs/resources/projects/libraries.md index 23749337..85c7b513 100644 --- a/docs/resources/projects/libraries.md +++ b/docs/resources/projects/libraries.md @@ -234,6 +234,89 @@ You can easily upgrade to newer versions of the libraries as they become availab ![update-library](imgs/update-library.avif) +## Library Values + +**Library values** are essentially variables created and used by a library author and intended to have their values set by the library user. These values allow library author to create configurable variables that are useful in different contexts, such as API keys, global settings, or other project-specific configurations. These values allow library users to input specific data required for the library to function properly in their project. + +For example, If someone has built a library that uses OpenAI API, they would define a Library Value for the OpenAI API key. As the user of the library, when you import, you must provide your own API key to ensure the library functions properly. + +By using Library Values, the library author allows users to adapt the library to their own configurations without hardcoding sensitive or project-specific data, like API keys, into the library itself. + +### Create Library Values as Author + +The library author defines the variable name, data type (e.g., string, enum), whether the variable is nullable, and an optional default value. + +To create library values, navigate to **Settings and Integrations > App Settings > Publish as Library > Library Values** section and click **+ Add Value**. + +
+ +
+

+ +#### Use Library Values +After setting Library Values, they function just like any other variable in FlutterFlow. You can bind them to components, actions, API calls, or any property that allows you to configure dynamic values across your library project. You can access Library Values via the ****Set from Variable**** menu. + +:::tip +Library values are used only within the library project and are not available for use in the project that imports it. The library user can only set their values. +::: + +![access-library-values](imgs/access-library-values.avif) + +### Set Library Values as User + +To set library values, navigate to **Settings and Integrations > Project Setup > Project Dependencies** page. When you import a library, you'll be prompted to set values for required Library Values. If the library has already been added, click on **View Details**, which will open a dialog and then you can enter a value. + +
+ +
+

+ +:::tip +For different [**development environments**](../../testing-deployment-publishing/development-environments/development-environments.md) (e.g., development vs. production), you can bind Library Values to [**environment values**](../../testing-deployment-publishing/development-environments/development-environments.md#use-environment-values). For instance, you could have two different Library Values for an API key, such as `DEV_OPENAI_API_KEY` and `PROD_OPENAI_API_KEY`, and bind them to the development and production environments to track API usage separately. +::: + ## FAQs