sidechat.js 2.4.5 → 2.4.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/dist/index.cjs +5 -5
  2. package/dist/index.mjs +5 -5
  3. package/docs/sidechat.js/2.4.6/SidechatAPIClient.html +3 -0
  4. package/docs/sidechat.js/2.4.6/SidechatAPIError.html +3 -0
  5. package/docs/sidechat.js/{2.3.3/classes_SidechatAPIError.js.html → 2.4.6/SidechatColorList.html} +2 -15
  6. package/docs/sidechat.js/{2.3.6 → 2.4.6}/classes_SidechatAPIClient.js.html +278 -97
  7. package/docs/sidechat.js/{2.3.6 → 2.4.6}/classes_SidechatAPIError.js.html +2 -2
  8. package/docs/sidechat.js/{2.3.6 → 2.4.6}/classes_SidechatColorList.js.html +7 -8
  9. package/docs/sidechat.js/2.4.6/data/search.json +1 -0
  10. package/docs/sidechat.js/2.4.6/global.html +3 -0
  11. package/docs/sidechat.js/{2.3.6 → 2.4.6}/index.html +2 -2
  12. package/docs/sidechat.js/{2.3.6 → 2.4.6}/scripts/core.js +24 -0
  13. package/docs/sidechat.js/{2.3.2 → 2.4.6}/scripts/core.min.js +23 -23
  14. package/docs/sidechat.js/2.4.6/styles/clean-jsdoc-theme-base.css +1161 -0
  15. package/docs/sidechat.js/{2.3.6 → 2.4.6}/styles/clean-jsdoc-theme-dark.css +15 -10
  16. package/docs/sidechat.js/{2.3.6 → 2.4.6}/styles/clean-jsdoc-theme-light.css +196 -102
  17. package/docs/sidechat.js/2.4.6/styles/clean-jsdoc-theme-scrollbar.css +30 -0
  18. package/docs/sidechat.js/2.4.6/styles/clean-jsdoc-theme-without-scrollbar.min.css +1 -0
  19. package/docs/sidechat.js/2.4.6/styles/clean-jsdoc-theme.min.css +1 -0
  20. package/docs/sidechat.js/{2.3.6 → 2.4.6}/tutorial-Authentication.html +2 -2
  21. package/docs/sidechat.js/{2.3.6 → 2.4.6}/tutorial-Email Registration.html +2 -2
  22. package/docs/sidechat.js/{2.3.6 → 2.4.6}/types_SidechatTypes.js.html +28 -2
  23. package/package.json +1 -1
  24. package/src/classes/SidechatAPIClient.js +5 -5
  25. package/docs/sidechat.js/2.3.2/SidechatAPIClient.html +0 -3
  26. package/docs/sidechat.js/2.3.2/SidechatAPIError.html +0 -3
  27. package/docs/sidechat.js/2.3.2/classes_SidechatAPIClient.js.html +0 -750
  28. package/docs/sidechat.js/2.3.2/classes_SidechatAPIError.js.html +0 -16
  29. package/docs/sidechat.js/2.3.2/data/search.json +0 -1
  30. package/docs/sidechat.js/2.3.2/global.html +0 -3
  31. package/docs/sidechat.js/2.3.2/index.html +0 -4
  32. package/docs/sidechat.js/2.3.2/scripts/core.js +0 -702
  33. package/docs/sidechat.js/2.3.2/styles/clean-jsdoc-theme-base.css +0 -975
  34. package/docs/sidechat.js/2.3.2/styles/clean-jsdoc-theme-dark.css +0 -407
  35. package/docs/sidechat.js/2.3.2/styles/clean-jsdoc-theme-light.css +0 -388
  36. package/docs/sidechat.js/2.3.2/styles/clean-jsdoc-theme.min.css +0 -1
  37. package/docs/sidechat.js/2.3.2/tutorial-Authentication.html +0 -14
  38. package/docs/sidechat.js/2.3.2/tutorial-Email Registration.html +0 -6
  39. package/docs/sidechat.js/2.3.2/types_SidechatTypes.js.html +0 -134
  40. package/docs/sidechat.js/2.3.3/SidechatAPIClient.html +0 -3
  41. package/docs/sidechat.js/2.3.3/SidechatAPIError.html +0 -3
  42. package/docs/sidechat.js/2.3.3/classes_SidechatAPIClient.js.html +0 -752
  43. package/docs/sidechat.js/2.3.3/data/search.json +0 -1
  44. package/docs/sidechat.js/2.3.3/fonts/Inconsolata-Regular.ttf +0 -0
  45. package/docs/sidechat.js/2.3.3/fonts/OpenSans-Regular.ttf +0 -0
  46. package/docs/sidechat.js/2.3.3/fonts/WorkSans-Bold.ttf +0 -0
  47. package/docs/sidechat.js/2.3.3/global.html +0 -3
  48. package/docs/sidechat.js/2.3.3/index.html +0 -4
  49. package/docs/sidechat.js/2.3.3/scripts/core.js +0 -702
  50. package/docs/sidechat.js/2.3.3/scripts/core.min.js +0 -23
  51. package/docs/sidechat.js/2.3.3/scripts/resize.js +0 -90
  52. package/docs/sidechat.js/2.3.3/scripts/search.js +0 -265
  53. package/docs/sidechat.js/2.3.3/scripts/search.min.js +0 -6
  54. package/docs/sidechat.js/2.3.3/scripts/third-party/Apache-License-2.0.txt +0 -202
  55. package/docs/sidechat.js/2.3.3/scripts/third-party/fuse.js +0 -9
  56. package/docs/sidechat.js/2.3.3/scripts/third-party/hljs-line-num-original.js +0 -369
  57. package/docs/sidechat.js/2.3.3/scripts/third-party/hljs-line-num.js +0 -1
  58. package/docs/sidechat.js/2.3.3/scripts/third-party/hljs-original.js +0 -5171
  59. package/docs/sidechat.js/2.3.3/scripts/third-party/hljs.js +0 -1
  60. package/docs/sidechat.js/2.3.3/scripts/third-party/popper.js +0 -5
  61. package/docs/sidechat.js/2.3.3/scripts/third-party/tippy.js +0 -1
  62. package/docs/sidechat.js/2.3.3/scripts/third-party/tocbot.js +0 -672
  63. package/docs/sidechat.js/2.3.3/scripts/third-party/tocbot.min.js +0 -1
  64. package/docs/sidechat.js/2.3.3/styles/clean-jsdoc-theme-base.css +0 -975
  65. package/docs/sidechat.js/2.3.3/styles/clean-jsdoc-theme-dark.css +0 -407
  66. package/docs/sidechat.js/2.3.3/styles/clean-jsdoc-theme-light.css +0 -388
  67. package/docs/sidechat.js/2.3.3/styles/clean-jsdoc-theme.min.css +0 -1
  68. package/docs/sidechat.js/2.3.3/tutorial-Authentication.html +0 -14
  69. package/docs/sidechat.js/2.3.3/tutorial-Email Registration.html +0 -6
  70. package/docs/sidechat.js/2.3.3/types_SidechatTypes.js.html +0 -134
  71. package/docs/sidechat.js/2.3.6/SidechatAPIClient.html +0 -3
  72. package/docs/sidechat.js/2.3.6/SidechatAPIError.html +0 -3
  73. package/docs/sidechat.js/2.3.6/data/search.json +0 -1
  74. package/docs/sidechat.js/2.3.6/fonts/Inconsolata-Regular.ttf +0 -0
  75. package/docs/sidechat.js/2.3.6/fonts/OpenSans-Regular.ttf +0 -0
  76. package/docs/sidechat.js/2.3.6/fonts/WorkSans-Bold.ttf +0 -0
  77. package/docs/sidechat.js/2.3.6/global.html +0 -3
  78. package/docs/sidechat.js/2.3.6/scripts/core.min.js +0 -23
  79. package/docs/sidechat.js/2.3.6/scripts/resize.js +0 -90
  80. package/docs/sidechat.js/2.3.6/scripts/search.js +0 -265
  81. package/docs/sidechat.js/2.3.6/scripts/search.min.js +0 -6
  82. package/docs/sidechat.js/2.3.6/scripts/third-party/Apache-License-2.0.txt +0 -202
  83. package/docs/sidechat.js/2.3.6/scripts/third-party/fuse.js +0 -9
  84. package/docs/sidechat.js/2.3.6/scripts/third-party/hljs-line-num-original.js +0 -369
  85. package/docs/sidechat.js/2.3.6/scripts/third-party/hljs-line-num.js +0 -1
  86. package/docs/sidechat.js/2.3.6/scripts/third-party/hljs-original.js +0 -5171
  87. package/docs/sidechat.js/2.3.6/scripts/third-party/hljs.js +0 -1
  88. package/docs/sidechat.js/2.3.6/scripts/third-party/popper.js +0 -5
  89. package/docs/sidechat.js/2.3.6/scripts/third-party/tippy.js +0 -1
  90. package/docs/sidechat.js/2.3.6/scripts/third-party/tocbot.js +0 -672
  91. package/docs/sidechat.js/2.3.6/scripts/third-party/tocbot.min.js +0 -1
  92. package/docs/sidechat.js/2.3.6/styles/clean-jsdoc-theme-base.css +0 -975
  93. package/docs/sidechat.js/2.3.6/styles/clean-jsdoc-theme.min.css +0 -1
  94. /package/docs/sidechat.js/{2.3.2 → 2.4.6}/fonts/Inconsolata-Regular.ttf +0 -0
  95. /package/docs/sidechat.js/{2.3.2 → 2.4.6}/fonts/OpenSans-Regular.ttf +0 -0
  96. /package/docs/sidechat.js/{2.3.2 → 2.4.6}/fonts/WorkSans-Bold.ttf +0 -0
  97. /package/docs/sidechat.js/{2.3.2 → 2.4.6}/scripts/resize.js +0 -0
  98. /package/docs/sidechat.js/{2.3.2 → 2.4.6}/scripts/search.js +0 -0
  99. /package/docs/sidechat.js/{2.3.2 → 2.4.6}/scripts/search.min.js +0 -0
  100. /package/docs/sidechat.js/{2.3.2 → 2.4.6}/scripts/third-party/Apache-License-2.0.txt +0 -0
  101. /package/docs/sidechat.js/{2.3.2 → 2.4.6}/scripts/third-party/fuse.js +0 -0
  102. /package/docs/sidechat.js/{2.3.2 → 2.4.6}/scripts/third-party/hljs-line-num-original.js +0 -0
  103. /package/docs/sidechat.js/{2.3.2 → 2.4.6}/scripts/third-party/hljs-line-num.js +0 -0
  104. /package/docs/sidechat.js/{2.3.2 → 2.4.6}/scripts/third-party/hljs-original.js +0 -0
  105. /package/docs/sidechat.js/{2.3.2 → 2.4.6}/scripts/third-party/hljs.js +0 -0
  106. /package/docs/sidechat.js/{2.3.2 → 2.4.6}/scripts/third-party/popper.js +0 -0
  107. /package/docs/sidechat.js/{2.3.2 → 2.4.6}/scripts/third-party/tippy.js +0 -0
  108. /package/docs/sidechat.js/{2.3.2 → 2.4.6}/scripts/third-party/tocbot.js +0 -0
  109. /package/docs/sidechat.js/{2.3.2 → 2.4.6}/scripts/third-party/tocbot.min.js +0 -0
