# Getting Started

This part of the doc will help you to quick start your project and will you a basic idea about how Atmos admin is structured.

After you unzip the package received from themeforest you will have the following in the extracted folder.

![](https://621507229-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LMWvbwDSTI9_skSMXwK%2F-LYaJa2acszE4DVC8G0e%2F-LYaJcA3U_v_9FwbQ3LU%2FScreenshot%202019-02-13%20at%202.01.17%20AM%20\(1\).png?alt=media\&token=1ac85311-c64a-417b-8b31-285f446e0918)

### Folders:

#### Demo&#x20;

demo folder consist of demo pages available on live site. which can be used for reference for your project.we do not recommend to start your project from demo files.

#### Getting Started Folder

Open the `getting started` folder, select a theme default or light to proceed with developing\
check build section of docs for running via gulp

{% hint style="info" %}
For any support related queries just write us at <support@atomui.com> with your purchase code&#x20;
{% endhint %}


# Gulp

gulp is a toolkit for automating painful or time-consuming tasks in your development workflow, so you can stop messing around and build something.

## Installing Gulp

&#x20;To install gulp first you must have [NodeJs installed](http://nodejs.org/download/), NodeJS will have npm (node packaged modules)\
Run the following commands to get started&#x20;

* Navigate to Getting Started folder open the folder with default or light of your choice to begin
* Install `gulp` by running the following command `npm install`
* Now Run `gulp`  it will open browser will address <http://localhost:3000>

```
npm install
```

```
gulp default
```

{% hint style="danger" %}
To use gulp version 4, head to Gulp 4 section&#x20;
{% endhint %}

{% hint style="warning" %}
it will open browser display cannot **Cannot GET /** . please navigate to <http://localhost:3000/blank.html> to view the blank file, as there is no index file in getting started folder
{% endhint %}

{% hint style="success" %}
Compilation of resources will create `atmos.min.css` and `atmos.min.js`in `assets/css` and `assets/js`folder respectively.
{% endhint %}

### Commands

**gulp build**

```
gulp build
```

This will automatically minify your assets resources like css and js into respective folders

**gulp watch**

```
gulp watch
```

This will automatically compile the scss and js file files on save

{% hint style="info" %}
`scss` source files are present in `assets/src` folder, while js files are default available at `assets/js/atlas.js`
{% endhint %}

## Troubleshooting

if encounter problems with installing dependencies or running Gulps commands, first delete the `/node_modules/` directory generated by `npm`. Then, rerun `npm install`.

{% hint style="info" %}
Please use gulp version 3.9.1\
`npm install gulp@3.9.1 --save`
{% endhint %}


# Gulp 4

To use gulp version 4 use the following files

{% hint style="info" %}
Please replace the gulpfile.js and package json file in the folder. make sure delete package-lock.json and node\_modules
{% endhint %}

{% tabs %}
{% tab title="Package.json" %}

```javascript
{
  "name": "atmos-admin-panel",
  "version": "1.0.0",
  "description": "A beautiful Design System build on Bootstrap 4.",
  "main": "gulpfile.js",
  "author": "atomui.com",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "devDependencies": {
    "@babel/core": "^7.11.6",
    "@babel/preset-env": "^7.11.5",
    "browser-sync": "^2.26.12",
    "gulp": "^4.0.2",
    "gulp-autoprefixer": "^7.0.1",
    "gulp-babel": "^8.0.0",
    "gulp-cached": "^1.1.1",
    "gulp-clean": "^0.4.0",
    "gulp-clean-css": "^4.3.0",
    "gulp-file-include": "^2.2.2",
    "gulp-gh-pages": "^0.5.4",
    "gulp-html-extend": "^1.1.6",
    "gulp-if": "^3.0.0",
    "gulp-markdown": "^5.1.0",
    "gulp-npm-dist": "^1.0.3",
    "gulp-replace": "^1.0.0",
    "gulp-sass": "^4.1.0",
    "gulp-uglify": "^3.0.2",
    "gulp-useref": "^4.0.1"
  }
}

```

{% endtab %}

{% tab title="gulpfile.js" %}

```
const autoprefixer = require('gulp-autoprefixer');
const babel = require('gulp-babel');
const browsersync = require('browser-sync').create();
const clean = require('gulp-clean');
const cleancss = require('gulp-clean-css');
const gulp = require('gulp');
const sass = require('gulp-sass');
const rename = require('gulp-rename');

// Extra included dependencies

const {src, task}= require('gulp');


const paths = {
    src: {
        html: {
            files: './src/html/**/*.html',
        },
        js: {
            files: './src/js/**/*.js'
        },
        scss: {
            files: './assets/scss/atmos.scss'
        },

    },
    dist: {
        base: {
            dir: './'
        },
        css: {
            dir: 'assets/css',
            files: 'assets/css/**/*.css',
            minFiles: 'assets/css/**/*.min.css',
        },
        html: {
            files: 'dist/**/*.html'
        },
        js: {
            dir: 'dist/assets/js',
            files: 'dist/assets/js/**/*.js',
            minFiles: 'dist/assets/js/**/*.min.js'
        },
    },
    node: {
        dir: './node_modules'
    },
    package: {
        files: './package.json'
    }
};

gulp.task('browsersync', callback => {
    browsersync.init({
        server: {
            baseDir: paths.dist.base.dir,
            // Added so that we can have the server use base urls vs requiring .html
            serveStaticOptions: {
                extensions: ["html"]
            }
        }
    });
    callback();
});

gulp.task('browsersyncReload', callback => {
    browsersync.reload();
    callback();
});

gulp.task('clean', () => {
    return gulp.src([paths.dist.css.dir, paths.dist.html.files, paths.dist.js.dir, paths.dist.libs.dir], {
        allowEmpty: true,
        read: false
    })
        .pipe(clean());
});

gulp.task('clean', () => {
    return gulp.src([paths.dist.css.dir], {
        allowEmpty: true,
        read: false
    })
        .pipe(clean());
});

gulp.task('clean:js', () => {
    return gulp.src([paths.dist.js.files, `!${paths.dist.js.minFiles}`], {
        read: false
    })
        .pipe(clean())
});

gulp.task('js', () => {
    return gulp
        .src(paths.src.js.files)
        .pipe(babel({
            presets: ['@babel/preset-env']
        }))
        .pipe(gulp.dest(paths.dist.js.dir))
});
gulp.task('scss', () => {
    return gulp
        .src(paths.src.scss.files)
        .pipe(sass().on('error', sass.logError))
        .pipe(autoprefixer())
        .pipe(cleancss())
        .pipe(rename("atmos.min.css"))
        .pipe(gulp.dest(paths.dist.css.dir))
        .pipe(browsersync.stream());
});

gulp.task('watch', () => {
    gulp.watch([paths.src.html.files],
        gulp.series('browsersyncReload'));
    gulp.watch(paths.src.scss.files, gulp.series('scss'));
});

gulp.task('default', gulp.series('clean', gulp.parallel( 'scss'), gulp.parallel('browsersync', 'watch')));

```

{% endtab %}
{% endtabs %}


# Page Structure

### Using Blank template

You can start your project by using `blank.html` in getting started folder. it comes with default navigation and few sidebar links to begin with.

{% content-ref url="/pages/-LUEX6g9LXwV32PvafVv" %}
[blank template Markup](/starter-template/blank)
{% endcontent-ref %}

### By using Includes

#### CSS Includes

```markup
    <link rel="stylesheet" href="assets/vendor/pace/pace.css">
    <script src="assets/vendor/pace/pace.min.js"></script>
    <!--vendors-->
    <link rel="stylesheet" type="text/css" href="assets/vendor/bootstrap-datepicker/css/bootstrap-datepicker3.min.css">
    <link rel="stylesheet" type="text/css" href="assets/vendor/jquery-scrollbar/jquery.scrollbar.css">
    <link rel="stylesheet" href="assets/vendor/select2/css/select2.min.css">
    <link rel="stylesheet" href="assets/vendor/jquery-ui/jquery-ui.min.css">
    <link rel="stylesheet" href="assets/vendor/daterangepicker/daterangepicker.css">
    <link rel="stylesheet" href="assets/vendor/timepicker/bootstrap-timepicker.min.css">
    <link href="https://fonts.googleapis.com/css?family=Hind+Vadodara:500,600,700|Roboto:400,500,600,700" rel="stylesheet">
    <!--Material Icons-->
    <link rel="stylesheet" type="text/css" href="assets/fonts/materialdesignicons/materialdesignicons.min.css">
    <!--Bootstrap + Atmos Admin CSS-->
    <link rel="stylesheet" type="text/css" href="assets/css/atmos.min.css">
    <!-- Additional library for page -->
