Concept is built with Bootstrap 5.3.7 and includes custom-styled components optimized for admin dashboards. The template uses modern ES6 modules and is completely jQuery-free.
All Concept components follow this structure:
// ES6 module pattern used throughout Concept
import Chart from 'chart.js/auto';
import DataTable from 'datatables.net-bs5';
// Component initialization
document.addEventListener('DOMContentLoaded', () => {
// Initialize components
});
Based on the SCSS imports and actual implementation:
<div class="card">
<div class="card-header">
<h5 class="card-title">Card Title</h5>
</div>
<div class="card-body">
<p class="card-text">Card content goes here.</p>
</div>
</div>
<div class="alert alert-warning alert-dismissible fade show" role="alert">
<strong>Warning!</strong> This is a warning alert.
<button type="button" class="btn-close" data-bs-dismiss="alert"></button>
</div>
<!-- Button trigger -->
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#exampleModal">
Launch modal
</button>
<!-- Modal -->
<div class="modal fade" id="exampleModal" tabindex="-1">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Modal title</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
</div>
<div class="modal-body">
Modal content
</div>
</div>
</div>
</div>
Most Bootstrap components initialize automatically with data attributes:
<!-- Tooltip -->
<button type="button" data-bs-toggle="tooltip" title="Tooltip text">
Hover me
</button>
<!-- Popover -->
<button type="button" data-bs-toggle="popover" data-bs-content="Popover content">
Click me
</button>
For dynamic content, initialize components manually:
// Initialize all tooltips
const tooltips = document.querySelectorAll('[data-bs-toggle="tooltip"]');
tooltips.forEach(el => new bootstrap.Tooltip(el));
// Initialize specific modal
const modal = new bootstrap.Modal(document.getElementById('myModal'));
modal.show();
// components/custom-component.js
export class CustomComponent {
constructor(element) {
this.element = element;
this.init();
}
init() {
// Component logic
}
static init(selector = '[data-custom-component]') {
document.querySelectorAll(selector).forEach(el => {
new CustomComponent(el);
});
}
}
Explore specific component documentation: