You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/ff-concepts/design-system/design-system.md
+41Lines changed: 41 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -196,6 +196,47 @@ If you prefer watching a video tutorial, here is the guide for you:
196
196
</div>
197
197
<p></p>
198
198
199
+
## Use Library as Design System
200
+
201
+
You can also import a design system from the [Library](../../resources/projects/libraries.md) added to your project. A library can serve as a central repository for your design assets, components, and styles—effectively becoming a Design Library for your application(s).
202
+
203
+
:::tip[possible use cases]
204
+
205
+
-**Enterprise Applications:** Large organizations can develop a centralized design system as a library to ensure all internal applications maintain a cohesive look and feel, enhancing brand identity and user experience.
206
+
-**Startup MVPs:** Startups can expedite the development of Minimum Viable Products (MVPs) by leveraging a pre-built design library like [**shadcn**](https://marketplace.flutterflow.io/item/cNlm0zWW1Nfq11cFXBmp), allowing them to focus on functionality and user validation.
207
+
-**Cross-Platform Consistency:** Teams aiming to deploy apps across multiple platforms (iOS, Android, Web) can use a popular design system library to ensure uniformity in design, reducing the effort required for platform-specific adjustments.
208
+
209
+
:::
210
+
211
+
To add a design system from a library, first, ensure that you [add a library dependency to your project](../../resources/projects/libraries.md#importing-a-library). Then, navigate to **Theme Settings > Design System** and click on **No Design System Selected**. From the dropdown menu, **Select a library** you want to use.
212
+
213
+
214
+
<div style={{
215
+
position: 'relative',
216
+
paddingBottom: 'calc(56.67989417989418% + 41px)', // Keeps the aspect ratio and additional padding
Copy file name to clipboardExpand all lines: docs/resources/projects/libraries.md
+22-7Lines changed: 22 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -85,7 +85,6 @@ To publish a FlutterFlow project as a library, start by creating a FlutterFlow p
85
85
When a project is converted into a library, the following features are disabled to ensure compatibility and functionality limitations:
86
86
87
87
- App settings
88
-
- Firebase
89
88
- Supabase
90
89
- Development environments
91
90
- Authentication
@@ -98,8 +97,6 @@ When a project is converted into a library, the following features are disabled
98
97
- Google Analytics
99
98
- OneSignal
100
99
- Mux
101
-
- Cloud functions
102
-
- Firestore Collections
103
100
104
101
## Importing a Library
105
102
@@ -318,6 +315,24 @@ To set library values, navigate to **Settings and Integrations > Project Setup >
318
315
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.
319
316
:::
320
317
318
+
## Libraries with Firebase
319
+
You can create collections and enable various Firebase features in library projects without connecting a separate Firebase project.
320
+
321
+
In library projects, you won’t see an option to link to a Firebase project. Instead, the project that imports the library handles the actual Firebase connection.
322
+
323
+
Any indexes or security rules defined in the library are recognized by the importing project and deployed accordingly.
324
+
325
+
:::warning[Limitations]
326
+
Libraries work with Firebase but have **some limitations**. The **Firebase Auth** and **Firebase Storage** are not directly supported in library projects at this time. If you need these features in your library’s functionality, you can include an action that accomplishes this task as a [**callback**](../../resources/ui/components/callbacks.md).
327
+
:::
328
+
329
+
If your team has multiple projects that share a common Firebase feature, turning it into a library is a great idea. This ensures the same logic is used and connects to the same Firestore project across all apps.
330
+
331
+
Here are some examples of library projects you can build with Firebase:
332
+
333
+
-**Basic Analytics or Tracking**: A library that logs events to Firestore; useful for aggregating usage data at an application level.
334
+
-**Configuration or Settings**: A library that serves app-wide configurations (like feature flags, UI themes, or layout choices) is handled in Firebase Remote Config.
335
+
321
336
## FAQs
322
337
323
338
<details>
@@ -328,16 +343,16 @@ Team code and API libraries will be migrated to library Projects. These projects
328
343
</details>
329
344
330
345
<details>
331
-
<summary>Will libraries work with Marketplace?</summary>
346
+
<summary>Do libraries work with Marketplace?</summary>
332
347
<p>
333
-
We plan to allow users to import a marketplace project as a library, making it easier to integrate marketplace resources into your projects.
348
+
Yes, you can add and import a Marketplace project as a library.
334
349
</p>
335
350
</details>
336
351
337
352
<details>
338
-
<summary>How do libraries work with themes?</summary>
353
+
<summary>How do libraries work with themes (design systems)?</summary>
339
354
<p>
340
-
The parent project's design system takes precedence over the imported library's design system. For example, if a library uses the standard FlutterFlow color scheme, the values defined in the parent project will override those in the library. However, if the library project has a custom color that the parent project does not have, it will be used as-is in the parent project.
355
+
By default, the design system of the parent project takes precedence over the imported library's design system. If you want to use a library's design system, you must [**select or set the library in the Design System**](../../ff-concepts/design-system/design-system.md#use-library-as-design-system) page.
0 commit comments