```

#### JS Includes

```markup
<script src="assets/vendor/jquery/jquery.min.js" type="text/javascript"></script>
<script src="assets/vendor/jquery-ui/jquery-ui.min.js" type="text/javascript"></script>
<script src="assets/vendor/popper/popper.js" type="text/javascript"></script>
<script src="assets/vendor/bootstrap/js/bootstrap.min.js" type="text/javascript"></script>
<script src="assets/vendor/select2/js/select2.full.min.js" type="text/javascript"></script>
<script src="assets/vendor/jquery-scrollbar/jquery.scrollbar.min.js" type="text/javascript"></script>
<script src="assets/vendor/listjs/listjs.min.js" type="text/javascript"></script>
<script src="assets/vendor/moment/moment.min.js"></script>
<script src="assets/vendor/daterangepicker/daterangepicker.js"></script>
<script src="assets/vendor/bootstrap-datepicker/js/bootstrap-datepicker.min.js"></script>
<script src="assets/vendor/bootstrap-notify/bootstrap-notify.min.js" type="text/javascript"></script>
<script src="assets/js/atmos.min.js"></script>
<!--page specific scripts for demo-->
```


# Sass Modules

> Sass is a CSS pre-processor, meaning that it extends the CSS language, adding features that allow variables, mixins, functions. sass is default compiler for Bootstrap v4. Atlas supports and extends Bootstraps sass variables and modules to build the admin interface

### Module&#x20;

{% hint style="info" %}
Following is the list of sass modules in the .*`/src/theme/`* folder you can tweak and compile the modules according to your needs.
{% endhint %}

| Module Name | Description                                                             |
| ----------- | ----------------------------------------------------------------------- |
| alert       | Classes for creating pinned alerts on the page & border style alerts    |
| badge       | Contains tweak for bootstrap badges with soft variants                  |
| buttons     | Extends bootstrap button class for more options like rounded, ghost etc |
| border      | For different border styles                                             |
| cards       | Bootstrap cards over-written classes with  card-controls styles         |
| dropdown    | Overriding some of dropdown menu properties, notification menu styles   |
| forms       | Form related classes including form dark options                        |
| modal       | Extending bootstrap modal classes with more styles                      |
| table       | All table related classes                                               |
| tab         | Adding line tab to existing bootstrap Tabs module                       |
| typography  | Contains all typo related styles                                        |
| accordion   | Bootstrap accordions with variation                                     |
| avatar      | Contains style for avatars                                              |
| loader      | Styles for loading effect on cards                                      |
| timeline    | Contains variations for timeline pages large and small                  |
| sidebar     | Sidebar classes with side menu options                                  |
| layout      | Contains layout for page like page header and main                      |
| spacing     | contains spacing and margin options                                     |
| sizing      | Contains classes for page heights from 10vh to 100vh                    |
| panel       | Flex panels used for chat and mail apps                                 |
| Chat        | Contains css related to chat app                                        |
| kanban      | Contains css related to kanban app                                      |
| guide       | Contains css related to guide app                                       |
| mail        | Contains css related to mail app                                        |
| background  | Additional background classes                                           |
| grid-xlg    | Grid for extra large devices greater than 1800px                        |
| helper      | Miscellaneous helper classes                                            |
| demo        | For demo purpose can be removed                                         |


# Colors

### Site Colors

Every color used throughout the theme has been generated by using color variables defined  at `_variables.scss` . you can customize the colors by changing the values of variables.

![site colors](https://621507229-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LMWvbwDSTI9_skSMXwK%2F-LUEoae0LGv4oz-ex593%2F-LUEpJ_lY71r984PvyD-%2Fimage.png?alt=media\&token=0c1361c6-6388-4754-954c-b38b99b8a1e3)

### Gray Shades

![gray colors from gray-100 to gray-900](https://621507229-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LMWvbwDSTI9_skSMXwK%2F-LUEpTZSrsyX2MnLhHro%2F-LUEpmbtxtIZe5qdxvt3%2Fimage.png?alt=media\&token=6fdc7769-5117-4838-bfb2-c4dc1e55a0bb)

### Chart Colors

Atmos comes with preselected chart colors&#x20;

```javascript
 window.colors = [
        "#687ae8",
        "#12bfbb",
        "#ffb058",
        "#2991cf",
        "#87b8d4",
        "#109693",
        "#f29494",
        "#527cf9",
        "#7140d1",
        "#e79e4e",
        "#52b4ee",
        "#6ed7e0",
        "#8fa6b4",
        "#ffcfcf",
        "#28304e",
        "#95aac9",
        "#f2545b",
        "#f7bc06",
        "#00cc99",
        "#19b5fe",
        "#E3EBF6"
    ];
```

{% hint style="info" %}
Chart colors are stored in color array in `atmos.js` file located in `assets/js` folder
{% endhint %}

![](https://621507229-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LMWvbwDSTI9_skSMXwK%2F-LUEqwyPn3eAo68Vcktk%2F-LUErCDXQfwgYg4U96eq%2Fimage.png?alt=media\&token=2b042350-253e-45df-b7fd-964716d2bc4f)


# Buttons

Buttons follow the same contextual classes as of bootstrap with additional modifiers.

<div align="left"><img src="https://621507229-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LMWvbwDSTI9_skSMXwK%2F-LUFRNNCZUQ13jXN9sNI%2F-LUFRhOTVHKzDYR9g806%2Fimage.png?alt=media&amp;token=86c780a9-3360-4a42-b8f2-ca1108ed8df4" alt=""></div>

```markup
<button type="button" class="btn btn-primary">Primary</button>
<button type="button" class="btn btn-secondary">Secondary</button>
<button type="button" class="btn btn-success">Success</button>
<button type="button" class="btn btn-danger">Danger</button>
<button type="button" class="btn btn-warning">Warning</button>
<button type="button" class="btn btn-info">Info</button>
<button type="button" class="btn btn-light">Light</button>
<button type="button" class="btn btn-dark">Dark</button>
<button type="button" class="btn btn-link ">Link</button>
```

### Rounded Buttons

<div align="left"><img src="https://621507229-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LMWvbwDSTI9_skSMXwK%2F-LUFRNNCZUQ13jXN9sNI%2F-LUFRpmtafd6ae1rbQkq%2Fimage.png?alt=media&amp;token=01fcedad-53e4-4e4a-9f63-d7ccd0cc8671" alt=""></div>

```markup
<button type="button" class="btn btn-primary btn-rounded ">Primary</button>
<button type="button" class="btn btn-secondary btn-rounded ">Secondary</button>
<button type="button" class="btn btn-success btn-rounded ">Success</button>
<button type="button" class="btn btn-danger btn-rounded ">Danger</button>
<button type="button" class="btn btn-warning btn-rounded ">Warning</button>
<button type="button" class="btn btn-info btn-rounded ">Info</button>
<button type="button" class="btn btn-light btn-rounded ">Light</button>
<button type="button" class="btn btn-dark btn-rounded ">Dark</button>
<button type="button" class="btn btn-link  btn-rounded ">Link</button>

```

### Button Badge

badges can be combined with buttons following is an example of badges with soft version of their color you can also use non soft color variation like `badge-primary`

<div align="left"><img src="https://621507229-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LMWvbwDSTI9_skSMXwK%2F-LUFRNNCZUQ13jXN9sNI%2F-LUFRyZGsNNZU7N2we7M%2Fimage.png?alt=media&amp;token=9172c847-1fa6-42af-8898-cec3d53f496b" alt=""></div>

```markup
<button type="button" class="btn badge badge-soft-primary ">Primary</button>
<button type="button" class="btn badge badge-soft-secondary ">Secondary</button>
<button type="button" class="btn badge badge-soft-success ">Success</button>
<button type="button" class="btn badge badge-soft-danger ">Danger</button>
<button type="button" class="btn badge badge-soft-warning ">Warning</button>
<button type="button" class="btn badge badge-soft-info ">Info</button>
<button type="button" class="btn badge badge-soft-light ">Light</button>
<button type="button" class="btn badge badge-soft-dark ">Dark</button>
<button type="button" class="btn badge badge-soft-link  ">Link</button>

```

### Rounded Circle Buttons

<div align="left"><img src="https://621507229-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LMWvbwDSTI9_skSMXwK%2F-LUFRNNCZUQ13jXN9sNI%2F-LUFS1iEOfFwRwYaJdVf%2Fimage.png?alt=media&amp;token=6d552034-f9be-4bfc-b8c7-046b9c7487a1" alt=""></div>

```markup
<button type="button" class="btn btn-rounded-circle btn-primary ">Primary</button>
<button type="button" class="btn btn-rounded-circle btn-secondary ">Secondary</button>
<button type="button" class="btn btn-rounded-circle btn-success ">Success</button>
<button type="button" class="btn btn-rounded-circle btn-danger ">Danger</button>
<button type="button" class="btn btn-rounded-circle btn-warning ">Warning</button>
<button type="button" class="btn btn-rounded-circle btn-info ">Info</button>
<button type="button" class="btn btn-rounded-circle btn-light ">Light</button>
<button type="button" class="btn btn-rounded-circle btn-dark ">Dark</button>
<button type="button" class="btn btn-rounded-circle btn-link  ">Link</button>
```


# Icons

Atmos comes bundled with 1500+ material design icons which are available from <https://materialdesignicons.com>.

To use the icons include the following css file

```markup
<link rel="stylesheet" type="text/css" href="assets/fonts/materialdesignicons/materialdesignicons.min.css">
```

####

### Mapped Icons

we have used material icons as default icon family in atlas. you can change the icons used in atlas by changing values  in variables

```css
//Icons
$icon-font: 'Material Design Icons';

//Icon Mappings
$icon-chevron-down: "\F140";
$icon-chevron-up: "\F143";
$icon-chevron-left: "\F141";
$icon-chevron-right: "\F142";
$icon-sidebar-pin: "\F930";
$icon-sidebar-pin-off: "\F92F";
$icon-search: "\F349";
$icon-arrow-right: "\F054";
$icon-arrow-left: "\F04D";
$icon-close: "\F156";
$icon-close-circle: "\F15a";
$icon-check: "\F12c";
$icon-check-circle: "\F5e0";
$icon-circle: "\F130";
$icon-fullscreen: "\F293";
$icon-fullscreen-close: "\F294";
$icon-reload: "\F453";
$icon-menu: "\F35C";
```


# Cards

Cards inherit the same properties as bootstraps default cards. we have tuned it to match the scheme of admin panel

### Default card

```markup
<div class="card m-b-30">
    <div class="card-header">
        <h5 class="card-title m-b-0">Card title</h5>

    </div>
    <div class="card-body">

        <p class="card-text">Some quick example text to build on the card title and make up the bulk
            of the card's content.</p>
        <p>
            Lorem ipsum dolor sit amet, consectetur adipisicing elit. Autem cupiditate deleniti
            dolore exercitationem explicabo facere ipsa itaque iusto, maiores minima modi molestias
            nobis optio provident quas repudiandae tempore temporibus, voluptatem.
        </p>
    </div>
    <div class="card-footer">
        <a href="#!" class="btn btn-primary">Link</a>
    </div>
</div>

```

### Card with controls

```markup
 <div class="card">
    <div class="card-header">
        <h5 class="card-title m-b-0">Card title</h5>

        <div class="card-controls">

            <a href="#" class="js-card-fullscreen icon"></a>
            <a href="#" class="js-card-refresh icon"></a>
            <a href="#" class="js-card-close icon"></a>
            <div class="dropdown">
                <a href="#" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <i
                        class="icon mdi  mdi-dots-vertical"></i> </a>

                <div class="dropdown-menu dropdown-menu-right">
                    <button class="dropdown-item" type="button">Action</button>
                    <button class="dropdown-item" type="button">Another action</button>
                    <button class="dropdown-item" type="button">Something else here</button>
                </div>
            </div>
        </div>
    </div>
    <div class="card-body">

        <p class="card-text">Some quick example text to build on the card title and make up the bulk
            of the card's content.</p>
        <p>
            Lorem ipsum dolor sit amet, consectetur adipisicing elit. Autem cupiditate deleniti
            dolore exercitationem explicabo facere ipsa itaque iusto, maiores minima modi molestias
            nobis optio provident quas repudiandae tempore temporibus, voluptatem.
        </p>
    </div>
    <div class="card-footer">
        <a href="#!" class="btn btn-primary">Link</a>
    </div>
</div>

