{"version":3,"file":"daux.min.js.map","sources":["../../../src/js/theme_daux/utils.js","../../../src/js/theme_daux/code_toggle.js","../../../src/js/theme_daux/menu.js","../../../src/js/theme_daux/hamburger.js","../../../src/js/theme_daux/highlight.js","../../../src/js/theme_daux/dark_mode.js"],"sourcesContent":["/* eslint-disable @swissquote/swissquote/import/prefer-default-export */\n\nexport function ready(fn) {\n if (document.readyState === \"loading\") {\n document.addEventListener(\"DOMContentLoaded\", fn);\n } else {\n fn();\n }\n}\n\nexport function loadJS(url, callback) {\n const head = document.getElementsByTagName(\"head\")[0],\n script = document.createElement(\"script\");\n script.type = \"text/javascript\";\n script.async = true;\n script.src = url;\n script.onload = callback;\n head.appendChild(script);\n}\n\nexport function loadCSS(url) {\n const head = document.getElementsByTagName(\"head\")[0],\n link = document.createElement(\"link\");\n link.rel = \"stylesheet\";\n link.href = url;\n head.appendChild(link);\n}\n","import { ready } from \"./utils\";\n\nconst LOCAL_STORAGE_KEY = \"daux_code_blocks_hidden\";\n\nfunction setCodeBlockStyle(codeBlocks, hidden) {\n for (let a = 0; a < codeBlocks.length; a++) {\n codeBlocks[a].classList.toggle(\"CodeToggler--hidden\", hidden);\n }\n try {\n localStorage.setItem(LOCAL_STORAGE_KEY, hidden);\n } catch (e) {\n // local storage operations can fail with the file:// protocol\n }\n}\n\nfunction enableToggler(toggleCodeSection, codeBlocks) {\n const toggleCodeBlockBtnSet = toggleCodeSection.querySelector(\n \".CodeToggler__button--main\"\n ); // available when floating is disabled\n\n toggleCodeBlockBtnSet.addEventListener(\n \"change\",\n ev => {\n setCodeBlockStyle(codeBlocks, !ev.target.checked);\n },\n false\n );\n\n let hidden = false;\n try {\n hidden = localStorage.getItem(LOCAL_STORAGE_KEY);\n\n if (hidden === \"false\") {\n hidden = false;\n } else if (hidden === \"true\") {\n hidden = true;\n }\n\n if (hidden) {\n setCodeBlockStyle(codeBlocks, true);\n toggleCodeBlockBtnSet.checked = false;\n }\n } catch (e) {\n // local storage operations can fail with the file:// protocol\n }\n}\n\nready(() => {\n const codeBlocks = document.querySelectorAll(\".s-content pre\");\n const toggleCodeSection = document.querySelector(\".CodeToggler\");\n\n if (!toggleCodeSection) {\n return;\n }\n\n if (codeBlocks.length) {\n enableToggler(toggleCodeSection, codeBlocks);\n } else {\n toggleCodeSection.classList.add(\"CodeToggler--hidden\");\n }\n});\n","import { ready } from \"./utils\";\n\nfunction recalculateHeight() {\n return new Promise((resolve, reject) => {\n const collapsibleNode = document.querySelector(\".Collapsible__content\");\n\n const realMenuNode = collapsibleNode.querySelector(\"ul\");\n const linkNode = collapsibleNode.querySelector(\".Links\");\n\n const height = realMenuNode.offsetHeight + linkNode.offsetHeight;\n collapsibleNode.style.height = `calc(${height}px + 2em)`;\n //collapsibleNode.style.height = `${height}px`;\n });\n}\nfunction resetMenuHeightTransitioned(item) {\n const recalculateHeightDelaed = ev => {\n recalculateHeight().then(() => {\n ev.target.removeEventListener(\"transitionend\", recalculateHeightDelaed);\n });\n };\n\n item.addEventListener(\"transitionend\", recalculateHeightDelaed);\n}\n\n/**\n * After the transition finishes set the height to auto so child\n * menus can expand properly.\n * @param {Element} item\n */\nfunction resetHeightAfterAnimation(item) {\n const setHeightToAuto = ev => {\n if (ev.target.style.height !== \"0px\") {\n ev.target.style.height = \"auto\";\n }\n\n ev.target.removeEventListener(\"transitionend\", setHeightToAuto);\n };\n\n item.addEventListener(\"transitionend\", setHeightToAuto);\n}\n\nfunction findNavItem(start) {\n let elem = start;\n while ((elem = elem.parentNode) && elem.nodeType !== 9) {\n if (elem.nodeType === 1 && elem.classList.contains(\"Nav__item\")) {\n return elem;\n }\n }\n\n throw new Error(\"Could not find a NavItem...\");\n}\n\nfunction toggleSubMenu(ev) {\n const isEvent = ev.preventDefault !== undefined;\n\n if (isEvent) {\n ev.preventDefault();\n }\n\n const parent = findNavItem(ev.target);\n const subNav = parent.querySelector(\"ul.Nav\");\n\n if (isEvent && parent.classList.contains(\"Nav__item--open\")) {\n // Temporarily set the height so the transition can work.\n subNav.style.height = `${subNav.scrollHeight}px`;\n subNav.style.transitionDuration = \"150ms\";\n subNav.style.height = \"0px\";\n parent.classList.remove(\"Nav__item--open\");\n recalculateHeight();\n } else {\n if (isEvent) {\n subNav.style.transitionDuration = \"150ms\";\n resetHeightAfterAnimation(subNav);\n resetMenuHeightTransitioned(subNav);\n subNav.style.height = `${subNav.scrollHeight}px`;\n parent.classList.add(\"Nav__item--open\");\n } else {\n // When running at page load the transitions don't need to fire and\n // the classList doesn't need to be altered.\n subNav.style.height = \"auto\";\n recalculateHeight();\n }\n }\n}\n\nready(() => {\n const navItems = document.querySelectorAll(\n \".Nav__item.has-children i.Nav__arrow\"\n );\n\n // Go in reverse here because on page load the child nav items need to be\n // opened first before their parents so the height on the parents can be\n // calculated properly.\n for (let i = navItems.length - 1, target; i >= 0; i--) {\n target = navItems[i];\n target.addEventListener(\"click\", toggleSubMenu);\n\n if (target.parentNode.parentNode.classList.contains(\"Nav__item--open\")) {\n toggleSubMenu({ target });\n }\n }\n\n // Some navigations just have sub-pages without having a page by themselves\n const ajNav = document.querySelectorAll(\".Nav__item__link--nopage\");\n for (const navItem of ajNav) {\n navItem.addEventListener(\"click\", toggleSubMenu);\n }\n});\n","import { ready } from \"./utils\";\n\nready(() => {\n const trigger = document.querySelector(\".Collapsible__trigger\");\n\n if (trigger) {\n const content = document.querySelector(\".Collapsible__content\");\n\n trigger.addEventListener(\"click\", ev => {\n if (content.classList.contains(\"Collapsible__content--open\")) {\n content.style.height = 0;\n content.classList.remove(\"Collapsible__content--open\");\n trigger.setAttribute(\"aria-expanded\", \"false\");\n } else {\n trigger.setAttribute(\"aria-expanded\", \"true\");\n content.style.transitionDuration = \"150ms\";\n content.style.height = `${content.scrollHeight}px`;\n content.classList.add(\"Collapsible__content--open\");\n }\n });\n }\n});\n","import { ready, loadJS, loadCSS } from \"./utils\";\n\nready(() => {\n const codeBlocks = document.querySelectorAll(\"pre > code:not(.hljs, .katex)\");\n if (codeBlocks.length) {\n loadJS(`${window.base_url}daux_libraries/highlight.pack.js`, () => {\n [].forEach.call(codeBlocks, window.hljs.highlightBlock);\n });\n }\n});\n\nready(() => {\n const codeBlocks = document.querySelectorAll(\"pre > code.katex\");\n if (codeBlocks.length) {\n loadCSS(`${window.base_url}daux_libraries/katex.min.css`);\n\n loadJS(`${window.base_url}daux_libraries/katex.min.js`, () => {\n [].forEach.call(codeBlocks, (/** @type {HTMLElement} */ e) => {\n const content = e.innerHTML;\n const p = document.createElement(\"p\");\n const span = document.createElement(\"span\");\n p.className = \"katex-display\";\n p.appendChild(span);\n\n const pre = e.parentElement;\n pre.parentElement.insertBefore(p, pre);\n pre.parentElement.removeChild(pre);\n\n window.katex.render(content, span, {\n throwOnError: false\n });\n });\n });\n }\n});\n\nready(() => {\n const mermaidBlocks = document.querySelectorAll(\"div.mermaid\");\n if (mermaidBlocks.length) {\n loadJS(`${window.base_url}daux_libraries/mermaid.min.js`, () => {\n window.mermaid.initialize({ startOnLoad: true });\n });\n }\n});\n","const COLOR_MODE_KEY = \"daux-color-mode\";\nconst VALUE_DARK = \"dark\";\nconst VALUE_LIGHT = \"light\";\nconst CLASS_DARK = \"dark\";\nconst BUTTON = \".ColorMode__button\";\n\nfunction getInitialColorMode() {\n const persistedColorPreference = window.localStorage.getItem(COLOR_MODE_KEY);\n const hasPersistedPreference = typeof persistedColorPreference === \"string\";\n\n // If the user has explicitly chosen light or dark,\n // let's use it. Otherwise, this value will be null.\n if (hasPersistedPreference) {\n return persistedColorPreference;\n }\n\n // If they haven't been explicit, let's check the media\n // query\n const mql = window.matchMedia(\"(prefers-color-scheme: dark)\");\n const hasMediaQueryPreference = typeof mql.matches === \"boolean\";\n if (hasMediaQueryPreference) {\n return mql.matches ? VALUE_DARK : VALUE_LIGHT;\n }\n\n // If they are using a browser/OS that doesn't support\n // color themes, let's default to 'light'.\n return VALUE_LIGHT;\n}\n\nconst colorMode = getInitialColorMode();\n\n// Set the current theme\ndocument.body.classList.toggle(CLASS_DARK, colorMode === VALUE_DARK);\n\nconst toggleCodeBlockBtnSet = document.body.querySelector(BUTTON);\n\nif (toggleCodeBlockBtnSet) {\n // Reflect the current theme on the checkbox\n toggleCodeBlockBtnSet.checked = colorMode === VALUE_DARK;\n\n toggleCodeBlockBtnSet.addEventListener(\n \"change\",\n ev => {\n const checked = ev.target.checked;\n\n document.body.classList.toggle(CLASS_DARK, checked);\n\n window.localStorage.setItem(\n COLOR_MODE_KEY,\n checked ? VALUE_DARK : VALUE_LIGHT\n );\n },\n false\n );\n}\n"],"names":["ready","fn","document","readyState","addEventListener","loadJS","url","callback","head","getElementsByTagName","script","createElement","type","async","src","onload","appendChild","loadCSS","link","rel","href","LOCAL_STORAGE_KEY","setCodeBlockStyle","codeBlocks","hidden","a","length","classList","toggle","localStorage","setItem","e","enableToggler","toggleCodeSection","toggleCodeBlockBtnSet","querySelector","ev","target","checked","getItem","recalculateHeight","Promise","resolve","reject","collapsibleNode","realMenuNode","linkNode","height","offsetHeight","style","resetMenuHeightTransitioned","item","recalculateHeightDelaed","then","removeEventListener","resetHeightAfterAnimation","setHeightToAuto","findNavItem","start","elem","parentNode","nodeType","contains","Error","toggleSubMenu","isEvent","undefined","preventDefault","parent","subNav","scrollHeight","transitionDuration","remove","add","querySelectorAll","trigger","content","setAttribute","window","base_url","forEach","call","hljs","highlightBlock","innerHTML","p","span","className","pre","parentElement","insertBefore","removeChild","katex","render","throwOnError","mermaidBlocks","mermaid","initialize","startOnLoad","navItems","i","ajNav","navItem","COLOR_MODE_KEY","VALUE_DARK","VALUE_LIGHT","CLASS_DARK","BUTTON","getInitialColorMode","persistedColorPreference","hasPersistedPreference","mql","matchMedia","hasMediaQueryPreference","matches","colorMode","body"],"mappings":"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"}