vendor: 4,156 bytes, line 1
1import{_ as R}from"./DS5UlC0R.js";import{d as O,c as H}from"./BQqMBwW0.js";import{p as W,j,q as J,ah as K,Z as U,h as N,b as o,d as X,g as Y,L as z,a4 as I,P as Z,al as Q,af as ee,aJ as te,y as ne,$ as C,K as re,o as p,D as $,w as V,c as ae,E as ie,F as oe,G as le,O as b}from"./CssnEVdk.js";import{n as se}from"./BVJ4COps.js";import{a as q,V as ce}from"./qyEofNFY.js";import{G as B}from"./Ddr7Zsa8.js";import{u as ue}from"./D6a6pzcg.js";const de=W({color:String,direction:{type:String,default:"vertical",validator:e=>["vertical","horizontal"].includes(e)},side:{type:String,default:"end",validator:e=>["start","end","both"].includes(e)},mode:{type:String,default:"intersect",validator:e=>["intersect","manual"].includes(e)},margin:[Number,String],loadMoreText:{type:String,default:"$vuetify.infiniteScroll.loadMore"},emptyText:{type:String,default:"$vuetify.infiniteScroll.empty"},...j(),...J()},"VInfiniteScroll"),F=K({name:"VInfiniteScrollIntersect",props:{side:{type:String,required:!0},rootMargin:String},emits:{intersect:(e,c)=>!0},setup(e,c){let{emit:t}=c;const{intersectionRef:d,isIntersecting:r}=se();return U(r,async f=>{t("intersect",e.side,f)}),N(()=>o("div",{class:"v-infinite-scroll-intersect",style:{"--v-infinite-margin-size":e.rootMargin},ref:d},[X("Â ")])),{}}}),me=Y()({name:"VInfiniteScroll",props:de(),emits:{load:e=>!0},setup(e,c){let{slots:t,emit:d}=c;const r=z(),f=I("ok"),u=I("ok"),y=Z(()=>Q(e.margin)),l=I(!1);function m(n){if(!r.value)return;const a=e.direction==="vertical"?"scrollTop":"scrollLeft";r.value[a]=n}function g(){if(!r.value)return 0;const n=e.direction==="vertical"?"scrollTop":"scrollLeft";return r.value[n]}function s(){if(!r.value)return 0;const n=e.direction==="vertical"?"scrollHeight":"scrollWidth";return r.value[n]}function h(){if(!r.value)return 0;const n=e.direction==="vertical"?"clientHeight":"clientWidth";return r.value[n]}ee(()=>{r.value&&(e.side==="start"?m(s()):e.side==="both"&&m(s()/2-h()/2))});function S(n,a){n==="start"?f.value=a:n==="end"&&(u.value=a)}function D(n){return n==="start"?f.value:u.value}let T=0;function _(n,a){l.value=a,l.value&&w(n)}function w(n){if(e.mode!=="manual"&&!l.value)return;const a=D(n);if(!r.value||["empty","loading"].includes(a))return;T=s(),S(n,"loading");function v(i){S(n,i),C(()=>{i==="empty"||i==="error"||(i==="ok"&&n==="start"&&m(s()-T+g()),e.mode!=="manual"&&C(()=>{window.requestAnimationFrame(()=>{window.requestAnimationFrame(()=>{window.requestAnimationFrame(()=>{w(n)})})})}))})}d("load",{side:n,done:v})}const{t:x}=te();function P(n,a){var k,A,G,L,M;if(e.side!==n&&e.side!=="both")return;const v=()=>w(n),i={side:n,props:{onClick:v,color:e.color}};return a==="error"?(k=t.error)==null?void 0:k.call(t,i):a==="empty"?((A=t.empty)==null?void 0:A.call(t,i))??o("div",null,[x(e.emptyText)]):e.mode==="manual"?a==="loading"?((G=t.loading)==null?void 0:G.call(t,i))??o(q,{indeterminate:!0,color:e.color},null):((L=t["load-more"])==null?void 0:L.call(t,i))??o(ce,{variant:"outlined",color:e.color,onClick:v},{default:()=>[x(e.loadMoreText)]}):((M=t.loading)==null?void 0:M.call(t,i))??o(q,{indeterminate:!0,color:e.color},null)}const{dimensionStyles:E}=ne(e);N(()=>{const n=e.tag,a=e.side==="start"||e.side==="both",v=e.side==="end"||e.side==="both",i=e.mode==="intersect";return o(n,{ref:r,class:["v-infinite-scroll",`v-infinite-scroll--${e.direction}`,{"v-infinite-scroll--start":a,"v-infinite-scroll--end":v}],style:E.value},{default:()=>{var k;return[o("div",{class:"v-infinite-scroll__side"},[P("start",f.value)]),a&&i&&o(F,{key:"start",side:"start",onIntersect:_,rootMargin:y.value},null),(k=t.default)==null?void 0:k.call(t),v&&i&&o(F,{key:"end",side:"end",onIntersect:_,rootMargin:y.value},null),o("div",{class:"v-infinite-scroll__side"},[P("end",u.value)])]}})})}}),we=re({__name:"GrammarList",props:{grammars:{type:Array,required:!0}},emits:["load"],setup(e,{emit:c}){const t=c,d=r=>{t("load",r)};return(r,f)=>e.grammars?(p(),$(me,{key:0,mode:"manual",class:"pa-3",height:500,items:e.grammars,onLoad:d},{default:V(()=>[o(O,null,{default:V(()=>[(p(!0),ae(oe,null,ie(e.grammars,u=>(p(),$(H,{key:u.id,cols:"12",md:"6",xl:"4"},{default:V(()=>{var y;
1return[o(R,{to:`/en/${u.id}/`,title:u.title.en,description:(y=u.description)==null?void 0:y.en},null,8,["to","title","description"])]}),_:2},1024))),128))]),_:1})]),_:1},8,["items"])):le("",!0)}}),Ie=(e,c,t)=>{const d=z([]),{data:r,refresh:f,pending:u}=ue(async()=>{var m,g;const l={search:e.value||void 0,itemsPerPage:t.itemsPerPage,page:t.page,tags:c.value};try{const{$api:s}=b();if(((m=l.search)==null?void 0:m.length)>0||((g=l.tags)==null?void 0:g.length)>0)return{grammars:(await s.laoshi.getAllGrammar(l)).data.data.map(S=>new B(S).convertToList())};if(d.value.length===0){const h=await s.laoshi.getGrammarNames();d.value=h.data}return{grammars:d.value}}catch{}},"$B8w0Xd4rrY");return{data:r,options:t,search:e,tags:c,refresh:f,onLoadMoreGrammar:async({done:l})=>{var m;t.page=t.page+1;try{const{$api:g}=b(),s=await g.laoshi.getAllGrammar({search:e.value||void 0,itemsPerPage:20,page:t.page,tags:c.value});if(s.data.data.length===0)l("empty");else{const h=s.data.data.map(S=>new B(S).convertToList());(m=r.value)==null||m.grammars.push(...h),l("ok")}}catch{l("error")}},pending:u}};export{we as _,Ie as u};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.