```

### Card with scrolling body

```markup
<div class="card ">
    <div class="card-header">
        <h5 class="card-title m-b-0">Scrollable Card</h5>
    </div>
    <div class="card-body card-scroll">
        <p>
            Lorem ipsum dolor sit amet, consectetur adipisicing elit. Autem cupiditate deleniti
            dolore exercitationem explicabo facere ipsa itaque iusto, maiores minima modi
            molestias nobis optio provident quas repudiandae tempore temporibus, voluptatem.
        </p>

        <p>
            Lorem ipsum dolor sit amet, consectetur adipisicing elit. Autem cupiditate deleniti
            dolore exercitationem explicabo facere ipsa itaque iusto, maiores minima modi
            molestias nobis optio provident quas repudiandae tempore temporibus, voluptatem.
        </p>

        <p>
            Lorem ipsum dolor sit amet, consectetur adipisicing elit. Autem cupiditate deleniti
            dolore exercitationem explicabo facere ipsa itaque iusto, maiores minima modi
            molestias nobis optio provident quas repudiandae tempore temporibus, voluptatem.
        </p>

        <p>
            Lorem ipsum dolor sit amet, consectetur adipisicing elit. Autem cupiditate deleniti
            dolore exercitationem explicabo facere ipsa itaque iusto, maiores minima modi
            molestias nobis optio provident quas repudiandae tempore temporibus, voluptatem.
        </p>


    </div>
    <div class="card-footer text-md-right">
        <a href="#!" class="btn btn-secondary">Link</a>
    </div>
</div>

```

{% hint style="info" %}
for card scrolling to work you need to define height to `card-body` default is set to `350px` in`card.scss`
{% endhint %}


# Alerts

### Default Alerts

```markup
<div class="alert alert-primary" role="alert">
  A simple primary alert—check it out!
</div>
<div class="alert alert-secondary" role="alert">
  A simple secondary alert—check it out!
</div>
<div class="alert alert-success" role="alert">
  A simple success alert—check it out!
</div>
<div class="alert alert-danger" role="alert">
  A simple danger alert—check it out!
</div>
<div class="alert alert-warning" role="alert">
  A simple warning alert—check it out!
</div>
<div class="alert alert-info" role="alert">
  A simple info alert—check it out!
</div>
<div class="alert alert-light" role="alert">
  A simple light alert—check it out!
</div>
<div class="alert alert-dark" role="alert">
  A simple dark alert—check it out!
</div>
```

### Dismissable Alerts

```markup
<div class="alert alert-warning alert-dismissible fade show" role="alert">
  <strong>Holy guacamole!</strong> You should check in on some of those fields below.
  <button type="button" class="close" data-dismiss="alert" aria-label="Close">
    <span aria-hidden="true">&times;</span>
  </button>
</div>
```

### Bordered Alerts

<div align="left"><img src="https://621507229-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LMWvbwDSTI9_skSMXwK%2F-LUFd1pOfYdT1vzeGnvv%2F-LUFe8ljz6x7kuNf6-JO%2Fimage.png?alt=media&amp;token=6bbc9ba8-e536-41b0-a784-703046bff09f" alt=""></div>

```markup
<div class="alert alert-border-info  alert-dismissible fade show" role="alert">
    <div class="d-flex">
        <div class="icon">
            <i class="icon mdi mdi-alert-circle-outline"></i>
        </div>
        <div class="content">
            <strong>Holy guacamole!</strong> You should check in on some of those fields below.
            <button type="button" class="close" data-dismiss="alert" aria-label="Close">
                <span aria-hidden="true">&times;</span>
            </button>
        </div>
    </div>

</div>
```

### Pinned Alerts

These alerts are pinned to body when they are trigger. they can be used for delivering contextual notifications on the panel

```javascript
 $('.admin-content').alertNotify({
           message: "Alert Message it can contain  html <b>Danger</b>",
           type:  "danger", //primary,danger,success,info,warning
           dismiss:  true // can be dismissed or not
       });
```


# Modals

Modals are created using Bootstrap Native Modals, they will work as the same way how it works in bootstrap. To run a Bootstrap Modal, there is no dependencies, you do not have to include extra JS or CSS files,To add a modal please refer following guidelines.

{% embed url="<https://getbootstrap.com/docs/4.1/components/modal/>" %}

### Modal Variations

we extended more options to bootstrap modals by adding different positioning classes to the modal to use it.

#### Slide right modal

Simply add the class `modal-slide-right` to main modal DIV Your HTML tag structure should look like this. You can change the id attribute of the modal to anything you want.

```markup
<!-- Modal -->
<div class="modal fade modal-slide-right" id="slideRightModal" tabindex="-1" role="dialog"
     aria-labelledby="slideRightModalLabel" aria-hidden="true">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title" id="slideRightModalLabel">Modal title</h5>
                <button type="button" class="close" data-dismiss="modal"
                        aria-label="Close">
                    <span aria-hidden="true">&times;</span>
                </button>
            </div>
            <div class="modal-body">
                ...
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-secondary" data-dismiss="modal">
                    Close
                </button>
                <button type="button" class="btn btn-primary">Save changes</button>
            </div>
        </div>
    </div>
</div>
```

#### Slide left

Simply add the class `modal-slide-left` to main modal DIV Your HTML tag structure should look like this. You can change the id attribute of the modal to anything you want.

```markup
<!-- Modal -->
<div class="modal fade modal-slide-left" id="slideLeftModal" tabindex="-1" role="dialog"
     aria-labelledby="slideLeftModalLabel" aria-hidden="true">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title" id="slideLeftModalLabel">Modal title</h5>
                <button type="button" class="close" data-dismiss="modal"
                        aria-label="Close">
                    <span aria-hidden="true">&times;</span>
                </button>
            </div>
            <div class="modal-body">
                ...
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-secondary" data-dismiss="modal">
                    Close
                </button>
                <button type="button" class="btn btn-primary">Save changes</button>
            </div>
        </div>
    </div>
</div>
```

### Modal Positions

we extended more options to bootstrap modals by adding different positioning classes to the modal to use it.

```markup
<div class="modal fade  modal-bottom-right" id="positionModal" tabindex="-1" role="dialog"
     aria-labelledby="BottomRightLabel" aria-hidden="true">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title" id="slideRightModalLabel">Modal title</h5>
                <button type="button" class="close" data-dismiss="modal"
                        aria-label="Close">
                    <span aria-hidden="true">&times;</span>
                </button>
            </div>
            <div class="modal-body">
                ...
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-secondary" data-dismiss="modal">
                    Close
                </button>
                <button type="button" class="btn btn-primary">Save changes</button>
            </div>
        </div>
    </div>
</div>
```

#### Position Options:

Simply add the class `positionclass` to main modal DIV Your HTML tag structure should look like this. You can change the id attribute of the modal to anything you want.

| Position class      | Position           |
| ------------------- | ------------------ |
| modal-top-left      | page top left      |
| modal-top-right     | page top right     |
| modal-bottom-left   | page bottom left   |
| modal-bottom-right  | page bottom right  |
| modal-bottom-center | page bottom center |

### Calling a Modal

```markup
<button type="button" class="btn btn-primary" data-toggle="modal"
        data-target="#exampleModal">
    Launch demo modal
</button>
```

{% hint style="success" %}
Atmos modal inherits bootstrap 4 modal methods and events.
{% endhint %}


# Avatar

Create and group avatars of different sizes and shapes with a single component.

### Avatar Sizes&#x20;

<div align="left"><img src="https://621507229-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LMWvbwDSTI9_skSMXwK%2F-LUFl2K37t8D3-MN3zde%2F-LUFmdsDAUB6tesc3s-e%2Fimage.png?alt=media&amp;token=f0def8dd-a218-44be-b039-d20eca1e589e" alt=""></div>

```markup
<div class="avatar avatar-xxl">
    <img src="assets/img/users/user-1.jpg" alt="..." class="avatar-img rounded-circle">
</div>

<div class="avatar avatar-xl">
    <img src="assets/img/users/user-2.jpg" alt="..." class="avatar-img rounded-circle">
</div>

<div class="avatar avatar-lg">
    <img src="assets/img/users/user-3.jpg" alt="..." class="avatar-img rounded-circle">
</div>

<div class="avatar">
    <img src="assets/img/users/user-4.jpg" alt="..." class="avatar-img rounded-circle">
</div>

<div class="avatar avatar-sm">
    <img src="assets/img/users/user-5.jpg" alt="..." class="avatar-img rounded-circle">
</div>

<div class="avatar avatar-xs">
    <img src="assets/img/users/user-6.jpg" alt="..." class="avatar-img rounded-circle">
</div>
```

### Avatar with text placeholders

<div align="left"><img src="https://621507229-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LMWvbwDSTI9_skSMXwK%2F-LUFl2K37t8D3-MN3zde%2F-LUFnBZo8gEx4m2yayus%2Fimage.png?alt=media&amp;token=34ca6d96-cd62-4889-922d-03a2532826dd" alt=""></div>

```markup
<div class="avatar avatar-xxl">
    <span class="avatar-title rounded-circle ">AR</span>
</div>

<div class="avatar avatar-xl">
    <span class="avatar-title rounded-circle ">EQ</span>
</div>

<div class="avatar avatar-lg">
    <span class="avatar-title rounded-circle ">VV</span>
</div>

<div class="avatar">
    <span class="avatar-title rounded-circle ">SM</span>
</div>

<div class="avatar avatar-sm">
    <span class="avatar-title rounded-circle ">XS</span>
</div>

<div class="avatar avatar-xs">
    <span class="avatar-title rounded-circle ">SS</span>
</div>
```

### Avatar Status

<div align="left"><img src="https://621507229-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LMWvbwDSTI9_skSMXwK%2F-LUFl2K37t8D3-MN3zde%2F-LUFnupkYgRVBu8YsKy8%2Fimage.png?alt=media&amp;token=28692497-a37c-4ef3-8e45-f9578eed86dd" alt=""></div>

```markup
<div class="avatar avatar-online">
    <img src="assets/img/users/user-4.jpg" alt="..." class="avatar-img rounded-circle">
</div>
<div class="avatar avatar-away">
    <img src="assets/img/users/user-4.jpg" alt="..." class="avatar-img rounded-circle">
</div>
<div class="avatar avatar-dnd">
    <img src="assets/img/users/user-4.jpg" alt="..." class="avatar-img rounded-circle">
</div>
<div class="avatar avatar-offline">
    <img src="assets/img/users/user-4.jpg" alt="..." class="avatar-img rounded-circle">
