summaryrefslogtreecommitdiffstatshomepage
path: root/core/themes/claro/js/details.js
blob: 903bde189a4f57db8450022d50ba0d6776fda098 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/**
* 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);