// Jazzy - github.com/realm/jazzy // Copyright Realm Inc. // SPDX-License-Identifier: MIT

window.jazzy = {‘docset’: false} if (typeof window.dash != ‘undefined’) {

document.documentElement.className += ' dash'
window.jazzy.docset = true

} if (navigator.userAgent.match(/xcode/i)) {

document.documentElement.className += ' xcode'
window.jazzy.docset = true

}

function toggleItem($link, $content) {

var animationDuration = 300;
$link.toggleClass('token-open');
$content.slideToggle(animationDuration);

}

function itemLinkToContent($link) {

return $link.parent().parent().next();

}

// On doc load + hash-change, open any targeted item function openCurrentItemIfClosed() {

if (window.jazzy.docset) {
  return;
}
var $link = $(`a[name="${location.hash.substring(1)}"]`).nextAll('.token');
$content = itemLinkToContent($link);
if ($content.is(':hidden')) {
  toggleItem($link, $content);
}

}

$(openCurrentItemIfClosed); $(window).on(‘hashchange’, openCurrentItemIfClosed);

// On item link (‘token’) click, toggle its discussion $(‘.token’).on(‘click’, function(event) {

if (window.jazzy.docset) {
  return;
}
var $link = $(this);
toggleItem($link, itemLinkToContent($link));

// Keeps the document from jumping to the hash.
var href = $link.attr('href');
if (history.pushState) {
  history.pushState({}, '', href);
} else {
  location.hash = href;
}
event.preventDefault();

});

// Clicks on links to the current, closed, item need to open the item $(“a:not(‘.token’)”).on(‘click’, function() {

if (location == this.href) {
  openCurrentItemIfClosed();
}

});

// KaTeX rendering if (“katex” in window) {

$($('.math').each( (_, element) => {
  katex.render(element.textContent, element, {
    displayMode: $(element).hasClass('m-block'),
    throwOnError: false,
    trust: true
  });
}))

}