</div>
```

### Avatar Group

<div align="left"><img src="https://621507229-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LMWvbwDSTI9_skSMXwK%2F-LUFl2K37t8D3-MN3zde%2F-LUFoTYVI2b5TFp5HIVx%2Fimage.png?alt=media&amp;token=3f714884-1770-4792-bd1d-2856abdebf35" alt=""></div>

```markup
<div class="avatar-group">
    <div class="avatar ">
        <img src="assets/img/users/user-2.jpg" alt="..."
             class="avatar-img rounded-circle">
    </div>

    <div class="avatar ">
        <img src="assets/img/users/user-3.jpg" alt="..."
             class="avatar-img rounded-circle">
    </div>

    <div class="avatar">
        <img src="assets/img/users/user-4.jpg" alt="..."
             class="avatar-img rounded-circle">
    </div>

    <div class="avatar ">
        <img src="assets/img/users/user-5.jpg" alt="..."
             class="avatar-img rounded-circle">
    </div>

    <div class="avatar ">
        <span class="avatar-title rounded-circle">AB</span>
    </div>
</div>
```

### Avatar Shape

<div align="left"><img src="https://621507229-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LMWvbwDSTI9_skSMXwK%2F-LUFl2K37t8D3-MN3zde%2F-LUForuKltc3mNPINxdG%2Fimage.png?alt=media&amp;token=d11a47fd-740e-4beb-875f-b7a417b7b945" alt=""></div>

```markup
<div class="avatar avatar-xl">
    <img src="assets/img/users/user-2.jpg" alt="..." class="avatar-img ">
</div>

<div class="avatar avatar-xl">
    <img src="assets/img/users/user-3.jpg" alt="..." class="avatar-img rounded">
</div>

<div class="avatar avatar-xl">
    <img src="assets/img/users/user-3.jpg" alt="..." class="avatar-img rounded-circle">
</div>
```

### Avatar as file picker in forms

You can avatar file picker, this comes handy when you want to create profile picture updating scenarios<br>

<div align="left"><img src="https://621507229-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LMWvbwDSTI9_skSMXwK%2F-LZxwJHla9Sc9fQgReP6%2F-LZxxGZRcAdVopEEQTKN%2Fimage.png?alt=media&amp;token=5a864705-7fff-4d70-b76b-9ad2c0433b07" alt=""></div>

#### Markup

```markup
<label class="avatar-input">
    <span class="avatar avatar-lg">
        <img src="assets/img/users/user-9.jpg" alt="..."
             class="avatar-img rounded-circle">
         <span class="avatar-input-icon rounded-circle">
        <i class="mdi mdi-upload mdi-24px"></i>
    </span>
    </span>
    <input type="file" class="avatar-file-picker" >
</label>
```

#### JS Code for picker

```javascript
 function readFile(input) {
        if (input.files && input.files[0]) {
            var reader = new FileReader();

            reader.onload = function (e) {
                $(input).parents('.avatar-input').find('.avatar-img').attr('src', e.target.result);
            };

            reader.readAsDataURL(input.files[0]);
        }
    }
    $('.avatar-file-picker').on('change', function () {
         readFile(this);
    });

```

{% hint style="info" %}
Please note file picker does not upload image on selection
{% endhint %}


# Tables

Atmos extensively uses bootstrap 4 `.table` classes you can refer their documentation on their site below

{% embed url="<https://getbootstrap.com/docs/4.1/content/tables/>" %}

### Datatables

Datatables provides advanced interaction controls to your HTML tables it also supports bootstrap 4 tables. to use data table please follow the steps.

you can read detailed documentation of datatable at&#x20;

{% embed url="<https://datatables.net/>" %}

#### Step 1

Include the following in head

```markup
<link rel="stylesheet" href="assets/vendor/DataTables/datatables.min.css">
<link rel="stylesheet" href="assets/vendor/DataTables/DataTables-1.10.18/css/dataTables.bootstrap4.min.css">
```

#### Step 2

Include the following before `</body>`

```markup
<script src="assets/vendor/DataTables/datatables.min.js"></script>
```

#### Step 3

```markup
<table id="example" class="table table-hover" cellspacing="0" width="100%">
    <thead>
    <tr>
        <th>Name</th>
        <th>Position</th>
        <th>Office</th>
        <th>Age</th>
        <th>Start date</th>
        <th>Salary</th>
    </tr>
    </thead>
    ​
    <tfoot>
    <tr>
        <th>Name</th>
        <th>Position</th>
        <th>Office</th>
        <th>Age</th>
        <th>Start date</th>
        <th>Salary</th>
    </tr>
    </tfoot>
    ​
    <tbody>
    <tr>
        <td>Tiger Nixon</td>
        <td>System Architect</td>
        <td>Edinburgh</td>
        <td>61</td>
        <td>2011/04/25</td>
        <td>$320,800</td>
    </tr>
    <tr>
        <td>Garrett Winters</td>
        <td>Accountant</td>
        <td>Tokyo</td>
        <td>63</td>
        <td>2011/07/25</td>
        <td>$170,750</td>
    </tr>
    <tr>
        <td>Ashton Cox</td>
        <td>Junior Technical Author</td>
        <td>San Francisco</td>
        <td>66</td>
        <td>2009/01/12</td>
        <td>$86,000</td>
    </tr>
    <tr>
        <td>Cedric Kelly</td>
        <td>Senior Javascript Developer</td>
        <td>Edinburgh</td>
        <td>22</td>
        <td>2012/03/29</td>
        <td>$433,060</td>
    </tr>
    </tbody>
</table>
```

#### Step 4

Initialize the datatable&#x20;

```javascript
 $('#example').DataTable({
            //DataTable Options
 });
```


# Mail Templates

We have now included standard transactional E-Mail templates in to the package, you can find them in email folder in root of the demo or getting started directory

We have used MJML for building the mails just refer to mjml placed in MJML directory for modification.you can copy the contents of any mjml file you like and paste here <https://mjml.io/try-it-live>

![](https://621507229-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LMWvbwDSTI9_skSMXwK%2F-LZOnfoY8OPmQnOUQM1_%2F-LZOnjlvdJSZhnJguq0s%2Fatmos.atomui.com_light_emails_confirm-mail%20\(1\).png?alt=media\&token=355b607b-05eb-4f00-bff5-9c873ca15343)

To read the complete documentation head over to

{% embed url="<https://mjml.io/>" %}


# Form Layouts

Atmos inherits bootstrap 4 form layouts so  there is no need of external JS or CSS libraries.

### Standard Bootstrap Form

```markup
<form>
  <div class="form-row">
    <div class="form-group col-md-6">
      <label for="inputEmail4">Email</label>
      <input type="email" class="form-control" id="inputEmail4" placeholder="Email">
    </div>
    <div class="form-group col-md-6">
      <label for="inputPassword4">Password</label>
      <input type="password" class="form-control" id="inputPassword4" placeholder="Password">
    </div>
  </div>
  <div class="form-group">
    <label for="inputAddress">Address</label>
    <input type="text" class="form-control" id="inputAddress" placeholder="1234 Main St">
  </div>
  <div class="form-group">
    <label for="inputAddress2">Address 2</label>
    <input type="text" class="form-control" id="inputAddress2" placeholder="Apartment, studio, or floor">
  </div>
  <div class="form-row">
    <div class="form-group col-md-6">
      <label for="inputCity">City</label>
      <input type="text" class="form-control" id="inputCity">
    </div>
    <div class="form-group col-md-4">
      <label for="inputState">State</label>
      <select id="inputState" class="form-control">
        <option selected>Choose...</option>
        <option>...</option>
      </select>
    </div>
    <div class="form-group col-md-2">
      <label for="inputZip">Zip</label>
      <input type="text" class="form-control" id="inputZip">
    </div>
  </div>
  <div class="form-group">
    <div class="form-check">
      <input class="form-check-input" type="checkbox" id="gridCheck">
      <label class="form-check-label" for="gridCheck">
        Check me out
      </label>
    </div>
  </div>
  <button type="submit" class="btn btn-primary">Sign in</button>
</form>
```

### Horizontal Form Layout

```markup
<form>
  <div class="form-group row">
    <label for="inputEmail3" class="col-sm-2 col-form-label">Email</label>
    <div class="col-sm-10">
      <input type="email" class="form-control" id="inputEmail3" placeholder="Email">
    </div>
  </div>
  <div class="form-group row">
    <label for="inputPassword3" class="col-sm-2 col-form-label">Password</label>
    <div class="col-sm-10">
      <input type="password" class="form-control" id="inputPassword3" placeholder="Password">
    </div>
  </div>
  <fieldset class="form-group">
    <div class="row">
      <legend class="col-form-label col-sm-2 pt-0">Radios</legend>
      <div class="col-sm-10">
        <div class="form-check">
          <input class="form-check-input" type="radio" name="gridRadios" id="gridRadios1" value="option1" checked>
          <label class="form-check-label" for="gridRadios1">
            First radio
          </label>
        </div>
        <div class="form-check">
          <input class="form-check-input" type="radio" name="gridRadios" id="gridRadios2" value="option2">
          <label class="form-check-label" for="gridRadios2">
            Second radio
          </label>
        </div>
        <div class="form-check disabled">
          <input class="form-check-input" type="radio" name="gridRadios" id="gridRadios3" value="option3" disabled>
          <label class="form-check-label" for="gridRadios3">
            Third disabled radio
          </label>
        </div>
      </div>
    </div>
  </fieldset>
  <div class="form-group row">
    <div class="col-sm-2">Checkbox</div>
    <div class="col-sm-10">
      <div class="form-check">
        <input class="form-check-input" type="checkbox" id="gridCheck1">
        <label class="form-check-label" for="gridCheck1">
          Example checkbox
        </label>
      </div>
    </div>
  </div>
  <div class="form-group row">
    <div class="col-sm-10">
      <button type="submit" class="btn btn-primary">Sign in</button>
    </div>
  </div>
</form>
```

### Floating Label Form

Create Floating label form by adding `.floating-label` class to `.form-group` and make sure you have label as first child then followed by input.

```markup
<form class="" action="#">
    <div class="form-row">
        <div class="form-group floating-label col-md-6">
            <label>Email</label>
            <input type="email" class="form-control" placeholder="Email">
        </div>
        <div class="form-group floating-label col-md-6">
            <label>Password</label>
            <input type="password" class="form-control " placeholder="Password">
        </div>
    </div>
    <div class="form-group floating-label">
        <label>Address</label>
        <input type="text" class="form-control" placeholder="Address 1234 Main St">
    </div>
    <div class="form-group floating-label">
        <label>Address 2</label>
        <input type="text" class="form-control"
               placeholder="Address 2 Apartment, studio, or floor">
    </div>
    <div class="form-row">
        <div class="form-group floating-label col-md-6">
            <label>City</label>
            <input type="text" class="form-control" placeholder="City">
        </div>
        <!--                                    select inputs should have .show-label class by default-->
        <div class="form-group floating-label show-label col-md-4">
            <label>State</label>
            <select class="form-control">
                <option selected>Choose...</option>
                <option>Remember</option>
                <option>keeping</option>
                <option>things</option>
                <option>Classy</option>
                <option>is important</option>
            </select>
        </div>
        <div class="form-group floating-label col-md-2">
            <label>Zip</label>
            <input type="text" class="form-control" placeholder="Zip">
        </div>
    </div>

    <button type="submit" class="btn btn-success">Create Account</button>

