PluginProbe
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot / 4.9.4
BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ & Chatbot v4.9.4
4.9.4 4.9.3 4.9.2 4.9.1 4.9.0 4.8.2 4.8.1 4.8.0 4.7.0 4.6.2 4.6.1 4.6.0 4.5.6 4.5.5 4.5.4 4.5.3 4.5.2 4.5.1 4.5.0 4.4.1 4.4.0 3.3.4 3.4.0 3.4.1 3.4.2 All 202 releases
← All changes | assets/build/public/js/betterdocs.js +1 -1 4.8.2 → 4.9.4 View file →
@@ -1 +1 @@
1 -(()=>{var e={22104:e=>{"use strict";e.exports=ClipboardJS}},t={};function o(s){var r=t[s];if(void 0!==r)return r.exports;var i=t[s]={exports:{}};return e[s](i,i.exports,o),i.exports}class s{constructor(e){this.config=e,this.initialize(),this.init()}init(){this.categoryListAccordion(),this.feedbackForm(),this.printToc(),this.stickyTocContainer(),this.tocClose(),this.cloneTocContentToAfter(),this.copyToClipboard(),this.subCategoryExpand(),this.tocSmallCollapisble(),this.sidebarOpen(),this.tocOpen(),this.articleSummary()}tocSmallCollapisble(){$=jQuery,$(".betterdocs-toc.collapsible-sm .toc-title").each((function(){$(this).click((function(e){e.preventDefault(),$(this).children(".angle-icon").toggle(),$(this).next(".toc-list").slideToggle()}))}))}initialize(){var e=jQuery;this.body=e("body"),this.catTitleList=e(".betterdocs-sidebar-content .betterdocs-category-grid-wrapper .betterdocs-single-category-wrapper .betterdocs-category-header"),this.currentActiveCat=e(".betterdocs-sidebar-content .betterdocs-category-grid-wrapper .betterdocs-single-category-wrapper.active"),this.listSidebarCatTitles=e(".betterdocs-sidebar-content .betterdocs-sidebar-list-wrapper .betterdocs-sidebar-list .betterdocs-category-header"),this.listSidebarCurrentCat=e(".betterdocs-sidebar-content .betterdocs-sidebar-list-wrapper .betterdocs-sidebar-list.active"),this.formLink=e("a[name=betterdocs-form-modal]"),this.feedbackFormWrap=e("#betterdocs-feedback-form"),this.feedbackFormFields=e("#betterdocs-feedback-form input, #betterdocs-feedback-form textarea")}categoryListAccordion(){this.listSidebarCurrentCat.find(".betterdocs-body").css("display","block"),this.listSidebarCurrentCat.siblings().find(".betterdocs-body").css("display","none"),this.listSidebarCatTitles.on("click",(function(e){e.preventDefault();let t=jQuery(e.target).closest(".betterdocs-sidebar-list");t.find(".betterdocs-body").slideToggle(),t.toggleClass("active").siblings().removeClass("active").find(".betterdocs-body").slideUp()}))}onScroll(){var e=jQuery;let t;e(this).find(".betterdocs-content-heading")?.map(((o,s)=>{s?.getBoundingClientRect()?.top-140<0&&(t=e(s)?.attr("id"))})),null!=t&&e(".sticky-toc-container .betterdocs-toc .toc-list a, .betterdocs-full-sidebar-right .betterdocs-toc .toc-list a, .wp-block-group.is-position-sticky .betterdocs-toc .toc-list a, .betterdocs-elementor .betterdocs-toc .toc-list a").each((function(){var o=e(this);e(o).attr("href")=="#"+t&&(e(".betterdocs-toc .toc-list a").removeClass("active"),o.addClass("active"))}))}stickyTocContainer(){var e=jQuery;let t=this;var o=e("#betterdocs-sidebar");if(e(".betterdocs-toc").length>0&&o.length){var s=e(".betterdocs-toc").clone();e(".sticky-toc-container").append(s)}e(window).on("scroll",(function(){var t=document.querySelector(".betterdocs-sidebar-content"),s=e(".sticky-toc-container .betterdocs-toc .toc-list li a")?.length>0;if(null!==t){var r=e(".sticky-toc-container"),i=e(".betterdocs-sidebar-content").outerHeight(),c=t.getBoundingClientRect(),a=Math.abs(c?.top);c?.top<0&&i<=a&&s?r.addClass("toc-sticky"):r.removeClass("toc-sticky"),o.closest(".elementor-widget-wrap")?.length>0?e(window).scrollTop()>=o.closest(".elementor-widget-wrap").offset()?.top+o.closest(".elementor-widget-wrap").outerHeight()-window.innerHeight&&!o.hasClass("betterdocs-el-single-sidebar")&&r?.removeClass("toc-sticky"):o.closest(".wp-block-column")?.length>0?e(window).scrollTop()>=o.closest(".wp-block-column").offset()?.top+o.closest(".wp-block-column").outerHeight()-window.innerHeight&&!o.hasClass("betterdocs-el-single-sidebar")&&r?.removeClass("toc-sticky"):e(window).scrollTop()>=o.offset()?.top+o.outerHeight()-window.innerHeight&&!o.hasClass("betterdocs-el-single-sidebar")&&r?.removeClass("toc-sticky")}})),e(document).on("scroll",t?.onScroll);var r=e(".betterdocs-toc .toc-list a");r.on("click",(function(o){o.preventDefault(),e(document).off("scroll"),r.each((function(){e(this).removeClass("active")})),e(this).addClass("active");var s=decodeURIComponent(this.hash),i=e(s),c=i.offset()?.top;e("html, body").stop().animate({scrollTop:c-betterdocsConfig?.sticky_toc_offset},"slow",(function(){e(document).on("scroll",t?.onScroll)}))}))}tocClose(){var e=jQuery;e(".close-toc").on("click",(function(t){t.preventDefault(),e(".sticky-toc-container").remove(".sticky-toc-container")}))}sidebarOpen(){var e=jQuery;e(window).width()<=768&&(e(".betterdocs-sidebar-icon").on("click",(function(t){t.stopPropagation(),e(".betterdocs-mobile-sidebar-wrapper").length||e("#betterdocs-sidebar, #betterdocs-sidebar-left, #betterdocs-full-sidebar-left").wrap('<div class="betterdocs-mobile-sidebar-wrapper"></div>'),e(".betterdocs-mobile-sidebar-wrapper").parent().is(".betterdocs-content-wrapper")||e(".betterdocs-content-wrapper").append(e(".betterdocs-mobile-sidebar-wrapper")),e(".betterdocs-mobile-sidebar-wrapper").fadeIn(),e("#betterdocs-sidebar, #betterdocs-sidebar-left, #betterdocs-full-sidebar-left").css({left:"-300px",display:"block"}).animate({left:"0"},300)})),e(document).on("click.betterdocs-left-sidebar",(function(t){e(t.target).closest("#betterdocs-sidebar, #betterdocs-sidebar-left, #betterdocs-full-sidebar-left, .betterdocs-sidebar-icon").length||e("#betterdocs-sidebar, #betterdocs-sidebar-left, #betterdocs-full-sidebar-left").animate({left:"-300px"},300,(function(){e(".betterdocs-mobile-sidebar-wrapper").fadeOut()}))})),e("#betterdocs-sidebar, #betterdocs-sidebar-left, #betterdocs-full-sidebar-left").on("click",(function(e){e.stopPropagation()})))}tocOpen(){var e=jQuery;e(window).width()<=768&&(e(".betterdocs-toc-icon").on("click",(function(t){t.stopPropagation(),e(".betterdocs-mobile-toc-wrapper").length||e("#betterdocs-sidebar-right").wrap('<div class="betterdocs-mobile-toc-wrapper"></div>'),e(".betterdocs-mobile-toc-wrapper").parent().is(".betterdocs-content-wrapper")||e(".betterdocs-content-wrapper").append(e(".betterdocs-mobile-toc-wrapper")),e(".betterdocs-mobile-toc-wrapper").fadeIn(),e("#betterdocs-sidebar-right").css({right:"-300px",display:"block"}).animate({right:"0"},300)})),e(document).on("click.betterdocs-right-sidebar",(function(t){e(t.target).closest("#betterdocs-sidebar-right, .betterdocs-toc-icon").length||e("#betterdocs-sidebar-right").animate({right:"-300px"},300,(function(){e(".betterdocs-mobile-toc-wrapper").fadeOut()}))})),e("#betterdocs-sidebar-right").on("click",(function(e){e.stopPropagation()})))}delay(e,t){setTimeout(e,t)}printToc(){this.reusablePrintFunction(".betterdocs-print-btn"),this.reusablePrintFunction(".betterdocs-print-pdf-2")}cloneTocContentToAfter(){let e=jQuery,t=e(".betterdocs-single-layout-3 #betterdocs-sidebar-right .betterdocs-toc .toc-list a");e.each(t,(function(t,o){e(this).addClass(`toc-item-link-${t+1}`),e(`<style>.toc-item-link-${t+1}:after {height: ${o.offsetHeight+10}px}</style>`).appendTo("head")}))}reusablePrintFunction(e){var t=jQuery;t("body").on("click",e,(function(e){let o="";t("#betterdocs-entry-title").length?o=document.getElementById("betterdocs-entry-title").innerHTML:t(".wp-block-post-title").length&&(o=document.getElementsByClassName("wp-block-post-title")[0]?.innerHTML);var s=document.getElementById("betterdocs-single-content").cloneNode(!0);s.querySelectorAll(".glossary-tooltip-overlay").forEach((function(e){e.remove()}));var r=s.innerHTML,i=document.createElement("div");i.innerHTML="<h1>"+o+"</h1> "+r,i.id="new-doc-print";var c=document.getElementById("betterdocs-single-content").offsetWidth,a=t(window).height(),n=window.open("","","left=50%,top=10%,width="+c+",height="+a+",toolbar=0,scrollbars=0,status=0"),d=Array.from(document.styleSheets).map((e=>{try{return Array.from(e.cssRules).map((e=>e.cssText)).join("")}catch(t){return console.log("Access to stylesheet blocked by CORS policy:",e.href),""}})).join("\n"),l=n.document.createElement("style");l.textContent=d,n.document.head.appendChild(l),n.document.body.innerHTML=i.outerHTML,n.document.close(),n.focus(),n.print(),setTimeout((function(){n.close()}),300)}))}copyToClipboard(){let e=jQuery;if(e(".batterdocs-anchor").length){const t=function(t){t.preventDefault(),t.stopPropagation();let o=new ClipboardJS(t.target);o.on("success",(function(t){e(document).find("div.tooltip-box").text(betterdocsConfig.copy_text),t.clearSelection(),e(t.trigger).addClass("copied"),setTimeout((function(){e(t.trigger).removeClass("copied")}),2e3),o.destroy()}));let s=ClipboardJS.copy(t.target.dataset.clipboardText);o.emit(s?"success":"error",{action:"copy",text:s,trigger:t.target,clearSelection(){t.target&&t.target.focus(),window.getSelection().removeAllRanges()}})};e('a.batterdocs-anchor[href*="#"]').hover((function(){var t=e(this).attr("data-title");e("<div/>",{text:t,class:"tooltip-box"}).appendTo(this)}),(function(){e(this).find("div.tooltip-box").remove()})).on("click",t),function(){if("undefined"!=typeof self&&self.Prism&&self.document)if(Prism.plugins.toolbar){var e=window.ClipboardJS||void 0;e||(e=o(22104));var t=[];if(!e){var s=document.createElement("script"),r=document.querySelector("head");s.onload=function(){if(e=window.ClipboardJS)for(;t.length;)t.pop()()},s.src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js",r.appendChild(s)}Prism.plugins.toolbar.registerButton("copy-to-clipboard",(function(o){var s=document.createElement("button");return s.textContent="Copy",e?r():t.push(r),s;function r(){var t=new e(s,{text:function(){return o.code}});t.on("success",(function(){s.textContent="Copied!",i()})),t.on("error",(function(){s.textContent="Press Ctrl+C to copy",i()}))}function i(){setTimeout((function(){s.textContent="Copy"}),5e3)}}))}else console.warn("Copy to Clipboard plugin loaded before Toolbar plugin.")}()}}feedbackForm(){var e=jQuery,t=this;let o=e("#betterdocs-form-modal"),s=e("#betterdocs-form-modal .modal-content");this.formLink.click((function(e){e.preventDefault(),o.fadeIn(500)})),e(document).mouseup((function(e){s.is(e.target)||0!==s.has(e.target).length||o.fadeOut()})),e(".betterdocs-modalwindow .close").click((function(e){e.preventDefault(),o.fadeOut(500)})),this.feedbackFormFields.on("keyup",(function(){e(this).removeClass("val-error"),e(this).siblings(".error-message").remove()})),this.feedbackFormWrap.on("submit",(function(o){o.preventDefault();var s=e(this),r=e("#message_name"),i=e("#message_email"),c=e("#message_subject"),a=e("#message_text");t.betterdocsFeedbackFormSubmit(s,r,i,c,a)})),this.betterdocsFeedbackFormSubmit=function(o,s,r,i,c){let a;a&&a.abort(),a=e.ajax({url:betterdocsSubmitFormConfig.ajax_url,type:"post",data:{action:"betterdocs_feedback_form_submit",form:o.serializeArray(),postID:betterdocsSubmitFormConfig.post_id,message_name:s.val(),message_email:r.val(),message_subject:i.val(),message_text:c.val(),security:betterdocsSubmitFormConfig.nonce},beforeSend:function(){},success:function(i){i.success?1==i.success?(e(".response").html('<span class="success-message">'+i.data.message+"</span>"),o[0].reset(),t.delay((function(){e(".betterdocs-modalwindow").fadeOut(500),e(".response .success-message").remove()}),3e3)):e(".response").html('<span class="error-message">'+i.sentMessage+"</span>"):0==i.success&&(i.data.message.name&&0==s.hasClass("val-error")&&(s.addClass("val-error"),e(".form-name").append('<span class="error-message">'+i.data.message.name+"</span>")),i.data.message.email&&0==r.hasClass("val-error")&&(r.addClass("val-error"),e(".form-email").append('<span class="error-message">'+i.data.message.email+"</span>")),i.data.message.message&&0==c.hasClass("val-error")&&(c.addClass("val-error"),e(".form-message").append('<span class="error-message">'+i.data.message.message+"</span>")))}})}}subCategoryExpand(){var e=jQuery;let t=e(".betterdocs-nested-category-list.betterdocs-current-category.active");t.length>0&&t.each((function(t){e(this).prev().children(".toggle-arrow").toggle()}))}articleSummary(){var e=jQuery,t=e("#betterdocs-article-summary"),o=e("#betterdocs-summary-toggle"),s=e("#betterdocs-summary-content"),r=e("#betterdocs-summary-loading"),i=e("#betterdocs-summary-text"),c=!1;if(0!==t.length){if(0===o.length)return s.show(),void(c||a());o.on("click",(function(t){t.preventDefault(),s.is(":visible")?(s.slideUp(),e(this).find(".angle-right").show(),e(this).find(".angle-down").hide()):(s.slideDown(),e(this).find(".angle-right").hide(),e(this).find(".angle-down").show(),c||a())}))}function a(){r.show(),i.hide();var o=parseInt(t.data("post-id"))||0,s=t.data("post-type")||"",a=e("#betterdocs-single-content").text()||e(".betterdocs-content").text()||"",n=e("#betterdocs-entry-title").text()||e(".betterdocs-entry-heading").text()||document.title;return a.trim()?o<=0?(r.hide(),void i.html('<p class="summary-error">Invalid post ID for summary generation.</p>').show()):"docs"!==s?(r.hide(),void i.html('<p class="summary-error">Doc summary is only available for documentation posts.</p>').show()):void e.ajax({url:betterdocsConfig.ajax_url,type:"POST",data:{action:"betterdocs_generate_article_summary",post_id:o,post_title:n,post_content:a.substring(0,4e3),nonce:betterdocsConfig.summary_nonce},success:function(e){if(r.hide(),e.success&&e.data){var t='<div class="summary-content">'+e.data+"</div>";i.html(t);var o=i.data("style");o?i.attr("style",o+"; display: block;"):i.show(),c=!0}else{var s=e.data||betterdocsConfig.summary_error||"Failed to generate doc summary.";i.html('<p class="summary-error">'+s+"</p>").show()}},error:function(){r.hide(),i.html('<p class="summary-error">'+(betterdocsConfig.summary_error||"Failed to generate doc summary.")+"</p>").show()}}):(r.hide(),void i.html("<p>"+(betterdocsConfig.summary_error||"Unable to generate summary for this article.")+"</p>").show())}}}!function(){"use strict";jQuery(document).ready((function(){new s(window?.betterdocsConfig)}))}()})();
1 +(()=>{var t={22104:t=>{"use strict";t.exports=ClipboardJS}},e={};function s(i){var o=e[i];if(void 0!==o)return o.exports;var r=e[i]={exports:{}};return t[i](r,r.exports,s),r.exports}const i=/^(albert|bad news|bahh|bells|boing|bubbles|cellos|deranged|good news|jester|organ|pipe organ|superstar|trinoids|whisper|wobble|zarvox)\b/i,o=/^(agnes|bruce|fred|junior|kathy|princess|ralph|vicki|victoria)\b/i,r=/^(samantha|alex|ava|allison|susan|tom|karen|daniel|serena|moira|fiona|tessa|veena|rishi)\b|google|microsoft/i;class n{constructor(t,e){this.el=t,this.config=e||{},this.i18n=this.config.i18n||{},this.trigger=t.querySelector(".betterdocs-listen-trigger"),this.player=t.querySelector(".betterdocs-listen-player"),this.playButton=t.querySelector(".betterdocs-listen-play"),this.seek=t.querySelector(".betterdocs-listen-seek"),this.fill=t.querySelector(".betterdocs-listen-fill"),this.thumb=t.querySelector(".betterdocs-listen-thumb"),this.elapsedEl=t.querySelector(".betterdocs-listen-elapsed"),this.totalEl=t.querySelector(".betterdocs-listen-total"),this.speedButton=t.querySelector(".betterdocs-listen-speed"),this.status=t.querySelector(".betterdocs-listen-status");const s=Array.isArray(this.config.rates)&&this.config.rates.length?this.config.rates:[1,1.25,1.5,2,.75];this.rates=s.map(Number).filter((t=>t>0)),this.rateIndex=0,this.base=parseFloat(t.getAttribute("data-bd-total"))||0,this.duration=this.base,this.position=0,this.text=null,this.pending=null,this.chunks=[],this.offsets=[],this.totalChars=0,this.index=0,this.active=!1,this.playing=!1,this.generation=0,this.pauseUnsupported=!1,this.paused=!1,this.voiceResolved=null,this.voiceBlocked=!1,this.watchdog=null,this.utterance=null,this.silenceChecked=!1,this.onTick=this.onTick.bind(this),this.reserveClockWidth(),this.render()}get synth(){return window.speechSynthesis}resolveText(){if(this.text)return Promise.resolve(this.text);if(this.pending)return this.pending;const t="1"===this.el.getAttribute("data-bd-read-page")?this.textFromPage():"";if(t)return this.text=t,Promise.resolve(t);const e=this.el.getAttribute("data-bd-listen-url");return e?(this.pending=fetch(e,{credentials:"same-origin",headers:{Accept:"text/markdown"}}).then((t=>{const e=t.headers.get("content-type")||"";if(!t.ok||0!==e.indexOf("text/markdown"))throw new Error(`Unexpected response: ${t.status} ${e}`);return t.text()})).then((t=>{if(this.text=n.fromMarkdown(t),this.pending=null,!this.text)throw new Error("Nothing to read");return this.text})).catch((t=>{throw this.pending=null,t})),this.pending):Promise.reject(new Error("No text to read"))}textFromPage(){const t=Array.isArray(this.config.read)?this.config.read:[];for(let e=0;e<t.length;e++){const s=document.querySelector(t[e]);if(!s)continue;const i=this.extract(s);if(i.length>120)return i}return""}extract(t){const e=t.cloneNode(!0),s=this.config.skip;return s&&e.querySelectorAll(s).forEach((t=>t.remove())),e.querySelectorAll("h1,h2,h3,h4,h5,h6,p,li,blockquote,tr,th,td,dt,dd,summary,figcaption,br,div").forEach((t=>{t.insertAdjacentText("afterend",". ")})),n.tidy(e.textContent||"")}static fromMarkdown(t){return n.tidy(String(t||"").replace(/^---\r?\n[\s\S]*?\r?\n---\r?\n/,"").replace(/^(#[^\n]*\r?\n(?:[ \t]*\r?\n)*)>[^\n]*\r?\n/,"$1").replace(/^Source:\s*\S+\s*$/gm,"").replace(/```[\s\S]*?```/g," ").replace(/~~~[\s\S]*?~~~/g," ").replace(/`([^`]*)`/g,"$1").replace(/!\[[^\]]*\]\([^)]*\)/g," ").replace(/\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/^[ \t]{0,3}>[ \t]?/gm,"").replace(/^[ \t]{0,3}#{1,6}[ \t]+/gm,"").replace(/^[ \t]{0,3}([-*_][ \t]*){3,}$/gm," ").replace(/^[ \t]{0,3}[-*+][ \t]+/gm,"").replace(/^[ \t]{0,3}\d+\.[ \t]+/gm,"").replace(/(\*\*|__)([\s\S]*?)\1/g,"$2").replace(/(\*|_)([^*_\n]+?)\1/g,"$2").replace(/^[ \t]*\|.*$/gm," ").replace(/<[^>]+>/g," ").replace(/\r?\n[ \t]*\r?\n/g,". "))}static tidy(t){return String(t||"").replace(/\s+/g," ").replace(/\s+([.,!?;:…])/g,"$1").replace(/([.!?…])(?:\s*\.)+/g,"$1").replace(/(\.\s*){2,}/g,". ").replace(/^[\s.]+/,"").trim()}prepare(t){const e=t.match(/[^.!?…]+[.!?…]*\s*/g)||[t],s=200,i=[];let o="";const r=()=>{const t=o.trim();t&&i.push(t),o=""};e.forEach((t=>{if(t.length>s){r();let e=t;for(;e.length>s;){let t=e.lastIndexOf(" ",s);t<=0&&(t=s),i.push(e.slice(0,t).trim()),e=e.slice(t)}o=e}else o.length+t.length>s&&r(),o+=t})),r(),this.chunks=i.filter((t=>t.length>0)),this.offsets=[],this.totalChars=0,this.chunks.forEach((t=>{this.offsets.push(this.totalChars),this.totalChars+=t.length+1}));const n=this.chunks.join(" ").split(/\s+/).filter(Boolean).length,a=parseFloat(this.el.getAttribute("data-bd-wpm"))||180;n>0&&a>0&&(this.base=n/a*60),this.applyRate()}activate(){this.open(),this.chunks.length?this.play():(this.el.classList.add("is-loading"),this.announce(this.i18n.preparing),this.resolveText().then((t=>{this.el.classList.remove("is-loading"),this.active&&(this.prepare(t),this.chunks.length?this.play():this.fail())}),(()=>{this.el.classList.remove("is-loading"),this.active&&this.fail()})))}prefetch(){this.resolveText().catch((()=>{}))}play(){if(this.chunks.length){if(n.stopOthers(this),this.paused&&!this.pauseUnsupported)return this.synth.resume(),this.paused=!1,void this.setPlaying(!0);this.speakFrom(this.index)}}pause(){this.playing&&(this.synth.pause(),this.paused=!0,this.setPlaying(!1),this.announce(this.i18n.paused),window.setTimeout((()=>{this.playing||this.synth.paused||(this.pauseUnsupported=!0,this.cancel())}),60))}midPlayback(){return this.playing||this.paused}toggle(){this.playing?this.pause():this.play()}speakFrom(t){this.cancel(),this.index=Math.max(0,Math.min(t,this.chunks.length-1)),this.silenceChecked=!1,this.position=this.totalChars>0?this.offsets[this.index]/this.totalChars*this.duration:0,this.render(),this.setPlaying(!0),this.announce(this.i18n.playing);const e=this.generation;window.setTimeout((()=>this.enqueue(e)),60)}enqueue(t){if(t!==this.generation)return;if(this.index>=this.chunks.length)return void this.finish();const e=new SpeechSynthesisUtterance(this.chunks[this.index]),s=this.index;e.rate=this.rate(),e.lang=n.lang();const i=this.resolveVoice();i&&(e.voice=i);const o=Date.now();let r=!1;const a=()=>{r=!0,this.clearWatchdog()};e.onstart=()=>{t===this.generation&&a()},e.onboundary=e=>{t===this.generation&&(a(),this.seekTo((this.offsets[s]+(e.charIndex||0))/this.totalChars,!1))},e.onend=()=>{t===this.generation&&(this.clearWatchdog(),!this.silenceChecked&&(this.silenceChecked=!0,Date.now()-o<250)?this.recoverFromSilence(s):(this.index=s+1,this.enqueue(t)))},e.onerror=e=>{const i=e?e.error:"",o="interrupted"===i||"canceled"===i;if(t===this.generation&&!o)return this.voiceBlocked||"network"!==i&&"synthesis-failed"!==i?void this.fail():(this.voiceBlocked=!0,void this.speakFrom(s))},this.utterance=e,this.synth.speak(e),this.startTicking();const c=()=>{this.clearWatchdog(),this.watchdog=window.setTimeout((()=>{t!==this.generation||r||(document.hidden?c():this.recoverFromSilence(s))}),4e3)};c()}clearWatchdog(){this.watchdog&&(window.clearTimeout(this.watchdog),this.watchdog=null)}recoverFromSilence(t){if(console.warn("BetterDocs Listen: the speech engine accepted the text but produced no audio"+(this.voiceBlocked?" on the browser's default voice either. Giving up.":` using "${this.voiceResolved?this.voiceResolved.name:"the default voice"}". Retrying on the browser's default.`)+" If this persists, quit and reopen the browser — Chrome's speech engine can wedge browser-wide and a reload does not clear it."),!this.voiceBlocked)return this.voiceBlocked=!0,this.voiceResolved=null,void this.speakFrom(t);this.fail()}finish(){this.stopTicking(),this.setPlaying(!1),this.position=this.duration,this.index=0,this.render(),this.announce(this.i18n.ended)}cancel(){this.generation+=1,this.stopTicking(),this.clearWatchdog(),this.paused=!1;try{this.synth.cancel(),this.synth.paused&&this.synth.resume()}catch(t){}}stop(){this.cancel(),this.setPlaying(!1),this.index=0,this.position=0,this.paused=!1,this.pauseUnsupported=!1,this.voiceBlocked=!1,this.render()}fail(){this.stop(),this.el.classList.add("is-failed"),this.announce(this.i18n.failed),this.collapse()}seekTo(t,e){const s=Math.max(0,Math.min(1,t||0));if(this.position=s*this.duration,this.render(),!e||!this.chunks.length)return;const i=s*this.totalChars;let o=0;for(let t=0;t<this.offsets.length&&this.offsets[t]<=i;t++)o=t;this.position=this.offsets[o]/this.totalChars*this.duration,this.render(),this.midPlayback()?this.speakFrom(o):this.index=o}startTicking(){this.stopTicking(),this.timer=window.setInterval(this.onTick,250)}stopTicking(){this.timer&&(window.clearInterval(this.timer),this.timer=null)}onTick(){this.playing&&(this.position=Math.min(this.duration,this.position+.25),this.render())}rate(){return this.rates[this.rateIndex]||1}applyRate(){const t=this.duration>0?this.position/this.duration:0;this.duration=this.base/this.rate(),this.position=t*this.duration,this.reserveClockWidth(),this.render()}cycleRate(){if(this.rateIndex=(this.rateIndex+1)%this.rates.length,this.speedButton){const t=n.rateLabel(this.rate());this.speedButton.textContent=t,this.speedButton.setAttribute("data-bd-rate",String(this.rate())),this.speedButton.setAttribute("aria-label",`${t} ${this.i18n.speed||"Playback speed"}`)}this.applyRate(),this.resize(),this.playing&&this.speakFrom(this.index)}static rateLabel(t){return`${String(Number(t).toFixed(2)).replace(/\.?0+$/,"")}×`}open(){if(this.el.classList.remove("is-failed"),!this.player||this.active)return;this.collapsedWidth=this.el.offsetWidth,this.el.style.width=`${this.collapsedWidth}px`,this.el.offsetWidth,this.el.classList.add("is-active"),this.el.style.width=`${Math.ceil(this.player.getBoundingClientRect().width)}px`;const t=document.activeElement===this.trigger;this.player.removeAttribute("inert"),this.trigger.setAttribute("inert",""),this.active=!0,t&&this.playButton&&this.playButton.focus({preventScroll:!0})}resize(){this.active&&this.player&&(this.el.style.width=`${Math.ceil(this.player.getBoundingClientRect().width)}px`)}reserveClockWidth(){this.elapsedEl&&(this.elapsedEl.style.minWidth=`${n.clock(this.duration).length}ch`)}collapse(t){if(!this.active)return;const e=this.player.contains(document.activeElement);this.active=!1,this.el.classList.remove("is-active","is-playing","is-loading"),this.player.setAttribute("inert",""),this.trigger.removeAttribute("inert"),this.collapsedWidth&&(this.el.style.width=`${this.collapsedWidth}px`),window.clearTimeout(this.widthReset),this.widthReset=window.setTimeout((()=>{this.active||(this.el.style.width="")}),500),(t||e)&&this.trigger.focus({preventScroll:!0})}close(){this.stop(),this.collapse(!0)}setPlaying(t){this.playing=!!t,this.el.classList.toggle("is-playing",this.playing),this.playButton&&this.playButton.setAttribute("aria-label",this.playing?this.i18n.pause||"Pause":this.i18n.play||"Play"),this.playing?this.startTicking():this.stopTicking()}render(){const t=this.duration>0?Math.max(0,Math.min(100,this.position/this.duration*100)):0;this.fill&&(this.fill.style.width=`${t}%`),this.thumb&&this.thumb.style.setProperty("inset-inline-start",`${t}%`),this.seek&&(this.seek.setAttribute("aria-valuenow",String(Math.round(t))),this.seek.setAttribute("aria-valuetext",n.clock(this.position))),this.elapsedEl&&(this.elapsedEl.textContent=n.clock(this.position)),this.totalEl&&(this.totalEl.textContent=n.clock(this.duration))}announce(t){t&&this.status&&(this.status.textContent="",window.setTimeout((()=>{this.status.textContent=t}),50))}static clock(t){const e=Math.max(0,Math.round(t||0));return`${Math.floor(e/60)}:${String(e%60).padStart(2,"0")}`}resolveVoice(){return this.voiceBlocked?null:(this.voiceResolved||(this.voiceResolved=n.voice(n.lang(),this.config.voice)),this.voiceResolved||null)}static lang(){const t=document.documentElement.getAttribute("lang");return t?t.replace("_","-"):""}static voice(t,e){const s=window.speechSynthesis.getVoices()||[];if(!s.length)return null;const o=String(t||"").toLowerCase().replace("_","-"),r=o.split("-")[0];if(e){const t=String(e).toLowerCase(),i=s.find((e=>-1!==String(e.name||"").toLowerCase().indexOf(t)));if(i)return i}if(!r)return null;const a=s.filter((t=>!i.test(t.name||""))),c=(a.length?a:s).filter((t=>(t=>String(t.lang||"").toLowerCase().replace("_","-"))(t).split("-")[0]===r));return c.length?c.slice().sort(((t,e)=>n.rank(e,o)-n.rank(t,o)))[0]:null}static rank(t,e){const s=String(t.name||"").toLowerCase();let i=0;return/natural|neural/.test(s)?i=60:/\((enhanced|premium)\)/.test(s)?i=55:-1!==s.indexOf("siri")?i=45:r.test(s)&&(i=40),!1===t.localService&&(i-=25),t.default&&(i+=5),String(t.lang||"").toLowerCase().replace("_","-")===e&&(i+=10),o.test(t.name||"")&&(i-=30),i}static get registry(){return n._registry||(n._registry=new Set),n._registry}static stopOthers(t){n.registry.forEach((e=>{e!==t&&e.active&&(e.stop(),e.collapse(!1))}))}static stopAll(){n.registry.forEach((t=>t.stop()))}static for(t,e){return t.betterdocsListen||(t.betterdocsListen=new n(t,e),n.registry.add(t.betterdocsListen)),t.betterdocsListen}}class a{constructor(t){this.config=t,this.initialize(),this.init()}init(){try{this.aiActions()}catch(t){console.error("BetterDocs AI Actions failed to initialise",t)}try{this.listen()}catch(t){console.error("BetterDocs Listen failed to initialise",t)}this.categoryListAccordion(),this.feedbackForm(),this.printToc(),this.stickyTocContainer(),this.tocClose(),this.cloneTocContentToAfter(),this.copyToClipboard(),this.subCategoryExpand(),this.tocSmallCollapisble(),this.sidebarOpen(),this.tocOpen(),this.articleSummary()}tocSmallCollapisble(){$=jQuery,$(".betterdocs-toc.collapsible-sm .toc-title").each((function(){$(this).click((function(t){t.preventDefault(),$(this).children(".angle-icon").toggle(),$(this).next(".toc-list").slideToggle()}))}))}initialize(){var t=jQuery;this.body=t("body"),this.catTitleList=t(".betterdocs-sidebar-content .betterdocs-category-grid-wrapper .betterdocs-single-category-wrapper .betterdocs-category-header"),this.currentActiveCat=t(".betterdocs-sidebar-content .betterdocs-category-grid-wrapper .betterdocs-single-category-wrapper.active"),this.listSidebarCatTitles=t(".betterdocs-sidebar-content .betterdocs-sidebar-list-wrapper .betterdocs-sidebar-list .betterdocs-category-header"),this.listSidebarCurrentCat=t(".betterdocs-sidebar-content .betterdocs-sidebar-list-wrapper .betterdocs-sidebar-list.active"),this.formLink=t("a[name=betterdocs-form-modal]"),this.feedbackFormWrap=t("#betterdocs-feedback-form"),this.feedbackFormFields=t("#betterdocs-feedback-form input, #betterdocs-feedback-form textarea")}categoryListAccordion(){this.listSidebarCurrentCat.find(".betterdocs-body").css("display","block"),this.listSidebarCurrentCat.siblings().find(".betterdocs-body").css("display","none"),this.listSidebarCatTitles.on("click",(function(t){t.preventDefault();let e=jQuery(t.target).closest(".betterdocs-sidebar-list");e.find(".betterdocs-body").slideToggle(),e.toggleClass("active").siblings().removeClass("active").find(".betterdocs-body").slideUp()}))}onScroll(){var t=jQuery;let e;t(this).find(".betterdocs-content-heading")?.map(((s,i)=>{i?.getBoundingClientRect()?.top-140<0&&(e=t(i)?.attr("id"))})),null!=e&&t(".sticky-toc-container .betterdocs-toc .toc-list a, .betterdocs-full-sidebar-right .betterdocs-toc .toc-list a, .wp-block-group.is-position-sticky .betterdocs-toc .toc-list a, .betterdocs-elementor .betterdocs-toc .toc-list a").each((function(){var s=t(this);t(s).attr("href")=="#"+e&&(t(".betterdocs-toc .toc-list a").removeClass("active"),s.addClass("active"))}))}stickyTocContainer(){var t=jQuery;let e=this;var s=t("#betterdocs-sidebar");if(t(".betterdocs-toc").length>0&&s.length){var i=t(".betterdocs-toc").clone();t(".sticky-toc-container").append(i)}t(window).on("scroll",(function(){var e=document.querySelector(".betterdocs-sidebar-content"),i=t(".sticky-toc-container .betterdocs-toc .toc-list li a")?.length>0;if(null!==e){var o=t(".sticky-toc-container"),r=t(".betterdocs-sidebar-content").outerHeight(),n=e.getBoundingClientRect(),a=Math.abs(n?.top);n?.top<0&&r<=a&&i?o.addClass("toc-sticky"):o.removeClass("toc-sticky"),s.closest(".elementor-widget-wrap")?.length>0?t(window).scrollTop()>=s.closest(".elementor-widget-wrap").offset()?.top+s.closest(".elementor-widget-wrap").outerHeight()-window.innerHeight&&!s.hasClass("betterdocs-el-single-sidebar")&&o?.removeClass("toc-sticky"):s.closest(".wp-block-column")?.length>0?t(window).scrollTop()>=s.closest(".wp-block-column").offset()?.top+s.closest(".wp-block-column").outerHeight()-window.innerHeight&&!s.hasClass("betterdocs-el-single-sidebar")&&o?.removeClass("toc-sticky"):t(window).scrollTop()>=s.offset()?.top+s.outerHeight()-window.innerHeight&&!s.hasClass("betterdocs-el-single-sidebar")&&o?.removeClass("toc-sticky")}})),t(document).on("scroll",e?.onScroll);var o=t(".betterdocs-toc .toc-list a");o.on("click",(function(s){s.preventDefault(),t(document).off("scroll"),o.each((function(){t(this).removeClass("active")})),t(this).addClass("active");var i=decodeURIComponent(this.hash),r=t(i),n=r.offset()?.top;t("html, body").stop().animate({scrollTop:n-betterdocsConfig?.sticky_toc_offset},"slow",(function(){t(document).on("scroll",e?.onScroll)}))}))}tocClose(){var t=jQuery;t(".close-toc").on("click",(function(e){e.preventDefault(),t(".sticky-toc-container").remove(".sticky-toc-container")}))}sidebarOpen(){var t=jQuery;t(window).width()<=768&&(t(".betterdocs-sidebar-icon").on("click",(function(e){e.stopPropagation(),t(".betterdocs-mobile-sidebar-wrapper").length||t("#betterdocs-sidebar, #betterdocs-sidebar-left, #betterdocs-full-sidebar-left").wrap('<div class="betterdocs-mobile-sidebar-wrapper"></div>'),t(".betterdocs-mobile-sidebar-wrapper").parent().is(".betterdocs-content-wrapper")||t(".betterdocs-content-wrapper").append(t(".betterdocs-mobile-sidebar-wrapper")),t(".betterdocs-mobile-sidebar-wrapper").fadeIn(),t("#betterdocs-sidebar, #betterdocs-sidebar-left, #betterdocs-full-sidebar-left").css({left:"-300px",display:"block"}).animate({left:"0"},300)})),t(document).on("click.betterdocs-left-sidebar",(function(e){t(e.target).closest("#betterdocs-sidebar, #betterdocs-sidebar-left, #betterdocs-full-sidebar-left, .betterdocs-sidebar-icon").length||t("#betterdocs-sidebar, #betterdocs-sidebar-left, #betterdocs-full-sidebar-left").animate({left:"-300px"},300,(function(){t(".betterdocs-mobile-sidebar-wrapper").fadeOut()}))})),t("#betterdocs-sidebar, #betterdocs-sidebar-left, #betterdocs-full-sidebar-left").on("click",(function(t){t.stopPropagation()})))}tocOpen(){var t=jQuery;t(window).width()<=768&&(t(".betterdocs-toc-icon").on("click",(function(e){e.stopPropagation(),t(".betterdocs-mobile-toc-wrapper").length||t("#betterdocs-sidebar-right").wrap('<div class="betterdocs-mobile-toc-wrapper"></div>'),t(".betterdocs-mobile-toc-wrapper").parent().is(".betterdocs-content-wrapper")||t(".betterdocs-content-wrapper").append(t(".betterdocs-mobile-toc-wrapper")),t(".betterdocs-mobile-toc-wrapper").fadeIn(),t("#betterdocs-sidebar-right").css({right:"-300px",display:"block"}).animate({right:"0"},300)})),t(document).on("click.betterdocs-right-sidebar",(function(e){t(e.target).closest("#betterdocs-sidebar-right, .betterdocs-toc-icon").length||t("#betterdocs-sidebar-right").animate({right:"-300px"},300,(function(){t(".betterdocs-mobile-toc-wrapper").fadeOut()}))})),t("#betterdocs-sidebar-right").on("click",(function(t){t.stopPropagation()})))}delay(t,e){setTimeout(t,e)}printToc(){this.reusablePrintFunction(".betterdocs-print-btn"),this.reusablePrintFunction(".betterdocs-print-pdf-2")}cloneTocContentToAfter(){let t=jQuery,e=t(".betterdocs-single-layout-3 #betterdocs-sidebar-right .betterdocs-toc .toc-list a");t.each(e,(function(e,s){t(this).addClass(`toc-item-link-${e+1}`),t(`<style>.toc-item-link-${e+1}:after {height: ${s.offsetHeight+10}px}</style>`).appendTo("head")}))}reusablePrintFunction(t){var e=jQuery;e("body").on("click",t,(function(t){let s="";e("#betterdocs-entry-title").length?s=document.getElementById("betterdocs-entry-title").innerHTML:e(".wp-block-post-title").length&&(s=document.getElementsByClassName("wp-block-post-title")[0]?.innerHTML);var i=document.getElementById("betterdocs-single-content").cloneNode(!0);i.querySelectorAll(".glossary-tooltip-overlay").forEach((function(t){t.remove()}));var o=i.innerHTML,r=window.betterdocsConfig&&betterdocsConfig.print||{},n=(r.logo?'<div class="betterdocs-print-header"><img src="'+r.logo+'" alt="" /></div>':"")+"<h1>"+s+"</h1> "+o,a=document.createElement("div");a.innerHTML=r.footer?'<table class="betterdocs-print-layout"><tfoot><tr><td><div class="betterdocs-print-footer">'+r.footer+"</div></td></tr></tfoot><tbody><tr><td>"+n+"</td></tr></tbody></table>":n,a.id="new-doc-print";var c=(s||"").replace(/<[^>]*>/g,"").trim()||document.title,l=document.getElementById("betterdocs-single-content").offsetWidth,d=e(window).height(),h=window.open("","","left=50%,top=10%,width="+l+",height="+d+",toolbar=0,scrollbars=0,status=0"),p=Array.from(document.styleSheets).map((t=>{try{return Array.from(t.cssRules).map((t=>t.cssText)).join("")}catch(e){return console.log("Access to stylesheet blocked by CORS policy:",t.href),""}})).join("\n");p+="@page{margin:16mm 12mm}.betterdocs-print-layout{width:100%;border-collapse:collapse}.betterdocs-print-layout>tbody>tr>td,.betterdocs-print-layout>tfoot>tr>td{padding:0;border:0}.betterdocs-print-layout>tfoot{display:table-footer-group}.betterdocs-print-header{text-align:center;margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid #e3e3e3}.betterdocs-print-header img{max-height:72px;max-width:100%;width:auto;height:auto}.betterdocs-print-footer{text-align:center;font-size:11px;line-height:1.4;color:#555;padding:6px 8px;margin-top:12px;border-top:1px solid #e3e3e3}";var u=h.document.createElement("style");u.textContent=p,h.document.head.appendChild(u),h.document.body.innerHTML=a.outerHTML,h.document.close(),h.document.title=c;var b=Array.prototype.filter.call(h.document.images,(function(t){return!t.complete})).map((function(t){return new Promise((function(e){t.onload=t.onerror=e}))})),g=function(){h.focus(),h.print(),setTimeout((function(){h.close()}),300)};b.length?Promise.race([Promise.all(b),new Promise((function(t){setTimeout(t,3e3)}))]).then(g):g()}))}aiActions(){const t=jQuery,e=".betterdocs-ai-actions",s=window.betterdocsConfig&&betterdocsConfig.ai_actions&&betterdocsConfig.ai_actions.i18n||{};window.betterdocsAIActionHandlers=window.betterdocsAIActionHandlers||{},window.betterdocsAIActionHandlers["copy-markdown"]=t=>this.copyMarkdown(t);const i=s=>{t(e).each((function(){s&&this===s||(t(this).find(".betterdocs-ai-actions-toggle").attr("aria-expanded","false"),t(this).find(".betterdocs-ai-actions-menu").prop("hidden",!0))}))};t("body").on("click.betterdocs-ai-actions",`${e}-toggle`,(function(s){s.preventDefault();const o=t(this),r=o.closest(e),n=r.find(".betterdocs-ai-actions-menu"),a="true"===o.attr("aria-expanded");i(a?null:r[0]),o.attr("aria-expanded",a?"false":"true"),n.prop("hidden",a),a||0!==s.detail||n.find(".betterdocs-ai-actions-item").first().trigger("focus")})),t("body").on("keydown.betterdocs-ai-actions",e,(function(e){if("Escape"!==e.key&&"Esc"!==e.key)return;const s=t(this);s.find(".betterdocs-ai-actions-menu").prop("hidden")||(e.stopPropagation(),i(),s.find(".betterdocs-ai-actions-toggle").trigger("focus"))})),t(document).on("click.betterdocs-ai-actions",(s=>{t(s.target).closest(e).length||i()})),t("body").on("click.betterdocs-ai-actions","button.betterdocs-ai-actions-item, button.betterdocs-ai-actions-primary",(function(s){s.preventDefault();const o=window.betterdocsAIActionHandlers[t(this).data("bd-handler")];if("function"==typeof o&&o(this),t(this).hasClass("betterdocs-ai-actions-item")){const o=t(this).closest(e);i(),0===s.detail&&o.find(".betterdocs-ai-actions-toggle").trigger("focus")}})),t("body").on("click.betterdocs-ai-actions","a.betterdocs-ai-actions-item",(()=>i())),this.aiActionsI18n=s}copyMarkdown(t){const e=jQuery(t).closest(".betterdocs-ai-actions"),s=e.data("bd-copy-url")||e.data("bd-md-url"),i=this.aiActionsI18n||{};if(!s)return void this.aiActionsFeedback(e,!1);this.aiActionsAnnounce(e,i.copying);const o=fetch(s,{credentials:"same-origin",headers:{Accept:"text/markdown"}}).then((t=>{const e=t.headers.get("content-type")||"";if(!t.ok||0!==e.indexOf("text/markdown"))throw new Error(`Unexpected response: ${t.status} ${e}`);return t.text()})),r=()=>this.aiActionsFeedback(e,!0),n=()=>this.aiActionsFeedback(e,!1);if(window.ClipboardItem&&navigator.clipboard&&navigator.clipboard.write){const t=o.then((t=>new Blob([t],{type:"text/plain"})));navigator.clipboard.write([new ClipboardItem({"text/plain":t})]).then(r).catch((()=>o.then((t=>this.aiActionsWrite(t))).then(r,n)))}else o.then((t=>this.aiActionsWrite(t))).then(r,n)}aiActionsWrite(t){if(navigator.clipboard&&navigator.clipboard.writeText)return navigator.clipboard.writeText(t);if("undefined"!=typeof ClipboardJS&&ClipboardJS.copy)return ClipboardJS.copy(t)?Promise.resolve():Promise.reject(new Error("ClipboardJS copy failed"));const e=document.createElement("textarea");e.value=t,e.setAttribute("readonly",""),e.style.position="fixed",e.style.top="-9999px",document.body.appendChild(e),e.select();let s=!1;try{s=document.execCommand("copy")}catch(t){s=!1}return document.body.removeChild(e),s?Promise.resolve():Promise.reject(new Error("execCommand copy failed"))}aiActionsFeedback(t,e){jQuery;const s=this.aiActionsI18n||{},i=t.find(".betterdocs-ai-actions-label"),o=i.data("bd-original")||i.text();i.data("bd-original",o),i.text(e?s.copied:s.copy_failed),t.removeClass("is-copied is-failed").addClass(e?"is-copied":"is-failed"),this.aiActionsAnnounce(t,e?s.copied:s.copy_error),clearTimeout(t.data("bd-reset")),t.data("bd-reset",setTimeout((()=>{i.text(o),t.removeClass("is-copied is-failed")}),2e3))}aiActionsAnnounce(t,e){if(!e)return;const s=t.find(".betterdocs-ai-actions-status");s.text(""),setTimeout((()=>s.text(e)),50)}listen(){const t=jQuery,e=".betterdocs-listen",s=window.betterdocsConfig&&betterdocsConfig.listen||{};if(!("speechSynthesis"in window)||"function"!=typeof window.SpeechSynthesisUtterance)return void document.documentElement.classList.add("betterdocs-no-speech");const i=i=>n.for(t(i).closest(e)[0],s);t("body").on("click.betterdocs-listen",`button${e}-trigger`,(function(t){t.preventDefault(),i(this).activate()})).on("mouseenter.betterdocs-listen focusin.betterdocs-listen",`button${e}-trigger`,(function(){i(this).prefetch()})).on("click.betterdocs-listen",`button${e}-play`,(function(t){t.preventDefault(),i(this).toggle()})).on("click.betterdocs-listen",`button${e}-speed`,(function(t){t.preventDefault(),i(this).cycleRate()})).on("click.betterdocs-listen",`button${e}-close`,(function(t){t.preventDefault(),i(this).close()})).on("click.betterdocs-listen",`${e}-seek`,(function(t){const e=this.getBoundingClientRect();if(!e.width)return;const s=(t.clientX||0)-e.left,o="rtl"===window.getComputedStyle(this).direction?1-s/e.width:s/e.width;i(this).seekTo(o,!0)})).on("keydown.betterdocs-listen",`${e}-seek`,(function(t){const e=i(this),s=e.duration>0?e.position/e.duration:0,o=t.shiftKey?.1:.02;let r=null;switch(t.key){case"ArrowRight":case"Right":case"ArrowUp":case"Up":r=s+o;break;case"ArrowLeft":case"Left":case"ArrowDown":case"Down":r=s-o;break;case"Home":r=0;break;case"End":r=.99;break;case" ":case"Spacebar":case"Enter":return t.preventDefault(),void e.toggle();default:return}t.preventDefault(),e.seekTo(r,!0)})).on("keydown.betterdocs-listen",e,(function(t){if("Escape"!==t.key&&"Esc"!==t.key)return;const e=i(this);e.active&&(t.stopPropagation(),e.close())})),"function"==typeof window.speechSynthesis.addEventListener&&window.speechSynthesis.addEventListener("voiceschanged",(()=>{n.registry.forEach((t=>{t.playing||(t.voiceResolved=null)}))})),t(window).on("pagehide.betterdocs-listen",(()=>n.stopAll()))}copyToClipboard(){let t=jQuery;if(t(".batterdocs-anchor").length){const e=function(e){e.preventDefault(),e.stopPropagation();let s=new ClipboardJS(e.target);s.on("success",(function(e){t(document).find("div.tooltip-box").text(betterdocsConfig.copy_text),e.clearSelection(),t(e.trigger).addClass("copied"),setTimeout((function(){t(e.trigger).removeClass("copied")}),2e3),s.destroy()}));let i=ClipboardJS.copy(e.target.dataset.clipboardText);s.emit(i?"success":"error",{action:"copy",text:i,trigger:e.target,clearSelection(){e.target&&e.target.focus(),window.getSelection().removeAllRanges()}})};t('a.batterdocs-anchor[href*="#"]').hover((function(){var e=t(this).attr("data-title");t("<div/>",{text:e,class:"tooltip-box"}).appendTo(this)}),(function(){t(this).find("div.tooltip-box").remove()})).on("click",e),function(){if("undefined"!=typeof self&&self.Prism&&self.document)if(Prism.plugins.toolbar){var t=window.ClipboardJS||void 0;t||(t=s(22104));var e=[];if(!t){var i=document.createElement("script"),o=document.querySelector("head");i.onload=function(){if(t=window.ClipboardJS)for(;e.length;)e.pop()()},i.src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js",o.appendChild(i)}Prism.plugins.toolbar.registerButton("copy-to-clipboard",(function(s){var i=document.createElement("button");return i.textContent="Copy",t?o():e.push(o),i;function o(){var e=new t(i,{text:function(){return s.code}});e.on("success",(function(){i.textContent="Copied!",r()})),e.on("error",(function(){i.textContent="Press Ctrl+C to copy",r()}))}function r(){setTimeout((function(){i.textContent="Copy"}),5e3)}}))}else console.warn("Copy to Clipboard plugin loaded before Toolbar plugin.")}()}}feedbackForm(){var t=jQuery,e=this;let s=t("#betterdocs-form-modal"),i=t("#betterdocs-form-modal .modal-content");this.formLink.click((function(t){t.preventDefault(),s.fadeIn(500)})),t(document).mouseup((function(t){i.is(t.target)||0!==i.has(t.target).length||s.fadeOut()})),t(".betterdocs-modalwindow .close").click((function(t){t.preventDefault(),s.fadeOut(500)})),this.feedbackFormFields.on("keyup",(function(){t(this).removeClass("val-error"),t(this).siblings(".error-message").remove()})),this.feedbackFormWrap.on("submit",(function(s){s.preventDefault();var i=t(this),o=t("#message_name"),r=t("#message_email"),n=t("#message_subject"),a=t("#message_text");e.betterdocsFeedbackFormSubmit(i,o,r,n,a)})),this.betterdocsFeedbackFormSubmit=function(s,i,o,r,n){let a;a&&a.abort(),a=t.ajax({url:betterdocsSubmitFormConfig.ajax_url,type:"post",data:{action:"betterdocs_feedback_form_submit",form:s.serializeArray(),postID:betterdocsSubmitFormConfig.post_id,message_name:i.val(),message_email:o.val(),message_subject:r.val(),message_text:n.val(),security:betterdocsSubmitFormConfig.nonce},beforeSend:function(){},success:function(r){r.success?1==r.success?(t(".response").html('<span class="success-message">'+r.data.message+"</span>"),s[0].reset(),e.delay((function(){t(".betterdocs-modalwindow").fadeOut(500),t(".response .success-message").remove()}),3e3)):t(".response").html('<span class="error-message">'+r.sentMessage+"</span>"):0==r.success&&(r.data.message.name&&0==i.hasClass("val-error")&&(i.addClass("val-error"),t(".form-name").append('<span class="error-message">'+r.data.message.name+"</span>")),r.data.message.email&&0==o.hasClass("val-error")&&(o.addClass("val-error"),t(".form-email").append('<span class="error-message">'+r.data.message.email+"</span>")),r.data.message.message&&0==n.hasClass("val-error")&&(n.addClass("val-error"),t(".form-message").append('<span class="error-message">'+r.data.message.message+"</span>")))}})}}subCategoryExpand(){var t=jQuery;let e=t(".betterdocs-nested-category-list.betterdocs-current-category.active");e.length>0&&e.each((function(e){t(this).prev().children(".toggle-arrow").toggle()}))}articleSummary(){var t=jQuery,e=t("#betterdocs-article-summary"),s=t("#betterdocs-summary-toggle"),i=t("#betterdocs-summary-content"),o=t("#betterdocs-summary-loading"),r=t("#betterdocs-summary-text"),n=!1;if(0!==e.length){if(0===s.length)return i.show(),void(n||a());s.on("click",(function(e){e.preventDefault(),i.is(":visible")?(i.slideUp(),t(this).find(".angle-right").show(),t(this).find(".angle-down").hide()):(i.slideDown(),t(this).find(".angle-right").hide(),t(this).find(".angle-down").show(),n||a())}))}function a(){o.show(),r.hide();var s=parseInt(e.data("post-id"))||0,i=e.data("post-type")||"",a=t("#betterdocs-single-content").text()||t(".betterdocs-content").text()||"",c=t("#betterdocs-entry-title").text()||t(".betterdocs-entry-heading").text()||document.title;return a.trim()?s<=0?(o.hide(),void r.html('<p class="summary-error">Invalid post ID for summary generation.</p>').show()):"docs"!==i?(o.hide(),void r.html('<p class="summary-error">Doc summary is only available for documentation posts.</p>').show()):void t.ajax({url:betterdocsConfig.ajax_url,type:"POST",data:{action:"betterdocs_generate_article_summary",post_id:s,post_title:c,post_content:a.substring(0,4e3),nonce:betterdocsConfig.summary_nonce},success:function(t){if(o.hide(),t.success&&t.data){var e='<div class="summary-content">'+t.data+"</div>";r.html(e);var s=r.data("style");s?r.attr("style",s+"; display: block;"):r.show(),n=!0}else{var i=t.data||betterdocsConfig.summary_error||"Failed to generate doc summary.";r.html('<p class="summary-error">'+i+"</p>").show()}},error:function(){o.hide(),r.html('<p class="summary-error">'+(betterdocsConfig.summary_error||"Failed to generate doc summary.")+"</p>").show()}}):(o.hide(),void r.html("<p>"+(betterdocsConfig.summary_error||"Unable to generate summary for this article.")+"</p>").show())}}}!function(){"use strict";jQuery(document).ready((function(){new a(window?.betterdocsConfig)}))}()})();