![Oracle Drags Its Feet in the JavaScript Trademark Dispute](https://cdn.sanity.io/images/cgdhsj6q/production/919c3b22c24f93884c548d60cbb338e819ff2435-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
@financial-times/o-toggle
Advanced tools
This utility component adds toggle (show/hide) behaviour to a `` or `` tag and a target.
This utility component adds toggle (show/hide) behaviour to a <button>
or <a>
tag and a target.
Check out how to include Origami components in your project to get started with o-toggle
.
Add the data-o-component="o-toggle"
and data-o-toggle-target
to your toggle element (e.g. <button>
). Where the value of data-o-toggle-target
is the CSS selector for the element you want to show/hide.
When the toggle is clicked a class o-toggle--active
is toggled on the target as well as its aria-hidden
attribute. Use these in your project to style the target according to if the toggle is on or off. Alternatively, add the class o-toggle-display
(to totally hide the target) or o-toggle-visibility
(to layout but visually hide the target) when the toggle is not active.
<button data-o-component="o-toggle" data-o-toggle-target="#my-target">My button</button>
<div id='my-target' class="o-toggle o-toggle-display">Some toggleable content</div>
The data attribute data-o-toggle-callback
may also be set to the name of a function as a string that will be executed every time a toggle happens. E.g:
<script>
window.myToggleCallback = function(state, event) {
if (state === 'open') {
console.log('Target opened');
} else if (state === 'close') {
console.log('Target closed');
}
};
</script>
<button data-o-component="o-toggle" data-o-toggle-target="#my-target" data-o-toggle-callback="myToggleCallback">My button</button>
<div id='my-target' class="o-toggle o-toggle-display">Some toggleable content</div>
Projects may choose to style active targets themselves using the o-toggle--active
class or aria-hidden
attribute. However to use the o-toggle
helper classes o-toggle-display
and o-toggle-visibility
classes (see Markup call the mixin @include oToggle()
:
@include oToggle();
Alternatively the classes may be included granularly with an $opts
map:
@include oToggle($opts: ('display': true));
or
@include oToggle($opts: ('visibility': true));
As with other Origami components, all o-toggle
instances on the page with the data attribute data-o-component="o-toggle"
may be constructed with the o.DOMContentLoaded
event.
import 'o-toggle';
document.addEventListener("DOMContentLoaded", function() {
document.dispatchEvent(new CustomEvent('o.DOMContentLoaded'));
});
Or by calling the init
method:
import Toggle from 'o-toggle';
Toggle.init();
Toggles may also be constructed individually without data-o-component="o-toggle"
:
import Toggle from 'o-toggle';
const toggleEl = document.querySelector('.o-toggle');
const toggle = new Toggle(toggleEl, {
target: '.my-target',
callback: function(state, event) {
if (state === 'open') {
console.log('Target opened');
} else if (state === 'close') {
console.log('Target closed');
}
}
});
A second parameter can be passed to the oToggle constructor or to the .init()
function with a config object that has the following options:
State | Major Version | Last Minor Release | Migration guide |
---|---|---|---|
✨ active | 2 | N/A | migrate to v2 |
╳ deprecated | 1 | 1.2 | N/A |
If you have any questions or comments about this component, or need help using it, please either raise an issue, visit #origami-support or email Origami Support.
This software is published by the Financial Times under the MIT licence.
FAQs
Utility that provides toggle (show/hide) behaviour to a or tag and a target.
The npm package @financial-times/o-toggle receives a total of 280 weekly downloads. As such, @financial-times/o-toggle popularity was classified as not popular.
We found that @financial-times/o-toggle demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 10 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.