</form>
```

{% hint style="info" %}
You can find `floating-label` styles at floating.scss
{% endhint %}

### Form Dark

Atmos comes with form variation for creating dark inputs, to achieve this just make the add `.form-dark` to make all children inputs dark style.

```markup
<form class="form-dark" action="#">
    <div class="form-row">
        <div class="form-group  col-md-6">
            <label>Email</label>
            <input type="email" class="form-control" placeholder="Email">
        </div>
        <div class="form-group col-md-6">
            <label>Password</label>
            <input type="password" class="form-control" placeholder="Password">
        </div>
    </div>
    <div class="form-group">
        <label>Address</label>
        <input type="text" class="form-control" placeholder="1234 Main St">
    </div>
    <div class="form-group">
        <label>Address 2</label>
        <input type="text" class="form-control" placeholder="Apartment, studio, or floor">
    </div>
    <div class="form-row">
        <div class="form-group col-md-6">
            <label>City</label>
            <input type="text" class="form-control">
        </div>
        <div class="form-group col-md-4">
            <label>State</label>
            <select class="form-control">
                <option selected>Choose...</option>
                <option>Remember</option>
                <option>keeping</option>
                <option>things</option>
                <option>Classy</option>
                <option>is important</option>
            </select>
        </div>
        <div class="form-group col-md-2">
            <label>Zip</label>
            <input type="text" class="form-control">
        </div>
    </div>

    <button type="submit" class="btn btn-success">Create Account</button>

</form>
```

{% hint style="info" %}
form-dark also works for floating labels
{% endhint %}

### Input Group Flush

To remove borders from the input group we have included `input-group-flush` class. following is an sample markup of flushed group borders

```markup
<div class="input-group input-group-flush mb-3">
    <input type="text" class="form-control form-control-prepended" placeholder="Enter Security Pin Code">
    <div class="input-group-prepend">
        <div class="input-group-text">
            <span class=" mdi mdi-lock "></span>
        </div>
    </div>
</div>
<div class="input-group input-group-flush mb-3">
    <input type="number" class="form-control form-control-prepended" placeholder="Enter your vision">
    <div class="input-group-prepend">
        <div class="input-group-text">
            <span class=" mdi mdi-eye "></span>
        </div>
    </div>
</div>

<div class="input-group input-group-flush mb-3">
    <input type="mail" class="form-control form-control-appended"  placeholder="Enter your Email">
    <div class="input-group-append">
        <div class="input-group-text">
            <span class=" mdi mdi-email "></span>
        </div>
    </div>
</div>
```


# Switch

We have created css only switches in atmos, so you do not need to include any additional css or JavaScript files into your project, moreover they also support default browser based validation without any additional configuration.

<div align="left"><img src="https://621507229-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LMWvbwDSTI9_skSMXwK%2F-LUKoFXANymiiWi7qYXW%2F-LUKxPhUOeP2fcMDI79b%2Fimage.png?alt=media&amp;token=8afc4d38-c891-478b-8336-b3fe558050dd" alt=""></div>

```markup
<label class="cstm-switch">
    <input type="checkbox" name="option" value="1" class="cstm-switch-input">
    <span class="cstm-switch-indicator "></span>
    <span class="cstm-switch-description">Switch </span>
</label>

<label class="cstm-switch">
    <input type="checkbox" checked name="option" value="1" class="cstm-switch-input">
    <span class="cstm-switch-indicator "></span>
    <span class="cstm-switch-description">Switch </span>
</label>

<label class="cstm-switch">
    <input type="checkbox" checked name="option" value="1" class="cstm-switch-input">
    <span class="cstm-switch-indicator bg-success "></span>
    <span class="cstm-switch-description">Switch success</span>
</label>


<label class="cstm-switch">
    <input type="checkbox" checked name="option" value="1" class="cstm-switch-input">
    <span class="cstm-switch-indicator bg-info "></span>
    <span class="cstm-switch-description">Switch info</span>
</label>

<label class="cstm-switch">
    <input type="checkbox" checked name="option" value="1" class="cstm-switch-input">
    <span class="cstm-switch-indicator bg-warning "></span>
    <span class="cstm-switch-description">Switch warning</span>
</label>

<label class="cstm-switch">
    <input type="checkbox" checked name="option" value="1" class="cstm-switch-input">
    <span class="cstm-switch-indicator bg-danger "></span>
    <span class="cstm-switch-description">Switch Danger</span>
</label>
```

```markup
```

### Switch as radio

You can use switch as checkbox as well as radio just change the input type to radio for radio buttons

```markup
<label class="cstm-switch">
    <input type="radio" checked name="option" value="1" class="cstm-switch-input">
    <span class="cstm-switch-indicator bg-danger "></span>
    <span class="cstm-switch-description">Switch Danger</span>
</label>
```

### Switch Size

Just add `.size-lg` to `.custom-switch-indicator`  for large sizes.

<div align="left"><img src="https://621507229-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LMWvbwDSTI9_skSMXwK%2F-LUKoFXANymiiWi7qYXW%2F-LUKyl9hnvRuyRxpESnb%2Fimage.png?alt=media&amp;token=a8298b15-1d28-4778-9f34-2e29d15719bb" alt=""></div>

```markup
<label class="cstm-switch ">
    <input type="checkbox" required name="option" value="1"
           class="cstm-switch-input ">
    <span class="cstm-switch-indicator size-lg "></span>
    <span class="cstm-switch-description">Large Switch #1</span>
</label>
<label class="cstm-switch m-l-10 ">
    <input type="checkbox" required name="option" value="1"
           class="cstm-switch-input ">
    <span class="cstm-switch-indicator size-lg "></span>
    <span class="cstm-switch-description">Large Switch #2</span>
</label>
```

{% hint style="info" %}
You can check switch.scss  for further customization
{% endhint %}


# Tag Input

Tag input checkbox do not require any additional includes for working they are css only tags.

<div align="left"><img src="https://621507229-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LMWvbwDSTI9_skSMXwK%2F-LUKzH7MA4Yqr4wiExZw%2F-LUL-Unj2gxsQab_S3QV%2Fimage.png?alt=media&amp;token=0cff8ce0-13f9-4d2c-92d7-1cf5b71e4e9e" alt=""></div>

```markup
<div class="tag-input">
    <input checked id="oreo" type="checkbox">
    <label for="oreo">Oreo</label>
</div>
<div class="tag-input">
    <input id="kitkat" type="checkbox">
    <label for="kitkat">Kitkat</label>
</div>
<div class="tag-input">
    <input id="Eclair" type="checkbox">
    <label for="Eclair">Eclair</label>
</div>
<div class="tag-input">
    <input id="Gingerbread" type="checkbox">
    <label for="Gingerbread">Gingerbread</label>
</div>
<div class="tag-input">
    <input id="Honeycomb" type="checkbox">
    <label for="Honeycomb"> Honeycomb</label>
</div>
```

{% hint style="info" %}
Tag input css code is at taginput.scss file
{% endhint %}


# Radio Box

adio box can be used for making clear and distinctive labels with more information. radio box does not require additional css and JavaScript apart from atmos defaults.

<div align="left"><img src="https://621507229-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LMWvbwDSTI9_skSMXwK%2F-LUL1q027gaM1AUxbdkK%2F-LUL2ubXS_VTj6o1HuLu%2Fimage.png?alt=media&amp;token=5790f2c2-d2cd-4a62-96d6-62125ab06bff" alt=""></div>

```markup
<div class="option-box">
    <input id="radio-new1" name="bigradios" type="radio">
    <label for="radio-new1">
         <span class="radio-content">
                  <span class="h6 d-block">Starter Plan
                      <span class="badge-soft-primary badge">$12 MONTH</span>
                  </span>
                   <span class="text-muted d-block m-b-10">
                                                Lorem ipsum dolor sit amet, consectetur adipisicing elit. Accusantium blanditiis ducimus ipsa provident quae quaerat similique? Consequatur consequuntur cum, inventore nihil porro quis. Ad assumenda eligendi illum impedit quis totam.
                   </span>
         </span>
    </label>
</div>
```

### Radio box Columns

Radio box Column is similar to radio-box with a slight variation<br>

![](https://621507229-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LMWvbwDSTI9_skSMXwK%2F-LUL1q027gaM1AUxbdkK%2F-LUL3KxVuHbBdNn8WqYL%2Fimage.png?alt=media\&token=81a3c392-843e-4d1d-a909-34f533a7b300)

```markup
<div class="option-box-column">
				<input id="radio-column-1" name="column-radio" type="radio">
				<label for="radio-column-1">
					<span class="radio-content">
						<span class="p-all-15 d-block">
							<span class="h3 d-block">$15</span>
							<span class="list-group">
								<span class="list-group-item">Cras justoodio</span>
								<span class="list-group-item">Dapibus ac facilisis in</span>
								<span class="list-group-item">Morbi leo risus</span>
								<span class="list-group-item">Vestibulum ateros</span>
							</span>
						</span>
						<span class="radio-highlight">Basic Plan</span>
					</span>
				</label>
</div>
```


# Select2

We have included select2 plugin for enhanced select options. select2 is free and open source plugin you can check it here <https://select2.org>

### Setup

#### Step 1

Add the plugin css before the atlas stylesheet as we have tuned it according to the scheme of our admin panel

```markup
<link rel="stylesheet" href="assets/vendor/select2/css/select2.min.css">
```

#### Step 2

Include plugin Javascript file before \</body>

```markup
<script src="assets/vendor/select2/js/select2.full.min.js" type="text/javascript"></script>
```

#### Step 3

Add `.js-select` class as selector&#x20;

```markup
<select  class="form-control js-select2">
    <option selected>Apple Pie</option>
    <option>Cup Cake</option>
    <option>Donut</option>
    <option>Eclair</option>
    <option>Froyo</option>
    <option>GingerBread</option>
    <option>HoneyComb</option>
    <option>Ice Cream Sandwich</option>
    <option>Jellybean</option>
    <option>Kitkat</option>
    <option>Lollipop</option>
    <option>Marshmallow</option>
    <option>Nougat</option>
    <option>Oreo</option>
