Files
static-php-cli/assets/chunks/VPAlgoliaSearchBox.CwqSeBh0.js
2026-07-16 06:25:16 +00:00

1 line
2.7 KiB
JavaScript

import{a as e,i as t,o as n,r}from"./theme.C_odZu9O.js";import{B as i,G as a,H as o,X as s,at as c,b as l,d as u,et as d,mt as f,o as p,rt as m}from"./framework.DrNIf5Lg.js";var h=s({__name:`VPAlgoliaSearchBox`,props:{algoliaOptions:{},openRequest:{}},setup(s){let h=s,g=u(),{site:_}=n(),v=()=>{},y,b,x=null,S=0,C,w,T=null,E=!1,D=!1;f(()=>h.algoliaOptions,O,{immediate:!0}),m(v),f(()=>h.openRequest?.nonce,()=>{let e=h.openRequest;e&&(e.target===`search`?y?.isReady?j(`docsearch`,()=>y?.open()):x=`search`:e.target===`toggleAskAi`?b?.isOpen?b.close():j(`sidepanel`,()=>b?.open()):b?.isReady?j(`sidepanel`,()=>b?.open()):b?x=`askAi`:y?.isReady?j(`docsearch`,()=>y?.openAskAi()):x=`askAi`)},{immediate:!0});async function O(t){if(!l)return;await d();let n=t.askAi,{valid:r,...i}=e({appId:t.appId??n?.appId,apiKey:t.apiKey??n?.apiKey,indexName:t.indexName??n?.indexName});if(!r){console.warn(`[vitepress] Algolia search cannot be initialized: missing appId/apiKey/indexName.`);return}await k({...t,...i})}async function k(e){let n=++S;v();let{useSidePanel:i}=t(e),a=e.askAi,{default:o}=await N();if(n===S){if(i&&a?.sidePanel){let{default:t}=await P();if(n!==S)return;b=t({...r(a,e),onOpen:A,onClose:M.bind(null,`sidepanel`),onReady:()=>{x===`askAi`&&(x=null,j(`sidepanel`,()=>b?.open()))},keyboardShortcuts:{"Ctrl/Cmd+I":!1}})}y=o({...e,container:`#vp-docsearch`,navigator:{navigate(e){g.go(e.itemUrl)}},transformItems:e=>e.map(e=>({...e,url:F(e.url)})),...i&&b&&{interceptAskAiEvent:e=>(j(`sidepanel`,()=>b?.open(e)),!0)},onOpen:A,onClose:M.bind(null,`docsearch`),onReady:()=>{x===`search`?(x=null,j(`docsearch`,()=>y?.open())):x===`askAi`&&!b&&(x=null,j(`docsearch`,()=>y?.openAskAi()))},keyboardShortcuts:{"/":!1,"Ctrl/Cmd+K":!1}}),v=()=>{y?.destroy(),b?.destroy(),y=void 0,b=void 0,x=null,T=null}}}function A(){requestAnimationFrame(()=>{(document.querySelector(`#docsearch-input`)||document.querySelector(`#docsearch-sidepanel textarea`))?.focus()})}function j(e,t){e===`docsearch`?b?.isOpen?(D=!0,b.close()):y?.isOpen||document.activeElement instanceof HTMLElement&&(T=document.activeElement):e===`sidepanel`&&(y?.isOpen?(E=!0,y.close()):b?.isOpen||document.activeElement instanceof HTMLElement&&(T=document.activeElement)),setTimeout(t,0)}function M(e){if(e===`docsearch`){if(E){E=!1;return}}else if(e===`sidepanel`&&D){D=!1;return}T&&=(T.focus(),null)}function N(){return C||=p(()=>import(`./esm.DLZGTa_Y.js`),[]),C}function P(){return w||=p(()=>import(`./esm.CJCpmpiJ.js`),[]),w}function F(e){let{pathname:t,hash:n}=new URL(e,location.origin);return t.replace(/\.html$/,_.value.cleanUrls?``:`.html`)+n}return(e,t)=>(c(),a(i,null,[t[0]||=o(`div`,{id:`vp-docsearch`},null,-1),t[1]||=o(`div`,{id:`vp-docsearch-sidepanel`},null,-1)],64))}});export{h as default};