npm i @trimbleinc/modus-bootstrap


Modus Bootstrap is a responsive framework developed as a common platform for all Trimble web applications. It is built upon and extends the Bootstrap 4 framework.

by Trimble Inc.

1.5.5 (see all)License:MITTypeScript:Not Found
npm i @trimbleinc/modus-bootstrap

Modus Bootstrap

The Modus Bootstrap Framework was developed as a common platform for all of Trimble MAPS web applications, with the additional goal of sharing with other groups within Trimble. It leverages the Trimble brand as well as some of the work done by other groups, specifically Project Origin by the SketchUp team.


The Modus Bootstrap Framework is built upon and extends the Bootstrap 4 code framework. It is a responsive framework for web and mobile uses. You can use the CSS files as is, or integrate the SASS files into your own application if you wish to modify it further.


The Modus Bootstrap Framework can be used as is from our public CDN:

<link rel="stylesheet" href="https://modus.trimble.com/css/modus.min-1.5.5.css" />

If you want to also use the Modus Bootstrap Framework layout (top nav, left nav, and content area) you will need to add these additional references in the head BEFORE Modus Bootstrap:

<link rel="stylesheet" href="https://modus.trimble.com/css/modus-layout.min-1.5.5.css" />
<script src="https://modus.trimble.com/css/modus-layout.min-1.5.5.js"></script>

You do not (and should not) include additional references to Bootstrap CSS other than their JavaScript links for component functions.  If you are using Angular, React, or other framework you should use an appropriate Bootstrap library.

<script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/js/bootstrap.bundle.min.js"></script>

Install with npm

Install Modus Bootstrap Framework in your Node.js powered apps with our npm package:

$ npm install --save-dev @trimbleinc/modus-bootstrap

The compiled CSS files will be found in the ./node_modules/@trimbleinc/modus-bootstrap/dist directory.

Customize using SASS

The SASS files will be found in the /scss directory.


Build CSS, run dev server, and watch for changes

npm run dev

Sample page found at http://localhost:3030/

Build Package

Builds the CSS files to /dist

npm run build

File structure

Whenever possible, avoid modifying Modus Bootstrap or Bootstrap core files.

For Sass, that means creating your own stylesheet that imports Modus Bootstrap and Bootstrap so you can modify and extend it. Assuming you’re using a package manager like npm, you’ll have a file structure that looks like this:

├── scss
│   └── custom.scss
└── node_modules/
    ├── bootstrap
    │   ├── js
    │   └── scss
    └── @trimblemaps
            └── scss


In your custom.scss, you’ll import Modus Bootstrap and Bootstrap’s source Sass files. With that setup in place, you can begin to modify any of the Sass variables and maps in your custom.scss.

You can also start to add parts of Bootstrap under the // Optional section as needed. We suggest using the full import stack from our bootstrap.scss file as your starting point.

The main file to focus on is the _theme.scss file (and/or _theme-dark.scss if you want a dark look).

You should copy this file from /node_modules/@trimbleinc/modus-bootstrap/scss/components to your own SASS directory and import your copy instead of the Modus Bootstrap Framework version in your main SASS file.

This example shows you how you should structure your main file. The order in which files are imported matters.

  // Bootstrap functions
  @import "../node_modules/bootstrap/scss/functions";
  // Modus Bootstrap functions
  @import "../node_modules/@trimbleinc/modus-bootstrap/scss/components/functions";

  @import "your_custom_sass_directory/your_copy_of_modus_theme_file";
  // Modus Bootstrap variables
  @import "../node_modules/@trimbleinc/modus-bootstrap/scss/components/variables";
  // OPTIONAL - use your own variables:
  // @import "your_custom_sass_directory/copy_of_modus_variables_file";

  // Bootstrap variables
  @import "../node_modules/bootstrap/scss/variables";
  @import "../node_modules/bootstrap/scss/mixins";

  // Modus Bootstrap mixins
  @import "../node_modules/@trimbleinc/modus-bootstrap/scss/components/mixins";

  // Bootstrap components (you can leave some of these out if you don't need them)
  @import "../node_modules/bootstrap/scss/reboot";
  @import "../node_modules/bootstrap/scss/type";
  @import "../node_modules/bootstrap/scss/images";
  @import "../node_modules/bootstrap/scss/code";
  @import "../node_modules/bootstrap/scss/grid";
  @import "../node_modules/bootstrap/scss/tables";
  @import "../node_modules/bootstrap/scss/forms";
  @import "../node_modules/bootstrap/scss/buttons";
  @import "../node_modules/bootstrap/scss/transitions";
  @import "../node_modules/bootstrap/scss/dropdown";
  @import "../node_modules/bootstrap/scss/button-group";
  @import "../node_modules/bootstrap/scss/input-group";
  @import "../node_modules/bootstrap/scss/custom-forms";
  @import "../node_modules/bootstrap/scss/nav";
  @import "../node_modules/bootstrap/scss/navbar";
  @import "../node_modules/bootstrap/scss/card";
  @import "../node_modules/bootstrap/scss/breadcrumb";
  @import "../node_modules/bootstrap/scss/pagination";
  @import "../node_modules/bootstrap/scss/badge";
  @import "../node_modules/bootstrap/scss/jumbotron";
  @import "../node_modules/bootstrap/scss/alert";
  @import "../node_modules/bootstrap/scss/progress";
  @import "../node_modules/bootstrap/scss/media";
  @import "../node_modules/bootstrap/scss/list-group";
  @import "../node_modules/bootstrap/scss/close";
  @import "../node_modules/bootstrap/scss/toasts";
  @import "../node_modules/bootstrap/scss/modal";
  @import "../node_modules/bootstrap/scss/tooltip";
  @import "../node_modules/bootstrap/scss/popover";
  @import "../node_modules/bootstrap/scss/carousel";
  @import "../node_modules/bootstrap/scss/spinners";
  @import "../node_modules/bootstrap/scss/utilities";
  @import "../node_modules/bootstrap/scss/print";

  // Modus Bootstrap components
  @import "../node_modules/@trimbleinc/modus-bootstrap/scss/components/controls";
  @import "../node_modules/@trimbleinc/modus-bootstrap/scss/components/base";
  @import "../node_modules/@trimbleinc/modus-bootstrap/scss/components/file-drop-zone";

  @import "your_custom_sass_directory/your_project_specific_sass_files";
2mos ago
No alternatives found
No tutorials found
Add a tutorial
No dependencies found

Rate & Review

No reviews found
Be the first to rate