</select>
```

#### Step 4

Initialize the plugin

```javascript
$(".js-select2").select2();
```

### Select2 Tag Input

you also have multiple inputs by using multiple attribute with select tag

```markup
<select multiple class="form-control js-select2">
    <option selected>Apple Pie</option>
    <option>Cup Cake</option>
    <option>Donut</option>
    <option>Eclair</option>
    <option>Froyo</option>
    <option>GingerBread</option>
    <option>HoneyComb</option>
    <option>Ice Cream Sandwich</option>
    <option>Jellybean</option>
    <option>Kitkat</option>
    <option>Lollipop</option>
    <option>Marshmallow</option>
    <option>Nougat</option>
    <option>Oreo</option>
</select>
```

### For more options refer&#x20;

{% embed url="<https://select2.org>" %}


# Datepickers

Atmos comes with host date input options which can be useful for various scenarios, we have included some of the most popular datepicker plugins that are available and are free to use

## Bootstrap Datepicker

Bootstrap datepicker is most simple and easy to implement datepicker, it by default supports bootstrap.

#### step 1

Include the stylesheet `datepicker3.css` inside the  if it's not there already. add this before atmos stylesheet

```markup
<link rel="stylesheet" type="text/css" href="assets/vendor/bootstrap-datepicker/css/bootstrap-datepicker3.min.css">
```

#### Step 2

Include the relevant javascript files inside the  before core template script inclusions, if it's not there already.

```markup
<script src="assets/vendor/bootstrap-datepicker/js/bootstrap-datepicker.min.js"></script>
```

#### Step 3

Add the Markup

```markup
 <input type="text" class="js-datepicker form-control" placeholder="Select a Date">
```

#### Step 4&#x20;

Initialize the plugin

```javascript
$(".js-datepicker").datepicker();
```

{% embed url="<https://uxsolutions.github.io/bootstrap-datepicker/>" %}

## Daterangepicker

Daterangepicker is used for selecting date ranges. To use daterangepicker take a look at following steps

#### Step 1

Include the stylesheet `daterangepicker.css` inside the if it's not there already. add this before atmos stylesheet

```markup
<link rel="stylesheet" href="assets/vendor/daterangepicker/daterangepicker.css">
```

#### Step 2

Include the relevant javascript files inside the before core template script inclusions, if it's not there already.

```markup
<script src="assets/vendor/moment/moment.min.js"></script>
<script src="assets/vendor/daterangepicker/daterangepicker.js"></script>
```

#### Step 3

Add Following Markup

```markup
<input type="text" class="input-daterange form-control">
```

#### Step 4

Initialize the plugin

```javascript
 $('.input-daterange').daterangepicker();
```

{% embed url="<https://github.com/dangrossman/daterangepicker/>" %}

## Timepicker

Bootstrap timepicker for selecting times convenently. we have customised bootstrap timepicker for atmos admin panel. you can check its core at timepicker.scss

#### Step 1

Include the stylesheet `bootstrap-timepicker.min.css` inside the if it's not there already. add this before atmos stylesheet

```markup
<link rel="stylesheet" href="assets/vendor/timepicker/bootstrap-timepicker.min.css">
```

#### Step 2

Include the relevant javascript files inside the before core template script inclusions, if it's not there already.

```markup
<script src="assets/vendor/timepicker/bootstrap-timepicker.min.js"></script>
```

#### Step 3

Add Markup

```markup
<input class="form-control timepicker" type="text">
```

#### Step 4

initialize the plugin

```javascript
 $('.timepicker').timepicker({
        showInputs: false
    });
```

{% embed url="<http://jdewit.github.io/bootstrap-timepicker/>" %}

## Datedropper

datedropper is a fancy datepicker plugin build on top jqueryui datepicker, it has really playful UI for pickup dates.

#### Step 1&#x20;

Include the stylesheet datedropper.min.css inside the if it's not there already. add this before Atmos stylesheet

```markup
<link rel="stylesheet" href="assets/vendor/datedropper/datedropper.min.css">
```

#### Step 2

Include the relevant javascript files inside the before core template script inclusions, if it's not there already.

```markup
<script src="assets/vendor/datedropper/datedropper.min.js"></script>
```

#### Step 3

Add the Markup

```markup
<input class="form-control datedropper" type="text">
```

#### Step 4

Initialize the plugin

```javascript
$('.datedropper').dateDropper();
```

{% embed url="<https://felicegattuso.com/projects/datedropper/>" %}


# Masked Input

Masked input plugin extends formatting of user input for better representation while inputs for inputs like numbers, telephone, currency etc.

#### Step 1

Include JavaScript before end of body tag

```markup
<script src="assets/vendor/jquery.mask/jquery.mask.min.js"></script>
```

#### Step 2

Add markup with data parameters. use data-mask for formatting

```markup
<input type="text" name="field-name" class="form-control" data-mask="00/00/0000" data-mask-clearifnotmatch="true" placeholder="00/00/0000"/>
```

{% embed url="<https://github.com/igorescobar/jQuery-Mask-Plugin>" %}


# Rangeslider

We have used jQueryUI range slider for input range slider inputs.&#x20;

<div align="left"><img src="https://621507229-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LMWvbwDSTI9_skSMXwK%2F-LUYr7SUAZzxJTTA-7kc%2F-LUYrTBFvQjiza8-XZS_%2Fimage.png?alt=media&amp;token=7ec28fab-f5ef-4548-a15e-120869052c81" alt=""></div>

#### Step 1

Include jQueryUI stylesheet before atmos theme Stylesheet to make sure it properly overrides the UI according to our needs

```markup
<link rel="stylesheet" href="assets/vendor/jquery-ui/jquery-ui.min.css">
```

#### Step 2

Add jqueryUI JavaScript files if not included already.

```markup
<script src="assets/vendor/jquery-ui/jquery-ui.min.js" type="text/javascript"></script>
```

#### Step 3

Add markup

```markup
<div class="input-slider"></div>
```

#### Step 4

Initialize the plugin

```javascript
 $(".input-slider").slider({
        range: "min",
 });
```

{% embed url="<https://jqueryui.com/slider/>" %}


# Dropzone Fileupload

DropzoneJS is an open source library that provides drag’n’drop file uploads with image previews.

#### Step 1

Add dropzone stylesheets before atmos to make sure we override styles to fit our theme

```markup
<link rel="stylesheet" href="assets/vendor/dropzone/dropzone.css">
```

#### Step 2

Include JavaScript file before closing body tag

```markup
<script src="assets/vendor/dropzone/dropzone.js" type="text/javascript"></script>
```

#### Step 3

Add `.dropzone` to initialize dropzone plugin with default options.

```markup
<form class="dropzone" action="/">
    <div class="dz-message">
        <h1 class="display-4">
            <i class=" mdi mdi-progress-upload"></i>
        </h1>
        Drop files here or click to upload.<BR>
        <SPAN class="note needsclick">(This is just a demo dropzone. Selected
        files are <STRONG>not</STRONG> actually uploaded.)</SPAN>
        <div class="p-t-5">
            <a href="#" class="btn btn-lg btn-primary">Upload File</a>

        </div>
    </div>
</form>
```

{% embed url="<https://www.dropzonejs.com/>" %}


# Form Wizard

[Bootstrap Wizard plugin](http://vinceg.github.io/twitter-bootstrap-wizard/) to build a wizard out of a formatter tabable structure. It allows to build a wizard functionality using buttons to go through the different wizard steps and using events allows  to hook into each step individually.

#### Step 1

Add JavaScript file before enclosure of body tag

```markup
<script src="assets/vendor/jquery.bootstrap.wizard/jquery.bootstrap.wizard.min.js"></script>
```

#### Step 2

Prepare the Markup

```markup
<div id="rootwizard">

    <ul class="nav nav-pills nav-justified">
        <li class="nav-item"><a class="nav-link" href="#tab1" data-toggle="tab">Verify
            Identity</a></li>
        <li class="nav-item"><a class="nav-link" href="#tab2" data-toggle="tab">Select
            Plans</a></li>
        <li class="nav-item"><a class="nav-link" href="#tab3" data-toggle="tab">
            Delights</a></li>
    </ul>

    <div class="tab-content">
        <div class="tab-pane p-t-20 p-b-20" id="tab1">

            <h3>
                <span class="align-middle">Welcome Fella,</span></h3>
            <div class="form-group">
                <label for="exampleInputEmail1">Email address</label>
                <input type="email" class="form-control" id="exampleInputEmail1"
                       aria-describedby="emailHelp" placeholder="Enter email">
                <small id="emailHelp" class="form-text text-muted">We'll never
                    share your email with anyone else.
                </small>
            </div>
            <div class="form-group">
                <label for="exampleInputPassword1">Password</label>
                <input type="password" class="form-control"
                       id="exampleInputPassword1" placeholder="Password">
            </div>

            <div class="custom-control custom-checkbox">
                <input checked type="checkbox" class="custom-control-input"
                       id="customCheck1">
                <label class="custom-control-label" for="customCheck1">Agree to
                    the terms and conditions.</label>
            </div>


        </div>
        <div class="tab-pane p-t-20 p-b-20" id="tab2">
            <div class="radio-box">
                <input id="radio-new1" name="bigradios" type="radio">
                <label for="radio-new1">
                    <div class="radio-content">
                        <h6>Starter Plan <span class="badge-soft-primary badge">$12 MONTH</span>
                        </h6>
                        <p class="text-muted">
                            description
                        </p>
                    </div>
                </label>
            </div>
            <div class="radio-box">
                <input id="radio-new2" name="bigradios" type="radio">
                <label for="radio-new2">
                    <div class="radio-content">
                        <h6>Pro Plan <span class="badge-soft-info badge">$49 MONTH</span>
                        </h6>

                        <p class="text-muted">
                            description
                        </p>
                    </div>
                </label>
            </div>

        </div>
        <div class="tab-pane p-t-20 p-b-20" id="tab3">
            <div class="row">
                <div class="col m-b-30">
                    <div class="radio-box-column">
                        <input id="radio-column-1" name="column-radio"
                               type="radio">
                        <label for="radio-column-1">
                            <div class="radio-content ">
                                <div class="p-all-15">
                                    <div class="m-b-20">
                                        <img src="assets/img/cake.png" alt="">
                                    </div>
                                    <ul class="list-group">
                                        <li class="list-group-item">2 Cups of
                                            Icecream Daily
                                        </li>
                                        <li class="list-group-item">1 Surprise
                                            Cake
                                        </li>

                                    </ul>
                                </div>

                                <div class="radio-highlight ">
                                    Cup Cakes
                                </div>
                            </div>
                        </label>
                    </div>
                </div>
                <div class="col m-b-30">
                    <div class="radio-box-column">
                        <input id="radio-column-2" name="column-radio"
                               type="radio">
                        <label for="radio-column-2">
                            <div class="radio-content ">
                                <div class="p-all-15">
                                    <div class="m-b-20">
                                        <img src="assets/img/iceccream-bowl.png"
                                             alt="">
                                    </div>
                                    <ul class="list-group">
                                        <li class="list-group-item">1 Cups of
                                            Icecream Daily
                                        </li>
                                        <li class="list-group-item">5 Surprise
                                            Cakes
                                        </li>

                                    </ul>
                                </div>

                                <div class="radio-highlight ">
                                    Ice Cream
                                </div>
                            </div>
                        </label>
                    </div>
                </div>

            </div>
        </div>
        <ul class="nav nav-pills justify-content-between wizard m-b-30">
            <li class=" nav-item next"><a class="nav-link btn-success"
                                          href="#!">Proceed</a></li>


        </ul>
    </div>
