@blinkk/root-cms 3.1.2 → 3.1.4

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 (136) hide show
  1. package/dist/app.js +1 -4
  2. package/dist/chunk-MYN76V3L.js +764 -0
  3. package/dist/{chunk-4VZTYUQ7.js → chunk-NC3CRIFA.js} +191 -13
  4. package/dist/core/ai-tools.d.ts +82 -42
  5. package/dist/core/ai.d.ts +54 -218
  6. package/dist/core/plugin.d.ts +10 -4
  7. package/dist/functions.js +1 -2
  8. package/dist/plugin.js +42 -208
  9. package/dist/shared/ai/models.d.ts +110 -0
  10. package/dist/shared/ai/prompt-utils.d.ts +59 -0
  11. package/dist/ui/AIPage-4W4MFELY.js +1 -0
  12. package/dist/ui/{AssetsPage-KLGNE6D6.js → AssetsPage-QUL2NBWK.js} +1 -1
  13. package/dist/ui/CollectionPage-7VU6SUUP.js +1 -0
  14. package/dist/ui/ComparePage-DCP5QHDE.js +1 -0
  15. package/dist/ui/DataPage-TUVFBALT.js +1 -0
  16. package/dist/ui/DataSourcePage-YE2ZOHYI.js +1 -0
  17. package/dist/ui/DocTranslationsPage-3ILTQOP2.js +1 -0
  18. package/dist/ui/DocumentPage-JFQ3Y2GH.js +1 -0
  19. package/dist/ui/EditDataSourcePage-WHPZDMD4.js +1 -0
  20. package/dist/ui/EditReleasePage-QKWHIURV.js +1 -0
  21. package/dist/ui/EmbeddedAIPage-SQLOV4IT.js +1 -0
  22. package/dist/ui/{EmbeddedDocumentPage-4TLMCDSO.js → EmbeddedDocumentPage-6FYHUHTE.js} +1 -1
  23. package/dist/ui/{ImageEditorDialog-GGS4VFEA.js → ImageEditorDialog-Q44YTLB5.js} +1 -1
  24. package/dist/ui/LogsPage-RC5O722W.js +1 -0
  25. package/dist/ui/NewDataSourcePage-QXW54CHQ.js +1 -0
  26. package/dist/ui/NewReleasePage-TKYWVTOH.js +1 -0
  27. package/dist/ui/{NotFoundPage-A6OCYREA.js → NotFoundPage-RMNPVSD3.js} +1 -1
  28. package/dist/ui/{ProjectPage-UHRXNN7O.js → ProjectPage-VY4EJX6J.js} +1 -1
  29. package/dist/ui/ReleasePage-VZAL4KUI.js +1 -0
  30. package/dist/ui/ReleasesPage-A4BLUNJE.js +1 -0
  31. package/dist/ui/SettingsPage-MP3YHQDP.js +1 -0
  32. package/dist/ui/{SidebarToolsPage-VXVRZ2C3.js → SidebarToolsPage-S5DMIEQ6.js} +1 -1
  33. package/dist/ui/{TaskPage-LDPRN3G6.js → TaskPage-LCBDMA4I.js} +1 -1
  34. package/dist/ui/TasksPage-72KVSUQY.js +1 -0
  35. package/dist/ui/TranslationsArbPage-B7TIRREV.js +2 -0
  36. package/dist/ui/TranslationsEditPage-VQG4YHA6.js +1 -0
  37. package/dist/ui/{TranslationsPage-674JU6L4.js → TranslationsPage-6VCVMNXI.js} +1 -1
  38. package/dist/ui/ai-tools-7S4URTMT.js +1 -0
  39. package/dist/ui/chunk-2PDMFZBF.js +1 -0
  40. package/dist/ui/{chunk-SKQECSUR.js → chunk-3WQCVKK4.js} +1 -1
  41. package/dist/ui/{chunk-WMICEDOT.js → chunk-4N6CPIOQ.js} +1 -1
  42. package/dist/ui/{chunk-NJMNOITA.js → chunk-5SY2SVEX.js} +1 -1
  43. package/dist/ui/chunk-62VPTZJL.js +1 -0
  44. package/dist/ui/{chunk-GT5EQSEX.js → chunk-6P75AZ3B.js} +1 -1
  45. package/dist/ui/{chunk-CAY5NM4Z.js → chunk-74OB6FM4.js} +1 -1
  46. package/dist/ui/{chunk-XWX2622O.js → chunk-76PG55CM.js} +1 -1
  47. package/dist/ui/chunk-AAR7DBEN.js +110 -0
  48. package/dist/ui/{chunk-JS6TK4OP.js → chunk-ATTW36EM.js} +1 -1
  49. package/dist/ui/chunk-AZ2SK2ZK.js +1 -0
  50. package/dist/ui/chunk-CSUKZZK5.js +1 -0
  51. package/dist/ui/chunk-DZYYWCHX.js +3 -0
  52. package/dist/ui/{chunk-NSOTG64N.js → chunk-EIMRPYCD.js} +1 -1
  53. package/dist/ui/{chunk-HARRKJFZ.js → chunk-ELKXEMOU.js} +1 -1
  54. package/dist/ui/{chunk-LROR6N3B.js → chunk-ETPZ3TXX.js} +2 -2
  55. package/dist/ui/{chunk-LROR6N3B.js.LEGAL.txt → chunk-ETPZ3TXX.js.LEGAL.txt} +1 -0
  56. package/dist/ui/{chunk-J5E457OI.js → chunk-EYVQCOAD.js} +1 -1
  57. package/dist/ui/{chunk-Q7IU4QCY.js → chunk-F4F5MH7A.js} +1 -1
  58. package/dist/ui/chunk-FF4CLAZS.js +1 -0
  59. package/dist/ui/{chunk-W6LP22IK.js → chunk-GCMX5V3P.js} +1 -1
  60. package/dist/ui/{chunk-FJLNXXE3.js → chunk-H3PYPGNR.js} +1 -1
  61. package/dist/ui/{chunk-WFQU7V3W.js → chunk-HVYNDEA7.js} +1 -1
  62. package/dist/ui/{chunk-TVYAZN2Q.js → chunk-IMXZTYAA.js} +1 -1
  63. package/dist/ui/{chunk-YXSXWFLZ.js → chunk-J5KDO4RM.js} +1 -1
  64. package/dist/ui/chunk-JSWRHHTZ.js +1 -0
  65. package/dist/ui/{chunk-MSYTAJBV.js → chunk-K3UM5OQF.js} +1 -1
  66. package/dist/ui/{chunk-BW2MKGNP.js → chunk-KBJ4AK5O.js} +1 -1
  67. package/dist/ui/{chunk-4FGASIIX.js → chunk-L3O3CLWO.js} +1 -1
  68. package/dist/ui/{chunk-JTIQBW33.js → chunk-LC6WLVRS.js} +1 -1
  69. package/dist/ui/{chunk-VJUMFJIX.js → chunk-MAZJRNAL.js} +1 -1
  70. package/dist/ui/{chunk-3E6CASIN.js → chunk-MYKJ6VAM.js} +1 -1
  71. package/dist/ui/chunk-NEA3XU6N.js +19 -0
  72. package/dist/ui/{chunk-UUVAD4U4.js → chunk-PR7NB5VK.js} +1 -1
  73. package/dist/ui/{chunk-QF3GPZTI.js → chunk-QHOZXW7Y.js} +1 -1
  74. package/dist/ui/chunk-RN4XVVWD.js +1 -0
  75. package/dist/ui/{chunk-PTPYMVFW.js → chunk-SLLTYDVX.js} +1 -1
  76. package/dist/ui/chunk-SWTNOWNE.js +1 -0
  77. package/dist/ui/{chunk-JBHRZ4EX.js → chunk-SYDHFYRC.js} +1 -1
  78. package/dist/ui/{chunk-ZMS6NIGG.js → chunk-UHK5N75L.js} +1 -1
  79. package/dist/ui/chunk-V3G3554T.js +31 -0
  80. package/dist/ui/chunk-VB5VMEN7.js +1 -0
  81. package/dist/ui/{chunk-2EPQJUGM.js → chunk-VRRRFAIV.js} +1 -1
  82. package/dist/ui/{chunk-4ALFT4ES.js → chunk-W2ZAVRAT.js} +56 -56
  83. package/dist/ui/{chunk-P2Z66DHV.js → chunk-W3ICOHMF.js} +1 -1
  84. package/dist/ui/{chunk-ENQKSLGJ.js → chunk-WAT22UHZ.js} +1 -1
  85. package/dist/ui/chunk-WN7HUDGY.js +1 -0
  86. package/dist/ui/{chunk-BUNR5EU3.js → chunk-WS37MDM3.js} +1 -1
  87. package/dist/ui/chunk-XACLTYBB.js +5 -0
  88. package/dist/ui/chunk-XJUQOX4E.js +1 -0
  89. package/dist/ui/{chunk-QHJOTXYB.js → chunk-XM35ZJBQ.js} +1 -1
  90. package/dist/ui/{chunk-VD6G5NV4.js → chunk-XOWWPE7X.js} +12 -12
  91. package/dist/ui/chunk-YV5SGR24.js +1 -0
  92. package/dist/ui/ui.css +1 -1
  93. package/dist/ui/ui.js +1 -1
  94. package/package.json +3 -3
  95. package/dist/chunk-AJDMNTZQ.js +0 -187
  96. package/dist/chunk-X5CNR4CK.js +0 -1411
  97. package/dist/ui/AIPage-2N5UYBRX.js +0 -1
  98. package/dist/ui/CollectionPage-D7IG6526.js +0 -1
  99. package/dist/ui/ComparePage-726NIJW5.js +0 -1
  100. package/dist/ui/DataPage-YMSQCIVK.js +0 -1
  101. package/dist/ui/DataSourcePage-7VPFUG3K.js +0 -1
  102. package/dist/ui/DocTranslationsPage-FO7O76VK.js +0 -1
  103. package/dist/ui/DocumentPage-M7SJ4ITQ.js +0 -1
  104. package/dist/ui/EditDataSourcePage-Y7YK6IWT.js +0 -1
  105. package/dist/ui/EditReleasePage-XZ4RHHRT.js +0 -1
  106. package/dist/ui/EmbeddedAIPage-RJOUIPF2.js +0 -1
  107. package/dist/ui/LogsPage-IGDDZGEI.js +0 -1
  108. package/dist/ui/NewDataSourcePage-YUPRHL7F.js +0 -1
  109. package/dist/ui/NewReleasePage-6HHLYOQP.js +0 -1
  110. package/dist/ui/ReleasePage-V2JMPWX7.js +0 -1
  111. package/dist/ui/ReleasesPage-SCR4SVKN.js +0 -1
  112. package/dist/ui/SettingsPage-5XKHPG6K.js +0 -1
  113. package/dist/ui/TasksPage-DIXUWYXM.js +0 -1
  114. package/dist/ui/TranslationsArbPage-QPD3ZBT4.js +0 -2
  115. package/dist/ui/TranslationsEditPage-475Z7UPC.js +0 -1
  116. package/dist/ui/ai-tools-4DWMFQS6.js +0 -1
  117. package/dist/ui/chunk-2RAVKX2Z.js +0 -19
  118. package/dist/ui/chunk-2S5HMST6.js +0 -1
  119. package/dist/ui/chunk-344GZOGG.js +0 -84
  120. package/dist/ui/chunk-4ISFTE2G.js +0 -5
  121. package/dist/ui/chunk-AGFPVTBA.js +0 -1
  122. package/dist/ui/chunk-D3UIZHRK.js +0 -1
  123. package/dist/ui/chunk-HO3W4RVG.js +0 -1
  124. package/dist/ui/chunk-KRNQ6L35.js +0 -1
  125. package/dist/ui/chunk-N3JSLTMV.js +0 -1
  126. package/dist/ui/chunk-NWHGT476.js +0 -1
  127. package/dist/ui/chunk-RHAJNURN.js +0 -1
  128. package/dist/ui/chunk-SENZVSVZ.js +0 -1
  129. package/dist/ui/chunk-TOGLZDK3.js +0 -1
  130. package/dist/ui/chunk-TPJCPCRR.js +0 -1
  131. package/dist/ui/chunk-XMESZUC5.js +0 -1
  132. package/dist/ui/chunk-YMBBWVBB.js +0 -3
  133. /package/dist/ui/{ImageEditorDialog-GGS4VFEA.js.LEGAL.txt → ImageEditorDialog-Q44YTLB5.js.LEGAL.txt} +0 -0
  134. /package/dist/ui/{chunk-NJMNOITA.js.LEGAL.txt → chunk-5SY2SVEX.js.LEGAL.txt} +0 -0
  135. /package/dist/ui/{chunk-4ALFT4ES.js.LEGAL.txt → chunk-W2ZAVRAT.js.LEGAL.txt} +0 -0
  136. /package/dist/ui/{chunk-VD6G5NV4.js.LEGAL.txt → chunk-XOWWPE7X.js.LEGAL.txt} +0 -0
