Default
Utilize the
data-toggle="#my_toggle_element"
attribute with an ID selector and
data-toggle-class="hidden"
ttribute to theme the referenced element's visibilty.
Toggling content is a popular technique in web development that enhances user interaction and engagement.
<button class="btn btn-primary" data-toggle="#my_toggle_element" data-toggle-class="hidden">
Toggle Element
</button>
<div class="max-w-[325px] p-5 rounded-lg bg-gray-100 border-2" id="my_toggle_element">
Toggling content is a popular technique in web development that enhances user interaction and engagement.
</div>
Hidden
Appearance
Utilize
data-toggle-class="border-danger bg-success-light"
attribute with Tailwind CSS classes to change the referenced element's appearance.
Toggling content is a popular technique in web development that enhances user interaction and engagement.
<button class="btn btn-primary" data-toggle="#my_toggle_element_3" data-toggle-class="border-danger bg-success-light">
Theme Element
</button>
<div class="max-w-[325px] p-5 rounded-lg bg-gray-100 border-2" id="my_toggle_element_3">
Toggling content is a popular technique in web development that enhances user interaction and engagement.
</div>
Source Code
The following source file manages the JavaScript behavior of the Tailwind CSS Toggle component.
Upon building the assets using
Webpack Build Tools
,
the below file is compiled and added into the
dist/assets/js/core.bundle.js
bundle,
making it available globally across all pages.
File | Description |
---|---|
src/core/components/toggle/toggle.ts
|
The TypeScript source file that manages the JavaScript behavior of the Tailwind CSS Toggle component. |
HTML Markup
The following markup outlines the core structure of the Tailwind CSS Toggle component.
<button class="btn btn-primary" data-toggle="#my_toggle_element" data-toggle-class="hidden">
Toggle Element
</button>
<div class="max-w-[325px] p-5 rounded-lg bg-gray-100 border-2" id="my_toggle_element">
Toggling content is a popular technique in web development that enhances user interaction and engagement.
</div>
Data Attribute Initialization
Auto-initialize all KTToggle instances on page load by adding the
data-toggle="#element_id"
attribute to your toggle element. This triggers on the fly initialization by the KTToggle JavaScript component.
<button class="btn btn-primary" data-toggle="#my_toggle_element" data-toggle-class="hidden">
Toggle Element
</button>
<div class="max-w-[325px] p-5 rounded-lg bg-gray-100 border-2" id="my_toggle_element">
Toggling content is a popular technique in web development that enhances user interaction and engagement.
</div>
These attributes allow you to set options for the KTToggle component during initialization.
The values you provide as strings are automatically converted to the appropriate
KTToggle Options
.
HTML Attribute | Type | Default | Description |
---|---|---|---|
data-toggle
|
string
|
- |
Used to auto-initialize KTToggle instances on page load and provides a string value
serving as an ID selector,
"#content_id"
for a toggle content element.
Alternatively, you can remove it and perform initialization using JavaScript.
|
data-toggle-class
|
string
|
- | The Tailwind CSS class to apply for the toggled state of elements. |
data-toggle-atrribute
|
string
|
- |
The Tailwind CSS attribute with
true
value to apply for the toggled state of elements.
|
data-toggle-active-class
|
string
|
"active"
|
Tailwind CSS class to use for the active state of the toggler elements. |
JavaScript Initialization
To initialize a new toggle component, pass the corresponding
DOM element and configuration options to the KTToggle class constructor.
// Toggleer element
const togglerEl = document.querySelector('#my_toggler');
// Configuration options(optional)
const options = {
target: '#my_toggle_element',
class: 'border-danger bg-gray-100'
};
// Initialize object
const toggler = new KTToggle(togglerEl, options);
<button class="btn btn-primary" data-toggle="false" id="my_toggler">
Toggle Element
</button>
<div class="max-w-[325px] p-5 rounded-lg bg-gray-100 border-2" id="my_toggle_element">
Toggling content is a popular technique in web development that enhances user interaction and engagement.
</div>
To initialize the toggle with JavaScript, use
data-toggle="false"
attribute instead.
This prevents automatic initialization on page load.
Options
This table outlines the configuration options for initialization of Tailwind CSS Toggle instances, using the KTToggle JavaScript component.
Property | Type | Default | Description |
---|---|---|---|
target
|
string
|
- |
An ID selector of a toggleable element. Example:
"#my_toggleable"
.
|
class
|
string
|
- | The Tailwind CSS class to apply for the toggled state of elements. |
atrribute
|
string
|
true
|
The Tailwind CSS attribute with value to apply for the toggled state of elements. |
activeClass
|
string
|
"active"
|
Tailwind CSS class to use for the active state of the toggler elements. |
Utilities
Manage and interact with KTToggle instances using these static methods of
KTToggle
class.
Method | Description |
---|---|
init()
|
Automatically initializes KTToggle object for all elements with the
data-toggle="true"
attribute on page load.
|
createInstances()
|
Allows to create KTToggle instances for all elements that have been dynamically added to the DOM but haven't been activated yet. |
getInstance(element)
|
Returns the
KTToggle
object associated with the given DOM element
element
.
|
getOrCreateInstance(element)
|
Returns the existing
KTToggle
object for the provided DOM element
element
, or creates a new instance if none exists, then returns the same.
|
// Initialize all togglees
KTToggle.init()
// Initialzie pending togglees
KTToggle.createInstances();
// Get toggle object
const togglerEl = document.querySelector('#my_toggler');
const toggle = KTToggle.getInstance(togglerEl);
<button class="btn btn-primary" data-toggle="#my_toggle_element" data-toggle-class="hidden">
Toggle Element
</button>
<div class="max-w-[325px] p-5 rounded-lg bg-gray-100 border-2" id="my_toggle_element">
Toggling content is a popular technique in web development that enhances user interaction and engagement.
</div>
Methods
Use KTToggle component's API methods to programmatically control its behavior.
Method | Description |
---|---|
new KTToggle(element, options)
|
Creates an object instance of KTToggle class for the given DOM
element
and configuration
options
.
|
toggle()
|
Toggles an element to shown or hidden. |
update()
|
Maintains consistency between the toggler and the state of targeted elements, even when a targeted element is changed by a different part of the application. |
isActive()
|
Returning a Boolean value of
true
if the toggle is activated.
|
getOption(name)
|
Retrieves the value of a configuration option by
name
parameter from a KTToggle instance.
|
getElement()
|
Retrieves the DOM element linked to a specific KTToggle instance. |
on(eventName, handler)
|
Allows attaching event listeners to the KTToggle custom events using the
eventName
and
eventId
string parameters. These events enable programmatic interaction based on user actions or
internal state changes of KTToggle. The function returns
string
as a unique identifier for the registered listener, allowing you to remove it later if needed.
|
off(eventName, eventId)
|
Removes an event listener for the
eventName
and
eventId
parameters attached with the
on
method.
|
dispose()
|
Removes the KTToggle instance from an element, including any associated data stored on the DOM element. |
const togglerEl = document.querySelector('#my_toggler');
const toggle = KTToggle.getInstance(togglerEl);
toggle.toggle();
<button class="btn btn-primary" data-toggle="#my_toggle_element" id="my_toggler">
Toggle Element
</button>
<div class="max-w-[325px] p-5 rounded-lg bg-gray-100 border-2" id="my_toggle_element">
Toggling content is a popular technique in web development that enhances user interaction and engagement.
</div>
Events
KTToggle
custom events allows you to register callback functions(event listeners)
that will be invoked automatically whenever specific custom events are triggered within the component.
Event | Description |
---|---|
toggle
|
Triggered immediately before an element is toggled. |
toggled
|
Triggered immediately after an element is toggled. |
const togglerEl = document.querySelector('#my_toggler');
const toggle = KTToggle.getInstance(togglerEl);
toggle.on('toggle', () => {
detail.cancel = true;
console.log('toggle action canceled');
});
toggle.on('toggled', () => {
console.log('toggled event');
});