@@ -632,6 +632,29 @@ function addHrefToSidebarTitle() {
632
632
  });
633
633
  }
634
634
 
635
+ function highlightActiveLinkInSidebar() {
636
+ const list = document.location.href.split('/');
637
+ const targetURL = list[list.length - 1];
638
+ let element = document.querySelector(`.sidebar a[href*='${targetURL}']`);
639
+
640
+ if (!element) {
641
+ try {
642
+ element = document.querySelector(
643
+ `.sidebar a[href*='${targetURL.split('#')[0]}']`
644
+ );
645
+ } catch (e) {
646
+ console.error(e);
647
+
648
+ return;
649
+ }
650
+ }
651
+
652
+ if (!element) return;
653
+
654
+ element.parentElement.classList.add('active');
655
+ element.scrollIntoView();
656
+ }
657
+
635
658
  function onDomContentLoaded() {
636
659
  var themeButton = document.querySelectorAll('.theme-toggle');
637
660
 
@@ -676,6 +699,7 @@ function onDomContentLoaded() {
676
699
  initTooltip();
677
700
  fixTable();
678
701
  addHrefToSidebarTitle();
702
+ highlightActiveLinkInSidebar();
679
703
  }
680
704
 
681
705
  // eslint-disable-next-line no-undef
@@ -1,23 +1,23 @@
1
- var accordionLocalStorageKey="accordion-id",themeLocalStorageKey="theme",fontSizeLocalStorageKey="font-size",html=document.querySelector("html"),MAX_FONT_SIZE=30,MIN_FONT_SIZE=10,localStorage=window.localStorage;function getTheme(){var e=localStorage.getItem(themeLocalStorageKey);if(e)return e;switch(e=document.body.getAttribute("data-theme")){case"dark":case"light":return e;case"fallback-dark":return window.matchMedia("(prefers-color-scheme)").matches&&window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark";case"fallback-light":return window.matchMedia("(prefers-color-scheme)").matches&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";default:return"dark"}}function localUpdateTheme(e){var t=document.body,o=document.querySelectorAll(".theme-svg-use"),n="dark"===e?"#light-theme-icon":"#dark-theme-icon";t.setAttribute("data-theme",e),t.classList.remove("dark","light"),t.classList.add(e),o.forEach(function(e){e.setAttribute("xlink:href",n)})}function updateTheme(e){localUpdateTheme(e),localStorage.setItem(themeLocalStorageKey,e)}function toggleTheme(){updateTheme("dark"===document.body.getAttribute("data-theme")?"light":"dark")}function setAccordionIdToLocalStorage(e){var t=JSON.parse(localStorage.getItem(accordionLocalStorageKey));t[e]=e,localStorage.setItem(accordionLocalStorageKey,JSON.stringify(t))}function removeAccordionIdFromLocalStorage(e){var t=JSON.parse(localStorage.getItem(accordionLocalStorageKey));delete t[e],localStorage.setItem(accordionLocalStorageKey,JSON.stringify(t))}function getAccordionIdsFromLocalStorage(){return JSON.parse(localStorage.getItem(accordionLocalStorageKey))||{}}function toggleAccordion(e){"false"===e.getAttribute("data-isopen")?(e.setAttribute("data-isopen","true"),setAccordionIdToLocalStorage(e.id)):(e.setAttribute("data-isopen","false"),removeAccordionIdFromLocalStorage(e.id))}function initAccordion(){void 0!==localStorage.getItem(accordionLocalStorageKey)&&null!==localStorage.getItem(accordionLocalStorageKey)||localStorage.setItem(accordionLocalStorageKey,"{}");var e=document.querySelectorAll(".sidebar-section-title"),t=getAccordionIdsFromLocalStorage();e.forEach(function(e){e.addEventListener("click",function(){toggleAccordion(e)}),e.id in t&&toggleAccordion(e)})}function isSourcePage(){return Boolean(document.querySelector("#source-page"))}function bringElementIntoView(e,t=!0){var o,n,i,c;e&&(tocbotInstance&&setTimeout(()=>tocbotInstance.updateTocListActiveElement(e),60),o=document.querySelector(".navbar-container"),n=document.querySelector(".main-content"),i=e.getBoundingClientRect().top,c=16,o&&(c+=o.scrollHeight),n&&n.scrollBy(0,i-c),t&&history.pushState(null,null,"#"+e.id))}function bringLinkToView(e){e.preventDefault(),e.stopPropagation();var e=e.currentTarget.getAttribute("href");!e||(e=document.getElementById(e.slice(1)))&&bringElementIntoView(e)}function bringIdToViewOnMount(){var e,t;isSourcePage()||""!==(e=window.location.hash)&&((t=document.getElementById(e.slice(1)))||(e=decodeURI(e),t=document.getElementById(e.slice(1))),t&&bringElementIntoView(t,!1))}function createAnchorElement(e){var t=document.createElement("a");return t.textContent="#",t.href="#"+e,t.classList.add("link-anchor"),t.onclick=bringLinkToView,t}function addAnchor(){var e=document.querySelector(".main-content").querySelector("section");[e.querySelectorAll("h1"),e.querySelectorAll("h2"),e.querySelectorAll("h3"),e.querySelectorAll("h4")].forEach(function(e){e.forEach(function(e){var t=createAnchorElement(e.id);e.classList.add("has-anchor"),e.append(t)})})}function copy(e){const t=document.createElement("textarea");t.value=e,document.body.appendChild(t),t.select(),document.execCommand("copy"),document.body.removeChild(t)}function showTooltip(e){var t=document.getElementById(e);t.classList.add("show-tooltip"),setTimeout(function(){t.classList.remove("show-tooltip")},3e3)}function copyFunction(e){var t=document.getElementById(e);copy((t.querySelector(".linenums")||t.querySelector("code")).innerText.trim().replace(/(^\t)/gm,"")),showTooltip("tooltip-"+e)}function hideTocOnSourcePage(){isSourcePage()&&(document.querySelector(".toc-container").style.display="none")}function getPreTopBar(e,t=""){e='<button aria-label="copy code" class="icon-button copy-code" onclick="copyFunction(\''+e+'\')"><svg class="sm-icon" alt="click to copy"><use xlink:href="#copy-icon"></use></svg>'+('<div class="tooltip" id="tooltip-'+e+'">Copied!</div>')+"</button>";return'<div class="pre-top-bar-container">'+('<div class="code-lang-name-container"><div class="code-lang-name">'+t.toLocaleUpperCase()+"</div></div>")+e+"</div>"}function getPreDiv(){var e=document.createElement("div");return e.classList.add("pre-div"),e}function processAllPre(){var e=document.querySelectorAll("pre"),t=document.querySelector("#PeOAagUepe"),o=document.querySelector("#VuAckcnZhf"),n=0,i=0,c=(t&&(i=t.getBoundingClientRect().height),o&&(n=o.getBoundingClientRect().height),window.innerHeight-n-i-250);e.forEach(function(e,t){var o,n=e.parentNode;n&&"true"===n.getAttribute("data-skip-pre-process")||(n=getPreDiv(),o=getPreTopBar(t="ScDloZOMdL"+t,e.getAttribute("data-lang")||"code"),n.innerHTML=o,e.style.maxHeight=c+"px",e.id=t,e.classList.add("prettyprint"),e.parentNode.insertBefore(n,e),n.appendChild(e))})}function highlightAndBringLineIntoView(){var e=window.location.hash.replace("#line","");try{var t='[data-line-number="'+e+'"',o=document.querySelector(t);o.scrollIntoView(),o.parentNode.classList.add("selected")}catch(e){console.error(e)}}function getFontSize(){var e=16;try{e=Number.parseInt(html.style.fontSize.split("px")[0],10)}catch(e){console.log(e)}return e}function localUpdateFontSize(e){html.style.fontSize=e+"px";var t=document.querySelector("#b77a68a492f343baabea06fad81f651e");t&&(t.innerHTML=e)}function updateFontSize(e){localUpdateFontSize(e),localStorage.setItem(fontSizeLocalStorageKey,e)}function incrementFont(e){var t=getFontSize();t<MAX_FONT_SIZE&&updateFontSize(t+1)}function decrementFont(e){var t=getFontSize();MIN_FONT_SIZE<t&&updateFontSize(t-1)}function fontSizeTooltip(){var e=getFontSize();return`
2
- <div class="font-size-tooltip">
3
- <button aria-label="decrease-font-size" class="icon-button ${MAX_FONT_SIZE<=e?"disabled":""}" onclick="decrementFont(event)">
4
- <svg>
5
- <use xlink:href="#minus-icon"></use>
6
- </svg>
7
- </button>
8
- <div class="font-size-text" id="b77a68a492f343baabea06fad81f651e">
9
- ${e}
10
- </div>
11
- <button aria-label="increase-font-size" class="icon-button ${e<=MIN_FONT_SIZE?"disabled":""}" onclick="incrementFont(event)">
12
- <svg>
13
- <use xlink:href="#add-icon"></use>
14
- </svg>
15
- </button>
16
- <button class="icon-button" onclick="updateFontSize(16)">
17
- <svg>
18
- <use xlink:href="#reset-icon"></use>
19
- </svg>
20
- </button>
21
- </div>
22
-
23
- `}function initTooltip(){tippy(".theme-toggle",{content:"Toggle Theme",delay:500}),tippy(".search-button",{content:"Search",delay:500}),tippy(".font-size",{content:"Change font size",delay:500}),tippy(".codepen-button",{content:"Open code in CodePen",placement:"left"}),tippy(".copy-code",{content:"Copy this code",placement:"left"}),tippy(".font-size",{content:fontSizeTooltip(),trigger:"click",interactive:!0,allowHTML:!0,placement:"left"})}function fixTable(){for(const t of document.querySelectorAll("table")){if(t.classList.contains("hljs-ln"))return;var e=document.createElement("div");e.classList.add("table-div"),t.parentNode.insertBefore(e,t),e.appendChild(t)}}function hideMobileMenu(){var e=document.querySelector("#mobile-sidebar"),t=document.querySelector("#mobile-menu"),o=t.querySelector("use");e&&e.classList.remove("show"),t&&t.setAttribute("data-isopen","false"),o&&o.setAttribute("xlink:href","#menu-icon")}function showMobileMenu(){var e=document.querySelector("#mobile-sidebar"),t=document.querySelector("#mobile-menu"),o=t.querySelector("use");e&&e.classList.add("show"),t&&t.setAttribute("data-isopen","true"),o&&o.setAttribute("xlink:href","#close-icon")}function onMobileMenuClick(){("true"===document.querySelector("#mobile-menu").getAttribute("data-isopen")?hideMobileMenu:showMobileMenu)()}function initMobileMenu(){var e=document.querySelector("#mobile-menu");e&&e.addEventListener("click",onMobileMenuClick)}function addHrefToSidebarTitle(){document.querySelectorAll(".sidebar-title-anchor").forEach(function(e){e.setAttribute("href",baseURL)})}function onDomContentLoaded(){var e=document.querySelectorAll(".theme-toggle");initMobileMenu(),e&&e.forEach(function(e){e.addEventListener("click",toggleTheme)}),hljs.addPlugin({"after:highlightElement":function(e){e.el.parentNode.setAttribute("data-lang","code")}}),hljs.highlightAll(),hljs.initLineNumbersOnLoad({singleLine:!0}),initAccordion(),addAnchor(),processAllPre(),hideTocOnSourcePage(),setTimeout(function(){bringIdToViewOnMount(),isSourcePage()&&highlightAndBringLineIntoView()},1e3),initTooltip(),fixTable(),addHrefToSidebarTitle()}updateTheme(getTheme()),function(){var e=getFontSize(),t=localStorage.getItem(fontSizeLocalStorageKey);t?(t=Number.parseInt(t,10))!==e&&updateFontSize(t):updateFontSize(e)}(),window.addEventListener("DOMContentLoaded",onDomContentLoaded),window.addEventListener("hashchange",e=>{e=new URL(e.newURL);""!==e.hash&&bringIdToViewOnMount(e.hash)}),window.addEventListener("storage",e=>{"undefined"!==e.newValue&&(initTooltip(),e.key===themeLocalStorageKey&&localUpdateTheme(e.newValue),e.key===fontSizeLocalStorageKey&&localUpdateFontSize(e.newValue))});
1
+ var accordionLocalStorageKey="accordion-id",themeLocalStorageKey="theme",fontSizeLocalStorageKey="font-size",html=document.querySelector("html"),MAX_FONT_SIZE=30,MIN_FONT_SIZE=10,localStorage=window.localStorage;function getTheme(){var e=localStorage.getItem(themeLocalStorageKey);if(e)return e;switch(e=document.body.getAttribute("data-theme")){case"dark":case"light":return e;case"fallback-dark":return window.matchMedia("(prefers-color-scheme)").matches&&window.matchMedia("(prefers-color-scheme: light)").matches?"light":"dark";case"fallback-light":return window.matchMedia("(prefers-color-scheme)").matches&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";default:return"dark"}}function localUpdateTheme(e){var t=document.body,o=document.querySelectorAll(".theme-svg-use"),n="dark"===e?"#light-theme-icon":"#dark-theme-icon";t.setAttribute("data-theme",e),t.classList.remove("dark","light"),t.classList.add(e),o.forEach(function(e){e.setAttribute("xlink:href",n)})}function updateTheme(e){localUpdateTheme(e),localStorage.setItem(themeLocalStorageKey,e)}function toggleTheme(){updateTheme("dark"===document.body.getAttribute("data-theme")?"light":"dark")}function setAccordionIdToLocalStorage(e){var t=JSON.parse(localStorage.getItem(accordionLocalStorageKey));t[e]=e,localStorage.setItem(accordionLocalStorageKey,JSON.stringify(t))}function removeAccordionIdFromLocalStorage(e){var t=JSON.parse(localStorage.getItem(accordionLocalStorageKey));delete t[e],localStorage.setItem(accordionLocalStorageKey,JSON.stringify(t))}function getAccordionIdsFromLocalStorage(){return JSON.parse(localStorage.getItem(accordionLocalStorageKey))||{}}function toggleAccordion(e){"false"===e.getAttribute("data-isopen")?(e.setAttribute("data-isopen","true"),setAccordionIdToLocalStorage(e.id)):(e.setAttribute("data-isopen","false"),removeAccordionIdFromLocalStorage(e.id))}function initAccordion(){void 0!==localStorage.getItem(accordionLocalStorageKey)&&null!==localStorage.getItem(accordionLocalStorageKey)||localStorage.setItem(accordionLocalStorageKey,"{}");var e=document.querySelectorAll(".sidebar-section-title"),t=getAccordionIdsFromLocalStorage();e.forEach(function(e){e.addEventListener("click",function(){toggleAccordion(e)}),e.id in t&&toggleAccordion(e)})}function isSourcePage(){return Boolean(document.querySelector("#source-page"))}function bringElementIntoView(e,t=!0){var o,n,i,c;e&&(tocbotInstance&&setTimeout(()=>tocbotInstance.updateTocListActiveElement(e),60),o=document.querySelector(".navbar-container"),n=document.querySelector(".main-content"),i=e.getBoundingClientRect().top,c=16,o&&(c+=o.scrollHeight),n&&n.scrollBy(0,i-c),t&&history.pushState(null,null,"#"+e.id))}function bringLinkToView(e){e.preventDefault(),e.stopPropagation();var e=e.currentTarget.getAttribute("href");!e||(e=document.getElementById(e.slice(1)))&&bringElementIntoView(e)}function bringIdToViewOnMount(){var e,t;isSourcePage()||""!==(e=window.location.hash)&&((t=document.getElementById(e.slice(1)))||(e=decodeURI(e),t=document.getElementById(e.slice(1))),t&&bringElementIntoView(t,!1))}function createAnchorElement(e){var t=document.createElement("a");return t.textContent="#",t.href="#"+e,t.classList.add("link-anchor"),t.onclick=bringLinkToView,t}function addAnchor(){var e=document.querySelector(".main-content").querySelector("section");[e.querySelectorAll("h1"),e.querySelectorAll("h2"),e.querySelectorAll("h3"),e.querySelectorAll("h4")].forEach(function(e){e.forEach(function(e){var t=createAnchorElement(e.id);e.classList.add("has-anchor"),e.append(t)})})}function copy(e){const t=document.createElement("textarea");t.value=e,document.body.appendChild(t),t.select(),document.execCommand("copy"),document.body.removeChild(t)}function showTooltip(e){var t=document.getElementById(e);t.classList.add("show-tooltip"),setTimeout(function(){t.classList.remove("show-tooltip")},3e3)}function copyFunction(e){var t=document.getElementById(e);copy((t.querySelector(".linenums")||t.querySelector("code")).innerText.trim().replace(/(^\t)/gm,"")),showTooltip("tooltip-"+e)}function hideTocOnSourcePage(){isSourcePage()&&(document.querySelector(".toc-container").style.display="none")}function getPreTopBar(e,t=""){e='<button aria-label="copy code" class="icon-button copy-code" onclick="copyFunction(\''+e+'\')"><svg class="sm-icon" alt="click to copy"><use xlink:href="#copy-icon"></use></svg>'+('<div class="tooltip" id="tooltip-'+e+'">Copied!</div>')+"</button>";return'<div class="pre-top-bar-container">'+('<div class="code-lang-name-container"><div class="code-lang-name">'+t.toLocaleUpperCase()+"</div></div>")+e+"</div>"}function getPreDiv(){var e=document.createElement("div");return e.classList.add("pre-div"),e}function processAllPre(){var e=document.querySelectorAll("pre"),t=document.querySelector("#PeOAagUepe"),o=document.querySelector("#VuAckcnZhf"),n=0,i=0,c=(t&&(i=t.getBoundingClientRect().height),o&&(n=o.getBoundingClientRect().height),window.innerHeight-n-i-250);e.forEach(function(e,t){var o,n=e.parentNode;n&&"true"===n.getAttribute("data-skip-pre-process")||(n=getPreDiv(),o=getPreTopBar(t="ScDloZOMdL"+t,e.getAttribute("data-lang")||"code"),n.innerHTML=o,e.style.maxHeight=c+"px",e.id=t,e.classList.add("prettyprint"),e.parentNode.insertBefore(n,e),n.appendChild(e))})}function highlightAndBringLineIntoView(){var e=window.location.hash.replace("#line","");try{var t='[data-line-number="'+e+'"',o=document.querySelector(t);o.scrollIntoView(),o.parentNode.classList.add("selected")}catch(e){console.error(e)}}function getFontSize(){var e=16;try{e=Number.parseInt(html.style.fontSize.split("px")[0],10)}catch(e){console.log(e)}return e}function localUpdateFontSize(e){html.style.fontSize=e+"px";var t=document.querySelector("#b77a68a492f343baabea06fad81f651e");t&&(t.innerHTML=e)}function updateFontSize(e){localUpdateFontSize(e),localStorage.setItem(fontSizeLocalStorageKey,e)}function incrementFont(e){var t=getFontSize();t<MAX_FONT_SIZE&&updateFontSize(t+1)}function decrementFont(e){var t=getFontSize();MIN_FONT_SIZE<t&&updateFontSize(t-1)}function fontSizeTooltip(){var e=getFontSize();return`
2
+ <div class="font-size-tooltip">
3
+ <button aria-label="decrease-font-size" class="icon-button ${MAX_FONT_SIZE<=e?"disabled":""}" onclick="decrementFont(event)">
4
+ <svg>
5
+ <use xlink:href="#minus-icon"></use>
6
+ </svg>
7
+ </button>
8
+ <div class="font-size-text" id="b77a68a492f343baabea06fad81f651e">
9
+ ${e}
10
+ </div>
11
+ <button aria-label="increase-font-size" class="icon-button ${e<=MIN_FONT_SIZE?"disabled":""}" onclick="incrementFont(event)">
12
+ <svg>
13
+ <use xlink:href="#add-icon"></use>
14
+ </svg>
15
+ </button>
16
+ <button class="icon-button" onclick="updateFontSize(16)">
17
+ <svg>
18
+ <use xlink:href="#reset-icon"></use>
19
+ </svg>
20
+ </button>
21
+ </div>
22
+
23
+ `}function initTooltip(){tippy(".theme-toggle",{content:"Toggle Theme",delay:500}),tippy(".search-button",{content:"Search",delay:500}),tippy(".font-size",{content:"Change font size",delay:500}),tippy(".codepen-button",{content:"Open code in CodePen",placement:"left"}),tippy(".copy-code",{content:"Copy this code",placement:"left"}),tippy(".font-size",{content:fontSizeTooltip(),trigger:"click",interactive:!0,allowHTML:!0,placement:"left"})}function fixTable(){for(const t of document.querySelectorAll("table")){if(t.classList.contains("hljs-ln"))return;var e=document.createElement("div");e.classList.add("table-div"),t.parentNode.insertBefore(e,t),e.appendChild(t)}}function hideMobileMenu(){var e=document.querySelector("#mobile-sidebar"),t=document.querySelector("#mobile-menu"),o=t.querySelector("use");e&&e.classList.remove("show"),t&&t.setAttribute("data-isopen","false"),o&&o.setAttribute("xlink:href","#menu-icon")}function showMobileMenu(){var e=document.querySelector("#mobile-sidebar"),t=document.querySelector("#mobile-menu"),o=t.querySelector("use");e&&e.classList.add("show"),t&&t.setAttribute("data-isopen","true"),o&&o.setAttribute("xlink:href","#close-icon")}function onMobileMenuClick(){("true"===document.querySelector("#mobile-menu").getAttribute("data-isopen")?hideMobileMenu:showMobileMenu)()}function initMobileMenu(){var e=document.querySelector("#mobile-menu");e&&e.addEventListener("click",onMobileMenuClick)}function addHrefToSidebarTitle(){document.querySelectorAll(".sidebar-title-anchor").forEach(function(e){e.setAttribute("href",baseURL)})}function highlightActiveLinkInSidebar(){var e=document.location.href.split("/");const t=e[e.length-1];let o=document.querySelector(`.sidebar a[href*='${t}']`);if(!o)try{o=document.querySelector(`.sidebar a[href*='${t.split("#")[0]}']`)}catch(e){return void console.error(e)}o&&(o.parentElement.classList.add("active"),o.scrollIntoView())}function onDomContentLoaded(){var e=document.querySelectorAll(".theme-toggle");initMobileMenu(),e&&e.forEach(function(e){e.addEventListener("click",toggleTheme)}),hljs.addPlugin({"after:highlightElement":function(e){e.el.parentNode.setAttribute("data-lang","code")}}),hljs.highlightAll(),hljs.initLineNumbersOnLoad({singleLine:!0}),initAccordion(),addAnchor(),processAllPre(),hideTocOnSourcePage(),setTimeout(function(){bringIdToViewOnMount(),isSourcePage()&&highlightAndBringLineIntoView()},1e3),initTooltip(),fixTable(),addHrefToSidebarTitle(),highlightActiveLinkInSidebar()}updateTheme(getTheme()),function(){var e=getFontSize(),t=localStorage.getItem(fontSizeLocalStorageKey);t?(t=Number.parseInt(t,10))!==e&&updateFontSize(t):updateFontSize(e)}(),window.addEventListener("DOMContentLoaded",onDomContentLoaded),window.addEventListener("hashchange",e=>{e=new URL(e.newURL);""!==e.hash&&bringIdToViewOnMount(e.hash)}),window.addEventListener("storage",e=>{"undefined"!==e.newValue&&(initTooltip(),e.key===themeLocalStorageKey&&localUpdateTheme(e.newValue),e.key===fontSizeLocalStorageKey&&localUpdateFontSize(e.newValue))});