</div>
```

#### Step 3

Initialize the plugin

```javascript
 $('#rootwizard').bootstrapWizard({
            'tabClass': 'nav nav-pills',
            'onNext': function (tab, navigation, index) {

            },

        });
```

{% embed url="<http://vinceg.github.io/twitter-bootstrap-wizard/>" %}


# Form Validation

[jQuery Validation](https://jqueryvalidation.org/) plugin makes simple clientside form validation easy, whilst still offering plenty of customization options. It makes a good choice if you’re building something new from scratch, but also when you’re trying to integrate something into an existing application with lots of existing markup.

#### Step 1

Add JavaScript file before end body tag

```markup
<script src="assets/vendor/jquery.validate/jquery.validate.min.js"></script>
```

#### Step 2

Add Markup

```markup
<form class="needs-validation" action="#">
    <div class="form-row">
        <div class="form-group floating-label col-md-12">
            <label>Email</label>
            <input type="email" required class="form-control" placeholder="Email">
        </div>
        <div class="form-group floating-label col-md-12">
            <label>Password</label>
            <input type="password" required class="form-control " id="password"
                   placeholder="Password">
        </div>
    </div>
    <button type="submit" class="btn btn-primary btn-block btn-lg">Login</button>
</form>
```

#### Step 3

Initialize the Plugin

```javascript
$(".needs-validation").validate({
        errorClass: "is-invalid",
        validClass: "is-valid",
    });
```

{% embed url="<https://jqueryvalidation.org/>" %}


# Charts

We have used comprehensive charts to make Atmos bring to life. we have included 4 different charting libraries to go ahead with your needs and create impressive data visualization of your data. you can check each in charts>demo.

### General Chart Colors

```javascript
 window.colors = [
        "#687ae8",
        "#12bfbb",
        "#ffb058",
        "#2991cf",
        "#87b8d4",
        "#109693",
        "#f29494",
        "#527cf9",
        "#7140d1",
        "#e79e4e",
        "#52b4ee",
        "#6ed7e0",
        "#8fa6b4",
        "#ffcfcf",
        "#28304e",
        "#95aac9",
        "#f2545b",
        "#f7bc06",
        "#00cc99",
        "#19b5fe",
        "#E3EBF6"
    ];
```


# Apex Charts

[ApexCharts ](https://apexcharts.com/)is an open-source modern charting library that helps developers to create interactive visualizations for web pages.

#### Step 1

Add Javascript library to body

```markup
<script src="assets/vendor/apexchart/apexcharts.min.js"></script>
```

#### Step 2

Add Chart area DOM element markup

```markup
<div id="chart" class="apexcharts-canvas"></div>
```

#### Step 3

```javascript
var options = {
  chart: {
    type: 'line'
  },
  series: [{
    name: 'sales',
    data: [30,40,35,50,49,60,70,91,125]
  }],
  xaxis: {
    categories: [1991,1992,1993,1994,1995,1996,1997, 1998,1999]
  }
}

var chart = new ApexCharts(document.querySelector("#chart"), options);

chart.render();
```

{% hint style="warning" %}
To trigger resize charts use following JS Snippet

`window.dispatchEvent(new Event('resize'));`
{% endhint %}


# Chartjs

[Chartjs](https://www.chartjs.org/) simple yet flexible JavaScript charting for designers & developers.

#### Step 1

```markup
<script src="assets/vendor/chartjs/Chart.bundle.min.js" type="text/javascript"></script>
```

#### Step 2

Add canvas tag for chartjs DOM element

```markup
<canvas id="myChart" width="400" height="400"></canvas>
```

#### Step 3

Initialize charts

```javascript
var ctx = document.getElementById("myChart").getContext('2d');
var myChart = new Chart(ctx, {
    type: 'bar',
    data: {
        labels: ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"],
        datasets: [{
            label: '# of Votes',
            data: [12, 19, 3, 5, 2, 3],
            backgroundColor: [
                'rgba(255, 99, 132, 0.2)',
                'rgba(54, 162, 235, 0.2)',
                'rgba(255, 206, 86, 0.2)',
                'rgba(75, 192, 192, 0.2)',
                'rgba(153, 102, 255, 0.2)',
                'rgba(255, 159, 64, 0.2)'
            ],
            borderColor: [
                'rgba(255,99,132,1)',
                'rgba(54, 162, 235, 1)',
                'rgba(255, 206, 86, 1)',
                'rgba(75, 192, 192, 1)',
                'rgba(153, 102, 255, 1)',
                'rgba(255, 159, 64, 1)'
            ],
            borderWidth: 1
        }]
    },
    options: {
        scales: {
            yAxes: [{
                ticks: {
                    beginAtZero:true
                }
            }]
        }
    }
});
```


# Google Charts

Google chart tools are powerful, simple to use, and free. Try out our rich gallery of interactive charts and data tools.

{% embed url="<https://developers.google.com/chart/>" %}

#### Step 1

Add google chart hosted library to the page

```markup
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
```

#### Step 2

Add markup

```markup
<div id="gchart-01></div>
```

#### Step 3

Initialize the chart

Please make sure you init the chart function google chart library is loaded

```javascript
  google.charts.load('current', {packages: ['corechart', 'bar', 'calendar']});
  google.charts.setOnLoadCallback(initGoogleCharts);


    function initGoogleCharts() {
        if ($("#gchart-01").length) {

            var data = new google.visualization.DataTable();
            data.addColumn('timeofday', 'Time of Day');
            data.addColumn('number', 'Motivation Level');

            data.addRows([
                [{v: [8, 0, 0], f: '8 am'}, 1],
                [{v: [9, 0, 0], f: '9 am'}, 2],
                [{v: [10, 0, 0], f: '10 am'}, 3],
                [{v: [11, 0, 0], f: '11 am'}, 4],
                [{v: [12, 0, 0], f: '12 pm'}, 5],
                [{v: [13, 0, 0], f: '1 pm'}, 6],
                [{v: [14, 0, 0], f: '2 pm'}, 7],
                [{v: [15, 0, 0], f: '3 pm'}, 8],
                [{v: [16, 0, 0], f: '4 pm'}, 9],
                [{v: [17, 0, 0], f: '5 pm'}, 10],
            ]);

            var options = {
                title: 'Motivation Level Throughout the Day',
                hAxis: {
                    title: 'Time of Day',
                    format: 'h:mm a',
                    viewWindow: {
                        min: [7, 30, 0],
                        max: [17, 30, 0]
                    }
                },
                vAxis: {
                    title: 'Rating (scale of 1-10)'
                },
                height: 400
            };

            var chart = new google.visualization.ColumnChart(
                document.getElementById('gchart-01'));

            chart.draw(data, options);
        }
    }
```


# Chartist

[Chartist.js](https://github.com/gionkunz/chartist-js) is a simple responsive charting library built with SVG. Chartist's goal is to provide a simple, lightweight and unintrusive library to responsively craft charts on your website.

#### Step 1

Include Styles for the chart in head

```markup
<link rel="stylesheet" href="assets/vendor/chartist/chartist.min.css">
```

#### Step 2

Include the chartist javascript library

```markup
<script type="text/javascript" src="assets/vendor/chartist/chartist.min.js"></script>
```

#### Step 3

Add the markup

```markup
 <div id="chartist-01"></div>
```

#### Step 4

Initialize with chart with data

```javascript
 new Chartist.Line('#chartist-01', {
            labels: [1, 2, 3, 4, 5, 6, 7, 8],
            series: [
                [5, 9, 7, 8, 5, 3, 5, 4]
            ]
        }, {
            low: 0,
            showArea: true,
            height: 300
        });
```


# Google Maps

This section will guide you to setup basic google maps. for more information checkout [Google Developer API](https://developers.google.com/maps/documentation/javascript/tutorial).&#x20;

{% hint style="danger" %}
Google Maps will not work without API Key. please create one before implementing maps
{% endhint %}

#### Step 1

Add Google maps JavaScript

```markup
<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap"
    async defer></script>
```

#### Step 2

Add the markup

```
 <div id="map" style="height:450px;width:100%"></div>
```

#### Step 3

Initialize the map

```javascript
 var map;
      function initMap() {
        map = new google.maps.Map(document.getElementById('map'), {
          center: {lat: -34.397, lng: 150.644},
          zoom: 8
        });
      }
```

### Map themes

You can checkout more themes at [snazzymaps](https://snazzymaps.com/)&#x20;


# Vector Maps

Vector maps are created using [jQuery Mapael](https://github.com/neveldo/jQuery-Mapael). it is a jQuery plugin based on raphael.js that allows you to display dynamic vector maps.

#### Step 1

Add JavaScript library to your body tag on page

```markup
<script src="assets/vendor/raphael/raphael.2.2.7.min.js"></script>
<script src="assets/vendor/mapael/jquery.mapael.min.js"></script>
```

{% hint style="info" %}
you can additional maps like one in demo by including it in js.&#x20;
{% endhint %}

#### Step 2

Add Markup

```markup
 <div class="map-container">
        <div class="map">Alternative content</div>
    </div>
```

{% hint style="warning" %}
Remember to add child to the selector with class name `.map`
{% endhint %}

#### Step 3

Initialize the map with data

```javascript
 $(".map-container").mapael({
        map : {
            name : "world_countries"
        }
    });
