book-index-ui 0.42.0 → 0.43.0
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.
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -117,7 +117,7 @@
|
|
|
117
117
|
:root[data-layout="boxed"] .bim-sr-table th { background: ${i("fr-bg")}; }
|
|
118
118
|
/* 墨:主色与正文对比不到 3:1,标题链接另加下划线 */
|
|
119
119
|
:root[data-theme="ink"] .bim-sr-table td.bim-sr-c-title a { text-decoration: underline; text-decoration-color: color-mix(in srgb, currentColor 45%, transparent); text-underline-offset: 3px; }
|
|
120
|
-
`,Vi="bim-search-view",ti=50,Ko=5,rn=1e3;function kn(t){return t>=rn?`${rn.toLocaleString()}+`:t.toLocaleString()}const vd={work:"work",works:"work",book:"book",books:"book",collection:"collection",collections:"collection",entity:"entity",entities:"entity"};function kd(t){return t&&vd[t.toLowerCase()]||"all"}function wd(t){return t==="all"?null:t}const qo=["work","collection","book","entity"],Sd={work:"works",collection:"collections",book:"books",entity:"entities"},$d={work:"totalWorks",collection:"totalCollections",book:"totalBooks",entity:"totalEntities"};function _d(){try{return window.localStorage.getItem(Vi)==="card"?"card":"table"}catch{return"table"}}function Cd(t){try{window.localStorage.setItem(Vi,t)}catch{}}const Lt=(t,n)=>(t==null?void 0:t[$d[n]])??0,ni=(t,n)=>(t==null?void 0:t[Sd[n]])??[],Ts=({transport:t,query:n,filters:o,onFiltersChange:r,onEntryLinkClick:s,typeName:l,tab:a,onTabChange:d,page:c,onPageChange:p})=>{const u=$e(),g=u.searchV4,{convert:m}=Ie(),x=!!t.supportsSearchFilters,f=h.useMemo(()=>x?o:Pn,[x,o]),[v,y]=h.useState("table");h.useEffect(()=>{y(_d())},[]);const k=O=>{y(O),Cd(O)},[b,j]=h.useState(a??"all"),w=h.useRef(b);w.current=b,h.useEffect(()=>{a!==void 0&&a!==w.current&&(j(a),_(1))},[a]);const[S,_]=h.useState(c&&c>0?c:1),$=h.useRef(S);$.current=S,h.useEffect(()=>{c!==void 0&&c>0&&c!==$.current&&_(c)},[c]);const T=h.useRef(null),E=h.useCallback(O=>{var ve;_(O),p==null||p(O);const X=T.current;X&&X.getBoundingClientRect().top<0&&((ve=X.scrollIntoView)==null||ve.call(X,{block:"start"}))},[p]),[N,z]=h.useState(null),[W,M]=h.useState(null),[A,G]=h.useState(!1),[U,oe]=h.useState(""),ye=_n(f).toString(),P=Wn(f)>0,I=_n({...f,sort:""}).toString(),Z=h.useRef({query:n,filterOnlyKey:I,sort:f.sort});h.useEffect(()=>{const O=Z.current;O.query!==n||O.filterOnlyKey!==I?(j("all"),_(1)):O.sort!==f.sort&&_(1),Z.current={query:n,filterOnlyKey:I,sort:f.sort}},[n,I,f.sort]),h.useEffect(()=>{let O=!1;return G(!0),oe(""),(async()=>{try{let X;if(t.searchAll)X=await t.searchAll(n,Ko,f);else{const ve=["work","book","collection","entity"],Te=await Promise.all(ve.map(D=>t.search(n,D,{page:1,pageSize:Ko,filters:f})));X={works:Te[0].entries,books:Te[1].entries,collections:Te[2].entries,entities:Te[3].entries,totalWorks:Te[0].total,totalBooks:Te[1].total,totalCollections:Te[2].total,totalEntities:Te[3].total}}O||z(X)}catch(X){O||(oe(X instanceof Error?X.message:String(X)),z(null))}finally{O||G(!1)}})(),()=>{O=!0}},[t,n,ye]);const q=b;h.useEffect(()=>{if(b==="all"){M(null);return}let O=!1;return G(!0),(async()=>{try{const X=await t.search(n,b,{page:S,pageSize:ti,filters:f});O||M({key:q,entries:X.entries,total:X.total})}catch(X){O||(oe(X instanceof Error?X.message:String(X)),M(null))}finally{O||G(!1)}})(),()=>{O=!0}},[t,n,ye,b,S]);const ne=W&&W.key===q?W:null;h.useEffect(()=>{if(b==="all"||!ne||A)return;const O=Math.min(ne.total,rn),X=fd(S,O,ti);ne.entries.length===0&&O>0&&X!==S&&(_(X),p==null||p(X))},[b,ne,A,S]);const je=h.useMemo(()=>qo.filter(O=>Lt(N,O)>0),[N]),Re=je.reduce((O,X)=>O+Lt(N,X),0),K=je.some(O=>Lt(N,O)>=rn)?`${Re.toLocaleString()}+`:Re.toLocaleString(),ue=!A&&!U&&N!==null&&Re===0,xe=h.useCallback(O=>{j(O),_(1),d==null||d(O)},[d]),Me=h.useMemo(()=>{const O=[];return f.dynasty.forEach(X=>O.push({name:X,remove:()=>r({...f,dynasty:f.dynasty.filter(ve=>ve!==X)})})),f.classification.forEach(X=>{var ve;return O.push({name:X?((ve=Mn.find(Te=>Te.value===X))==null?void 0:ve.label)??X:u.searchPage.unclassified,remove:()=>r({...f,classification:f.classification.filter(Te=>Te!==X)})})}),f.hasImage&&O.push({name:g.hasImage,remove:()=>r({...f,hasImage:!1})}),f.hasText&&O.push({name:g.hasText,remove:()=>r({...f,hasText:!1})}),f.hasCollated&&O.push({name:g.hasCollated,remove:()=>r({...f,hasCollated:!1})}),f.loss&&O.push({name:`${g.extant}:${u.searchPage.loss[f.loss]}`,remove:()=>r({...f,loss:""})}),O},[f,r,g,u]),me={query:n,onEntryLinkClick:s,typeName:l},_e=O=>v==="table"?e.jsx(Go,{entries:O,...me}):e.jsx(Yo,{entries:O,...me}),Le=qo.flatMap(O=>ni(N,O));return e.jsxs("div",{className:"bim-sr-layout","data-nofilters":x?void 0:"true",children:[e.jsx("style",{children:jd}),x&&e.jsx(gd,{filters:f,onChange:r}),e.jsxs("div",{className:"bim-sr-main","aria-busy":A,ref:T,children:[je.length>0&&e.jsxs("div",{className:"bim-sr-tabs",role:"group","aria-label":u.search.resultTabs,style:{display:"flex",flexWrap:"wrap",gap:"0 4px",borderBottom:`1px solid ${i("rule")}`},children:[e.jsxs(Zo,{on:b==="all",onClick:()=>xe("all"),children:[u.search.allTab," ",e.jsx("small",{children:K})]}),je.map(O=>e.jsxs(Zo,{on:b===O,onClick:()=>xe(O),children:[l(O)," ",e.jsx("small",{children:kn(Lt(N,O))})]},O))]}),e.jsxs("div",{className:"bim-sr-tools",children:[x&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"bim-sr-sorts",role:"group","aria-label":m(g.sortLabel),children:[e.jsx("button",{type:"button","aria-pressed":!f.sort,onClick:()=>r({...f,sort:""}),children:m(g.sortRelevance)}),["era","title"].map(O=>{const X=f.sort.startsWith(`${O}:`)?f.sort.endsWith("desc")?"desc":"asc":null,ve=O==="era"?g.sortEra:g.sortTitle,Te=O==="era"?X==="desc"?g.sortEraDesc:g.sortEraAsc:X==="desc"?g.sortTitleDesc:g.sortTitleAsc;return e.jsxs("button",{type:"button","aria-pressed":X!==null,title:m(Te),onClick:()=>r({...f,sort:`${O}:${X==="asc"?"desc":"asc"}`}),children:[m(ve),X?e.jsxs("span",{"aria-hidden":"true",children:[" ",X==="asc"?"↑":"↓"]}):null]},O)})]}),e.jsx("span",{className:"bim-sr-vsep","aria-hidden":"true"})]}),e.jsxs("div",{className:"bim-sr-view",role:"group","aria-label":m(g.viewLabel),children:[e.jsx("button",{type:"button","aria-pressed":v==="table",onClick:()=>k("table"),children:m(g.viewTable)}),e.jsx("button",{type:"button","aria-pressed":v==="card",onClick:()=>k("card"),children:m(g.viewCard)})]})]}),P&&e.jsxs("div",{className:"bim-sr-chips-row",children:[e.jsx("span",{className:"bim-sr-count",role:"status",children:m(it(g.filteredCount,{n:K}))}),Me.map(O=>e.jsxs("button",{type:"button",className:"bim-sr-tag-x","aria-label":m(it(g.removeFilter,{name:O.name})),onClick:O.remove,children:[m(O.name),e.jsx("span",{"aria-hidden":"true",children:"×"})]},O.name))]}),U&&e.jsx("div",{className:"bim-sr-empty",role:"alert",children:U}),ue&&e.jsx("div",{className:"bim-sr-empty",children:m(P?g.emptyFiltered:it(u.search.noResultsFor,{query:n}))}),!U&&!ue&&b==="all"&&N&&(v==="table"?e.jsxs(e.Fragment,{children:[e.jsx(Go,{entries:Le,...me}),e.jsx("p",{className:"bim-sr-note",style:{marginTop:10},children:m(g.limitedNote)})]}):e.jsx(e.Fragment,{children:je.map(O=>e.jsxs("section",{style:{marginTop:22},children:[e.jsxs("div",{style:{display:"flex",alignItems:"baseline",justifyContent:"space-between",gap:12,marginBottom:10},children:[e.jsxs("h2",{style:{margin:0,fontSize:16,fontWeight:600,letterSpacing:".1em",display:"flex",alignItems:"center",gap:8},children:[e.jsx(Gt,{type:O,size:8}),l(O),e.jsxs("span",{style:{fontSize:12.5,fontWeight:400,color:i("meta-fg")},children:[kn(Lt(N,O))," ",u.unit.items]})]}),Lt(N,O)>ni(N,O).length&&e.jsx("button",{type:"button",className:"bim-sr-clear",style:{textDecoration:"none"},onClick:()=>xe(O),children:u.action.viewAll})]}),e.jsx(Yo,{entries:ni(N,O),...me})]},O))})),!U&&b!=="all"&&!ne&&e.jsx("div",{className:"bim-sr-empty",role:"status",style:{minHeight:240},children:u.search.loading}),!U&&b!=="all"&&ne&&ne.entries.length>0&&e.jsxs(e.Fragment,{children:[_e(ne.entries),e.jsx(bd,{page:S,pageSize:ti,total:Math.min(ne.total,rn),totalLabel:kn(ne.total),onPage:E})]}),!U&&b!=="all"&&ne&&ne.entries.length===0&&!A&&e.jsxs("div",{className:"bim-sr-empty",children:[m(P?g.emptyFiltered:it(u.search.noResultsFor,{query:n})),e.jsx("div",{children:e.jsx("button",{type:"button",className:"bim-sr-clear",onClick:()=>xe("all"),children:u.search.allTab})})]})]})]})};function Zo({on:t,onClick:n,children:o}){return e.jsx("button",{type:"button","aria-pressed":t,onClick:n,style:{border:"none",background:"transparent",cursor:"pointer",font:"inherit",fontSize:14.5,minHeight:44,padding:"8px 12px",letterSpacing:".06em",color:i(t?"ink":"meta-fg"),fontWeight:t?700:400,boxShadow:t?`inset 0 -2px 0 ${i("accent")}`:"none"},children:o})}const Mt="bim-recent-ids",Jo="bim-recent-entries",Xo=50;function jt(){try{const t=localStorage.getItem(Mt);if(t)return JSON.parse(t);const n=localStorage.getItem(Jo);if(n){const o=JSON.parse(n).map(r=>r.id);return localStorage.setItem(Mt,JSON.stringify(o)),localStorage.removeItem(Jo),o}return[]}catch{return[]}}function bi(t){try{const n=jt().filter(o=>o!==t);n.unshift(t),n.length>Xo&&(n.length=Xo),localStorage.setItem(Mt,JSON.stringify(n))}catch{}}function Ns(t){try{const n=jt().filter(o=>o!==t);localStorage.setItem(Mt,JSON.stringify(n))}catch{}}function Gi(){try{localStorage.removeItem(Mt)}catch{}}async function Yi(t,n){var o,r,s;try{if(t.getEntry){const a=await t.getEntry(n);if(a)return a}const l=await t.getItem(n);if(l){const a=l.authors;return{id:n,title:l.title||n,type:l.type||"work",author:(o=a==null?void 0:a[0])==null?void 0:o.name,dynasty:(r=a==null?void 0:a[0])==null?void 0:r.dynasty,role:(s=a==null?void 0:a[0])==null?void 0:s.role,edition:l.edition||void 0}}}catch{}return{id:n,title:n,type:"work",notFound:!0}}const ii=5,zd=50,Td=200,Qo={works:"totalWorks",books:"totalBooks",collections:"totalCollections",entities:"totalEntities"},yi=({transport:t,indexSource:n="local",syncConfig:o,onEntryClick:r,onNewEntry:s,onSwitchMode:l,onToggleDraft:a,onConfigurePath:d,onSelectFolder:c,hideModeIndicator:p,resultVariant:u="compact",renderEntry:g,initialQuery:m,onQueryChange:x,headerRight:f,reserveViewportHeight:v=!1,filtersEnabled:y=!1,filters:k=Pn,onFiltersChange:b,resultTab:j,onResultTabChange:w,resultPage:S,onResultPageChange:_})=>{const $=$e(),T=[{type:"work",name:$.indexType.work,key:"works"},{type:"book",name:$.indexType.book,key:"books"},{type:"collection",name:$.indexType.collection,key:"collections"},{type:"entity",name:$.indexType.entity,key:"entities"}],E=["work","collection","book","entity"],[N,z]=h.useState(m??""),[W,M]=h.useState(null),[A,G]=h.useState(m??""),U=_n(k).toString(),[oe,ye]=h.useState(k);h.useEffect(()=>{ye(k)},[U]);const P=C=>{ye(C),b==null||b(C)},[I,Z]=h.useState(null),[q,ne]=h.useState("all"),[je,Re]=h.useState(!1),[K,ue]=h.useState(null),[xe,Me]=h.useState(""),[me,_e]=h.useState(!(m!=null&&m.trim())),[Le,O]=h.useState(jt),[X,ve]=h.useState([]),[Te,D]=h.useState(!1),[fe,pe]=h.useState(!1),[we,F]=h.useState(null),[ge,Ee]=h.useState(null),R=h.useRef(void 0),Q=h.useRef(!1),ae=h.useCallback(async(C,J)=>{if(!C.trim()){_e(!0),M(null),Z(null);return}if(_e(!1),y){G(C);return}Re(!0),Me("");try{if(t.searchAll){const te=await t.searchAll(C,J??ii);M(te)}else{const te=["work","book","collection","entity"],re=await Promise.all(te.map(ce=>t.search(C,ce,{page:1,pageSize:J??ii})));M({works:re[0].entries,books:re[1].entries,collections:re[2].entries,entities:re[3].entries,totalWorks:re[0].total,totalBooks:re[1].total,totalCollections:re[2].total,totalEntities:re[3].total})}}catch(te){Me(te instanceof Error?te.message:String(te)),M(null)}finally{Re(!1)}},[t,y]);h.useEffect(()=>{let C=!1;const J=()=>{var H,B;const te=["work","book","collection","entity"],re=Promise.all(te.map(de=>t.loadEntries(de,{page:1,pageSize:1}).catch(()=>({total:0})))),ce=((H=t.getResourceCounts)==null?void 0:H.call(t).catch(()=>null))??Promise.resolve(null),se=((B=t.getSubtypeStats)==null?void 0:B.call(t).catch(()=>null))??Promise.resolve(null);Promise.all([re,ce,se]).then(([de,Se,ke])=>{C||(F({works:de[0].total,books:de[1].total,collections:de[2].total,entities:de[3].total,hasText:Se==null?void 0:Se.hasText,hasImage:Se==null?void 0:Se.hasImage}),ke&&Ee(ke))})};return t.getCounts?t.getCounts().then(te=>{var re,ce;C||(F({works:te.works,books:te.books,collections:te.collections,entities:te.entities,hasText:(re=te.resourceCounts)==null?void 0:re.hasText,hasImage:(ce=te.resourceCounts)==null?void 0:ce.hasImage}),te.subtypeStats&&Ee(te.subtypeStats))}).catch(()=>{C||J()}):J(),()=>{C=!0}},[t]),h.useEffect(()=>{Q.current||!(m!=null&&m.trim())||(Q.current=!0,ae(m))},[m,ae]);const L=h.useCallback(C=>{if(z(C),!C.trim()){x==null||x(C),_e(!0),M(null),Z(null),ne("all");return}R.current&&clearTimeout(R.current),R.current=setTimeout(()=>{Z(null),ne("all"),x==null||x(C),ae(C)},Td)},[ae,x]),ee=h.useCallback(C=>{R.current&&clearTimeout(R.current),ne("all"),x==null||x(C),ae(C)},[ae,x]),V=h.useCallback(C=>{Z(C),ae(N,zd)},[N,ae]);h.useEffect(()=>{if(!Le.length){ve([]);return}let C=!1;return D(!0),Promise.all(Le.slice(0,10).map(J=>Yi(t,J))).then(J=>{C||(ve(J),D(!1))}),()=>{C=!0}},[Le,t]);const le=C=>{ue(C.id),bi(C.id),O(jt()),r==null||r(C)},Ce=(C,J)=>{if(r&&Id(J)){J.preventDefault(),le(C);return}bi(C.id),O(jt())},Pe=C=>{Ns(C),O(jt())},ze=()=>{Gi(),O([])},We=C=>T.find(J=>J.type===C),Fe=!me&&!W&&!xe,Oe=W&&(W.works.length>0||W.books.length>0||W.collections.length>0),Je=e.jsxs(e.Fragment,{children:[e.jsx(js,{transport:t,value:N,onChange:L,onSearch:ee,onEntrySelect:le}),y&&e.jsx("button",{type:"button",className:"bim-ib-submit",onClick:()=>{const C=N.trim();C&&ys(C),ee(N)},children:$.searchPage.submit}),s&&e.jsx("button",{onClick:()=>s("work"),style:{padding:"8px 14px",border:`1px solid ${i("primary")}`,borderRadius:"6px",background:"transparent",color:i("primary"),cursor:"pointer",fontSize:"13px"},children:$.action.newEntry})]});return e.jsxs("div",{className:"bim-browser-container",style:v?{minHeight:"100svh"}:void 0,children:[e.jsx("style",{children:Rd+(y?Ed:"")}),(!y||f||!p)&&e.jsx("header",{style:{padding:"12px 20px",borderBottom:`1px solid ${i("widget-border")}`},children:e.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[y?e.jsx("span",{}):e.jsx("h1",{style:{margin:0,fontSize:"18px",color:i("fg")},children:$.browser.title}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[f,!p&&e.jsx(bs,{variant:"index-browser",indexSource:n,syncConfig:o,onSwitchMode:l,onToggleDraft:a,onConfigurePath:d,onSelectFolder:c})]})]})}),y?e.jsxs("div",{className:"bim-ib-bar","data-nofilters":t.supportsSearchFilters?void 0:"true",children:[e.jsx("span",{"aria-hidden":"true"}),e.jsx("div",{className:"bim-ib-bar-main",children:Je})]}):e.jsx("div",{style:{display:"flex",gap:"8px",padding:"12px 20px",alignItems:"center"},children:Je}),me&&e.jsx("div",{className:"bim-ib-stats",style:{padding:"0 20px 8px",fontSize:"12px",color:i("desc-fg"),display:"flex",justifyContent:"space-between",flexWrap:"wrap",gap:"4px"},children:we&&e.jsxs(e.Fragment,{children:[e.jsx("span",{children:ge?e.jsxs(e.Fragment,{children:[(ge.book??0)>0&&e.jsxs(e.Fragment,{children:[$.searchPage.statBook," ",e.jsx("strong",{style:{color:i("fg")},children:ge.book.toLocaleString()})," ",$.unit.bu,$.searchPage.statComma,e.jsx("strong",{style:{color:i("fg")},children:we.books.toLocaleString()})," ",$.searchPage.statBookCopies]}),ge.article?e.jsxs(e.Fragment,{children:[e.jsx("span",{style:{margin:"0 6px"},children:"·"}),$.searchPage.statArticle," ",e.jsx("strong",{style:{color:i("fg")},children:ge.article.toLocaleString()})," ",$.searchPage.statArticleUnit]}):null,ge.poem?e.jsxs(e.Fragment,{children:[e.jsx("span",{style:{margin:"0 6px"},children:"·"}),$.searchPage.statPoem," ",e.jsx("strong",{style:{color:i("fg")},children:ge.poem.toLocaleString()})," ",$.searchPage.statPoemUnit]}):null,e.jsx("span",{style:{margin:"0 6px"},children:"·"}),$.searchPage.statCollection," ",e.jsx("strong",{style:{color:i("fg")},children:we.collections.toLocaleString()})]}):e.jsxs(e.Fragment,{children:[$.indexType.work," ",e.jsx("strong",{style:{color:i("fg")},children:we.works.toLocaleString()}),e.jsx("span",{style:{margin:"0 6px"},children:"·"}),$.indexType.book," ",e.jsx("strong",{style:{color:i("fg")},children:we.books.toLocaleString()}),e.jsx("span",{style:{margin:"0 6px"},children:"·"}),$.indexType.collection," ",e.jsx("strong",{style:{color:i("fg")},children:we.collections.toLocaleString()}),we.entities>0&&e.jsxs(e.Fragment,{children:[e.jsx("span",{style:{margin:"0 6px"},children:"·"}),$.indexType.entity," ",e.jsx("strong",{style:{color:i("fg")},children:we.entities.toLocaleString()})]})]})}),we.hasImage!=null&&we.hasText!=null&&e.jsxs("span",{children:[$.resourceType.image," ",e.jsx("strong",{style:{color:i("fg")},children:we.hasImage.toLocaleString()}),e.jsx("span",{style:{margin:"0 6px"},children:"·"}),$.resourceType.text," ",e.jsx("strong",{style:{color:i("fg")},children:we.hasText.toLocaleString()})]})]})}),y&&!me&&e.jsx(Ts,{transport:t,query:A,filters:oe,onFiltersChange:P,onEntryLinkClick:Ce,typeName:C=>We(C).name,tab:j,onTabChange:w,page:S,onPageChange:_}),!(y&&!me)&&e.jsx("div",{style:{padding:"0 20px 20px",flex:1,display:"flex",flexDirection:"column",overflow:"auto"},children:je||Fe?e.jsx("div",{style:{textAlign:"center",padding:"40px",color:i("desc-fg"),minHeight:Nd,boxSizing:"border-box"},children:$.search.searching}):xe?e.jsx("div",{style:{textAlign:"center",padding:"40px"},children:e.jsx("p",{style:{color:i("desc-fg")},children:xe})}):me?e.jsx("div",{style:{flex:1},children:Te?e.jsx("div",{style:{textAlign:"center",padding:"40px",color:i("desc-fg")},children:$.search.loading}):X.length>0?e.jsxs(e.Fragment,{children:[e.jsxs("div",{style:{padding:"8px 0",fontSize:"12px",color:i("desc-fg"),display:"flex",justifyContent:"space-between",alignItems:"center"},children:[e.jsx("span",{children:$.search.recentBrowse}),e.jsx("button",{onClick:ze,style:{border:"none",background:"transparent",color:i("desc-fg"),cursor:"pointer",fontSize:"11px",padding:"2px 4px"},children:$.search.clearRecent})]}),e.jsx("div",{style:{display:"flex",flexDirection:"column",gap:"4px"},children:X.slice(0,fe?10:3).map(C=>C.notFound?e.jsx(Bd,{id:C.id,onRemove:Pe,t:$},C.id):e.jsx(er,{entry:C,selected:K===C.id,onClick:Ce,getConfig:We,onRemove:Pe},C.id))}),!fe&&X.length>3&&e.jsx("button",{onClick:()=>pe(!0),style:{display:"block",margin:"8px auto 0",padding:"4px 16px",fontSize:"12px",color:i("primary"),background:"transparent",border:`1px solid ${i("widget-border")}`,borderRadius:"4px",cursor:"pointer"},children:$.action.expandMore})]}):e.jsxs("div",{style:{textAlign:"center",padding:"40px"},children:[e.jsx("h2",{style:{margin:"0 0 8px",fontSize:"1.17em",color:i("fg")},children:$.search.searchTitle}),e.jsx("p",{style:{color:i("desc-fg"),fontSize:"13px"},children:$.search.searchSubtitle})]})}):Oe?e.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"16px"},children:[e.jsx("style",{children:Ld}),(()=>{const C=se=>W[Qo[se]]??0,J=E.map(se=>T.find(H=>H.type===se)).filter(se=>C(se.key)>0);if(J.length<2)return null;const te=J.reduce((se,H)=>se+C(H.key),0),re=se=>{if(ne(se),se!=="all"&&I!==se){const H=T.find(de=>de.type===se),B=(W[H.key]??[]).length;C(H.key)>B&&V(se)}},ce=se=>({border:"none",background:"transparent",cursor:"pointer",font:"inherit",fontSize:"14px",padding:"8px 12px",minHeight:44,color:i(se?"fg":"desc-fg"),fontWeight:se?700:400,boxShadow:se?`inset 0 -2px 0 ${i("primary")}`:"none"});return e.jsxs("div",{role:"group","aria-label":$.search.resultTabs,style:{display:"flex",flexWrap:"wrap",borderBottom:`1px solid ${i("widget-border")}`},children:[e.jsxs("button",{type:"button","aria-pressed":q==="all",style:ce(q==="all"),onClick:()=>re("all"),children:[$.search.allTab," ",e.jsx("span",{style:{fontSize:12,fontWeight:400},children:te.toLocaleString()})]}),J.map(se=>e.jsxs("button",{type:"button","aria-pressed":q===se.type,style:ce(q===se.type),onClick:()=>re(se.type),children:[se.name," ",e.jsx("span",{style:{fontSize:12,fontWeight:400},children:C(se.key).toLocaleString()})]},se.type))]})})(),T.map(({type:C,name:J,key:te})=>{const re=W[te]??[],ce=Qo[te],se=W[ce]??0;if(re.length===0||q!=="all"&&q!==C)return null;const B=q==="all"&&!(I===C)&&se>ii;return e.jsxs("div",{children:[e.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",padding:"6px 0",borderBottom:`1px solid ${i("widget-border")}`,marginBottom:"6px"},children:[e.jsxs("span",{style:{fontSize:"13px",fontWeight:600,color:i("fg")},children:[e.jsx(Gt,{type:C})," ",J,e.jsxs("span",{style:{fontWeight:400,color:i("desc-fg"),marginLeft:"6px"},children:[se," ",$.unit.items]})]}),B&&e.jsx("button",{className:"bim-ib-viewall",onClick:()=>V(C),style:{border:"none",background:"transparent",color:i("primary"),cursor:"pointer",fontSize:"12px"},children:$.action.viewAll})]}),e.jsx("div",{style:u==="list"?{display:"flex",flexDirection:"column",gap:0}:u==="card"?{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(min(340px, 100%), 1fr))",gap:"14px"}:{display:"flex",flexDirection:"column",gap:"4px"},children:re.map(de=>{if(g)return e.jsx(h.Fragment,{children:g(de)},de.id);const Se=u==="card"?Pd:er;return e.jsx(Se,{entry:de,selected:K===de.id,onClick:Ce,getConfig:We,query:N},de.id)})})]},C)})]}):e.jsxs("div",{style:{textAlign:"center",padding:"40px"},children:[e.jsx("h2",{style:{margin:"0 0 8px",fontSize:"1.17em",color:i("fg")},children:it($.search.noResultsFor,{query:N})}),e.jsx("p",{style:{color:i("desc-fg"),fontSize:"13px"},children:$.search.tryOther})]})})]})},Nd=240;function Id(t){return t.button===0&&!t.metaKey&&!t.ctrlKey&&!t.shiftKey&&!t.altKey}const Rd=`
|
|
120
|
+
`,Vi="bim-search-view",ti=50,Ko=5,rn=1e3;function kn(t){return t>=rn?`${rn.toLocaleString()}+`:t.toLocaleString()}const vd={work:"work",works:"work",book:"book",books:"book",collection:"collection",collections:"collection",entity:"entity",entities:"entity"};function kd(t){return t&&vd[t.toLowerCase()]||"all"}function wd(t){return t==="all"?null:t}const qo=["work","collection","book","entity"],Sd={work:"works",collection:"collections",book:"books",entity:"entities"},$d={work:"totalWorks",collection:"totalCollections",book:"totalBooks",entity:"totalEntities"};function _d(){try{return window.localStorage.getItem(Vi)==="card"?"card":"table"}catch{return"table"}}function Cd(t){try{window.localStorage.setItem(Vi,t)}catch{}}const Lt=(t,n)=>(t==null?void 0:t[$d[n]])??0,ni=(t,n)=>(t==null?void 0:t[Sd[n]])??[],Ts=({transport:t,query:n,filters:o,onFiltersChange:r,onEntryLinkClick:s,typeName:l,tab:a,onTabChange:d,page:c,onPageChange:p})=>{const u=$e(),g=u.searchV4,{convert:m}=Ie(),x=!!t.supportsSearchFilters,f=h.useMemo(()=>x?o:Pn,[x,o]),[v,y]=h.useState("table");h.useEffect(()=>{y(_d())},[]);const k=O=>{y(O),Cd(O)},[b,j]=h.useState(a??"all"),w=h.useRef(b);w.current=b,h.useEffect(()=>{a!==void 0&&a!==w.current&&(j(a),_(1))},[a]);const[S,_]=h.useState(c&&c>0?c:1),$=h.useRef(S);$.current=S,h.useEffect(()=>{c!==void 0&&c>0&&c!==$.current&&_(c)},[c]);const T=h.useRef(null),E=h.useCallback(O=>{var ve;_(O),p==null||p(O);const X=T.current;X&&X.getBoundingClientRect().top<0&&((ve=X.scrollIntoView)==null||ve.call(X,{block:"start",behavior:"instant"}))},[p]),[N,z]=h.useState(null),[W,M]=h.useState(null),[A,G]=h.useState(!1),[U,oe]=h.useState(""),ye=_n(f).toString(),P=Wn(f)>0,I=_n({...f,sort:""}).toString(),Z=h.useRef({query:n,filterOnlyKey:I,sort:f.sort});h.useEffect(()=>{const O=Z.current;O.query!==n||O.filterOnlyKey!==I?(j("all"),_(1)):O.sort!==f.sort&&_(1),Z.current={query:n,filterOnlyKey:I,sort:f.sort}},[n,I,f.sort]),h.useEffect(()=>{let O=!1;return G(!0),oe(""),(async()=>{try{let X;if(t.searchAll)X=await t.searchAll(n,Ko,f);else{const ve=["work","book","collection","entity"],Te=await Promise.all(ve.map(D=>t.search(n,D,{page:1,pageSize:Ko,filters:f})));X={works:Te[0].entries,books:Te[1].entries,collections:Te[2].entries,entities:Te[3].entries,totalWorks:Te[0].total,totalBooks:Te[1].total,totalCollections:Te[2].total,totalEntities:Te[3].total}}O||z(X)}catch(X){O||(oe(X instanceof Error?X.message:String(X)),z(null))}finally{O||G(!1)}})(),()=>{O=!0}},[t,n,ye]);const q=b;h.useEffect(()=>{if(b==="all"){M(null);return}let O=!1;return G(!0),(async()=>{try{const X=await t.search(n,b,{page:S,pageSize:ti,filters:f});O||M({key:q,entries:X.entries,total:X.total})}catch(X){O||(oe(X instanceof Error?X.message:String(X)),M(null))}finally{O||G(!1)}})(),()=>{O=!0}},[t,n,ye,b,S]);const ne=W&&W.key===q?W:null;h.useEffect(()=>{if(b==="all"||!ne||A)return;const O=Math.min(ne.total,rn),X=fd(S,O,ti);ne.entries.length===0&&O>0&&X!==S&&(_(X),p==null||p(X))},[b,ne,A,S]);const je=h.useMemo(()=>qo.filter(O=>Lt(N,O)>0),[N]),Re=je.reduce((O,X)=>O+Lt(N,X),0),K=je.some(O=>Lt(N,O)>=rn)?`${Re.toLocaleString()}+`:Re.toLocaleString(),ue=!A&&!U&&N!==null&&Re===0,xe=h.useCallback(O=>{j(O),_(1),d==null||d(O)},[d]),Me=h.useMemo(()=>{const O=[];return f.dynasty.forEach(X=>O.push({name:X,remove:()=>r({...f,dynasty:f.dynasty.filter(ve=>ve!==X)})})),f.classification.forEach(X=>{var ve;return O.push({name:X?((ve=Mn.find(Te=>Te.value===X))==null?void 0:ve.label)??X:u.searchPage.unclassified,remove:()=>r({...f,classification:f.classification.filter(Te=>Te!==X)})})}),f.hasImage&&O.push({name:g.hasImage,remove:()=>r({...f,hasImage:!1})}),f.hasText&&O.push({name:g.hasText,remove:()=>r({...f,hasText:!1})}),f.hasCollated&&O.push({name:g.hasCollated,remove:()=>r({...f,hasCollated:!1})}),f.loss&&O.push({name:`${g.extant}:${u.searchPage.loss[f.loss]}`,remove:()=>r({...f,loss:""})}),O},[f,r,g,u]),me={query:n,onEntryLinkClick:s,typeName:l},_e=O=>v==="table"?e.jsx(Go,{entries:O,...me}):e.jsx(Yo,{entries:O,...me}),Le=qo.flatMap(O=>ni(N,O));return e.jsxs("div",{className:"bim-sr-layout","data-nofilters":x?void 0:"true",children:[e.jsx("style",{children:jd}),x&&e.jsx(gd,{filters:f,onChange:r}),e.jsxs("div",{className:"bim-sr-main","aria-busy":A,ref:T,children:[je.length>0&&e.jsxs("div",{className:"bim-sr-tabs",role:"group","aria-label":u.search.resultTabs,style:{display:"flex",flexWrap:"wrap",gap:"0 4px",borderBottom:`1px solid ${i("rule")}`},children:[e.jsxs(Zo,{on:b==="all",onClick:()=>xe("all"),children:[u.search.allTab," ",e.jsx("small",{children:K})]}),je.map(O=>e.jsxs(Zo,{on:b===O,onClick:()=>xe(O),children:[l(O)," ",e.jsx("small",{children:kn(Lt(N,O))})]},O))]}),e.jsxs("div",{className:"bim-sr-tools",children:[x&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"bim-sr-sorts",role:"group","aria-label":m(g.sortLabel),children:[e.jsx("button",{type:"button","aria-pressed":!f.sort,onClick:()=>r({...f,sort:""}),children:m(g.sortRelevance)}),["era","title"].map(O=>{const X=f.sort.startsWith(`${O}:`)?f.sort.endsWith("desc")?"desc":"asc":null,ve=O==="era"?g.sortEra:g.sortTitle,Te=O==="era"?X==="desc"?g.sortEraDesc:g.sortEraAsc:X==="desc"?g.sortTitleDesc:g.sortTitleAsc;return e.jsxs("button",{type:"button","aria-pressed":X!==null,title:m(Te),onClick:()=>r({...f,sort:`${O}:${X==="asc"?"desc":"asc"}`}),children:[m(ve),X?e.jsxs("span",{"aria-hidden":"true",children:[" ",X==="asc"?"↑":"↓"]}):null]},O)})]}),e.jsx("span",{className:"bim-sr-vsep","aria-hidden":"true"})]}),e.jsxs("div",{className:"bim-sr-view",role:"group","aria-label":m(g.viewLabel),children:[e.jsx("button",{type:"button","aria-pressed":v==="table",onClick:()=>k("table"),children:m(g.viewTable)}),e.jsx("button",{type:"button","aria-pressed":v==="card",onClick:()=>k("card"),children:m(g.viewCard)})]})]}),P&&e.jsxs("div",{className:"bim-sr-chips-row",children:[e.jsx("span",{className:"bim-sr-count",role:"status",children:m(it(g.filteredCount,{n:K}))}),Me.map(O=>e.jsxs("button",{type:"button",className:"bim-sr-tag-x","aria-label":m(it(g.removeFilter,{name:O.name})),onClick:O.remove,children:[m(O.name),e.jsx("span",{"aria-hidden":"true",children:"×"})]},O.name))]}),U&&e.jsx("div",{className:"bim-sr-empty",role:"alert",children:U}),ue&&e.jsx("div",{className:"bim-sr-empty",children:m(P?g.emptyFiltered:it(u.search.noResultsFor,{query:n}))}),!U&&!ue&&b==="all"&&N&&(v==="table"?e.jsxs(e.Fragment,{children:[e.jsx(Go,{entries:Le,...me}),e.jsx("p",{className:"bim-sr-note",style:{marginTop:10},children:m(g.limitedNote)})]}):e.jsx(e.Fragment,{children:je.map(O=>e.jsxs("section",{style:{marginTop:22},children:[e.jsxs("div",{style:{display:"flex",alignItems:"baseline",justifyContent:"space-between",gap:12,marginBottom:10},children:[e.jsxs("h2",{style:{margin:0,fontSize:16,fontWeight:600,letterSpacing:".1em",display:"flex",alignItems:"center",gap:8},children:[e.jsx(Gt,{type:O,size:8}),l(O),e.jsxs("span",{style:{fontSize:12.5,fontWeight:400,color:i("meta-fg")},children:[kn(Lt(N,O))," ",u.unit.items]})]}),Lt(N,O)>ni(N,O).length&&e.jsx("button",{type:"button",className:"bim-sr-clear",style:{textDecoration:"none"},onClick:()=>xe(O),children:u.action.viewAll})]}),e.jsx(Yo,{entries:ni(N,O),...me})]},O))})),!U&&b!=="all"&&!ne&&e.jsx("div",{className:"bim-sr-empty",role:"status",style:{minHeight:240},children:u.search.loading}),!U&&b!=="all"&&ne&&ne.entries.length>0&&e.jsxs(e.Fragment,{children:[_e(ne.entries),e.jsx(bd,{page:S,pageSize:ti,total:Math.min(ne.total,rn),totalLabel:kn(ne.total),onPage:E})]}),!U&&b!=="all"&&ne&&ne.entries.length===0&&!A&&e.jsxs("div",{className:"bim-sr-empty",children:[m(P?g.emptyFiltered:it(u.search.noResultsFor,{query:n})),e.jsx("div",{children:e.jsx("button",{type:"button",className:"bim-sr-clear",onClick:()=>xe("all"),children:u.search.allTab})})]})]})]})};function Zo({on:t,onClick:n,children:o}){return e.jsx("button",{type:"button","aria-pressed":t,onClick:n,style:{border:"none",background:"transparent",cursor:"pointer",font:"inherit",fontSize:14.5,minHeight:44,padding:"8px 12px",letterSpacing:".06em",color:i(t?"ink":"meta-fg"),fontWeight:t?700:400,boxShadow:t?`inset 0 -2px 0 ${i("accent")}`:"none"},children:o})}const Mt="bim-recent-ids",Jo="bim-recent-entries",Xo=50;function jt(){try{const t=localStorage.getItem(Mt);if(t)return JSON.parse(t);const n=localStorage.getItem(Jo);if(n){const o=JSON.parse(n).map(r=>r.id);return localStorage.setItem(Mt,JSON.stringify(o)),localStorage.removeItem(Jo),o}return[]}catch{return[]}}function bi(t){try{const n=jt().filter(o=>o!==t);n.unshift(t),n.length>Xo&&(n.length=Xo),localStorage.setItem(Mt,JSON.stringify(n))}catch{}}function Ns(t){try{const n=jt().filter(o=>o!==t);localStorage.setItem(Mt,JSON.stringify(n))}catch{}}function Gi(){try{localStorage.removeItem(Mt)}catch{}}async function Yi(t,n){var o,r,s;try{if(t.getEntry){const a=await t.getEntry(n);if(a)return a}const l=await t.getItem(n);if(l){const a=l.authors;return{id:n,title:l.title||n,type:l.type||"work",author:(o=a==null?void 0:a[0])==null?void 0:o.name,dynasty:(r=a==null?void 0:a[0])==null?void 0:r.dynasty,role:(s=a==null?void 0:a[0])==null?void 0:s.role,edition:l.edition||void 0}}}catch{}return{id:n,title:n,type:"work",notFound:!0}}const ii=5,zd=50,Td=200,Qo={works:"totalWorks",books:"totalBooks",collections:"totalCollections",entities:"totalEntities"},yi=({transport:t,indexSource:n="local",syncConfig:o,onEntryClick:r,onNewEntry:s,onSwitchMode:l,onToggleDraft:a,onConfigurePath:d,onSelectFolder:c,hideModeIndicator:p,resultVariant:u="compact",renderEntry:g,initialQuery:m,onQueryChange:x,headerRight:f,reserveViewportHeight:v=!1,filtersEnabled:y=!1,filters:k=Pn,onFiltersChange:b,resultTab:j,onResultTabChange:w,resultPage:S,onResultPageChange:_})=>{const $=$e(),T=[{type:"work",name:$.indexType.work,key:"works"},{type:"book",name:$.indexType.book,key:"books"},{type:"collection",name:$.indexType.collection,key:"collections"},{type:"entity",name:$.indexType.entity,key:"entities"}],E=["work","collection","book","entity"],[N,z]=h.useState(m??""),[W,M]=h.useState(null),[A,G]=h.useState(m??""),U=_n(k).toString(),[oe,ye]=h.useState(k);h.useEffect(()=>{ye(k)},[U]);const P=C=>{ye(C),b==null||b(C)},[I,Z]=h.useState(null),[q,ne]=h.useState("all"),[je,Re]=h.useState(!1),[K,ue]=h.useState(null),[xe,Me]=h.useState(""),[me,_e]=h.useState(!(m!=null&&m.trim())),[Le,O]=h.useState(jt),[X,ve]=h.useState([]),[Te,D]=h.useState(!1),[fe,pe]=h.useState(!1),[we,F]=h.useState(null),[ge,Ee]=h.useState(null),R=h.useRef(void 0),Q=h.useRef(!1),ae=h.useCallback(async(C,J)=>{if(!C.trim()){_e(!0),M(null),Z(null);return}if(_e(!1),y){G(C);return}Re(!0),Me("");try{if(t.searchAll){const te=await t.searchAll(C,J??ii);M(te)}else{const te=["work","book","collection","entity"],re=await Promise.all(te.map(ce=>t.search(C,ce,{page:1,pageSize:J??ii})));M({works:re[0].entries,books:re[1].entries,collections:re[2].entries,entities:re[3].entries,totalWorks:re[0].total,totalBooks:re[1].total,totalCollections:re[2].total,totalEntities:re[3].total})}}catch(te){Me(te instanceof Error?te.message:String(te)),M(null)}finally{Re(!1)}},[t,y]);h.useEffect(()=>{let C=!1;const J=()=>{var H,B;const te=["work","book","collection","entity"],re=Promise.all(te.map(de=>t.loadEntries(de,{page:1,pageSize:1}).catch(()=>({total:0})))),ce=((H=t.getResourceCounts)==null?void 0:H.call(t).catch(()=>null))??Promise.resolve(null),se=((B=t.getSubtypeStats)==null?void 0:B.call(t).catch(()=>null))??Promise.resolve(null);Promise.all([re,ce,se]).then(([de,Se,ke])=>{C||(F({works:de[0].total,books:de[1].total,collections:de[2].total,entities:de[3].total,hasText:Se==null?void 0:Se.hasText,hasImage:Se==null?void 0:Se.hasImage}),ke&&Ee(ke))})};return t.getCounts?t.getCounts().then(te=>{var re,ce;C||(F({works:te.works,books:te.books,collections:te.collections,entities:te.entities,hasText:(re=te.resourceCounts)==null?void 0:re.hasText,hasImage:(ce=te.resourceCounts)==null?void 0:ce.hasImage}),te.subtypeStats&&Ee(te.subtypeStats))}).catch(()=>{C||J()}):J(),()=>{C=!0}},[t]),h.useEffect(()=>{Q.current||!(m!=null&&m.trim())||(Q.current=!0,ae(m))},[m,ae]);const L=h.useCallback(C=>{if(z(C),!C.trim()){x==null||x(C),_e(!0),M(null),Z(null),ne("all");return}R.current&&clearTimeout(R.current),R.current=setTimeout(()=>{Z(null),ne("all"),x==null||x(C),ae(C)},Td)},[ae,x]),ee=h.useCallback(C=>{R.current&&clearTimeout(R.current),ne("all"),x==null||x(C),ae(C)},[ae,x]),V=h.useCallback(C=>{Z(C),ae(N,zd)},[N,ae]);h.useEffect(()=>{if(!Le.length){ve([]);return}let C=!1;return D(!0),Promise.all(Le.slice(0,10).map(J=>Yi(t,J))).then(J=>{C||(ve(J),D(!1))}),()=>{C=!0}},[Le,t]);const le=C=>{ue(C.id),bi(C.id),O(jt()),r==null||r(C)},Ce=(C,J)=>{if(r&&Id(J)){J.preventDefault(),le(C);return}bi(C.id),O(jt())},Pe=C=>{Ns(C),O(jt())},ze=()=>{Gi(),O([])},We=C=>T.find(J=>J.type===C),Fe=!me&&!W&&!xe,Oe=W&&(W.works.length>0||W.books.length>0||W.collections.length>0),Je=e.jsxs(e.Fragment,{children:[e.jsx(js,{transport:t,value:N,onChange:L,onSearch:ee,onEntrySelect:le}),y&&e.jsx("button",{type:"button",className:"bim-ib-submit",onClick:()=>{const C=N.trim();C&&ys(C),ee(N)},children:$.searchPage.submit}),s&&e.jsx("button",{onClick:()=>s("work"),style:{padding:"8px 14px",border:`1px solid ${i("primary")}`,borderRadius:"6px",background:"transparent",color:i("primary"),cursor:"pointer",fontSize:"13px"},children:$.action.newEntry})]});return e.jsxs("div",{className:"bim-browser-container",style:v?{minHeight:"100svh"}:void 0,children:[e.jsx("style",{children:Rd+(y?Ed:"")}),(!y||f||!p)&&e.jsx("header",{style:{padding:"12px 20px",borderBottom:`1px solid ${i("widget-border")}`},children:e.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[y?e.jsx("span",{}):e.jsx("h1",{style:{margin:0,fontSize:"18px",color:i("fg")},children:$.browser.title}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[f,!p&&e.jsx(bs,{variant:"index-browser",indexSource:n,syncConfig:o,onSwitchMode:l,onToggleDraft:a,onConfigurePath:d,onSelectFolder:c})]})]})}),y?e.jsxs("div",{className:"bim-ib-bar","data-nofilters":t.supportsSearchFilters?void 0:"true",children:[e.jsx("span",{"aria-hidden":"true"}),e.jsx("div",{className:"bim-ib-bar-main",children:Je})]}):e.jsx("div",{style:{display:"flex",gap:"8px",padding:"12px 20px",alignItems:"center"},children:Je}),me&&e.jsx("div",{className:"bim-ib-stats",style:{padding:"0 20px 8px",fontSize:"12px",color:i("desc-fg"),display:"flex",justifyContent:"space-between",flexWrap:"wrap",gap:"4px"},children:we&&e.jsxs(e.Fragment,{children:[e.jsx("span",{children:ge?e.jsxs(e.Fragment,{children:[(ge.book??0)>0&&e.jsxs(e.Fragment,{children:[$.searchPage.statBook," ",e.jsx("strong",{style:{color:i("fg")},children:ge.book.toLocaleString()})," ",$.unit.bu,$.searchPage.statComma,e.jsx("strong",{style:{color:i("fg")},children:we.books.toLocaleString()})," ",$.searchPage.statBookCopies]}),ge.article?e.jsxs(e.Fragment,{children:[e.jsx("span",{style:{margin:"0 6px"},children:"·"}),$.searchPage.statArticle," ",e.jsx("strong",{style:{color:i("fg")},children:ge.article.toLocaleString()})," ",$.searchPage.statArticleUnit]}):null,ge.poem?e.jsxs(e.Fragment,{children:[e.jsx("span",{style:{margin:"0 6px"},children:"·"}),$.searchPage.statPoem," ",e.jsx("strong",{style:{color:i("fg")},children:ge.poem.toLocaleString()})," ",$.searchPage.statPoemUnit]}):null,e.jsx("span",{style:{margin:"0 6px"},children:"·"}),$.searchPage.statCollection," ",e.jsx("strong",{style:{color:i("fg")},children:we.collections.toLocaleString()})]}):e.jsxs(e.Fragment,{children:[$.indexType.work," ",e.jsx("strong",{style:{color:i("fg")},children:we.works.toLocaleString()}),e.jsx("span",{style:{margin:"0 6px"},children:"·"}),$.indexType.book," ",e.jsx("strong",{style:{color:i("fg")},children:we.books.toLocaleString()}),e.jsx("span",{style:{margin:"0 6px"},children:"·"}),$.indexType.collection," ",e.jsx("strong",{style:{color:i("fg")},children:we.collections.toLocaleString()}),we.entities>0&&e.jsxs(e.Fragment,{children:[e.jsx("span",{style:{margin:"0 6px"},children:"·"}),$.indexType.entity," ",e.jsx("strong",{style:{color:i("fg")},children:we.entities.toLocaleString()})]})]})}),we.hasImage!=null&&we.hasText!=null&&e.jsxs("span",{children:[$.resourceType.image," ",e.jsx("strong",{style:{color:i("fg")},children:we.hasImage.toLocaleString()}),e.jsx("span",{style:{margin:"0 6px"},children:"·"}),$.resourceType.text," ",e.jsx("strong",{style:{color:i("fg")},children:we.hasText.toLocaleString()})]})]})}),y&&!me&&e.jsx(Ts,{transport:t,query:A,filters:oe,onFiltersChange:P,onEntryLinkClick:Ce,typeName:C=>We(C).name,tab:j,onTabChange:w,page:S,onPageChange:_}),!(y&&!me)&&e.jsx("div",{style:{padding:"0 20px 20px",flex:1,display:"flex",flexDirection:"column",overflow:"auto"},children:je||Fe?e.jsx("div",{style:{textAlign:"center",padding:"40px",color:i("desc-fg"),minHeight:Nd,boxSizing:"border-box"},children:$.search.searching}):xe?e.jsx("div",{style:{textAlign:"center",padding:"40px"},children:e.jsx("p",{style:{color:i("desc-fg")},children:xe})}):me?e.jsx("div",{style:{flex:1},children:Te?e.jsx("div",{style:{textAlign:"center",padding:"40px",color:i("desc-fg")},children:$.search.loading}):X.length>0?e.jsxs(e.Fragment,{children:[e.jsxs("div",{style:{padding:"8px 0",fontSize:"12px",color:i("desc-fg"),display:"flex",justifyContent:"space-between",alignItems:"center"},children:[e.jsx("span",{children:$.search.recentBrowse}),e.jsx("button",{onClick:ze,style:{border:"none",background:"transparent",color:i("desc-fg"),cursor:"pointer",fontSize:"11px",padding:"2px 4px"},children:$.search.clearRecent})]}),e.jsx("div",{style:{display:"flex",flexDirection:"column",gap:"4px"},children:X.slice(0,fe?10:3).map(C=>C.notFound?e.jsx(Bd,{id:C.id,onRemove:Pe,t:$},C.id):e.jsx(er,{entry:C,selected:K===C.id,onClick:Ce,getConfig:We,onRemove:Pe},C.id))}),!fe&&X.length>3&&e.jsx("button",{onClick:()=>pe(!0),style:{display:"block",margin:"8px auto 0",padding:"4px 16px",fontSize:"12px",color:i("primary"),background:"transparent",border:`1px solid ${i("widget-border")}`,borderRadius:"4px",cursor:"pointer"},children:$.action.expandMore})]}):e.jsxs("div",{style:{textAlign:"center",padding:"40px"},children:[e.jsx("h2",{style:{margin:"0 0 8px",fontSize:"1.17em",color:i("fg")},children:$.search.searchTitle}),e.jsx("p",{style:{color:i("desc-fg"),fontSize:"13px"},children:$.search.searchSubtitle})]})}):Oe?e.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"16px"},children:[e.jsx("style",{children:Ld}),(()=>{const C=se=>W[Qo[se]]??0,J=E.map(se=>T.find(H=>H.type===se)).filter(se=>C(se.key)>0);if(J.length<2)return null;const te=J.reduce((se,H)=>se+C(H.key),0),re=se=>{if(ne(se),se!=="all"&&I!==se){const H=T.find(de=>de.type===se),B=(W[H.key]??[]).length;C(H.key)>B&&V(se)}},ce=se=>({border:"none",background:"transparent",cursor:"pointer",font:"inherit",fontSize:"14px",padding:"8px 12px",minHeight:44,color:i(se?"fg":"desc-fg"),fontWeight:se?700:400,boxShadow:se?`inset 0 -2px 0 ${i("primary")}`:"none"});return e.jsxs("div",{role:"group","aria-label":$.search.resultTabs,style:{display:"flex",flexWrap:"wrap",borderBottom:`1px solid ${i("widget-border")}`},children:[e.jsxs("button",{type:"button","aria-pressed":q==="all",style:ce(q==="all"),onClick:()=>re("all"),children:[$.search.allTab," ",e.jsx("span",{style:{fontSize:12,fontWeight:400},children:te.toLocaleString()})]}),J.map(se=>e.jsxs("button",{type:"button","aria-pressed":q===se.type,style:ce(q===se.type),onClick:()=>re(se.type),children:[se.name," ",e.jsx("span",{style:{fontSize:12,fontWeight:400},children:C(se.key).toLocaleString()})]},se.type))]})})(),T.map(({type:C,name:J,key:te})=>{const re=W[te]??[],ce=Qo[te],se=W[ce]??0;if(re.length===0||q!=="all"&&q!==C)return null;const B=q==="all"&&!(I===C)&&se>ii;return e.jsxs("div",{children:[e.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",padding:"6px 0",borderBottom:`1px solid ${i("widget-border")}`,marginBottom:"6px"},children:[e.jsxs("span",{style:{fontSize:"13px",fontWeight:600,color:i("fg")},children:[e.jsx(Gt,{type:C})," ",J,e.jsxs("span",{style:{fontWeight:400,color:i("desc-fg"),marginLeft:"6px"},children:[se," ",$.unit.items]})]}),B&&e.jsx("button",{className:"bim-ib-viewall",onClick:()=>V(C),style:{border:"none",background:"transparent",color:i("primary"),cursor:"pointer",fontSize:"12px"},children:$.action.viewAll})]}),e.jsx("div",{style:u==="list"?{display:"flex",flexDirection:"column",gap:0}:u==="card"?{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(min(340px, 100%), 1fr))",gap:"14px"}:{display:"flex",flexDirection:"column",gap:"4px"},children:re.map(de=>{if(g)return e.jsx(h.Fragment,{children:g(de)},de.id);const Se=u==="card"?Pd:er;return e.jsx(Se,{entry:de,selected:K===de.id,onClick:Ce,getConfig:We,query:N},de.id)})})]},C)})]}):e.jsxs("div",{style:{textAlign:"center",padding:"40px"},children:[e.jsx("h2",{style:{margin:"0 0 8px",fontSize:"1.17em",color:i("fg")},children:it($.search.noResultsFor,{query:N})}),e.jsx("p",{style:{color:i("desc-fg"),fontSize:"13px"},children:$.search.tryOther})]})})]})},Nd=240;function Id(t){return t.button===0&&!t.metaKey&&!t.ctrlKey&&!t.shiftKey&&!t.altKey}const Rd=`
|
|
121
121
|
.bim-ib-stats { min-height: 25px; box-sizing: content-box; }
|
|
122
122
|
@media (max-width: 719px) { .bim-ib-stats { min-height: 46px; } }
|
|
123
123
|
`,Ed=`
|
package/dist/index.js
CHANGED
|
@@ -3990,7 +3990,7 @@ const Wt = (e, n) => (e == null ? void 0 : e[Ws[n]]) ?? 0, Hn = (e, n) => (e ==
|
|
|
3990
3990
|
var _e;
|
|
3991
3991
|
z(F), u == null || u(F);
|
|
3992
3992
|
const te = I.current;
|
|
3993
|
-
te && te.getBoundingClientRect().top < 0 && ((_e = te.scrollIntoView) == null || _e.call(te, { block: "start" }));
|
|
3993
|
+
te && te.getBoundingClientRect().top < 0 && ((_e = te.scrollIntoView) == null || _e.call(te, { block: "start", behavior: "instant" }));
|
|
3994
3994
|
}, [u]), [R, T] = N(null), [O, H] = N(null), [B, q] = N(!1), [G, ae] = N(""), Se = ii(b).toString(), W = wi(b) > 0, E = ii({ ...b, sort: "" }).toString(), Q = Ae({ query: n, filterOnlyKey: E, sort: b.sort });
|
|
3995
3995
|
Y(() => {
|
|
3996
3996
|
const F = Q.current;
|