# Documentation v8.0.38

Preview Downloads Purchase

# Overview

Metronic exclusive components are written in Javascript without any jQuery dependency in order to make it easier to integrate with SPA frameworks such as Angular, React and Vue. However the Metronic HTML version stil uses jQuery as majority popular jQuery plugins are still on demand. During the build process the Javascript code from the source folder is minified and moved to the assets folder.

# Components

The components folder in `src/js/components`contains Metronic exclusive components written in Javascript without any jQuery dependency. All components can be used by Angular, React and Vue versions.

# Layout

The layout folder in `src/js/layout/`contains Javascript files that handle the Layout partials(Aside, Header, Footer, Subheader, etc).

# Compilation

- Metronic compiles layout, components(including the Bootstrap & custom components) Javascript code into the main bundle: `dist/assets/js/scripts.bundle.js`.
- The custom Javascript code is compiled separately into CSS folder: `dist/assets/js/custom`
- All 3rd-party plugins Javascript code are bundled into the plugins Javascript bundle file and globally included in all pages. `dist/assets/plugins/global/plugins.bundle.js``.

# Components Dynamic Initialization

All In-house and 3rd-party components defined in `src/js/components/`folder need to be initializated when the HTML elements are dynamically populated in DOM via AJAX:

    // In-house components initialization
    KTMenu.createInstances();
    KTDrawer.createInstances();
    KTScroll.createInstances();
    KTScrolltop.createInstances();
    KTSticky.createInstances();
    KTDialer.createInstances();
    KTImageInput.createInstances();
    KTPasswordMeter.createInstances();
    KTSwapper.createInstances();
    KTToggle.createInstances();

Method | Type | Description
--- | --- | ---
`KTMenu.createInstances()` | Mandatory | Menu
`KTDrawer.createInstances()` | Mandatory | Drawer
`KTScroll.createInstances()` | Mandatory | Scroll
`KTScrolltop.createInstances()` | Mandatory | Scrolltop
`KTSticky.createInstances()` | Mandatory | Sticky
`KTDialer.createInstances()` | Optional | Dialer
`KTImageInput.createInstances()` | Optional | Image Input
`KTPasswordMeter.createInstances()` | Optional | Password Meter
`KTSwapper.createInstances()` | Optional | Swapper
`KTToggle.createInstances()` | Optional | Toggle

# Layout Dynamic Initialization

The Layout partials(e.g: Aside, Search, Toolbar, etc) need to be initializated(if defined) when the layout is populated dynamically in DOM via AJAX. Look for available layout classes in `src/js/layout/`folder.

    // Boostrap & 3rd-party components initialization
    KTApp.init();

    // Layout partials initialization(if applicable)
    KTLayoutAside.init();
    KTLayoutSearch.init();
    KTLayoutToolbar.init();

Method | Type | Description
--- | --- | ---
`KTApp.init()` | Mandatory | Boostrap & 3rd-party components initialization defined in `src/js/layout/app.js` Bootstrap Tooltips Bootstrap Popovers Bootstrap Toasts Select2 Autosize CountUp Tiny Slider Smooth Scroll
`KTLayoutAside.init()` | Optional | Aside initialization defined in `src/js/layout/aside.js`
`KTLayoutSearch.init()` | Optional | Search initialization defined in `src/js/layout/search.js`
`KTLayoutToolbar.init()` | Optional | Toolbar initialization defined in `src/js/layout/toolbar.js`

### Explore

### Metronic Licenses

License FAQs
Regular License
For single end product used by you or one client
$ 39
Extended License
For single SaaS app with paying users
$ 969
Custom License
Reach us for custom license offers.
Contact Us
Buy Now

### Metronic Demos

Demo 1
Demo 2
Demo 3
Demo 4
Demo 5
Demo 6
Demo 7
Demo 8
Demo 9
Demo 10
Demo 11
Demo 12
Demo 13
Demo 14
Demo 15
Demo 16
Demo 17
Demo 18
Demo 19
Demo 20
Demo 21
Demo 22
Coming soon
Coming soon

##### Learn & Get Inspired

## Support at devs.keenthemes.com

Join our developers community to find answer to your question and help others. FAQs
Get Support
Documentation & Videos
From guides and video tutorials, to live demos and code examples to get started.
Plugins & Components
Check out our 300+ in-house components and customized 3rd-party plugins.
Layout Builder
Build your layout, preview it and export the HTML for server side integration.
Metronic Downloads
Download your prefered framework and demo with one click.
What's New
Latest features and improvements added with our users feedback in mind.
Buy now