Components with super powers for your Bootstrap apps!
This packages includes:
- Responsive Table: Nice responsive tables without ugly scrollbars
- BS Tabs: Improved tabs, that collapse down to a dropdown and with linkable tabs
- Toaster: Generate beautiful toast message without markup
- Toasts: Easily generate basic ui toasts (success, warning, error) and enforce default styling
- Modalizer: Generate beautiful modals without markup
- Form Validator: Consistent validator that works across tabs and accordions
- BS Progress: indeterminate and top page progress bars
Simply wrap your regular tabs in a bs-tabs
component
<bs-tabs responsive>
<ul class="nav nav-tabs" id="myTab" role="tablist" style="width: 100%">
<li class="nav-item" role="presentation">...</li>
<li class="nav-item" role="presentation">...</li>
<li class="nav-item" role="presentation">...</li>
</ul>
</bs-tabs>
Supported features (add attributes)
- Linkable: clicking on the tab will update the hash
- Responsive: when there is not enough space to fit everything on one line, it will collapse to a dropdown
It can also lazy load content in the tabs. It will trigger a lazyload
on any lazy-loadable
element
Basic usage using the modalizer
function
modalizer({
body: "Hello!",
title: "This is a modal",
icon: btn.dataset.icon,
});
For confirm modals, you can use
modalizerConfirm(
{
body: btn.dataset.confirm,
icon: "question",
},
(res) => {
// form elements are exposed as FormData inside detail
let name = res.detail.get("your_name");
console.log("accepted", res);
},
(res) => {
console.log("denied", res);
}
);
Basic usage using the toaster
function
// You can simply pass a string
toaster("Hello world");
// Or an array
toaster({
body: "Hello world <a href='#'>some link here</a>",
header: `<div class="d-flex align-items-center"><l-i name="star" class="me-2"></l-i> My header</div>`,
autohide: false,
});
However, it can be bothersome to always specify all options. Enters the Toasts
class
Toasts.success("Hello world");
You can easily validate all your forms using FormValidator
<script type="module">
FormValidator.init();
</script>
<form action="" class="needs-validation" data-validation-message="Some fields are not valid">...</form>
Simply set a needs-validation
class. You can also set a message that will be shown in case some fields are invalid.
It will also checks in tabs and accordion and show invalid icons.
You can validate on blur
or keydown
.
<input type="email" class="form-control" id="email-input" value="" data-validation-trigger="blur" />
You can use custom validation rules. Multiple rules are supported using a , as separator.
<input type="password" class="form-control" id="confirm-password" data-validation-rules="same #password" data-validation-trigger="blur">
Built-in rules:
- same {fieldSelector}: check if the value is the same
- digits: contains only digits
- number: is a valid number
- alnum: contains only alnum
You can register custom rules using FormValidation.registerRule
.
- Bootstrap 5 Tags: tags input for bootstrap
- Bootstrap5 autocomplete: the autocomplete input for bootstrap 5 (and more!)
- Admini: the minimalistic bootstrap 5 admin panel
- Formidable Elements: more custom elements for your bootstrap app!