drupal/core/themes/claro/js/details.js

40 lines
1.1 KiB
JavaScript

/**
* DO NOT EDIT THIS FILE.
* See the following change record for more information,
* https://www.drupal.org/node/2815083
* @preserve
**/
(($, Modernizr, Drupal) => {
Drupal.behaviors.claroDetails = {
attach(context) {
$(once('claroDetails', context === document ? 'html' : context)).on('click', event => {
if (event.target.nodeName === 'SUMMARY') {
$(event.target).trigger('focus');
}
});
}
};
Drupal.behaviors.claroDetailsToggleShim = {
attach(context) {
if (Modernizr.details || !Drupal.CollapsibleDetails.instances.length) {
return;
}
$(once('claroDetailsToggleShim', 'details .details-title', context)).on('keypress', event => {
const keyCode = event.keyCode || event.charCode;
if (keyCode === 32) {
$(event.target).closest('summary').trigger('click');
event.preventDefault();
}
});
}
};
Drupal.theme.detailsSummarizedContentWrapper = () => `<span class="claro-details__summary-summary"></span>`;
Drupal.theme.detailsSummarizedContentText = text => text || '';
})(jQuery, Modernizr, Drupal);