@@ -0,0 +1 @@
1
+ import{e}from"./chunk-WS37MDM3.js";import{Ga as o}from"./chunk-ETPZ3TXX.js";function n(r){return o("div",{className:e(r.className,"Surface"),children:r.children})}export{n as a};
@@ -1 +1 @@
1
- import{a as h}from"./chunk-YDO2EDVY.js";import{a as x}from"./chunk-5MV6XVGA.js";import{g as y}from"./chunk-YMBBWVBB.js";import{c as f,n as g}from"./chunk-VD6G5NV4.js";async function b(e){let t=window.firebase.db,r=window.__ROOT_CTX.rootConfig.projectId,[o,a]=e.split("/",2),i=await h(o),n=f(t,"Projects",r,"Collections",o,"Drafts",a),c=(await g(n)).data()||{},p=new Set;return m(p,i.fields,c.fields||{},i.types||{}),Array.from(p)}async function C(e){let t=window.firebase.db,r=window.__ROOT_CTX.rootConfig.projectId,[o,a]=e.split("/",2),i=await h(o),n=f(t,"Projects",r,"Collections",o,"Drafts",a),c=(await g(n)).data()||{},p=new Map;return d(p,i.fields,c.fields||{},i.types||{}),p}function m(e,t,r,o={}){t.forEach(a=>{if(!a.id)return;let i=r[a.id],n=`@${a.id}`,s=r[n];s?.translate===!1||s?.disableTranslations||R(e,a,i,o,s)})}function d(e,t,r,o={}){t.forEach(a=>{if(!a.id)return;let i=r[a.id],n=`@${a.id}`,s=r[n];if(s?.translate===!1||s?.disableTranslations)return;let c=s?.description;S(e,a,i,o,c,s)})}function R(e,t,r,o={},a){if(!r)return;function i(n){let s=y(n);s&&e.add(s)}if(t.type==="object")m(e,t.fields||[],r,o);else if(t.type==="array"){let n=r._array||[];for(let s of n)R(e,t.of,r[s],o)}else if(t.type==="string"||t.type==="select")t.translate&&i(r);else if(t.type==="image")t.translate&&r&&r.alt&&t.alt!==!1&&a?.alt!==!1&&i(r.alt);else if(t.type==="multiselect"){if(t.translate&&Array.isArray(r))for(let n of r)i(n)}else if(t.type==="oneof"){let n=t.types||[],s;typeof n[0]=="string"?n.includes(r._type)&&(s=o[r._type]):s=n.find(c=>c.name===r._type),s&&m(e,s.fields||[],r,o)}else t.type==="richtext"?t.translate&&T(e,r):console.log(`extract: ignoring field, id=${t.id}, type=${t.type}`)}function S(e,t,r,o={},a,i){if(!r)return;function n(s){let c=y(s);if(c){let p=e.get(c);(!p||!p.description)&&e.set(c,{description:a})}}if(t.type==="object")d(e,t.fields||[],r,o);else if(t.type==="array"){let s=r._array||[];for(let c of s)S(e,t.of,r[c],o,a)}else if(t.type==="string"||t.type==="select")t.translate&&n(r);else if(t.type==="image")t.translate&&r&&r.alt&&t.alt!==!1&&i?.alt!==!1&&n(r.alt);else if(t.type==="multiselect"){if(t.translate&&Array.isArray(r))for(let s of r)n(s)}else if(t.type==="oneof"){let s=t.types||[],c;typeof s[0]=="string"?s.includes(r._type)&&(c=o[r._type]):c=s.find(p=>p.name===r._type),c&&d(e,c.fields||[],r,o)}else if(t.type==="richtext"&&t.translate){let s=new Set;T(s,r),s.forEach(c=>n(c))}}function T(e,t){(t?.blocks||[]).forEach(o=>{l(e,o)})}function l(e,t){if(!t?.type)return;function r(n){if(!n)return;let s=y(n);s&&e.add(s)}function o(n){n&&Object.values(n).forEach(s=>{a(s)})}function a(n){if(typeof n=="string"){r(n);return}if(Array.isArray(n)){n.forEach(s=>a(s));return}x(n)&&Object.values(n).forEach(s=>a(s))}function i(n){n&&n.forEach(s=>{r(s.content),o(s.components),i(s.items)})}t.type==="heading"||t.type==="paragraph"?(r(t.data?.text),o(t.data?.components)):t.type==="orderedList"||t.type==="unorderedList"?i(t.data?.items):t.type==="html"?r(t.data?.html):t.type==="table"&&(t.data?.rows||[]).forEach(s=>{(s.cells||[]).forEach(p=>{(p.blocks||[]).forEach(w=>{l(e,w)})})})}export{b as a,C as b,R as c};
1
+ import{a as h}from"./chunk-YDO2EDVY.js";import{a as x}from"./chunk-5MV6XVGA.js";import{h as y}from"./chunk-DZYYWCHX.js";import{c as f,n as g}from"./chunk-XOWWPE7X.js";async function b(e){let t=window.firebase.db,r=window.__ROOT_CTX.rootConfig.projectId,[o,a]=e.split("/",2),i=await h(o),n=f(t,"Projects",r,"Collections",o,"Drafts",a),c=(await g(n)).data()||{},p=new Set;return m(p,i.fields,c.fields||{},i.types||{}),Array.from(p)}async function C(e){let t=window.firebase.db,r=window.__ROOT_CTX.rootConfig.projectId,[o,a]=e.split("/",2),i=await h(o),n=f(t,"Projects",r,"Collections",o,"Drafts",a),c=(await g(n)).data()||{},p=new Map;return d(p,i.fields,c.fields||{},i.types||{}),p}function m(e,t,r,o={}){t.forEach(a=>{if(!a.id)return;let i=r[a.id],n=`@${a.id}`,s=r[n];s?.translate===!1||s?.disableTranslations||R(e,a,i,o,s)})}function d(e,t,r,o={}){t.forEach(a=>{if(!a.id)return;let i=r[a.id],n=`@${a.id}`,s=r[n];if(s?.translate===!1||s?.disableTranslations)return;let c=s?.description;S(e,a,i,o,c,s)})}function R(e,t,r,o={},a){if(!r)return;function i(n){let s=y(n);s&&e.add(s)}if(t.type==="object")m(e,t.fields||[],r,o);else if(t.type==="array"){let n=r._array||[];for(let s of n)R(e,t.of,r[s],o)}else if(t.type==="string"||t.type==="select")t.translate&&i(r);else if(t.type==="image")t.translate&&r&&r.alt&&t.alt!==!1&&a?.alt!==!1&&i(r.alt);else if(t.type==="multiselect"){if(t.translate&&Array.isArray(r))for(let n of r)i(n)}else if(t.type==="oneof"){let n=t.types||[],s;typeof n[0]=="string"?n.includes(r._type)&&(s=o[r._type]):s=n.find(c=>c.name===r._type),s&&m(e,s.fields||[],r,o)}else t.type==="richtext"?t.translate&&T(e,r):console.log(`extract: ignoring field, id=${t.id}, type=${t.type}`)}function S(e,t,r,o={},a,i){if(!r)return;function n(s){let c=y(s);if(c){let p=e.get(c);(!p||!p.description)&&e.set(c,{description:a})}}if(t.type==="object")d(e,t.fields||[],r,o);else if(t.type==="array"){let s=r._array||[];for(let c of s)S(e,t.of,r[c],o,a)}else if(t.type==="string"||t.type==="select")t.translate&&n(r);else if(t.type==="image")t.translate&&r&&r.alt&&t.alt!==!1&&i?.alt!==!1&&n(r.alt);else if(t.type==="multiselect"){if(t.translate&&Array.isArray(r))for(let s of r)n(s)}else if(t.type==="oneof"){let s=t.types||[],c;typeof s[0]=="string"?s.includes(r._type)&&(c=o[r._type]):c=s.find(p=>p.name===r._type),c&&d(e,c.fields||[],r,o)}else if(t.type==="richtext"&&t.translate){let s=new Set;T(s,r),s.forEach(c=>n(c))}}function T(e,t){(t?.blocks||[]).forEach(o=>{l(e,o)})}function l(e,t){if(!t?.type)return;function r(n){if(!n)return;let s=y(n);s&&e.add(s)}function o(n){n&&Object.values(n).forEach(s=>{a(s)})}function a(n){if(typeof n=="string"){r(n);return}if(Array.isArray(n)){n.forEach(s=>a(s));return}x(n)&&Object.values(n).forEach(s=>a(s))}function i(n){n&&n.forEach(s=>{r(s.content),o(s.components),i(s.items)})}t.type==="heading"||t.type==="paragraph"?(r(t.data?.text),o(t.data?.components)):t.type==="orderedList"||t.type==="unorderedList"?i(t.data?.items):t.type==="html"?r(t.data?.html):t.type==="table"&&(t.data?.rows||[]).forEach(s=>{(s.cells||[]).forEach(p=>{(p.blocks||[]).forEach(w=>{l(e,w)})})})}export{b as a,C as b,R as c};
@@ -1 +1 @@
1
- import{b as N,f as R,g as U,i as H,j as O,k as P,m as j,o as M}from"./chunk-VD6G5NV4.js";import{a as u,c as C,e as G,h as A,j as F}from"./chunk-LROR6N3B.js";F();var X=200,Y=25,J=2;function ot(t,n={}){let[s,r]=u([]),[g,e]=u(!1),[o,h]=u(null),[y,a]=u(null),i=G(null),x=n.limit??Y,L=n.minQueryLength??J;return C(()=>{let m=t.trim();if(m.length<L){i.current?.abort(),i.current=null,r([]),e(!1),h(null);return}e(!0),h(null);let S=window.setTimeout(async()=>{i.current?.abort();let l=new AbortController;i.current=l;try{let c=await fetch("/cms/api/search.query",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({q:m,limit:x}),signal:l.signal});if(!c.ok)throw new Error(`search.query returned ${c.status}`);let d=await c.json();if(!d?.success)throw new Error(d?.error||"search failed");if(l.signal.aborted)return;r(Array.isArray(d.hits)?d.hits:[]),a(d.meta||null),e(!1)}catch(c){if(l.signal.aborted)return;console.error("global search failed:",c),h(String(c?.message||c)),r([]),e(!1)}},X);return()=>{window.clearTimeout(S)}},[t,x,L]),{hits:s,loading:g,error:o,status:y}}function st(){let[t,n]=u({status:{lastRun:null,docCount:0,fieldCount:0,shardCount:0},running:!1}),[s,r]=u(!0),g=A(async()=>{try{let e=await fetch("/cms/api/search.status",{method:"GET",headers:{"Content-Type":"application/json"}});if(!e.ok)return;let o=await e.json();if(!o?.success)return;n({status:o.status,running:!!o.running})}catch(e){console.error("search.status failed:",e)}finally{r(!1)}},[]);return C(()=>{g()},[g]),{...t,loading:s,refresh:g}}var V=200,W=5,z=2;function at(t,n={}){let[s,r]=u([]),[g,e]=u(!1),o=G(null),h=n.limit??10,y=n.minQueryLength??z;return C(()=>{let a=t.trim(),i=a.indexOf("/");if((i>=0?a.slice(i+1):a).length<y){o.current&&(o.current.aborted=!0),o.current=null,r([]),e(!1);return}e(!0);let L=window.setTimeout(async()=>{o.current&&(o.current.aborted=!0);let m={aborted:!1};o.current=m;let S=null,l=a;i>=0&&(S=a.slice(0,i),l=a.slice(i+1));let c=window.__ROOT_CTX?.rootConfig?.projectId,d=window.firebase?.db;if(!c||!d){r([]),e(!1);return}let v=Object.keys(window.__ROOT_CTX.collections||{}),$=S?v.filter(p=>p.toLowerCase()===S.toLowerCase()):v,q=l,B=`${l}\uF8FF`;try{let p=$.map(async f=>{let w=N(d,"Projects",c,"Collections",f,"Drafts"),E=U(w,H(R()),P(q),j(B),O(W));try{let b=await M(E),_=[];return b.forEach(D=>{_.push({collection:f,slug:D.id,docId:`${f}/${D.id}`})}),_}catch(b){return console.error(`docSlugSearch failed for ${f}:`,b),[]}}),K=(await Promise.all(p)).flat();if(m.aborted)return;let Q=K.sort((f,w)=>{let E=f.slug===l||f.docId===a?0:1,b=w.slug===l||w.docId===a?0:1;return E!==b?E-b:f.docId.localeCompare(w.docId)});r(Q.slice(0,h)),e(!1)}catch(p){if(m.aborted)return;console.error("docSlugSearch failed:",p),r([]),e(!1)}},V);return()=>{window.clearTimeout(L)}},[t,h,y]),{hits:s,loading:g}}var T=new Set,k=!1;function I(){return T.values().next().value}function Z(t){I()&&(t.preventDefault(),t.returnValue="")}function tt(t){let n=I();if(!n||t.defaultPrevented||t.ctrlKey||t.metaKey||t.altKey||t.shiftKey||t.button!==0)return;let s=t.composedPath().find(r=>r instanceof HTMLAnchorElement&&!!r.href);!s||(s.getAttribute("href")||"").startsWith("#")||s.download||s.origin!==window.location.origin||!/^(_?self)?$/i.test(s.target)||window.confirm(n.message)||(t.preventDefault(),t.stopImmediatePropagation())}function et(t){let n=I();n&&(window.confirm(n.message)||(t.stopImmediatePropagation(),window.history.pushState(null,"",n.url)))}function lt(){k||(k=!0,window.addEventListener("beforeunload",Z),window.addEventListener("click",tt,{capture:!0}),window.addEventListener("popstate",et))}function ct(t){return T.add(t),()=>T.delete(t)}export{ot as a,st as b,at as c,lt as d,ct as e};
1
+ import{b as N,f as R,g as U,i as H,j as O,k as P,m as j,o as M}from"./chunk-XOWWPE7X.js";import{a as u,c as C,e as G,h as A,j as F}from"./chunk-ETPZ3TXX.js";F();var X=200,Y=25,J=2;function ot(t,n={}){let[s,r]=u([]),[g,e]=u(!1),[o,h]=u(null),[y,a]=u(null),i=G(null),x=n.limit??Y,L=n.minQueryLength??J;return C(()=>{let m=t.trim();if(m.length<L){i.current?.abort(),i.current=null,r([]),e(!1),h(null);return}e(!0),h(null);let S=window.setTimeout(async()=>{i.current?.abort();let l=new AbortController;i.current=l;try{let c=await fetch("/cms/api/search.query",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({q:m,limit:x}),signal:l.signal});if(!c.ok)throw new Error(`search.query returned ${c.status}`);let d=await c.json();if(!d?.success)throw new Error(d?.error||"search failed");if(l.signal.aborted)return;r(Array.isArray(d.hits)?d.hits:[]),a(d.meta||null),e(!1)}catch(c){if(l.signal.aborted)return;console.error("global search failed:",c),h(String(c?.message||c)),r([]),e(!1)}},X);return()=>{window.clearTimeout(S)}},[t,x,L]),{hits:s,loading:g,error:o,status:y}}function st(){let[t,n]=u({status:{lastRun:null,docCount:0,fieldCount:0,shardCount:0},running:!1}),[s,r]=u(!0),g=A(async()=>{try{let e=await fetch("/cms/api/search.status",{method:"GET",headers:{"Content-Type":"application/json"}});if(!e.ok)return;let o=await e.json();if(!o?.success)return;n({status:o.status,running:!!o.running})}catch(e){console.error("search.status failed:",e)}finally{r(!1)}},[]);return C(()=>{g()},[g]),{...t,loading:s,refresh:g}}var V=200,W=5,z=2;function at(t,n={}){let[s,r]=u([]),[g,e]=u(!1),o=G(null),h=n.limit??10,y=n.minQueryLength??z;return C(()=>{let a=t.trim(),i=a.indexOf("/");if((i>=0?a.slice(i+1):a).length<y){o.current&&(o.current.aborted=!0),o.current=null,r([]),e(!1);return}e(!0);let L=window.setTimeout(async()=>{o.current&&(o.current.aborted=!0);let m={aborted:!1};o.current=m;let S=null,l=a;i>=0&&(S=a.slice(0,i),l=a.slice(i+1));let c=window.__ROOT_CTX?.rootConfig?.projectId,d=window.firebase?.db;if(!c||!d){r([]),e(!1);return}let v=Object.keys(window.__ROOT_CTX.collections||{}),$=S?v.filter(p=>p.toLowerCase()===S.toLowerCase()):v,q=l,B=`${l}\uF8FF`;try{let p=$.map(async f=>{let w=N(d,"Projects",c,"Collections",f,"Drafts"),E=U(w,H(R()),P(q),j(B),O(W));try{let b=await M(E),_=[];return b.forEach(D=>{_.push({collection:f,slug:D.id,docId:`${f}/${D.id}`})}),_}catch(b){return console.error(`docSlugSearch failed for ${f}:`,b),[]}}),K=(await Promise.all(p)).flat();if(m.aborted)return;let Q=K.sort((f,w)=>{let E=f.slug===l||f.docId===a?0:1,b=w.slug===l||w.docId===a?0:1;return E!==b?E-b:f.docId.localeCompare(w.docId)});r(Q.slice(0,h)),e(!1)}catch(p){if(m.aborted)return;console.error("docSlugSearch failed:",p),r([]),e(!1)}},V);return()=>{window.clearTimeout(L)}},[t,h,y]),{hits:s,loading:g}}var T=new Set,k=!1;function I(){return T.values().next().value}function Z(t){I()&&(t.preventDefault(),t.returnValue="")}function tt(t){let n=I();if(!n||t.defaultPrevented||t.ctrlKey||t.metaKey||t.altKey||t.shiftKey||t.button!==0)return;let s=t.composedPath().find(r=>r instanceof HTMLAnchorElement&&!!r.href);!s||(s.getAttribute("href")||"").startsWith("#")||s.download||s.origin!==window.location.origin||!/^(_?self)?$/i.test(s.target)||window.confirm(n.message)||(t.preventDefault(),t.stopImmediatePropagation())}function et(t){let n=I();n&&(window.confirm(n.message)||(t.stopImmediatePropagation(),window.history.pushState(null,"",n.url)))}function lt(){k||(k=!0,window.addEventListener("beforeunload",Z),window.addEventListener("click",tt,{capture:!0}),window.addEventListener("popstate",et))}function ct(t){return T.add(t),()=>T.delete(t)}export{ot as a,st as b,at as c,lt as d,ct as e};