Library Precedence

   MaestroThe UI design product.  |   Form Builder |   20.11 This feature was updated in 20.11.

When you select a project's Libraries folder, you'll see the list of libraries available to that project. By default, the libraries will be sorted from newest (most recently added to the project) to oldest, with the release libraries at the bottom and user-created libraries at the top. If a new library becomes available to the project, it will be added to the top of the list. This is significant because the order of this list can affect the way your forms look and behave.

When a form needs a resource, it will look for it by name in the project's libraries and use the first one it finds with the specified name.

Here's an example:

Imagine there's a style in one of the default libraries that you want to override. If you create your own library with a rule that overrides the style, the rule you've defined will take precedence over the original one. But what happens if you create a second library that also overrides the same rule? Which rule will be used by the form?

The rule inside the most recently created library will be used because libraries are given precedence based on their order in the library list and the most recently created library will be at the top of the list.

In other words, libraries higher in the library list are considered more important than libraries lower in the list. If you want the rule from the second library to not take precedence over the first library, you would need to move it further down the list.

To control the precedence of libraries, select a library and use the Move Up and Move Down buttons to adjust its position in the list.


The order of the release libraries should not be changed as this may lead to unexpected results.

For similar reasons, it is strongly recommended that you do not change any resources at the form level. Form level resource changes override all library resources, so any form resource change can lead to an inconsistent user experience.

You can publish a shared component in to two different libraries. In this case, the version of the component in the library with higher precedence will be used. This is the library higher up in the list of libraries for your project.

Next, learn about library scope.