```

{% embed url="<https://github.com/neveldo/jQuery-Mapael>" %}


# blank template Markup

Markup of blank starter template

{% code title="blank.html" %}

```markup
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8"/>
    <meta http-equiv="content-type" content="text/html;charset=UTF-8"/>
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, shrink-to-fit=no"/>
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-touch-fullscreen" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="default">
    <meta property="og:site_name" content="atlas "/>
    <title>Blank Starter</title>
    <link rel="icon" type="image/x-icon" href="assets/img/logo.png"/>
    <link rel="icon" href="assets/img/logo.png" type="image/png" sizes="16x16">
    
    <link rel="stylesheet" href="assets/vendor/pace/pace.css">
    <script src="assets/vendor/pace/pace.min.js"></script>
    <!--vendors-->
    <link rel="stylesheet" type="text/css" href="assets/vendor/bootstrap-datepicker/css/bootstrap-datepicker3.min.css">
    <link rel="stylesheet" type="text/css" href="assets/vendor/jquery-scrollbar/jquery.scrollbar.css">
    <link rel="stylesheet" href="assets/vendor/select2/css/select2.min.css">
    <link rel="stylesheet" href="assets/vendor/jquery-ui/jquery-ui.min.css">
    <link rel="stylesheet" href="assets/vendor/daterangepicker/daterangepicker.css">
    <link rel="stylesheet" href="assets/vendor/timepicker/bootstrap-timepicker.min.css">
    <link href="https://fonts.googleapis.com/css?family=Hind+Vadodara:500,600,700|Roboto:400,500,600,700" rel="stylesheet">
    <!--Material Icons-->
    <link rel="stylesheet" type="text/css" href="assets/fonts/materialdesignicons/materialdesignicons.min.css">
    <!--Bootstrap + Atlas Admin CSS-->
    <link rel="stylesheet" type="text/css" href="assets/css/atlas.min.css">
    <!-- Additional library for page -->
</head>

<!--sidebar Begins-->
<aside class="admin-sidebar">
    <div class="admin-sidebar-brand">
        <!-- begin sidebar branding-->
        <img class="admin-brand-logo" src="assets/img/logo.svg" width="40" alt="atlas Logo">
        <span class="admin-brand-content"><a href="index.html">  atmos</a></span>
        <!-- end sidebar branding-->
        <div class="ml-auto">
            <!-- sidebar pin-->
            <a href="#" class="admin-pin-sidebar btn-ghost btn btn-rounded-circle"></a>
            <!-- sidebar close for mobile device-->
            <a href="#" class="admin-close-sidebar"></a>
        </div>
    </div>
    <div class="admin-sidebar-wrapper js-scrollbar">
        <!-- Menu List Begins-->
        <ul class="menu">
            <!--list item begins-->
            <li class="menu-item active">
                <a href="#" class="menu-link">
                        <span class="menu-label">
                                                 <span class="menu-name">Link
                                                </span>
                                            </span>
                    <span class="menu-icon">
                                                   <span class="icon-badge badge-success badge badge-pill">1</span>

                                                <i class="icon-placeholder mdi mdi-link-variant "></i>
                                            </span>
                </a>

            </li>
            <!--list item ends-->

            <!--list item begins-->
            <li class="menu-item ">
                <a href="#" class="open-dropdown menu-link">
                        <span class="menu-label">
                                                 <span class="menu-name">Menu level 1
                                                    <span class="menu-arrow"></span>
                                                </span>
                                                <span class="menu-info">Contains submenu</span>
                                            </span>
                    <span class="menu-icon">
                                                <i class="icon-placeholder mdi mdi-link-variant "></i>
                                            </span>
                </a>
                <!--submenu-->
                <ul class="sub-menu">
                    <li class="menu-item">
                        <a href="#" class=" menu-link">
                                            <span class="menu-label">
                                                <span class="menu-name">Menu Level 1.1</span>
                                            </span>
                            <span class="menu-icon">
                                                <i class="icon-placeholder  ">
                                                    L
                                                </i>
                                            </span>
                        </a>

                    </li>
                    <li class="menu-item">
                        <a href="#" class=" menu-link">
                                            <span class="menu-label">
                                                <span class="menu-name">Menu Level 1.1</span>
                                            </span>
                            <span class="menu-icon">
                                                <i class="icon-placeholder  ">
                                                    L
                                                </i>
                                            </span>
                        </a>

                    </li>


                </ul>
            </li>
            <!--list item ends-->

            <!--list item begins-->
            <li class="menu-item ">
                <a href="#" class="open-dropdown menu-link">
                        <span class="menu-label">
                                                 <span class="menu-name">Menu Level 2
                                                    <span class="menu-arrow"></span>
                                                </span>
                                                <span class="menu-info">Contains submenu</span>
                                            </span>
                    <span class="menu-icon">
                                                <i class="icon-placeholder mdi mdi-link-variant "></i>
                                            </span>
                </a>
                <!--submenu-->
                <ul class="sub-menu">
                    <li class="menu-item">
                        <a href="#" class=" menu-link">
                                            <span class="menu-label">
                                                <span class="menu-name">Menu Level 1.1</span>
                                            </span>
                            <span class="menu-icon">
                                                <i class="icon-placeholder  ">
                                                    L
                                                </i>
                                            </span>
                        </a>

                    </li>
                    <li class="menu-item">
                        <a href="#" class="open-dropdown menu-link">
                        <span class="menu-label">
                                                 <span class="menu-name">Menu Level 1.1
                                                    <span class="menu-arrow"></span>
                                                </span>
                                            </span>
                            <span class="menu-icon">
                                                <i class="icon-placeholder mdi mdi-link-variant "></i>
                                            </span>
                        </a>
                        <!--submenu-->
                        <ul class="sub-menu">
                            <li class="menu-item">
                                <a href="#" class=" menu-link">
                                            <span class="menu-label">
                                                <span class="menu-name">Menu Level 2.1 </span>
                                            </span>
                                    <span class="menu-icon">
                                                <i class="icon-placeholder  ">
                                                    L
                                                </i>
                                            </span>
                                </a>
                            </li>

                        </ul>
                    </li>

                </ul>
            </li>
            <!--list item ends-->
        </ul>
        <!-- Menu List Ends-->
    </div>

</aside>
<!--sidebar Ends-->


<main class="admin-main">

    <!--site header begins-->
    <header class="admin-header">

        <a href="#" class="sidebar-toggle" data-toggleclass="sidebar-open" data-target="body"> </a>

        <nav class=" mr-auto my-auto">
            <ul class="nav align-items-center">

                <li class="nav-item">
                    <a class="nav-link  " data-target="#siteSearchModal" data-toggle="modal" href="#">
                        <i class=" mdi mdi-magnify mdi-24px align-middle"></i>
                    </a>
                </li>
            </ul>
        </nav>
        <nav class=" ml-auto">
            <ul class="nav align-items-center">

                <li class="nav-item">
                    <div class="dropdown">
                        <a href="#" class="nav-link" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <i
                                class="mdi mdi-24px mdi-bell-outline"></i> </a>

                        <div class="dropdown-menu notification-container dropdown-menu-right">
                            <h6 class="dropdown-header text-center"><span class="mdi mdi-bell-ring"></span> You have 4 New
                                Messages</h6>

                            <div class="notification-events">
                                <div class="list-group list-group-flush">
                                    <a href="#" class="list-group-item list-group-item-action  text-info text-truncate">
                                        <i class="mdi mdi-alert text-info"></i>
                                        5 new members joined today

                                    </a>
                                
                                </div>
                            </div>
                            <a class="dropdown-item text-center" href="#">View All</a>

                        </div>
                    </div>
                </li>
                <li class="nav-item dropdown ">
                    <a class="nav-link dropdown-toggle" href="#" id="" role="button" data-toggle="dropdown"
                       aria-haspopup="true" aria-expanded="false">
                        <div class="avatar avatar-sm avatar-online">
                            <span class="avatar-title rounded-circle bg-accent">V</span>

                        </div>
                    </a>
                    <div class="dropdown-menu  dropdown-menu-right" aria-labelledby="">
                      
                        <a class="dropdown-item" href="#"> Logout</a>
                    </div>
                </li>

            </ul>

        </nav>
    </header>
    <!--site header ends -->    <section class="admin-content">
    <!-- BEGIN PlACE PAGE CONTENT HERE -->
    <!--  container or container-fluid as per your need           -->
    <div class="container">
        
    </div>
    <!-- END PLACE PAGE CONTENT HERE -->
</section>
</main>


<div class="modal slide-left  fade" id="siteSearchModal" tabindex="-1" role="dialog" aria-labelledby="siteSearchModal"
     aria-hidden="true">
    <div class="modal-dialog modal-dialog-centered" role="document">
        <div class="modal-content">

            <div class="modal-body p-all-0" id="site-search">
                <button type="button" class="close light" data-dismiss="modal" aria-label="Close">
                    <span aria-hidden="true">&times;</span>
                </button>
                <div class="form-dark bg-accent text-white p-t-60 p-b-20 bg-dots" >
                    <h3 class="text-uppercase    text-center  fw-300 "> Search</h3>

                    <div class="container-fluid">
                        <div class="col-md-10 p-t-10 m-auto">
                            <input type="search" placeholder="Search Something"
                                   class=" search form-control form-control-lg">

                        </div>
                    </div>
                </div>
                <div class="">
                    <div class="bg-accent text-muted container-fluid p-b-10 text-center text-overline">
                        results
                    </div>
                    <ul class="list-group list  ">


                        <div class="list-group-item d-flex  align-items-center">
                            <div class="m-r-20">
                                <div class="avatar avatar-sm "><img class="avatar-img rounded-circle"
                                                                    src="assets/img/users/user-3.jpg"></div>
                            </div>
                            <div class="">
                                <div class="name">Eric Chen</div>
                                <div class="text-muted">Developer</div>
                            </div>


                        </div>
                    
                    </ul>
                </div>

            </div>

        </div>
    </div>
</div>


<script src="assets/vendor/jquery/jquery.min.js" type="text/javascript"></script>
<script src="assets/vendor/jquery-ui/jquery-ui.min.js" type="text/javascript"></script>
<script src="assets/vendor/popper/popper.js" type="text/javascript"></script>
<script src="assets/vendor/bootstrap/js/bootstrap.min.js" type="text/javascript"></script>
<script src="assets/vendor/select2/js/select2.full.min.js" type="text/javascript"></script>
<script src="assets/vendor/jquery-scrollbar/jquery.scrollbar.min.js" type="text/javascript"></script>
<script src="assets/vendor/listjs/listjs.min.js" type="text/javascript"></script>
<script src="assets/vendor/moment/moment.min.js"></script>
<script src="assets/vendor/daterangepicker/daterangepicker.js"></script>
<script src="assets/vendor/bootstrap-datepicker/js/bootstrap-datepicker.min.js"></script>
<script src="assets/vendor/bootstrap-notify/bootstrap-notify.min.js" type="text/javascript"></script>
<script src="assets/js/atmos.min.js"></script>
<!--page specific scripts for demo-->
</body>
</html>
```

{% endcode %}


