import{eX as g,eY as b,eH as y,eF as v,eG as t,eC as k,eP as u,eE as T,eI as _,eK as Y,eN as R,eZ as U,e_ as w,eJ as d}from"./index-6b91f299.js";const X=1,G=2,S=3,z=180,h=4,j=181,Z=5,x=182;function E(O){return O>=65&&O<=90||O>=97&&O<=122}const V=new d(O=>{let e=O.pos;for(;;){let{next:a}=O;if(a<0)break;if(a==123){let r=O.peek(1);if(r==123){if(O.pos>e)break;O.acceptToken(X,2);return}else if(r==37){if(O.pos>e)break;let $=2,i=2;for(;;){let n=O.peek($);if(n==32||n==10)++$;else if(n==35)for(++$;;){let Q=O.peek($);if(Q<0||Q==10)break;$++}else if(n==45&&i==2)i=++$;else{let Q=n==101&&O.peek($+1)==110&&O.peek($+2)==100;O.acceptToken(Q?S:G,i);return}}}}if(O.advance(),a==10)break}O.pos>e&&O.acceptToken(z)});function f(O,e,a){return new d(r=>{let $=r.pos;for(;;){let{next:i}=r;if(i==123&&r.peek(1)==37){let n=2;for(;;n++){let s=r.peek(n);if(s!=32&&s!=10)break}let Q="";for(;;n++){let s=r.peek(n);if(!E(s))break;Q+=String.fromCharCode(s)}if(Q==O){if(r.pos>$)break;r.acceptToken(a,2);break}}else if(i<0)break;if(r.advance(),i==10)break}r.pos>$&&r.acceptToken(e)})}const F=f("endcomment",x,Z),D=f("endraw",j,h),N={__proto__:null,contains:32,or:36,and:36,true:50,false:50,empty:52,forloop:54,tablerowloop:56,continue:58,in:128,with:194,for:196,as:198,if:234,endif:238,unless:244,endunless:248,elsif:252,else:256,case:262,endcase:266,when:270,endfor:278,tablerow:284,endtablerow:288,break:292,cycle:298,echo:302,render:306,include:312,assign:316,capture:322,endcapture:326,increment:330,decrement:334},C={__proto__:null,if:82,endif:86,elsif:90,else:94,unless:100,endunless:104,case:110,endcase:114,when:118,for:126,endfor:136,tablerow:142,endtablerow:146,break:150,continue:154,cycle:158,comment:164,endcomment:170,raw:176,endraw:182,echo:186,render:190,include:202,assign:206,capture:212,endcapture:216,increment:220,decrement:224,liquid:228},I=Y.deserialize({version:14,states:"HOQYOPOOOOOP'#F{'#F{OeOXO'#CdOsQWO'#CfO!bQ`O'#DQO#{OPO'#DTO$ZOPO'#D^O$iOPO'#DcO$wOPO'#DkO%VOPO'#DsO%eOSO'#EOO%jOQO'#EUO%oOPO'#EhOOOP'#G`'#G`OOOP'#G]'#G]OOOP'#Fz'#FzQYOPOOOOOP-E9y-E9yOOQO'#Cg'#CgO&`QpO,59QO&gQpO'#G^OsQWO'#CsOOQO'#G^'#G^OOOP,59l,59lO)PQWO,59lOsQWO,59pOsQWO,59tO)ZQWO,59vOsQWO,59yOsQWO,5:OOsQWO,5:SO!]QWO,5:WO!]QWO,5:`O)`QWO,5:dO)eQWO,5:fO)jQWO,5:hO)oQWO,5:kO)tQWO,5:qOsQWO,5:vOsQWO,5:xOsQWO,5;OOsQWO,5;QOsQWO,5;TOsQWO,5;XOsQWO,5;ZO+TQWO,5;]O+[OPO'#CdOOOP,59o,59oO#{OPO,59oO+jQ`O'#DWOOOP,59x,59xO$ZOPO,59xO+oQ`O'#DaOOOP,59},59}O$iOPO,59}O+tQ`O'#DfOOOP,5:V,5:VO$wOPO,5:VO+yQ`O'#DqOOOP,5:_,5:_O%VOPO,5:_O,OQ`O'#DvOOOS'#GQ'#GQO,TOSO'#ERO,]OSO,5:jOOOQ'#GR'#GRO,bOQO'#EXO,jOQO,5:pOOOP,5;S,5;SO%oOPO,5;SO,oQ`O'#EkOOOP-E9x-E9xO,tQ!bO,59SOsQWO,59VOsQWO,59VO,yQWO'#C|OOQO'#F|'#F|O-OQWO1G.lOOOP1G.l1G.lOsQWO,59VOsQWO,59ZO-WQpO,59_O-iQpO1G/WO-pQWO1G/WOOOP1G/W1G/WO-xQpO1G/[O.ZQpO1G/`OOOP1G/b1G/bO.lQpO1G/eO.}QpO1G/jO/qQpO1G/nO/xQWO1G/rO/}QWO1G/zOOOP1G0O1G0OOOOP1G0Q1G0QO0SQWO1G0SOOOS1G0V1G0VOOOQ1G0]1G0]O0_QpO1G0bO0fQpO1G0dO1QQpO1G0jO1cQpO1G0lO1jQpO1G0oO1{QpO1G0sO2^QpO1G0uO2oQWO'#EsO2vQWO'#ExO2}QWO'#FRO3UQWO'#FYO3]QWO'#F^O3dQWO'#FqOOQO'#Ga'#GaOOQO'#GT'#GTO3kQWO1G0wOsQWO'#EtOsQWO'#EyOsQWO'#E}OOQO'#FP'#FPOsQWO'#FSOsQWO'#FWO!]QWO'#FZO!]QWO'#F_OOQO'#Fc'#FcOOQO'#Fe'#FeO3rQWO'#FfOsQWO'#FhOsQWO'#FjOsQWO'#FmOsQWO'#FoOsQWO'#FrOsQWO'#FvOsQWO'#FxOOOP1G0w1G0wOOOP1G/Z1G/ZO3wQWO,59rOOOP1G/d1G/dO3|QWO,59{OOOP1G/i1G/iO4RQWO,5:QOOOP1G/q1G/qO4WQWO,5:]OOOP1G/y1G/yO4]QWO,5:bOOOS-E:O-E:OOOOP1G0U1G0UO4bQ`O'#ESOOOQ-E:P-E:POOOP1G0[1G0[O4gQ`O'#EYOOOP1G0n1G0nO4lQWO,5;VOOQO1G.n1G.nOOQO1G.q1G.qO7QQpO1G.qOOQO'#DO'#DOO7[QWO,59hOOQO-E9z-E9zOOOP7+$W7+$WO9UQpO1G.qO9`QpO1G.uOsQWO1G.yO;uQWO7+$rOOOP7+$r7+$rOOOP7+$v7+$vOOOP7+$z7+$zOOOP7+%P7+%POOOP7+%U7+%UOsQWO'#F}O;}QWO7+%YOOOP7+%Y7+%YOsQWO7+%^OsQWO7+%fOrQpO,5;eO@]QpO,5;iOBYQpO,5;nOCsQpO,5;rOEfQWO,5;uOEkQWO,5;yOEpQWO,5dOOOPAN>dAN>dO!7QQWOAN>lOOOPAN>lAN>lO!7YQWOAN>tOOOPAN>tAN>tOsQWO1G0fO!]QWO1G0fO!7bQpO7+&{O!8qQpO7+'PO!:QQWO7+'WO!;tQWO,5N[O]||-1},{term:37,get:O=>C[O]||-1}],tokenPrec:0});function o(O,e){return O.split(" ").map(a=>({label:a,type:e}))}const p=o("abs append at_least at_most capitalize ceil compact concat date default divided_by downcase escape escape_once first floor join last lstrip map minus modulo newline_to_br plus prepend remove remove_first replace replace_first reverse round rstrip size slice sort sort_natural split strip strip_html strip_newlines sum times truncate truncatewords uniq upcase url_decode url_encode where","function"),P=o("cycle comment endcomment raw endraw echo increment decrement liquid if elsif else endif unless endunless case endcase for endfor tablerow endtablerow break continue assign capture endcapture render include","keyword"),q=o("empty forloop tablerowloop in with as contains","keyword"),L=o("first index index0 last length rindex","property"),A=o("col col0 col_first col_last first index index0 last length rindex rindex0 row","property");function B(O){var e;let{state:a,pos:r}=O,$=R(a).resolveInner(r,-1).enterUnfinishedNodesBefore(r),i=((e=$.childBefore(r))===null||e===void 0?void 0:e.name)||$.name;if($.name=="FilterName")return{type:"filter",node:$};if(O.explicit&&i=="|")return{type:"filter"};if($.name=="TagName")return{type:"tag",node:$};if(O.explicit&&i=="{%")return{type:"tag"};if($.name=="PropertyName"&&$.parent.name=="MemberExpression")return{type:"property",node:$,target:$.parent};if($.name=="."&&$.parent.name=="MemberExpression")return{type:"property",target:$.parent};if($.name=="MemberExpression"&&i==".")return{type:"property",target:$};if($.name=="VariableName")return{type:"expression",from:$.from};let n=O.matchBefore(/[\w\u00c0-\uffff]+$/);return n?{type:"expression",from:n.from}:O.explicit&&$.name!="CommentText"&&$.name!="StringLiteral"&&$.name!="NumberLiteral"&&$.name!="InlineComment"?{type:"expression"}:null}function H(O,e,a,r){let $=[];for(;;){let i=e.getChild("Expression");if(!i)return[];if(i.name=="forloop")return $.length?[]:L;if(i.name=="tablerowloop")return $.length?[]:A;if(i.name=="VariableName"){$.unshift(O.sliceDoc(i.from,i.to));break}else if(i.name=="MemberExpression"){let n=i.getChild("PropertyName");n&&$.unshift(O.sliceDoc(n.from,n.to)),e=i}else return[]}return r?r($,O,a):[]}function M(O={}){let e=O.filters?O.filters.concat(p):p,a=O.tags?O.tags.concat(P):P,r=O.variables?O.variables.concat(q):q,{properties:$}=O;return i=>{var n;let Q=B(i);if(!Q)return null;let s=(n=Q.from)!==null&&n!==void 0?n:Q.node?Q.node.from:i.pos,l;return Q.type=="filter"?l=e:Q.type=="tag"?l=a:Q.type=="expression"?l=r:l=H(i.state,Q.target,i,$),l.length?{options:l,from:s,validFor:/^[\w\u00c0-\uffff]*$/}:null}}const K=g.inputHandler.of((O,e,a,r)=>r!="%"||e!=a||O.state.doc.sliceString(e-1,a+1)!="{}"?!1:(O.dispatch(O.state.changeByRange($=>({changes:{from:$.from,to:$.to,insert:"%%"},range:b.cursor($.from+1)})),{scrollIntoView:!0,userEvent:"input.type"}),!0));function c(O){return e=>{let a=O.test(e.textAfter);return e.lineIndent(e.node.from)+(a?0:e.unit)}}const J=y.define({name:"liquid",parser:I.configure({props:[v({"cycle comment endcomment raw endraw echo increment decrement liquid in with as":t.keyword,"empty forloop tablerowloop":t.atom,"if elsif else endif unless endunless case endcase for endfor tablerow endtablerow break continue":t.controlKeyword,"assign capture endcapture":t.definitionKeyword,contains:t.operatorKeyword,"render include":t.moduleKeyword,VariableName:t.variableName,TagName:t.tagName,FilterName:t.function(t.variableName),PropertyName:t.propertyName,CompareOp:t.compareOperator,AssignOp:t.definitionOperator,LogicOp:t.logicOperator,NumberLiteral:t.number,StringLiteral:t.string,BooleanLiteral:t.bool,InlineComment:t.lineComment,CommentText:t.blockComment,"{% %} {{ }}":t.brace,"( )":t.paren,".":t.derefOperator,", .. : |":t.punctuation}),k.add({Tag:u({closing:"%}"}),"UnlessDirective ForDirective TablerowDirective CaptureDirective":c(/^\s*(\{%-?\s*)?end\w/),IfDirective:c(/^\s*(\{%-?\s*)?(endif|else|elsif)\b/),CaseDirective:c(/^\s*(\{%-?\s*)?(endcase|when)\b/)}),T.add({"UnlessDirective ForDirective TablerowDirective CaptureDirective IfDirective CaseDirective RawDirective Comment"(O){let e=O.firstChild,a=O.lastChild;return!e||e.name!="Tag"?null:{from:e.to,to:a.name=="EndTag"?a.from:O.to}}})]}),languageData:{commentTokens:{line:"#"},indentOnInput:/^\s*{%-?\s*(?:end|elsif|else|when|)$/}}),m=U();function W(O){return J.configure({wrap:w(e=>e.type.isTop?{parser:O.parser,overlay:a=>a.name=="Text"||a.name=="RawText"}:null)},"liquid")}const OO=W(m.language);function eO(O={}){let e=O.base||m,a=e.language==m.language?OO:W(e.language);return new _(a,[e.support,a.data.of({autocomplete:M(O)}),e.language.data.of({closeBrackets:{brackets:["{"]}}),K])}export{K as closePercentBrace,eO as liquid,M as liquidCompletionSource,OO as liquidLanguage};