@samva/vite 0.14.0 → 0.15.1

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.
@@ -24,14 +24,14 @@ Error generating stack: `+e.message+`
24
24
  `):n=String.fromCharCode(t),++this.state.curLine,this.state.lineStart=this.state.pos,n}jsxReadString(e){let t=``,n=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(G.UnterminatedString,this.state.startLoc);let r=this.input.charCodeAt(this.state.pos);if(r===e)break;r===38?(t+=this.input.slice(n,this.state.pos),t+=this.jsxReadEntity(),n=this.state.pos):kf(r)?(t+=this.input.slice(n,this.state.pos),t+=this.jsxReadNewLine(!1),n=this.state.pos):++this.state.pos}t+=this.input.slice(n,this.state.pos++),this.finishToken(130,t)}jsxReadEntity(){let e=++this.state.pos;if(this.codePointAtPos(this.state.pos)===35){++this.state.pos;let e=10;this.codePointAtPos(this.state.pos)===120&&(e=16,++this.state.pos);let t=this.readInt(e,void 0,!1,`bail`);if(t!==null&&t<=1114111&&this.codePointAtPos(this.state.pos)===59)return++this.state.pos,String.fromCodePoint(t)}else{let t=0,n=!1;for(;t++<10&&this.state.pos<this.length&&!(n=this.codePointAtPos(this.state.pos)===59);)++this.state.pos;if(n){let t=Df[this.input.slice(e,this.state.pos)];if(++this.state.pos,t)return t}}return this.state.pos=e,`&`}jsxReadWord(){let e,t=this.state.pos;do e=this.input.charCodeAt(++this.state.pos);while(tf(e)||e===45);this.finishToken(136,this.input.slice(t,this.state.pos))}jsxParseIdentifier(){let e=this.startNode();return this.match(136)?e.name=this.state.value:Id(this.state.type)?e.name=Hd(this.state.type):this.unexpected(),this.next(),this.finishNode(e,`JSXIdentifier`)}jsxParseNamespacedName(){let e=this.state.startLoc,t=this.jsxParseIdentifier();if(!this.eat(10))return t;let n=this.startNodeAt(e);return n.namespace=t,n.name=this.jsxParseIdentifier(),this.finishNode(n,`JSXNamespacedName`)}jsxParseElementName(){let e=this.state.startLoc,t=this.jsxParseNamespacedName();if(t.type===`JSXNamespacedName`)return t;for(;this.eat(12);){let n=this.startNodeAt(e);n.object=t,n.property=this.jsxParseIdentifier(),t=this.finishNode(n,`JSXMemberExpression`)}return t}jsxParseAttributeValue(){let e;switch(this.state.type){case 2:return e=this.startNode(),this.setContext(Jd.brace),this.next(),e=this.jsxParseExpressionContainer(e,Jd.j_oTag),e.expression.type===`JSXEmptyExpression`&&this.raise(Pf.AttributeIsEmpty,e),e;case 138:case 130:return this.parseExprAtom();default:throw this.raise(Pf.UnsupportedJsxValue,this.state.startLoc)}}jsxParseEmptyExpression(){let e=this.startNodeAt(this.state.lastTokEndLoc);return this.finishNodeAt(e,`JSXEmptyExpression`,this.state.startLoc)}jsxParseSpreadChild(e){return this.next(),e.expression=this.parseExpression(),this.setContext(Jd.j_expr),this.state.canStartJSXElement=!0,this.expect(4),this.finishNode(e,`JSXSpreadChild`)}jsxParseExpressionContainer(e,t){if(this.match(4))e.expression=this.jsxParseEmptyExpression();else{let t=this.parseExpression();t.type===`SequenceExpression`&&!t.extra?.parenthesized&&this.raise(Pf.UnexpectedSequenceExpression,t.expressions[1]),e.expression=t}return this.setContext(t),this.state.canStartJSXElement=!0,this.expect(4),this.finishNode(e,`JSXExpressionContainer`)}jsxParseAttribute(){if(this.match(2)){let e=this.startNode();return this.setContext(Jd.brace),this.next(),this.expect(17),e.argument=this.parseMaybeAssignAllowIn(),this.setContext(Jd.j_oTag),this.state.canStartJSXElement=!0,this.expect(4),this.finishNode(e,`JSXSpreadAttribute`)}let e=this.startNode();return e.name=this.jsxParseNamespacedName(),e.value=this.eat(25)?this.jsxParseAttributeValue():null,this.finishNode(e,`JSXAttribute`)}jsxParseOpeningElementAt(e){if(this.eat(139)){let t=this.startNodeAt(e);return this.finishNode(t,`JSXOpeningFragment`)}let t=this.startNodeAt(e);return t.name=this.jsxParseElementName(),this.jsxParseOpeningElementAfterName(t)}jsxParseOpeningElementAfterName(e){let t=[];for(;!this.match(52)&&!this.match(139);)t.push(this.jsxParseAttribute());return e.attributes=t,e.selfClosing=this.eat(52),this.expect(139),this.finishNode(e,`JSXOpeningElement`)}jsxParseClosingElementAt(e){if(this.eat(139)){let t=this.startNodeAt(e);return this.finishNode(t,`JSXClosingFragment`)}let t=this.startNodeAt(e);return t.name=this.jsxParseElementName(),this.expect(139),this.finishNode(t,`JSXClosingElement`)}jsxParseElementAt(e){let t=this.startNodeAt(e),n=[],r=this.jsxParseOpeningElementAt(e),i=null;if(!r.selfClosing){contents:for(;;)switch(this.state.type){case 138:if(e=this.state.startLoc,this.next(),this.eat(52)){this.setLoc(e),i=this.jsxParseClosingElementAt(e);break contents}n.push(this.jsxParseElementAt(e));break;case 137:n.push(this.parseLiteral(this.state.value,`JSXText`));break;case 2:{let e=this.startNode();this.setContext(Jd.brace),this.next(),this.match(17)?n.push(this.jsxParseSpreadChild(e)):n.push(this.jsxParseExpressionContainer(e,Jd.j_expr));break}default:this.unexpected()}Ff(r)&&!Ff(i)&&i!==null?this.raise(Pf.MissingClosingTagFragment,i):(!Ff(r)&&Ff(i)||!Ff(r)&&!Ff(i)&&If(i.name)!==If(r.name))&&this.raise(Pf.MissingClosingTagElement,i,{openingTagName:If(r.name)})}if(Ff(r)?(t.openingFragment=r,t.closingFragment=i):(t.openingElement=r,t.closingElement=i),t.children=n,this.match(43))throw this.raise(Pf.UnwrappedAdjacentJSXElements,this.state.startLoc);return Ff(r)?this.finishNode(t,`JSXFragment`):this.finishNode(t,`JSXElement`)}jsxParseElement(){let e=this.state.startLoc;return this.next(),this.jsxParseElementAt(e)}setContext(e){let{context:t}=this.state;t[t.length-1]=e}parseExprAtom(e){return this.match(138)?this.jsxParseElement():this.match(43)&&this.input.charCodeAt(this.state.pos)!==33?(this.replaceToken(138),this.jsxParseElement()):super.parseExprAtom(e)}skipSpace(){this.curContext().preserveSpace||super.skipSpace()}getTokenFromCode(e){let t=this.curContext();if(t===Jd.j_expr){this.jsxReadToken();return}if(t===Jd.j_oTag||t===Jd.j_cTag){if(ef(e)){this.jsxReadWord();return}if(e===62){++this.state.pos,this.finishToken(139);return}if((e===34||e===39)&&t===Jd.j_oTag){this.jsxReadString(e);return}}if(e===60&&this.state.canStartJSXElement&&this.input.charCodeAt(this.state.pos+1)!==33){++this.state.pos,this.finishToken(138);return}super.getTokenFromCode(e)}updateContext(e){let{context:t,type:n}=this.state;if(n===52&&e===138)t.splice(-2,2,Jd.j_cTag),this.state.canStartJSXElement=!1;else if(n===138)t.push(Jd.j_oTag);else if(n===139){let n=t[t.length-1];n===Jd.j_oTag&&e===52||n===Jd.j_cTag?(t.pop(),this.state.canStartJSXElement=t[t.length-1]===Jd.j_expr):(this.setContext(Jd.j_expr),this.state.canStartJSXElement=!0)}else this.state.canStartJSXElement=jd(n)}},Rf=class extends hf{tsNames=new Map},zf=class extends gf{get inTSNamespace(){let e=this.scopeStack;return e.length>=2&&e[e.length-1].flags===0&&(e[e.length-2].flags&2048)>0}importsStack=[];createScope(e){return this.importsStack.push(new Set),new Rf(e)}enter(e){e&3072&&this.importsStack.push(new Set),super.enter(e)}exit(){let e=super.exit();return e&3072&&this.importsStack.pop(),e}hasImport(e,t){let n=this.importsStack.length;if(this.importsStack[n-1].has(e))return!0;if(!t&&n>1){for(let t=0;t<n-1;t++)if(this.importsStack[t].has(e))return!0}return!1}declareName(e,t,n){if(t&4096){this.hasImport(e,!0)&&this.parser.raise(G.VarRedeclaration,n,{identifierName:e}),this.importsStack[this.importsStack.length-1].add(e);return}let r=this.currentScope(),i=r.tsNames.get(e)||0;if(t&1024){this.maybeExportDefined(r,e),r.tsNames.set(e,i|16);return}super.declareName(e,t,n),t&2&&(t&1||(this.checkRedeclarationInScope(r,e,t,n),this.maybeExportDefined(r,e)),i|=1),t&256&&(i|=2),t&512&&(i|=4),t&128&&(i|=8),i&&r.tsNames.set(e,i)}isRedeclaredInScope(e,t,n){let r=e.tsNames.get(t);return(r&2)>0?n&256?(n&512)>0!=(r&4)>0:!0:n&128&&(r&8)>0?e.names.get(t)&2?!!(n&1):!1:n&2&&(r&1)>0?!0:super.isRedeclaredInScope(e,t,n)}checkLocalExport(e){let{name:t}=e;if(this.hasImport(t))return;let n=this.scopeStack.length;for(let e=n-1;e>=0;e--){let n=this.scopeStack[e].tsNames.get(t);if((n&1)>0||(n&16)>0)return}super.checkLocalExport(e)}},Bf=class{sawUnambiguousESM=!1;ambiguousScriptDifferentAst=!1;sourceToOffsetPos(e){return e+this.startIndex}offsetToSourcePos(e){return e-this.startIndex}hasPlugin(e){if(typeof e==`string`)return this.plugins.has(e);{let[t,n]=e;if(!this.hasPlugin(t))return!1;let r=this.plugins.get(t);for(let e of Object.keys(n))if(r?.[e]!==n[e])return!1;return!0}}getPluginOption(e,t){return this.plugins.get(e)?.[t]}};function Vf(e,t){e.trailingComments===void 0?e.trailingComments=t:e.trailingComments.unshift(...t)}function Hf(e,t){e.leadingComments===void 0?e.leadingComments=t:e.leadingComments.unshift(...t)}function Uf(e,t){e.innerComments===void 0?e.innerComments=t:e.innerComments.unshift(...t)}function Wf(e,t,n){let r=null,i=t.length;for(;r===null&&i>0;)r=t[--i];r===null||r.start>n.start?Uf(e,n.comments):Vf(r,n.comments)}var Gf=class extends Bf{addComment(e){this.filename&&(e.loc.filename=this.filename);let{commentsLen:t}=this.state;this.comments.length!==t&&(this.comments.length=t),this.comments.push(e),this.state.commentsLen++}processComment(e){let{commentStack:t}=this.state,n=t.length;if(n===0)return;let r=n-1,i=t[r];i.start===e.end&&(i.leadingNode=e,r--);let a=e.start;for(;r>=0;r--){let n=t[r],i=n.end;if(i>a)n.containingNode=e,this.finalizeComment(n),t.splice(r,1);else{i===a&&(n.trailingNode=e);break}}}finalizeComment(e){let{comments:t}=e;if(e.leadingNode!==null||e.trailingNode!==null)e.leadingNode!==null&&Vf(e.leadingNode,t),e.trailingNode!==null&&Hf(e.trailingNode,t);else{let n=e.containingNode,r=e.start;if(this.input.charCodeAt(this.offsetToSourcePos(r)-1)===44)switch(n.type){case`ObjectExpression`:case`ObjectPattern`:Wf(n,n.properties,e);break;case`CallExpression`:case`NewExpression`:case`OptionalCallExpression`:Wf(n,n.arguments,e);break;case`ImportExpression`:Wf(n,[n.source,n.options??null],e);break;case`FunctionDeclaration`:case`FunctionExpression`:case`ArrowFunctionExpression`:case`ObjectMethod`:case`ClassMethod`:case`ClassPrivateMethod`:case`TSTypeParameterDeclaration`:Wf(n,n.params,e);break;case`ArrayExpression`:case`ArrayPattern`:Wf(n,n.elements,e);break;case`ExportNamedDeclaration`:case`ImportDeclaration`:Wf(n,n.specifiers,e);break;case`TSEnumBody`:Wf(n,n.members,e);break;case`TSInterfaceBody`:Wf(n,n.body,e);break;default:Uf(n,t)}else Uf(n,t)}}finalizeRemainingComments(){let{commentStack:e}=this.state;for(let t=e.length-1;t>=0;t--)this.finalizeComment(e[t]);this.state.commentStack=[]}resetPreviousNodeTrailingComments(e){let{commentStack:t}=this.state,{length:n}=t;if(n===0)return;let r=t[n-1];r.leadingNode===e&&(r.leadingNode=null)}takeSurroundingComments(e,t,n){let{commentStack:r}=this.state,i=r.length;if(i===0)return;let a=i-1;for(;a>=0;a--){let i=r[a],o=i.end;if(i.start===n)i.leadingNode=e;else if(o===t)i.trailingNode=e;else if(o<t)break}}},Kf=class e{flags=2048;get strict(){return(this.flags&1)>0}set strict(e){e?this.flags|=1:this.flags&=-2}startIndex;curLine;lineStart;startLoc;endLoc;init({strictMode:e,sourceType:t,startIndex:n,startLine:r,startColumn:i}){this.strict=e===!1?!1:e===!0||t===`module`,this.startIndex=n,this.curLine=r,this.lineStart=-i,this.startLoc=this.endLoc=new Hu(r,i,n)}errors=[];noArrowAt=[];noArrowParamsConversionAt=[];get canStartArrow(){return(this.flags&2)>0}set canStartArrow(e){e?this.flags|=2:this.flags&=-3}get inType(){return(this.flags&4)>0}set inType(e){e?this.flags|=4:this.flags&=-5}get noAnonFunctionType(){return(this.flags&8)>0}set noAnonFunctionType(e){e?this.flags|=8:this.flags&=-9}get hasFlowComment(){return(this.flags&16)>0}set hasFlowComment(e){e?this.flags|=16:this.flags&=-17}get isAmbientContext(){return(this.flags&32)>0}set isAmbientContext(e){e?this.flags|=32:this.flags&=-33}get inAbstractClass(){return(this.flags&64)>0}set inAbstractClass(e){e?this.flags|=64:this.flags&=-65}get inDisallowConditionalTypesContext(){return(this.flags&128)>0}set inDisallowConditionalTypesContext(e){e?this.flags|=128:this.flags&=-129}get inConditionalConsequent(){return(this.flags&256)>0}set inConditionalConsequent(e){e?this.flags|=256:this.flags&=-257}get inHackPipelineBody(){return(this.flags&512)>0}set inHackPipelineBody(e){e?this.flags|=512:this.flags&=-513}get seenTopicReference(){return(this.flags&1024)>0}set seenTopicReference(e){e?this.flags|=1024:this.flags&=-1025}labels=[];commentsLen=0;commentStack=[];pos=0;type=135;value=null;start=0;end=0;lastTokEndLoc=null;lastTokStartLoc=null;context=[Jd.brace];get canStartJSXElement(){return(this.flags&2048)>0}set canStartJSXElement(e){e?this.flags|=2048:this.flags&=-2049}get containsEsc(){return(this.flags&4096)>0}set containsEsc(e){e?this.flags|=4096:this.flags&=-4097}firstInvalidTemplateEscapePos=null;get hasTopLevelAwait(){return(this.flags&8192)>0}set hasTopLevelAwait(e){e?this.flags|=8192:this.flags&=-8193}strictErrors=new Map;tokensLength=0;curPosition(){return new Hu(this.curLine,this.pos-this.lineStart,this.pos+this.startIndex)}clone(){let t=new e;return t.flags=this.flags,t.startIndex=this.startIndex,t.curLine=this.curLine,t.lineStart=this.lineStart,t.startLoc=this.startLoc,t.endLoc=this.endLoc,t.errors=this.errors.slice(),t.noArrowAt=this.noArrowAt.slice(),t.noArrowParamsConversionAt=this.noArrowParamsConversionAt.slice(),t.labels=this.labels.slice(),t.commentsLen=this.commentsLen,t.commentStack=this.commentStack.slice(),t.pos=this.pos,t.type=this.type,t.value=this.value,t.start=this.start,t.end=this.end,t.lastTokEndLoc=this.lastTokEndLoc,t.lastTokStartLoc=this.lastTokStartLoc,t.context=this.context.slice(),t.firstInvalidTemplateEscapePos=this.firstInvalidTemplateEscapePos,t.strictErrors=this.strictErrors,t.tokensLength=this.tokensLength,t}},qf=function(e){return e>=48&&e<=57},Jf={decBinOct:new Set([46,66,69,79,95,98,101,111]),hex:new Set([46,88,95,120])},Yf={bin:e=>e===48||e===49,oct:e=>e>=48&&e<=55,dec:e=>e>=48&&e<=57,hex:e=>e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102};function Xf(e,t,n,r,i,a){let o=n,s=r,c=i,l=``,u=null,d=n,{length:f}=t;for(;;){if(n>=f){a.unterminated(o,s,c),l+=t.slice(d,n);break}let p=t.charCodeAt(n);if(Zf(e,p,t,n)){l+=t.slice(d,n);break}if(p===92){l+=t.slice(d,n);let o=Qf(t,n,r,i,e===`template`,a);o.ch===null&&!u?u={pos:n,lineStart:r,curLine:i}:l+=o.ch,{pos:n,lineStart:r,curLine:i}=o,d=n}else p===8232||p===8233?(++n,++i,r=n):p===10||p===13?e===`template`?(l+=t.slice(d,n)+`
25
25
  `,++n,p===13&&t.charCodeAt(n)===10&&++n,++i,d=r=n):a.unterminated(o,s,c):++n}return{pos:n,str:l,firstInvalidLoc:u,lineStart:r,curLine:i}}function Zf(e,t,n,r){return e===`template`?t===96||t===36&&n.charCodeAt(r+1)===123:t===(e===`double`?34:39)}function Qf(e,t,n,r,i,a){let o=!i;t++;let s=e=>({pos:t,ch:e,lineStart:n,curLine:r}),c=e.charCodeAt(t++);switch(c){case 110:return s(`
26
26
  `);case 114:return s(`\r`);case 120:{let i;return{code:i,pos:t}=$f(e,t,n,r,2,!1,o,a),s(i===null?null:String.fromCharCode(i))}case 117:{let i;return{code:i,pos:t}=tp(e,t,n,r,o,a),s(i===null?null:String.fromCodePoint(i))}case 116:return s(` `);case 98:return s(`\b`);case 118:return s(`\v`);case 102:return s(`\f`);case 13:e.charCodeAt(t)===10&&++t;case 10:n=t,++r;case 8232:case 8233:return s(``);case 56:case 57:if(i)return s(null);a.strictNumericEscape(t-1,n,r);default:if(c>=48&&c<=55){let o=t-1,c=/^[0-7]+/.exec(e.slice(o,t+2))[0],l=parseInt(c,8);l>255&&(c=c.slice(0,-1),l=parseInt(c,8)),t+=c.length-1;let u=e.charCodeAt(t);if(c!==`0`||u===56||u===57){if(i)return s(null);a.strictNumericEscape(o,n,r)}return s(String.fromCharCode(l))}return s(String.fromCharCode(c))}}function $f(e,t,n,r,i,a,o,s){let c=t,l;return{n:l,pos:t}=ep(e,t,n,r,16,i,a,!1,s,!o),l===null&&(o?s.invalidEscapeSequence(c,n,r):t=c-1),{code:l,pos:t}}function ep(e,t,n,r,i,a,o,s,c,l){let u=t,d=i===16?Jf.hex:Jf.decBinOct,f=i===16?Yf.hex:i===10?Yf.dec:i===8?Yf.oct:Yf.bin,p=!1,m=0;for(let u=0,h=a??1/0;u<h;++u){let a=e.charCodeAt(t),u;if(a===95&&s!==`bail`){let i=e.charCodeAt(t-1),a=e.charCodeAt(t+1);if(!s){if(l)return{n:null,pos:t};c.numericSeparatorInEscapeSequence(t,n,r)}else if(Number.isNaN(a)||!f(a)||d.has(i)||d.has(a)){if(l)return{n:null,pos:t};c.unexpectedNumericSeparator(t,n,r)}++t;continue}if(u=a>=97?a-97+10:a>=65?a-65+10:qf(a)?a-48:1/0,u>=i){if(u<=9){if(l)return{n:null,pos:t};c.invalidDigit(t,n,r,i),u=0}else if(o)u=0,p=!0;else break}++t,m=m*i+u}return t===u||a!=null&&t-u!==a||p?{n:null,pos:t}:{n:m,pos:t}}function tp(e,t,n,r,i,a){let o=e.charCodeAt(t),s;if(o===123){if(++t,{code:s,pos:t}=$f(e,t,n,r,e.indexOf(`}`,t)-t,!0,i,a),++t,s!==null&&s>1114111){if(i)a.invalidCodePoint(t,n,r);else return{code:null,pos:t}}}else({code:s,pos:t}=$f(e,t,n,r,4,!1,i,a));return{code:s,pos:t}}function np(e,t,n){return new Hu(n,e-t,e)}var rp=new Set([103,109,115,105,121,117,100,118]),ip=class{constructor(e){let t=e.startIndex||0;this.type=e.type,this.value=e.value,this.start=t+e.start,this.end=t+e.end,this.loc=new Uu(e.startLoc,e.endLoc)}},ap,op=class extends Gf{isLookahead;tokens=[];constructor(e,t){super(),this.state=new Kf,this.state.init(e),this.input=t,this.length=t.length,this.comments=[],this.isLookahead=!1,(!ap||ap.length<(this.length+1)*2)&&(ap=new Uint32Array((this.length+1)*2)),this.locData=ap}setLoc(e){let t=this.offsetToSourcePos(e.index);this.locData[t*2]=e.line,this.locData[t*2+1]=e.column}getLoc(e){let t=this.offsetToSourcePos(e);return new Hu(this.locData[t*2],this.locData[t*2+1],e)}pushToken(e){this.tokens.length=this.state.tokensLength,this.tokens.push(e),++this.state.tokensLength}next(){this.checkKeywordEscapes(),this.optionFlags&512&&this.pushToken(new ip(this.state)),this.state.lastTokEndLoc=this.state.endLoc,this.state.lastTokStartLoc=this.state.startLoc,this.nextToken()}eat(e){return this.match(e)?(this.next(),!0):!1}match(e){return this.state.type===e}createLookaheadState(e){return{pos:e.pos,value:null,type:e.type,start:e.start,end:e.end,context:[this.curContext()],inType:e.inType,startLoc:e.startLoc,lastTokEndLoc:e.lastTokEndLoc,curLine:e.curLine,lineStart:e.lineStart,curPosition:e.curPosition}}lookahead(){let e=this.state;this.state=this.createLookaheadState(e),this.isLookahead=!0,this.nextToken(),this.isLookahead=!1;let t=this.state;return this.state=e,t}nextTokenStart(){return this.nextTokenStartSince(this.state.pos)}nextTokenStartSince(e){return jf.lastIndex=e,jf.test(this.input)?jf.lastIndex:e}lookaheadCharCode(){return this.lookaheadCharCodeSince(this.state.pos)}lookaheadCharCodeSince(e){return this.input.charCodeAt(this.nextTokenStartSince(e))}nextTokenInLineStart(){return this.nextTokenInLineStartSince(this.state.pos)}nextTokenInLineStartSince(e){return Mf.lastIndex=e,Mf.test(this.input)?Mf.lastIndex:e}lookaheadInLineCharCode(){return this.input.charCodeAt(this.nextTokenInLineStart())}codePointAtPos(e){let t=this.input.charCodeAt(e);if((t&64512)==55296&&++e<this.input.length){let n=this.input.charCodeAt(e);(n&64512)==56320&&(t=65536+((t&1023)<<10)+(n&1023))}return t}setStrict(e){this.state.strict=e,e&&(this.state.strictErrors.forEach(([e,t])=>this.raise(e,t)),this.state.strictErrors.clear())}curContext(){return this.state.context[this.state.context.length-1]}nextToken(){if(this.skipSpace(),this.state.start=this.state.pos,this.isLookahead||(this.state.startLoc=this.state.curPosition()),this.state.pos>=this.length){this.finishToken(135);return}this.getTokenFromCode(this.codePointAtPos(this.state.pos))}skipBlockComment(e){let t;this.isLookahead||(t=this.state.curPosition());let n=this.state.pos,r=this.input.indexOf(e,n+2);if(r===-1)throw this.raise(G.UnterminatedComment,this.state.curPosition());for(this.state.pos=r+e.length,Of.lastIndex=n+2;Of.test(this.input)&&Of.lastIndex<=r;)++this.state.curLine,this.state.lineStart=Of.lastIndex;if(this.isLookahead)return;let i={type:`CommentBlock`,value:this.input.slice(n+2,r),start:this.sourceToOffsetPos(n),end:this.sourceToOffsetPos(r+e.length),loc:new Uu(t,this.state.curPosition())};return this.optionFlags&512&&this.pushToken(i),i}skipLineComment(e){let t=this.state.pos,n;this.isLookahead||(n=this.state.curPosition());let r=this.input.charCodeAt(this.state.pos+=e);if(this.state.pos<this.length)for(;!kf(r)&&++this.state.pos<this.length;)r=this.input.charCodeAt(this.state.pos);if(this.isLookahead)return;let i=this.state.pos,a={type:`CommentLine`,value:this.input.slice(t+e,i),start:this.sourceToOffsetPos(t),end:this.sourceToOffsetPos(i),loc:new Uu(n,this.state.curPosition())};return this.optionFlags&512&&this.pushToken(a),a}skipSpace(){let e=this.state.pos,t=(this.optionFlags&8192)>0,n;loop:for(;this.state.pos<this.length;){let r=this.input.charCodeAt(this.state.pos);switch(r){case 32:case 160:case 9:++this.state.pos;break;case 13:this.input.charCodeAt(this.state.pos+1)===10&&++this.state.pos;case 10:case 8232:case 8233:++this.state.pos,++this.state.curLine,this.state.lineStart=this.state.pos;break;case 47:switch(this.input.charCodeAt(this.state.pos+1)){case 42:{let e=this.skipBlockComment(`*/`);e!==void 0&&(this.addComment(e),t&&(n??=[]).push(e));break}case 47:{let e=this.skipLineComment(2);e!==void 0&&(this.addComment(e),t&&(n??=[]).push(e));break}default:break loop}break;default:if(Nf(r))++this.state.pos;else if(r===45&&!this.inModule&&this.optionFlags&16384){let r=this.state.pos;if(this.input.charCodeAt(r+1)===45&&this.input.charCodeAt(r+2)===62&&(e===0||this.state.lineStart>e)){let e=this.skipLineComment(3);e!==void 0&&(this.addComment(e),t&&(n??=[]).push(e))}else break loop}else if(r===60&&!this.inModule&&this.optionFlags&16384){let e=this.state.pos;if(this.input.charCodeAt(e+1)===33&&this.input.charCodeAt(e+2)===45&&this.input.charCodeAt(e+3)===45){let e=this.skipLineComment(4);e!==void 0&&(this.addComment(e),t&&(n??=[]).push(e))}else break loop}else break loop}}if(n?.length){let t=this.state.pos,r={start:this.sourceToOffsetPos(e),end:this.sourceToOffsetPos(t),comments:n,leadingNode:null,trailingNode:null,containingNode:null};this.state.commentStack.push(r)}}finishToken(e,t){this.state.end=this.state.pos,this.state.endLoc=this.state.curPosition();let n=this.state.type;this.state.type=e,this.state.value=t,this.isLookahead||this.updateContext(n)}replaceToken(e){this.state.type=e,this.updateContext()}readToken_numberSign(){if(this.state.pos===0&&this.readToken_interpreter())return;let e=this.state.pos+1,t=this.codePointAtPos(e);if(t>=48&&t<=57)throw this.raise(G.UnexpectedDigitAfterHash,this.state.curPosition());ef(t)?(++this.state.pos,this.finishToken(134,this.readWord1(t))):t===92?(++this.state.pos,this.finishToken(134,this.readWord1())):this.finishOp(23,1)}readToken_dot(){let e=this.input.charCodeAt(this.state.pos+1);if(e>=48&&e<=57){this.readNumber(!0);return}e===46&&this.input.charCodeAt(this.state.pos+2)===46?(this.state.pos+=3,this.finishToken(17)):(++this.state.pos,this.finishToken(12))}readToken_slash(){this.input.charCodeAt(this.state.pos+1)===61?this.finishOp(27,2):this.finishOp(52,1)}readToken_interpreter(){if(this.state.pos!==0||this.length<2)return!1;let e=this.input.charCodeAt(this.state.pos+1);if(e!==33)return!1;let t=this.state.pos;for(this.state.pos+=1;!kf(e)&&++this.state.pos<this.length;)e=this.input.charCodeAt(this.state.pos);let n=this.input.slice(t+2,this.state.pos);return this.finishToken(24,n),!0}readToken_mult_modulo(e){let t=e===42?51:50,n=1,r=this.input.charCodeAt(this.state.pos+1);e===42&&r===42&&(n++,r=this.input.charCodeAt(this.state.pos+2),t=53),r===61&&!this.state.inType&&(n++,t=e===37?29:26),this.finishOp(t,n)}readToken_pipe_amp(e){let t=this.input.charCodeAt(this.state.pos+1);if(t===e){this.input.charCodeAt(this.state.pos+2)===61?this.finishOp(26,3):this.finishOp(e===124?37:38,2);return}if(e===124&&t===62){this.finishOp(35,2);return}if(t===61){this.finishOp(26,2);return}this.finishOp(e===124?39:41,1)}readToken_caret(){let e=this.input.charCodeAt(this.state.pos+1);e===61&&!this.state.inType?this.finishOp(28,2):e===94&&this.hasPlugin([`pipelineOperator`,{proposal:`hack`,topicToken:`^^`}])?(this.finishOp(33,2),this.input.codePointAt(this.state.pos)===94&&this.unexpected()):this.finishOp(40,1)}readToken_atSign(){this.input.charCodeAt(this.state.pos+1)===64&&this.hasPlugin([`pipelineOperator`,{proposal:`hack`,topicToken:`@@`}])?this.finishOp(34,2):this.finishOp(22,1)}readToken_plus_min(e){let t=this.input.charCodeAt(this.state.pos+1);if(t===e){this.finishOp(30,2);return}t===61?this.finishOp(26,2):this.finishOp(49,1)}readToken_lt(){let{pos:e}=this.state,t=this.input.charCodeAt(e+1);if(t===60){if(this.input.charCodeAt(e+2)===61){this.finishOp(26,3);return}this.finishOp(47,2);return}if(t===61){this.finishOp(45,2);return}this.finishOp(43,1)}readToken_gt(){let{pos:e}=this.state,t=this.input.charCodeAt(e+1);if(t===62){let t=this.input.charCodeAt(e+2)===62?3:2;if(this.input.charCodeAt(e+t)===61){this.finishOp(26,t+1);return}this.finishOp(48,t);return}if(t===61){this.finishOp(45,2);return}this.finishOp(44,1)}readToken_eq_excl(e){let t=this.input.charCodeAt(this.state.pos+1);if(t===61){this.finishOp(42,this.input.charCodeAt(this.state.pos+2)===61?3:2);return}if(e===61&&t===62){this.state.pos+=2,this.finishToken(15);return}this.finishOp(e===61?25:31,1)}readToken_question(){let e=this.input.charCodeAt(this.state.pos+1),t=this.input.charCodeAt(this.state.pos+2);e===63?t===61?this.finishOp(26,3):this.finishOp(36,2):e===46&&!(t>=48&&t<=57)?(this.state.pos+=2,this.finishToken(14)):(++this.state.pos,this.finishToken(13))}getTokenFromCode(e){switch(e){case 46:this.readToken_dot();return;case 40:++this.state.pos,this.finishToken(6);return;case 41:++this.state.pos,this.finishToken(7);return;case 59:++this.state.pos,this.finishToken(9);return;case 44:++this.state.pos,this.finishToken(8);return;case 91:++this.state.pos,this.finishToken(0);return;case 93:++this.state.pos,this.finishToken(1);return;case 123:++this.state.pos,this.finishToken(2);return;case 125:++this.state.pos,this.finishToken(4);return;case 58:this.hasPlugin(`functionBind`)&&this.input.charCodeAt(this.state.pos+1)===58?this.finishOp(11,2):(++this.state.pos,this.finishToken(10));return;case 63:this.readToken_question();return;case 96:this.readTemplateToken();return;case 48:{let e=this.input.charCodeAt(this.state.pos+1);if(e===120||e===88){this.readRadixNumber(16);return}if(e===111||e===79){this.readRadixNumber(8);return}if(e===98||e===66){this.readRadixNumber(2);return}}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:this.readNumber(!1);return;case 34:case 39:this.readString(e);return;case 47:this.readToken_slash();return;case 37:case 42:this.readToken_mult_modulo(e);return;case 124:case 38:this.readToken_pipe_amp(e);return;case 94:this.readToken_caret();return;case 43:case 45:this.readToken_plus_min(e);return;case 60:this.readToken_lt();return;case 62:this.readToken_gt();return;case 61:case 33:this.readToken_eq_excl(e);return;case 126:this.finishOp(32,1);return;case 64:this.readToken_atSign();return;case 35:this.readToken_numberSign();return;case 92:this.readWord();return;default:if(ef(e)){this.readWord(e);return}}throw this.raise(G.InvalidOrUnexpectedToken,this.state.curPosition(),{unexpected:String.fromCodePoint(e)})}finishOp(e,t){let n=this.input.slice(this.state.pos,this.state.pos+t);this.state.pos+=t,this.finishToken(e,n)}readRegexp(){let e=this.state.startLoc,t=this.state.start+1,n,r,{pos:i}=this.state;for(;;++i){if(i>=this.length)throw this.raise(G.UnterminatedRegExp,Wu(e,1));let t=this.input.charCodeAt(i);if(kf(t))throw this.raise(G.UnterminatedRegExp,Wu(e,1));if(n)n=!1;else{if(t===91)r=!0;else if(t===93&&r)r=!1;else if(t===47&&!r)break;n=t===92}}let a=this.input.slice(t,i);++i;let o=``,s=()=>Wu(e,i+2-t);for(;i<this.length;){let e=this.codePointAtPos(i),t=String.fromCharCode(e);if(rp.has(e))e===118?o.includes(`u`)&&this.raise(G.IncompatibleRegExpUVFlags,s()):e===117&&o.includes(`v`)&&this.raise(G.IncompatibleRegExpUVFlags,s()),o.includes(t)&&this.raise(G.DuplicateRegExpFlags,s());else if(tf(e)||e===92)this.raise(G.MalformedRegExpFlags,s());else break;++i,o+=t}this.state.pos=i,this.finishToken(133,{pattern:a,flags:o})}readInt(e,t,n=!1,r=!0){let{n:i,pos:a}=ep(this.input,this.state.pos,this.state.lineStart,this.state.curLine,e,t,n,r,this.errorHandlers_readInt,!1);return this.state.pos=a,i}readRadixNumber(e){let t=this.state.pos,n=this.state.curPosition(),r=!1;this.state.pos+=2;let i=this.readInt(e);if(i??this.raise(G.InvalidDigit,Wu(n,2),{radix:e}),this.input.charCodeAt(this.state.pos)===110&&(++this.state.pos,r=!0),ef(this.codePointAtPos(this.state.pos)))throw this.raise(G.NumberIdentifier,this.state.curPosition());if(r){let e=this.input.slice(t,this.state.pos).replace(/[_n]/g,``);this.finishToken(132,e);return}this.finishToken(131,i)}readNumber(e){let t=this.state.pos,n=this.state.curPosition(),r=!1,i=!1,a=!1;!e&&this.readInt(10)===null&&this.raise(G.InvalidNumber,this.state.curPosition());let o=this.state.pos-t>=2&&this.input.charCodeAt(t)===48;if(o){let e=this.input.slice(t,this.state.pos);if(this.recordStrictModeErrors(G.StrictOctalLiteral,n),!this.state.strict){let t=e.indexOf(`_`);t>0&&this.raise(G.ZeroDigitNumericSeparator,Wu(n,t))}a=o&&!/[89]/.test(e)}let s=this.input.charCodeAt(this.state.pos);s===46&&!a&&(++this.state.pos,this.readInt(10),r=!0,s=this.input.charCodeAt(this.state.pos)),(s===69||s===101)&&!a&&(s=this.input.charCodeAt(++this.state.pos),(s===43||s===45)&&++this.state.pos,this.readInt(10)===null&&this.raise(G.InvalidOrMissingExponent,n),r=!0,s=this.input.charCodeAt(this.state.pos));let c=this.input.slice(t,this.state.pos).replaceAll(`_`,``);if(s===110&&((r||o)&&this.raise(G.InvalidBigIntLiteral,n),++this.state.pos,i=!0),ef(this.codePointAtPos(this.state.pos)))throw this.raise(G.NumberIdentifier,this.state.curPosition());if(i){this.finishToken(132,c);return}let l=a?parseInt(c,8):parseFloat(c);this.finishToken(131,l)}readCodePoint(e){let{code:t,pos:n}=tp(this.input,this.state.pos,this.state.lineStart,this.state.curLine,e,this.errorHandlers_readCodePoint);return this.state.pos=n,t}readString(e){let{str:t,pos:n,curLine:r,lineStart:i}=Xf(e===34?`double`:`single`,this.input,this.state.pos+1,this.state.lineStart,this.state.curLine,this.errorHandlers_readStringContents_string);this.state.pos=n+1,this.state.lineStart=i,this.state.curLine=r,this.finishToken(130,t)}readTemplateContinuation(){this.match(4)||this.unexpected(null,4),this.state.pos--,this.readTemplateToken()}readTemplateToken(){let e=this.input[this.state.pos],{str:t,firstInvalidLoc:n,pos:r,curLine:i,lineStart:a}=Xf(`template`,this.input,this.state.pos+1,this.state.lineStart,this.state.curLine,this.errorHandlers_readStringContents_template);this.state.pos=r+1,this.state.lineStart=a,this.state.curLine=i,n&&(this.state.firstInvalidTemplateEscapePos=new Hu(n.curLine,n.pos-n.lineStart,this.sourceToOffsetPos(n.pos))),this.input.codePointAt(r)===96?this.finishToken(20,n?null:e+t+"`"):(this.state.pos++,this.finishToken(21,n?null:e+t+"${"))}recordStrictModeErrors(e,t){let n=t.index;this.state.strict&&!this.state.strictErrors.has(n)?this.raise(e,t):this.state.strictErrors.set(n,[e,t])}readWord1(e){this.state.containsEsc=!1;let t=``,n=this.state.pos,r=this.state.pos;for(e!==void 0&&(this.state.pos+=e<=65535?1:2);this.state.pos<this.length;){let e=this.codePointAtPos(this.state.pos);if(tf(e))this.state.pos+=e<=65535?1:2;else if(e===92){this.state.containsEsc=!0,t+=this.input.slice(r,this.state.pos);let e=this.state.curPosition(),i=this.state.pos===n?ef:tf;if(this.input.charCodeAt(++this.state.pos)!==117){this.raise(G.MissingUnicodeEscape,this.state.curPosition()),r=this.state.pos-1;continue}++this.state.pos;let a=this.readCodePoint(!0);a!==null&&(i(a)||this.raise(G.EscapedCharNotAnIdentifier,e),t+=String.fromCodePoint(a)),r=this.state.pos}else break}return t+this.input.slice(r,this.state.pos)}readWord(e){let t=this.readWord1(e),n=md.get(t);n===void 0?this.finishToken(128,t):this.finishToken(n,Hd(n))}checkKeywordEscapes(){let{type:e}=this.state;Id(e)&&this.state.containsEsc&&this.raise(G.InvalidEscapedReservedWord,this.state.startLoc,{reservedWord:Hd(e)})}raise(e,t,n={}){let r=t instanceof Hu?t:typeof t==`number`?this.getLoc(t):this.optionFlags&256?t.loc.start:this.getLoc(t.start),i=e(r,t instanceof Hu?r.index:typeof t==`number`?t:t.start,n);if(!(this.optionFlags&4096))throw i;return this.isLookahead||this.state.errors.push(i),i}raiseOverwrite(e,t,n={}){let r=t instanceof Hu?t:this.optionFlags&256?t.loc.start:this.getLoc(t.start),i=t instanceof Hu?r.index:t.start,a=this.state.errors;for(let t=a.length-1;t>=0;t--){let o=a[t];if(o.pos===i)return a[t]=e(r,i,n);if(o.pos<i)break}return this.raise(e,r,n)}updateContext(e){}unexpected(e,t){throw this.raise(G.UnexpectedToken,e??this.state.startLoc,{expected:t?Hd(t):null})}expectPlugin(e,t){if(this.hasPlugin(e))return!0;throw this.raise(G.MissingPlugin,t??this.state.startLoc,{missingPlugin:[e]})}expectOnePlugin(e){if(!e.some(e=>this.hasPlugin(e)))throw this.raise(G.MissingOneOfPlugins,this.state.startLoc,{missingPlugin:e})}errorBuilder(e){return(t,n,r)=>{this.raise(e,np(t,n,r))}}errorHandlers_readInt={invalidDigit:(e,t,n,r)=>{this.raise(G.InvalidDigit,np(e,t,n),{radix:r})},numericSeparatorInEscapeSequence:this.errorBuilder(G.NumericSeparatorInEscapeSequence),unexpectedNumericSeparator:this.errorBuilder(G.UnexpectedNumericSeparator)};errorHandlers_readCodePoint={...this.errorHandlers_readInt,invalidEscapeSequence:this.errorBuilder(G.InvalidEscapeSequence),invalidCodePoint:this.errorBuilder(G.InvalidCodePoint)};errorHandlers_readStringContents_string={...this.errorHandlers_readCodePoint,strictNumericEscape:(e,t,n)=>{this.recordStrictModeErrors(G.StrictNumericEscape,np(e,t,n))},unterminated:(e,t,n)=>{throw this.raise(G.UnterminatedString,np(e-1,t,n))}};errorHandlers_readStringContents_template={...this.errorHandlers_readCodePoint,strictNumericEscape:this.errorBuilder(G.StrictNumericEscape),unterminated:(e,t,n)=>{throw this.raise(G.UnterminatedTemplate,np(e,t,n))}}},sp=class{privateNames=new Set;loneAccessors=new Map;undefinedPrivateNames=new Map},cp=class{parser;stack=[];constructor(e){this.parser=e}current(){return this.stack[this.stack.length-1]}enter(){this.stack.push(new sp)}exit(){let e=this.stack.pop(),t=this.current();for(let[n,r]of Array.from(e.undefinedPrivateNames))t?t.undefinedPrivateNames.has(n)||t.undefinedPrivateNames.set(n,r):this.parser.raise(G.InvalidPrivateFieldResolution,r,{identifierName:n})}declarePrivateName(e,t,n){let{privateNames:r,loneAccessors:i,undefinedPrivateNames:a}=this.current(),o=r.has(e);if(t&3){let n=o&&i.get(e);if(n){let r=n&4,a=t&4;o=(n&3)==(t&3)||r!==a,o||i.delete(e)}else o||i.set(e,t)}o&&this.parser.raise(G.PrivateNameRedeclaration,n,{identifierName:e}),r.add(e),a.delete(e)}usePrivateName(e,t){let n;for(n of this.stack)if(n.privateNames.has(e))return;n?n.undefinedPrivateNames.set(e,t):this.parser.raise(G.InvalidPrivateFieldResolution,t,{identifierName:e})}},lp=class{constructor(e=0){this.type=e}canBeArrowParameterDeclaration(){return this.type===2||this.type===1}isCertainlyParameterDeclaration(){return this.type===3}},up=class extends lp{declarationErrors=new Map;constructor(e){super(e)}recordDeclarationError(e,t){this.declarationErrors.set(t,e)}clearDeclarationError(e){this.declarationErrors.delete(e)}iterateErrors(e){this.declarationErrors.forEach(e)}},dp=class{parser;stack=[new lp];constructor(e){this.parser=e}enter(e){this.stack.push(e)}exit(){this.stack.pop()}recordParameterInitializerError(e,t){let{stack:n}=this,r=n.length-1,i=n[r];for(;!i.isCertainlyParameterDeclaration();){if(i.canBeArrowParameterDeclaration())i.recordDeclarationError(e,t);else return;i=n[--r]}this.parser.raise(e,t)}recordArrowParameterBindingError(e,t){let{stack:n}=this,r=n[n.length-1],i=t.start;if(r.isCertainlyParameterDeclaration())this.parser.raise(e,i);else if(r.canBeArrowParameterDeclaration())r.recordDeclarationError(e,i);else return}recordAsyncArrowParametersError(e){let{stack:t}=this,n=t.length-1,r=t[n];for(;r.canBeArrowParameterDeclaration();)r.type===2&&r.recordDeclarationError(G.AwaitBindingIdentifier,e),r=t[--n]}validateAsPattern(){let{stack:e}=this,t=e[e.length-1];t.canBeArrowParameterDeclaration()&&t.iterateErrors((t,n)=>{this.parser.raise(t,n);let r=e.length-2,i=e[r];for(;i.canBeArrowParameterDeclaration();)i.clearDeclarationError(n),i=e[--r]})}};function fp(){return new lp(3)}function pp(){return new up(1)}function mp(){return new up(2)}function hp(){return new lp}var gp=class{stacks=[];enter(e){this.stacks.push(e)}exit(){this.stacks.pop()}currentFlags(){return this.stacks[this.stacks.length-1]}get hasAwait(){return(this.currentFlags()&2)>0}get hasYield(){return(this.currentFlags()&1)>0}get hasReturn(){return(this.currentFlags()&4)>0}get hasIn(){return(this.currentFlags()&8)>0}get inFSharpPipelineDirectBody(){return!(this.currentFlags()&16)}};function _p(e,t){return(e?2:0)|!!t}var vp=class extends op{addExtra(e,t,n,r=!0){if(!e)return;let{extra:i}=e;i??(i={},e.extra=i),r?i[t]=n:Object.defineProperty(i,t,{enumerable:r,value:n})}isContextual(e){return this.state.type===e&&!this.state.containsEsc}isUnparsedContextual(e,t){if(this.input.startsWith(t,e)){let n=this.input.charCodeAt(e+t.length);return!(tf(n)||(n&64512)==55296)}return!1}isLookaheadContextual(e){let t=this.nextTokenStart();return this.isUnparsedContextual(t,e)}eatContextual(e){return this.isContextual(e)?(this.next(),!0):!1}expectContextual(e,t){if(!this.eatContextual(e)){if(t!=null)throw this.raise(t,this.state.startLoc);this.unexpected(null,e)}}canInsertSemicolon(){return this.match(135)||this.match(4)||this.hasPrecedingLineBreak()}hasPrecedingLineBreak(){return Af(this.input,this.offsetToSourcePos(this.state.lastTokEndLoc.index),this.state.start)}hasFollowingLineBreak(){return Af(this.input,this.state.end,this.nextTokenStart())}isLineTerminator(){return this.eat(9)||this.canInsertSemicolon()}semicolon(e=!0){(e?this.isLineTerminator():this.eat(9))||this.raise(G.MissingSemicolon,this.state.lastTokEndLoc)}expect(e,t){this.eat(e)||this.unexpected(t,e)}tryParse(e,t=this.state.clone()){let n={node:null};try{let r=e((e=null)=>{throw n.node=e,n});if(this.state.errors.length>t.errors.length){let e=this.state;return this.state=t,this.state.tokensLength=e.tokensLength,{node:r,error:e.errors[t.errors.length],thrown:!1,aborted:!1,failState:e}}return{node:r,error:null,thrown:!1,aborted:!1,failState:null}}catch(e){let r=this.state;if(this.state=t,e instanceof SyntaxError)return{node:null,error:e,thrown:!0,aborted:!1,failState:r};if(e===n)return{node:n.node,error:null,thrown:!1,aborted:!0,failState:r};throw e}}checkExpressionErrors(e,t){if(!e)return!1;let{shorthandAssignLoc:n,doubleProtoLoc:r,privateKeyLoc:i,optionalParametersLoc:a,voidPatternLoc:o}=e,s=!!n||!!r||!!a||!!i||!!o;if(!t)return s;n!=null&&this.raise(G.InvalidCoverInitializedName,n),r!=null&&this.raise(G.DuplicateProto,r),i!=null&&this.raise(G.UnexpectedPrivateField,i),a!=null&&this.unexpected(a),o!=null&&this.raise(G.InvalidCoverDiscardElement,o)}isLiteralPropertyName(){return Ad(this.state.type)}isPrivateName(e){return e.type===`PrivateName`}getPrivateNameSV(e){return e.id.name}hasPropertyAsPrivateName(e){return(e.type===`MemberExpression`||e.type===`OptionalMemberExpression`)&&this.isPrivateName(e.property)}isObjectProperty(e){return e.type===`ObjectProperty`}isObjectMethod(e){return e.type===`ObjectMethod`}initializeScopes(e=this.options.sourceType===`module`){let t=this.state.labels;this.state.labels=[];let n=this.exportedIdentifiers;this.exportedIdentifiers=new Set;let r=this.inModule;this.inModule=e;let i=this.scope,a=this.getScopeHandler();this.scope=new a(this,e);let o=this.prodParam;this.prodParam=new gp;let s=this.classScope;this.classScope=new cp(this);let c=this.expressionScope;return this.expressionScope=new dp(this),()=>{this.state.labels=t,this.exportedIdentifiers=n,this.inModule=r,this.scope=i,this.prodParam=o,this.classScope=s,this.expressionScope=c}}enterInitialScopes(){let e=0;(this.inModule||this.optionFlags&1)&&(e|=2),this.optionFlags&32&&(e|=1);let t=!this.inModule&&this.options.sourceType===`commonjs`;(t||this.optionFlags&2)&&(e|=4),this.prodParam.enter(e);let n=t?514:1;this.optionFlags&4&&(n|=512),this.optionFlags&16&&(n|=48),this.scope.enter(n)}checkDestructuringPrivate(e){let{privateKeyLoc:t}=e;t!==null&&this.expectPlugin(`destructuringPrivate`,t)}},yp=class{shorthandAssignLoc=null;doubleProtoLoc=null;privateKeyLoc=null;optionalParametersLoc=null;voidPatternLoc=null},bp=class{constructor(e,t,n,r){this.start=n,this.end=0,r!==void 0&&(this.loc=new Uu(r)),e&128&&(this.range=[n,0]),r!==void 0&&t&&(this.loc.filename=t)}type=``},xp=bp.prototype,Sp=class extends vp{createPosition(e){return e}startNode(){let{startLoc:e}=this.state;return this.setLoc(e),this.startNodeAt(e)}startNodeAt(e){let{optionFlags:t,filename:n}=this;return t&256?new bp(t,n,e.index,this.createPosition(e)):new bp(t,n,e.index)}startNodeAtNode(e){let{optionFlags:t,filename:n}=this;return t&256?new bp(t,n,e.start,e.loc.start):new bp(t,n,e.start)}finishNode(e,t){return this.finishNodeAt(e,t,this.state.lastTokEndLoc)}finishNodeAt(e,t,n){e.type=t,e.end=n.index;let{optionFlags:r}=this;return r&256&&(e.loc.end=this.createPosition(n)),r&128&&(e.range[1]=n.index),r&8192&&this.processComment(e),e}finishNodeAtNode(e,t,n){e.type=t,e.end=n.end;let{optionFlags:r}=this;return r&256&&(e.loc.end=n.loc.end),r&128&&(e.range[1]=e.end),r&8192&&this.processComment(e),e}resetStartLocation(e,t){e.start=t.index;let{optionFlags:n}=this;n&256&&(e.loc.start=this.createPosition(t)),n&128&&(e.range[0]=t.index)}resetEndLocation(e,t=this.state.lastTokEndLoc){e.end=t.index;let{optionFlags:n}=this;n&256&&(e.loc.end=this.createPosition(t)),n&128&&(e.range[1]=t.index)}resetStartLocationFromNode(e,t){e.start=t.start;let{optionFlags:n}=this;n&256&&(e.loc.start=t.loc.start),n&128&&(e.range[0]=t.start)}resetEndLocationFromNode(e,t){e.end=t.end;let{optionFlags:n}=this;n&256&&(e.loc.end=t.loc.end),n&128&&(e.range[1]=t.end)}castNodeTo(e,t){return e.type=t,e}cloneIdentifier(e){let{type:t,start:n,end:r,loc:i,range:a,name:o}=e,s=Object.create(xp);return s.type=t,s.start=n,s.end=r,s.loc=i,s.range=a,s.name=o,e.extra&&(s.extra=e.extra),s}cloneStringLiteral(e){let{type:t,start:n,end:r,loc:i,range:a,extra:o}=e,s=Object.create(xp);return s.type=t,s.start=n,s.end=r,s.loc=i,s.range=a,s.extra=o,s.value=e.value,s}},Cp=e=>e.type===`ParenthesizedExpression`?Cp(e.expression):e,wp=class extends Sp{toAssignable(e,t=!1){let n;switch((e.type===`ParenthesizedExpression`||e.extra?.parenthesized)&&(n=Cp(e),t?n.type===`Identifier`?this.expressionScope.recordArrowParameterBindingError(G.InvalidParenthesizedAssignment,e):n.type!==`CallExpression`&&n.type!==`MemberExpression`&&!this.isOptionalMemberExpression(n)&&this.raise(G.InvalidParenthesizedAssignment,e):this.raise(G.InvalidParenthesizedAssignment,e)),e.type){case`Identifier`:case`ObjectPattern`:case`ArrayPattern`:case`AssignmentPattern`:case`RestElement`:case`VoidPattern`:break;case`ObjectExpression`:this.castNodeTo(e,`ObjectPattern`);for(let n=0,r=e.properties.length,i=r-1;n<r;n++){let r=e.properties[n],a=n===i;this.toAssignableObjectExpressionProp(r,a,t),a&&r.type===`RestElement`&&e.extra?.trailingCommaLoc&&this.raise(G.RestTrailingComma,e.extra.trailingCommaLoc)}break;case`ObjectProperty`:{let{key:n,value:r}=e;this.isPrivateName(n)&&this.classScope.usePrivateName(this.getPrivateNameSV(n),n.start),this.toAssignable(r,t);break}case`SpreadElement`:throw Error(`Internal @babel/parser error (this is a bug, please report it). SpreadElement should be converted by .toAssignable's caller.`);case`ArrayExpression`:this.castNodeTo(e,`ArrayPattern`),this.toAssignableList(e.elements,e.extra?.trailingCommaLoc,t);break;case`AssignmentExpression`:e.operator!==`=`&&this.raise(G.MissingEqInAssignment,this.optionFlags&256?e.left.loc.end:e.left),this.castNodeTo(e,`AssignmentPattern`),delete e.operator,e.left.type===`VoidPattern`&&this.raise(G.VoidPatternInitializer,e.left),this.toAssignable(e.left,t);break;case`ParenthesizedExpression`:this.toAssignable(n,t)}}toAssignableObjectExpressionProp(e,t,n){if(e.type===`ObjectMethod`)this.raise(e.kind===`get`||e.kind===`set`?G.PatternHasAccessor:G.PatternHasMethod,e.key);else if(e.type===`SpreadElement`){this.castNodeTo(e,`RestElement`);let r=e.argument;this.checkToRestConversion(r,!1),this.toAssignable(r,n),t||this.raise(G.RestTrailingComma,e)}else this.toAssignable(e,n)}toAssignableList(e,t,n){let r=e.length-1;for(let i=0;i<=r;i++){let a=e[i];a&&(this.toAssignableListItem(e,i,n),a.type===`RestElement`&&(i<r?this.raise(G.RestTrailingComma,a):t&&this.raise(G.RestTrailingComma,t)))}}toAssignableListItem(e,t,n){let r=e[t];if(r.type===`SpreadElement`){this.castNodeTo(r,`RestElement`);let e=r.argument;this.checkToRestConversion(e,!0),this.toAssignable(e,n)}else this.toAssignable(r,n)}isAssignable(e,t){switch(e.type){case`Identifier`:case`ObjectPattern`:case`ArrayPattern`:case`AssignmentPattern`:case`RestElement`:case`VoidPattern`:return!0;case`ObjectExpression`:{let t=e.properties.length-1;return e.properties.every((e,n)=>e.type!==`ObjectMethod`&&(n===t||e.type!==`SpreadElement`)&&this.isAssignable(e))}case`ObjectProperty`:return this.isAssignable(e.value);case`SpreadElement`:return this.isAssignable(e.argument);case`ArrayExpression`:return e.elements.every(e=>e===null||this.isAssignable(e));case`AssignmentExpression`:return e.operator===`=`;case`ParenthesizedExpression`:return this.isAssignable(e.expression);case`MemberExpression`:case`OptionalMemberExpression`:return!t;default:return!1}}toReferencedList(e,t){return e}parseSpread(e){let t=this.startNode();return this.next(),t.argument=this.parseMaybeAssignAllowIn(e),this.finishNode(t,`SpreadElement`)}parseRestBinding(){let e=this.startNode();this.next();let t=this.parseBindingAtom();return t.type===`VoidPattern`&&this.raise(G.UnexpectedVoidPattern,t),e.argument=t,this.finishNode(e,`RestElement`)}parseBindingAtom(){switch(this.state.type){case 0:{let e=this.startNode();return this.next(),e.elements=this.parseBindingList(1,93,1),this.finishNode(e,`ArrayPattern`)}case 2:return this.parseObjectLike(4,!0);case 84:return this.parseVoidPattern(null)}return this.parseIdentifier()}parseBindingList(e,t,n){let r=n&1,i=[],a=!0;for(;!this.eat(e);)if(a?a=!1:this.expect(8),r&&this.match(8))i.push(null);else if(this.eat(e))break;else if(this.match(17)){let r=this.parseRestBinding();if(n&2&&(r=this.parseFunctionParamType(r)),i.push(r),!this.checkCommaAfterRest(t)){this.expect(e);break}}else{let e=[];if(n&2)for(this.match(22)&&this.hasPlugin(`decorators`)&&this.raise(G.UnsupportedParameterDecorator,this.state.startLoc);this.match(22);)e.push(this.parseDecorator());i.push(this.parseBindingElement(n,e))}return i}parseBindingRestProperty(e){return this.next(),this.hasPlugin(`discardBinding`)&&this.match(84)?(e.argument=this.parseVoidPattern(null),this.raise(G.UnexpectedVoidPattern,e.argument)):e.argument=this.parseIdentifier(),this.checkCommaAfterRest(125),this.finishNode(e,`RestElement`)}parseBindingProperty(){let{type:e,startLoc:t}=this.state;if(e===17)return this.parseBindingRestProperty(this.startNode());let n=this.startNode();return e===134?(this.expectPlugin(`destructuringPrivate`,t),this.classScope.usePrivateName(this.state.value,t),n.key=this.parsePrivateName()):this.parsePropertyName(n),n.method=!1,this.parseObjPropValue(n,t,!1,!1,!0,!1)}parseBindingElement(e,t){let{startLoc:n}=this.state,r=this.parseMaybeDefault();return e&2&&this.parseFunctionParamType(r),t.length&&(r.decorators=t,this.resetStartLocationFromNode(r,t[0])),this.parseMaybeDefault(n,r)}parseFunctionParamType(e){return e}parseMaybeDefault(e,t){if(e??=this.state.startLoc,t??=this.parseBindingAtom(),!this.eat(25))return t;let n=this.startNodeAt(e);return t.type===`VoidPattern`&&this.raise(G.VoidPatternInitializer,t),n.left=t,n.right=this.parseMaybeAssignAllowIn(),this.finishNode(n,`AssignmentPattern`)}isValidLVal(e,t,n,r){switch(e){case`AssignmentPattern`:return`left`;case`RestElement`:return`argument`;case`ObjectProperty`:return`value`;case`ParenthesizedExpression`:return`expression`;case`ArrayPattern`:return`elements`;case`ObjectPattern`:return`properties`;case`VoidPattern`:return!0;case`CallExpression`:if(!t&&!this.state.strict&&this.optionFlags&16384)return!0}return!1}isOptionalMemberExpression(e){return e.type===`OptionalMemberExpression`}checkLVal(e,t,n=64,r=!1,i=!1,a=!1,o=!1){let s=e.type;if(this.isObjectMethod(e))return;let c=this.isOptionalMemberExpression(e);if(c||s===`MemberExpression`){c&&(this.expectPlugin(`optionalChainingAssign`,e.start),t.type!==`AssignmentExpression`&&this.raise(G.InvalidLhsOptionalChaining,e,{ancestor:t})),n!==64&&this.raise(G.InvalidPropertyBindingPattern,e);return}if(s===`Identifier`){this.checkIdentifier(e,n,i);let{name:t}=e;r&&(r.has(t)?this.raise(G.ParamDupe,e):r.add(t));return}s===`VoidPattern`&&t.type===`CatchClause`&&this.raise(G.VoidPatternCatchClauseParam,e);let l=Cp(e);o||=l.type===`CallExpression`&&(l.callee.type===`Import`||l.callee.type===`Super`);let u=this.isValidLVal(s,o,!(a||e.extra?.parenthesized)&&t.type===`AssignmentExpression`,n);if(u===!0)return;if(u===!1){let r=n===64?G.InvalidLhs:G.InvalidLhsBinding;this.raise(r,e,{ancestor:t});return}let d,f;typeof u==`string`?(d=u,f=s===`ParenthesizedExpression`):[d,f]=u;let p=s===`ArrayPattern`||s===`ObjectPattern`?{type:s}:t,m=e[d];if(Array.isArray(m))for(let e of m)e&&this.checkLVal(e,p,n,r,i,f,!0);else m&&this.checkLVal(m,p,n,r,i,f,o)}checkIdentifier(e,t,n=!1){this.state.strict&&(n?uf(e.name,this.inModule):lf(e.name))&&(t===64?this.raise(G.StrictEvalArguments,e,{referenceName:e.name}):this.raise(G.StrictEvalArgumentsBinding,e,{bindingName:e.name})),t&8192&&e.name===`let`&&this.raise(G.LetInLexicalBinding,e),t&64||this.declareNameFromIdentifier(e,t)}declareNameFromIdentifier(e,t){this.scope.declareName(e.name,t,e.start)}checkToRestConversion(e,t){switch(e.type){case`ParenthesizedExpression`:this.checkToRestConversion(e.expression,t);break;case`Identifier`:case`MemberExpression`:break;case`ArrayExpression`:case`ObjectExpression`:if(t)break;default:this.raise(G.InvalidRestAssignmentPattern,e)}}checkCommaAfterRest(e){return this.match(8)?(this.raise(this.lookaheadCharCode()===e?G.RestTrailingComma:G.ElementAfterRest,this.state.startLoc),!0):!1}},Tp=class extends wp{checkProto(e,t,n){if(e.type===`SpreadElement`||this.isObjectMethod(e)||e.computed||e.shorthand)return t;let r=e.key;return(r.type===`Identifier`?r.name:r.value)===`__proto__`?(t&&(n?n.doubleProtoLoc===null&&(n.doubleProtoLoc=this.getLoc(r.start)):this.raise(G.DuplicateProto,r)),!0):t}shouldExitDescending(e){return e.type===`ArrowFunctionExpression`&&!e.extra?.parenthesized}getExpression(){if(this.enterInitialScopes(),this.nextToken(),this.match(135))throw this.raise(G.ParseExpressionEmptyInput,this.state.startLoc);let e=this.parseExpression();if(!this.match(135))throw this.raise(G.ParseExpressionExpectsEOF,this.state.startLoc,{unexpected:this.input.codePointAt(this.state.start)});return this.finalizeRemainingComments(),e.comments=this.comments,e.errors=this.state.errors,this.optionFlags&512&&(e.tokens=Ap(this.tokens)),e}parseExpression(e,t){return e?this.disallowInAnd(()=>this.parseExpressionBase(t)):this.allowInAnd(()=>this.parseExpressionBase(t))}parseExpressionBase(e){let t=this.state.startLoc,n=this.parseMaybeAssign(e);if(this.match(8)){let r=this.startNodeAt(t);for(r.expressions=[n];this.eat(8);)r.expressions.push(this.parseMaybeAssign(e));return this.toReferencedList(r.expressions),this.finishNode(r,`SequenceExpression`)}return n}parseMaybeAssignDisallowIn(e){return this.disallowInAnd(()=>this.parseMaybeAssign(e))}parseMaybeAssignAllowIn(e,t){return this.allowInAnd(()=>this.parseMaybeAssign(e,t))}setOptionalParametersError(e){e.optionalParametersLoc=this.state.startLoc}parseMaybeAssign(e,t){let n=this.state.startLoc,r=this.isContextual(104);if(r&&this.prodParam.hasYield){this.next();let e=this.parseYield(n);return t&&(e=this.parseParenItem(e,n)),e}let i;e?i=!1:(e=new yp,i=!0),this.state.canStartArrow=!0;let a=this.parseMaybeConditional(e);if(t&&(a=this.parseParenItem(a,n)),Nd(this.state.type)){let t=this.startNodeAt(n),r=this.state.value;if(t.operator=r,this.match(25)){this.toAssignable(a,!0),t.left=a;let r=n.index;e.doubleProtoLoc!=null&&e.doubleProtoLoc.index>=r&&(e.doubleProtoLoc=null),e.shorthandAssignLoc!=null&&e.shorthandAssignLoc.index>=r&&(e.shorthandAssignLoc=null),e.privateKeyLoc!=null&&e.privateKeyLoc.index>=r&&(this.checkDestructuringPrivate(e),e.privateKeyLoc=null),e.voidPatternLoc!=null&&e.voidPatternLoc.index>=r&&(e.voidPatternLoc=null)}else t.left=a;return this.next(),t.right=this.parseMaybeAssign(),this.checkLVal(a,this.finishNode(t,`AssignmentExpression`),void 0,void 0,void 0,void 0,r===`||=`||r===`&&=`||r===`??=`),t}if(i&&this.checkExpressionErrors(e,!0),r){let{type:e}=this.state;if((this.hasPlugin(`v8intrinsic`)?Md(e):Md(e)&&!this.match(50))&&!this.isAmbiguousPrefixOrIdentifier())return this.raiseOverwrite(G.YieldNotInGeneratorFunction,n),this.parseYield(n)}return a}parseMaybeConditional(e){let t=this.state.startLoc,n=this.parseExprOps(e);return this.shouldExitDescending(n)?n:this.parseConditional(n,t,e)}parseConditional(e,t,n){if(this.eat(13)){let n=this.startNodeAt(t);return n.test=e,n.consequent=this.parseMaybeAssignAllowIn(),this.expect(10),n.alternate=this.parseMaybeAssign(),this.finishNode(n,`ConditionalExpression`)}return e}parseMaybeUnaryOrPrivate(e){return this.match(134)?this.parsePrivateName():this.parseMaybeUnary(e)}parseExprOps(e){let t=this.state.startLoc,n=this.parseMaybeUnaryOrPrivate(e);return this.shouldExitDescending(n)?n:(this.state.canStartArrow=!1,this.parseExprOp(n,t,-1))}parseExprOp(e,t,n){if(this.isPrivateName(e)){let r=this.getPrivateNameSV(e);(n>=Ud(54)||!this.prodParam.hasIn||!this.match(54))&&this.raise(G.PrivateInExpectedIn,t,{identifierName:r}),this.classScope.usePrivateName(r,t)}let r=this.state.type;if(Ld(r)&&(this.prodParam.hasIn||!this.match(54))){let i=Ud(r);if(i>n){if(r===35&&(this.expectPlugin(`pipelineOperator`),this.prodParam.inFSharpPipelineDirectBody))return e;let a=this.startNodeAt(t);a.left=e,a.operator=this.state.value;let o=r===37||r===38,s=r===36;s&&(i=Ud(38)),this.next(),a.right=this.parseExprOpRightExpr(r,i);let c=this.finishNode(a,o||s?`LogicalExpression`:`BinaryExpression`),l=this.state.type;if(s&&(l===37||l===38)||o&&l===36)throw this.raise(G.MixingCoalesceWithLogical,this.state.startLoc);return this.parseExprOp(c,t,n)}}return e}parseExprOpRightExpr(e,t){switch(e){case 35:switch(this.getPluginOption(`pipelineOperator`,`proposal`)){case`hack`:return this.withTopicBindingContext(()=>this.parseHackPipeBody());case`fsharp`:return this.parseFSharpPipelineBody(t)}default:return this.parseExprOpBaseRightExpr(e,t)}}parseExprOpBaseRightExpr(e,t){let n=this.state.startLoc;return this.parseExprOp(this.parseMaybeUnaryOrPrivate(),n,Wd(e)?t-1:t)}parseHackPipeBody(){let{startLoc:e}=this.state,t=this.parseMaybeAssign();return Qu.has(t.type)&&!t.extra?.parenthesized&&this.raise(G.PipeUnparenthesizedBody,e,{type:t.type}),this.topicReferenceWasUsedInCurrentContext()||this.raise(G.PipeTopicUnused,e),t}checkExponentialAfterUnary(e){this.match(53)&&this.raise(G.UnexpectedTokenUnaryExponentiation,e.argument)}parseMaybeUnary(e,t){let n=this.state.startLoc,r=this.isContextual(92);if(r&&this.recordAwaitIfAllowed()){this.next();let e=this.parseAwait(n);return t||this.checkExponentialAfterUnary(e),e}let i=this.match(30),a=this.startNode();if(zd(this.state.type)){a.operator=this.state.value,a.prefix=!0,this.state.canStartArrow=!1,this.match(68)&&this.expectPlugin(`throwExpressions`);let n=this.match(85);if(this.next(),a.argument=this.parseMaybeUnary(null,!0),this.checkExpressionErrors(e,!0),this.state.strict&&n){let e=a.argument;e.type===`Identifier`?this.raise(G.StrictDelete,a):this.hasPropertyAsPrivateName(e)&&this.raise(G.DeletePrivateField,a)}if(!i)return t||this.checkExponentialAfterUnary(a),this.finishNode(a,`UnaryExpression`)}let o=this.parseUpdate(a,i,e);if(r){let{type:e}=this.state;if((this.hasPlugin(`v8intrinsic`)?Md(e):Md(e)&&!this.match(50))&&!this.isAmbiguousPrefixOrIdentifier())return this.raiseOverwrite(G.AwaitNotInAsyncContext,n),this.parseAwait(n)}return o}parseUpdate(e,t,n){if(t){let t=this.finishNode(e,`UpdateExpression`);return this.checkLVal(t.argument,t),t}let r=this.state.startLoc,i=this.parseExprSubscripts(n);if(this.checkExpressionErrors(n,!1))return i;for(;Rd(this.state.type)&&!this.canInsertSemicolon();){let e=this.startNodeAt(r);e.operator=this.state.value,e.prefix=!1,e.argument=i,this.next(),this.checkLVal(i,i=this.finishNode(e,`UpdateExpression`))}return i}parseExprSubscripts(e){let t=this.state.startLoc;this.setLoc(t);let n=this.parseExprAtom(e);return this.shouldExitDescending(n)?n:this.parseSubscripts(n,t)}parseSubscripts(e,t,n){let r={optionalChainMember:!1,maybeAsyncArrow:this.atPossibleAsyncArrow(e),stop:!1};do e=this.parseSubscript(e,t,n,r),r.maybeAsyncArrow=!1;while(!r.stop);return e}parseSubscript(e,t,n,r){let{type:i}=this.state;if(!n&&i===11)return this.parseBind(e,t,r);if(Gd(i))return this.parseTaggedTemplateExpression(e,t,r);let a=!1;if(i===14){if(n&&(this.raise(G.OptionalChainingNoNew,this.state.startLoc),this.lookaheadCharCode()===40))return this.stopParseSubscript(e,r);r.optionalChainMember=a=!0,this.next()}if(!n&&this.match(6))return this.parseCoverCallAndAsyncArrowHead(e,t,r,a);{let n=this.eat(0);return n||a||this.eat(12)?this.parseMember(e,t,r,n,a):this.stopParseSubscript(e,r)}}stopParseSubscript(e,t){return t.stop=!0,e}parseMember(e,t,n,r,i){let a=this.startNodeAt(t);return a.object=e,a.computed=r,r?(a.property=this.parseExpression(),this.expect(1)):this.match(134)?(e.type===`Super`&&this.raise(G.SuperPrivateField,t),this.classScope.usePrivateName(this.state.value,this.state.startLoc),a.property=this.parsePrivateName()):a.property=this.parseIdentifier(!0),n.optionalChainMember?(a.optional=i,this.finishNode(a,`OptionalMemberExpression`)):this.finishNode(a,`MemberExpression`)}parseBind(e,t,n){let r=this.startNodeAt(t);r.object=e,this.next();let i=this.parseNoCallExpr(e=>{throw this.raise(G.UnsupportedBindRHS,e)});if(i.type===`Super`||i.type===`Import`)throw this.raise(G.UnsupportedBindRHS,i);return r.callee=i,n.stop=!0,this.parseSubscripts(this.finishNode(r,`BindExpression`),t,!1)}parseCoverCallAndAsyncArrowHead(e,t,n,r){let i=null;this.next();let a=this.startNodeAt(t);a.callee=e;let{maybeAsyncArrow:o,optionalChainMember:s}=n;o&&(this.expressionScope.enter(mp()),i=new yp),s&&(a.optional=r),a.arguments=r?this.parseCallExpressionArguments():this.parseCallExpressionArguments(e.type!==`Super`,a,i);let c=this.finishCallExpression(a,s);return o&&this.shouldParseAsyncArrow()&&!r?(n.stop=!0,this.checkDestructuringPrivate(i),this.expressionScope.validateAsPattern(),this.expressionScope.exit(),c=this.parseAsyncArrowFromCallExpression(this.startNodeAt(t),c)):(o&&(this.checkExpressionErrors(i,!0),this.expressionScope.exit()),this.toReferencedList(a.arguments)),c}parseTaggedTemplateExpression(e,t,n){let r=this.startNodeAt(t);return r.tag=e,r.quasi=this.parseTemplate(!0),n.optionalChainMember&&this.raise(G.OptionalChainingNoTemplate,t),this.finishNode(r,`TaggedTemplateExpression`)}atPossibleAsyncArrow(e){return e.type===`Identifier`&&e.name===`async`&&this.state.lastTokEndLoc.index===e.end&&!this.canInsertSemicolon()&&e.end-e.start===5&&this.state.canStartArrow}finishCallExpression(e,t){if(e.callee.type===`Import`){if(e.arguments.length===0||e.arguments.length>2)this.raise(G.ImportCallArity,e);else for(let t of e.arguments)t.type===`SpreadElement`&&this.raise(G.ImportCallSpreadArgument,t)}return this.finishNode(e,t?`OptionalCallExpression`:`CallExpression`)}parseCallExpressionArguments(e,t,n){let r=[],i=!0;for(;!this.eat(7);){if(i)i=!1;else if(this.expect(8),this.match(7)){t&&this.addTrailingCommaExtraToNode(t),this.next();break}r.push(this.parseExprListItem(7,!1,n,e))}return r}shouldParseAsyncArrow(){return this.match(15)&&!this.canInsertSemicolon()}parseAsyncArrowFromCallExpression(e,t){return this.resetPreviousNodeTrailingComments(t),this.expect(15),this.parseArrowExpression(e,t.arguments,!0,t.extra?.trailingCommaLoc),t.innerComments&&Uf(e,t.innerComments),t.callee.trailingComments&&Uf(e,t.callee.trailingComments),e}parseNoCallExpr(e){let t=this.state.startLoc,n=this.match(79),r=this.parseExprAtom();return n&&r.type===`ImportExpression`&&e(r),this.parseSubscripts(r,t,!0)}parseExprAtom(e){let t,n=null,{type:r}=this.state;switch(r){case 75:return this.parseSuper();case 79:return t=this.startNode(),this.next(),this.match(12)?this.parseImportMetaPropertyOrPhaseCall(t):this.match(6)?this.optionFlags&1024?this.parseImportCall(t):this.finishNode(t,`Import`):(this.raise(G.UnsupportedImport,this.state.lastTokStartLoc),this.finishNode(t,`Import`));case 74:return t=this.startNode(),this.next(),this.finishNode(t,`ThisExpression`);case 86:return this.parseDo(this.startNode(),!1);case 52:case 27:return this.readRegexp(),this.parseRegExpLiteral(this.state.value);case 131:return this.parseNumericLiteral(this.state.value);case 132:return this.parseBigIntLiteral(this.state.value);case 130:return this.parseStringLiteral(this.state.value);case 80:return this.parseNullLiteral();case 81:return this.parseBooleanLiteral(!0);case 82:return this.parseBooleanLiteral(!1);case 6:return this.parseParenAndDistinguishExpression(this.state.canStartArrow);case 0:return this.parseArrayLike(1,e);case 2:return this.parseObjectLike(4,!1,e);case 64:return this.parseFunctionOrFunctionSent();case 22:n=this.parseDecorators();case 76:return this.parseClass(this.maybeTakeDecorators(n,this.startNode()),!1);case 73:return this.parseNewOrNewTarget();case 21:case 20:return this.parseTemplate(!1);case 11:{t=this.startNode(),this.next(),t.object=null;let e=t.callee=this.parseNoCallExpr(e=>{throw this.raise(G.UnsupportedBind,e)});if(e.type===`MemberExpression`)return this.finishNode(t,`BindExpression`);throw this.raise(G.UnsupportedBind,e)}case 134:return this.raise(G.PrivateInExpectedIn,this.state.startLoc,{identifierName:this.state.value}),this.parsePrivateName();case 29:return this.parseTopicReferenceThenEqualsSign(50,`%`);case 28:return this.parseTopicReferenceThenEqualsSign(40,`^`);case 33:case 34:return this.parseTopicReference(`hack`);case 40:case 50:case 23:{let e=this.getPluginOption(`pipelineOperator`,`proposal`);if(e)return this.parseTopicReference(e);throw this.unexpected()}case 43:{let e=this.input.codePointAt(this.nextTokenStart());throw ef(e)||e===62?this.expectOnePlugin([`jsx`,`flow`,`typescript`]):this.unexpected()}default:if(Dd(r)){if(this.isContextual(123)&&this.lookaheadInLineCharCode()===123)return this.parseModuleExpression();let{canStartArrow:e,containsEsc:t}=this.state,n=this.parseIdentifier();if(!t&&n.name===`async`&&!this.canInsertSemicolon()){let{type:t}=this.state;if(t===64)return this.resetPreviousNodeTrailingComments(n),this.next(),this.parseAsyncFunctionExpression(this.startNodeAtNode(n));if(Dd(t))return e&&this.lookaheadCharCode()===61?this.parseAsyncArrowUnaryFunction(this.startNodeAtNode(n)):n;if(t===86)return this.resetPreviousNodeTrailingComments(n),this.parseDo(this.startNodeAtNode(n),!0)}return e&&this.match(15)&&!this.canInsertSemicolon()?(this.next(),this.parseArrowExpression(this.startNodeAtNode(n),[n],!1)):n}throw this.unexpected()}}parseTopicReferenceThenEqualsSign(e,t){let n=this.getPluginOption(`pipelineOperator`,`proposal`);if(n)return this.state.type=e,this.state.value=t,this.state.pos--,this.state.end--,this.state.endLoc=Wu(this.state.endLoc,-1),this.parseTopicReference(n);throw this.unexpected()}parseTopicReference(e){let t=this.startNode(),n=this.state.startLoc,r=this.state.type;return this.next(),this.finishTopicReference(t,n,e,r)}finishTopicReference(e,t,n,r){if(this.testTopicReferenceConfiguration(n,t,r))return this.topicReferenceIsAllowedInCurrentContext()||this.raise(G.PipeTopicUnbound,t),this.registerTopicReference(),this.finishNode(e,`TopicReference`);throw this.raise(G.PipeTopicUnconfiguredToken,t,{token:Hd(r)})}testTopicReferenceConfiguration(e,t,n){switch(e){case`hack`:return this.hasPlugin([`pipelineOperator`,{topicToken:Hd(n)}]);default:throw this.raise(G.PipeTopicRequiresHackPipes,t)}}parseAsyncArrowUnaryFunction(e){this.prodParam.enter(_p(!0,this.prodParam.hasYield));let t=[this.parseIdentifier()];return this.prodParam.exit(),this.hasPrecedingLineBreak()&&this.raise(G.LineTerminatorBeforeArrow,this.state.curPosition()),this.expect(15),this.parseArrowExpression(e,t,!0)}parseDo(e,t){this.expectPlugin(`doExpressions`),t&&this.expectPlugin(`asyncDoExpressions`),e.async=t,this.next();let n=this.state.labels;return this.state.labels=[],t?(this.prodParam.enter(2),e.body=this.parseBlock(),this.prodParam.exit()):e.body=this.parseBlock(),this.state.labels=n,this.finishNode(e,`DoExpression`)}parseSuper(){let e=this.startNode();return this.next(),this.match(6)&&!this.scope.allowDirectSuper?this.raise(G.SuperNotAllowed,e):this.scope.allowSuper||this.raise(G.UnexpectedSuper,e),!this.match(6)&&!this.match(0)&&!this.match(12)&&this.raise(G.UnsupportedSuper,e),this.finishNode(e,`Super`)}parsePrivateName(){let e=this.startNode(),t=this.startNodeAt(Wu(this.state.startLoc,1)),n=this.state.value;return this.next(),e.id=this.createIdentifier(t,n),this.finishNode(e,`PrivateName`)}parseFunctionOrFunctionSent(){let e=this.startNode();if(this.next(),this.prodParam.hasYield&&this.match(12)){let t=this.createIdentifier(this.startNodeAtNode(e),`function`);return this.next(),this.match(99)?this.expectPlugin(`functionSent`):this.hasPlugin(`functionSent`)||this.unexpected(),this.parseMetaProperty(e,t,`sent`)}return this.parseFunction(e)}parseMetaProperty(e,t,n){e.meta=t;let r=this.state.containsEsc;return e.property=this.parseIdentifier(!0),(e.property.name!==n||r)&&this.raise(G.UnsupportedMetaProperty,e.property,{target:t.name,onlyValidPropertyName:n}),this.finishNode(e,`MetaProperty`)}parseImportMetaPropertyOrPhaseCall(e){if(this.next(),this.isContextual(101)||this.isContextual(93)){let t=this.isContextual(101);return this.expectPlugin(t?`sourcePhaseImports`:`deferredImportEvaluation`),this.next(),e.phase=t?`source`:`defer`,this.parseImportCall(e)}{let t=this.createIdentifierAt(this.startNodeAtNode(e),`import`,this.state.lastTokStartLoc);return this.isContextual(97)&&(this.inModule||this.raise(G.ImportMetaOutsideModule,t),this.sawUnambiguousESM=!0),this.parseMetaProperty(e,t,`meta`)}}parseLiteralAtNode(e,t,n){return this.addExtra(n,`rawValue`,e),this.addExtra(n,`raw`,this.input.slice(this.offsetToSourcePos(n.start),this.state.end)),n.value=e,this.next(),this.finishNode(n,t)}parseLiteral(e,t){let n=this.startNode();return this.parseLiteralAtNode(e,t,n)}parseStringLiteral(e){return this.parseLiteral(e,`StringLiteral`)}parseNumericLiteral(e){return this.parseLiteral(e,`NumericLiteral`)}parseBigIntLiteral(e){let t;try{t=BigInt(e)}catch{t=null}return this.parseLiteral(t,`BigIntLiteral`)}parseRegExpLiteral(e){let t=this.startNode();return this.addExtra(t,`raw`,this.input.slice(this.offsetToSourcePos(t.start),this.state.end)),t.pattern=e.pattern,t.flags=e.flags,this.next(),this.finishNode(t,`RegExpLiteral`)}parseBooleanLiteral(e){let t=this.startNode();return t.value=e,this.next(),this.finishNode(t,`BooleanLiteral`)}parseNullLiteral(){let e=this.startNode();return this.next(),this.finishNode(e,`NullLiteral`)}parseParenAndDistinguishExpression(e){let t=this.state.startLoc,n;this.next(),this.expressionScope.enter(pp());let r=this.state.startLoc,i=[],a=new yp,o=!0,s,c;for(;!this.match(7);){if(o)o=!1;else if(this.expect(8,a.optionalParametersLoc===null?null:a.optionalParametersLoc),this.match(7)){c=this.state.startLoc;break}if(this.match(17)){let e=this.state.startLoc;if(s=this.state.startLoc,i.push(this.parseParenItem(this.parseRestBinding(),e)),!this.checkCommaAfterRest(41))break}else i.push(this.parseMaybeAssignAllowInOrVoidPattern(7,a,!0))}let l=this.state.lastTokEndLoc;this.expect(7);let u=this.startNodeAt(t);return e&&this.shouldParseArrow(i)&&(u=this.parseArrow(u))?(this.checkDestructuringPrivate(a),this.expressionScope.validateAsPattern(),this.expressionScope.exit(),this.parseArrowExpression(u,i,!1),u):(this.expressionScope.exit(),i.length||this.unexpected(this.state.lastTokStartLoc),c&&this.unexpected(c),s&&this.unexpected(s),this.checkExpressionErrors(a,!0),this.toReferencedList(i,!0),i.length>1?(n=this.startNodeAt(r),n.expressions=i,this.finishNode(n,`SequenceExpression`),this.resetEndLocation(n,l)):n=i[0],this.wrapParenthesis(t,n))}wrapParenthesis(e,t){if(!(this.optionFlags&2048))return this.addExtra(t,`parenthesized`,!0),this.addExtra(t,`parenStart`,e.index),this.takeSurroundingComments(t,e.index,this.state.lastTokEndLoc.index),t;let n=this.startNodeAt(e);return n.expression=t,this.finishNode(n,`ParenthesizedExpression`)}shouldParseArrow(e){return!this.canInsertSemicolon()}parseArrow(e){if(this.eat(15))return e}parseParenItem(e,t){return e}parseNewOrNewTarget(){let e=this.startNode();if(this.next(),this.match(12)){let t=this.createIdentifier(this.startNodeAtNode(e),`new`);this.next();let n=this.parseMetaProperty(e,t,`target`);return this.scope.allowNewTarget||this.raise(G.UnexpectedNewTarget,n),n}return this.parseNew(e)}parseNew(e){if(this.parseNewCallee(e),this.eat(6)){let t=this.parseExprList(7);this.toReferencedList(t),e.arguments=t}else e.arguments=[];return this.finishNode(e,`NewExpression`)}parseNewCallee(e){let t=this.parseNoCallExpr(e=>{this.raise(G.ImportCallNotNewExpression,e,e)});e.callee=t,t.type===`Import`&&this.raise(G.ImportCallNotNewExpression,t),t.type===`Super`&&this.raise(G.SuperCallNotNewExpression,t)}parseTemplateElement(e){let{start:t,startLoc:n,end:r,value:i}=this.state,a=t+1,o=this.startNodeAt(Wu(n,1));i===null&&(e||this.raise(G.InvalidEscapeSequenceTemplate,Wu(this.state.firstInvalidTemplateEscapePos,1)));let s=this.match(20),c=s?-1:-2,l=r+c;o.value={raw:this.input.slice(a,l).replace(/\r\n?/g,`
27
- `),cooked:i===null?null:i.slice(1,c)},o.tail=s,this.next();let u=this.finishNode(o,`TemplateElement`);return this.resetEndLocation(u,Wu(this.state.lastTokEndLoc,c)),u}parseTemplate(e){let t=this.startNode(),n=this.parseTemplateElement(e),r=[n],i=[];for(;!n.tail;)i.push(this.parseTemplateSubstitution()),this.readTemplateContinuation(),r.push(n=this.parseTemplateElement(e));return t.expressions=i,t.quasis=r,this.finishNode(t,`TemplateLiteral`)}parseTemplateSubstitution(){return this.parseExpression()}parseObjectLike(e,t,n){let r=!1,i=!0,a=this.startNode();for(a.properties=[],this.next();!this.match(e);){if(i)i=!1;else if(this.expect(8),this.match(e)){this.addTrailingCommaExtraToNode(a);break}let o;t?o=this.parseBindingProperty():(o=this.parsePropertyDefinition(n),r=this.checkProto(o,r,n)),a.properties.push(o)}this.next();let o=t?`ObjectPattern`:`ObjectExpression`;return this.finishNode(a,o)}addTrailingCommaExtraToNode(e){this.addExtra(e,`trailingComma`,this.state.lastTokStartLoc.index),this.addExtra(e,`trailingCommaLoc`,this.state.lastTokStartLoc,!1)}maybeAsyncOrAccessorProp(e){return!e.computed&&e.key.type===`Identifier`&&(this.isLiteralPropertyName()||this.match(0)||this.match(51))}parsePropertyDefinition(e){let t=[];if(this.match(22))for(this.hasPlugin(`decorators`)&&this.raise(G.UnsupportedPropertyDecorator,this.state.startLoc);this.match(22);)t.push(this.parseDecorator());let n=this.startNode(),r=!1,i=!1,a;if(this.match(17))return t.length&&this.unexpected(),this.parseSpread();t.length&&(n.decorators=t),n.method=!1,e&&(a=this.state.startLoc);let o=this.eat(51);this.parsePropertyNamePrefixOperator(n);let s=this.state.containsEsc;if(this.parsePropertyName(n,e),!o&&!s&&this.maybeAsyncOrAccessorProp(n)){let{key:e}=n,t=e.name;t===`async`&&!this.hasPrecedingLineBreak()&&(r=!0,this.resetPreviousNodeTrailingComments(e),o=this.eat(51),this.parsePropertyName(n)),(t===`get`||t===`set`)&&(i=!0,this.resetPreviousNodeTrailingComments(e),n.kind=t,this.match(51)&&(o=!0,this.raise(G.AccessorIsGenerator,this.state.curPosition(),{kind:t}),this.next()),this.parsePropertyName(n))}return this.parseObjPropValue(n,a,o,r,!1,i,e)}getGetterSetterExpectedParamCount(e){return e.kind===`get`?0:1}getObjectOrClassMethodParams(e){return e.params}checkGetterSetterParams(e){let t=this.getGetterSetterExpectedParamCount(e),n=this.getObjectOrClassMethodParams(e);n.length!==t&&this.raise(e.kind===`get`?G.BadGetterArity:G.BadSetterArity,e),e.kind===`set`&&n[n.length-1]?.type===`RestElement`&&this.raise(G.BadSetterRestParameter,e)}parseObjectMethod(e,t,n,r,i){if(i){let n=this.parseMethod(e,t,!1,!1,!1,`ObjectMethod`);return this.checkGetterSetterParams(n),n}if(n||t||this.match(6))return r&&this.unexpected(),e.kind=`method`,e.method=!0,this.parseMethod(e,t,n,!1,!1,`ObjectMethod`)}parseObjectProperty(e,t,n,r){if(e.shorthand=!1,this.eat(10))return e.value=n?this.parseMaybeDefault(this.state.startLoc):this.parseMaybeAssignAllowInOrVoidPattern(4,r),this.finishObjectProperty(e);if(!e.computed&&e.key.type===`Identifier`){if(this.checkReservedWord(e.key.name,e.key.start,!0,!1),n)e.value=this.parseMaybeDefault(t,this.cloneIdentifier(e.key));else if(this.match(25)){let n=this.state.startLoc;r==null?this.raise(G.InvalidCoverInitializedName,n):r.shorthandAssignLoc===null&&(r.shorthandAssignLoc=n),e.value=this.parseMaybeDefault(t,this.cloneIdentifier(e.key))}else e.value=this.cloneIdentifier(e.key);return e.shorthand=!0,this.finishObjectProperty(e)}}finishObjectProperty(e){return this.finishNode(e,`ObjectProperty`)}parseObjPropValue(e,t,n,r,i,a,o){let s=this.parseObjectMethod(e,n,r,i,a)||this.parseObjectProperty(e,t,i,o);return s||this.unexpected(),s}parsePropertyName(e,t){if(this.eat(0))e.computed=!0,e.key=this.parseMaybeAssignAllowIn(),this.expect(1);else{let{type:n,value:r}=this.state,i;if(kd(n))i=this.parseIdentifier(!0);else switch(n){case 131:i=this.parseNumericLiteral(r);break;case 130:i=this.parseStringLiteral(r);break;case 132:i=this.parseBigIntLiteral(r);break;case 134:{let e=this.state.startLoc;t==null?this.raise(G.UnexpectedPrivateField,e):t.privateKeyLoc===null&&(t.privateKeyLoc=e),i=this.parsePrivateName();break}default:throw this.unexpected()}e.key=i,n!==134&&(e.computed=!1)}}initFunction(e,t){e.id=null,e.generator=!1,e.async=t}parseMethod(e,t,n,r,i,a,o=!1){this.initFunction(e,n),e.generator=t,this.scope.enter(530|(o?576:0)|(i?32:0)),this.prodParam.enter(_p(n,e.generator)),this.parseFunctionParams(e,r);let s=this.parseFunctionBodyAndFinish(e,a,!0);return this.prodParam.exit(),this.scope.exit(),s}parseArrayLike(e,t){let n=this.startNode();return this.next(),n.elements=this.parseExprList(e,!0,t,n),this.finishNode(n,`ArrayExpression`)}parseArrowExpression(e,t,n,r){this.scope.enter(518);let i=_p(n,!1);return this.match(2)||(i|=this.prodParam.currentFlags()&24),this.prodParam.enter(i),this.initFunction(e,n),t&&this.setArrowFunctionParameters(e,t,r),this.parseFunctionBody(e,!0),this.prodParam.exit(),this.scope.exit(),this.finishNode(e,`ArrowFunctionExpression`)}setArrowFunctionParameters(e,t,n){this.toAssignableList(t,n,!1),e.params=t}parseFunctionBodyAndFinish(e,t,n=!1){return this.parseFunctionBody(e,!1,n),this.finishNode(e,t)}parseFunctionBody(e,t,n=!1){let r=t&&!this.match(2);if(this.expressionScope.enter(hp()),r)e.body=this.parseMaybeAssign(),this.checkParams(e,!1,t,!1);else{let r=this.state.strict,i=this.state.labels;this.state.labels=[],this.prodParam.enter(this.prodParam.currentFlags()|4),e.body=this.parseBlock(!0,!1,i=>{let a=!this.isSimpleParamList(e.params);i&&a&&this.raise(G.IllegalLanguageModeDirective,(e.kind===`method`||e.kind===`constructor`)&&e.key?this.optionFlags&256?e.key.loc.end:e.key:e);let o=!r&&this.state.strict;this.checkParams(e,!this.state.strict&&!t&&!n&&!a,t,o),this.state.strict&&e.id&&this.checkIdentifier(e.id,65,o)}),this.prodParam.exit(),this.state.labels=i}this.expressionScope.exit()}isSimpleParameter(e){return e.type===`Identifier`}isSimpleParamList(e){for(let t=0,n=e.length;t<n;t++)if(!this.isSimpleParameter(e[t]))return!1;return!0}checkParams(e,t,n,r=!0){let i=!t&&new Set,a={type:`FormalParameters`};for(let t of e.params)this.checkLVal(t,a,5,i,r)}parseExprList(e,t,n,r){let i=[],a=!0;for(;!this.eat(e);){if(a)a=!1;else if(this.expect(8),this.match(e)){r&&this.addTrailingCommaExtraToNode(r),this.next();break}i.push(this.parseExprListItem(e,t,n))}return i}parseExprListItem(e,t,n,r){let i;if(this.match(8))t||this.raise(G.UnexpectedToken,this.state.curPosition(),{unexpected:`,`}),i=null;else if(this.match(17)){let e=this.state.startLoc;i=this.parseParenItem(this.parseSpread(n),e)}else if(this.match(13)){this.expectPlugin(`partialApplication`),r||this.raise(G.UnexpectedArgumentPlaceholder,this.state.startLoc);let e=this.startNode();this.next(),i=this.finishNode(e,`ArgumentPlaceholder`)}else i=this.parseMaybeAssignAllowInOrVoidPattern(e,n,!0);return i}parseIdentifier(e){let t=this.startNode(),n=this.parseIdentifierName(e);return this.createIdentifier(t,n)}createIdentifier(e,t){return e.name=t,this.optionFlags&256&&(e.loc.identifierName=t),this.finishNode(e,`Identifier`)}createIdentifierAt(e,t,n){return e.name=t,this.optionFlags&256&&(e.loc.identifierName=t),this.finishNodeAt(e,`Identifier`,n)}parseIdentifierName(e){let t,{start:n,type:r}=this.state;kd(r)?t=this.state.value:this.unexpected();let i=Od(r);return e?i&&this.replaceToken(128):this.checkReservedWord(t,this.sourceToOffsetPos(n),i,!1),this.next(),t}checkReservedWord(e,t,n,r){if(!(e.length>10)&&mf(e)){if(n&&df(e)){this.raise(G.UnexpectedKeyword,t,{keyword:e});return}if((this.state.strict?r?uf:cf:sf)(e,this.inModule)){this.raise(G.UnexpectedReservedWord,t,{reservedWord:e});return}if(e===`yield`){if(this.prodParam.hasYield){this.raise(G.YieldBindingIdentifier,t);return}}else if(e===`await`){if(this.prodParam.hasAwait){this.raise(G.AwaitBindingIdentifier,t);return}if(this.scope.inStaticBlock){this.raise(G.AwaitBindingIdentifierInStaticBlock,t);return}this.expressionScope.recordAsyncArrowParametersError(t)}else if(e===`arguments`&&this.scope.inClassAndNotInNonArrowFunction){this.raise(G.ArgumentsInClass,t);return}}}recordAwaitIfAllowed(){let e=this.prodParam.hasAwait;return e&&!this.scope.inFunction&&(this.state.hasTopLevelAwait=!0),e}parseAwait(e,t){let n=e.index;this.setLoc(e);let r=this.startNodeAt(e);return this.expressionScope.recordParameterInitializerError(G.AwaitExpressionFormalParameter,n),this.eat(51)&&this.raise(G.ObsoleteAwaitStar,e),!this.scope.inFunction&&!(this.optionFlags&1)&&(this.isAmbiguousPrefixOrIdentifier()?this.ambiguousScriptDifferentAst=!0:this.sawUnambiguousESM=!0),t||(r.argument=this.parseMaybeUnary(null,!0)),this.finishNode(r,`AwaitExpression`)}isAmbiguousPrefixOrIdentifier(){if(this.hasPrecedingLineBreak())return!0;let{type:e}=this.state;return e===49||e===6||e===0||Gd(e)||e===98&&!this.state.containsEsc||e===133||e===52||this.hasPlugin(`v8intrinsic`)&&e===50}parseYield(e){this.setLoc(e);let t=this.startNodeAt(e);this.expressionScope.recordParameterInitializerError(G.YieldInParameter,e.index);let n=!1,r=null;if(!this.hasPrecedingLineBreak())switch(n=this.eat(51),this.state.type){case 9:case 135:case 4:case 7:case 1:case 5:case 10:case 8:if(!n)break;default:r=this.parseMaybeAssign()}return t.delegate=n,t.argument=r,this.finishNode(t,`YieldExpression`)}parseImportCall(e){this.next();let t=this.parseCallExpressionArguments();if(t.length===0||t.length>2)this.raise(G.ImportCallArity,e,e);else for(let n of t)n.type===`SpreadElement`&&this.raise(G.ImportCallSpreadArgument,n,e);return e.source=t[0],e.options=t[1]??null,this.finishNode(e,`ImportExpression`)}withTopicBindingContext(e){let t=this.state.inHackPipelineBody;this.state.inHackPipelineBody=!0;let n=this.state.seenTopicReference;this.state.seenTopicReference=!1;try{return e()}finally{this.state.inHackPipelineBody=t,this.state.seenTopicReference=n}}allowInAnd(e){let t=this.prodParam.currentFlags();if(24&~t){this.prodParam.enter(t|24);try{return e()}finally{this.prodParam.exit()}}return e()}disallowInAnd(e){let t=this.prodParam.currentFlags(),n=8&t,r=16&~t;if(n||r){this.prodParam.enter(t&-9|16);try{return e()}finally{this.prodParam.exit()}}return e()}registerTopicReference(){this.state.seenTopicReference=!0}topicReferenceIsAllowedInCurrentContext(){return this.state.inHackPipelineBody}topicReferenceWasUsedInCurrentContext(){return this.state.seenTopicReference}parseFSharpPipelineBody(e){let t=this.state.startLoc;this.prodParam.enter(this.prodParam.currentFlags()&-17);let n;if(this.isContextual(92)&&this.recordAwaitIfAllowed()){this.next(),n=this.parseAwait(t,!0);let e=this.state.type;Ld(e)&&e!==35&&(this.prodParam.hasIn||e!==54)&&this.raise(G.PipelineUnparenthesized,t)}else this.state.canStartArrow=!0,n=this.parseExprOp(this.parseMaybeUnaryOrPrivate(),t,e);return this.prodParam.exit(),n}parseModuleExpression(){this.expectPlugin(`moduleBlocks`);let e=this.startNode();this.next(),this.match(2)||this.unexpected(null,2);let t=this.startNodeAt(this.state.endLoc);this.next();let n=this.initializeScopes(!0);this.enterInitialScopes();try{e.body=this.parseProgram(t,4,`module`)}finally{n()}return this.finishNode(e,`ModuleExpression`)}parseVoidPattern(e){this.expectPlugin(`discardBinding`);let t=this.startNode();return e!=null&&(e.voidPatternLoc=this.state.startLoc),this.next(),this.finishNode(t,`VoidPattern`)}parseMaybeAssignAllowInOrVoidPattern(e,t,n){if(t!=null&&this.match(84)){let n=this.lookaheadCharCode();if(n===44||n===(e===1?93:e===4?125:41)||n===61)return this.parseMaybeDefault(this.state.startLoc,this.parseVoidPattern(t))}return this.parseMaybeAssignAllowIn(t,n)}parsePropertyNamePrefixOperator(e){}},Ep={kind:1},Dp={kind:2},Op=/[\uD800-\uDFFF]/u,kp=/in(?:stanceof)?/y;function Ap(e){for(let t=0;t<e.length;t++){let n=e[t],{type:r}=n;typeof r==`number`&&(n.type=Kd(r))}return e}var jp=class extends Tp{parseTopLevel(e,t){return e.program=this.parseProgram(t,135,this.options.sourceType===`module`?`module`:`script`),e.comments=this.comments,this.optionFlags&512&&(e.tokens=Ap(this.tokens)),this.finishNode(e,`File`)}parseProgram(e,t,n){if(e.sourceType=n,e.interpreter=this.parseInterpreterDirective(),this.parseBlockBody(e,!0,!0,t),this.inModule){if(!(this.optionFlags&64)&&this.scope.undefinedExports.size>0)for(let[e,t]of Array.from(this.scope.undefinedExports))this.raise(G.ModuleExportUndefined,t,{localName:e});this.addExtra(e,`topLevelAwait`,this.state.hasTopLevelAwait)}let r;return r=t===135?this.finishNode(e,`Program`):this.finishNodeAt(e,`Program`,Wu(this.state.startLoc,-1)),r}stmtToDirective(e){let t=this.castNodeTo(e,`Directive`),n=this.castNodeTo(e.expression,`DirectiveLiteral`),r=n.value,i=this.input.slice(this.offsetToSourcePos(n.start),this.offsetToSourcePos(n.end)),a=n.value=i.slice(1,-1);return this.addExtra(n,`raw`,i),this.addExtra(n,`rawValue`,a),this.addExtra(n,`expressionValue`,r),t.value=n,delete e.expression,t}parseInterpreterDirective(){if(!this.match(24))return null;let e=this.startNode();return e.value=this.state.value,this.next(),this.finishNode(e,`InterpreterDirective`)}isLet(){return this.isContextual(96)?this.hasFollowingBindingAtom():!1}isUsing(){return this.isContextual(103)?this.nextTokenIsIdentifierOnSameLine():!1}isForUsing(){if(!this.isContextual(103))return!1;let e=this.nextTokenInLineStart(),t=this.codePointAtPos(e);if(this.isUnparsedContextual(e,`of`)){let t=this.lookaheadCharCodeSince(e+2);if(t!==61&&t!==58&&t!==59)return!1}return!!(this.chStartsBindingIdentifier(t,e)||this.isUnparsedContextual(e,`void`))}nextTokenIsIdentifierOnSameLine(){let e=this.nextTokenInLineStart(),t=this.codePointAtPos(e);return this.chStartsBindingIdentifier(t,e)}isAwaitUsing(){if(!this.isContextual(92))return!1;let e=this.nextTokenInLineStart();if(this.isUnparsedContextual(e,`using`)){e=this.nextTokenInLineStartSince(e+5);let t=this.codePointAtPos(e);if(this.chStartsBindingIdentifier(t,e))return!0}return!1}chStartsBindingIdentifier(e,t){if(ef(e)){if(kp.lastIndex=t,kp.test(this.input)){let e=this.codePointAtPos(kp.lastIndex);if(!tf(e)&&e!==92)return!1}return!0}return e===92}chStartsBindingPattern(e){return e===91||e===123}hasFollowingBindingAtom(){let e=this.nextTokenStart(),t=this.codePointAtPos(e);return this.chStartsBindingPattern(t)||this.chStartsBindingIdentifier(t,e)}hasInLineFollowingBindingIdentifierOrBrace(){let e=this.nextTokenInLineStart(),t=this.codePointAtPos(e);return t===123||this.chStartsBindingIdentifier(t,e)}allowsUsing(){return(this.scope.inModule||!this.scope.inTopLevel)&&!this.scope.inBareCaseStatement}parseModuleItem(){return this.parseStatementLike(15)}parseStatementListItem(){return this.parseStatementLike(6|(!this.options.annexB||this.state.strict?0:8))}parseStatementOrSloppyAnnexBFunctionDeclaration(e=!1){let t=0;return this.options.annexB&&!this.state.strict&&(t|=4,e&&(t|=8)),this.parseStatementLike(t)}parseStatement(){return this.parseStatementLike(0)}parseStatementLike(e){let t=null;return this.match(22)&&(t=this.parseDecorators(!0)),this.parseStatementContent(e,t)}parseStatementContent(e,t){let n=this.state.type,r=this.startNode(),i=!!(e&2),a=!!(e&4),o=e&1;switch(n){case 56:return this.parseBreakContinueStatement(r,!0);case 59:return this.parseBreakContinueStatement(r,!1);case 60:return this.parseDebuggerStatement(r);case 86:return this.parseDoWhileStatement(r);case 87:return this.parseForStatement(r);case 64:if(this.lookaheadCharCode()===46)break;return a||this.raise(this.state.strict?G.StrictFunction:this.options.annexB?G.SloppyFunctionAnnexB:G.SloppyFunction,this.state.startLoc),this.parseFunctionStatement(r,!1,!i&&a);case 76:return i||this.unexpected(),this.parseClass(this.maybeTakeDecorators(t,r),!0);case 65:return this.parseIfStatement(r);case 66:return this.parseReturnStatement(r);case 67:return this.parseSwitchStatement(r);case 68:return this.parseThrowStatement(r);case 69:return this.parseTryStatement(r);case 92:if(this.isAwaitUsing())return this.allowsUsing()?i?this.recordAwaitIfAllowed()||this.raise(G.AwaitUsingNotInAsyncContext,r):this.raise(G.UnexpectedLexicalDeclaration,r):this.raise(G.UnexpectedUsingDeclaration,r),this.next(),this.parseVarStatement(r,`await using`);break;case 103:if(this.state.containsEsc||!this.hasInLineFollowingBindingIdentifierOrBrace())break;return this.allowsUsing()?i||this.raise(G.UnexpectedLexicalDeclaration,this.state.startLoc):this.raise(G.UnexpectedUsingDeclaration,this.state.startLoc),this.parseVarStatement(r,`using`);case 96:{if(this.state.containsEsc)break;let e=this.nextTokenStart(),t=this.codePointAtPos(e);if(t!==91&&(!i&&this.hasFollowingLineBreak()||!this.chStartsBindingIdentifier(t,e)&&t!==123))break}case 71:i||this.raise(G.UnexpectedLexicalDeclaration,this.state.startLoc);case 70:{let e=this.state.value;return this.parseVarStatement(r,e)}case 88:return this.parseWhileStatement(r);case 72:return this.parseWithStatement(r);case 2:return this.parseBlock();case 9:return this.parseEmptyStatement(r);case 79:{let e=this.lookaheadCharCode();if(e===40||e===46)break}case 78:{!(this.optionFlags&8)&&!o&&this.raise(G.UnexpectedImportExport,this.state.startLoc),this.next();let e;return e=n===79?this.parseImport(r):this.parseExport(r,t),this.assertModuleNodeAllowed(e),e}default:if(this.isAsyncFunction())return i||this.raise(G.AsyncFunctionInSingleStatementContext,this.state.startLoc),this.next(),this.parseFunctionStatement(r,!0,!i&&a)}let s=this.state.value,c=this.parseExpression();return Dd(n)&&c.type===`Identifier`&&this.eat(10)?this.parseLabeledStatement(r,s,c,e):this.parseExpressionStatement(r,c)}assertModuleNodeAllowed(e){!(this.optionFlags&8)&&!this.inModule&&this.raise(G.ImportOutsideModule,e)}maybeTakeDecorators(e,t,n){return e&&(t.decorators?.length?(this.raise(G.DecoratorsBeforeAfterExport,t.decorators[0]),t.decorators.unshift(...e)):t.decorators=e,this.resetStartLocationFromNode(t,e[0]),n&&this.resetStartLocationFromNode(n,t)),t}canHaveLeadingDecorator(){return this.match(76)}parseDecorators(e){let t=[];do t.push(this.parseDecorator());while(this.match(22));if(this.match(78))e||this.unexpected();else if(!this.canHaveLeadingDecorator())throw this.raise(G.UnexpectedLeadingDecorator,this.state.startLoc);return t}parseDecorator(){this.expectOnePlugin([`decorators`,`decorators-legacy`]);let e=this.startNode();if(this.next(),this.hasPlugin(`decorators`)){let t=this.state.startLoc,n;if(this.match(6)){let t=this.state.startLoc;this.next(),n=this.parseExpression(),this.expect(7),n=this.wrapParenthesis(t,n);let r=this.state.startLoc;e.expression=this.parseMaybeDecoratorArguments(n,t),e.expression!==n&&this.raise(G.DecoratorArgumentsOutsideParentheses,r)}else{for(n=this.parseIdentifier(!1);this.eat(12);){let e=this.startNodeAt(t);e.object=n,this.match(134)?(this.classScope.usePrivateName(this.state.value,this.state.startLoc),e.property=this.parsePrivateName()):e.property=this.parseIdentifier(!0),e.computed=!1,n=this.finishNode(e,`MemberExpression`)}e.expression=this.parseMaybeDecoratorArguments(n,t)}}else this.state.canStartArrow=!1,e.expression=this.parseExprSubscripts();return this.finishNode(e,`Decorator`)}parseMaybeDecoratorArguments(e,t){if(this.eat(6)){let n=this.startNodeAt(t);return n.callee=e,n.arguments=this.parseCallExpressionArguments(),this.toReferencedList(n.arguments),this.finishNode(n,`CallExpression`)}return e}parseBreakContinueStatement(e,t){return this.next(),this.isLineTerminator()?e.label=null:(e.label=this.parseIdentifier(),this.semicolon()),this.verifyBreakContinue(e,t),this.finishNode(e,t?`BreakStatement`:`ContinueStatement`)}verifyBreakContinue(e,t){let n=0;for(;n<this.state.labels.length;++n){let r=this.state.labels[n];if((e.label==null||r.name===e.label.name)&&(r.kind!=null&&(t||r.kind===1)||e.label&&t))break}if(n===this.state.labels.length){let n=t?`BreakStatement`:`ContinueStatement`;this.raise(G.IllegalBreakContinue,e,{type:n})}}parseDebuggerStatement(e){return this.next(),this.semicolon(),this.finishNode(e,`DebuggerStatement`)}parseHeaderExpression(){this.expect(6);let e=this.parseExpression();return this.expect(7),e}parseDoWhileStatement(e){return this.next(),this.state.labels.push(Ep),e.body=this.parseStatement(),this.state.labels.pop(),this.expect(88),e.test=this.parseHeaderExpression(),this.eat(9),this.finishNode(e,`DoWhileStatement`)}parseForStatement(e){this.next(),this.state.labels.push(Ep);let t=null;if(this.isContextual(92)&&this.recordAwaitIfAllowed()&&(t=this.state.startLoc,this.next()),this.scope.enter(0),this.expect(6),this.match(9))return t!==null&&this.unexpected(t),this.parseFor(e,null);let n=this.isContextual(96);{let r=this.isAwaitUsing(),i=r||this.isForUsing(),a=n&&this.hasFollowingBindingAtom()||i;if(this.match(70)||this.match(71)||a){let n=this.startNode(),a;r?(a=`await using`,this.recordAwaitIfAllowed()||this.raise(G.AwaitUsingNotInAsyncContext,this.state.startLoc),this.next()):a=this.state.value,this.next(),this.parseVar(n,!0,a);let o=this.finishNode(n,`VariableDeclaration`),s=this.match(54);return s&&i&&this.raise(G.ForInUsing,o),(s||this.isContextual(98))&&o.declarations.length===1?this.parseForX(e,o,t):(t!==null&&this.unexpected(t),this.parseFor(e,o))}}let r=this.isContextual(91),i=new yp,a=this.parseExpression(!0,i),o=this.isContextual(98);if(o&&(n&&this.raise(G.ForOfLet,a),t===null&&r&&a.type===`Identifier`&&this.raise(G.ForOfAsync,a)),o||this.match(54)){this.checkDestructuringPrivate(i),this.toAssignable(a,!0);let n=o?`ForOfStatement`:`ForInStatement`;return this.checkLVal(a,{type:n}),this.parseForX(e,a,t)}return this.checkExpressionErrors(i,!0),t!==null&&this.unexpected(t),this.parseFor(e,a)}parseFunctionStatement(e,t,n){return this.next(),this.parseFunction(e,1|(n?2:0)|(t?8:0))}parseIfStatement(e){return this.next(),e.test=this.parseHeaderExpression(),e.consequent=this.parseStatementOrSloppyAnnexBFunctionDeclaration(),e.alternate=this.eat(62)?this.parseStatementOrSloppyAnnexBFunctionDeclaration():null,this.finishNode(e,`IfStatement`)}parseReturnStatement(e){return this.prodParam.hasReturn||this.raise(G.IllegalReturn,this.state.startLoc),this.next(),this.isLineTerminator()?e.argument=null:(e.argument=this.parseExpression(),this.semicolon()),this.finishNode(e,`ReturnStatement`)}parseSwitchStatement(e){this.next(),e.discriminant=this.parseHeaderExpression();let t=e.cases=[];this.expect(2),this.state.labels.push(Dp),this.scope.enter(256);let n;for(let e;!this.match(4);)if(this.match(57)||this.match(61)){let r=this.match(57);n&&this.finishNode(n,`SwitchCase`),t.push(n=this.startNode()),n.consequent=[],this.next(),r?n.test=this.parseExpression():(e&&this.raise(G.MultipleDefaultsInSwitch,this.state.lastTokStartLoc),e=!0,n.test=null),this.expect(10)}else n?n.consequent.push(this.parseStatementListItem()):this.unexpected();return this.scope.exit(),n&&this.finishNode(n,`SwitchCase`),this.next(),this.state.labels.pop(),this.finishNode(e,`SwitchStatement`)}parseThrowStatement(e){return this.next(),this.hasPrecedingLineBreak()&&this.raise(G.NewlineAfterThrow,this.state.lastTokEndLoc),e.argument=this.parseExpression(),this.semicolon(),this.finishNode(e,`ThrowStatement`)}parseCatchClauseParam(){let e=this.parseBindingAtom();return this.scope.enter(this.options.annexB&&e.type===`Identifier`?8:0),this.checkLVal(e,{type:`CatchClause`},9),e}parseTryStatement(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.match(58)){let t=this.startNode();this.next(),this.match(6)?(this.expect(6),t.param=this.parseCatchClauseParam(),this.expect(7)):(t.param=null,this.scope.enter(0)),t.body=this.parseBlock(!1,!1),this.scope.exit(),e.handler=this.finishNode(t,`CatchClause`)}return e.finalizer=this.eat(63)?this.parseBlock():null,!e.handler&&!e.finalizer&&this.raise(G.NoCatchOrFinally,e),this.finishNode(e,`TryStatement`)}parseVarStatement(e,t,n=!1){return this.next(),this.parseVar(e,!1,t,n),this.semicolon(),this.finishNode(e,`VariableDeclaration`)}parseWhileStatement(e){return this.next(),e.test=this.parseHeaderExpression(),this.state.labels.push(Ep),e.body=this.parseStatement(),this.state.labels.pop(),this.finishNode(e,`WhileStatement`)}parseWithStatement(e){return this.state.strict&&this.raise(G.StrictWith,this.state.startLoc),this.next(),e.object=this.parseHeaderExpression(),e.body=this.parseStatement(),this.finishNode(e,`WithStatement`)}parseEmptyStatement(e){return this.next(),this.finishNode(e,`EmptyStatement`)}parseLabeledStatement(e,t,n,r){for(let e of this.state.labels)e.name===t&&this.raise(G.LabelRedeclaration,n,{labelName:t});let i=Fd(this.state.type)?1:this.match(67)?2:null;for(let t=this.state.labels.length-1;t>=0;t--){let n=this.state.labels[t];if(n.statementStart===e.start)n.statementStart=this.sourceToOffsetPos(this.state.start),n.kind=i;else break}return this.state.labels.push({name:t,kind:i,statementStart:this.sourceToOffsetPos(this.state.start)}),e.body=r&8?this.parseStatementOrSloppyAnnexBFunctionDeclaration(!0):this.parseStatement(),this.state.labels.pop(),e.label=n,this.finishNode(e,`LabeledStatement`)}parseExpressionStatement(e,t){return e.expression=t,this.semicolon(),this.finishNode(e,`ExpressionStatement`)}parseBlock(e=!1,t=!0,n){let r=this.startNode();return e&&this.state.strictErrors.clear(),this.expect(2),t&&this.scope.enter(0),this.parseBlockBody(r,e,!1,4,n),t&&this.scope.exit(),this.finishNode(r,`BlockStatement`)}isValidDirective(e){return e.type===`ExpressionStatement`&&e.expression.type===`StringLiteral`&&!e.expression.extra.parenthesized}parseBlockBody(e,t,n,r,i){let a=e.body=[],o=e.directives=[];this.parseBlockOrModuleBlockBody(a,t?o:void 0,n,r,i)}parseBlockOrModuleBlockBody(e,t,n,r,i){let a=this.state.strict,o=!1,s=!1;for(;!this.match(r);){let r=n?this.parseModuleItem():this.parseStatementListItem();if(t&&!s){if(this.isValidDirective(r)){let e=this.stmtToDirective(r);t.push(e),!o&&e.value.value===`use strict`&&(o=!0,this.setStrict(!0));continue}s=!0,this.state.strictErrors.clear()}e.push(r)}i?.call(this,o),a||this.setStrict(!1),this.next()}parseFor(e,t){return e.init=t,this.semicolon(!1),e.test=this.match(9)?null:this.parseExpression(),this.semicolon(!1),e.update=this.match(7)?null:this.parseExpression(),this.expect(7),e.body=this.parseStatement(),this.scope.exit(),this.state.labels.pop(),this.finishNode(e,`ForStatement`)}parseForX(e,t,n){let r=this.match(54);return this.next(),r?n!==null&&this.unexpected(n):e.await=n!==null,t.type===`VariableDeclaration`&&t.declarations[0].init!=null&&(!r||!this.options.annexB||this.state.strict||t.kind!==`var`||t.declarations[0].id.type!==`Identifier`)&&this.raise(G.ForInOfLoopInitializer,t,{type:r?`ForInStatement`:`ForOfStatement`}),t.type===`AssignmentPattern`&&this.raise(G.InvalidLhs,t,{ancestor:{type:`ForStatement`}}),e.left=t,e.right=r?this.parseExpression():this.parseMaybeAssignAllowIn(),this.expect(7),e.body=this.parseStatement(),this.scope.exit(),this.state.labels.pop(),this.finishNode(e,r?`ForInStatement`:`ForOfStatement`)}parseVar(e,t,n,r=!1){let i=e.declarations=[];for(e.kind=n;;){let e=this.startNode();if(this.parseVarId(e,n),e.init=this.eat(25)?t?this.parseMaybeAssignDisallowIn():this.parseMaybeAssignAllowIn():null,e.init===null&&!r&&(e.id.type!==`Identifier`&&!(t&&(this.match(54)||this.isContextual(98)))?this.raise(G.DeclarationMissingInitializer,this.state.lastTokEndLoc,{kind:`destructuring`}):(n===`const`||n===`using`||n===`await using`)&&!(this.match(54)||this.isContextual(98))&&this.raise(G.DeclarationMissingInitializer,this.state.lastTokEndLoc,{kind:n})),i.push(this.finishNode(e,`VariableDeclarator`)),!this.eat(8))break}return e}parseVarId(e,t){let n=this.parseBindingAtom();t===`using`||t===`await using`?(n.type===`ArrayPattern`||n.type===`ObjectPattern`)&&this.raise(G.UsingDeclarationHasBindingPattern,n):n.type===`VoidPattern`&&this.raise(G.UnexpectedVoidPattern,n),this.checkLVal(n,{type:`VariableDeclarator`},t===`var`?5:8201),e.id=n}parseAsyncFunctionExpression(e){return this.parseFunction(e,8)}parseFunction(e,t=0){let n=t&2,r=!!(t&1),i=r&&!(t&4),a=!!(t&8);return this.initFunction(e,a),this.match(51)&&(n&&this.raise(G.GeneratorInSingleStatementContext,this.state.startLoc),this.next(),e.generator=!0),r&&(e.id=this.parseFunctionId(i)),this.scope.enter(514),this.prodParam.enter(_p(a,e.generator)),r||(e.id=this.parseFunctionId()),this.parseFunctionParams(e,!1),this.parseFunctionBodyAndFinish(e,r?`FunctionDeclaration`:`FunctionExpression`),this.prodParam.exit(),this.scope.exit(),r&&!n&&this.registerFunctionStatementId(e),e}parseFunctionId(e){return e||Dd(this.state.type)?this.parseIdentifier():null}parseFunctionParams(e,t){this.expect(6),this.expressionScope.enter(fp()),e.params=this.parseBindingList(7,41,2|(t?4:0)),this.expressionScope.exit()}registerFunctionStatementId(e){e.id&&this.scope.declareName(e.id.name,!this.options.annexB||this.state.strict||e.generator||e.async?this.scope.treatFunctionsAsVar?5:8201:17,e.id.start)}parseClass(e,t,n){this.next();let r=this.state.strict;return this.state.strict=!0,this.parseClassId(e,t,n),this.parseClassSuper(e),e.body=this.parseClassBody(!!e.superClass,r),this.finishNode(e,t?`ClassDeclaration`:`ClassExpression`)}isClassProperty(){return this.match(25)||this.match(9)||this.match(4)}isClassMethod(){return this.match(6)}nameIsConstructor(e){return e.type===`Identifier`&&e.name===`constructor`||e.type===`StringLiteral`&&e.value===`constructor`}isNonstaticConstructor(e){return!e.computed&&!e.static&&this.nameIsConstructor(e.key)}parseClassBody(e,t){this.classScope.enter();let n={hadConstructor:!1,hadSuperClass:e},r=[],i=this.startNode();for(i.body=[],this.expect(2);!this.match(4);){if(this.eat(9)){if(r.length>0)throw this.raise(G.DecoratorSemicolon,this.state.lastTokEndLoc);continue}if(this.match(22)){r.push(this.parseDecorator());continue}let e=this.startNode();r.length&&(e.decorators=r,this.resetStartLocationFromNode(e,r[0]),r=[]),this.parseClassMember(i,e,n)}if(this.state.strict=t,this.next(),r.length)throw this.raise(G.TrailingDecorator,this.state.startLoc);return this.classScope.exit(),this.finishNode(i,`ClassBody`)}parseClassMemberFromModifier(e,t){let n=this.parseIdentifier(!0);if(this.isClassMethod()){let r=t;return r.kind=`method`,r.computed=!1,r.key=n,r.static=!1,this.pushClassMethod(e,r,!1,!1,!1,!1),!0}if(this.isClassProperty()){let r=t;return r.computed=!1,r.key=n,r.static=!1,e.body.push(this.parseClassProperty(r)),!0}return this.resetPreviousNodeTrailingComments(n),!1}parseClassMember(e,t,n){let r=this.isContextual(102);if(r){if(this.parseClassMemberFromModifier(e,t))return;if(this.eat(2)){this.parseClassStaticBlock(e,t);return}}this.parseClassMemberWithIsStatic(e,t,n,r)}parseClassMemberWithIsStatic(e,t,n,r){let i=t,a=t,o=t,s=t,c=t,l=i,u=i;if(t.static=r,this.parsePropertyNamePrefixOperator(t),this.eat(51)){l.kind=`method`;let t=this.match(134);if(this.parseClassElementName(l),this.parsePostMemberNameModifiers(l),t){this.pushClassPrivateMethod(e,a,!0,!1);return}this.isNonstaticConstructor(i)&&this.raise(G.ConstructorIsGenerator,i.key),this.pushClassMethod(e,i,!0,!1,!1,!1);return}let d=!this.state.containsEsc&&Dd(this.state.type),f=this.parseClassElementName(t),p=d?f.name:null,m=this.isPrivateName(f),h=this.state.startLoc;if(this.parsePostMemberNameModifiers(u),this.isClassMethod()){if(l.kind=`method`,m){this.pushClassPrivateMethod(e,a,!1,!1);return}let r=this.isNonstaticConstructor(i),o=!1;r&&(i.kind=`constructor`,i.decorators&&i.decorators.length>0&&this.raise(G.DecoratorConstructor,t),n.hadConstructor&&!this.hasPlugin(`typescript`)&&this.raise(G.DuplicateConstructor,f),r&&this.hasPlugin(`typescript`)&&t.override&&this.raise(G.OverrideOnConstructor,f),n.hadConstructor=!0,o=n.hadSuperClass),this.pushClassMethod(e,i,!1,!1,r,o)}else if(this.isClassProperty())m?this.pushClassPrivateProperty(e,s):this.pushClassProperty(e,o);else if(p===`async`&&!this.isLineTerminator()){this.resetPreviousNodeTrailingComments(f);let t=this.eat(51);u.optional&&this.unexpected(h),l.kind=`method`;let n=this.match(134);this.parseClassElementName(l),this.parsePostMemberNameModifiers(u),n?this.pushClassPrivateMethod(e,a,t,!0):(this.isNonstaticConstructor(i)&&this.raise(G.ConstructorIsAsync,i.key),this.pushClassMethod(e,i,t,!0,!1,!1))}else if((p===`get`||p===`set`)&&!(this.match(51)&&this.isLineTerminator())){this.resetPreviousNodeTrailingComments(f),l.kind=p;let t=this.match(134);this.parseClassElementName(i),t?this.pushClassPrivateMethod(e,a,!1,!1):(this.isNonstaticConstructor(i)&&this.raise(G.ConstructorIsAccessor,i.key),this.pushClassMethod(e,i,!1,!1,!1,!1)),this.checkGetterSetterParams(i)}else if(p===`accessor`&&!this.isLineTerminator()){this.expectPlugin(`decoratorAutoAccessors`),this.resetPreviousNodeTrailingComments(f);let t=this.match(134);this.parseClassElementName(o),this.pushClassAccessorProperty(e,c,t)}else this.isLineTerminator()?m?this.pushClassPrivateProperty(e,s):this.pushClassProperty(e,o):this.unexpected()}parseClassElementName(e){let{type:t,value:n}=this.state;if((t===128||t===130)&&e.static&&n===`prototype`&&this.raise(G.StaticPrototype,this.state.startLoc),t===134){n===`constructor`&&this.raise(G.ConstructorClassPrivateField,this.state.startLoc);let t=this.parsePrivateName();return e.key=t,t}return this.parsePropertyName(e),e.key}parseClassStaticBlock(e,t){this.scope.enter(720);let n=this.state.labels;this.state.labels=[],this.prodParam.enter(0);let r=t.body=[];this.parseBlockOrModuleBlockBody(r,void 0,!1,4),this.prodParam.exit(),this.scope.exit(),this.state.labels=n,e.body.push(this.finishNode(t,`StaticBlock`)),t.decorators?.length&&this.raise(G.DecoratorStaticBlock,t)}pushClassProperty(e,t){!t.computed&&this.nameIsConstructor(t.key)&&this.raise(G.ConstructorClassField,t.key),e.body.push(this.parseClassProperty(t))}pushClassPrivateProperty(e,t){let n=this.parseClassPrivateProperty(t);e.body.push(n),this.classScope.declarePrivateName(this.getPrivateNameSV(n.key),0,n.key.start)}pushClassAccessorProperty(e,t,n){!n&&!t.computed&&this.nameIsConstructor(t.key)&&this.raise(G.ConstructorClassField,t.key);let r=this.parseClassAccessorProperty(t);e.body.push(r),n&&this.classScope.declarePrivateName(this.getPrivateNameSV(r.key),0,r.key.start)}pushClassMethod(e,t,n,r,i,a){e.body.push(this.parseMethod(t,n,r,i,a,`ClassMethod`,!0))}pushClassPrivateMethod(e,t,n,r){let i=this.parseMethod(t,n,r,!1,!1,`ClassPrivateMethod`,!0);e.body.push(i);let a=i.kind===`get`?i.static?6:2:i.kind===`set`?i.static?5:1:0;this.declareClassPrivateMethodInScope(i,a)}declareClassPrivateMethodInScope(e,t){this.classScope.declarePrivateName(this.getPrivateNameSV(e.key),t,e.key.start)}parsePostMemberNameModifiers(e){}parseClassPrivateProperty(e){return this.parseInitializer(e),this.semicolon(),this.finishNode(e,`ClassPrivateProperty`)}parseClassProperty(e){return this.parseInitializer(e),this.semicolon(),this.finishNode(e,`ClassProperty`)}parseClassAccessorProperty(e){return this.parseInitializer(e),this.semicolon(),this.finishNode(e,`ClassAccessorProperty`)}parseInitializer(e){this.scope.enter(592),this.expressionScope.enter(hp()),this.prodParam.enter(0),e.value=this.eat(25)?this.parseMaybeAssignAllowIn():null,this.expressionScope.exit(),this.prodParam.exit(),this.scope.exit()}parseClassId(e,t,n,r=8331){if(Dd(this.state.type))e.id=this.parseIdentifier(),t&&this.declareNameFromIdentifier(e.id,r);else if(n||!t)e.id=null;else throw this.raise(G.MissingClassName,this.state.startLoc)}parseClassSuper(e){this.eat(77)?(this.state.canStartArrow=!1,e.superClass=this.parseExprSubscripts()):e.superClass=null}parseExport(e,t){let n=this.parseMaybeImportPhase(e,!0),r=this.maybeParseExportDefaultSpecifier(e,n),i=!r||this.eat(8),a=i&&this.eatExportStar(e),o=a&&this.maybeParseExportNamespaceSpecifier(e),s=i&&(!o||this.eat(8)),c=r||a;if(a&&!o){if(r&&this.unexpected(),t)throw this.raise(G.UnsupportedDecoratorExport,e);return this.parseExportFrom(e,!0),this.sawUnambiguousESM=!0,this.finishNode(e,`ExportAllDeclaration`)}let l=this.maybeParseExportNamedSpecifiers(e);r&&i&&!a&&!l&&this.unexpected(null,2),o&&s&&this.unexpected(null,94);let u;if(c||l){if(u=!1,t)throw this.raise(G.UnsupportedDecoratorExport,e);this.parseExportFrom(e,c)}else u=this.maybeParseExportDeclaration(e);if(c||l||u){let n=e;if(this.checkNamedExport(n,!!n.source),n.declaration?.type===`ClassDeclaration`)this.maybeTakeDecorators(t,n.declaration,n);else if(t)throw this.raise(G.UnsupportedDecoratorExport,e);return this.sawUnambiguousESM=!0,this.finishNode(n,`ExportNamedDeclaration`)}if(this.eat(61)){let n=e,r=this.parseExportDefaultExpression();if(n.declaration=r,r.type===`ClassDeclaration`)this.maybeTakeDecorators(t,r,n);else if(t)throw this.raise(G.UnsupportedDecoratorExport,e);return this.checkDuplicateExports(e,`default`),this.hasPlugin(`exportDefaultFrom`)&&r.type===`Identifier`&&r.name===`from`&&r.end-r.start===4&&!r.extra?.parenthesized&&this.raise(G.ExportDefaultFromAsIdentifier,r),this.sawUnambiguousESM=!0,this.finishNode(n,`ExportDefaultDeclaration`)}throw this.unexpected(null,2)}eatExportStar(e){return this.eat(51)}maybeParseExportDefaultSpecifier(e,t){if(t||this.isExportDefaultSpecifier()){this.expectPlugin(`exportDefaultFrom`,t?.start);let n=t||this.parseIdentifier(!0),r=this.startNodeAtNode(n);return r.exported=n,e.specifiers=[this.finishNode(r,`ExportDefaultSpecifier`)],!0}return!1}maybeParseExportNamespaceSpecifier(e){if(this.isContextual(89)){e.specifiers??=[];let t=this.startNodeAt(this.state.lastTokStartLoc);return this.next(),t.exported=this.parseModuleExportName(),e.specifiers.push(this.finishNode(t,`ExportNamespaceSpecifier`)),!0}return!1}maybeParseExportNamedSpecifiers(e){if(this.match(2)){let t=e;t.specifiers||=[];let n=t.exportKind===`type`;return t.specifiers.push(...this.parseExportSpecifiers(n)),t.source=null,t.attributes=[],t.declaration=null,!0}return!1}maybeParseExportDeclaration(e){return this.shouldParseExportDeclaration()?(e.specifiers=[],e.source=null,e.attributes=[],e.declaration=this.parseExportDeclaration(e),!0):!1}isAsyncFunction(){if(!this.isContextual(91))return!1;let e=this.nextTokenInLineStart();return this.isUnparsedContextual(e,`function`)}parseExportDefaultExpression(){let e=this.startNode();if(this.match(64))return this.next(),this.parseFunction(e,5);if(this.isAsyncFunction())return this.next(),this.next(),this.parseFunction(e,13);if(this.match(76))return this.parseClass(e,!0,!0);if(this.match(22))return this.parseClass(this.maybeTakeDecorators(this.parseDecorators(!1),this.startNode()),!0,!0);if(this.match(71)||this.match(70)||this.isLet()||this.isUsing()||this.isAwaitUsing())throw this.raise(G.UnsupportedDefaultExport,this.state.startLoc);let t=this.parseMaybeAssignAllowIn();return this.semicolon(),t}parseExportDeclaration(e){return this.match(76)?this.parseClass(this.startNode(),!0,!1):this.parseStatementListItem()}isExportDefaultSpecifier(){let{type:e}=this.state;if(Dd(e)){if(e===91&&!this.state.containsEsc||e===96)return!1;if((e===126||e===125)&&!this.state.containsEsc){let e=this.nextTokenStart(),t=this.input.charCodeAt(e);if(t===123||this.chStartsBindingIdentifier(t,e)&&!this.input.startsWith(`from`,e))return this.expectOnePlugin([`flow`,`typescript`]),!1}}else if(!this.match(61))return!1;let t=this.nextTokenStart(),n=this.isUnparsedContextual(t,`from`);if(this.input.charCodeAt(t)===44||Dd(this.state.type)&&n)return!0;if(this.match(61)&&n){let e=this.input.charCodeAt(this.nextTokenStartSince(t+4));return e===34||e===39}return!1}parseExportFrom(e,t){this.eatContextual(94)?(e.source=this.parseImportSource(),this.maybeParseImportAttributes(e)):t&&this.unexpected(),this.semicolon()}shouldParseExportDeclaration(){let{type:e}=this.state;return e===22&&(this.expectOnePlugin([`decorators`,`decorators-legacy`]),this.hasPlugin(`decorators`))?!0:this.isUsing()||this.isAwaitUsing()?(this.raise(G.UsingDeclarationExport,this.state.startLoc),!0):e===70||e===71||e===64||e===76||this.isLet()||this.isAsyncFunction()}checkNamedExport(e,t){if(e.specifiers?.length)for(let n of e.specifiers){let{exported:e}=n,r=e.type===`Identifier`?e.name:e.value;if(this.checkDuplicateExports(n,r),!t&&n.type===`ExportSpecifier`){let{local:e}=n;e.type===`Identifier`?(this.checkReservedWord(e.name,e.start,!0,!1),this.scope.checkLocalExport(e)):this.raise(G.ExportBindingIsString,n,{localName:e.value,exportName:r})}}else if(e.declaration){let t=e.declaration;if(t.type===`FunctionDeclaration`||t.type===`ClassDeclaration`){let{id:n}=t;if(!n)throw Error(`Assertion failure`);this.checkDuplicateExports(e,n.name)}else if(t.type===`VariableDeclaration`)for(let e of t.declarations)this.checkDeclaration(e.id)}}checkDeclaration(e){if(e.type===`Identifier`)this.checkDuplicateExports(e,e.name);else if(e.type===`ObjectPattern`)for(let t of e.properties)this.checkDeclaration(t);else if(e.type===`ArrayPattern`)for(let t of e.elements)t&&this.checkDeclaration(t);else e.type===`ObjectProperty`?this.checkDeclaration(e.value):e.type===`RestElement`?this.checkDeclaration(e.argument):e.type===`AssignmentPattern`&&this.checkDeclaration(e.left)}checkDuplicateExports(e,t){this.exportedIdentifiers.has(t)&&(t==="default"?this.raise(G.DuplicateDefaultExport,e):this.raise(G.DuplicateExport,e,{exportName:t})),this.exportedIdentifiers.add(t)}parseExportSpecifiers(e){let t=[],n=!0;for(this.expect(2);!this.eat(4);){if(n)n=!1;else if(this.expect(8),this.eat(4))break;let r=this.isContextual(126),i=this.match(130),a=this.startNode();a.local=this.parseModuleExportName(),t.push(this.parseExportSpecifier(a,i,e,r))}return t}parseExportSpecifier(e,t,n,r){return this.eatContextual(89)?e.exported=this.parseModuleExportName():t?e.exported=this.cloneStringLiteral(e.local):e.exported||=this.cloneIdentifier(e.local),this.finishNode(e,`ExportSpecifier`)}parseModuleExportName(){if(this.match(130)){let e=this.parseStringLiteral(this.state.value),t=Op.exec(e.value);return t&&this.raise(G.ModuleExportNameHasLoneSurrogate,e,{surrogateCharCode:t[0].charCodeAt(0)}),e}return this.parseIdentifier(!0)}checkImportPhase(e){let{specifiers:t}=e,n=t.length===1?t[0].type:null;e.phase===`source`?n!==`ImportDefaultSpecifier`&&this.raise(G.SourcePhaseImportRequiresDefault,t[0]):e.phase===`defer`&&n!==`ImportNamespaceSpecifier`&&this.raise(G.DeferImportRequiresNamespace,t[0])}isPotentialImportPhase(e){return e?!1:this.isContextual(101)||this.isContextual(93)}applyImportPhase(e,t,n,r){t||(n===`source`?(this.expectPlugin(`sourcePhaseImports`,r),e.phase=`source`):n===`defer`?(this.expectPlugin(`deferredImportEvaluation`,r),e.phase=`defer`):this.hasPlugin(`sourcePhaseImports`)&&(e.phase=null))}parseMaybeImportPhase(e,t){if(!this.isPotentialImportPhase(t))return this.applyImportPhase(e,t,null),null;let n=this.startNode(),r=this.parseIdentifierName(!0),{type:i}=this.state;return(kd(i)?i!==94||this.lookaheadCharCode()===102:i!==8)?(this.applyImportPhase(e,t,r,n.start),null):(this.applyImportPhase(e,t,null),this.createIdentifier(n,r))}isPrecedingIdImportPhase(e){let{type:t}=this.state;return Dd(t)?t!==94||this.lookaheadCharCode()===102:t!==8}parseImport(e){return this.match(130)?this.parseImportSourceAndAttributes(e):this.parseImportSpecifiersAndAfter(e,this.parseMaybeImportPhase(e,!1))}parseImportSpecifiersAndAfter(e,t){e.specifiers=[];let n=!this.maybeParseDefaultImportSpecifier(e,t)||this.eat(8),r=n&&this.maybeParseStarImportSpecifier(e);return n&&!r&&this.parseNamedImportSpecifiers(e),this.expectContextual(94),this.parseImportSourceAndAttributes(e)}parseImportSourceAndAttributes(e){return e.specifiers??=[],e.source=this.parseImportSource(),this.maybeParseImportAttributes(e),this.checkImportPhase(e),this.semicolon(),this.sawUnambiguousESM=!0,this.finishNode(e,`ImportDeclaration`)}parseImportSource(){return this.match(130)||this.unexpected(),this.parseExprAtom()}parseImportSpecifierLocal(e,t,n){t.local=this.parseIdentifier(),e.specifiers.push(this.finishImportSpecifier(t,n))}finishImportSpecifier(e,t,n=8201){return this.checkLVal(e.local,{type:t},n),this.finishNode(e,t)}parseImportAttributes(){this.expect(2);let e=[],t=new Set;do{if(this.match(4))break;let n=this.startNode(),r=this.state.value;if(t.has(r)&&this.raise(G.ModuleAttributesWithDuplicateKeys,this.state.startLoc,{key:r}),t.add(r),n.key=this.match(130)?this.parseStringLiteral(r):this.parseIdentifier(!0),this.expect(10),!this.match(130))throw this.raise(G.ModuleAttributeInvalidValue,this.state.startLoc);n.value=this.parseStringLiteral(this.state.value),e.push(this.finishNode(n,`ImportAttribute`))}while(this.eat(8));return this.expect(4),e}maybeParseImportAttributes(e){let t;if(this.match(72)){if(this.hasPrecedingLineBreak()&&this.lookaheadCharCode()===40)return;this.next(),t=this.parseImportAttributes()}else t=[];e.attributes=t}maybeParseDefaultImportSpecifier(e,t){if(t){let n=this.startNodeAtNode(t);return n.local=t,e.specifiers.push(this.finishImportSpecifier(n,`ImportDefaultSpecifier`)),!0}return kd(this.state.type)?(this.parseImportSpecifierLocal(e,this.startNode(),`ImportDefaultSpecifier`),!0):!1}maybeParseStarImportSpecifier(e){if(this.match(51)){let t=this.startNode();return this.next(),this.expectContextual(89),this.parseImportSpecifierLocal(e,t,`ImportNamespaceSpecifier`),!0}return!1}parseNamedImportSpecifiers(e){let t=!0;for(this.expect(2);!this.eat(4);){if(t)t=!1;else{if(this.eat(10))throw this.raise(G.DestructureNamedImport,this.state.startLoc);if(this.expect(8),this.eat(4))break}let n=this.startNode(),r=this.match(130),i=this.isContextual(126);n.imported=this.parseModuleExportName();let a=this.parseImportSpecifier(n,r,e.importKind===`type`||e.importKind===`typeof`,i,void 0);e.specifiers.push(a)}}parseImportSpecifier(e,t,n,r,i){if(this.eatContextual(89))e.local=this.parseIdentifier();else{let{imported:n}=e;if(t)throw this.raise(G.ImportBindingIsString,e,{importName:n.value});this.checkReservedWord(n.name,e.start,!0,!0),e.local||=this.cloneIdentifier(n)}return this.finishImportSpecifier(e,`ImportSpecifier`,i)}isThisParam(e){return e.type===`Identifier`&&e.name===`this`}},Mp=/in(?:stanceof)?|as|satisfies/y;function Np(e){if(e==null)throw Error(`Unexpected ${e} value.`);return e}function Pp(e){if(!e)throw Error(`Assert fail`)}var q=rd`typescript`({AbstractMethodHasImplementation:({methodName:e})=>`Method '${e}' cannot have an implementation because it is marked abstract.`,AbstractPropertyHasInitializer:({propertyName:e})=>`Property '${e}' cannot have an initializer because it is marked abstract.`,AccessorCannotBeOptional:`An 'accessor' property cannot be declared optional.`,AccessorCannotDeclareThisParameter:`'get' and 'set' accessors cannot declare 'this' parameters.`,AccessorCannotHaveTypeParameters:`An accessor cannot have type parameters.`,ClassMethodHasDeclare:`Class methods cannot have the 'declare' modifier.`,ClassMethodHasReadonly:`Class methods cannot have the 'readonly' modifier.`,ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference:`A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference.`,ConstructorHasTypeParameters:`Type parameters cannot appear on a constructor declaration.`,DeclaratorDefiniteAssertionRequiresTypeAnnotation:`Declarations with definite assignment assertions must also have type annotations.`,DeclaratorDefiniteAssertionWithInitializer:`Declarations with initializers cannot also have definite assignment assertions.`,DeclareAccessor:({kind:e})=>`'declare' is not allowed in ${e}ters.`,DeclareClassFieldHasInitializer:`Initializers are not allowed in ambient contexts.`,DeclareFunctionHasImplementation:`An implementation cannot be declared in ambient contexts.`,DecoratorAbstractMethod:({kind:e})=>`Decorators can't be used with ${e.startsWith(`a`)?`an`:`a`} ${e}.`,DuplicateAccessibilityModifier:({modifier:e})=>`Accessibility modifier already seen: '${e}'.`,DuplicateModifier:({modifier:e})=>`Duplicate modifier: '${e}'.`,EmptyHeritageClauseType:({token:e})=>`'${e}' list cannot be empty.`,EmptyNamespaceName:`Namespace must be given a name.`,EmptyTypeArguments:`Type argument list cannot be empty.`,EmptyTypeParameters:`Type parameter list cannot be empty.`,ExpectedAmbientAfterExportDeclare:`'export declare' must be followed by an ambient declaration.`,ExportAssignmentInTSNamespace:`An export assignment cannot be used in a namespace.`,ExportInTSNamespace:`Export declarations are not permitted in a namespace.`,ImportAliasHasImportType:`An import alias can not use 'import type'.`,ImportInTSNamespace:`Import declarations in a namespace cannot reference a module.`,IncompatibleModifiers:({modifiers:e})=>`'${e[0]}' modifier cannot be used with '${e[1]}' modifier.`,IndexSignatureHasAbstract:`Index signatures cannot have the 'abstract' modifier.`,IndexSignatureHasAccessibility:({modifier:e})=>`Index signatures cannot have an accessibility modifier ('${e}').`,IndexSignatureHasDeclare:`Index signatures cannot have the 'declare' modifier.`,IndexSignatureHasOverride:`'override' modifier cannot appear on an index signature.`,IndexSignatureHasStatic:`Index signatures cannot have the 'static' modifier.`,InitializerNotAllowedInAmbientContext:`Initializers are not allowed in ambient contexts.`,InlineModuleDeclarationMustUseString:"`module ... {}` declarations must have a string name. Use `namespace ... {}` instead.",InvalidHeritageClauseType:({token:e})=>`'${e}' list can only include identifiers or qualified-names with optional type arguments.`,InvalidModifierOnAwaitUsingDeclaration:e=>`'${e}' modifier cannot appear on an await using declaration.`,InvalidModifierOnTypeMember:({modifier:e})=>`'${e}' modifier cannot appear on a type member.`,InvalidModifierOnTypeParameter:({modifier:e})=>`'${e}' modifier cannot appear on a type parameter.`,InvalidModifierOnTypeParameterPositions:({modifier:e})=>`'${e}' modifier can only appear on a type parameter of a class, interface or type alias.`,InvalidModifierOnUsingDeclaration:e=>`'${e}' modifier cannot appear on a using declaration.`,InvalidModifiersOrder:({orderedModifiers:e})=>`'${e[0]}' modifier must precede '${e[1]}' modifier.`,InvalidNamespaceName:e=>`Namespace name cannot be '${e}'.`,InvalidPropertyAccessAfterInstantiationExpression:`Invalid property access after an instantiation expression. You can either wrap the instantiation expression in parentheses, or delete the type arguments.`,InvalidTupleMemberLabel:`Tuple members must be labeled with a simple identifier.`,MissingInterfaceName:`'interface' declarations must be followed by an identifier.`,NamespaceExportInTSNamespace:`Global module exports may only appear at top level.`,NonAbstractClassHasAbstractMethod:`Abstract methods can only appear within an abstract class.`,NonClassMethodPropertyHasAbstractModifier:`'abstract' modifier can only appear on a class, method, or property declaration.`,OptionalTypeBeforeRequired:`A required element cannot follow an optional element.`,OverrideNotInSubClass:`This member cannot have an 'override' modifier because its containing class does not extend another class.`,PatternIsOptional:`A binding pattern parameter cannot be optional in an implementation signature.`,PrivateElementHasAbstract:`Private elements cannot have the 'abstract' modifier.`,PrivateElementHasAccessibility:({modifier:e})=>`Private elements cannot have an accessibility modifier ('${e}').`,ReadonlyForMethodSignature:`'readonly' modifier can only appear on a property declaration or index signature.`,ReservedArrowTypeParam:"This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma, as in `<T,>() => ...`.",ReservedTypeAssertion:"This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead.",SetAccessorCannotHaveOptionalParameter:`A 'set' accessor cannot have an optional parameter.`,SetAccessorCannotHaveRestParameter:`A 'set' accessor cannot have rest parameter.`,SetAccessorCannotHaveReturnType:`A 'set' accessor cannot have a return type annotation.`,SingleTypeParameterWithoutTrailingComma:({typeParameterName:e})=>`Single type parameter ${e} should have a trailing comma. Example usage: <${e},>.`,StaticBlockCannotHaveModifier:`Static class blocks cannot have any modifier.`,TupleOptionalAfterType:"A labeled tuple optional element must be declared using a question mark after the name and before the colon (`name?: type`), rather than after the type (`name: type?`).",TypeAnnotationAfterAssign:"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.",TypeImportCannotSpecifyDefaultAndNamed:`A type-only import can specify a default import or named bindings, but not both.`,TypeModifierIsUsedInTypeExports:`The 'type' modifier cannot be used on a named export when 'export type' is used on its export statement.`,TypeModifierIsUsedInTypeImports:`The 'type' modifier cannot be used on a named import when 'import type' is used on its import statement.`,UnexpectedParameterInitializer:`A parameter initializer is only allowed in a function or constructor implementation.`,UnexpectedParameterModifier:`A parameter property is only allowed in a constructor implementation.`,UnexpectedReadonly:`'readonly' type modifier is only permitted on array and tuple literal types.`,UnexpectedTypeAnnotation:`Did not expect a type annotation here.`,UnexpectedTypeCastInParameter:`Unexpected type cast in parameter position.`,UnexpectedTypeDeclaration:e=>`'${e}' declarations can only be declared inside a block.`,UnsupportedImportTypeArgument:`Argument in a type import must be a string literal.`,UnsupportedParameterPropertyKind:`A parameter property may not be declared using a binding pattern.`,UnsupportedSignatureParameterKind:({type:e})=>`Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got ${e}.`,UsingDeclarationInAmbientContext:e=>`'${e}' declarations are not allowed in ambient contexts.`});function Fp(e){switch(e){case`any`:return`TSAnyKeyword`;case`boolean`:return`TSBooleanKeyword`;case`bigint`:return`TSBigIntKeyword`;case`never`:return`TSNeverKeyword`;case`number`:return`TSNumberKeyword`;case`object`:return`TSObjectKeyword`;case`string`:return`TSStringKeyword`;case`symbol`:return`TSSymbolKeyword`;case`undefined`:return`TSUndefinedKeyword`;case`unknown`:return`TSUnknownKeyword`;default:return}}function Ip(e){return e===`private`||e===`public`||e===`protected`}function Lp(e){return e===`in`||e===`out`}function Rp(e){if(e.extra?.parenthesized)return!1;switch(e.type){case`Identifier`:return!0;case`MemberExpression`:return!e.computed&&Rp(e.object);case`TSInstantiationExpression`:return Rp(e.expression);default:return!1}}var zp=Yp([`declare`,`private`,`public`,`protected`,`override`,`abstract`,`readonly`,`static`],[`in`,`out`]),Bp=Yp([`readonly`],[`declare`,`abstract`,`private`,`protected`,`public`,`static`,`override`]),Vp=Yp([`public`,`private`,`protected`,`override`,`readonly`]),Hp=Yp([`private`,`public`,`protected`]),Up=e=>class extends e{getScopeHandler(){return zf}tsIsIdentifier(){return Dd(this.state.type)}tsTokenCanFollowModifier(){return this.match(0)||this.match(2)||this.match(51)||this.match(17)||this.match(134)||this.isLiteralPropertyName()}tsNextTokenOnSameLineAndCanFollowModifier(){return this.next(),!this.hasPrecedingLineBreak()&&this.tsTokenCanFollowModifier()}tsNextTokenCanFollowModifier(){return this.match(102)?(this.next(),this.tsTokenCanFollowModifier()):this.tsNextTokenOnSameLineAndCanFollowModifier()}tsParseModifier(e,t,n){if(!Dd(this.state.type)&&this.state.type!==54&&this.state.type!==71)return;let r=this.state.value;if(e.has(r)){if(n&&this.match(102)||t&&this.tsIsStartOfStaticBlocks())return;if(this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this)))return r}}tsParseModifiers(e,t=q.InvalidModifierOnTypeMember,n,r=!1){let i=(e,t,r,i)=>{t===r&&n[i]&&this.raise(q.InvalidModifiersOrder,e,{orderedModifiers:[r,i]})},a=(e,t,r,i)=>{(n[r]&&t===i||n[i]&&t===r)&&this.raise(q.IncompatibleModifiers,e,{modifiers:[r,i]})};for(;;){let{startLoc:o}=this.state,s=this.tsParseModifier(e,r,n.static);if(!s)break;Ip(s)?n.accessibility?this.raise(q.DuplicateAccessibilityModifier,o,{modifier:s}):(i(o,s,s,`override`),i(o,s,s,`static`),i(o,s,s,`readonly`),n.accessibility=s):Lp(s)?(n[s]&&this.raise(q.DuplicateModifier,o,{modifier:s}),n[s]=!0,i(o,s,`in`,`out`)):(Object.hasOwn(n,s)?this.raise(q.DuplicateModifier,o,{modifier:s}):(i(o,s,`static`,`readonly`),i(o,s,`static`,`override`),i(o,s,`override`,`readonly`),i(o,s,`abstract`,`override`),a(o,s,`declare`,`override`),a(o,s,`static`,`abstract`)),n[s]=!0),e.get(s)||this.raise(t,o,{modifier:s})}}tsIsListTerminator(e){switch(e){case`EnumMembers`:case`TypeMembers`:return this.match(4);case`HeritageClauseElement`:return this.match(2);case`TupleElementTypes`:return this.match(1);case`TypeParametersOrArguments`:return this.match(44)}}tsParseList(e,t){let n=[];for(;!this.tsIsListTerminator(e);)n.push(t());return n}tsParseDelimitedList(e,t,n){return Np(this.tsParseDelimitedListWorker(e,t,!0,n))}tsParseDelimitedListWorker(e,t,n,r){let i=[],a=-1;for(;!this.tsIsListTerminator(e);){a=-1;let r=t();if(r==null)return;if(i.push(r),this.eat(8)){a=this.state.lastTokStartLoc.index;continue}if(this.tsIsListTerminator(e))break;n&&this.expect(8);return}return r&&(r.value=a),i}tsParseBracketedList(e,t,n,r,i){r||(n?this.expect(0):this.expect(43));let a=this.tsParseDelimitedList(e,t,i);return n?this.expect(1):this.expect(44),a}tsParseImportType(){let e=this.startNode();return this.expect(79),this.expect(6),this.match(130)?e.source=this.parseStringLiteral(this.state.value):(this.raise(q.UnsupportedImportTypeArgument,this.state.startLoc),e.source=this.tsParseNonConditionalType()),e.options=this.eat(8)?this.tsParseImportTypeOptions():null,this.expect(7),this.eat(12)&&(e.qualifier=this.tsParseEntityName(3)),this.match(43)&&(e.typeArguments=this.tsParseTypeArguments()),this.finishNode(e,`TSImportType`)}tsParseImportTypeOptions(){let e=this.startNode();this.expect(2);let t=this.startNode();return this.isContextual(72)?(t.method=!1,t.key=this.parseIdentifier(!0),t.computed=!1,t.shorthand=!1):this.unexpected(null,72),this.expect(10),t.value=this.tsParseImportTypeWithPropertyValue(),e.properties=[this.finishObjectProperty(t)],this.eat(8),this.expect(4),this.finishNode(e,`ObjectExpression`)}tsParseImportTypeWithPropertyValue(){let e=this.startNode(),t=[];for(this.expect(2);!this.match(4);){let e=this.state.type;Dd(e)||e===130?t.push(super.parsePropertyDefinition(null)):this.unexpected(),this.eat(8)}return e.properties=t,this.next(),this.finishNode(e,`ObjectExpression`)}tsParseEntityName(e){let t;if(e&1&&this.match(74)){if(e&2)t=this.parseIdentifier(!0);else{let e=this.startNode();this.next(),t=this.finishNode(e,`ThisExpression`)}}else t=this.parseIdentifier(!!(e&1));for(;this.eat(12);){let n=this.startNodeAtNode(t);n.left=t,n.right=this.parseIdentifier(!!(e&1)),t=this.finishNode(n,`TSQualifiedName`)}return t}tsParseTypeReference(){let e=this.startNode();return e.typeName=this.tsParseEntityName(1),!this.hasPrecedingLineBreak()&&this.match(43)&&(e.typeArguments=this.tsParseTypeArguments()),this.finishNode(e,`TSTypeReference`)}tsParseThisTypePredicate(e){this.next();let t=this.startNodeAtNode(e);return t.parameterName=e,t.typeAnnotation=this.tsParseTypeAnnotation(!1),t.asserts=!1,this.finishNode(t,`TSTypePredicate`)}tsParseThisTypeNode(){let e=this.startNode();return this.next(),this.finishNode(e,`TSThisType`)}tsParseTypeQuery(){let e=this.startNode();return this.expect(83),e.exprName=this.match(79)?this.tsParseImportType():this.tsParseEntityName(1),!this.hasPrecedingLineBreak()&&this.match(43)&&(e.typeArguments=this.tsParseTypeArguments()),this.finishNode(e,`TSTypeQuery`)}tsParseInOutModifiers=this.tsParseModifiers.bind(this,Yp([`in`,`out`],[`const`,`public`,`private`,`protected`,`readonly`,`declare`,`abstract`,`override`]),q.InvalidModifierOnTypeParameter);tsParseConstModifier=this.tsParseModifiers.bind(this,Yp([`const`],[`in`,`out`]),q.InvalidModifierOnTypeParameterPositions);tsParseInOutConstModifiers=this.tsParseModifiers.bind(this,Yp([`in`,`out`,`const`],[`public`,`private`,`protected`,`readonly`,`declare`,`abstract`,`override`]),q.InvalidModifierOnTypeParameter);tsParseTypeParameter(e){let t=this.startNode();return e(t),t.name=this.tsParseTypeParameterName(),t.constraint=this.tsEatThenParseType(77),t.default=this.tsEatThenParseType(25),this.finishNode(t,`TSTypeParameter`)}tsTryParseTypeParameters(e){if(this.match(43))return this.tsParseTypeParameters(e)}tsParseTypeParameters(e){let t=this.startNode();this.match(43)||this.match(138)?this.next():this.unexpected();let n={value:-1};return t.params=this.tsParseBracketedList(`TypeParametersOrArguments`,this.tsParseTypeParameter.bind(this,e),!1,!0,n),t.params.length===0&&this.raise(q.EmptyTypeParameters,t),n.value!==-1&&this.addExtra(t,`trailingComma`,n.value),this.finishNode(t,`TSTypeParameterDeclaration`)}tsFillSignature(e,t){let n=e===15;t.typeParameters=this.tsTryParseTypeParameters(this.tsParseConstModifier),this.expect(6),t.params=this.tsParseBindingListForSignature(),(n||this.match(e))&&(t.returnType=this.tsParseTypeOrTypePredicateAnnotation(e))}tsParseBindingListForSignature(){let e=super.parseBindingList(7,41,2);for(let t of e){let{type:e}=t;(e===`AssignmentPattern`||e===`TSParameterProperty`)&&this.raise(q.UnsupportedSignatureParameterKind,t,{type:e})}return e}tsParseTypeMemberSemicolon(){!this.eat(8)&&!this.isLineTerminator()&&this.expect(9)}tsParseSignatureMember(e,t){return this.tsFillSignature(10,t),this.tsParseTypeMemberSemicolon(),this.finishNode(t,e)}tsIsUnambiguouslyIndexSignature(){return this.next(),Dd(this.state.type)?(this.next(),this.match(10)):!1}tsTryParseIndexSignature(e){if(!(this.match(0)&&this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this))))return;this.expect(0);let t=this.parseIdentifier();t.typeAnnotation=this.tsParseTypeAnnotation(),this.resetEndLocation(t),this.expect(1),e.parameters=[t];let n=this.tsTryParseTypeAnnotation();return n&&(e.typeAnnotation=n),this.tsParseTypeMemberSemicolon(),this.finishNode(e,`TSIndexSignature`)}tsParsePropertyOrMethodSignature(e,t){if(this.eat(13)&&(e.optional=!0),this.match(6)||this.match(43)){t&&this.raise(q.ReadonlyForMethodSignature,e);let n=e;if(n.kind&&this.match(43)&&this.raise(q.AccessorCannotHaveTypeParameters,this.state.curPosition()),this.tsFillSignature(10,n),this.tsParseTypeMemberSemicolon(),n.kind===`get`)n.params.length>0&&(this.raise(G.BadGetterArity,this.state.curPosition()),this.isThisParam(n.params[0])&&this.raise(q.AccessorCannotDeclareThisParameter,this.state.curPosition()));else if(n.kind===`set`){if(n.params.length!==1)this.raise(G.BadSetterArity,this.state.curPosition());else{let e=n.params[0];this.isThisParam(e)&&this.raise(q.AccessorCannotDeclareThisParameter,this.state.curPosition()),e.type===`Identifier`&&e.optional&&this.raise(q.SetAccessorCannotHaveOptionalParameter,this.state.curPosition()),e.type===`RestElement`&&this.raise(q.SetAccessorCannotHaveRestParameter,this.state.curPosition())}n.returnType&&this.raise(q.SetAccessorCannotHaveReturnType,n.returnType)}else n.kind=`method`;return this.finishNode(n,`TSMethodSignature`)}{let n=e;t&&(n.readonly=!0);let r=this.tsTryParseTypeAnnotation();return r&&(n.typeAnnotation=r),this.tsParseTypeMemberSemicolon(),this.finishNode(n,`TSPropertySignature`)}}tsParseTypeMember(){let e=this.startNode();if(this.match(6)||this.match(43))return this.tsParseSignatureMember(`TSCallSignatureDeclaration`,e);if(this.match(73)){let t=this.startNode();return this.next(),this.match(6)||this.match(43)?this.tsParseSignatureMember(`TSConstructSignatureDeclaration`,e):(e.key=this.createIdentifier(t,`new`),this.tsParsePropertyOrMethodSignature(e,!1))}return this.tsParseModifiers(Bp,void 0,e),this.tsTryParseIndexSignature(e)||(super.parsePropertyName(e),!e.computed&&e.key.type===`Identifier`&&(e.key.name===`get`||e.key.name===`set`)&&this.tsTokenCanFollowModifier()&&(e.kind=e.key.name,super.parsePropertyName(e),!this.match(6)&&!this.match(43)&&this.unexpected(null,6)),this.tsParsePropertyOrMethodSignature(e,!!e.readonly))}tsParseTypeLiteral(){let e=this.startNode();return e.members=this.tsParseObjectTypeMembers(),this.finishNode(e,`TSTypeLiteral`)}tsParseObjectTypeMembers(){this.expect(2);let e=this.tsParseList(`TypeMembers`,this.tsParseTypeMember.bind(this));return this.expect(4),e}tsIsStartOfMappedType(){return this.next(),this.eat(49)?this.isContextual(118):(this.isContextual(118)&&this.next(),!this.match(0)||(this.next(),!this.tsIsIdentifier())?!1:(this.next(),this.match(54)))}tsParseMappedType(){let e=this.startNode();return this.expect(2),this.match(49)?(e.readonly=this.state.value,this.next(),this.expectContextual(118)):this.eatContextual(118)&&(e.readonly=!0),this.expect(0),e.key=this.tsParseTypeParameterName(),e.constraint=this.tsExpectThenParseType(54),e.nameType=this.eatContextual(89)?this.tsParseType():null,this.expect(1),this.match(49)?(e.optional=this.state.value,this.next(),this.expect(13)):this.eat(13)&&(e.optional=!0),e.typeAnnotation=this.tsTryParseType(),this.semicolon(),this.expect(4),this.finishNode(e,`TSMappedType`)}tsParseTupleType(){let e=this.startNode();e.elementTypes=this.tsParseBracketedList(`TupleElementTypes`,this.tsParseTupleElementType.bind(this),!0,!1);let t=!1;return e.elementTypes.forEach(e=>{let{type:n}=e;t&&n!==`TSRestType`&&n!==`TSOptionalType`&&!(n===`TSNamedTupleMember`&&e.optional)&&this.raise(q.OptionalTypeBeforeRequired,e),t||=n===`TSNamedTupleMember`&&e.optional||n===`TSOptionalType`}),this.finishNode(e,`TSTupleType`)}tsParseTupleElementType(){let e=this.state.startLoc,t=this.eat(17),{startLoc:n}=this.state,r,i,a,o,s=kd(this.state.type)?this.lookaheadCharCode():null;if(s===58)r=!0,a=!1,i=this.parseIdentifier(!0),this.expect(10),o=this.tsParseType();else if(s===63){a=!0;let e=this.state.value,t=this.tsParseNonArrayType();this.lookaheadCharCode()===58?(r=!0,i=this.createIdentifier(this.startNodeAt(n),e),this.expect(13),this.expect(10),o=this.tsParseType()):(r=!1,o=t,this.expect(13))}else o=this.tsParseType(),a=this.eat(13),r=this.eat(10);if(r){let e;i?(e=this.startNodeAt(n),e.optional=a,e.label=i,e.elementType=o,this.eat(13)&&(e.optional=!0,this.raise(q.TupleOptionalAfterType,this.state.lastTokStartLoc))):(e=this.startNodeAt(n),e.optional=a,this.raise(q.InvalidTupleMemberLabel,o),e.label=o,e.elementType=this.tsParseType()),o=this.finishNode(e,`TSNamedTupleMember`)}else if(a){let e=this.startNodeAt(n);e.typeAnnotation=o,o=this.finishNode(e,`TSOptionalType`)}if(t){let t=this.startNodeAt(e);t.typeAnnotation=o,o=this.finishNode(t,`TSRestType`)}return o}tsParseParenthesizedType(){let e=this.startNode();return this.expect(6),e.typeAnnotation=this.tsParseType(),this.expect(7),this.finishNode(e,`TSParenthesizedType`)}tsParseFunctionOrConstructorType(e,t){let n=this.startNode();return e===`TSConstructorType`&&(n.abstract=!!t,t&&this.next(),this.next()),this.tsInAllowConditionalTypesContext(()=>this.tsFillSignature(15,n)),this.finishNode(n,e)}tsParseLiteralTypeNode(){let e=this.startNode();switch(this.state.type){case 131:case 132:case 130:case 81:case 82:e.literal=super.parseExprAtom();break;default:this.unexpected()}return this.finishNode(e,`TSLiteralType`)}tsParseTemplateLiteralType(){let e=this.state.startLoc,t=this.parseTemplateElement(!1),n=[t];if(t.tail){let t=this.startNodeAt(e),r=this.startNodeAt(e);return r.expressions=[],r.quasis=n,t.literal=this.finishNode(r,`TemplateLiteral`),this.finishNode(t,`TSLiteralType`)}{let r=[];for(;!t.tail;)r.push(this.tsParseType()),this.readTemplateContinuation(),n.push(t=this.parseTemplateElement(!1));let i=this.startNodeAt(e);return i.types=r,i.quasis=n,this.finishNode(i,`TSTemplateLiteralType`)}}parseTemplateSubstitution(){return this.state.inType?this.tsParseType():super.parseTemplateSubstitution()}tsParseThisTypeOrThisTypePredicate(){let e=this.tsParseThisTypeNode();return this.isContextual(112)&&!this.hasPrecedingLineBreak()?this.tsParseThisTypePredicate(e):e}tsParseNonArrayType(){switch(this.state.type){case 130:case 131:case 132:case 81:case 82:return this.tsParseLiteralTypeNode();case 49:if(this.state.value===`-`){let e=this.startNode(),t=this.lookahead();return t.type!==131&&t.type!==132&&this.unexpected(),e.literal=this.parseMaybeUnary(),this.finishNode(e,`TSLiteralType`)}break;case 74:return this.tsParseThisTypeOrThisTypePredicate();case 83:return this.tsParseTypeQuery();case 79:return this.tsParseImportType();case 2:return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this))?this.tsParseMappedType():this.tsParseTypeLiteral();case 0:return this.tsParseTupleType();case 6:if(!(this.optionFlags&2048)){let e=this.state.startLoc;this.next();let t=this.tsParseType();return this.expect(7),this.addExtra(t,`parenthesized`,!0),this.addExtra(t,`parenStart`,e.index),t}return this.tsParseParenthesizedType();case 21:case 20:return this.tsParseTemplateLiteralType();default:{let{type:e}=this.state;if(Dd(e)||e===84||e===80){let t=e===84?`TSVoidKeyword`:e===80?`TSNullKeyword`:Fp(this.state.value);if(t!==void 0&&this.lookaheadCharCode()!==46){let e=this.startNode();return this.next(),this.finishNode(e,t)}return this.tsParseTypeReference()}}}throw this.unexpected()}tsParseArrayTypeOrHigher(){let{startLoc:e}=this.state,t=this.tsParseNonArrayType();for(;!this.hasPrecedingLineBreak()&&this.eat(0);)if(this.match(1)){let n=this.startNodeAt(e);n.elementType=t,this.expect(1),t=this.finishNode(n,`TSArrayType`)}else{let n=this.startNodeAt(e);n.objectType=t,n.indexType=this.tsParseType(),this.expect(1),t=this.finishNode(n,`TSIndexedAccessType`)}return t}tsParseTypeOperator(){let e=this.startNode(),t=this.state.value;return this.next(),e.operator=t,e.typeAnnotation=this.tsParseTypeOperatorOrHigher(),t===`readonly`&&this.tsCheckTypeAnnotationForReadOnly(e),this.finishNode(e,`TSTypeOperator`)}tsCheckTypeAnnotationForReadOnly(e){switch(e.typeAnnotation.type){case`TSTupleType`:case`TSArrayType`:return;default:this.raise(q.UnexpectedReadonly,e)}}tsParseInferType(){let e=this.startNode();this.expectContextual(111);let t=this.startNode();return t.name=this.tsParseTypeParameterName(),t.constraint=this.tsTryParse(()=>this.tsParseConstraintForInferType()),e.typeParameter=this.finishNode(t,`TSTypeParameter`),this.finishNode(e,`TSInferType`)}tsParseConstraintForInferType(){if(this.eat(77)){let e=this.tsInDisallowConditionalTypesContext(()=>this.tsParseType());if(this.state.inDisallowConditionalTypesContext||!this.match(13))return e}}tsParseTypeOperatorOrHigher(){return Bd(this.state.type)&&!this.state.containsEsc?this.tsParseTypeOperator():this.isContextual(111)?this.tsParseInferType():this.tsInAllowConditionalTypesContext(()=>this.tsParseArrayTypeOrHigher())}tsParseUnionOrIntersectionType(e,t,n){let r=this.startNode(),i=this.eat(n),a=[];do a.push(t());while(this.eat(n));return a.length===1&&!i?a[0]:(r.types=a,this.finishNode(r,e))}tsParseIntersectionTypeOrHigher(){return this.tsParseUnionOrIntersectionType(`TSIntersectionType`,this.tsParseTypeOperatorOrHigher.bind(this),41)}tsParseUnionTypeOrHigher(){return this.tsParseUnionOrIntersectionType(`TSUnionType`,this.tsParseIntersectionTypeOrHigher.bind(this),39)}tsIsStartOfFunctionType(){return this.match(43)?!0:this.match(6)&&this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this))}tsSkipParameterStart(){if(Dd(this.state.type)||this.match(74))return this.next(),!0;if(this.match(2)){let{errors:e}=this.state,t=e.length;try{return this.parseObjectLike(4,!0),e.length===t}catch{return!1}}if(this.match(0)){this.next();let{errors:e}=this.state,t=e.length;try{return super.parseBindingList(1,93,1),e.length===t}catch{return!1}}return!1}tsIsUnambiguouslyStartOfFunctionType(){return this.next(),!!(this.match(7)||this.match(17)||this.tsSkipParameterStart()&&(this.match(10)||this.match(8)||this.match(13)||this.match(25)||this.match(7)&&(this.next(),this.match(15))))}tsParseTypeOrTypePredicateAnnotation(e){return this.tsInType(()=>{let t=this.startNode();this.expect(e);let n=this.startNode(),r=!!this.tsTryParse(this.tsParseTypePredicateAsserts.bind(this));if(r&&this.match(74)){let e=this.tsParseThisTypeOrThisTypePredicate();return e.type===`TSThisType`?(n.parameterName=e,n.asserts=!0,n.typeAnnotation=null,e=this.finishNode(n,`TSTypePredicate`)):(this.resetStartLocationFromNode(e,n),e.asserts=!0),t.typeAnnotation=e,this.finishNode(t,`TSTypeAnnotation`)}let i=this.tsIsIdentifier()&&this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this));if(!i)return r?(n.parameterName=this.parseIdentifier(),n.asserts=r,n.typeAnnotation=null,t.typeAnnotation=this.finishNode(n,`TSTypePredicate`),this.finishNode(t,`TSTypeAnnotation`)):this.tsParseTypeAnnotation(!1,t);let a=this.tsParseTypeAnnotation(!1);return n.parameterName=i,n.typeAnnotation=a,n.asserts=r,t.typeAnnotation=this.finishNode(n,`TSTypePredicate`),this.finishNode(t,`TSTypeAnnotation`)})}tsTryParseTypeOrTypePredicateAnnotation(){if(this.match(10))return this.tsParseTypeOrTypePredicateAnnotation(10)}tsTryParseTypeAnnotation(){if(this.match(10))return this.tsParseTypeAnnotation()}tsTryParseType(){return this.tsEatThenParseType(10)}tsParseTypePredicatePrefix(){let e=this.parseIdentifier();if(this.isContextual(112)&&!this.hasPrecedingLineBreak())return this.next(),e}tsParseTypePredicateAsserts(){if(this.state.type!==105)return!1;let e=this.state.containsEsc;return this.next(),!Dd(this.state.type)&&!this.match(74)?!1:(e&&this.raise(G.InvalidEscapedReservedWord,this.state.lastTokStartLoc,{reservedWord:`asserts`}),!0)}tsParseTypeAnnotation(e=!0,t=this.startNode()){return this.tsInType(()=>{e&&this.expect(10),t.typeAnnotation=this.tsParseType()}),this.finishNode(t,`TSTypeAnnotation`)}tsParseType(){Pp(this.state.inType);let e=this.tsParseNonConditionalType();if(this.state.inDisallowConditionalTypesContext||this.hasPrecedingLineBreak()||!this.eat(77))return e;let t=this.startNodeAtNode(e);return t.checkType=e,t.extendsType=this.tsInDisallowConditionalTypesContext(()=>this.tsParseNonConditionalType()),this.expect(13),t.trueType=this.tsInAllowConditionalTypesContext(()=>this.tsParseType()),this.expect(10),t.falseType=this.tsInAllowConditionalTypesContext(()=>this.tsParseType()),this.finishNode(t,`TSConditionalType`)}isAbstractConstructorSignature(){return this.isContextual(120)&&this.isLookaheadContextual(`new`)}tsParseNonConditionalType(){return this.tsIsStartOfFunctionType()?this.tsParseFunctionOrConstructorType(`TSFunctionType`):this.match(73)?this.tsParseFunctionOrConstructorType(`TSConstructorType`):this.isAbstractConstructorSignature()?this.tsParseFunctionOrConstructorType(`TSConstructorType`,!0):this.tsParseUnionTypeOrHigher()}tsParseTypeAssertion(){this.getPluginOption(`typescript`,`disallowAmbiguousJSXLike`)&&this.raise(q.ReservedTypeAssertion,this.state.startLoc);let e=this.startNode();return e.typeAnnotation=this.tsInType(()=>(this.next(),this.match(71)?this.tsParseTypeReference():this.tsParseType())),this.expect(44),e.expression=this.parseMaybeUnary(),this.finishNode(e,`TSTypeAssertion`)}tsParseHeritageClause(e){let t=this.state.startLoc,n=this.tsParseDelimitedList(`HeritageClauseElement`,()=>{let t=(this.state.canStartArrow=!1,super.parseExprSubscripts());Rp(t)||this.raise(q.InvalidHeritageClauseType,t.start,{token:e});let n=e===`extends`?`TSInterfaceHeritage`:`TSClassImplements`;if(t.type===`TSInstantiationExpression`)return t.type=n,t;let r=this.startNodeAtNode(t);return r.expression=t,(this.match(43)||this.match(47))&&(r.typeArguments=this.tsParseTypeArgumentsInExpression()),this.finishNode(r,n)});return n.length||this.raise(q.EmptyHeritageClauseType,t,{token:e}),n}tsParseInterfaceDeclaration(e,t={}){if(this.hasFollowingLineBreak())return null;this.expectContextual(125),t.declare&&(e.declare=!0),Dd(this.state.type)?(e.id=this.parseIdentifier(),this.checkIdentifier(e.id,130)):(e.id=null,this.raise(q.MissingInterfaceName,this.state.startLoc)),e.typeParameters=this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers),this.eat(77)&&(e.extends=this.tsParseHeritageClause(`extends`));let n=this.startNode();return n.body=this.tsInType(this.tsParseObjectTypeMembers.bind(this)),e.body=this.finishNode(n,`TSInterfaceBody`),this.finishNode(e,`TSInterfaceDeclaration`)}tsParseTypeAliasDeclaration(e){return e.id=this.parseIdentifier(),this.checkIdentifier(e.id,2),e.typeAnnotation=this.tsInType(()=>{if(e.typeParameters=this.tsTryParseTypeParameters(this.tsParseInOutModifiers),this.expect(25),this.isContextual(110)&&this.lookaheadCharCode()!==46){let e=this.startNode();return this.next(),this.finishNode(e,`TSIntrinsicKeyword`)}return this.tsParseType()}),this.semicolon(),this.finishNode(e,`TSTypeAliasDeclaration`)}tsInTopLevelContext(e){if(this.curContext()!==Jd.brace){let t=this.state.context;this.state.context=[t[0]];try{return e()}finally{this.state.context=t}}else return e()}tsInType(e){let t=this.state.inType;this.state.inType=!0;try{return e()}finally{this.state.inType=t}}tsInDisallowConditionalTypesContext(e){let t=this.state.inDisallowConditionalTypesContext;this.state.inDisallowConditionalTypesContext=!0;try{return e()}finally{this.state.inDisallowConditionalTypesContext=t}}tsInAllowConditionalTypesContext(e){let t=this.state.inDisallowConditionalTypesContext;this.state.inDisallowConditionalTypesContext=!1;try{return e()}finally{this.state.inDisallowConditionalTypesContext=t}}tsEatThenParseType(e){if(this.match(e))return this.tsNextThenParseType()}tsExpectThenParseType(e){return this.tsInType(()=>(this.expect(e),this.tsParseType()))}tsNextThenParseType(){return this.tsInType(()=>(this.next(),this.tsParseType()))}tsParseEnumMember(){let e=this.startNode();return e.id=this.match(130)?super.parseStringLiteral(this.state.value):this.parseIdentifier(!0),this.eat(25)&&(e.initializer=super.parseMaybeAssignAllowIn()),this.finishNode(e,`TSEnumMember`)}tsParseEnumDeclaration(e,t={}){return t.const&&(e.const=!0),t.declare&&(e.declare=!0),this.expectContextual(122),e.id=this.parseIdentifier(),this.checkIdentifier(e.id,e.const?8971:8459),e.body=this.tsParseEnumBody(),this.finishNode(e,`TSEnumDeclaration`)}tsParseEnumBody(){let e=this.startNode();return this.expect(2),e.members=this.tsParseDelimitedList(`EnumMembers`,this.tsParseEnumMember.bind(this)),this.expect(4),this.finishNode(e,`TSEnumBody`)}tsParseModuleBlock(e){let t=this.startNode();return e||this.scope.enter(0),this.expect(2),super.parseBlockOrModuleBlockBody(t.body=[],void 0,!0,4),e||this.scope.exit(),this.finishNode(t,`TSModuleBlock`)}tsParseNamespaceDeclaration(e){return e.id=this.tsParseEntityName(0),e.id.type===`Identifier`&&this.checkIdentifier(e.id,1024),this.scope.enter(2048),this.prodParam.enter(0),e.body=this.tsParseModuleBlock(!1),this.prodParam.exit(),this.scope.exit(),this.finishNode(e,`TSModuleDeclaration`)}tsParseAmbientExternalModuleDeclaration(e){let t=this.isContextual(108);if(t)e.kind=`global`,e.id=this.parseIdentifier();else{e.kind=`module`;let{type:t,value:n}=this.state;t===130?e.id=super.parseStringLiteral(n):Dd(t)?(this.raise(q.InlineModuleDeclarationMustUseString,this.state.startLoc),e.id=this.tsParseEntityName(0)):t===2?this.raise(q.EmptyNamespaceName,this.state.startLoc):(this.raise(q.InvalidNamespaceName,this.state.startLoc,n),e.id=super.parseExprAtom())}return this.match(2)?(t||this.scope.enter(1024),this.prodParam.enter(0),e.body=this.tsParseModuleBlock(t),this.prodParam.exit(),t||this.scope.exit()):this.semicolon(),this.finishNode(e,`TSModuleDeclaration`)}tsParseImportEqualsDeclaration(e,t){e.id=t||this.parseIdentifier(),this.checkIdentifier(e.id,4096),this.expect(25);let n=this.tsParseModuleReference();return e.importKind===`type`&&n.type!==`TSExternalModuleReference`&&this.raise(q.ImportAliasHasImportType,n),e.moduleReference=n,this.semicolon(),this.finishNode(e,`TSImportEqualsDeclaration`)}tsIsExternalModuleReference(){return this.isContextual(115)&&this.lookaheadCharCode()===40}tsParseModuleReference(){return this.tsIsExternalModuleReference()?this.tsParseExternalModuleReference():this.tsParseEntityName(0)}tsParseExternalModuleReference(){let e=this.startNode();return this.expectContextual(115),this.expect(6),this.match(130)||this.unexpected(),e.expression=super.parseExprAtom(),this.expect(7),this.sawUnambiguousESM=!0,this.finishNode(e,`TSExternalModuleReference`)}tsLookAhead(e){let t=this.state.clone(),n=e();return this.state=t,n}tsTryParseAndCatch(e){let t=this.tryParse(t=>e()||t());if(!t.aborted&&t.node)return t.error&&(this.state=t.failState),t.node}tsTryParse(e){let t=this.state.clone(),n=e();if(n!==void 0&&n!==!1)return n;this.state=t}tsTryParseDeclare(e){if(this.isLineTerminator())return;let t=this.state.type;return this.tsInAmbientContext(()=>{switch(t){case 64:return e.declare=!0,super.parseFunctionStatement(e,!1,!1);case 76:return e.declare=!0,this.parseClass(e,!0,!1);case 122:return this.tsParseEnumDeclaration(e,{declare:!0});case 108:return this.tsParseAmbientExternalModuleDeclaration(e);case 96:if(this.state.containsEsc)return;case 71:case 70:return!this.match(71)||!this.isLookaheadContextual(`enum`)?(e.declare=!0,this.parseVarStatement(e,this.state.value,!0)):(this.expect(71),this.tsParseEnumDeclaration(e,{const:!0,declare:!0}));case 103:if(this.isUsing())return this.raise(q.InvalidModifierOnUsingDeclaration,this.state.startLoc,`declare`),e.declare=!0,this.parseVarStatement(e,`using`,!0);break;case 92:if(this.isAwaitUsing())return this.raise(q.InvalidModifierOnAwaitUsingDeclaration,this.state.startLoc,`declare`),e.declare=!0,this.next(),this.parseVarStatement(e,`await using`,!0);break;case 125:{let t=this.tsParseInterfaceDeclaration(e,{declare:!0});if(t)return t}default:if(Dd(t))return this.tsParseDeclaration(e,this.state.type,!0,null)}})}tsTryParseExportDeclaration(){return this.tsParseDeclaration(this.startNode(),this.state.type,!0,null)}tsParseDeclaration(e,t,n,r){switch(t){case 120:if(this.tsCheckLineTerminator(n)&&(this.match(76)||Dd(this.state.type)))return this.tsParseAbstractDeclaration(e,r);break;case 123:if(this.tsCheckLineTerminator(n))return this.tsParseAmbientExternalModuleDeclaration(e);break;case 124:if(this.tsCheckLineTerminator(n)&&Dd(this.state.type))return e.kind=`namespace`,this.tsParseNamespaceDeclaration(e);break;case 126:if(this.tsCheckLineTerminator(n)&&Dd(this.state.type))return this.tsParseTypeAliasDeclaration(e)}}tsCheckLineTerminator(e){return e?!this.hasFollowingLineBreak()&&(this.next(),!0):!this.isLineTerminator()}tsTryParseGenericAsyncArrowFunction(e){if(!this.match(43))return;let t=this.tsTryParseAndCatch(()=>{let t=this.startNodeAt(e);return t.typeParameters=this.tsParseTypeParameters(this.tsParseConstModifier),super.parseFunctionParams(t),t.returnType=this.tsTryParseTypeOrTypePredicateAnnotation(),this.expect(15),t});if(t)return super.parseArrowExpression(t,null,!0)}tsParseTypeArgumentsInExpression(){if(this.reScan_lt()===43)return this.tsParseTypeArguments()}tsParseTypeArguments(){let e=this.startNode();return e.params=this.tsInType(()=>this.tsInTopLevelContext(()=>(this.expect(43),this.tsParseDelimitedList(`TypeParametersOrArguments`,this.tsParseType.bind(this))))),e.params.length===0?this.raise(q.EmptyTypeArguments,e):!this.state.inType&&this.curContext()===Jd.brace&&this.reScan_lt_gt(),this.expect(44),this.finishNode(e,`TSTypeParameterInstantiation`)}tsIsDeclarationStart(){return Vd(this.state.type)}isExportDefaultSpecifier(){return!this.tsIsDeclarationStart()&&super.isExportDefaultSpecifier()}parseBindingElement(e,t){let n=t.length?null:this.state.startLoc,r={};this.tsParseModifiers(Vp,void 0,r);let i=r.accessibility,a=r.override,o=r.readonly;!(e&4)&&(i||o||a)&&this.raise(q.UnexpectedParameterModifier,n||t[0]);let s=this.state.startLoc,c=this.parseMaybeDefault(s);e&2&&this.parseFunctionParamType(c);let l=this.parseMaybeDefault(s,c);if(i||o||a){let e=n?this.startNodeAt(n):this.startNodeAtNode(t[0]);return t.length?e.decorators=t:this.setLoc(n),i&&(e.accessibility=i),o&&(e.readonly=o),a&&(e.override=a),l.type!==`Identifier`&&l.type!==`AssignmentPattern`&&this.raise(q.UnsupportedParameterPropertyKind,n||t[0]),e.parameter=l,this.finishNode(e,`TSParameterProperty`)}return t.length&&(c.decorators=t),l}isSimpleParameter(e){return e.type===`TSParameterProperty`&&super.isSimpleParameter(e.parameter)||super.isSimpleParameter(e)}tsDisallowOptionalPattern(e){for(let t of e.params)t.type!==`Identifier`&&t.optional&&!this.state.isAmbientContext&&this.raise(q.PatternIsOptional,t)}setArrowFunctionParameters(e,t,n){super.setArrowFunctionParameters(e,t,n),this.tsDisallowOptionalPattern(e)}parseFunctionBodyAndFinish(e,t,n=!1){this.match(10)&&(e.returnType=this.tsParseTypeOrTypePredicateAnnotation(10));let r=t===`FunctionDeclaration`?`TSDeclareFunction`:t===`ClassMethod`||t===`ClassPrivateMethod`?`TSDeclareMethod`:void 0;if(r&&!this.match(2)&&this.isLineTerminator()){if(r===`TSDeclareMethod`&&e.kind===`constructor`)for(let t of e.params)t.type===`TSParameterProperty`?this.raise(q.UnexpectedParameterModifier,t):t.type===`AssignmentPattern`&&this.raise(q.UnexpectedParameterInitializer,t);else for(let t of e.params)t.type===`AssignmentPattern`&&this.raise(q.UnexpectedParameterInitializer,t);return this.finishNode(e,r)}return r&&this.state.isAmbientContext&&(this.raise(q.DeclareFunctionHasImplementation,this.state.startLoc),r===`TSDeclareFunction`&&e.declare)?super.parseFunctionBodyAndFinish(e,r,n):(this.tsDisallowOptionalPattern(e),super.parseFunctionBodyAndFinish(e,t,n))}registerFunctionStatementId(e){!e.body&&e.id?this.checkIdentifier(e.id,1024):super.registerFunctionStatementId(e)}tsCheckForInvalidTypeCasts(e){e.forEach(e=>{e?.type===`TSTypeCastExpression`&&this.raise(q.UnexpectedTypeAnnotation,e.typeAnnotation)})}toReferencedList(e,t){return this.tsCheckForInvalidTypeCasts(e),e}parseArrayLike(e,t){let n=super.parseArrayLike(e,t);return n.type===`ArrayExpression`&&this.tsCheckForInvalidTypeCasts(n.elements),n}parseSubscript(e,t,n,r){if(!this.hasPrecedingLineBreak()&&this.match(31)){this.state.canStartJSXElement=!1,this.next();let n=this.startNodeAt(t);return n.expression=e,this.finishNode(n,`TSNonNullExpression`)}let i=!1;if(this.match(14)&&this.lookaheadCharCode()===60){if(n)return r.stop=!0,e;r.optionalChainMember=i=!0,this.next()}if(this.match(43)||this.match(47)){let a,o=this.tsTryParseAndCatch(()=>{if(!n&&this.atPossibleAsyncArrow(e)){let e=this.tsTryParseGenericAsyncArrowFunction(t);if(e)return r.stop=!0,e}let o=this.tsParseTypeArgumentsInExpression();if(!o)return;if(i&&!this.match(6)){a=this.state.curPosition();return}if(Gd(this.state.type)){let n=super.parseTaggedTemplateExpression(e,t,r);return n.typeArguments=o,n}if(!n&&this.eat(6)){let n=this.startNodeAt(t);return n.callee=e,n.arguments=this.parseCallExpressionArguments(),this.tsCheckForInvalidTypeCasts(n.arguments),n.typeArguments=o,r.optionalChainMember&&(n.optional=i),this.finishCallExpression(n,r.optionalChainMember)}let s=this.state.type;if(s===44||s===48||s!==6&&s!==89&&s!==116&&Md(s)&&!this.hasPrecedingLineBreak())return;let c=this.startNodeAt(t);return c.expression=e,c.typeArguments=o,this.finishNode(c,`TSInstantiationExpression`)});if(a&&this.unexpected(a,6),o)return o.type===`TSInstantiationExpression`&&((this.match(12)||this.match(14)&&this.lookaheadCharCode()!==40)&&this.raise(q.InvalidPropertyAccessAfterInstantiationExpression,this.state.startLoc),!this.match(12)&&!this.match(14)&&(o.expression=super.stopParseSubscript(e,r))),o}return super.parseSubscript(e,t,n,r)}parseNewCallee(e){super.parseNewCallee(e);let{callee:t}=e;t.type===`TSInstantiationExpression`&&!t.extra?.parenthesized&&(e.typeArguments=t.typeArguments,e.callee=t.expression)}parseExprOp(e,t,n){let r;if(Ud(54)>n&&!this.hasPrecedingLineBreak()&&(this.isContextual(89)||(r=this.isContextual(116)))){let i=this.startNodeAt(t);i.expression=e,i.typeAnnotation=this.tsInType(()=>(this.next(),this.match(71)?(r&&this.raise(G.UnexpectedKeyword,this.state.startLoc,{keyword:`const`}),this.tsParseTypeReference()):this.tsParseType()));let a=this.finishNode(i,r?`TSSatisfiesExpression`:`TSAsExpression`);return this.reScan_lt_gt(),this.parseExprOp(a,t,n)}return super.parseExprOp(e,t,n)}checkReservedWord(e,t,n,r){this.state.isAmbientContext||super.checkReservedWord(e,t,n,r)}checkDuplicateExports(){}isPotentialImportPhase(e){if(super.isPotentialImportPhase(e))return!0;if(this.isContextual(126)){let t=this.lookaheadCharCode();return e?t===123||t===42:t!==61}return!e&&this.isContextual(83)}applyImportPhase(e,t,n,r){super.applyImportPhase(e,t,n,r),t?e.exportKind=n===`type`?`type`:`value`:e.importKind=n===`type`||n===`typeof`?n:`value`}parseImport(e){if(this.match(130))return e.importKind=`value`,this.scope.inTSNamespace&&this.raise(q.ImportInTSNamespace,e),super.parseImport(e);let t;if(Dd(this.state.type)&&this.lookaheadCharCode()===61){e.importKind=`value`;let t=this.tsParseImportEqualsDeclaration(e);return this.scope.inTSNamespace&&t.moduleReference.type===`TSExternalModuleReference`&&this.raise(q.ImportInTSNamespace,e),t}if(this.isContextual(126)){let n=this.parseMaybeImportPhase(e,!1);if(this.lookaheadCharCode()===61)return this.scope.inTSNamespace&&this.raise(q.ImportInTSNamespace,e),this.tsParseImportEqualsDeclaration(e,n);t=super.parseImportSpecifiersAndAfter(e,n)}else t=super.parseImport(e);return t.importKind===`type`&&t.specifiers.length>1&&t.specifiers[0].type===`ImportDefaultSpecifier`?this.raise(q.TypeImportCannotSpecifyDefaultAndNamed,t):this.scope.inTSNamespace&&this.raise(q.ImportInTSNamespace,t),t}parseExport(e,t){if(this.match(79)){let t=this.startNode();this.next();let n=null;this.isContextual(126)&&this.isPotentialImportPhase(!1)?n=this.parseMaybeImportPhase(t,!1):t.importKind=`value`;let r=this.tsParseImportEqualsDeclaration(t,n);return e.attributes=[],e.declaration=r,e.exportKind=`value`,e.source=null,e.specifiers=[],this.finishNode(e,`ExportNamedDeclaration`)}if(this.eat(25)){let t=e;return t.expression=super.parseExpression(),this.semicolon(),this.sawUnambiguousESM=!0,this.scope.inTSNamespace&&this.raise(q.ExportAssignmentInTSNamespace,t),this.finishNode(t,`TSExportAssignment`)}if(this.eatContextual(89)){let t=e;return this.expectContextual(124),t.id=this.parseIdentifier(),this.checkIdentifier(t.id,8201),this.semicolon(),this.scope.inTSNamespace&&this.raise(q.NamespaceExportInTSNamespace,t),this.finishNode(t,`TSNamespaceExportDeclaration`)}{let n=super.parseExport(e,t);return this.scope.inTSNamespace&&(n.type!==`ExportNamedDeclaration`||n.source||!n.declaration&&!this.state.isAmbientContext)&&this.raise(q.ExportInTSNamespace,n),n}}isAbstractClass(){return this.isContextual(120)&&this.isLookaheadContextual(`class`)}parseExportDefaultExpression(){if(this.isAbstractClass()){let e=this.startNode();return this.next(),e.abstract=!0,this.parseClass(e,!0,!0)}if(this.match(125)){let e=this.tsParseInterfaceDeclaration(this.startNode());if(e)return e}return super.parseExportDefaultExpression()}parseVarStatement(e,t,n=!1){let{isAmbientContext:r}=this.state,i=super.parseVarStatement(e,t,n||r);if(r&&!e.declare&&(t===`using`||t===`await using`))return this.raiseOverwrite(q.UsingDeclarationInAmbientContext,e,t),i;for(let e of i.declarations){let{id:n,init:i,definite:a}=e;a&&(i?this.raise(q.DeclaratorDefiniteAssertionWithInitializer,n):n.typeAnnotation||this.raise(q.DeclaratorDefiniteAssertionRequiresTypeAnnotation,n)),r&&i&&(t===`var`||t===`let`||n.typeAnnotation?this.raise(q.InitializerNotAllowedInAmbientContext,i):Gp(i,this.hasPlugin(`estree`))||this.raise(q.ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference,i))}return i}parseStatementContent(e,t){let n=!!(e&2);if(!this.state.containsEsc)switch(this.state.type){case 71:if(this.isLookaheadContextual(`enum`)){let e=this.startNode();return this.next(),this.tsParseEnumDeclaration(e,{const:!0})}break;case 120:case 121:if(this.nextTokenIsIdentifierAndNotTSRelationalOperatorOnSameLine()){let e=this.state.type,n=this.startNode();this.next();let r=e===121?this.tsTryParseDeclare(n):this.tsParseAbstractDeclaration(n,t);return r?(e===121&&(r.declare=!0),r):(n.expression=this.createIdentifier(this.startNodeAtNode(n),e===121?`declare`:`abstract`),this.semicolon(!1),this.finishNode(n,`ExpressionStatement`))}break;case 122:return this.tsParseEnumDeclaration(this.startNode());case 108:if(this.lookaheadCharCode()===123){let e=this.startNode();return this.tsParseAmbientExternalModuleDeclaration(e)}break;case 125:{let e=this.tsParseInterfaceDeclaration(this.startNode());if(e)return n||this.raise(q.UnexpectedTypeDeclaration,e,`interface`),e;break}case 123:if(this.nextTokenIsStringLiteralOnSameLine()){let e=this.startNode();return this.next(),this.tsParseDeclaration(e,123,!1,t)}if(this.nextTokenIsIdentifierOnSameLine()){this.raise(q.InlineModuleDeclarationMustUseString,this.state.startLoc);let e=this.startNode();return this.next(),this.tsParseDeclaration(e,124,!1,t)}break;case 124:if(this.nextTokenIsIdentifierOnSameLine()){let e=this.startNode();return this.next(),this.tsParseDeclaration(e,124,!1,t)}break;case 126:if(this.nextTokenIsIdentifierOnSameLine()){let e=this.startNode();return n||this.raise(q.UnexpectedTypeDeclaration,e,`type`),this.next(),this.tsParseTypeAliasDeclaration(e)}}return super.parseStatementContent(e,t)}parseAccessModifier(){return this.tsParseModifier(Hp)}tsHasSomeModifiers(e,t){return t.some(t=>Ip(t)?e.accessibility===t:!!e[t])}tsIsStartOfStaticBlocks(){return this.isContextual(102)&&this.lookaheadCharCode()===123}parseClassMember(e,t,n){this.tsParseModifiers(zp,q.InvalidModifierOnTypeParameterPositions,t,!0);let r=()=>{this.tsIsStartOfStaticBlocks()?(this.next(),this.next(),this.tsHasSomeModifiers(t,[`declare`,`private`,`public`,`protected`,`override`,`abstract`,`readonly`,`static`])&&this.raise(q.StaticBlockCannotHaveModifier,this.state.curPosition()),super.parseClassStaticBlock(e,t)):this.parseClassMemberWithIsStatic(e,t,n,!!t.static)};t.declare?this.tsInAmbientContext(r):r(),t.decorators&&t.decorators.length>0&&!this.hasPlugin(`decorators-legacy`)&&(t.type===`TSAbstractMethodDefinition`||t.type===`TSDeclareMethod`?this.raise(q.DecoratorAbstractMethod,t,{kind:`abstract method`}):(t.type===`ClassProperty`&&t.abstract||t.type===`ClassProperty`&&t.declare||t.type===`TSAbstractPropertyDefinition`||t.type===`PropertyDefinition`&&t.declare)&&this.raise(q.DecoratorAbstractMethod,t,{kind:t.declare?`declare field`:`abstract field`}))}parseClassMemberWithIsStatic(e,t,n,r){let i=this.tsTryParseIndexSignature(t);if(i){e.body.push(i),t.abstract&&this.raise(q.IndexSignatureHasAbstract,t),t.accessibility&&this.raise(q.IndexSignatureHasAccessibility,t,{modifier:t.accessibility}),t.declare&&this.raise(q.IndexSignatureHasDeclare,t),t.override&&this.raise(q.IndexSignatureHasOverride,t);return}!this.state.inAbstractClass&&t.abstract&&this.raise(q.NonAbstractClassHasAbstractMethod,t),t.override&&(n.hadSuperClass||this.raise(q.OverrideNotInSubClass,t)),super.parseClassMemberWithIsStatic(e,t,n,r)}parsePostMemberNameModifiers(e){this.eat(13)&&(e.optional=!0),e.readonly&&this.match(6)&&this.raise(q.ClassMethodHasReadonly,e),e.declare&&this.match(6)&&this.raise(q.ClassMethodHasDeclare,e)}shouldParseExportDeclaration(){return this.tsIsDeclarationStart()?!0:super.shouldParseExportDeclaration()}parseConditional(e,t,n){if(!this.match(13))return e;if(n!=null){let t=this.lookaheadCharCode();if(t===44||t===61||t===58||t===41)return this.setOptionalParametersError(n),e}this.next();let r=this.startNodeAt(t);r.test=e;let i=this.state.inConditionalConsequent;return this.state.inConditionalConsequent=!0,r.consequent=this.parseMaybeAssignAllowIn(),this.state.inConditionalConsequent=i,this.expect(10),r.alternate=this.parseMaybeAssign(),this.finishNode(r,`ConditionalExpression`)}parseParenItem(e,t){let n=super.parseParenItem(e,t);if(this.eat(13)&&(n.optional=!0,this.resetEndLocation(e)),this.match(10)){let n=this.startNodeAt(t);return n.expression=e,n.typeAnnotation=this.tsParseTypeAnnotation(),this.finishNode(n,`TSTypeCastExpression`)}return e}parseExportDeclaration(e){if(!this.state.isAmbientContext&&this.isContextual(121))return this.tsInAmbientContext(()=>this.parseExportDeclaration(e));let t=this.state.startLoc,n=this.eatContextual(121);if(n&&(this.isContextual(121)||!this.shouldParseExportDeclaration()))throw this.raise(q.ExpectedAmbientAfterExportDeclare,this.state.startLoc);let r=Dd(this.state.type)&&this.tsTryParseExportDeclaration()||super.parseExportDeclaration(e);return r?((r.type===`TSInterfaceDeclaration`||r.type===`TSTypeAliasDeclaration`||n)&&(e.exportKind=`type`),n&&r.type!==`TSImportEqualsDeclaration`&&(this.resetStartLocation(r,t),r.declare=!0),r):null}parseClassId(e,t,n,r){if((!t||n)&&this.isContextual(109)){e.id=null;return}super.parseClassId(e,t,n,e.declare?1024:8331);let i=this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers);i&&(e.typeParameters=i)}parseClassPropertyAnnotation(e){e.optional||(this.eat(31)?e.definite=!0:this.eat(13)&&(e.optional=!0));let t=this.tsTryParseTypeAnnotation();t&&(e.typeAnnotation=t),e.definite&&(this.match(25)?this.raise(q.DeclaratorDefiniteAssertionWithInitializer,e):t||this.raise(q.DeclaratorDefiniteAssertionRequiresTypeAnnotation,e))}parseClassProperty(e){if(this.parseClassPropertyAnnotation(e),this.state.isAmbientContext&&(!e.readonly||e.typeAnnotation)&&this.match(25)&&this.raise(q.DeclareClassFieldHasInitializer,this.state.startLoc),e.abstract&&this.match(25)){let{key:t}=e;this.raise(q.AbstractPropertyHasInitializer,this.state.startLoc,{propertyName:t.type===`Identifier`&&!e.computed?t.name:`[${this.input.slice(this.offsetToSourcePos(t.start),this.offsetToSourcePos(t.end))}]`})}return super.parseClassProperty(e)}parseClassPrivateProperty(e){return e.abstract&&this.raise(q.PrivateElementHasAbstract,e),e.accessibility&&this.raise(q.PrivateElementHasAccessibility,e,{modifier:e.accessibility}),this.parseClassPropertyAnnotation(e),super.parseClassPrivateProperty(e)}parseClassAccessorProperty(e){return this.parseClassPropertyAnnotation(e),e.optional&&this.raise(q.AccessorCannotBeOptional,e),super.parseClassAccessorProperty(e)}pushClassMethod(e,t,n,r,i,a){let o=this.tsTryParseTypeParameters(this.tsParseConstModifier);o&&i&&this.raise(q.ConstructorHasTypeParameters,o);let{declare:s=!1,kind:c}=t;s&&(c===`get`||c===`set`)&&this.raise(q.DeclareAccessor,t,{kind:c}),o&&(t.typeParameters=o),super.pushClassMethod(e,t,n,r,i,a)}pushClassPrivateMethod(e,t,n,r){let i=this.tsTryParseTypeParameters(this.tsParseConstModifier);i&&(t.typeParameters=i),super.pushClassPrivateMethod(e,t,n,r)}declareClassPrivateMethodInScope(e,t){e.type!==`TSDeclareMethod`&&(e.type!==`MethodDefinition`||e.value.body!=null)&&super.declareClassPrivateMethodInScope(e,t)}parseClassSuper(e){if(super.parseClassSuper(e),e.superClass){if(e.superClass.type===`TSInstantiationExpression`){let t=e.superClass,n=t.expression;this.takeSurroundingComments(n,n.start,n.end);let r=t.typeArguments;this.takeSurroundingComments(r,r.start,r.end),e.superClass=n,e.superTypeArguments=r}else(this.match(43)||this.match(47))&&(e.superTypeArguments=this.tsParseTypeArgumentsInExpression())}this.eatContextual(109)&&(e.implements=this.tsParseHeritageClause(`implements`))}parseObjPropValue(e,t,n,r,i,a,o){let s=this.tsTryParseTypeParameters(this.tsParseConstModifier);return s&&(e.typeParameters=s),super.parseObjPropValue(e,t,n,r,i,a,o)}parseFunctionParams(e,t){let n=this.tsTryParseTypeParameters(this.tsParseConstModifier);n&&(e.typeParameters=n),super.parseFunctionParams(e,t)}parseVarId(e,t){super.parseVarId(e,t),e.id.type===`Identifier`&&!this.hasPrecedingLineBreak()&&this.eat(31)&&(e.definite=!0);let n=this.tsTryParseTypeAnnotation();n&&(e.id.typeAnnotation=n,this.resetEndLocation(e.id))}parseAsyncArrowFromCallExpression(e,t){return this.match(10)&&(e.returnType=this.tsParseTypeAnnotation()),super.parseAsyncArrowFromCallExpression(e,t)}parseMaybeAssign(e,t){let n,r,i;if(this.hasPlugin(`jsx`)&&(this.match(138)||this.match(43))){if(n=this.state.clone(),r=this.tryParse(()=>super.parseMaybeAssign(e,t),n),!r.error)return r.node;let{context:i}=this.state,a=i[i.length-1];(a===Jd.j_oTag||a===Jd.j_expr)&&i.pop()}if(!r?.error&&!this.match(43))return super.parseMaybeAssign(e,t);(!n||n===this.state)&&(n=this.state.clone());let a,o=this.tryParse(n=>{a=this.tsParseTypeParameters(this.tsParseConstModifier);let r=super.parseMaybeAssign(e,t);if((r.type!==`ArrowFunctionExpression`||r.extra?.parenthesized)&&n(),a?.params.length!==0&&this.resetStartLocationFromNode(r,a),r.typeParameters=a,this.hasPlugin(`jsx`)&&r.typeParameters.params.length===1&&!r.typeParameters.extra?.trailingComma){let e=r.typeParameters.params[0];e.constraint||this.raise(q.SingleTypeParameterWithoutTrailingComma,this.optionFlags&256?Wu(e.loc.end,1):e,{typeParameterName:e.name.name})}return r},n);if(!o.error&&!o.aborted)return a&&this.reportReservedArrowTypeParam(a),o.node;if(!r&&(Pp(!this.hasPlugin(`jsx`)),i=this.tryParse(()=>super.parseMaybeAssign(e,t),n),!i.error))return i.node;if(r?.node)return this.state=r.failState,r.node;if(o.node)return this.state=o.failState,a&&this.reportReservedArrowTypeParam(a),o.node;if(i?.node)return this.state=i.failState,i.node;throw r?.error||o.error||i?.error}reportReservedArrowTypeParam(e){e.params.length===1&&!e.params[0].constraint&&!e.extra?.trailingComma&&this.getPluginOption(`typescript`,`disallowAmbiguousJSXLike`)&&this.raise(q.ReservedArrowTypeParam,e)}parseMaybeUnary(e,t){return!this.hasPlugin(`jsx`)&&this.match(43)?this.tsParseTypeAssertion():super.parseMaybeUnary(e,t)}parseArrow(e){if(this.match(10)){let t=this.tryParse(e=>{let t=this.tsParseTypeOrTypePredicateAnnotation(10);return(this.canInsertSemicolon()||!this.match(15))&&e(),t});if(t.aborted)return;t.thrown||(t.error&&(this.state=t.failState),e.returnType=t.node)}return super.parseArrow(e)}parseFunctionParamType(e){this.eat(13)&&(e.optional=!0);let t=this.tsTryParseTypeAnnotation();return t&&(e.typeAnnotation=t),this.resetEndLocation(e),e}isAssignable(e,t){switch(e.type){case`TSTypeCastExpression`:return this.isAssignable(e.expression,t);case`TSParameterProperty`:return!0;default:return super.isAssignable(e,t)}}toAssignable(e,t=!1){switch(e.type){case`ParenthesizedExpression`:this.toAssignableParenthesizedExpression(e,t);break;case`TSAsExpression`:case`TSSatisfiesExpression`:case`TSNonNullExpression`:case`TSTypeAssertion`:t?this.expressionScope.recordArrowParameterBindingError(q.UnexpectedTypeCastInParameter,e):this.raise(q.UnexpectedTypeCastInParameter,e),this.toAssignable(e.expression,t);break;case`AssignmentExpression`:!t&&e.left.type===`TSTypeCastExpression`&&(e.left=this.typeCastToParameter(e.left));default:super.toAssignable(e,t)}}toAssignableParenthesizedExpression(e,t){switch(e.expression.type){case`TSAsExpression`:case`TSSatisfiesExpression`:case`TSNonNullExpression`:case`TSTypeAssertion`:case`ParenthesizedExpression`:this.toAssignable(e.expression,t);break;default:super.toAssignable(e,t)}}checkToRestConversion(e,t){switch(e.type){case`TSAsExpression`:case`TSSatisfiesExpression`:case`TSTypeAssertion`:case`TSNonNullExpression`:this.checkToRestConversion(e.expression,!1);break;default:super.checkToRestConversion(e,t)}}isValidLVal(e,t,n,r){switch(e){case`TSTypeCastExpression`:return!0;case`TSParameterProperty`:return`parameter`;case`TSNonNullExpression`:return`expression`;case`TSAsExpression`:case`TSSatisfiesExpression`:case`TSTypeAssertion`:return(r!==64||!n)&&[`expression`,!0];default:return super.isValidLVal(e,t,n,r)}}parseBindingAtom(){return this.state.type===74?this.parseIdentifier(!0):super.parseBindingAtom()}parseMaybeDecoratorArguments(e,t){if(this.match(43)||this.match(47)){let n=this.tsParseTypeArgumentsInExpression();if(this.match(6)){let r=super.parseMaybeDecoratorArguments(e,t);return r.typeArguments=n,r}this.unexpected(null,6)}return super.parseMaybeDecoratorArguments(e,t)}checkCommaAfterRest(e){return this.state.isAmbientContext&&this.match(8)&&this.lookaheadCharCode()===e?(this.next(),!1):super.checkCommaAfterRest(e)}isClassMethod(){return this.match(43)||super.isClassMethod()}isClassProperty(){return this.match(31)||this.match(10)||super.isClassProperty()}parseMaybeDefault(e,t){let n=super.parseMaybeDefault(e,t);return n.type===`AssignmentPattern`&&n.typeAnnotation&&n.right.start<n.typeAnnotation.start&&this.raise(q.TypeAnnotationAfterAssign,n.typeAnnotation),n}getTokenFromCode(e){if(this.state.inType){if(e===62){this.finishOp(44,1);return}if(e===60){this.finishOp(43,1);return}}super.getTokenFromCode(e)}reScan_lt_gt(){let{type:e}=this.state;e===43?(--this.state.pos,this.readToken_lt()):e===44&&(--this.state.pos,this.readToken_gt())}reScan_lt(){let{type:e}=this.state;return e===47?(this.state.pos-=2,this.finishOp(43,1),43):e}toAssignableListItem(e,t,n){let r=e[t];r.type===`TSTypeCastExpression`&&(e[t]=this.typeCastToParameter(r)),super.toAssignableListItem(e,t,n)}typeCastToParameter(e){return e.expression.typeAnnotation=e.typeAnnotation,this.resetEndLocationFromNode(e.expression,e.typeAnnotation),e.expression}shouldParseArrow(e){return this.match(10)?e.every(e=>this.isAssignable(e,!0)):super.shouldParseArrow(e)}shouldParseAsyncArrow(){return this.match(10)?!this.state.inConditionalConsequent:super.shouldParseAsyncArrow()}parseParenAndDistinguishExpression(e){let t=this.state.inConditionalConsequent;this.state.inConditionalConsequent=!1;let n=super.parseParenAndDistinguishExpression(e);return this.state.inConditionalConsequent=t,n}canHaveLeadingDecorator(){return super.canHaveLeadingDecorator()||this.isAbstractClass()}jsxParseOpeningElementAfterName(e){if(this.match(43)||this.match(47)){let t=this.tsTryParseAndCatch(()=>this.tsParseTypeArgumentsInExpression());t&&(e.typeArguments=t)}return super.jsxParseOpeningElementAfterName(e)}getGetterSetterExpectedParamCount(e){let t=super.getGetterSetterExpectedParamCount(e),n=this.getObjectOrClassMethodParams(e)[0];return n&&this.isThisParam(n)?t+1:t}parseCatchClauseParam(){let e=super.parseCatchClauseParam(),t=this.tsTryParseTypeAnnotation();return t&&(e.typeAnnotation=t,this.resetEndLocation(e)),e}tsInAmbientContext(e){let{isAmbientContext:t,strict:n}=this.state;this.state.isAmbientContext=!0,this.state.strict=!1;try{return e()}finally{this.state.isAmbientContext=t,this.state.strict=n}}parseClass(e,t,n){let r=this.state.inAbstractClass;this.state.inAbstractClass=!!e.abstract;try{return super.parseClass(e,t,n)}finally{this.state.inAbstractClass=r}}tsParseAbstractDeclaration(e,t){if(this.match(76))return e.abstract=!0,this.maybeTakeDecorators(t,this.parseClass(e,!0,!1));if(this.isContextual(125))return this.hasFollowingLineBreak()?null:(e.abstract=!0,this.raise(q.NonClassMethodPropertyHasAbstractModifier,e),this.tsParseInterfaceDeclaration(e));throw this.unexpected(null,76)}parseMethod(e,t,n,r,i,a,o){let s=super.parseMethod(e,t,n,r,i,a,o);if((s.abstract||s.type===`TSAbstractMethodDefinition`)&&(this.hasPlugin(`estree`)?s.value:s).body){let{key:e}=s;this.raise(q.AbstractMethodHasImplementation,s,{methodName:e.type===`Identifier`&&!s.computed?e.name:`[${this.input.slice(this.offsetToSourcePos(e.start),this.offsetToSourcePos(e.end))}]`})}return s}tsParseTypeParameterName(){return this.parseIdentifier()}shouldParseAsAmbientContext(){return!!this.getPluginOption(`typescript`,`dts`)}parse(){return this.shouldParseAsAmbientContext()&&(this.state.isAmbientContext=!0),super.parse()}getExpression(){return this.shouldParseAsAmbientContext()&&(this.state.isAmbientContext=!0),super.getExpression()}parseExportSpecifier(e,t,n,r){return!t&&r?(this.parseTypeOnlyExportSpecifier(e,n),this.finishNode(e,`ExportSpecifier`)):(e.exportKind=`value`,super.parseExportSpecifier(e,t,n,r))}parseImportSpecifier(e,t,n,r,i){return!t&&r?(this.parseTypeOnlyImportSpecifier(e,n),this.finishNode(e,`ImportSpecifier`)):(e.importKind=`value`,super.parseImportSpecifier(e,t,n,r,n?4098:4096))}parseTypeOnlyImportSpecifier(e,t){let n=e.imported,r=!1;if(this.isContextual(89)){let t=this.parseIdentifier();if(this.isContextual(89)){let i=this.parseIdentifier();kd(this.state.type)?(r=!0,n=t,e.local=this.parseIdentifier()):e.local=i}else kd(this.state.type)?e.local=this.parseIdentifier():(r=!0,n=t)}else kd(this.state.type)&&(r=!0,n=this.parseIdentifier(!0),this.isContextual(89)||this.checkReservedWord(n.name,n.start,!0,!0));r&&t&&this.raise(q.TypeModifierIsUsedInTypeImports,e.imported),e.imported=n,e.importKind=r?`type`:`value`,this.checkIdentifier(e.local??=this.eatContextual(89)?this.parseIdentifier():this.cloneIdentifier(e.imported),r?4098:4096)}parseTypeOnlyExportSpecifier(e,t){let n=e.local,r=!1;if(this.isContextual(89)){let t=this.parseIdentifier();if(this.isContextual(89)){let n=this.parseIdentifier();kd(this.state.type)?(r=!0,e.local=t,e.exported=this.parseModuleExportName()):e.exported=n}else kd(this.state.type)?e.exported=this.parseModuleExportName():(r=!0,e.local=t)}else kd(this.state.type)&&(r=!0,e.local=this.parseModuleExportName());r&&t&&this.raise(q.TypeModifierIsUsedInTypeExports,n),e.exportKind=r?`type`:`value`,e.exported??=this.eatContextual(89)?this.parseModuleExportName():this.cloneIdentifier(e.local)}fillOptionalPropertiesForTSESLint(e){switch(e.type){case`ImportDeclaration`:e.phase??=null;return;case`ExpressionStatement`:e.directive??=void 0;return;case`RestElement`:e.value=void 0;case`Identifier`:case`ArrayPattern`:case`AssignmentPattern`:case`ObjectPattern`:e.decorators??=[],e.optional??=!1,e.typeAnnotation??=void 0;return;case`TSParameterProperty`:e.accessibility??=void 0,e.decorators??=[],e.override??=!1,e.readonly??=!1,e.static??=!1;return;case`TSEmptyBodyFunctionExpression`:e.body=null;case`TSDeclareFunction`:case`FunctionDeclaration`:case`FunctionExpression`:case`ClassMethod`:case`ClassPrivateMethod`:e.declare??=!1,e.returnType??=void 0,e.typeParameters??=void 0;return;case`Property`:e.optional??=!1;return;case`TSMethodSignature`:case`TSPropertySignature`:e.optional??=!1;case`TSIndexSignature`:e.accessibility??=void 0,e.readonly??=!1,e.static??=!1;return;case`TSAbstractPropertyDefinition`:case`PropertyDefinition`:case`TSAbstractAccessorProperty`:case`AccessorProperty`:e.declare??=!1,e.definite??=!1,e.readonly??=!1,e.typeAnnotation??=void 0;case`TSAbstractMethodDefinition`:case`MethodDefinition`:e.accessibility??=void 0,e.decorators??=[],e.override??=!1,e.optional??=!1;return;case`ClassExpression`:e.id??=null;case`ClassDeclaration`:e.abstract??=!1,e.declare??=!1,e.decorators??=[],e.implements??=[],e.superTypeArguments??=void 0,e.typeParameters??=void 0;return;case`TSTypeAliasDeclaration`:case`VariableDeclaration`:e.declare??=!1;return;case`VariableDeclarator`:e.definite??=!1;return;case`TSEnumDeclaration`:e.const??=!1,e.declare??=!1;return;case`TSEnumMember`:e.computed??=!1;return;case`TSImportType`:e.qualifier??=null,e.options??=null,e.typeArguments??=null;return;case`TSInterfaceDeclaration`:e.declare??=!1,e.extends??=[];return;case`TSMappedType`:e.optional??=!1,e.readonly??=void 0;return;case`TSModuleDeclaration`:e.declare??=!1,e.global??=e.kind===`global`;return;case`TSTypeParameter`:e.const??=!1,e.in??=!1,e.out??=!1;return}}chStartsBindingIdentifierAndNotRelationalOperator(e,t){if(ef(e)){if(Mp.lastIndex=t,Mp.test(this.input)){let e=this.codePointAtPos(Mp.lastIndex);if(!tf(e)&&e!==92)return!1}return!0}return e===92}nextTokenIsIdentifierAndNotTSRelationalOperatorOnSameLine(){let e=this.nextTokenInLineStart(),t=this.codePointAtPos(e);return this.chStartsBindingIdentifierAndNotRelationalOperator(t,e)}nextTokenIsStringLiteralOnSameLine(){let e=this.nextTokenInLineStart(),t=this.codePointAtPos(e);return t===34||t===39}};function Wp(e){if(e.type!==`MemberExpression`)return!1;let{computed:t,property:n}=e;return t&&n.type!==`StringLiteral`&&(n.type!==`TemplateLiteral`||n.expressions.length>0)?!1:Jp(e.object)}function Gp(e,t){let{type:n}=e;if(e.extra?.parenthesized)return!1;if(t){if(n===`Literal`){let{value:t}=e;if(typeof t==`string`||typeof t==`boolean`)return!0}}else if(n===`StringLiteral`||n===`BooleanLiteral`)return!0;return!!(Kp(e,t)||qp(e,t)||n===`TemplateLiteral`&&e.expressions.length===0||Wp(e))}function Kp(e,t){return t?e.type===`Literal`&&(typeof e.value==`number`||`bigint`in e):e.type===`NumericLiteral`||e.type===`BigIntLiteral`}function qp(e,t){if(e.type===`UnaryExpression`){let{operator:n,argument:r}=e;if(n===`-`&&Kp(r,t))return!0}return!1}function Jp(e){return e.type===`Identifier`?!0:e.type!==`MemberExpression`||e.computed?!1:Jp(e.object)}function Yp(e,t=[]){let n=new Map;for(let t of e)n.set(t,!0);for(let e of t)n.set(e,!1);return n}var Xp=rd`placeholders`({ClassNameIsRequired:`A class name is required.`,UnexpectedSpace:`Unexpected space in placeholder.`}),Zp=e=>class extends e{parsePlaceholder(e){if(this.match(129)){let t=this.startNode();return this.next(),this.assertNoSpace(),t.name=super.parseIdentifier(!0),this.assertNoSpace(),this.expect(129),this.finishPlaceholder(t,e)}}finishPlaceholder(e,t){let n=e;return(!n.expectedNode||!n.type)&&(n=this.finishNode(n,`Placeholder`)),n.expectedNode=t,n}getTokenFromCode(e){e===37&&this.input.charCodeAt(this.state.pos+1)===37?this.finishOp(129,2):super.getTokenFromCode(e)}parseExprAtom(e){return this.parsePlaceholder(`Expression`)||super.parseExprAtom(e)}parseIdentifier(e){return this.parsePlaceholder(`Identifier`)||super.parseIdentifier(e)}checkReservedWord(e,t,n,r){e!==void 0&&super.checkReservedWord(e,t,n,r)}cloneIdentifier(e){let t=super.cloneIdentifier(e);return t.type===`Placeholder`&&(t.expectedNode=e.expectedNode),t}cloneStringLiteral(e){return e.type===`Placeholder`?this.cloneIdentifier(e):super.cloneStringLiteral(e)}parseBindingAtom(){return this.parsePlaceholder(`Pattern`)||super.parseBindingAtom()}isValidLVal(e,t,n,r){return e===`Placeholder`||super.isValidLVal(e,t,n,r)}toAssignable(e,t){e&&e.type===`Placeholder`&&e.expectedNode===`Expression`?e.expectedNode=`Pattern`:super.toAssignable(e,t)}chStartsBindingIdentifier(e,t){if(super.chStartsBindingIdentifier(e,t))return!0;let n=this.nextTokenStart();return this.input.charCodeAt(n)===37&&this.input.charCodeAt(n+1)===37}verifyBreakContinue(e,t){e.label?.type!==`Placeholder`&&super.verifyBreakContinue(e,t)}parseExpressionStatement(e,t){if(t.type!==`Placeholder`||t.extra?.parenthesized)return super.parseExpressionStatement(e,t);if(this.match(10)){let n=e;return n.label=this.finishPlaceholder(t,`Identifier`),this.next(),n.body=super.parseStatementOrSloppyAnnexBFunctionDeclaration(),this.finishNode(n,`LabeledStatement`)}this.semicolon();let n=e;return n.name=t.name,this.finishPlaceholder(n,`Statement`)}parseBlock(e,t,n){return this.parsePlaceholder(`BlockStatement`)||super.parseBlock(e,t,n)}parseFunctionId(e){return this.parsePlaceholder(`Identifier`)||super.parseFunctionId(e)}parseClass(e,t,n){let r=t?`ClassDeclaration`:`ClassExpression`;this.next();let i=this.state.strict,a=this.parsePlaceholder(`Identifier`);if(a){if(this.match(77)||this.match(129)||this.match(2))e.id=a;else if(n||!t)return e.id=null,e.body=this.finishPlaceholder(a,`ClassBody`),this.finishNode(e,r);else throw this.raise(Xp.ClassNameIsRequired,this.state.startLoc)}else this.parseClassId(e,t,n);return super.parseClassSuper(e),e.body=this.parsePlaceholder(`ClassBody`)||super.parseClassBody(!!e.superClass,i),this.finishNode(e,r)}parseExport(e,t){let n=this.parsePlaceholder(`Identifier`);if(!n)return super.parseExport(e,t);let r=e;if(!this.isContextual(94)&&!this.match(8))return r.specifiers=[],r.source=null,r.declaration=this.finishPlaceholder(n,`Declaration`),this.finishNode(r,`ExportNamedDeclaration`);this.expectPlugin(`exportDefaultFrom`);let i=this.startNode();return i.exported=n,r.specifiers=[this.finishNode(i,`ExportDefaultSpecifier`)],super.parseExport(r,t)}isExportDefaultSpecifier(){if(this.match(61)){let e=this.nextTokenStart();if(this.isUnparsedContextual(e,`from`)&&this.input.startsWith(Hd(129),this.nextTokenStartSince(e+4)))return!0}return super.isExportDefaultSpecifier()}maybeParseExportDefaultSpecifier(e,t){return e.specifiers?.length?!0:super.maybeParseExportDefaultSpecifier(e,t)}checkNamedExport(){}parseImport(e){let t=this.parsePlaceholder(`Identifier`);if(!t)return super.parseImport(e);if(e.specifiers=[],!this.isContextual(94)&&!this.match(8))return e.source=this.finishPlaceholder(t,`StringLiteral`),this.semicolon(),this.finishNode(e,`ImportDeclaration`);let n=this.startNodeAtNode(t);return n.local=t,e.specifiers.push(this.finishNode(n,`ImportDefaultSpecifier`)),this.eat(8)&&(this.maybeParseStarImportSpecifier(e)||this.parseNamedImportSpecifiers(e)),this.expectContextual(94),e.source=this.parseImportSource(),this.semicolon(),this.finishNode(e,`ImportDeclaration`)}parseImportSource(){return this.parsePlaceholder(`StringLiteral`)||super.parseImportSource()}assertNoSpace(){this.state.start>this.offsetToSourcePos(this.state.lastTokEndLoc.index)&&this.raise(Xp.UnexpectedSpace,this.state.lastTokEndLoc)}},Qp=e=>class extends e{parseV8Intrinsic(){if(this.match(50)){let e=this.state.startLoc,t=this.startNode();if(this.next(),Dd(this.state.type)){let e=this.parseIdentifierName(),n=this.createIdentifier(t,e);if(this.castNodeTo(n,`V8IntrinsicIdentifier`),this.match(6))return n}this.unexpected(e)}}parseExprAtom(e){return this.parseV8Intrinsic()||super.parseExprAtom(e)}},$p=[`fsharp`,`hack`],em=[`^^`,`@@`,`^`,`%`,`#`];function tm(e){if(e.has(`decorators`)&&e.has(`decorators-legacy`))throw Error(`Cannot use the decorators and decorators-legacy plugin together`);if(e.has(`flow`)&&e.has(`typescript`))throw Error(`Cannot combine flow and typescript plugins.`);if(e.has(`placeholders`)&&e.has(`v8intrinsic`))throw Error(`Cannot combine placeholders and v8intrinsic plugins.`);if(e.has(`pipelineOperator`)){let t=e.get(`pipelineOperator`).proposal;if(!$p.includes(t)){let e=$p.map(e=>`"${e}"`).join(`, `);throw Error(`"pipelineOperator" requires "proposal" option whose value must be one of: ${e}.`)}if(t===`hack`){if(e.has(`placeholders`))throw Error(`Cannot combine placeholders plugin and Hack-style pipes.`);if(e.has(`v8intrinsic`))throw Error(`Cannot combine v8intrinsic plugin and Hack-style pipes.`);let t=e.get(`pipelineOperator`).topicToken;if(!em.includes(t)){let e=em.map(e=>`"${e}"`).join(`, `);throw Error(`"pipelineOperator" in "proposal": "hack" mode also requires a "topicToken" option whose value must be one of: ${e}.`)}}}if(e.has(`moduleAttributes`))throw Error("`moduleAttributes` has been removed in Babel 8, please migrate to import attributes instead.");if(e.has(`importAssertions`))throw Error("`importAssertions` has been removed in Babel 8, please use import attributes instead.");if(e.has(`deprecatedImportAssert`)?console.warn("`deprecatedImportAssert` has been removed in Babel 8, please use import attributes instead."):e.has(`importAttributes`)&&e.get(`importAttributes`).deprecatedAssertSyntax&&console.warn("The 'importAttributes' plugin has been removed in Babel 8. Please migrate any usage of `assert`-style attributes to `with`."),e.has(`recordAndTuple`))throw Error(`The 'recordAndTuple' plugin has been removed in Babel 8. Please remove it from your configuration.`);if(e.has(`asyncDoExpressions`)&&!e.has(`doExpressions`)){let e=Error(`'asyncDoExpressions' requires 'doExpressions', please add 'doExpressions' to parser plugins.`);throw e.missingPlugins=`doExpressions`,e}if(e.has(`optionalChainingAssign`)&&e.get(`optionalChainingAssign`).version!==`2023-07`)throw Error(`The 'optionalChainingAssign' plugin requires a 'version' option, representing the last proposal update. Currently, the only supported value is '2023-07'.`);if(e.has(`discardBinding`)&&e.get(`discardBinding`).syntaxType!==`void`)throw Error(`The 'discardBinding' plugin requires a 'syntaxType' option. Currently the only supported value is 'void'.`);if(e.has(`decimal`))throw Error(`The 'decimal' plugin has been removed in Babel 8. Please remove it from your configuration.`);if(e.has(`importReflection`))throw Error(`The 'importReflection' plugin has been removed in Babel 8. Use 'sourcePhaseImports' instead, and replace 'import module' with 'import source' in your code.`)}var nm={estree:sd,jsx:Lf,flow:Ef,typescript:Up,v8intrinsic:Qp,placeholders:Zp},rm=Object.keys(nm),im=class extends jp{constructor(e,t,n){let r=ad(e);super(r,t),this.options=r,this.initializeScopes(),this.plugins=n,this.filename=r.sourceFilename,this.startIndex=r.startIndex;let i=0;r.allowAwaitOutsideFunction&&(i|=1),r.allowReturnOutsideFunction&&(i|=2),r.allowImportExportEverywhere&&(i|=8),r.allowSuperOutsideMethod&&(i|=16),r.allowUndeclaredExports&&(i|=64),r.allowNewTargetOutsideFunction&&(i|=4),r.allowYieldOutsideFunction&&(i|=32),r.ranges&&(i|=128),r.locations===!0&&(i|=256),r.tokens&&(i|=512),r.createImportExpressions&&(i|=1024),r.createParenthesizedExpressions&&(i|=2048),r.errorRecovery&&(i|=4096),r.attachComment&&(i|=8192),r.annexB&&(i|=16384),this.optionFlags=i}getScopeHandler(){return gf}parse(){this.enterInitialScopes();let e=this.startNode(),t=this.startNode();this.nextToken(),e.errors=[];let n=this.parseTopLevel(e,t);return n.errors=this.state.errors,n.comments.length=this.state.commentsLen,n}};function am(e,t){if(t?.sourceType===`unambiguous`){t={...t};try{t.sourceType=`module`;let n=sm(t,e),r=n.parse();if(n.sawUnambiguousESM)return r;if(n.ambiguousScriptDifferentAst)try{return t.sourceType=`script`,sm(t,e).parse()}catch{}else r.program.sourceType=`script`;return r}catch(n){try{return t.sourceType=`script`,sm(t,e).parse()}catch{}throw n}}return sm(t,e).parse()}function om(e){let t={};for(let n of Object.keys(e))t[n]=Kd(e[n]);return t}om(Ed);function sm(e,t){let n=im,r=new Map;if(e?.plugins){for(let t of e.plugins){let e,n;typeof t==`string`?e=t:[e,n]=t,r.has(e)||r.set(e,n||{})}tm(r),n=lm(r)}return new n(e,t,r)}var cm=new Map;function lm(e){let t=[];for(let n of rm)e.has(n)&&t.push(n);let n=t.join(`|`),r=cm.get(n);if(!r){r=im;for(let e of t)r=nm[e](r);cm.set(n,r)}return r}var um=e=>e.includes(`/`)?e.slice(0,e.lastIndexOf(`/`)):``,dm=(e,t)=>{let n=t.startsWith(`/`)||e===``?[]:e.split(`/`);for(let e of t.split(`/`))if(e!==``&&e!==`.`){if(e===`..`){if(n.length===0)return;n.pop()}else n.push(e)}return n.length===0?void 0:n.join(`/`)},fm=class{items=[];locate(e,t){let n=e.position(t.start);return{fileName:e.path,lineNumber:n.line,columnNumber:n.column}}add(e,t,n,r,i,a=`error`){this.report({code:n,severity:a,message:r,...i===void 0?{}:{fix:i},origins:[this.locate(e,t)]})}report(e){let t=Ss[e.code];this.items.push({...e,...t.upgrade===void 0?{}:{upgrade:t.upgrade}})}get blocking(){return this.items.some(e=>e.severity===`error`)}},pm=e=>{let t=0,n=e.flatMap(e=>{let n=t;return t+=e.rules.length+1,e.rules.map(e=>({...e,order:n+e.order}))}),r={},i={},a=[],o=new Map,s=e.flatMap(e=>e.diagnostics);for(let t of e){Object.assign(r,t.variables),Object.assign(i,t.darkVariables),a.push(...t.headAtRules);for(let e of t.fontFaces)o.set(e.css,e)}return{rules:n,headAtRules:a,fontFaces:[...o.values()],variables:r,darkVariables:i,diagnostics:s}},mm=e=>is(e)&&typeof e.type==`string`&&typeof e.start==`number`&&typeof e.end==`number`,J=(e,t)=>{let n=e[t];return mm(n)?n:void 0},hm=(e,t)=>{let n=e[t];return Array.isArray(n)?n.filter(mm):[]},Y=(e,t)=>{let n=e[t];return typeof n==`string`?n:void 0},gm=e=>{if(e!==void 0){if(e.type===`Identifier`)return Y(e,`name`);if(e.type===`StringLiteral`)return Y(e,`value`)}},_m=e=>{let t=e;for(;;){if(t.type===`ParenthesizedExpression`||t.type===`TSAsExpression`||t.type===`TSSatisfiesExpression`||t.type===`TSNonNullExpression`||t.type===`TSTypeAssertion`||t.type===`TypeCastExpression`){let e=J(t,`expression`);if(e===void 0)return t;t=e;continue}return t}},vm=class extends Error{path;line;column;constructor(e,t,n,r){super(t),this.name=`SourceSyntaxError`,this.path=e,this.line=n,this.column=r}},ym=(e,t)=>{let n=bs(t),r=e=>xs(n,e),i;try{i=am(t,{plugins:[`typescript`,`jsx`],sourceType:`module`}).program}catch(t){let n=is(t)&&is(t.loc)?t.loc:void 0,r=typeof n?.line==`number`?n.line:1,i=typeof n?.column==`number`?n.column+1:1;throw new vm(e,t instanceof Error?t.message.replace(/\s*\(\d+:\d+\)\s*$/,``):``,r,i)}if(!mm(i))throw new vm(e,`The file did not parse to a program.`,1,1);return{path:e,source:t,program:i,position:r}},bm=(e,t)=>e===``?t:`${e}.${t}`,xm=e=>{switch(e.k){case`path`:return e.path===``?void 0:{bind:e.path};case`value`:return e.value;default:return}},Sm=e=>e===null||typeof e==`string`||typeof e==`number`||typeof e==`boolean`,Cm=e=>typeof e!=`object`||!e||!(`el`in e||`each`in e||`raw`in e||`preheader`in e||`if`in e&&Array.isArray(e.then)),wm=[`transactional`,`promotional`,`service_implicit`],Tm=[`marketing`,`utility`,`authentication`],Em=[`text`,`image`,`video`,`document`],Dm=[`category`],Om=[`language`,`category`],km=e=>typeof e==`object`&&!!e&&`concat`in e,Am=e=>{let t=[],n=[],r=``,i=e=>{if(e===null||typeof e==`boolean`)return;if(typeof e==`string`){r+=e;return}if(typeof e==`number`){r+=String(e);return}if(typeof e==`object`&&km(e)){for(let t of e.concat)i(t);return}if(typeof e==`object`&&(`el`in e||`each`in e||`raw`in e))throw TypeError(`A WhatsApp text part holds text and values only.`);if(typeof e==`object`&&`if`in e&&Array.isArray(e.then))throw TypeError(`A WhatsApp text part cannot branch.`);let a=e,o=JSON.stringify(a),s=n.indexOf(o);s<0&&(s=n.length,n.push(o),t.push(a)),r+=`{{${s+1}}}`};for(let t of e)i(t);return{template:r,params:t}},jm=(e,t,n)=>{if(Math.abs(e.length-t.length)>n)return n+1;let r=Array.from({length:t.length+1},(e,t)=>t);for(let n=1;n<=e.length;n++){let i=[n];for(let a=1;a<=t.length;a++)i[a]=Math.min(i[a-1]+1,r[a]+1,r[a-1]+(e[n-1]===t[a-1]?0:1));r=i}return r[t.length]},Mm=(e,t)=>{let n=e.toLowerCase(),r=t.find(e=>e.toLowerCase()===n);if(r!==void 0&&r!==e)return r;let i=Math.max(1,Math.min(3,Math.floor(e.length/3))),a,o=i+1;for(let e of t){let t=jm(n,e.toLowerCase(),i);t<o&&(a=e,o=t)}return a},Nm=e=>typeof e==`object`&&!!e&&!Array.isArray(e),Pm=(e,t,n=0)=>{let r=t.$ref;if(typeof r!=`string`||n>16)return t;if(r===`#`)return e;let i=e;for(let e of r.replace(/^#\//,``).split(`/`)){if(!Nm(i))return t;i=i[e.replace(/~1/g,`/`).replace(/~0/g,`~`)]}return Nm(i)?Pm(e,i,n+1):t},Fm=(e,t)=>{let n=Pm(e,t);return[n,...[n.anyOf,n.oneOf,n.allOf].flatMap(t=>Array.isArray(t)?t.filter(Nm).flatMap(t=>Fm(e,t)):[])]},Im=(e,t)=>{if(t===void 0)return`unknown`;let n=new Set;for(let r of Fm(e,t)){let e=r.type;if(typeof e==`string`)n.add(e);else if(Array.isArray(e))for(let t of e)typeof t==`string`&&n.add(t);if(r.const!==void 0&&n.add(typeof r.const),Array.isArray(r.enum))for(let e of r.enum)n.add(typeof e)}if(n.delete(`null`),n.size!==1)return`unknown`;let[r]=n;switch(r){case`string`:return`string`;case`number`:case`integer`:return`number`;case`boolean`:return`boolean`;case`array`:return`array`;case`object`:return`object`;default:return`unknown`}},Lm=(e,t,n)=>{let r=[],i=!0,a;for(let o of Fm(e,t)){if(Nm(o.properties)&&(i=!1,r.push(...Object.keys(o.properties)),Object.hasOwn(o.properties,n))){let e=o.properties[n],t=Array.isArray(o.required)&&o.required.includes(n);a={schema:Nm(e)?e:void 0,required:a?.required===!0||t}}if(o.type===`object`&&!Nm(o.properties)&&o.additionalProperties===!1&&(i=!1),(Array.isArray(o.items)||Nm(o.items))&&/^\d+$/.test(n))return i=!1,{found:!0,schema:Nm(o.items)?o.items:void 0,required:!0,names:r,open:!1};Nm(o.additionalProperties)&&a===void 0&&(a={schema:o.additionalProperties,required:!1},i=!1)}return a===void 0?{found:!1,schema:void 0,required:!1,names:r,open:i}:{found:!0,schema:a.schema,required:a.required,names:r,open:!1}},Rm=(e,t)=>t.size===0?e:{...e,guards:new Set([...e.guards,...t])},zm=e=>{let t=e.split(`.`);return t.map((e,n)=>t.slice(0,n+1).join(`.`))},Bm=e=>typeof e==`object`&&e&&`bind`in e?e.bind:void 0,Vm=(e,t)=>{let n=e=>e===void 0?new Set:new Set(zm(e));if(`present`in e)return t?n(e.present):new Set;if(`truthy`in e){let r=e.truthy,i=Bm(r)??(typeof r==`object`&&r&&`length`in r?Bm(r.length):void 0);return t?n(i):new Set}if(`not`in e)return Vm(e.not,!t);if(`and`in e||`or`in e){let n=`and`in e?e.and:e.or,r=`and`in e?t:!t,i=n.map(e=>Vm(e,t));if(r)return new Set(i.flatMap(e=>[...e]));let[a,...o]=i;return new Set([...a??[]].filter(e=>o.every(t=>t.has(e))))}let[r,i]=e.args,a=Bm(r)??Bm(i),o=Bm(r)===void 0?r:i;if(a===void 0)return new Set;let s=o===null,c=typeof o!=`object`||!o||`concat`in o||`format`in o||`op`in o||`length`in o||`count`in o;return e.cmp===`eq`?!c||t===s?new Set:n(a):e.cmp===`ne`?!c||t!==s?new Set:n(a):t?n(a):new Set},Hm=(e,t,n)=>{let r=[],i=new Set,a=e=>{let t=`${e.code}\0${e.message}\0${e.src?.join(`,`)??``}`;i.has(t)||(i.add(t),r.push(e))},o=e=>e.startsWith(`$`)?e.slice(1):`input.${e}`,s=(t,n,r)=>{let i=t.split(`.`),a=i[0],o;if(a.startsWith(`$`)){if(!n.variables.has(a.slice(1)))return;o=n.variables.get(a.slice(1))}else{let i=Lm(e,e,a);if(!i.found)return c(a,i,``,r,t);!i.required&&!n.guards.has(a)&&l(a,r),o=i.schema}for(let a=1;a<i.length;a++){if(o===void 0)return;let s=i[a],u=Lm(e,o,s),d=i.slice(0,a).join(`.`);if(!u.found)return u.open?void 0:c(s,u,d,r,t);let f=i.slice(0,a+1).join(`.`);!u.required&&!n.guards.has(f)&&l(f,r),o=u.schema}return o},c=(e,t,n,r,i)=>{if(t.open)return;let s=Mm(e,t.names),c=n===``?`input`:o(n);a({code:`unknown-field`,message:`\`${n===``?`input`:o(n)}.${e}\` is not in the schema${t.names.length===0?``:` (${c} has ${t.names.map(e=>`\`${e}\``).join(`, `)})`}.`,...s===void 0?{fix:`Add \`${e}\` to the schema, or bind a field it declares.`}:{fix:`Did you mean \`${n===``?`input`:o(n)}.${s}\`?`},src:r})},l=(e,t)=>{a({code:`unguarded-optional`,message:`\`${o(e)}\` is optional and is read outside a guard, so a send without it would render a blank.`,fix:`Guard it: {${o(e)} && …}, or make the field required in the schema.`,src:t})},u=(t,n,r)=>{if(typeof t==`string`)return`string`;if(typeof t==`number`)return`number`;if(typeof t==`boolean`)return`boolean`;if(t===null)return`unknown`;if(`bind`in t)return Im(e,s(t.bind,n,r));if(`lit`in t)return`unknown`;if(`concat`in t){for(let e of t.concat)u(e,n,r);return`string`}if(`format`in t)return f(t.format,t.args,n,r),`string`;if(`if`in t){p(t.if,n,r);let e=u(t.then,Rm(n,Vm(t.if,!0)),r);return u(t.else,Rm(n,Vm(t.if,!1)),r),e}if(`op`in t){for(let e of t.args)d(e,`number`,n,r,`arithmetic`);return`number`}if(`length`in t)return u(t.length,n,r),`number`;if(`count`in t){let i=Bm(t.count),a;if(i===void 0)u(t.count,n,r);else{let t=s(i,n,r);if(t!==void 0)for(let n of Fm(e,t))Nm(n.items)&&(a=Pm(e,n.items))}let o=new Map(n.variables).set(t.as.replace(/^\$/,``),a);return p(t.where,{...n,variables:o},r),`number`}return`unknown`},d=(e,t,n,r,i)=>{let s=u(e,n,r);if(s===`unknown`||s===t)return;let c=Bm(e);a({code:`invalid-binding-type`,message:`${c===void 0?`This value`:`\`${o(c)}\``} is ${s===`array`?`an array`:`a ${s}`}, and ${i} needs ${t===`array`?`an array`:`a ${t}`}.`,fix:t===`number`?`Bind a number field, or send the number in the payload.`:`Bind a ${t} field.`,src:r})},f=(e,t,n,r)=>{let i={money:[`number`,`string`,`string`],number:[`number`,void 0,`string`],date:[`string`,`string`,`string`],time:[`string`,`string`,`string`],plural:[`number`,void 0,`string`],list:[`array`,`string`]};for(let[a,o]of t.entries()){let t=i[e]?.[a];t===void 0?u(o,n,r):d(o,t,n,r,`\`fmt.${e}\``)}},p=(e,t,n)=>{if(`present`in e){m(e.present,t,n);return}if(`truthy`in e){let r=e.truthy,i=Bm(r);i===void 0?h(r,t,n):m(i,t,n);return}if(`not`in e){p(e.not,t,n);return}if(`and`in e){let r=t;for(let t of e.and)p(t,r,n),r=Rm(r,Vm(t,!0));return}if(`or`in e){let r=t;for(let t of e.or)p(t,r,n),r=Rm(r,Vm(t,!1));return}let r=e.cmp===`lt`||e.cmp===`gt`||e.cmp===`le`||e.cmp===`ge`,i=r&&e.args.every(e=>u(e,t,n)===`string`);for(let a of e.args){let e=Bm(a);i||(e!==void 0&&!r?m(e,t,n):r?d(a,`number`,t,n,`a comparison`):h(a,t,n))}},m=(e,t,n)=>{s(e,{...t,guards:new Set([...t.guards,...zm(e)])},n)},h=(e,t,n)=>{if(typeof e==`object`&&e&&`length`in e){let r=Bm(e.length);if(r!==void 0){m(r,t,n);return}}u(e,t,n)},g=(e,t,n,r)=>{let i=u(e,t,n);if(i===`array`||i===`object`){let t=Bm(e);a({code:`invalid-binding-type`,message:`${t===void 0?`This value`:`\`${o(t)}\``} is ${i===`array`?`an array`:`an object`}, and ${r} takes a string or a number.`,fix:i===`array`?`Render the items with .map, or bind one of their fields.`:`Bind one of its fields.`,src:n})}},_=(e,t,n)=>{if(e===void 0||typeof e==`string`)return;if(Array.isArray(e)){for(let[,r]of e)g(r,t,n,`a style value`);return}let r=e;p(r.if,t,n),_(r.then,Rm(t,Vm(r.if,!0)),n),_(r.else,Rm(t,Vm(r.if,!1)),n)},v=(t,n,r)=>{for(let i of t){if(Cm(i)){g(i,n,r,`text`);continue}if(`el`in i){for(let e of Object.values(i.attrs??{}))g(e,n,i.src,`an attribute`);_(i.style,n,i.src),v(i.children??[],n,i.src)}else if(`if`in i)p(i.if,n,i.src),v(i.then,Rm(n,Vm(i.if,!0)),i.src??r),v(i.else??[],Rm(n,Vm(i.if,!1)),i.src??r);else if(`each`in i){let t=Bm(i.each),c;if(t!==void 0){c=s(t,n,i.src);let r=Im(e,c);r!==`array`&&r!==`unknown`&&a({code:`invalid-binding-type`,message:`\`${o(t)}\` is ${r===`object`?`an object`:`a ${r}`}, and a loop needs an array.`,fix:`Loop over an array field.`,src:i.src})}else u(i.each,n,i.src);let l;if(c!==void 0)for(let t of Fm(e,c))Nm(t.items)&&(l=Pm(e,t.items));let d=i.as.replace(/^\$/,``);i.where!==void 0&&p(i.where,{...n,variables:new Map(n.variables).set(d,l)},i.src??r);let f=new Map(n.variables);f.set(d,i.chunk===void 0||l===void 0?l:{type:`array`,items:l}),i.index!==void 0&&f.set(i.index.replace(/^\$/,``),{type:`integer`});let m=i.where===void 0?n:Rm(n,Vm(i.where,!0));v(i.children,{...m,variables:f},i.src??r)}else if(`raw`in i)for(let e of i.raw)typeof e!=`string`&&g(`attr`in e?e.attr:e.text,n,i.src,`markup`)}},y={variables:new Map,guards:new Set};v(t,y);for(let e of n)g(e,y,void 0,`the subject or preheader`);return r},Um=(e,t)=>{let n=e=>e.flatMap(e=>Cm(e)?[e]:`if`in e?[...n(e.then),...n(e.else??[])]:`each`in e?n(e.children):[e]),r=e=>{for(let t of e)Cm(t)||(`el`in t?i(t):`if`in t?(r(t.then),r(t.else??[])):`each`in t&&r(t.children))},i=e=>{let i=Wc(e.el),a=n(e.children??[]);if(i!==void 0){if(i.content===`void`&&a.length>0)t({code:`void-element-children`,message:`<${e.el}> cannot have children.`,src:e.src});else if(i.content===`text`||i.content===`raw`)for(let n of a)!Cm(n)&&!(`raw`in n)&&t({code:`invalid-content`,message:`<${e.el}> accepts text only.`,src:e.src});else if(i.childElements!==void 0)for(let n of a)if(Cm(n)){if(typeof n==`string`&&n.trim()===``)continue;t({code:`invalid-content`,message:`<${e.el}> cannot contain text directly; put it inside <${i.childElements[0]}>.`,src:e.src})}else`el`in n&&!i.childElements.includes(n.el)&&t({code:`invalid-content`,message:`<${e.el}> accepts only ${i.childElements.map(e=>`<${e}>`).join(`, `)}; found <${n.el}>.`,src:n.src??e.src});r(e.children??[])}};r(e)},Wm=``,Gm=``,Km=/(\d+)/g,qm=class{entries=[];value(e){return typeof e==`string`?e:(this.entries.push({value:e}),`${Wm}${this.entries.length-1}${Gm}`)}nodes(e){return this.entries.push({nodes:e}),`${Wm}${this.entries.length-1}${Gm}`}parse(e){let t=[],n=0;for(let r of e.matchAll(Km)){r.index>n&&t.push(e.slice(n,r.index));let i=this.entries[Number(r[1])];i!==void 0&&t.push(i),n=r.index+r[0].length}return n<e.length&&t.push(e.slice(n)),t}toValue(e){let t=this.parse(e);if(t.length===0)return``;let n=[];for(let e of t)if(typeof e==`string`)n.push(e);else if(`value`in e)n.push(e.value);else return;return n.length===1?n[0]:{concat:n}}},Jm=(e,t)=>Sm(t)?t:e.value(t),Ym=e=>e===void 0?{}:{src:e},Xm=(e,t)=>{let n=[],r=!1,i,a=``,o=()=>{a!==``&&n.push(a),a=``};for(let s=0;s<t.length;s++){let c=t[s];if(c===Wm){let i=t.indexOf(Gm,s),a=e.parse(t.slice(s,i+1))[0];if(i>s&&a!==void 0&&typeof a!=`string`&&`value`in a){o(),n.push(r?{attr:a.value}:{text:a.value}),s=i;continue}}!r&&c===`<`?r=!0:r&&i===void 0&&(c===`"`||c===`'`)?i=c:r&&i===c?i=void 0:r&&i===void 0&&c===`>`&&(r=!1),a+=c}return o(),n},Zm=(e,t)=>{if(!is(t))return;let n=[];for(let[r,i]of Object.entries(t))if(i!=null){if(typeof i==`number`)n.push([r,i]);else if(typeof i==`string`){let t=e.toValue(i);t!==void 0&&n.push([r,t])}}return n},Qm=(e,t,n)=>{if(e===null)return[];switch(e.type){case`Text`:{let n=[];for(let r of t.parse(e.value))typeof r==`string`?n.push(r):`value`in r?n.push(r.value):n.push(...r.nodes);return n}case`Fragment`:return e.children.flatMap(e=>Qm(e,t,n));case`Raw`:return[{raw:Xm(t,e.html),...e.text===``?{}:{text:e.text},...Ym(n)}];case`Element`:{let r={},i;for(let[n,a]of Object.entries(e.props)){if(n===`key`||a==null||a===!1)continue;if(n===`style`){i=Zm(t,a);continue}let e=n===`className`?`class`:n;typeof a==`string`?r[e]=t.toValue(a)??a:(typeof a==`number`||a===!0)&&(r[e]=a)}let a=e.props[Ac]===!0;return[{el:e.tag,...Object.keys(r).length===0?{}:{attrs:r},...i===void 0||Array.isArray(i)&&i.length===0?{}:{style:i},...e.children.length===0?{}:{children:e.children.flatMap(e=>Qm(e,t,n))},...a?{reserved:!0}:{},...Ym(n)}]}}},$m={Email:[`gutter`],Button:[`height`,`paddingX`,`borderRadius`,`borderWidth`,`fontSize`,`width`],Spacer:[`height`],Columns:[`gap`],Divider:[`thickness`],BrandLogo:[`width`]},eh={Email:yl,Section:xl,Columns:El,Column:Dl,Button:Nl,Spacer:Pl,Divider:Fl,Image:Il,Link:Ll},th=(e,t,n,r)=>{switch(r.k){case`object`:{let n={};for(let[i,a]of r.fields)n[i]=th(e,t,i,a);return n}case`nodes`:e.lowerer.error(e.ctx,e.node,`dynamic-expression`,`<${e.name} ${n}> takes text, not markup.`);return;default:{let i=xm(r);if(i===void 0){e.lowerer.error(e.ctx,e.node,`dynamic-expression`,`<${e.name} ${n}> cannot be the input as a whole.`,`Bind one field.`);return}return Jm(t,i)}}},nh=(e,t)=>{let n=t.length===1?t[0]:void 0;return n!==void 0&&Cm(n)&&n!==null&&typeof n!=`boolean`?typeof n==`string`?n:e.value(n):t.map(t=>Cm(t)?typeof t==`string`?t:e.value(t):e.nodes([t]))},rh=(e,t)=>{if(e!==void 0)return Sl(e);let n={length:t};return{concat:[{op:`/`,args:[{op:`-`,args:[100,{op:`%`,args:[100,n]}]},n]},`%`]}},ih=(e,t,n)=>{let{lowerer:r,ctx:i,node:a}=e,o=t.get(`each`),s=o===void 0?void 0:xm(o);if(s===void 0){r.error(i,a,`invalid-columns-each`,`<Columns each> takes a list from the input.`,`Write each={input.items}.`);return}let c=t.get(`per`),l=c?.k===`value`?c.value:void 0;if(c!==void 0&&!(typeof l==`number`&&Number.isInteger(l)&&l>=1)){r.error(i,a,`invalid-columns-per`,`<Columns per> is a whole number of cells, one or more.`,`Write per={2}.`);return}let u=typeof l==`number`?l:void 0,d=hm(a,`children`).filter(e=>e.type!==`JSXText`||(Y(e,`value`)??``).trim()!==``),f=d.length===1?d[0]:void 0,p=f?.type===`JSXExpressionContainer`?J(f,`expression`):void 0,m=p===void 0?void 0:_m(p);if(m===void 0||!/Function/.test(m.type)){r.error(i,a,`invalid-columns-each`,`<Columns each> takes a function of one item as its only child.`,`Write {(item) => <Column>…</Column>}.`);return}let h=u===void 0?void 0:r.freshName(i,`row`),g={...i,loops:h===void 0?i.loops:[...i.loops,h],columnWidth:rh(u,s),columnStack:n},_=r.eachOver(g,a,h===void 0?s:{bind:`$${h}`},m);if(_!==void 0)return{cells:_,wrap:e=>h===void 0||u===void 0?e:[{each:s,as:h,chunk:u,children:e,src:r.src(i.module,a)}]}},ah=e=>{let{lowerer:t,ctx:n,node:r,binding:i}=e,a=i.specifier;if(i.kind===`markup`&&(a===`@samva/markup/sms`||a===`@samva/markup/whatsapp`)){let i=e.channel?.(e);return i===void 0?(t.error(n,r,`wrong-channel`,`<${e.name}> belongs in the ${a.split(`/`).pop()} body of a template.`,"Write it in the `sms` or `whatsapp` function of defineTemplate."),[]):i}let o=i.imported,s=i.kind===`markup`&&a===`@samva/markup/email`,c=i.kind===`brand`;if(!(s||c))return t.error(n,r,`unknown-component`,`<${e.name}> is not a component the profile can read.`,`Import components from @samva/markup/email, ${e.brandPlugin.specifier}, or the project.`),[];let l;if(s)l=eh[o];else{if(e.brand===void 0)return t.error(n,r,`brand-unavailable`,`<${e.name}> comes from ${i.specifier}, and this build has no brand to resolve it.`,`Compile with a brand, or remove the brand components.`),[];let a=Bu(e.brand,e.brandPlugin);l=o===`BrandLogo`?a.BrandLogo:o===`BrandFooter`?a.BrandFooter:void 0}if(l===void 0||!Object.hasOwn(eh,o)&&s)return t.error(n,r,`unknown-component`,`\`${o}\` is not an email component.`,`Use one of ${Object.keys(eh).join(`, `)}, BrandLogo or BrandFooter.`),[];let u=t.attributeBindings(n,e.attributes);if(u===void 0)return[];let d=u,f=e=>e,p,m=u.get(`stack`),h=m===void 0||xm(m);if(o===`Columns`&&typeof h!=`boolean`)return t.error(n,r,`invalid-columns-stack`,`<Columns stack> decides the layout at compile time, so it must be true or false.`,`Write stack={false}, or leave it out to stack on narrow screens.`),[];let g={...n,columnWidth:void 0,columnStack:o===`Columns`?h===!0:void 0};if(o===`Columns`&&u.has(`each`)&&u.has(`gap`))return t.error(n,r,`invalid-columns-gap`,`<Columns gap> spaces Column children written out in the row; cells repeated with each cannot take it.`,`Write the Columns out, or pad each repeated cell (className="px-2").`),[];if(o===`Columns`&&u.has(`each`)){let t=ih(e,u,h===!0);if(t===void 0)return[];d=new Map([...u].filter(([e])=>e!==`each`&&e!==`per`&&e!==`stack`)),p=[t.cells],f=t.wrap}else p=t.jsxChildren(g,r);if(o===`Columns`&&u.has(`gap`)&&p.some(e=>!Cm(e)&&!(`el`in e)))return t.error(n,r,`invalid-columns-gap`,`<Columns gap> spaces Column children that always render; a conditional or repeated Column would leave a stray gap.`,`Pad the cells instead (className="pr-6"), or write each Column unconditionally.`),[];let _=new qm,v={};for(let[t,n]of d)v[t]=th(e,_,t,n);for(let i of $m[o]??[]){let a=v[i];if(typeof a==`string`&&!/^-?\d+(\.\d+)?$/.test(a)&&a!==void 0)return t.error(n,r,`dynamic-numeric-prop`,`<${e.name} ${i}> sizes the layout at compile time, so it must be a number literal.`,`Write ${i}={44}.`),[]}if(o===`Column`&&v.width===void 0&&n.columnWidth!==void 0&&(v.width=Jm(_,n.columnWidth)),o===`Column`&&n.columnStack===!0&&(v.className=typeof v.className==`string`&&v.className!==``?`${hl.stack} ${v.className}`:hl.stack),p.length>0&&(v.children=nh(_,p)),o===`Button`&&typeof v.children==`string`&&v.children!==``&&v.width===void 0&&v.height!==void 0&&_.toValue(v.children)!==v.children)return t.error(n,r,`button-dynamic-label`,`Classic Outlook draws the button from a fixed box, and a label read at render time cannot size it.`,`Give the button a width: <Button width={200} …>.`),[];gs();let y=l(v),b=t.findings.locate(n.module.parsed,r);for(let e of gs())t.findings.items.push({...e,origins:[b]});return y!==null&&(!is(y)||typeof y.type!=`string`)?[]:f([...Qm(y,_,t.src(n.module,r))])},oh=(e,t,n)=>({ok:!1,node:t,module:e,reason:n}),sh=e=>{if(e.type===`ObjectProperty`&&e.computed!==!0){let t=J(e,`key`);if(t===void 0)return;if(t.type===`Identifier`)return Y(t,`name`);if(t.type===`StringLiteral`)return Y(t,`value`);if(t.type===`NumericLiteral`)return String(t.value)}},ch=(e,t,n,r=new Set)=>{let i=`${t.path}\0${n}`;if(r.has(i))return;r.add(i);let a=t.declarations.get(n);if(a!==void 0)return{module:t,value:a.value};let o=t.imports.get(n);if(o===void 0)return;if(o.kind===`asset`)return{asset:o.path};if(o.kind!==`project`)return;let s=e.project.modules.get(o.path);if(s===void 0)return;if(o.imported==="default"){let e=s.defaultExport;return e===void 0?void 0:{module:s,value:e}}let c=s.exports.get(o.imported);return c===void 0?void 0:ch(e,s,c,r)},lh=(e,t,n,r=new Set)=>{let i=_m(n);switch(i.type){case`StringLiteral`:return{ok:!0,value:i.value};case`NumericLiteral`:return{ok:!0,value:i.value};case`BooleanLiteral`:return{ok:!0,value:i.value};case`NullLiteral`:return{ok:!0,value:null};case`TemplateLiteral`:{if(hm(i,`expressions`).length>0)return oh(t,i,"a template string with a `${}` part is computed at run time");let e=hm(i,`quasis`)[0]?.value,n=e?.cooked??e?.raw;return{ok:!0,value:typeof n==`string`?n:``}}case`UnaryExpression`:{let e=J(i,`argument`);return Y(i,`operator`)===`-`&&e!==void 0&&e.type===`NumericLiteral`&&typeof e.value==`number`?{ok:!0,value:-e.value}:oh(t,i,`only a negative number literal is data`)}case`Identifier`:{let n=Y(i,`name`)??``;if(n===`undefined`)return{ok:!0,value:void 0};let a=ch(e,t,n);if(a===void 0)return oh(t,i,`\`${n}\` is not a constant in the project`);if(`asset`in a){let r=e.assetUrl(a.asset);return r===void 0?oh(t,i,`\`${n}\` names an asset the build did not address`):{ok:!0,value:r}}let o=`${a.module.path}\0${n}\0${a.value.start}`;if(r.has(o))return oh(t,i,`\`${n}\` refers to itself`);r.add(o);let s=lh(e,a.module,a.value,r);return r.delete(o),s}case`ArrayExpression`:{let n=[];for(let a of Array.isArray(i.elements)?i.elements:[]){if(typeof a!=`object`||!a)return oh(t,i,`an array hole`);let o=a;if(o.type===`SpreadElement`){let i=J(o,`argument`);if(i===void 0)return oh(t,o,`an empty spread`);let a=lh(e,t,i,r);if(!a.ok)return a;if(!Array.isArray(a.value))return oh(t,o,`a spread of a non-array`);n.push(...a.value);continue}let s=lh(e,t,o,r);if(!s.ok)return s;n.push(s.value)}return{ok:!0,value:n}}case`ObjectExpression`:{let n={};for(let a of hm(i,`properties`)){if(a.type===`SpreadElement`){let i=J(a,`argument`);if(i===void 0)return oh(t,a,`an empty spread`);let o=lh(e,t,i,r);if(!o.ok)return o;if(typeof o.value!=`object`||o.value===null||Array.isArray(o.value))return oh(t,a,`a spread of a non-object`);Object.assign(n,o.value);continue}let i=sh(a);if(i===void 0)return oh(t,a,`a computed or method property`);let o=J(a,`value`);if(o===void 0)return oh(t,a,`a property without a value`);let s=lh(e,t,o,r);if(!s.ok)return s;s.value!==void 0&&(n[i]=s.value)}return{ok:!0,value:n}}case`CallExpression`:{let n=J(i,`callee`),a=hm(i,`arguments`)[0];return n?.type===`Identifier`&&Y(n,`name`)===`jsonSchema`&&a!==void 0?lh(e,t,a,r):oh(t,i,`a call is computed at run time`)}default:return oh(t,i,`${i.type} is not data`)}},uh=40,dh={"+":`+`,"-":`-`,"*":`*`,"/":`/`,"%":`%`},fh={"===":`eq`,"!==":`ne`,"<":`lt`,">":`gt`,"<=":`le`,">=":`ge`},ph={money:[2,3],number:[1,3],date:[1,3],time:[1,3],plural:[2,3],list:[1,2]},mh=new Set([`reduce`,`filter`,`slice`,`join`,`sort`,`concat`,`flatMap`,`find`,`some`,`every`,`toFixed`,`toLocaleString`,`toLocaleDateString`,`toUpperCase`,`toLowerCase`,`trim`,`split`,`replace`,`padStart`,`includes`,`indexOf`,`at`]),hh=e=>{let t=e.split(/\r\n|\n|\r/),n=0;for(let[e,r]of t.entries())/[^ \t]/.test(r)&&(n=e);let r=``;for(let[e,i]of t.entries()){let a=i.replace(/\t/g,` `);e!==0&&(a=a.replace(/^ +/,``)),e!==t.length-1&&(a=a.replace(/ +$/,``)),a!==``&&(e!==n&&(a+=` `),r+=a)}return r},gh=e=>e.type===`JSXIdentifier`?Y(e,`name`)??``:e.type===`JSXNamespacedName`?`${Y(J(e,`namespace`)??e,`name`)??``}:${Y(J(e,`name`)??e,`name`)??``}`:e.type===`JSXMemberExpression`?`${gh(J(e,`object`)??e)}.${Y(J(e,`property`)??e,`name`)??``}`:``,_h=e=>e===null||typeof e==`string`||typeof e==`number`||typeof e==`boolean`,vh=e=>e===`VariableDeclaration`?"`const`":e===`IfStatement`?"`if`":/For|While/.test(e)?`a loop`:`a statement`,yh=class{options;sources=[];uniqueId=0;reservedAttributes;constructor(e){this.options=e,this.reservedAttributes=Fc(e.brandPlugin)}get findings(){return this.options.findings}src(e,t){let n=e.parsed.position(t.start);if(e.path===this.options.project.entry.path)return[n.line,n.column];let r=this.sources.indexOf(e.path);return r<0&&(r=this.sources.length,this.sources.push(e.path)),[n.line,n.column,r+1]}error(e,t,n,r,i){this.findings.add(e.module.parsed,t,n,r,i)}dynamic(e,t,n,r){this.error(e,t,`dynamic-expression`,`${n} runs code, and templates render without running code.`,r)}functionExpression(e,t){let n=J(t,`body`);if(n===void 0)return;if(n.type!==`BlockStatement`)return n;let r=hm(n,`body`),i=r[0];if(r.length===1&&i?.type===`ReturnStatement`){let e=J(i,`argument`);if(e!==void 0)return e}let a=r.find(e=>e.type!==`ReturnStatement`)??n,o=vh(a.type);this.error(e,a,`statement-in-body`,`A body is one expression, and ${o} is a statement.`,"Write the value where it is used: `cond && <X />` or `cond ? <A /> : <B />` for branches, `.map` for lists. Compute anything else in the caller and send it in the payload.")}bindPattern(e,t,n,r,i){switch(t.type){case`Identifier`:{let e=Y(t,`name`)??``;r.set(e,n??{k:`value`,value:null});return}case`AssignmentPattern`:{let a=J(t,`left`),o=J(t,`right`);if(a===void 0||o===void 0)return;if(!i){this.error(e,t,`unsupported-pattern`,`A default value on the input is never inserted, so it is not part of the profile.`,`Remove the default; declare the field as required or guard it where it is read.`);return}let s=n;if(s===void 0){let t=lh(this.options.staticContext,e.module,o);if(!t.ok){this.error(e,o,`dynamic-expression`,`A default prop value must be a literal.`,`Use a string, number or boolean literal.`);return}s={k:`value`,value:t.value}}this.bindPattern(e,a,s,r,i);return}case`ObjectPattern`:for(let a of hm(t,`properties`)){if(a.type===`RestElement`){this.error(e,a,`unsupported-pattern`,`A rest element gathers props at run time.`,`Name each prop you use.`);continue}let t=J(a,`key`),o=J(a,`value`),s=gm(t);if(s===void 0||o===void 0||a.computed===!0){this.error(e,a,`unsupported-pattern`,`A computed key cannot be read statically.`);continue}let c=n===void 0?void 0:this.field(e,n,s,a);this.bindPattern(e,o,c,r,i)}return;default:this.error(e,t,`unsupported-pattern`,`A parameter is a name or an object pattern of names.`,"Write `(input) =>` or `({ name, items }) =>`.")}}field(e,t,n,r){switch(t.k){case`path`:return n===`length`&&t.path!==``?{k:`value`,value:{length:{bind:t.path}}}:{k:`path`,path:bm(t.path,n)};case`object`:return t.fields.get(n);case`value`:if(n===`length`)return{k:`value`,value:{length:t.value}};if(t.value===null)return{k:`value`,value:null};this.error(e,r,`dynamic-expression`,`\`.${n}\` reads a property of a computed value.`,`Read fields of the input directly.`);return;case`nodes`:this.error(e,r,`dynamic-expression`,"`children` has no fields.","Render `{children}` as is.");return}}binding(e,t){let n=_m(t);if(n.type===`Identifier`){let t=Y(n,`name`)??``;if(t===`undefined`)return{k:`value`,value:null};let r=e.env.get(t);if(r!==void 0)return r;let i=e.module.imports.get(t);if(i?.kind===`asset`){let e=this.options.assetUrl(i.path);if(e!==void 0)return{k:`value`,value:e}}this.error(e,n,`dynamic-expression`,`\`${t}\` is not a binding the template declared.`,"Read the input through the function's parameter, for example `input.name`.");return}if(n.type===`MemberExpression`){let t=J(n,`object`),r=J(n,`property`);if(t===void 0||r===void 0)return;if(n.computed!==!0&&Y(r,`name`)===`length`&&this.filterChain(e,t)!==void 0){let n=this.filterChain(e,t);if(n.list===void 0)return;let r=n.filters[0],i=r===void 0?void 0:hm(r,`params`)[0],a=this.uniqueName(e,i?.type===`Identifier`?Y(i,`name`)??`item`:`item`),o=this.whereClause({...e,loops:[...e.loops,a]},a,n.filters);return o===void 0?void 0:{k:`value`,value:{count:n.list,as:a,where:o}}}let i=this.binding(e,t);if(i===void 0)return;let a;if(n.computed===!0){if(r.type===`StringLiteral`?a=Y(r,`value`):r.type===`NumericLiteral`&&(a=String(r.value)),a===void 0){this.dynamic(e,n,`A computed property`,"Use `.name`, or a numeric index such as `[0]`.");return}}else a=Y(r,`name`);return a===void 0?void 0:this.field(e,i,a,n)}if(n.type===`OptionalMemberExpression`||n.type===`OptionalCallExpression`){this.dynamic(e,n,`Optional chaining`,"Guard the field: `input.discount && <p>{input.discount.label}</p>`.");return}let r=this.value(e,n,!1);return r===void 0?void 0:{k:`value`,value:r}}value(e,t,n){let r=_m(t);switch(r.type){case`StringLiteral`:return this.checkedText(e,r,Y(r,`value`)??``);case`NumericLiteral`:return typeof r.value==`number`?r.value:void 0;case`BooleanLiteral`:return r.value===!0;case`NullLiteral`:return null;case`Identifier`:case`MemberExpression`:case`OptionalMemberExpression`:{let t=this.binding(e,r);if(t===void 0)return;let n=xm(t);if(n!==void 0)return n;this.error(e,r,`dynamic-expression`,t.k===`path`?`The input as a whole is not a value.`:"An object or `children` is not text.",t.k===`path`?"Read one field: `input.name`.":"Render `{children}` as content, or read one field.");return}case`TemplateLiteral`:return this.template(e,r,n);case`ConditionalExpression`:{let t=J(r,`test`),i=J(r,`consequent`),a=J(r,`alternate`);if(t===void 0||i===void 0||a===void 0)return;let o=this.predicate(e,t),s=this.value(e,i,n),c=this.value(e,a,n);return o===void 0||s===void 0||c===void 0?void 0:{if:o,then:s,else:c}}case`LogicalExpression`:{let t=Y(r,`operator`),i=J(r,`left`),a=J(r,`right`);if(i===void 0||a===void 0)return;if(t===`||`){let t=this.value(e,i,n),r=this.value(e,a,n);return t===void 0||r===void 0?void 0:{if:{truthy:t},then:t,else:r}}if(t===`??`){this.error(e,r,`dynamic-expression`,"`??` is not one of the conditions the profile reads.",'Write the condition out: `input.name === null ? "there" : input.name`, or `input.name || "there"`.');return}this.error(e,r,`dynamic-expression`,"`&&` in a value position yields its left operand when that is falsy.","Use a conditional: `cond ? value : fallback`, or `cond && <X />` in content.");return}case`CallExpression`:return this.call(e,r);case`BinaryExpression`:{let t=Y(r,`operator`)??``,i=dh[t],a=J(r,`left`),o=J(r,`right`);if(i===void 0||a===void 0||o===void 0){this.error(e,r,`dynamic-expression`,`\`${t}\` produces a condition, not a value.`,"Use it as the test of `&&`, `? :` or `||`.");return}if(!n){this.error(e,r,`dynamic-expression`,"Arithmetic runs code, and it is allowed only inside a `fmt.*` argument or a condition.","Wrap it: `fmt.number(item.price * item.qty)`, or send the computed value in the payload.");return}if(i===`+`&&[a,o].some(e=>/StringLiteral|TemplateLiteral/.test(_m(e).type))){this.error(e,r,`dynamic-expression`,"`+` with a string joins text at run time.","Use a template string: `${a} ${b}`.");return}let s=this.value(e,a,!0),c=this.value(e,o,!0);return s===void 0||c===void 0?void 0:{op:i,args:[s,c]}}case`UnaryExpression`:{let t=Y(r,`operator`),i=J(r,`argument`);if(t===`-`&&i!==void 0){let t=_m(i);if(t.type===`NumericLiteral`&&typeof t.value==`number`)return-t.value;if(n){let t=this.value(e,i,!0);return t===void 0?void 0:{op:`-`,args:[0,t]}}}if(t===`!`){this.error(e,r,`dynamic-expression`,"`!` produces a condition, not a value.","Use it as the test of `&&`, `? :` or `||`.");return}return this.dynamic(e,r,`\`${t??`?`}\``,`Send the computed value in the payload.`)}case`JSXElement`:case`JSXFragment`:this.error(e,r,`dynamic-expression`,`Markup is not a text value.`,`Use it as content.`);return;case`ArrowFunctionExpression`:case`FunctionExpression`:return this.dynamic(e,r,`A function`,`Write the value directly.`);case`NewExpression`:case`AwaitExpression`:case`AssignmentExpression`:case`UpdateExpression`:case`SequenceExpression`:case`ObjectExpression`:case`ArrayExpression`:case`SpreadElement`:return this.dynamic(e,r,`\`${r.type}\``,`Send the computed value in the payload.`);default:return this.dynamic(e,r,`\`${r.type}\``,`Send the computed value in the payload.`)}}checkedText(e,t,n){return/[-]/.test(n)&&this.error(e,t,`reserved-character`,`This text contains a private-use character the compiler reserves.`,`Remove the characters U+E000 to U+E003.`),n}template(e,t,n){let r=hm(t,`quasis`),i=hm(t,`expressions`),a=[],o=!0;for(let[t,s]of r.entries()){let r=Sh(s);r!==``&&a.push(this.checkedText(e,s,r));let c=i[t];if(c!==void 0){let t=this.value(e,c,n);t===void 0?o=!1:a.push(t)}}if(o)return Ch(a)}call(e,t){let n=J(t,`callee`),r=hm(t,`arguments`);if(n===void 0)return;let i=_m(n);if(i.type===`MemberExpression`&&i.computed!==!0){let n=J(i,`object`),a=J(i,`property`),o=a===void 0?void 0:Y(a,`name`);if(n!==void 0&&o!==void 0&&this.isFmt(e,n)){if(!Oc.includes(o)){this.error(e,t,`unknown-formatter`,`\`fmt.${o}\` is not a formatter.`,`Use one of ${Oc.map(e=>`fmt.${e}`).join(`, `)}.`);return}let n=o,[i,a]=ph[n];if(r.length<i||r.length>a){this.error(e,t,`formatter-arguments`,`\`fmt.${n}\` takes ${i===a?i:`${i} to ${a}`} arguments.`,`Check the formatter table in the reference.`);return}let s=[];for(let t of r){let n=_m(t);if(n.type===`ObjectExpression`){let t=lh(this.options.staticContext,e.module,n);if(!t.ok){this.error(e,n,`dynamic-expression`,`Formatter options are literal.`,`Write plain string and number values.`);return}s.push({lit:t.value});continue}if(n.type===`ArrayExpression`){let t=lh(this.options.staticContext,e.module,n);if(t.ok){s.push({lit:t.value});continue}}let r=this.value(e,t,!0);if(r===void 0)return;s.push(r)}return{format:n,args:s}}if(o!==void 0&&mh.has(o))return this.dynamic(e,t,`\`.${o}(…)\``,"Send the computed value in the payload and bind it, or format with `fmt.*`.")}if(i.type===`Identifier`&&/^use[A-Z]/.test(Y(i,`name`)??``)){this.error(e,t,`hook-call`,`\`${Y(i,`name`)}\` is a hook, and a template has no state, effects or context.`,`Read the input through the function's parameter; send anything else in the payload.`);return}let a=i.type===`Identifier`?Y(i,`name`)??``:i.type===`MemberExpression`?`${bh(J(i,`object`))}.${Y(J(i,`property`)??i,`name`)??``}`:`a call`;return this.dynamic(e,t,`\`${a}(…)\``,"Send the computed value in the payload and bind it, or format with `fmt.money`, `fmt.number`, `fmt.date`, `fmt.time`, `fmt.plural` or `fmt.list`.")}isFmt(e,t){let n=_m(t);if(n.type!==`Identifier`)return!1;let r=e.module.imports.get(Y(n,`name`)??``);return r?.kind===`markup`&&r.specifier===`@samva/markup/fmt`}predicate(e,t){let n=_m(t);if(n.type===`LogicalExpression`){let t=Y(n,`operator`),r=J(n,`left`),i=J(n,`right`);if(r!==void 0&&i!==void 0&&(t===`&&`||t===`||`)){let n=this.predicate(e,r),a=this.predicate(e,i);if(n===void 0||a===void 0)return;if(t===`&&`){let e=e=>`and`in e?e.and:[e];return{and:[...e(n),...e(a)]}}let o=e=>`or`in e?e.or:[e];return{or:[...o(n),...o(a)]}}}if(n.type===`UnaryExpression`&&Y(n,`operator`)===`!`){let t=J(n,`argument`),r=t===void 0?void 0:this.predicate(e,t);return r===void 0?void 0:{not:r}}if(n.type===`BinaryExpression`){let t=Y(n,`operator`)??``,r=fh[t],i=J(n,`left`),a=J(n,`right`);if(r===void 0||i===void 0||a===void 0){this.error(e,n,`dynamic-expression`,t===`==`||t===`!=`?`\`${t}\` coerces types at run time.`:`\`${t}\` is not a comparison the profile reads.`,"Use `===`, `!==`, `<`, `>`, `<=` or `>=`.");return}let o=this.value(e,i,!0),s=this.value(e,a,!0);return o===void 0||s===void 0?void 0:{cmp:r,args:[o,s]}}let r=this.value(e,n,!0);if(r!==void 0)return typeof r==`object`&&r&&`bind`in r?{present:r.bind}:{truthy:r}}jsxChildren(e,t){let n=[];for(let r of hm(t,`children`))switch(r.type){case`JSXText`:{let t=hh(Y(r,`value`)??``);t!==``&&n.push(this.checkedText(e,r,t));break}case`JSXExpressionContainer`:{let t=J(r,`expression`);if(t===void 0||t.type===`JSXEmptyExpression`)break;n.push(...this.content(e,t));break}case`JSXElement`:case`JSXFragment`:n.push(...this.element(e,r));break;case`JSXSpreadChild`:this.dynamic(e,r,`A spread child`,`List the children.`)}return n}content(e,t){if(e.depth>uh)return this.error(e,t,`nesting-limit`,`The template nests too deeply.`,`Flatten it.`),[];let n=_m(t);switch(n.type){case`JSXElement`:case`JSXFragment`:return this.element(e,n);case`StringLiteral`:{let t=Y(n,`value`)??``;return t===``?[]:[this.checkedText(e,n,t)]}case`NumericLiteral`:return typeof n.value==`number`?[n.value]:[];case`BooleanLiteral`:case`NullLiteral`:return[];case`Identifier`:{let t=Y(n,`name`)??``;if(t===`undefined`)return[];let r=e.env.get(t);if(r?.k===`nodes`)return[...r.nodes];break}case`LogicalExpression`:{let t=Y(n,`operator`),r=J(n,`left`),i=J(n,`right`);if(t===`&&`&&r!==void 0&&i!==void 0){let t=this.predicate(e,r),a=this.content(e,i);return t===void 0?[]:[{if:t,then:a,src:this.src(e.module,n)}]}break}case`ConditionalExpression`:{let t=J(n,`test`),r=J(n,`consequent`),i=J(n,`alternate`);if(t===void 0||r===void 0||i===void 0)return[];let a=this.predicate(e,t),o=this.content(e,r),s=this.content(e,i);return a===void 0?[]:[{if:a,then:o,...s.length===0?{}:{else:s},src:this.src(e.module,n)}]}case`CallExpression`:{let t=J(n,`callee`),r=t===void 0?void 0:_m(t),i=r===void 0?void 0:J(r,`property`);if(r?.type===`MemberExpression`&&r.computed!==!0&&i!==void 0&&Y(i,`name`)===`map`)return this.each(e,n,r);break}}let r=this.value(e,n,!1);return r===void 0?[]:[r]}freshName(e,t){return this.uniqueName(e,t)}uniqueName(e,t){return e.loops.includes(t)?(this.uniqueId+=1,`${t}_${this.uniqueId}`):t}each(e,t,n){let r=J(n,`object`),i=hm(t,`arguments`)[0];if(r===void 0||i===void 0)return[];let a=this.filterChain(e,r),o=a===void 0?this.value(e,r,!1):a.list,s=_m(i);if(s.type!==`ArrowFunctionExpression`&&s.type!==`FunctionExpression`)return this.dynamic(e,i,`A callback that is not an inline function`,"Write `.map((item) => <Row item={item} />)`."),[];if(o===void 0)return[];let c=this.eachOver(e,t,o,s,a?.filters??[]);return c===void 0?[]:[c]}filterChain(e,t){let n=[],r=_m(t);for(;r.type===`CallExpression`;){let e=J(r,`callee`),t=e===void 0?void 0:_m(e),i=t===void 0?void 0:J(t,`property`);if(t?.type!==`MemberExpression`||t.computed===!0||i===void 0||Y(i,`name`)!==`filter`)break;let a=hm(r,`arguments`)[0],o=J(t,`object`);if(a===void 0||o===void 0)return;n.unshift(_m(a)),r=_m(o)}if(n.length!==0)return{list:this.value(e,r,!1),filters:n}}whereClause(e,t,n){let r=[];for(let i of n){if(!/Function/.test(i.type)){this.dynamic(e,i,"A `.filter` callback that is not an inline function","Write `.filter((item) => item.done)`.");return}let n=hm(i,`params`);if(n.length>1){this.error(e,i,`dynamic-expression`,"A `.filter` callback reads the item; its index and the array are not part of the profile.",`Remove the extra parameters.`);return}let a=new Map(e.env);n[0]!==void 0&&this.bindPattern(e,n[0],{k:`path`,path:`$${t}`},a,!1);let o={...e,env:a},s=this.functionExpression(o,i),c=s===void 0?void 0:this.predicate(o,s);if(c===void 0)return;r.push(c)}if(r.length!==0)return r.length===1?r[0]:{and:r}}eachOver(e,t,n,r,i=[],a={}){let o=hm(r,`params`);if(o.length>2){this.error(e,r,`dynamic-expression`,"`.map` callbacks read the item and its index; a third parameter is the whole array.",`Remove the third parameter.`);return}let s=new Map(e.env),c=[...e.loops],l=``,u,d=o[0];if(d!==void 0){let t=d.type===`Identifier`?Y(d,`name`)??`item`:`item`;l=this.uniqueName({...e,loops:c},a.name??t),c.push(l),this.bindPattern({...e,loops:c},d,{k:`path`,path:`$${l}`},s,!1)}else l=this.uniqueName(e,a.name??`item`),c.push(l);let f=o[1];f!==void 0&&(f.type===`Identifier`?(u=this.uniqueName({...e,loops:c},Y(f,`name`)??`index`),c.push(u),s.set(Y(f,`name`)??`index`,{k:`value`,value:{bind:`$${u}`}})):this.error(e,f,`unsupported-pattern`,`The index is a plain name.`));let p=i.length===0?void 0:this.whereClause(e,l,i);if(i.length>0&&p===void 0)return;let m={...e,env:s,loops:c,depth:e.depth+1},h=this.functionExpression(m,r);if(h===void 0)return;let g=this.content(m,h);return{each:n,as:l,...u===void 0?{}:{index:u},...p===void 0?{}:{where:p},...a.chunk===void 0?{}:{chunk:a.chunk},children:g,src:this.src(e.module,t)}}element(e,t){if(t.type===`JSXFragment`)return this.jsxChildren({...e,depth:e.depth+1},t);let n=J(t,`openingElement`),r=n===void 0?void 0:J(n,`name`);if(n===void 0||r===void 0)return[];let i=gh(r),a={...e,depth:e.depth+1};return a.depth>uh?(this.error(e,t,`nesting-limit`,`The template nests too deeply.`,`Flatten it.`),[]):/^[a-z]/.test(i)&&!i.includes(`.`)?this.intrinsic(a,t,n,i):this.component(a,t,n,i)}attributeName(e){let t=J(e,`name`);return t===void 0?``:gh(t)}intrinsic(e,t,n,r){let i=Wc(r);if(i===void 0){let n=Mm(r,Object.keys(Uc));return this.error(e,t,`unsupported-element`,`<${r}> is not part of the supported email vocabulary.`,n===void 0?`Use one of: ${Object.keys(Uc).join(`, `)}.`:`Did you mean <${n}>? Supported elements: ${Object.keys(Uc).join(`, `)}.`),[]}let a={},o,s=[this.findings.locate(e.module.parsed,t)];for(let t of hm(n,`attributes`)){if(t.type===`JSXSpreadAttribute`){this.dynamic(e,t,`A spread attribute`,`Write each attribute.`);continue}let n=this.attributeName(t),c=J(t,`value`);if(n===`key`)continue;if(n===`ref`||n===`dangerouslySetInnerHTML`||/^on[A-Z]/.test(n)){let r=n===`dangerouslySetInnerHTML`;this.error(e,t,r?`dangerous-html`:n===`ref`?`unsupported-attribute`:`event-handler`,r?"`dangerouslySetInnerHTML` injects unescaped markup.":n===`ref`?"A `ref` needs a running component.":`\`${n}\` is an event handler; email clients strip scripting and Samva refuses it.`,r?`Write the markup as elements.`:`Remove it.`);continue}if(this.reservedAttributes.has(n)){this.error(e,t,`reserved-attribute`,`\`${n}\` is written only by BrandFooter from ${this.options.brandPlugin.specifier}.`,`Render <BrandFooter /> instead of marking an element as the footer.`);continue}if(n===`className`||n===`class`){let t=c===void 0?``:this.classValue(e,c);t!==void 0&&t!==``&&(a.class=t);continue}if(n===`style`){o=this.styleAttribute(e,c);continue}let l;if(c===void 0)l=!0;else if(c.type===`StringLiteral`)l=this.checkedText(e,c,Y(c,`value`)??``);else if(c.type===`JSXExpressionContainer`){let t=J(c,`expression`);l=t===void 0?void 0:this.value(e,t,!1)}else{this.error(e,c,`dynamic-expression`,`An attribute value is text, a number or a binding.`);continue}if(l!==void 0&&l!==!1&&l!==null){if(l===this.options.brandPlugin.unsubscribeUrlPlaceholder){this.error(e,t,`reserved-url`,`That URL is the unsubscribe placeholder only BrandFooter can write.`,`Render <BrandFooter /> instead.`);continue}if(_h(l)){let a=ml(r,n,l,s);if(a.text===void 0&&a.diagnostics.length===0){let a=Mm(n,Object.keys({...i.attributes,id:0,title:0,lang:0,dir:0,role:0}));this.error(e,t,`unsupported-attribute`,`<${r}> does not support the ${n} attribute.`,a===void 0?`Supported: ${Object.keys(i.attributes).join(`, `)||`none`}, plus id, title, lang, dir, role, class, style, data-* and aria-*.`:`Did you mean \`${a}\`?`);continue}this.findings.items.push(...a.diagnostics)}a[n]=l}}let c=i.content===`void`?[]:this.jsxChildren(e,t);return[{el:r,...Object.keys(a).length===0?{}:{attrs:a},...o===void 0?{}:{style:o},...c.length===0?{}:{children:c},src:this.src(e.module,t)}]}classValue(e,t){let n=t.type===`JSXExpressionContainer`?J(t,`expression`):t;if(n===void 0)return;let r=this.classExpression(e,n);return r===void 0&&this.error(e,t,`dynamic-class`,`This class is built at run time, and Tailwind cannot see class names it does not read.`,'Write the classes literally, or choose between literal classes: `input.vip ? "bg-amber-100" : "bg-white"`.'),r}classExpression(e,t){let n=_m(t);switch(n.type){case`StringLiteral`:return Y(n,`value`)??``;case`NullLiteral`:return``;case`BooleanLiteral`:return``;case`Identifier`:case`MemberExpression`:{if(n.type===`Identifier`&&Y(n,`name`)===`undefined`)return``;let t=this.binding(e,n);return t?.k===`value`&&xh(t.value)?t.value:void 0}case`TemplateLiteral`:{let t=hm(n,`quasis`),r=hm(n,`expressions`),i=[];for(let[n,a]of t.entries()){let t=Sh(a);t!==``&&i.push(t);let o=r[n];if(o!==void 0){let t=this.classExpression(e,o);if(t===void 0)return;i.push(t)}}return Ch(i)}case`ConditionalExpression`:{let t=J(n,`test`),r=J(n,`consequent`),i=J(n,`alternate`);if(t===void 0||r===void 0||i===void 0)return;let a=this.predicate(e,t),o=this.classExpression(e,r),s=this.classExpression(e,i);return a===void 0||o===void 0||s===void 0?void 0:{if:a,then:o,else:s}}case`LogicalExpression`:{let t=J(n,`left`),r=J(n,`right`);if(Y(n,`operator`)!==`&&`||t===void 0||r===void 0)return;let i=this.predicate(e,t),a=this.classExpression(e,r);return i===void 0||a===void 0?void 0:{if:i,then:a,else:``}}case`BinaryExpression`:{let t=J(n,`left`),r=J(n,`right`);if(Y(n,`operator`)!==`+`||t===void 0||r===void 0)return;let i=this.classExpression(e,t),a=this.classExpression(e,r);return i===void 0||a===void 0?void 0:Ch([i,a])}default:return}}styleAttribute(e,t){let n=t===void 0?void 0:J(t,`expression`),r=n===void 0?void 0:_m(n);if(r===void 0||r.type!==`ObjectExpression`){t!==void 0&&this.error(e,t,`invalid-style`,"`style` is an object literal of CSS properties.",`Write style={{ backgroundColor: "#fff" }}, or use Tailwind classes.`);return}return this.styleObject(e,r)}styleObject(e,t){let n=[];for(let r of hm(t,`properties`)){if(r.type!==`ObjectProperty`||r.computed===!0){this.dynamic(e,r,`A spread or computed style entry`,`Write each property.`);continue}let t=J(r,`key`),i=J(r,`value`),a=gm(t);if(a===void 0||i===void 0)continue;let o=this.value(e,i,!1);o!=null&&n.push([a,o])}return n}component(e,t,n,r){let i=r.split(`.`)[0]??r,a=e.module.imports.get(i),o=e.module.declarations.get(i),s=hm(n,`attributes`);if(a?.kind===`markup`||a?.kind===`brand`)return ah({lowerer:this,ctx:e,node:t,attributes:s,name:r,binding:a,brand:this.options.brand,brandPlugin:this.options.brandPlugin,channel:this.options.channel});let c;if(a?.kind===`project`){let e=this.options.project.modules.get(a.path);e!==void 0&&(c=this.exportedFunction(e,a.imported,new Set))}else o!==void 0&&(c={module:e.module,value:o.value});return c===void 0||!/Function|Arrow/.test(c.value.type)?(this.error(e,t,`unknown-component`,`<${r}> is not a component the profile can read.`,`Import it from @samva/markup/email, or from a project file that exports it as a function.`),[]):this.partial(e,t,s,r,c.module,c.value)}exportedFunction(e,t,n){let r=`${e.path}\0${t}`;if(n.has(r))return;if(n.add(r),t==="default"){let t=e.defaultExport;if(t===void 0)return;if(t.type===`Identifier`){let n=e.declarations.get(Y(t,`name`)??``);return n===void 0?void 0:{module:e,value:n.value}}return{module:e,value:t}}let i=e.exports.get(t);if(i===void 0)return;let a=e.declarations.get(i);if(a!==void 0)return{module:e,value:a.value};let o=e.imports.get(i);if(o?.kind===`project`){let e=this.options.project.modules.get(o.path);return e===void 0?void 0:this.exportedFunction(e,o.imported,n)}}attributeBindings(e,t){let n=new Map,r=!0;for(let i of t){if(i.type===`JSXSpreadAttribute`){this.dynamic(e,i,`A spread attribute`,`Write each prop.`),r=!1;continue}let t=this.attributeName(i);if(t===`key`)continue;let a=J(i,`value`);if(a===void 0){n.set(t,{k:`value`,value:!0});continue}if(a.type===`StringLiteral`){n.set(t,{k:`value`,value:this.checkedText(e,a,Y(a,`value`)??``)});continue}let o=a.type===`JSXExpressionContainer`?J(a,`expression`):void 0;if(o===void 0){this.error(e,a,`dynamic-expression`,`A prop value is text, a number, a binding or an object.`),r=!1;continue}let s=this.propBinding(e,o);s===void 0?r=!1:n.set(t,s)}return r?n:void 0}propBinding(e,t){let n=_m(t);if(n.type===`ObjectExpression`){let t=new Map;for(let r of hm(n,`properties`)){if(r.type!==`ObjectProperty`||r.computed===!0){this.dynamic(e,r,`A spread or computed entry`,`Write each field.`);return}let n=J(r,`key`),i=J(r,`value`),a=n===void 0?void 0:n.type===`Identifier`?Y(n,`name`):Y(n,`value`);if(a===void 0||i===void 0)return;let o=this.propBinding(e,i);if(o===void 0)return;t.set(a,o)}return{k:`object`,fields:t}}if(n.type===`Identifier`||n.type===`MemberExpression`)return this.binding(e,n);if(n.type===`JSXElement`||n.type===`JSXFragment`)return{k:`nodes`,nodes:this.element(e,n)};let r=this.value(e,n,!1);return r===void 0?void 0:{k:`value`,value:r}}partial(e,t,n,r,i,a){let o=`${i.path}#${a.start}`;if(e.stack.includes(o))return this.error(e,t,`recursive-partial`,`<${r}> renders itself, and the compiler inlines partials.`,"Flatten the recursion, or repeat the structure with `.map`."),[];let s=this.attributeBindings(e,n);if(s===void 0)return[];let c=this.jsxChildren(e,t);c.length>0&&s.set(`children`,{k:`nodes`,nodes:c});let l={module:i,env:new Map,stack:[...e.stack,o],loops:e.loops,depth:e.depth+1},u=new Map,d=hm(a,`params`)[0];if(d!==void 0){let e={k:`object`,fields:s};d.type===`Identifier`?u.set(Y(d,`name`)??`props`,e):this.bindPattern(l,d,e,u,!0)}let f={...l,env:u},p=this.functionExpression(f,a);return p===void 0?[]:this.content(f,p)}},bh=e=>e===void 0?``:e.type===`Identifier`?Y(e,`name`)??``:`…`,xh=e=>typeof e==`string`?!0:typeof e!=`object`||!e?!1:`if`in e?xh(e.then)&&xh(e.else):`concat`in e&&e.concat.every(xh),Sh=e=>{let t=e.value;if(typeof t!=`object`||!t)return``;let n=t.cooked,r=t.raw;return typeof n==`string`?n:typeof r==`string`?r:``},Ch=e=>{let t=[];for(let n of e){let e=t[t.length-1];if(typeof n==`string`&&typeof e==`string`)t[t.length-1]=e+n;else if(typeof n==`object`&&n&&`concat`in n)for(let e of n.concat){let n=t[t.length-1];typeof e==`string`&&typeof n==`string`?t[t.length-1]=n+e:t.push(e)}else t.push(n)}return t.length===0?``:t.length===1?t[0]:{concat:t}},wh=()=>void 0,Th=60,Eh=60,Dh=1024,Oh=25,kh=2,Ah=1,jh=10,Mh=10,Nh=e=>e.type===`JSXIdentifier`?Y(e,`name`)??``:e.type===`JSXMemberExpression`?`${Nh(J(e,`object`)??e)}.${Y(J(e,`property`)??e,`name`)??``}`:``,Ph=e=>{let t=J(e,`openingElement`),n=t===void 0?void 0:J(t,`name`);return n===void 0?``:Nh(n)},Fh=e=>{let t=J(e,`openingElement`);return t===void 0?[]:hm(t,`attributes`)},Ih=(e,t,n,r)=>{let i=e.openFunction(t);if(i===void 0)return;let{ctx:a,body:o}=i,s=_m(o),c=s.type===`JSXElement`?Ph(s):``,l=a.module.imports.get(c);if(s.type!==`JSXElement`||l?.kind!==`markup`||l.specifier!==r||l.imported!==n){e.lowerer.error(a,s,`wrong-channel`,`The ${n===`Sms`?`sms`:`whatsapp`} channel returns one <${n}> element imported from ${r}.`,`Write \`import { ${n} } from "${r}"\` and return <${n}>…</${n}>.`);return}return{ctx:a,node:s,local:c}},Lh={name:{code:`whatsapp-template-name`,message:`Meta's name for a WhatsApp template comes from the template's handle, not from <WhatsApp>.`,fix:"Remove `name`; rename the template's handle to change its Meta name."}},Rh=(e,t,n,r={})=>{let i=new Map;for(let a of Fh(t.node)){if(a.type===`JSXSpreadAttribute`){e.lowerer.error(t.ctx,a,`dynamic-expression`,`A spread attribute runs code, and templates render without running code.`,`Write each attribute as a string literal.`);continue}let o=J(a,`name`),s=o===void 0?``:Nh(o);if(s===`key`)continue;let c=Object.hasOwn(r,s)?r[s]:void 0;if(c!==void 0){e.lowerer.error(t.ctx,a,c.code,c.message,c.fix);continue}if(!n.includes(s)){e.lowerer.error(t.ctx,a,`unknown-attribute`,`\`${s}\` is not an attribute of this component.`,`The attributes are ${n.join(`, `)}.`);continue}let l=J(a,`value`),u=l?.type===`JSXExpressionContainer`?J(l,`expression`):l;if(u?.type!==`StringLiteral`){e.lowerer.error(t.ctx,a,`dynamic-expression`,`\`${s}\` is fixed when the template is compiled, so it is a string literal.`,`Write ${s}="…".`);continue}i.set(s,Y(u,`value`)??``)}return i},zh=(e,t,n,r,i,a)=>a.includes(i)?!0:(e.lowerer.error(t.ctx,n,`invalid-attribute`,`\`${i}\` is not a ${r} this channel accepts.`,`Use one of ${a.join(`, `)}.`),!1),Bh=e=>e.every(e=>Cm(e)),Vh=e=>e.some(e=>Cm(e)?!1:`el`in e||`raw`in e?!0:`if`in e?Vh(e.then)||Vh(e.else??[]):`each`in e&&Vh(e.children)),Hh=(e,t)=>{let n=Ih(e,t,`Sms`,`@samva/markup/sms`);if(n===void 0)return;let r=Rh(e,n,Dm),i=Fh(n.node).find(e=>Y(J(e,`name`)??e,`name`)===`category`),a=r.get(`category`);if(a!==void 0&&i!==void 0&&!zh(e,n,i,`category`,a,wm))return;let o=e.lowerer.jsxChildren(n.ctx,n.node);return Vh(o)&&e.lowerer.error(n.ctx,n.node,`sms-markup`,`An SMS body is plain text, and this one contains an element.`,`Write the message as text and bindings; use a newline in the text for a line break.`),e.schema!==void 0&&e.checks.push(...Hm(e.schema,o,[])),{...a===void 0?{}:{category:a},body:o}},Uh=e=>typeof e==`string`?e.length:typeof e==`number`?String(e).length:typeof e==`object`&&e&&`concat`in e?e.concat.reduce((e,t)=>e+Uh(t),0):0,Wh={url:0,phone:0,quickReply:0,total:0},Gh=e=>{let t=Wh;for(let n of e){let e;if(`if`in n){let t=Gh(n.then),r=Gh(n.else??[]);e={url:Math.max(t.url,r.url),phone:Math.max(t.phone,r.phone),quickReply:Math.max(t.quickReply,r.quickReply),total:Math.max(t.total,r.total)}}else e={url:+(n.type===`url`),phone:+(n.type===`phone`),quickReply:+(n.type===`quick-reply`),total:1};t={url:t.url+e.url,phone:t.phone+e.phone,quickReply:t.quickReply+e.quickReply,total:t.total+e.total}}return t},Kh=e=>e.flatMap(e=>{if(`if`in e)return[{if:e.if,then:Kh(e.then),...e.else===void 0?{}:{else:Kh(e.else)},...e.src===void 0?{}:{src:e.src}}];switch(e.type){case`quick-reply`:return[e.text];case`url`:return[e.text,e.url];case`phone`:return[e.text,e.phone];case`copy-code`:return[e.code]}}),qh=(e,t)=>{let n=Ih(e,t,`WhatsApp`,`@samva/markup/whatsapp`);if(n===void 0)return;let{lowerer:r}=e,{ctx:i}=n,a=Rh(e,n,Om,Lh);for(let e of[`category`,`language`])a.has(e)||r.error(i,n.node,`missing-attribute`,`<WhatsApp> needs \`${e}\`.`,e===`category`?`Write category="utility" (${Tm.join(`, `)}).`:`Write language="en_US".`);let o=a.get(`category`),s=Fh(n.node).find(e=>Y(J(e,`name`)??e,`name`)===`category`);if(o!==void 0&&s!==void 0&&!zh(e,n,s,`category`,o,Tm))return;let c=new Map;for(let e of hm(n.node,`children`)){if(e.type===`JSXText`){(Y(e,`value`)??``).trim()!==``&&r.error(i,e,`whatsapp-structure`,`Text sits inside Header, Body, Footer or Buttons, not directly in <WhatsApp>.`,`Move it into <WhatsApp.Body>.`);continue}let t=e.type===`JSXElement`?Ph(e):``,a=t.startsWith(`${n.local}.`)?t.slice(n.local.length+1):``;if(![`Header`,`Body`,`Footer`,`Buttons`].includes(a)){r.error(i,e,`whatsapp-structure`,`<WhatsApp> holds <WhatsApp.Header>, <WhatsApp.Body>, <WhatsApp.Footer> and <WhatsApp.Buttons>.`,`Wrap the content in one of them.`);continue}if(c.has(a)){r.error(i,e,`whatsapp-structure`,`<WhatsApp.${a}> appears twice.`,`A WhatsApp template has at most one of each part.`);continue}c.set(a,e)}let l=[],u=(e,t,n,a)=>{n>a&&r.findings.add(i.module.parsed,t,`whatsapp-length`,`The ${e} is at least ${n} characters, and Meta allows ${a}.`,`Shorten the ${e}.`,`warning`)},d=(e,t,n)=>{let a=r.jsxChildren(i,t);if(!Bh(a)){r.error(i,t,`whatsapp-conditional`,`A WhatsApp ${e} cannot branch or contain elements: Meta registers its text once.`,`Choose the wording as a parameter in the payload, or write separate templates.`);return}return u(e,t,a.reduce((e,t)=>e+(Cm(t)?Uh(t):0),0),n),l.push(...a),a},f,p=c.get(`Header`);if(p!==void 0){let e=Fh(p).find(e=>Y(J(e,`name`)??e,`name`)===`type`),t=e===void 0?void 0:J(e,`value`),n=t?.type===`JSXExpressionContainer`?J(t,`expression`):t,a=n?.type===`StringLiteral`?Y(n,`value`)??`text`:`text`;if(e!==void 0&&n?.type!==`StringLiteral`)r.error(i,e,`dynamic-expression`,"`type` is fixed when the template is compiled, so it is a string literal.",`Write type="image".`);else if(e!==void 0&&!Em.includes(a))r.error(i,e,`invalid-attribute`,`\`${a}\` is not a header type.`,`Use one of ${Em.join(`, `)}.`);else{let e=a,t=d(`header`,p,e===`text`?Th:1/0);t!==void 0&&(e===`text`?Am(t).params.length>1&&r.error(i,p,`whatsapp-header-variables`,`A WhatsApp header text takes at most one variable.`,`Keep one binding in the header and move the rest to the body.`):t.length!==1&&r.error(i,p,`whatsapp-header-media`,`A ${e} header is one URL.`,`Write the media URL as the only child: a literal or one binding.`),f={type:e,content:t})}}let m=[],h=c.get(`Body`);if(h===void 0)r.error(i,n.node,`whatsapp-body-required`,`A WhatsApp template needs a body.`,`Add <WhatsApp.Body>…</WhatsApp.Body>.`);else{let e=d(`body`,h,Dh);m=e??[],e!==void 0&&e.length===0&&r.error(i,h,`whatsapp-body-required`,`The WhatsApp body is empty.`,`Write the message text.`)}let g=c.get(`Footer`),_=g===void 0?void 0:d(`footer`,g,Eh),v=c.get(`Buttons`),y=v===void 0?void 0:Yh(e,i,n.local,v);if(y!==void 0){let e=Gh(y),t=(e,t,n)=>{t>n&&r.error(i,v,`whatsapp-button-limit`,`A WhatsApp template allows ${n} ${e}, and these conditions can produce ${t}.`,`Remove ${t-n}, or split the template.`)};t(`URL buttons`,e.url,kh),t(`phone buttons`,e.phone,Ah),t(`quick-reply buttons`,e.quickReply,jh),t(`buttons in all`,e.total,Mh),l.push(...Kh(y))}if(e.schema!==void 0&&e.checks.push(...Hm(e.schema,l,[])),o!==void 0&&a.has(`language`))return{category:o,language:a.get(`language`),...f===void 0?{}:{header:f},body:m,..._===void 0?{}:{footer:_},...y===void 0?{}:{buttons:y}}},Jh=[`UrlButton`,`QuickReplyButton`,`PhoneButton`,`CopyCodeButton`],Yh=(e,t,n,r)=>{let{lowerer:i}=e,a=(e,n)=>{let r=i.jsxChildren(t,e);if(!Bh(r)||r.length===0){i.error(t,e,r.length===0?`whatsapp-button-text`:`whatsapp-conditional`,r.length===0?`A button needs its ${n}.`:`A button ${n} cannot branch or contain elements.`,`Write the ${n} as text between the tags.`);return}let a=Ch(r);return n===`label`&&Uh(a)>Oh&&i.findings.add(t.module.parsed,e,`whatsapp-length`,`The button label is at least ${Uh(a)} characters, and Meta allows ${Oh}.`,`Shorten the label.`,`warning`),a},o=(e,n)=>{let r=i.attributeBindings(t,Fh(e));if(r===void 0)return;let a=Fh(e).map(e=>Y(J(e,`name`)??e,`name`));for(let r of a)r!==void 0&&r!==n&&r!==`key`&&i.error(t,e,`unknown-attribute`,`\`${r}\` is not an attribute of this button.`,n===void 0?`Remove it.`:`The attribute is ${n}.`);if(n===void 0)return;let o=r.get(n),s=o===void 0?void 0:xm(o);return s===void 0&&i.error(t,e,`missing-attribute`,`This button needs \`${n}\`.`,`Write ${n}="…" or ${n}={input.field}.`),s},s=e=>{let r=Ph(e);switch(r.startsWith(`${n}.`)?r.slice(n.length+1):``){case`UrlButton`:{let t=o(e,`url`),n=a(e,`label`);return t===void 0||n===void 0?void 0:{type:`url`,text:n,url:t}}case`PhoneButton`:{let t=o(e,`phone`),n=a(e,`label`);return t===void 0||n===void 0?void 0:{type:`phone`,text:n,phone:t}}case`QuickReplyButton`:{o(e,void 0);let t=a(e,`label`);return t===void 0?void 0:{type:`quick-reply`,text:t}}case`CopyCodeButton`:{let t=a(e,`code`);return t===void 0?void 0:{type:`copy-code`,code:t}}default:i.error(t,e,`whatsapp-structure`,`<WhatsApp.Buttons> holds ${Jh.map(e=>`<WhatsApp.${e}>`).join(`, `)}.`,`Use one of the button components.`);return}},c=e=>{let n=_m(e);switch(n.type){case`JSXElement`:{let e=s(n);return e===void 0?[]:[e]}case`JSXFragment`:return l(n);case`NullLiteral`:case`BooleanLiteral`:return[];case`LogicalExpression`:{let e=J(n,`left`),r=J(n,`right`);if(Y(n,`operator`)===`&&`&&e!==void 0&&r!==void 0){let a=i.predicate(t,e),o=c(r);return a===void 0?[]:[{if:a,then:o,src:i.src(t.module,n)}]}break}case`ConditionalExpression`:{let e=J(n,`test`),r=J(n,`consequent`),a=J(n,`alternate`);if(e===void 0||r===void 0||a===void 0)return[];let o=i.predicate(t,e),s=c(r),l=c(a);return o===void 0?[]:[{if:o,then:s,...l.length===0?{}:{else:l},src:i.src(t.module,n)}]}}return i.error(t,n,`dynamic-expression`,`Buttons are fixed by the template, and this expression builds them at render time.`,"List each button; wrap one in `condition && <WhatsApp.UrlButton … />` to make it optional."),[]},l=e=>{let n=[];for(let r of hm(e,`children`))if(r.type===`JSXText`)(Y(r,`value`)??``).trim()!==``&&i.error(t,r,`whatsapp-structure`,`Text cannot sit between buttons.`,`Put the label inside the button.`);else if(r.type===`JSXExpressionContainer`){let e=J(r,`expression`);e!==void 0&&e.type!==`JSXEmptyExpression`&&n.push(...c(e))}else n.push(...c(r));return n};return l(r)},Xh=e=>{let t=e.fields.get(`sms`),n=e.fields.get(`whatsapp`),r=t===void 0?void 0:Hh(e,t),i=n===void 0?void 0:qh(e,n);return{...r===void 0?{}:{sms:r},...i===void 0?{}:{whatsapp:i}}},Zh=8,Qh=(e,t)=>{if(`leaf`in e){let n=e.leaf,r=e=>`leaf`in e?{leaf:n+e.leaf}:{pred:e.pred,then:r(e.then),else:r(e.else)};return r(t)}return{pred:e.pred,then:Qh(e.then,t),else:Qh(e.else,t)}},$h=e=>{if(typeof e==`string`)return{leaf:e};if(typeof e==`object`&&e){if(`if`in e){let t=$h(e.then),n=$h(e.else);return t===void 0||n===void 0?void 0:{pred:e.if,then:t,else:n}}if(`concat`in e){let t={leaf:``};for(let n of e.concat){let e=$h(n);if(e===void 0)return;t=Qh(t,e)}return t}}},eg=e=>`leaf`in e?[e.leaf]:[...eg(e.then),...eg(e.else)],tg=(e,t,n={next:0})=>{if(`leaf`in e)return t(n.next++);let r=tg(e.then,t,n),i=tg(e.else,t,n);return JSON.stringify(r)===JSON.stringify(i)?r:{if:e.pred,then:r,else:i}},ng=e=>`leaf`in e?e.leaf:{if:e.pred,then:ng(e.then),else:ng(e.else)},rg=(e,t)=>t===void 0?e:e.trim()===``?t:`${e} ${t}`,ig=(e,t,n)=>{if(n.every(e=>e===void 0))return;if(t!==void 0&&eg(t).length>1){let e=0,r=t=>`leaf`in t?{leaf:rg(t.leaf,n[Math.min(e++,n.length-1)])}:{pred:t.pred,then:r(t.then),else:r(t.else)};return ng(r(t))}let r=n[0];return r===void 0?e:e===void 0?r:typeof e==`string`?rg(e,r):{concat:[e,` ${r}`]}},ag=(e,t)=>{for(let n of e)Cm(n)||(`el`in n?(t.push({kind:`el`,el:n}),ag(n.children??[],t)):`if`in n?(ag(n.then,t),ag(n.else??[],t)):`each`in n?ag(n.children,t):`raw`in n&&t.push({kind:`raw`,raw:n}))},og=(e,t)=>t.map(t=>typeof t==`string`?t:e.value(`attr`in t?t.attr:t.text)).join(``),sg=(e,t,n)=>{let r=[];ag([e],r);let i=new qm,a=r.map(e=>{if(e.kind!==`el`)return;let t=e.el.attrs?.class;if(t===void 0)return;let n=$h(t);if(n!==void 0)return n}),o=a.map(e=>e===void 0?1:eg(e).length);for(let[t,i]of o.entries())if(i>Zh){let a=r[t],o=a?.kind===`el`?n.locate(a.el.src):void 0;return n.report({code:`too-many-class-variants`,severity:`error`,message:`This class list chooses between ${i} literal lists; the compiler resolves at most ${Zh}.`,fix:`Split the choice into fewer conditions, or move part of it to a partial.`,origins:o===void 0?[]:[o]}),{root:e,headCss:``,fontFaceCss:``}}let s=Math.max(1,...o),c=(e,t,r)=>e.flatMap(e=>{if(Cm(e))return[];if(`el`in e){let o=r.next++,s=a[o],l=s===void 0?void 0:eg(s),u={};for(let[t,n]of Object.entries(e.attrs??{}))t!==`class`&&(typeof n==`string`||typeof n==`number`?u[t]=n:typeof n==`object`&&n&&(u[t]=i.value(n)));l===void 0?e.attrs?.class!==void 0&&(u.class=i.value(e.attrs.class)):u.class=l[Math.min(t,l.length-1)];let d=e.style;if(Array.isArray(d)){let e={};for(let[t,n]of d)n!==null&&typeof n!=`boolean`&&(e[t]=typeof n==`number`?n:i.value(n));u.style=e}else if(typeof d==`string`&&d!==``){let e={};for(let t of d.split(`;`)){let n=t.indexOf(`:`);n>0&&(e[t.slice(0,n)]=t.slice(n+1))}u.style=e}let f=n.locate(e.src);return[cs.Element({tag:e.el,props:u,children:c(e.children??[],t,r),origins:f===void 0?[]:[f],authored:!0})]}return`if`in e?[cs.Fragment({children:[...c(e.then,t,r),...c(e.else??[],t,r)]})]:`each`in e?[cs.Fragment({children:c(e.children,t,r)})]:`raw`in e?(r.next++,[cs.Raw({html:og(i,e.raw),text:``,origins:[]})]):[]}),l=(e,t)=>{for(let n of e)if(n.type===`Fragment`)l(n.children,t);else if(n.type===`Raw`)t.raws.push(n.html);else if(n.type===`Element`){let e=typeof n.props.class==`string`?n.props.class.split(` `):[];t.darkClasses.push(e.find(e=>e.startsWith(Cu))),t.styles.push(n.props.style===void 0?void 0:n.props.style),t.bgcolors.push(typeof n.props.bgcolor==`string`?n.props.bgcolor:void 0),l(n.children,t)}},u=[],d=``,f=``,p=new Map,m=new Set;for(let r=0;r<s;r++){let i=Nu(c([e],r,{next:0})[0]??cs.Fragment({children:[]}),t);r===0&&(d=i.headCss,f=i.fontFaceCss);for(let[e,t]of i.darkRules)p.set(e,t);for(let e of i.diagnostics){let t=`${e.code}\0${e.message}`;m.has(t)||(m.add(t),n.report(e))}let a={styles:[],bgcolors:[],darkClasses:[],raws:[]};l([i.tree],a),u.push(a)}let h=(e,t)=>{if(e===void 0)return``;let r=Object.entries(e);if(r.length===0)return``;let a=n.locate(t.src),o=r.some(([,e])=>e.includes(``)),s=pl(Object.fromEntries(r.filter(([,e])=>!e.includes(``))),a===void 0?[]:[a]);for(let e of s.diagnostics)n.report(e);return o?r.map(([e,t])=>[e,i.toValue(t)??t]):s.css},g=0,_=0,v=0,y=e=>e.map(e=>{if(Cm(e))return e;if(`el`in e){let t=g++,n=_++,r=a[t],o=u[0],s=o?.styles[n],c=r!==void 0&&eg(r).length>1?tg(r,t=>h(u[Math.min(t,u.length-1)]?.styles[n],e)):h(s,e),l=o?.bgcolors[n],d=typeof e.attrs?.bgcolor==`string`&&l!==void 0&&l!==e.attrs.bgcolor?{...e.attrs,bgcolor:i.toValue(l)??l}:e.attrs,f=ig(e.attrs?.class,r,u.map(e=>e.darkClasses[n])),p=f===void 0?d:{...d,class:f},m=y(e.children??[]),{style:v,children:b,attrs:x,...S}=e;return{...S,...p===void 0?{}:{attrs:p},...c===``?{}:{style:c},...m.length===0?{}:{children:m}}}if(`if`in e){let t=y(e.then),n=y(e.else??[]);return{...e,then:t,...e.else===void 0?{}:{else:n}}}if(`each`in e)return{...e,children:y(e.children)};if(`raw`in e){g++;let t=u[0]?.raws[v++];return t===void 0?e:{...e,raw:Xm(i,t)}}return e});return{root:y([e])[0]??e,headCss:`${Mu(p)}${d}`,fontFaceCss:f}},cg=`defineTemplate`,lg=[`email`,`sms`,`whatsapp`],ug=(e,t)=>{let n=e.entry,r=n.defaultExport;r?.type===`Identifier`&&(r=n.declarations.get(Y(r,`name`)??``)?.value);let i=(e,i,a=`no-template`)=>{t.add(n.parsed,r??n.parsed.program,a,e,i)};if(r===void 0||r.type!==`CallExpression`)return i(`The entry must default-export defineTemplate({ ... }).`,"Write `export default defineTemplate({ id, schema, fixtures, email })`.");let a=J(r,`callee`),o=a===void 0?void 0:Y(a,`name`),s=o===void 0?void 0:n.imports.get(o);if(o===`defineEmail`)return i("`defineEmail` runs a render function, which the static profile does not read.","Use `defineTemplate` from @samva/markup with `email: { subject, preheader, body }`.",`legacy-definition`);if(s?.kind!==`markup`||s.imported!==cg)return i(`The entry must default-export defineTemplate({ ... }) imported from @samva/markup.`,'Add `import { defineTemplate } from "@samva/markup";`.');let c=hm(r,`arguments`)[0],l=c===void 0?void 0:_m(c);if(l===void 0||l.type!==`ObjectExpression`)return i(`defineTemplate takes one object literal.`,`Write defineTemplate({ id, schema, fixtures, email }).`);let u=new Map;for(let e of hm(l,`properties`)){let r=sh(e),i=J(e,`value`);if(r===void 0||i===void 0){t.add(n.parsed,e,`dynamic-definition`,`A definition field is written out, not spread or computed.`,"Write each field as `name: value`.");continue}u.set(r,i)}return{module:n,call:r,fields:u}},dg=(e,t,n)=>{let r=_m(n);if(/Function/.test(r.type))return{module:t,fn:r};if(r.type===`Identifier`){let n=Y(r,`name`)??``,i=t.declarations.get(n);if(i!==void 0)return dg(e,t,i.value);let a=t.imports.get(n);if(a?.kind===`project`){let t=e.modules.get(a.path);if(t===void 0)return;let n=a.imported==="default"?void 0:t.exports.get(a.imported);if(a.imported==="default"&&t.defaultExport!==void 0)return dg(e,t,t.defaultExport);let r=n===void 0?void 0:t.declarations.get(n);return r===void 0?void 0:dg(e,t,r.value)}}},fg=e=>{let t=[],n=new Set,r=i=>{if(!n.has(i.path)){n.add(i.path);for(let n of i.ordered)if(n.kind===`css`)t.includes(n.path)||t.push(n.path);else{let t=e.modules.get(n.path);t!==void 0&&r(t)}}};return r(e.entry),t},pg=(e,t,n)=>{let r=!1,i=e=>e.map(e=>{if(r||Cm(e))return e;if(`el`in e)return t(e)?(r=!0,n(e)):{...e,...e.children===void 0?{}:{children:i(e.children)}};if(`if`in e){let t=i(e.then),n=i(e.else??[]);return{...e,then:t,...e.else===void 0?{}:{else:n}}}return`each`in e?{...e,children:i(e.children)}:e});return{nodes:i(e),done:r}},mg={raw:[`<!--[if !mso]><!-->`]},hg={raw:[`<!--<![endif]-->`]},gg=(e,t,n={},r=[])=>({ir:e.blocking?void 0:t,fixtures:n,assets:r,diagnostics:e.items}),_g=(e,t,n,r)=>{let i=(e,t={},i=r.assets)=>gg(n,e,t,i),a=r.urlFor,o={project:t,assetUrl:a},s=ug(t,n);if(s===void 0)return i(void 0);let{module:c,fields:l}=s,u=e=>l.get(e)??s.call,d=l.has(`id`)?lh(o,c,l.get(`id`)):void 0;d===void 0||!d.ok||typeof d.value!=`string`?n.add(c.parsed,u(`id`),`invalid-template-id`,`The template id is a string literal.`,`Write id: "order-shipped".`):Dc.test(d.value)||n.add(c.parsed,u(`id`),`invalid-template-id`,`Template id ${JSON.stringify(d.value)} is not lowercase kebab-case.`,`Write lowercase letters and digits joined by single hyphens, for example "order-shipped".`);let f=d!==void 0&&d.ok&&typeof d.value==`string`?d.value:``,p,m=l.get(`schema`);if(m===void 0)n.add(c.parsed,s.call,`missing-schema`,`The template declares no schema.`,"Add `schema: jsonSchema<Input>({ ... })`.");else{let t=lh(o,c,m);t.ok&&typeof t.value==`object`&&t.value!==null?p=t.value:e.schema===void 0?n.add(t.ok?c.parsed:t.module.parsed,t.ok?m:t.node,`schema-not-static`,`The schema cannot be read without running it${t.ok?``:` (${t.reason})`}.`,'Write the schema as a literal: `jsonSchema<Input>({ type: "object", properties: { … } })`, or compile with the schema a library already converted.'):p={...e.schema}}let h=()=>!0;if(p!==void 0)try{let e=Tc(Cc(p));h=e.validate,p=e.schema}catch(e){if(!(e instanceof TypeError))throw e;n.add(c.parsed,u(`schema`),`invalid-schema`,e.message,`Use only the JSON Schema keywords the README lists.`),p=void 0}let g={},_=l.get(`fixtures`);if(_===void 0)n.add(c.parsed,s.call,`missing-fixtures`,`The template declares no fixtures.`,"Add `fixtures: { default: { … } }`.");else{let e=lh(o,c,_);if(!e.ok)n.add(e.module.parsed,e.node,`fixtures-not-static`,`Fixtures are data, and this one is computed (${e.reason}).`,`Write each fixture as a literal object; an imported asset is allowed.`);else if(typeof e.value!=`object`||e.value===null||Object.keys(e.value).length===0)n.add(c.parsed,_,`missing-fixtures`,`The template declares no fixtures.`,"Declare at least one: `fixtures: { default: { … } }`.");else{let t=_m(_),r=new Map;if(t.type===`ObjectExpression`)for(let e of hm(t,`properties`)){let t=sh(e);t!==void 0&&r.set(t,J(e,`key`)??e)}for(let[t,i]of Object.entries(e.value)){if(!Ec.test(t)){n.add(c.parsed,r.get(t)??_,`invalid-fixture-name`,`Fixture key ${JSON.stringify(t)} is not one path segment.`,"Use letters, digits, `.`, `_` and `-`, starting with a letter or digit.");continue}if(g[t]=i,p!==void 0&&!h(i)){let e=h.errors?.at(-1)??h.errors?.[0];n.add(c.parsed,r.get(t)??_,`fixture-invalid`,`Fixture ${JSON.stringify(t)} does not match the schema${e===void 0?``:`: ${e.instanceLocation===`#`||e.instanceLocation===void 0?``:`${e.instanceLocation.replace(/^#/,``)} `}${e.error??`is invalid`}`}.`,`Change the fixture, or the schema, so a fixture is a payload a send could make.`)}}}}let v=l.has(`locale`)?lh(o,c,l.get(`locale`)):void 0,y=v?.ok===!0&&typeof v.value==`string`?v.value:void 0;l.has(`locale`)&&y===void 0&&n.add(c.parsed,u(`locale`),`invalid-locale`,`The locale is a string literal.`,`Write locale: "en-US".`);let b=new yh({project:t,findings:n,staticContext:o,assetUrl:a,brand:e.brand,brandPlugin:e.brandPlugin??jc,channel:wh}),x=e=>({module:e,env:new Map,stack:[],loops:[],depth:0}),S=e=>{let r=dg(t,c,e);if(r===void 0){n.add(c.parsed,e,`not-a-function`,`A channel field is a function of the input, written in place or declared in the project.`,"Write `(input) => …`.");return}let i=x(r.module),a=new Map,o=hm(r.fn,`params`)[0];o!==void 0&&b.bindPattern(i,o,{k:`path`,path:``},a,!1);let s={...i,env:a},l=b.functionExpression(s,r.fn);return l===void 0?void 0:{ctx:s,body:l}};for(let e of l.keys())[`id`,`schema`,`fixtures`,`locale`,...lg].includes(e)||n.add(c.parsed,u(e),`unknown-field`,`\`${e}\` is not a defineTemplate field.`,`The fields are id, schema, fixtures, locale, email, sms and whatsapp.`);let C,w=[],T=l.get(`email`),E;if(T!==void 0){let i=_m(T),a=new Map;if(i.type===`ObjectExpression`)for(let e of hm(i,`properties`)){let t=sh(e),n=J(e,`value`);t!==void 0&&n!==void 0&&a.set(t,n)}else n.add(c.parsed,T,`invalid-channel`,"The email channel is an object: `{ subject, preheader, body }`.",`Write email: { subject: …, body: … }.`);for(let e of a.keys())[`subject`,`preheader`,`body`].includes(e)||n.add(c.parsed,a.get(e),`unknown-field`,`\`${e}\` is not an email field.`,`The fields are subject, preheader and body.`);let o=e=>{let t=a.get(e);if(t===void 0)return;let n=S(t);return n===void 0?void 0:b.value(n.ctx,n.body,!1)},s=a.has(`subject`)?o(`subject`):void 0;!a.has(`subject`)&&i.type===`ObjectExpression`&&n.add(c.parsed,T,`missing-subject`,`The email channel needs a subject.`,"Add `subject: (input) => …`.");let l=o(`preheader`),d,f=a.get(`body`);if(f===void 0&&i.type===`ObjectExpression`)n.add(c.parsed,T,`missing-body`,`The email channel needs a body.`,"Add `body: (input) => (<Email>…</Email>)`.");else if(f!==void 0){let e=S(f);if(e!==void 0){let t=b.content(e.ctx,e.body);t.length===1?d=t[0]:n.blocking||n.add(e.ctx.module.parsed,e.body,`multiple-roots`,t.length===0?`The email body renders nothing.`:`The email body renders more than one root.`,`Wrap the body in a single element such as <Email>.`)}}if(s!==void 0&&d!==void 0){let i=[];r.tailwindSheet!==void 0&&i.push(r.tailwindSheet);for(let e of fg(t)){let t=r.stylesheets.get(e);t!==void 0&&i.push(t)}let a=[e.entry,...b.sources],o=sg(d,pm(i),{locate:t=>{if(t!==void 0)return{fileName:a[t[2]??0]??e.entry,lineNumber:t[0],columnNumber:t[1]}},report:e=>{n.items.push(e)}}),f=o.root;if(o.headCss!==``||o.fontFaceCss!==``){let e=[...o.headCss===``?[]:[{el:`style`,children:[o.headCss]}],...o.fontFaceCss===``?[]:[mg,{el:`style`,children:[o.fontFaceCss]},hg]],t=pg([f],e=>e.el===`head`,t=>({...t,children:[...t.children??[],...e]}));t.done?f=t.nodes[0]??f:n.report({code:`missing-head`,severity:`error`,message:`Styles that cannot be inlined — media queries, dark-scheme rules and pseudo-selectors — need a <head> to live in.`,fix:`Wrap the message in <Email>, or write those declarations as inline styles.`,origins:[]})}if(l!==void 0){let e=pg([f],e=>e.el===`body`,e=>({...e,children:[{preheader:!0},...e.children??[]]}));e.done?f=e.nodes[0]??f:n.add(c.parsed,u(`email`),`preheader-without-shell`,`A preheader is the hidden inbox preview inside <body>, and this body has no <Email> shell.`,`Wrap the body in <Email>.`)}Um([f],e=>w.push(e)),p!==void 0&&w.push(...Hm(p,[f],[s,...l===void 0?[]:[l]])),E={subject:s,...l===void 0?{}:{preheader:l},body:f}}}let D=Xh({lowerer:b,findings:n,fields:l,module:c,openFunction:S,checks:w,schema:p}),O=[e.entry,...b.sources];for(let t of w){let r=t.src,i=O[r?.[2]??0]??e.entry;n.report({code:t.code,severity:`error`,message:t.message,...t.fix===void 0?{}:{fix:t.fix},origins:r===void 0?[{fileName:e.entry,lineNumber:1,columnNumber:1}]:[{fileName:i,lineNumber:r[0],columnNumber:r[1]}]})}return p!==void 0&&f!==``&&(E!==void 0||D.sms!==void 0||D.whatsapp!==void 0)?C={sml:1,template:f,...y===void 0?{}:{locale:y},sources:O,...E===void 0?{}:{email:E},...D.sms===void 0?{}:{sms:D.sms},...D.whatsapp===void 0?{}:{whatsapp:D.whatsapp},schema:p}:T===void 0&&!l.has(`sms`)&&!l.has(`whatsapp`)&&n.add(c.parsed,s.call,`no-channel`,`The template declares no channel.`,"Add `email`, `sms` or `whatsapp`."),i(C,g)},vg=`@samva/markup`,yg=`@samva/markup/`,bg={"@samva/markup/email/components":`@samva/markup/email`},xg=[`.tsx`,`.ts`],Sg=(e,t,n)=>{let r=dm(um(e),t.replace(/[?#].*$/,``));if(r!==void 0){if(Object.hasOwn(n,r))return r;for(let e of xg)if(Object.hasOwn(n,`${r}${e}`))return`${r}${e}`;for(let e of xg)if(Object.hasOwn(n,`${r}/index${e}`))return`${r}/index${e}`}},Cg=e=>/\.[cm]?[jt]sx?$/.test(e),wg=e=>e.type===`Identifier`?[Y(e,`name`)??``]:[],Tg=(e,t,n,r)=>{let i=new Map,a=new Set,o=new Set,s=!1,c=t=>{let l=i.get(t);if(l!==void 0)return l;if(o.has(t))return;let u=e[t];if(u===void 0)return;let d=typeof u==`string`?u:new TextDecoder().decode(u),f;try{f=ym(t,d)}catch(e){if(!(e instanceof vm))throw e;n.items.push({code:`syntax-error`,severity:`error`,message:e.message,origins:[{fileName:t,lineNumber:e.line,columnNumber:e.column}]}),s=!0;return}o.add(t);let p=new Map,m=[],h=new Map,g=new Map,_,v=e=>{if(e.type===`VariableDeclaration`)for(let t of hm(e,`declarations`)){let n=J(t,`id`),r=J(t,`init`);if(n!==void 0&&r!==void 0)for(let t of wg(n))h.set(t,{value:_m(r),node:e})}else if(e.type===`FunctionDeclaration`){let t=Y(J(e,`id`)??e,`name`);t!==void 0&&h.set(t,{value:e,node:e})}};for(let i of hm(f.program,`body`))switch(i.type){case`ImportDeclaration`:{let o=Y(J(i,`source`)??i,`value`)??``,c=Y(i,`importKind`)===`type`,l=hm(i,`specifiers`);if(c)break;let u=e=>Y(J(e,`local`)??e,`name`)??``,d=e=>{if(e.type===`ImportDefaultSpecifier`)return`default`;if(e.type===`ImportNamespaceSpecifier`)return`*`;let t=J(e,`imported`);return t===void 0?u(e):Y(t,`name`)??Y(t,`value`)??u(e)},h=bg[o];if(h!==void 0){n.add(f,J(i,`source`)??i,`moved-import`,`\`${o}\` moved to \`${h}\`; the imported names are unchanged.`,`Import from "${h}".`),s=!0;break}if(o===vg||o.startsWith(yg)){for(let e of l)Y(e,`importKind`)!==`type`&&p.set(u(e),{kind:`markup`,specifier:o,imported:d(e),node:e});break}if(Pc(o,r.brandPlugin)!==void 0){for(let e of l)Y(e,`importKind`)!==`type`&&p.set(u(e),{kind:`brand`,specifier:o,imported:d(e),node:e});break}if(!/^\.{0,2}\//.test(o)){n.add(f,i,`non-project-import`,`\`${o}\` is not part of the project; templates import only @samva/markup and files inside the project.`,`Remove the import, or copy the code you need into a project file.`),s=!0;break}let g=Sg(t,o,e);if(g===void 0&&r.lenient===!0){let e=dm(um(t),o.replace(/[?#].*$/,``)),n=e!==void 0&&Iu(e),r=e!==void 0&&(Cg(e)||!/\.[a-z0-9]+$/i.test(e));if(e!==void 0&&(e.endsWith(`.css`)||n||r)){if(!e.endsWith(`.css`))for(let t of l)n?p.set(u(t),{kind:`asset`,path:e,node:t}):(a.add(u(t)),p.set(u(t),{kind:`project`,path:e,imported:d(t),node:t}));break}}if(g===void 0){n.add(f,i,`unresolved-import`,`\`${o}\` names no file in the project.`,`Check the path and the file extension.`),s=!0;break}if(g.endsWith(`.css`)){m.push({kind:`css`,path:g});break}if(Iu(g)){for(let e of l)p.set(u(e),{kind:`asset`,path:g,node:e});break}if(Cg(g)){m.push({kind:`script`,path:g});for(let e of l)p.set(u(e),{kind:`project`,path:g,imported:d(e),node:e});break}n.add(f,i,`unresolved-import`,`\`${o}\` is a file type templates cannot import.`,`Import a script, a stylesheet or an asset such as .png or .woff2.`),s=!0;break}case`ExportNamedDeclaration`:{let e=J(i,`declaration`);if(e!==void 0){if(v(e),e.type===`VariableDeclaration`)for(let t of hm(e,`declarations`))for(let e of wg(J(t,`id`)??t))g.set(e,e);else if(e.type===`FunctionDeclaration`){let t=Y(J(e,`id`)??e,`name`);t!==void 0&&g.set(t,t)}}else for(let e of hm(i,`specifiers`)){let t=J(e,`exported`),n=J(e,`local`),r=t===void 0?void 0:Y(t,`name`)??Y(t,`value`),i=n===void 0?void 0:Y(n,`name`);r!==void 0&&i!==void 0&&g.set(r,i)}break}case`ExportDefaultDeclaration`:{let e=J(i,`declaration`);e!==void 0&&(_=_m(e));break}case`VariableDeclaration`:case`FunctionDeclaration`:v(i)}let y={path:t,parsed:f,imports:p,ordered:m,declarations:h,exports:g,defaultExport:_};i.set(t,y),o.delete(t);for(let e of m)e.kind===`script`&&c(e.path);return y},l=c(t);if(!(l===void 0||s))return{modules:i,entry:l,unresolved:a}},Eg=`template.tsx`,Dg=new Set([`brand-unavailable`,`unmatched-class`]),Og=(e,t)=>typeof e==`string`?{[t]:e}:e,kg=(e,t=Eg,n=jc)=>{let r=new fm,i=Tg(Og(e,t),t,r,{brandPlugin:n,lenient:!0});if(i===void 0)return r.items;_g({entry:t,brand:void 0,brandPlugin:n},i,r,{assets:[],stylesheets:new Map,tailwindSheet:void 0,urlFor:e=>`https://assets.invalid/${e}`});let a=[...i.unresolved];return r.items.filter(e=>!Dg.has(e.code)&&!e.code.startsWith(`tailwind-`)&&!a.some(t=>e.message.includes(`<${t}`)||e.message.includes(`\`${t}\``)))},Ag=e=>`${e.code}\0${e.message}`,jg=(e,t)=>{let n=new Map;for(let t of e)t.severity===`error`&&n.set(Ag(t),(n.get(Ag(t))??0)+1);let r=[];for(let e of t){if(e.severity!==`error`)continue;let t=n.get(Ag(e))??0;t>0?n.set(Ag(e),t-1):r.push(e)}return r},Mg=e=>is(e)&&`type`in e&&typeof e.type==`string`&&`start`in e&&typeof e.start==`number`&&`end`in e&&typeof e.end==`number`,Ng=e=>Array.isArray(e)?e.filter(Mg):[],Pg=(e,t,n=null)=>{if(Array.isArray(e)){for(let r of e)Pg(r,t,n);return}if(Mg(e)){t(e,n);for(let[n,r]of Object.entries(e))n!==`loc`&&n!==`extra`&&n!==`comments`&&Pg(r,t,e)}},Fg=e=>{try{let t=am(e,{sourceType:`module`,plugins:[`typescript`,`jsx`]});return Mg(t)?t:null}catch{return null}},Ig=e=>e.type===`Identifier`||e.type===`MemberExpression`&&e.computed===!1&&Mg(e.object)&&Ig(e.object),Lg=e=>e.split(/\r\n|\n|\r|\u2028|\u2029/).map(e=>e.trim()).filter(e=>e!==``).join(` `),Rg=(e,t,n,r)=>{let i=t.type===`JSXExpressionContainer`&&Mg(t.expression)?t.expression:t,a=i.type===`StringLiteral`||i.type===`NumericLiteral`||i.type===`BooleanLiteral`||i.type===`JSXText`,o=n.slice(i.start,i.end),s=i.type===`JSXText`?{start:i.start+(o.length-o.trimStart().length),end:i.end-(o.length-o.trimEnd().length)}:{start:t.start,end:t.end};return{name:e,literalType:i.type===`NumericLiteral`?`number`:i.type===`BooleanLiteral`?`boolean`:`string`,kind:a?`literal`:Ig(i)?`binding`:`computed`,value:a&&i.type===`JSXText`&&typeof i.value==`string`?Lg(i.value):a&&(typeof i.value==`string`||typeof i.value==`number`||typeof i.value==`boolean`)?String(i.value):n.slice(i.start,i.end),start:s.start,end:s.end,syntax:r}},zg=(e,t,n)=>{if(t?.type!==`JSXElement`&&t?.type!==`JSXFragment`)return{previous:null,next:null};let r=Ng(t.children).filter(e=>e.type!==`JSXText`||n.slice(e.start,e.end).trim()!==``),i=r.findIndex(t=>t.start===e.start),a=e=>e?.type===`JSXElement`?{start:e.start,end:e.end}:null;return{previous:a(r[i-1]),next:a(r[i+1])}},Bg=(e,t,n)=>{if(t!==n.fileName)return null;let r=Fg(e);if(r===null)return null;let i=bs(e),a=i[n.lineNumber-1];if(a===void 0||!Number.isInteger(n.columnNumber)||n.columnNumber<1)return null;let o=a+n.columnNumber-1;if(o>=(i[n.lineNumber]??e.length))return null;let s=null;return Pg(r,(t,n)=>{if(t.type!==`JSXElement`||t.start!==o||!Mg(t.openingElement))return;let r=t.openingElement,i=[];for(let t of Ng(r.attributes))if(t.type===`JSXAttribute`&&Mg(t.name)&&typeof t.name.name==`string`&&Mg(t.value)){let n=t.value,r=n.type===`JSXExpressionContainer`&&Mg(n.expression)?n.expression:null;if(t.name.name===`style`&&r?.type===`ObjectExpression`&&!Ng(r.properties).some(e=>e.type===`SpreadElement`))for(let t of Ng(r.properties)){if(t.type!==`ObjectProperty`||t.computed===!0||!Mg(t.key)||!Mg(t.value))continue;let n=t.key.type===`Identifier`?t.key.name:t.key.value;typeof n==`string`&&i.push(Rg(`style.${n}`,t.value,e,`value`))}else i.push(Rg(t.name.name,n,e,`attribute`))}let a=Ng(t.children).filter(t=>t.type!==`JSXText`||e.slice(t.start,t.end).trim()!==``);if(a.length===1&&a[0]!==void 0&&a[0].type!==`JSXElement`&&a[0].type!==`JSXFragment`)i.unshift(Rg(`children`,a[0],e,`child`));else if(a.length>1){let t=a.flatMap((t,n)=>t.type===`JSXText`?[Rg(`text.${n}`,t,e,`child`)]:[]);i.unshift(...t)}s={start:t.start,end:t.end,contentStart:r.selfClosing===!0?null:r.end,contentEnd:Mg(t.closingElement)?t.closingElement.start:null,tag:Mg(r.name)?e.slice(r.name.start,r.name.end):`element`,properties:i,attributeInsertion:(()=>{let e=Ng(r.attributes).at(-1);return e===void 0?Mg(r.name)?r.name.end:r.end-1:e.end})(),hasSpread:Ng(r.attributes).some(e=>e.type===`JSXSpreadAttribute`),structural:n?.type===`JSXElement`||n?.type===`JSXFragment`,...zg(t,n,e)}}),s},Vg=/^[^\s{}<>&](?:[^{}<>&\r\n\u2028\u2029]*[^\s{}<>&])?$/,Hg=(e,t,n)=>{if(t.kind!==`literal`||t.literalType===`number`&&(n.trim()===``||!Number.isFinite(Number(n)))||t.literalType===`boolean`&&n!==`true`&&n!==`false`)return null;let r=t.literalType===`string`?JSON.stringify(n):t.literalType===`number`?String(Number(n)):n,i=e.slice(t.start,t.end),a=t.syntax===`child`&&!i.startsWith(`{`)&&Vg.test(n);return{start:t.start,end:t.end,before:i,after:a?n:t.syntax===`child`||t.syntax===`attribute`&&t.literalType!==`string`?`{${r}}`:r}},Ug=(e,t,n)=>({start:t.start,end:t.end,before:e.slice(t.start,t.end),after:t.syntax===`value`?n:`{${n}}`}),Wg=(e,t,n)=>{let r=n.file??n.entry,i=e=>({...n.files,[r]:e}),a=jg(kg(i(e),n.entry),kg(i(t),n.entry)),o=a[0];if(o===void 0)return null;let s=a.length>1?` (and ${a.length-1} more)`:``;return`This change leaves the static profile: ${o.message}${o.fix===void 0?``:` ${o.fix}`}${s}`},Gg=(e,t,n={})=>{let r=[...t].sort((e,t)=>t.start-e.start),i=e.length,a=e;for(let t of r){if(t.start<0||t.end<t.start||t.end>i||e.slice(t.start,t.end)!==t.before)return{ok:!1,reason:`Source changed at this target. Select it again before applying the edit.`};a=a.slice(0,t.start)+t.after+a.slice(t.end),i=t.start}if(Fg(a)===null)return{ok:!1,reason:`This change is not valid TSX. Review it in Source.`};if(n.profile!==void 0&&a!==e){let t=Wg(e,a,n.profile);if(t!==null)return{ok:!1,reason:t}}return{ok:!0,source:a}},Kg=(e,t)=>{let n=Math.max(e.lastIndexOf(`
28
- `,t-1),e.lastIndexOf(`\r`,t-1)),r=e.slice(n+1,t);return/^[ \t]*$/.test(r)?r:null},qg=(e,t)=>{if(Kg(e,t.start)===null)return t;let n=/^[ \t]*(\r\n|\n|\r)/.exec(e.slice(t.end));return n===null?t:{start:t.start-(Kg(e,t.start)??``).length,end:t.end+n[0].length}},Jg=(e,t,n)=>{if(n.kind===`insert`)return t.contentEnd===null?null:[{start:t.contentEnd,end:t.contentEnd,before:``,after:n.tsx}];if(!t.structural)return null;let r=e.slice(t.start,t.end);if(n.kind===`duplicate`){let n=Kg(e,t.start);return[{start:t.end,end:t.end,before:``,after:n===null?r:`\n${n}${r}`}]}if(n.kind===`reorder`){let i=n.direction===`before`?t.previous:t.next;return i===null?null:[{start:i.start,end:i.end,before:e.slice(i.start,i.end),after:r},{start:t.start,end:t.end,before:r,after:e.slice(i.start,i.end)}]}let i=qg(e,t),a={start:i.start,end:i.end,before:e.slice(i.start,i.end),after:``};if(n.kind===`delete`)return[a];let o=n.destination.contentEnd;return o===null||o>=t.start&&o<=t.end?null:[a,{start:o,end:o,before:``,after:r}]},Yg=(e,t)=>{let n=e.program;if(!Mg(n))return null;for(let e of Ng(n.body)){let n=e.type===`ExportNamedDeclaration`&&Mg(e.declaration)?e.declaration:e;if(n.type===`VariableDeclaration`){for(let e of Ng(n.declarations))if(Mg(e.id)&&e.id.name===t&&Mg(e.init)&&e.init.type===`ObjectExpression`)return e.init}}return null},Xg=e=>{let t=Fg(e);if(t===null)return[];let n=[];return Pg(t,r=>{if(r.type!==`CallExpression`||!Mg(r.callee)||r.callee.type!==`Identifier`||r.callee.name!==`defineTemplate`)return;let i=Ng(r.arguments)[0];if(i?.type!==`ObjectExpression`)return;let a=Ng(i.properties).find(e=>e.type===`ObjectProperty`&&Mg(e.key)&&e.key.name===`fixtures`&&e.computed!==!0);if(a!==void 0&&Mg(a.value)&&a.value.type===`ObjectExpression`)for(let r of Ng(a.value.properties)){if(r.type!==`ObjectProperty`||r.computed===!0||!Mg(r.key)||!Mg(r.value))continue;let i=r.key.type===`Identifier`?r.key.name:r.key.value,a=r.value.type===`Identifier`&&typeof r.value.name==`string`?Yg(t,r.value.name)??r.value:r.value;typeof i==`string`&&n.push({name:i,start:a.start,end:a.end,source:e.slice(a.start,a.end)})}}),n},Zg=e=>e.split(/\s+/).filter(e=>e!==``),Qg=(e,t,n)=>{let r=t.properties.find(e=>e.name===`className`),i=e=>{if(n.kind===`set`)return Zg(n.value).join(` `);let t=Zg(n.tokens);return n.kind===`add`?[...e,...t.filter(t=>!e.includes(t))].join(` `):e.filter(e=>!t.includes(e)).join(` `)};if(r===void 0){if(t.hasSpread)return{ok:!1,reason:`A spread attribute can supply className here, so a class list cannot be added safely. Edit it in Source.`};if(n.kind===`remove`)return{ok:!0,edits:[]};let e=i([]);return e===``?{ok:!0,edits:[]}:{ok:!0,edits:[{start:t.attributeInsertion,end:t.attributeInsertion,before:``,after:` className=${JSON.stringify(e)}`}]}}if(r.kind!==`literal`||r.literalType!==`string`)return{ok:!1,reason:`className is ${r.kind===`binding`?`bound to`:`computed from`} \`${r.value}\`, so editing it would discard that choice. Change the literal classes inside it in Source.`};let a=i(Zg(r.value));return{ok:!0,edits:[{start:r.start,end:r.end,before:e.slice(r.start,r.end),after:JSON.stringify(a)}]}},$g=e=>is(e)&&typeof e.type==`string`&&typeof e.start==`number`&&typeof e.end==`number`,e_=e=>Array.isArray(e)?e.filter($g):[],t_=(e,t)=>{let n=e[t];return $g(n)?n:null},n_=e=>{try{let t=am(e,{sourceType:`module`,plugins:[`typescript`,`jsx`]});return $g(t)?t:null}catch{return null}},r_=(e,t)=>{if(Array.isArray(e)){for(let n of e)r_(n,t);return}if($g(e)&&t(e)!==!1)for(let[n,r]of Object.entries(e))n!==`loc`&&n!==`extra`&&n!==`comments`&&r_(r,t)},i_=e=>e===null?``:e.type===`JSXIdentifier`?typeof e.name==`string`?e.name:``:e.type===`JSXMemberExpression`?`${i_(t_(e,`object`))}.${i_(t_(e,`property`))}`:``,a_=e=>{if(e.type!==`JSXElement`)return null;let t=t_(e,`openingElement`);if(t===null)return null;let n=t_(e,`closingElement`);return{node:e,opening:t,closing:n,tag:i_(t_(t,`name`)),children:e_(e.children),attributes:e_(t.attributes),selfClosing:t.selfClosing===!0,contentStart:t.end,contentEnd:n===null?t.end:n.start}},o_=e=>{let t=t_(e,`body`);if(t===null)return null;if(t.type===`JSXElement`)return t;if(t.type!==`BlockStatement`)return null;let n=e_(t.body).filter(e=>e.type!==`EmptyStatement`),r=n.length===1?n[0]:void 0,i=r?.type===`ReturnStatement`&&r!==void 0?t_(r,`argument`):null;return i!==null&&i.type===`JSXElement`?i:null},s_=e=>{if(e.computed===!0)return null;let t=t_(e,`key`);return t===null?null:t.type===`Identifier`?typeof t.name==`string`?t.name:null:t.type===`StringLiteral`&&typeof t.value==`string`?t.value:null},c_=(e,t)=>{let n=null;return r_(e,e=>{if(n!==null)return!1;if(e.type!==`CallExpression`)return;let r=t_(e,`callee`);if(r?.type!==`Identifier`||r.name!==`defineTemplate`)return;let i=e_(e.arguments)[0];if(i?.type!==`ObjectExpression`)return!1;for(let e of e_(i.properties)){if(s_(e)!==t)continue;let r=e.type===`ObjectMethod`?e:e.type===`ObjectProperty`?t_(e,`value`):null;if(r===null||r.type!==`ArrowFunctionExpression`&&r.type!==`FunctionExpression`&&r.type!==`ObjectMethod`)return!1;let i=o_(r),a=i===null?null:a_(i);return a!==null&&(n={root:a,parameter:e_(r.params)[0]??null}),!1}return!1}),n},l_=(e,t,n)=>{let r=n;return r_(e,e=>{if(e.type===`ImportDeclaration`){if(t_(e,`source`)?.value!==t)return!1;for(let t of e_(e.specifiers)){let e=t_(t,`imported`),i=t_(t,`local`);t.type===`ImportSpecifier`&&(e?.name===n||e?.value===n)&&(r=typeof i?.name==`string`?i.name:n)}return!1}}),r},u_=e=>{let t=e.split(/\r\n|\n|\r/),n=0;t.forEach((e,t)=>{/[^ \t]/.test(e)&&(n=t)});let r=``;return t.forEach((e,i)=>{let a=e.replace(/\t/g,` `);i!==0&&(a=a.replace(/^ +/,``)),i!==t.length-1&&(a=a.replace(/ +$/,``)),a!==``&&(r+=i===n?a:`${a} `)}),r},d_=e=>{let t=t_(e,`expression`);if(t===null)return null;if(t.type===`StringLiteral`&&typeof t.value==`string`)return t.value;if(t.type===`TemplateLiteral`&&e_(t.expressions).length===0){let e=e_(t.quasis)[0]?.value;return is(e)&&typeof e.cooked==`string`?e.cooked:null}return null},f_=(e,t)=>{let n=e.slice(t.start,t.end).replace(/\s+/g,` `).trim();return n.length>60?`${n.slice(0,59)}…`:n},p_=(e,t)=>{let n=[],r=t.contentStart,i=``,a=e=>{n.push({kind:`text`,text:i,start:r,end:e}),i=``};for(let o of t.children){if(o.type===`JSXText`){i+=u_(typeof o.value==`string`?o.value:``);continue}if(o.type===`JSXExpressionContainer`){let e=d_(o);if(e!==null){i+=e;continue}}a(o.start),n.push({kind:`locked`,summary:f_(e,o),start:o.start,end:o.end}),r=o.end}return a(t.contentEnd),n},m_=e=>!/[{}<>&\r\n\t]/.test(e),h_=(e,t,n)=>{let r=[...e],i=r.map(e=>!m_(e));if(t)for(let e=0;e<r.length&&/\s/.test(r[e]);e++)i[e]=!0;if(n)for(let e=r.length-1;e>=0&&/\s/.test(r[e]);e--)i[e]=!0;let a=``,o=``,s=!1,c=()=>{o!==``&&(a+=s?`{${JSON.stringify(o)}}`:o,o=``)};return r.forEach((e,t)=>{o!==``&&i[t]!==s&&c(),s=i[t],o+=e}),c(),a},g_=(e,t,n,r,i)=>{let a=n[r];if(a?.kind!==`text`)return{ok:!1,reason:`That part of the body is locked.`};if(a.text===i)return{ok:!0,edits:[]};if(t.selfClosing){let n=t.opening,r=n.end-2;for(;r>n.start&&/\s/.test(e[r-1]);)r--;return{ok:!0,edits:[{start:r,end:n.end,before:e.slice(r,n.end),after:`>${h_(i,!1,!1)}</${t.tag}>`}]}}let o=e.slice(a.start,a.end),s=/^\s*/.exec(o)?.[0]??``,c=/[\r\n]/.test(s)?s:``,l=o.slice(c.length),u=/\s*$/.exec(l)?.[0]??``,d=/[\r\n]/.test(u)?u:``,f=a.start+c.length,p=a.end-d.length;return{ok:!0,edits:[{start:f,end:p,before:e.slice(f,p),after:h_(i,c!==``,d!==``)}]}},__=(e,t)=>e.attributes.find(e=>e.type===`JSXAttribute`&&i_(t_(e,`name`))===t)??null,v_=(e,t,n)=>{let r=__(t,n);if(r===null)return{kind:`absent`};let i=t_(r,`value`);if(i?.type===`StringLiteral`&&typeof i.value==`string`)return{kind:`literal`,value:i.value};if(i?.type===`JSXExpressionContainer`){let e=d_(i);if(e!==null)return{kind:`literal`,value:e}}return{kind:`expression`,source:f_(e,i??r)}},y_=e=>/["&\\\r\n]/.test(e)?`{${JSON.stringify(e)}}`:`"${e}"`,b_=(e,t,n,r)=>({start:t,end:n,before:e.slice(t,n),after:r}),x_=(e,t,n,r)=>{let i=__(t,n);if(i===null){if(r===void 0)return{ok:!0,edits:[]};let i=t.attributes.at(-1)?.end??t_(t.opening,`name`)?.end??t.opening.end;return{ok:!0,edits:[b_(e,i,i,` ${n}=${y_(r)}`)]}}if(v_(e,t,n).kind===`expression`)return{ok:!1,reason:`\`${n}\` reads the input. Edit it in Source.`};if(r===void 0){let n=i.start;for(;n>t.opening.start&&/\s/.test(e[n-1]);)n--;return{ok:!0,edits:[b_(e,n,i.end,``)]}}let a=t_(i,`value`);return{ok:!0,edits:a===null?[b_(e,i.end,i.end,`=${y_(r)}`)]:[b_(e,a.start,a.end,y_(r))]}},S_=` `,C_=(e,t)=>{let n=e.lastIndexOf(`
29
- `,t-1)+1,r=e.slice(n,t);return/^[ \t]*$/.test(r)?r:null},w_=(e,t)=>{let n=C_(e,t.start),r=/^[ \t]*(\r?\n)/.exec(e.slice(t.end));return n===null||r===null?b_(e,t.start,t.end,``):b_(e,t.start-n.length,t.end+r[0].length,``)},T_=(e,t,n,r)=>{let i=C_(e,t.start);return n===`before`?b_(e,t.start,t.start,i===null?r:`${r}\n${i}`):b_(e,t.end,t.end,i===null?r:`\n${i}${r}`)},E_=(e,t,n)=>{let r=new Set,i=e=>{if(n?.type===`Identifier`&&typeof n.name==`string`){let t=RegExp(`\\b${n.name}((?:\\??\\.[A-Za-z_$][\\w$]*)+)`,`g`);for(let n of e.matchAll(t))r.add(n[1].replace(/\?/g,``).slice(1))}else if(n?.type===`ObjectPattern`)for(let t of e_(n.properties)){let n=t_(t,`key`);n?.type===`Identifier`&&typeof n.name==`string`&&RegExp(`\\b${n.name}\\b`).test(e)&&r.add(n.name)}};return r_(t.node,t=>{t.type===`JSXExpressionContainer`&&d_(t)===null&&i(e.slice(t.start,t.end))}),[...r].sort()},D_=e=>{let t=n_(e);if(t===null)return null;let n=c_(t,`sms`);return n===null||n.root.tag!==l_(t,`@samva/markup/sms`,`Sms`)?null:{...n,tree:t}},O_=e=>{let t=D_(e);return t===null?null:{category:v_(e,t.root,`category`),segments:p_(e,t.root),variables:E_(e,t.root,t.parameter)}},k_=(e,t)=>{let n=D_(e);return n===null?{ok:!1,reason:`The SMS body is not editable here.`}:t.kind===`category`?t.value!==void 0&&!wm.includes(t.value)?{ok:!1,reason:`\`${t.value}\` is not an SMS category.`}:x_(e,n.root,`category`,t.value):g_(e,n.root,p_(e,n.root),t.segment,t.text)},A_={"quick-reply":`QuickReplyButton`,url:`UrlButton`,phone:`PhoneButton`,"copy-code":`CopyCodeButton`},j_={"quick-reply":`Reply`,url:`Visit site`,phone:`Call us`,"copy-code":`CODE`},M_=(e,t)=>{if(!e.startsWith(`${t}.`))return null;let n=e.slice(t.length+1);return Object.keys(A_).find(e=>A_[e]===n)??null},N_=e=>{let t=n_(e);if(t===null)return null;let n=c_(t,`whatsapp`),r=l_(t,`@samva/markup/whatsapp`,`WhatsApp`);if(n===null||n.root.tag!==r)return null;let i=e=>{for(let t of n.root.children){let n=a_(t);if(n?.tag===`${r}.${e}`)return n}return null};return{...n,local:r,header:i(`Header`),body:i(`Body`),footer:i(`Footer`),buttons:i(`Buttons`)}},P_=(e,t)=>{if(t.buttons===null)return[];let n=[];for(let r of t.buttons.children){if(r.type===`JSXText`&&u_(String(r.value??``))===``)continue;let i=a_(r),a=i===null?null:M_(i.tag,t.local);if(i===null||a===null){n.push({row:{kind:`locked`,summary:f_(e,r)},node:r});continue}let o=p_(e,i),s=o[0];n.push({node:r,row:o.length===1&&s?.kind===`text`?{kind:`editable`,type:a,text:s.text,url:v_(e,i,`url`),phone:v_(e,i,`phone`)}:{kind:`locked`,summary:f_(e,r)}})}return n},F_=e=>{let t=N_(e);if(t===null||t.body===null)return null;let{root:n}=t;return{language:v_(e,n,`language`),category:v_(e,n,`category`),header:t.header===null?null:p_(e,t.header),headerType:t.header===null?{kind:`absent`}:v_(e,t.header,`type`),body:p_(e,t.body),footer:t.footer===null?null:p_(e,t.footer),buttons:P_(e,t).map(({row:e})=>e),variables:E_(e,n,t.parameter)}},I_=(e,t,n,r)=>{let i=`${e}.${A_[t]}`;return`<${i}${t===`url`&&r.url!==void 0?` url=${y_(r.url)}`:t===`phone`&&r.phone!==void 0?` phone=${y_(r.phone)}`:``}>${h_(n,!1,!1)}</${i}>`},L_=(e,t)=>I_(e,t,j_[t],{url:`https://example.com`,phone:`+15555550100`}),R_=(e,t,n,r,i)=>{let a=t[n];if(a===null){if(n===`body`||i===``||r!==0)return{ok:!0,edits:[]};let a=`${t.local}.${n===`header`?`Header`:`Footer`}`,o=`<${a}>${h_(i,!1,!1)}</${a}>`;return{ok:!0,edits:[T_(e,n===`header`?t.body.node:t.buttons?.node??t.body.node,n===`header`?`before`:`after`,o)]}}let o=p_(e,a);return n!==`body`&&i===``&&o.length===1?{ok:!0,edits:[w_(e,a.node)]}:g_(e,a,o,r,i)},z_=(e,t)=>{let n=N_(e);if(n===null||n.body===null)return{ok:!1,reason:`The WhatsApp body is not editable here.`};let{root:r,local:i}=n;switch(t.kind){case`attribute`:return t.name===`category`&&!Tm.includes(t.value)?{ok:!1,reason:`Choose a WhatsApp category.`}:x_(e,r,t.name,t.value);case`headerType`:return n.header===null?{ok:!1,reason:`Add the header text before choosing its type.`}:Em.includes(t.value)?x_(e,n.header,`type`,t.value===`text`?void 0:t.value):{ok:!1,reason:`\`${t.value}\` is not a header type.`};case`text`:return R_(e,n,t.part,t.segment,t.text);case`buttonAdd`:{let r=L_(i,t.type),a=n.buttons;if(a===null){let t=n.footer??n.body,a=`${i}.Buttons`,o=C_(e,t.node.start),s=o===null?`<${a}>${r}</${a}>`:`<${a}>\n${o}${S_}${r}\n${o}</${a}>`;return{ok:!0,edits:[T_(e,t.node,`after`,s)]}}if(a.selfClosing){let t=`${i}.Buttons`,n=C_(e,a.node.start),o=n===null?`<${t}>${r}</${t}>`:`<${t}>\n${n}${S_}${r}\n${n}</${t}>`;return{ok:!0,edits:[b_(e,a.node.start,a.node.end,o)]}}let o=a.children.findLast(e=>e.type!==`JSXText`||u_(String(e.value??``))!==``);if(o!==void 0)return{ok:!0,edits:[T_(e,o,`after`,r)]};let s=C_(e,a.node.start);return{ok:!0,edits:[b_(e,a.contentStart,a.contentEnd,s===null?r:`\n${s}${S_}${r}\n${s}`)]}}}let a=P_(e,n),o=a[t.button];if(o===void 0||n.buttons===null)return{ok:!1,reason:`That button no longer exists.`};if(t.kind===`buttonRemove`)return{ok:!0,edits:[w_(e,a.length===1?n.buttons.node:o.node)]};let s=a_(o.node);if(o.row.kind===`locked`||s===null)return{ok:!1,reason:`That button is locked. Edit it in Source.`};switch(t.kind){case`buttonText`:return g_(e,s,p_(e,s),0,t.text);case`buttonAttribute`:return x_(e,s,t.name,t.value);default:{let{row:n}=o,r=e=>e.kind===`literal`?e.value:void 0,a=I_(i,t.type,n.text,{url:r(n.url)??`https://example.com`,phone:r(n.phone)??`+15555550100`});return{ok:!0,edits:[b_(e,o.node.start,o.node.end,a)]}}}},B_=new Set([`[`,`]`,`{`,`}`,`\\`,`~`,`|`,`€`,`^`,`\f`]),V_=/^[@£$¥èéùìòÇ\nØø\rÅåΔ_ΦΓΛΩΠΨΣΘΞÆæßÉ !"#¤%&'()*+,\-./:;<=>?¡0-9ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÑܧ¿abcdefghijklmnopqrstuvwxyzäöñüà]*$/,H_=e=>{for(let t of e)if(!B_.has(t)&&!V_.test(t))return!0;return!1},U_=e=>{if(H_(e)){let t=[...e].length,n=t<=70?1:Math.ceil(t/67);return{encoding:`ucs2`,characterCount:e.length,segmentCount:n}}let t=0;for(let n of e)t+=B_.has(n)?2:1;let n=t<=160?1:Math.ceil(t/153);return{encoding:`gsm7`,characterCount:e.length,segmentCount:n}},W_=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),G_=o(((e,t)=>{t.exports=W_()})),K_={};function q_(e,t){let n=W.useRef(K_);return n.current===K_&&(n.current=e(t)),n}var J_=[],Y_=void 0;function X_(){return Y_}function Z_(e){J_.push(e)}function Q_(e){let t=(t,n)=>{let r=q_(ev).current,i;try{Y_=r;for(let e of J_)e.before(r);i=e(t,n);for(let e of J_)e.after(r);r.didInitialize=!0}finally{Y_=void 0}return i};return t.displayName=e.displayName||e.name,t}function $_(e){return W.forwardRef(Q_(e))}function ev(){return{didInitialize:!1}}function tv(){}var nv=Object.freeze([]),rv=Object.freeze({}),X=typeof document<`u`?W.useLayoutEffect:()=>{};function iv(e,t){return function(n,...r){let i=new URL(e);return i.searchParams.set(`code`,n.toString()),r.forEach(e=>i.searchParams.append(`args[]`,e)),`${t} error #${n}; visit ${i} for the full message.`}}var av=iv(`https://base-ui.com/production-error`,`Base UI`),ov=W.createContext(void 0);function sv(e){let t=W.useContext(ov);if(t===void 0&&!e)throw Error(av(72));return t}function cv(e){W.useEffect(e,nv)}var lv=0,uv=class e{static create(){return new e}currentId=lv;start(e,t){this.clear(),this.currentId=setTimeout(()=>{this.currentId=lv,t()},e)}isStarted(){return this.currentId!==lv}clear=()=>{this.currentId!==lv&&(clearTimeout(this.currentId),this.currentId=lv)};disposeEffect=()=>this.clear};function dv(){let e=q_(uv.create).current;return cv(e.disposeEffect),e}function fv(){return typeof navigator>`u`?{userAgent:``,platform:``,maxTouchPoints:0}:{userAgent:navigator.userAgent,platform:navigator.platform??``,maxTouchPoints:navigator.maxTouchPoints??0}}var{userAgent:pv,platform:mv,maxTouchPoints:hv}=fv(),gv=pv.toLowerCase(),_v=mv.toLowerCase(),vv=/^i(os$|p)/.test(_v)||_v===`macintel`&&hv>1,yv=`android`,bv=_v===yv||gv.includes(yv),xv=!vv&&_v.startsWith(`mac`);_v.startsWith(`win`),!bv&&/^(linux|chrome os)/.test(_v);var Sv=xv||vv,Cv=typeof CSS<`u`&&!!CSS.supports?.(`-webkit-backdrop-filter:none`);!Cv&&gv.includes(`firefox`),!Cv&&gv.includes(`chrom`);var wv=Sv,Tv=/jsdom|happydom/.test(gv);function Ev(e){e.preventDefault(),e.stopPropagation()}function Dv(e){return`nativeEvent`in e}function Ov(e){return e.pointerType===``&&e.isTrusted?!0:bv&&e.pointerType?e.type===`click`&&e.buttons===1:e.detail===0&&!e.pointerType}function kv(e){return Tv?!1:!bv&&e.width===0&&e.height===0||bv&&e.width===1&&e.height===1&&e.pressure===0&&e.detail===0&&e.pointerType===`mouse`||e.width<1&&e.height<1&&e.pressure===0&&e.detail===0&&e.pointerType===`touch`}function Av(e,t){let n=[`mouse`,`pen`];return t||n.push(``,void 0),n.includes(e)}function jv(e){let t=e.type;return t===`click`||t===`mousedown`||t===`keydown`||t===`keyup`}function Mv(){return typeof window<`u`}function Nv(e){return Iv(e)?(e.nodeName||``).toLowerCase():`#document`}function Pv(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Fv(e){return((Iv(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function Iv(e){return Mv()?e instanceof Node||e instanceof Pv(e).Node:!1}function Lv(e){return Mv()?e instanceof Element||e instanceof Pv(e).Element:!1}function Rv(e){return Mv()?e instanceof HTMLElement||e instanceof Pv(e).HTMLElement:!1}function zv(e){return!Mv()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof Pv(e).ShadowRoot}function Bv(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=Zv(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function Vv(e){return/^(table|td|th)$/.test(Nv(e))}function Hv(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var Uv=/transform|translate|scale|rotate|perspective|filter/,Wv=/paint|layout|strict|content/,Gv=e=>!!e&&e!==`none`,Kv;function qv(e){let t=Lv(e)?Zv(e):e;return Gv(t.transform)||Gv(t.translate)||Gv(t.scale)||Gv(t.rotate)||Gv(t.perspective)||!Yv()&&(Gv(t.backdropFilter)||Gv(t.filter))||Uv.test(t.willChange||``)||Wv.test(t.contain||``)}function Jv(e){let t=$v(e);for(;Rv(t)&&!Xv(t);){if(qv(t))return t;if(Hv(t))return null;t=$v(t)}return null}function Yv(){return Kv??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),Kv}function Xv(e){return/^(html|body|#document)$/.test(Nv(e))}function Zv(e){return Pv(e).getComputedStyle(e)}function Qv(e){return Lv(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function $v(e){if(Nv(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||zv(e)&&e.host||Fv(e);return zv(t)?t.host:t}function ey(e){let t=$v(e);return Xv(t)?(e.ownerDocument||e).body:Rv(t)&&Bv(t)?t:ey(t)}function ty(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=ey(e),i=r===e.ownerDocument?.body,a=Pv(r);if(i){let e=ny(a);return t.concat(a,a.visualViewport||[],Bv(r)?r:[],e&&n?ty(e):[])}return t.concat(r,ty(r,[],n))}function ny(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function ry(e){let t=e.activeElement;for(;t?.shadowRoot?.activeElement!=null;)t=t.shadowRoot.activeElement;return t}function iy(e,t){if(!e||!t)return!1;let n=t.getRootNode?.();if(e.contains(t))return!0;if(n&&zv(n)){let n=t;for(;n;){if(e===n)return!0;n=n.parentNode||n.host}}return!1}function ay(e){return`composedPath`in e?e.composedPath()[0]??e.target:e.target}var oy=`data-base-ui-focusable`,sy=`input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])`,cy=`ArrowLeft`,ly=`ArrowRight`,uy=`ArrowUp`,dy=`ArrowDown`,fy=`data-starting-style`,py=`data-ending-style`,my={[fy]:``},hy={[py]:``},gy={transitionStatus(e){return e===`starting`?my:e===`ending`?hy:null}},_y=`data-open`,vy=`data-closed`,yy=`data-anchor-hidden`,by=`data-popup-open`,xy=`data-pressed`,Sy={[by]:``},Cy={[by]:``,[xy]:``},wy={[_y]:``},Ty={[vy]:``},Ey={[yy]:``},Dy={open(e){return e?Sy:null}},Oy={open(e){return e?Cy:null}},ky={open(e){return e?wy:Ty},anchorHidden(e){return e?Ey:null}},Ay={...ky,...gy},jy=`data-trigger-disabled`;function My(e,t){if(!Lv(e))return!1;let n=e;if(t.hasElement(n))return!n.hasAttribute(jy);for(let[,e]of t.entries())if(iy(e,n))return!e.hasAttribute(jy);return!1}function Ny(e,t){if(t==null)return!1;if(`composedPath`in e)return e.composedPath().includes(t);let n=e;return n.target!=null&&t.contains(n.target)}function Py(e){return e.matches(`html,body`)}function Fy(e){return Rv(e)&&e.matches(`input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])`)}function Iy(e){return e?.closest(`button,a[href],[role="button"],select,[tabindex]:not([tabindex="-1"]),${sy}`)!=null}function Ly(e){return e?e.getAttribute(`role`)===`combobox`&&Fy(e):!1}function Ry(e){if(!e||Tv)return!0;try{return e.matches(`:focus-visible`)}catch{return!0}}function zy(e){return e?e.hasAttribute(`data-base-ui-focusable`)?e:e.querySelector(`[data-base-ui-focusable]`)||e:null}function By(e,t){return t!=null&&!Av(t)?0:typeof e==`function`?e():e}function Vy(e,t,n){let r=By(e,n);return typeof r==`number`?r:r?.[t]}function Hy(e){return typeof e==`function`?e():e}function Uy(e,t){return t||e===`click`||e===`mousedown`}function Wy(e){return e?.includes(`mouse`)&&e!==`mousedown`}var Gy=`none`,Ky=`trigger-press`,qy=`trigger-hover`,Jy=`trigger-focus`,Yy=`outside-press`,Xy=`item-press`,Zy=`close-press`,Qy=`focus-out`,$y=`escape-key`,eb=`close-watcher`,tb=`list-navigation`,nb=`cancel-open`,rb=`sibling-open`,ib=`disabled`,ab=`imperative-action`,ob=`swipe`,sb=`window-resize`;function cb(e,t,n,r){let i=!1,a=!1,o=r??rv;return{reason:e,event:t??new Event(`base-ui`),cancel(){i=!0},allowPropagation(){a=!0},get isCanceled(){return i},get isPropagationAllowed(){return a},trigger:n,...o}}var Z=G_(),lb=W.createContext({hasProvider:!1,timeoutMs:0,delayRef:{current:0},initialDelayRef:{current:0},timeout:new uv,currentIdRef:{current:null},currentContextRef:{current:null}});function ub(e,t){e.current=t.current}function db(e,t={open:!1}){let{open:n}=t,r=`rootStore`in e?e.rootStore:e,i=r.useState(`floatingId`),{currentIdRef:a,delayRef:o,timeoutMs:s,initialDelayRef:c,currentContextRef:l,hasProvider:u,timeout:d}=W.useContext(lb),[f,p]=W.useState(!1),m=W.useRef(n);return X(()=>{m.current=n},[n]),X(()=>{function e(){l.current?.setIsInstantPhase(!1),a.current=null,l.current=null,o.current=c.current,d.clear()}if(a.current&&!n&&a.current===i){if(p(!1),s){let t=i;return d.start(s,()=>{r.select(`open`)||a.current&&a.current!==t||e()}),()=>{(m.current||a.current!==t)&&d.clear()}}e()}},[n,i,a,o,s,c,l,d,r]),X(()=>{if(!n)return;let e=l.current,t=a.current;d.clear(),l.current={onOpenChange:r.setOpen,setIsInstantPhase:p},a.current=i,o.current={open:0,close:Vy(c.current,`close`)},t!==null&&t!==i?(p(!0),e?.setIsInstantPhase(!0),e?.onOpenChange(!1,cb(Gy))):(p(!1),e?.setIsInstantPhase(!1))},[n,i,r,a,o,c,l,d]),X(()=>()=>{if(a.current===i){if(l.current=null,!m.current)return;a.current=null,ub(o,c),d.clear()}},[l,a,o,i,c,d]),W.useMemo(()=>({activeIdRef:a,hasProvider:u,delayRef:o,isInstantPhase:f}),[a,u,o,f])}function fb(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function pb(...e){return()=>{for(let t=0;t<e.length;t+=1){let n=e[t];n&&n()}}}function mb(e,t,n,r){let i=q_(gb).current;return _b(i,e,t,n,r)&&yb(i,[e,t,n,r]),i.callback}function hb(e){let t=q_(gb).current;return vb(t,e)&&yb(t,e),t.callback}function gb(){return{callback:null,cleanup:null,refs:[]}}function _b(e,t,n,r,i){return e.refs[0]!==t||e.refs[1]!==n||e.refs[2]!==r||e.refs[3]!==i}function vb(e,t){return e.refs.length!==t.length||e.refs.some((e,n)=>e!==t[n])}function yb(e,t){if(e.refs=t,t.every(e=>e==null)){e.callback=null;return}e.callback=n=>{if(e.cleanup&&=(e.cleanup(),null),n!=null){let r=Array(t.length).fill(null);for(let e=0;e<t.length;e+=1){let i=t[e];if(i!=null)switch(typeof i){case`function`:{let t=i(n);typeof t==`function`&&(r[e]=t);break}case`object`:i.current=n}}e.cleanup=()=>{for(let e=0;e<t.length;e+=1){let n=t[e];if(n!=null)switch(typeof n){case`function`:{let t=r[e];typeof t==`function`?t():n(null);break}case`object`:n.current=null}}}}}}function bb(e){let t=q_(xb,e).current;return t.next=e,X(t.effect),t}function xb(e){let t={current:e,next:e,effect:()=>{t.current=t.next}};return t}var Sb={...W},Cb=Sb.useInsertionEffect,wb=Cb&&Cb!==Sb.useLayoutEffect?Cb:e=>e();function Q(e){let t=q_(Tb).current;return t.next=e,wb(t.effect),t.trampoline}function Tb(){let e={next:void 0,callback:Eb,trampoline:(...t)=>e.callback?.(...t),effect:()=>{e.callback=e.next}};return e}function Eb(){}var Db=null;globalThis.requestAnimationFrame;var Ob=new class{callbacks=[];callbacksCount=0;nextId=1;startId=1;isScheduled=!1;tick=e=>{this.isScheduled=!1;let t=this.callbacks,n=this.callbacksCount;if(this.callbacks=[],this.callbacksCount=0,this.startId=this.nextId,n>0)for(let n=0;n<t.length;n+=1)t[n]?.(e)};request(e){let t=this.nextId;return this.nextId+=1,this.callbacks.push(e),this.callbacksCount+=1,this.isScheduled||=(requestAnimationFrame(this.tick),!0),t}cancel(e){let t=e-this.startId;t<0||t>=this.callbacks.length||this.callbacks[t]!==null&&(this.callbacks[t]=null,--this.callbacksCount)}},kb=class e{static create(){return new e}static request(e){return Ob.request(e)}static cancel(e){return Ob.cancel(e)}currentId=Db;request(e){this.cancel(),this.currentId=Ob.request(()=>{this.currentId=Db,e()})}cancel=()=>{this.currentId!==Db&&(Ob.cancel(this.currentId),this.currentId=Db)};disposeEffect=()=>this.cancel};function Ab(){let e=q_(kb.create).current;return cv(e.disposeEffect),e}function jb(e){return e?.ownerDocument||document}var Mb={clipPath:`inset(50%)`,overflow:`hidden`,whiteSpace:`nowrap`,border:0,padding:0,width:1,height:1,margin:-1},Nb={...Mb,position:`fixed`,top:0,left:0},Pb={...Mb,position:`absolute`},Fb=W.forwardRef(function(e,t){let[n,r]=W.useState();X(()=>{wv&&Cv&&r(`button`)},[]);let i={tabIndex:0,role:n};return(0,Z.jsx)(`span`,{...e,ref:t,style:Nb,"aria-hidden":!n||void 0,...i,"data-base-ui-focus-guard":``})}),Ib=Math.min,Lb=Math.max,Rb=Math.round,zb=Math.floor,Bb=e=>({x:e,y:e}),Vb={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function Hb(e,t,n){return Lb(e,Ib(t,n))}function Ub(e,t){return typeof e==`function`?e(t):e}function Wb(e){return e.split(`-`)[0]}function Gb(e){return e.split(`-`)[1]}function Kb(e){return e===`x`?`y`:`x`}function qb(e){return e===`y`?`height`:`width`}function Jb(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function Yb(e){return Kb(Jb(e))}function Xb(e,t,n){n===void 0&&(n=!1);let r=Gb(e),i=Yb(e),a=qb(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=ax(o)),[o,ax(o)]}function Zb(e){let t=ax(e);return[Qb(e),t,Qb(t)]}function Qb(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var $b=[`left`,`right`],ex=[`right`,`left`],tx=[`top`,`bottom`],nx=[`bottom`,`top`];function rx(e,t,n){switch(e){case`top`:case`bottom`:return n?t?ex:$b:t?$b:ex;case`left`:case`right`:return t?tx:nx;default:return[]}}function ix(e,t,n,r){let i=Gb(e),a=rx(Wb(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(Qb)))),a}function ax(e){let t=Wb(e);return Vb[t]+e.slice(t.length)}function ox(e){return{top:e.top??0,right:e.right??0,bottom:e.bottom??0,left:e.left??0}}function sx(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:ox(e)}function cx(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function lx(e,t){return t<0||t>=e.length}function ux(e,t){return fx(e.current,{disabledIndices:t})}function dx(e,t){return fx(e.current,{decrement:!0,startingIndex:e.current.length,disabledIndices:t})}function fx(e,{startingIndex:t=-1,decrement:n=!1,disabledIndices:r,amount:i=1}={}){let a=t;do a+=n?-i:i;while(a>=0&&a<=e.length-1&&px(e,a,r));return a}function px(e,t,n){if(typeof n==`function`?n(t):n?.includes(t)??!1)return!0;let r=e[t];return r?!hx(r)||r.matches(`:disabled`)?!0:!n&&(r.hasAttribute(`disabled`)||r.getAttribute(`aria-disabled`)===`true`):!1}function mx(e){return e.visibility===`hidden`||e.visibility===`collapse`}function hx(e,t=e?Zv(e):null){return!e||!e.isConnected||!t||mx(t)?!1:typeof e.checkVisibility==`function`?e.checkVisibility():t.display!==`none`&&t.display!==`contents`}var gx=`a[href],button,input,select,textarea,summary,details,iframe,object,embed,[tabindex],[contenteditable]:not([contenteditable="false"]),audio[controls],video[controls]`;function _x(e){let t=e.assignedSlot;if(t)return t;if(e.parentElement)return e.parentElement;let n=e.getRootNode();return zv(n)?n.host:null}function vx(e){for(let t of Array.from(e.children))if(Nv(t)===`summary`)return t;return null}function yx(e,t){let n=vx(t);return!!n&&(e===n||iy(n,e))}function bx(e){let t=e?Nv(e):``;return e!=null&&e.matches(gx)&&(t!==`summary`||e.parentElement!=null&&Nv(e.parentElement)===`details`&&vx(e.parentElement)===e)&&(t!==`details`||vx(e)==null)&&(t!==`input`||e.type!==`hidden`)}function xx(e){if(!bx(e)||!e.isConnected||e.matches(`:disabled`))return!1;for(let t=e;t;t=_x(t)){let n=t!==e,r=Nv(t)===`slot`;if(t.hasAttribute(`inert`)||n&&Nv(t)===`details`&&!t.open&&!yx(e,t)||t.hasAttribute(`hidden`)||!r&&!Sx(t,n))return!1}return!0}function Sx(e,t){let n=Zv(e);return t?n.display!==`none`:hx(e,n)}function Cx(e){let t=e.tabIndex;if(t<0){let t=Nv(e);if(t===`details`||t===`audio`||t===`video`||Rv(e)&&e.isContentEditable)return 0}return t}function wx(e){if(Nv(e)!==`input`)return null;let t=e;return t.type===`radio`&&t.name!==``?t:null}function Tx(e,t){let n=wx(e);if(!n)return!0;let r=t.find(e=>{let t=wx(e);return t?.name===n.name&&t.form===n.form&&t.checked});return r?r===n:t.find(e=>{let t=wx(e);return t?.name===n.name&&t.form===n.form})===n}function Ex(e){if(Rv(e)&&Nv(e)===`slot`){let t=e.assignedElements({flatten:!0});if(t.length>0)return t}return Rv(e)&&e.shadowRoot?Array.from(e.shadowRoot.children):Array.from(e.children)}function Dx(e,t){Ex(e).forEach(e=>{bx(e)&&t.push(e),Dx(e,t)})}function Ox(e,t,n){Ex(e).forEach(e=>{Rv(e)&&e.matches(t)&&n.push(e),Ox(e,t,n)})}function kx(e){return xx(e)&&Cx(e)>=0}function Ax(e){let t=[];return Dx(e,t),t.filter(xx)}function jx(e){let t=Ax(e);return t.filter(e=>Cx(e)>=0&&Tx(e,t))}function Mx(e,t){let n=jx(e),r=n.length;if(r===0)return;let i=ry(jb(e)),a=n.indexOf(i);return n[a===-1?t===1?0:r-1:a+t]}function Nx(e){return Mx(jb(e).body,1)||e}function Px(e){return Mx(jb(e).body,-1)||e}function Fx(e,t){if(!e)return null;let n=jx(jb(e).body),r=n.length;if(r===0)return null;let i=n.indexOf(e);return i===-1?null:n[(i+t+r)%r]}function Ix(e){return Fx(e,1)}function Lx(e){return Fx(e,-1)}function Rx(e,t){let n=t||e.currentTarget,r=e.relatedTarget;return!r||!iy(n,r)}function zx(e){jx(e).forEach(e=>{e.dataset.tabindex=e.getAttribute(`tabindex`)||``,e.setAttribute(`tabindex`,`-1`)})}function Bx(e){let t=[];Ox(e,`[data-tabindex]`,t),t.forEach(e=>{let t=e.dataset.tabindex;delete e.dataset.tabindex,t?e.setAttribute(`tabindex`,t):e.removeAttribute(`tabindex`)})}function Vx(e,t,n=!0){return e.filter(e=>e.parentId===t).flatMap(t=>[...!n||t.context?.open?[t]:[],...Vx(e,t.id,n)])}function Hx(e,t){let n=[],r=e.find(e=>e.id===t)?.parentId;for(;r;){let t=e.find(e=>e.id===r);r=t?.parentId,t&&(n=n.concat(t))}return n}function Ux(e){return`data-base-ui-${e}`}var Wx=0;function Gx(e,t={}){let{preventScroll:n=!1,sync:r=!1,shouldFocus:i}=t;cancelAnimationFrame(Wx);function a(){(!i||i())&&e?.focus({preventScroll:n})}if(r)return a(),tv;let o=requestAnimationFrame(a);return Wx=o,()=>{Wx===o&&(cancelAnimationFrame(o),Wx=0)}}var Kx={inert:new WeakMap,"aria-hidden":new WeakMap},qx=`data-base-ui-inert`,Jx={inert:new WeakSet,"aria-hidden":new WeakSet},Yx=new WeakMap,Xx=0;function Zx(e){return Jx[e]}function Qx(e){return e?zv(e)?e.host:Qx(e.parentNode):null}var $x=(e,t)=>t.map(t=>{if(e.contains(t))return t;let n=Qx(t);return e.contains(n)?n:null}).filter(e=>e!=null),eS=e=>{let t=new Set;return e.forEach(e=>{let n=e;for(;n&&!t.has(n);)t.add(n),n=n.parentNode}),t},tS=(e,t,n)=>{let r=[],i=e=>{e&&!n.has(e)&&Array.from(e.children).forEach(e=>{Nv(e)!==`script`&&(t.has(e)?i(e):r.push(e))})};return i(e),r};function nS(e,t,n,r,{mark:i=!0}){let a=null;r?a=`inert`:n&&(a=`aria-hidden`);let o=null,s=null,c=$x(t,e),l=i?tS(t,eS(c),new Set(c)):[],u=[],d=[];if(a){let e=Kx[a],n=Zx(a);s=n,o=e;let r=$x(t,Array.from(t.querySelectorAll(`[aria-live]`))),i=c.concat(r);tS(t,eS(i),new Set(i)).forEach(t=>{let r=t.getAttribute(a),i=r!==null&&r!==`false`,o=(e.get(t)||0)+1;e.set(t,o),u.push(t),o===1&&i&&n.add(t),i||t.setAttribute(a,a===`inert`?``:`true`)})}return i&&l.forEach(e=>{let t=(Yx.get(e)||0)+1;Yx.set(e,t),d.push(e),t===1&&e.setAttribute(qx,``)}),Xx+=1,()=>{o&&u.forEach(e=>{let t=(o.get(e)||0)-1;o.set(e,t),t||(!s?.has(e)&&a&&e.removeAttribute(a),s?.delete(e))}),i&&d.forEach(e=>{let t=(Yx.get(e)||0)-1;Yx.set(e,t),t||e.removeAttribute(qx)}),--Xx,Xx||(Kx.inert=new WeakMap,Kx[`aria-hidden`]=new WeakMap,Jx.inert=new WeakSet,Jx[`aria-hidden`]=new WeakSet,Yx=new WeakMap)}}function rS(e,t={}){let{ariaHidden:n=!1,inert:r=!1,mark:i=!0}=t,a=jb(e[0]).body;return nS(e,a,n,r,{mark:i})}var iS=0;function aS(e,t=`mui`){let[n,r]=W.useState(e),i=e||n;return W.useEffect(()=>{n??(iS+=1,r(`${t}-${iS}`))},[n,t]),i}var oS=Sb.useId;function sS(e,t){if(oS!==void 0){let n=oS();return e??(t?`${t}-${n}`:n)}return aS(e,t)}var cS=19;function lS(e){return cS>=e}function uS(e){if(!W.isValidElement(e))return null;let t=e,n=t.props;return(lS(19)?n?.ref:t.ref)??null}function dS(e,t){if(e&&!t)return e;if(!e&&t)return t;if(e||t)return{...e,...t}}function fS(e,t){let n={};for(let r in e){let i=e[r];if(t?.hasOwnProperty(r)){let e=t[r](i);e!=null&&Object.assign(n,e);continue}i===!0?n[`data-${r.toLowerCase()}`]=``:i&&(n[`data-${r.toLowerCase()}`]=i.toString())}return n}function pS(e,t){return typeof e==`function`?e(t):e}function mS(e,t){return typeof e==`function`?e(t):e}var hS={};function gS(e,t,n,r,i){if(!n&&!r&&!i&&!e)return vS(t);let a=vS(e);return t&&(a=yS(a,t)),n&&(a=yS(a,n)),r&&(a=yS(a,r)),i&&(a=yS(a,i)),a}function _S(e){if(e.length===0)return hS;if(e.length===1)return vS(e[0]);let t=vS(e[0]);for(let n=1;n<e.length;n+=1)t=yS(t,e[n]);return t}function vS(e){return CS(e)?{...wS(e,hS)}:bS(e)}function yS(e,t){return CS(t)?wS(t,e):xS(e,t)}function bS(e){let t={...e};for(let e in t){let n=t[e];SS(e,n)&&(t[e]=ES(n))}return t}function xS(e,t){if(!t)return e;for(let n in t){let r=t[n];switch(n){case`style`:e[n]=dS(e.style,r);break;case`className`:e[n]=OS(e.className,r);break;default:e[n]=SS(n,r)?TS(e[n],r):r}}return e}function SS(e,t){let n=e.charCodeAt(0),r=e.charCodeAt(1),i=e.charCodeAt(2);return n===111&&r===110&&i>=65&&i<=90&&(typeof t==`function`||t===void 0)}function CS(e){return typeof e==`function`}function wS(e,t){return CS(e)?e(t):e??hS}function TS(e,t){return t?e?(...n)=>{let r=n[0];if(kS(r)){let i=r;DS(i);let a=t(...n);return i.baseUIHandlerPrevented||e?.(...n),a}let i=t(...n);return e?.(...n),i}:ES(t):e}function ES(e){return e&&((...t)=>{let n=t[0];return kS(n)&&DS(n),e(...t)})}function DS(e){return e.preventBaseUIHandler=()=>{e.baseUIHandlerPrevented=!0},e}function OS(e,t){return t?e?t+` `+e:t:e}function kS(e){return typeof e==`object`&&!!e&&`nativeEvent`in e}function AS(e,t,n={}){let r=t.render;n.enabled!==!1&&(r=PS(r));let i=jS(t,n,r);if(n.enabled===!1)return null;let a=n.state??rv;return FS(e,r,i,a)}function jS(e,t,n){let{className:r,style:i}=e,{state:a=rv,ref:o,props:s,stateAttributesMapping:c,enabled:l=!0}=t,u=l?pS(r,a):void 0,d=l?mS(i,a):void 0,f=l?fS(a,c):rv,p=l&&s?MS(s):void 0,m=l?dS(f,p)??{}:rv;return typeof document<`u`&&(l?m.ref=Array.isArray(o)?hb([m.ref,uS(n),...o]):mb(m.ref,uS(n),o):mb(null,null)),l?(u!==void 0&&(m.className=OS(m.className,u)),d!==void 0&&(m.style=dS(m.style,d)),m):rv}function MS(e){return Array.isArray(e)?_S(e):gS(void 0,e)}var NS=Symbol.for(`react.lazy`);function PS(e){if(e?.$$typeof!==NS)return e;let t=W.Children.toArray(e)[0];return W.isValidElement(t)?t:e}function FS(e,t,n,r){if(t){if(typeof t==`function`)return t(n,r);let e=gS(n,t.props);return e.ref=n.ref,W.cloneElement(t,e)}if(e&&typeof e==`string`)return IS(e,n);throw Error(av(8))}function IS(e,t){return e===`button`?(0,W.createElement)(`button`,{type:`button`,...t,key:t.key}):e===`img`?(0,W.createElement)(`img`,{alt:``,...t,key:t.key}):W.createElement(e,t)}var LS={style:{transition:`none`}},RS=`data-base-ui-click-trigger`,zS=`data-base-ui-swipe-ignore`,BS=`data-swipe-ignore`,VS=`[${zS}]`;`${BS}`;var HS={fallbackAxisSide:`none`},US={fallbackAxisSide:`end`},WS={clipPath:`inset(50%)`,position:`fixed`,top:0,left:0},GS=c(m(),1),KS=W.createContext(null),qS=()=>W.useContext(KS),JS=Ux(`portal`);function YS(e={}){let{ref:t,container:n,componentProps:r=rv,elementProps:i}=e,a=sS(),o=qS()?.portalNode,[s,c]=W.useState(null),[l,u]=W.useState(null),d=Q(e=>{e!==null&&u(e)}),f=W.useRef(null);X(()=>{if(n===null){f.current&&(f.current=null,u(null),c(null));return}let e=(n&&(Iv(n)?n:n.current))??o??document.body;if(e==null){f.current&&(f.current=null,u(null),c(null));return}f.current!==e&&(f.current=e,u(null),c(e))},[n,o]);let p=AS(`div`,r,{ref:[t,d],props:[{id:a,[JS]:``},i]}),m=s&&p?GS.createPortal(p,s):null;return{node:l,nodeId:W.isValidElement(p)?p.props.id:void 0,subtree:m}}var XS=W.forwardRef(function(e,t){let{render:n,className:r,style:i,children:a,container:o,portalOwnerRole:s,...c}=e,{node:l,nodeId:u,subtree:d}=YS({container:o,ref:t,componentProps:e,elementProps:c}),f=W.useRef(null),p=W.useRef(null),m=W.useRef(null),h=W.useRef(null),[g,_]=W.useState(null),v=W.useRef(!1),y=g?.modal,b=g?.open,x=!!g&&!g.modal&&g.open&&!!l;W.useEffect(()=>{if(!l||y)return;function e(e){l&&e.relatedTarget&&Rx(e)&&(e.type===`focusin`?v.current&&=(Bx(l),!1):(zx(l),v.current=!0))}return pb(fb(l,`focusin`,e,!0),fb(l,`focusout`,e,!0))},[l,y]),X(()=>{l&&b===!0&&v.current&&(Bx(l),v.current=!1)},[b,l]);let S=W.useMemo(()=>({beforeOutsideRef:f,afterOutsideRef:p,beforeInsideRef:m,afterInsideRef:h,portalNode:l,setFocusManagerState:_}),[l]);return(0,Z.jsxs)(W.Fragment,{children:[d,(0,Z.jsxs)(KS.Provider,{value:S,children:[x&&l&&(0,Z.jsx)(Fb,{"data-type":`outside`,ref:f,onFocus:e=>{Rx(e,l)?m.current?.focus():Px(g?g.domReference:null)?.focus()}}),x&&l&&(0,Z.jsx)(`span`,{role:s,"aria-owns":u,style:WS}),l&&GS.createPortal(a,l),x&&l&&(0,Z.jsx)(Fb,{"data-type":`outside`,ref:p,onFocus:e=>{Rx(e,l)?h.current?.focus():(Nx(g?g.domReference:null)?.focus(),g?.closeOnFocusOut&&g?.onOpenChange(!1,cb(`focus-out`,e.nativeEvent)))}})]})]})});function ZS(){let e=new Map;return{emit(t,n){e.get(t)?.forEach(e=>e(n))},on(t,n){e.has(t)||e.set(t,new Set),e.get(t).add(n)},off(t,n){e.get(t)?.delete(n)}}}var QS=class{nodesRef={current:[]};events=ZS();addNode(e){this.nodesRef.current.push(e)}removeNode(e){let t=this.nodesRef.current.findIndex(t=>t===e);t!==-1&&this.nodesRef.current.splice(t,1)}},$S=W.createContext(null),eC=W.createContext(null),tC=()=>W.useContext($S)?.id||null,nC=e=>{let t=W.useContext(eC);return e??t};function rC(e){let t=sS(),n=nC(e),r=tC();return X(()=>{if(!t)return;let e={id:t,parentId:r};return n?.addNode(e),()=>{n?.removeNode(e)}},[n,t,r]),t}function iC(e){let{children:t,id:n}=e,r=tC();return(0,Z.jsx)($S.Provider,{value:W.useMemo(()=>({id:n,parentId:r}),[n,r]),children:t})}function aC(e){let{children:t,externalTree:n}=e,r=q_(()=>n??new QS).current;return(0,Z.jsx)(eC.Provider,{value:r,children:t})}function oC(e){return e==null?e:`current`in e?e.current:e}function sC(e,t){let n=Pv(ay(e));return e instanceof n.KeyboardEvent?`keyboard`:e instanceof n.FocusEvent?t||`keyboard`:`pointerType`in e?e.pointerType||`keyboard`:`touches`in e?`touch`:e instanceof n.MouseEvent?t||(e.detail===0?`keyboard`:`mouse`):``}var cC=20,lC=[];function uC(){lC=lC.filter(e=>e.deref()?.isConnected)}function dC(e){uC(),e&&Nv(e)!==`body`&&(lC.push(new WeakRef(e)),lC.length>cC&&(lC=lC.slice(-20)))}function fC(){return uC(),lC[lC.length-1]?.deref()}function pC(e){return e?kx(e)?e:jx(e)[0]||e:null}function mC(e){if(e.hasAttribute(`tabindex`)&&!e.hasAttribute(`data-tabindex`)||!e.getAttribute(`role`)?.includes(`dialog`))return;let t=Ax(e).filter(e=>{let t=e.getAttribute(`data-tabindex`)||``;return kx(e)||e.hasAttribute(`data-tabindex`)&&!t.startsWith(`-`)}),n=e.getAttribute(`tabindex`);t.length===0?n!==`0`&&(e.setAttribute(`tabindex`,`0`),e.setAttribute(`data-tabindex`,`0`)):(n!==`-1`||e.hasAttribute(`data-tabindex`)&&e.getAttribute(`data-tabindex`)!==`-1`)&&(e.setAttribute(`tabindex`,`-1`),e.setAttribute(`data-tabindex`,`-1`))}function hC(e){let{context:t,children:n,disabled:r=!1,initialFocus:i=!0,returnFocus:a=!0,restoreFocus:o=!1,modal:s=!0,closeOnFocusOut:c=!0,openInteractionType:l=``,nextFocusableElement:u,previousFocusableElement:d,beforeContentFocusGuardRef:f,externalTree:p,getInsideElements:m}=e,h=`rootStore`in t?t.rootStore:t,g=h.useState(`open`),_=h.useState(`domReferenceElement`),v=h.useState(`floatingElement`),{events:y,dataRef:b}=h.context,x=Q(()=>b.current.floatingContext?.nodeId),S=i===!1,C=Ly(_)&&S,w=bb(i),T=bb(a),E=bb(l),D=bb(g),O=nC(p),k=qS(),A=W.useRef(!1),j=W.useRef(!1),M=W.useRef(!1),N=W.useRef(null),P=W.useRef(``),F=W.useRef(``),I=W.useRef(null),L=W.useRef(null),R=mb(I,f,k?.beforeInsideRef),ee=mb(L,k?.afterInsideRef),z=dv(),te=dv(),ne=Ab(),re=k!=null,B=zy(v),ie=Q((e=B)=>e?jx(e):[]),ae=Q(()=>m?.().filter(e=>e!=null)??[]);W.useEffect(()=>{if(r||!s)return;function e(e){e.key===`Tab`&&iy(B,ry(jb(B)))&&ie().length===0&&!C&&Ev(e)}return fb(jb(B),`keydown`,e)},[r,B,s,C,ie]),W.useEffect(()=>{if(r||!g)return;let e=jb(B);function t(){M.current=!1}function n(e){let t=ay(e),n=ae(),r=iy(v,t)||iy(_,t)||iy(k?.portalNode,t)||n.some(e=>e===t||iy(e,t));M.current=!r,F.current=e.pointerType||`keyboard`,t?.closest(`[data-base-ui-click-trigger]`)&&(j.current=!0,te.start(0,()=>{j.current=!1}))}function i(){F.current=`keyboard`}return pb(fb(e,`pointerdown`,n,!0),fb(e,`pointerup`,t,!0),fb(e,`pointercancel`,t,!0),fb(e,`keydown`,i,!0),t)},[r,v,_,B,g,k,te,ae]),W.useEffect(()=>{if(r||!c)return;let e=jb(B);function t(){j.current=!0,te.start(0,()=>{j.current=!1})}function n(e){let t=ay(e);kx(t)&&(N.current=t)}function i(t){let n=t.relatedTarget,r=t.currentTarget,i=ay(t);s&&n==null&&i!=null&&iy(v,i)&&dC(i),queueMicrotask(()=>{let a=x(),c=h.context.triggerElements,l=ae(),f=n?.hasAttribute(Ux(`focus-guard`))&&[I.current,L.current,k?.beforeInsideRef.current,k?.afterInsideRef.current,k?.beforeOutsideRef.current,k?.afterOutsideRef.current,oC(d),oC(u)].includes(n),p=!(iy(_,n)||iy(v,n)||iy(n,v)||iy(k?.portalNode,n)||l.some(e=>e===n||iy(e,n))||c.hasMatchingElement(e=>iy(e,n))||f||O&&(Vx(O.nodesRef.current,a).find(e=>iy(e.context?.elements.floating,n)||iy(e.context?.elements.domReference,n))||Hx(O.nodesRef.current,a).find(e=>[e.context?.elements.floating,zy(e.context?.elements.floating)].includes(n)||e.context?.elements.domReference===n)));if(r===_&&B&&mC(B),o&&r!==_&&!hx(i)&&ry(e)===e.body){if(Rv(B)&&(B.focus(),o===`popup`)){ne.request(()=>{B.focus()});return}let e=ie(),t=N.current,n=(t&&e.includes(t)?t:null)||e[e.length-1]||B;Rv(n)&&n.focus()}if(b.current.insideReactTree){b.current.insideReactTree=!1;return}(C||!s)&&n&&p&&!j.current&&(C||n!==fC())&&(A.current=!0,h.setOpen(!1,cb(Qy,t)))})}function a(){M.current||(b.current.insideReactTree=!0,z.start(0,()=>{b.current.insideReactTree=!1}))}let l=Rv(_)?_:null;if(v||l)return pb(l&&fb(l,`focusout`,i),l&&fb(l,`pointerdown`,t),v&&fb(v,`focusin`,n),v&&fb(v,`focusout`,i),v&&k&&fb(v,`focusout`,a,!0))},[r,_,v,B,s,O,k,h,c,o,ie,C,x,b,z,te,ne,u,d,ae]),W.useEffect(()=>{if(r||!v||!g)return;let e=Array.from(k?.portalNode?.querySelectorAll(`[${Ux(`portal`)}]`)||[]),t=(O?Hx(O.nodesRef.current,x()):[]).find(e=>Ly(e.context?.elements.domReference||null))?.context?.elements.domReference,n=rS([v,...e,I.current,L.current,k?.beforeOutsideRef.current,k?.afterOutsideRef.current,...ae(),t,oC(d),oC(u),C?_:null].filter(e=>e!=null),{ariaHidden:s||C,mark:!1}),i=rS([v,...e].filter(e=>e!=null));return()=>{i(),n()}},[g,r,_,v,s,k,C,O,x,u,d,ae]),X(()=>{if(!g||r||!Rv(B))return;P.current=``,F.current=``;let e=jb(B),t=ry(e);queueMicrotask(()=>{let n=w.current,r=typeof n==`function`?n(E.current||``):n;if(r===void 0||r===!1||iy(B,t))return;let i=null,a=()=>(i??=ie(B),i[0]||B),o;o=r===!0||r===null?a():oC(r),o||=a();let s=iy(B,ry(e));Gx(o,{preventScroll:o===B,shouldFocus(){if(!D.current)return!1;if(s)return!0;let t=ry(e);return!(t!==o&&iy(B,t))}})})},[r,g,B,ie,w,E,D]),X(()=>{if(r||!B)return;let e=jb(B),t=ry(e),n=E.current==null;dC(t);function i(e){if(e.open||(P.current=sC(e.nativeEvent,F.current)),e.reason===`trigger-hover`&&e.nativeEvent.type===`mouseleave`&&(A.current=!0),e.reason===`outside-press`){if(e.nested)A.current=!1;else if(Ov(e.nativeEvent)||kv(e.nativeEvent))A.current=!1;else{let e=!1;jb(B).createElement(`div`).focus({get preventScroll(){return e=!0,!1}}),e?A.current=!1:A.current=!0}}}y.on(`openchange`,i);function a(e){let r=T.current,i=typeof r==`function`?r(e):r;if(i===void 0||i===!1)return null;i===null&&(i=!0);let a=_?.isConnected?_:null,o=t?.isConnected&&Nv(t)!==`body`?t:null,s=n?o||a:a||o;return s||=fC()||null,typeof i==`boolean`?s:oC(i)||s||null}return()=>{y.off(`openchange`,i);let t=ry(e),n=ae(),r=iy(v,t)||n.some(e=>e===t||iy(e,t))||O&&Vx(O.nodesRef.current,x(),!1).some(e=>iy(e.context?.elements.floating,t)),o=T.current,s=P.current,c=a(s);queueMicrotask(()=>{let n=pC(c),i=typeof o!=`boolean`;if(o&&!A.current&&Rv(n)&&(i||n===t||t===e.body||r)){let e={preventScroll:!0};s===`keyboard`&&(e.focusVisible=!0),n.focus(e)}A.current=!1})}},[r,v,B,T,E,y,O,_,x,ae]),X(()=>{if(!Cv||g||!v)return;let e=ry(jb(v));Rv(e)&&Fy(e)&&iy(v,e)&&e.blur()},[g,v]),X(()=>{if(!r&&k)return k.setFocusManagerState({modal:s,closeOnFocusOut:c,open:g,onOpenChange:h.setOpen,domReference:_}),()=>{k.setFocusManagerState(null)}},[r,k,s,g,h,c,_]),X(()=>{if(!r&&B)return mC(B),()=>{queueMicrotask(uC)}},[r,B]);let oe=!r&&(!s||!C)&&(re||s);return(0,Z.jsxs)(W.Fragment,{children:[oe&&(0,Z.jsx)(Fb,{"data-type":`inside`,ref:R,onFocus:e=>{if(s){let e=ie();Gx(e[e.length-1])}else k?.portalNode&&(A.current=!1,Rx(e,k.portalNode)?Nx(_)?.focus():oC(d??k.beforeOutsideRef)?.focus())}}),n,oe&&(0,Z.jsx)(Fb,{"data-type":`inside`,ref:ee,onFocus:e=>{s?Gx(ie()[0]):k?.portalNode&&(c&&(A.current=!0),Rx(e,k.portalNode)?Px(_)?.focus():oC(u??k.afterOutsideRef)?.focus())}})]})}function gC(e,t={}){let{enabled:n=!0,event:r=`click`,toggle:i=!0,ignoreMouse:a=!1,stickIfOpen:o=!0,touchOpenDelay:s=0,reason:c=Ky}=t,l=`rootStore`in e?e.rootStore:e,u=l.context.dataRef,d=W.useRef(void 0),f=Ab(),p=dv(),m=W.useMemo(()=>{function e(e,t,n,r){let i=cb(c,t,n);e&&r===`touch`&&s>0?p.start(s,()=>{l.setOpen(!0,i)}):l.setOpen(e,i)}function t(e,t,n){let r=u.current.openEvent,a=l.select(`domReferenceElement`)!==t;return e&&a||!e||!i?!0:r&&o?!n(r.type):!1}return{onPointerDown(e){d.current=Av(e.pointerType,!0)&&kv(e.nativeEvent)?`virtual`:e.pointerType},onMouseDown(n){let i=d.current,o=n.nativeEvent,s=l.select(`open`);if(n.button!==0||r===`click`||Av(i,!0)&&a)return;let c=t(s,n.currentTarget,e=>e===`click`||e===`mousedown`),u=ay(o);if(Fy(u)){e(c,o,u,i);return}let p=n.currentTarget;f.request(()=>{e(c,o,p,i)})},onClick(n){if(r===`mousedown-only`)return;let i=d.current;if(r===`mousedown`&&i){d.current=void 0;return}Av(i,!0)&&a||e(t(l.select(`open`),n.currentTarget,e=>e===`click`||e===`mousedown`||e===`keydown`||e===`keyup`),n.nativeEvent,n.currentTarget,i)},onKeyDown(){d.current=void 0}}},[u,r,a,c,l,o,i,f,p,s]);return W.useMemo(()=>n?{reference:m}:rv,[n,m])}function _C(e,t){let n=null,r=null,i=!1;return{contextElement:e||void 0,getBoundingClientRect(){let a=e?.getBoundingClientRect()||{width:0,height:0,x:0,y:0},o=t.axis===`x`||t.axis===`both`,s=t.axis===`y`||t.axis===`both`,c=[`mouseenter`,`mousemove`].includes(t.dataRef.current.openEvent?.type||``)&&t.pointerType!==`touch`,l=a.width,u=a.height,d=a.x,f=a.y;return n==null&&t.x&&o&&(n=a.x-t.x),r==null&&t.y&&s&&(r=a.y-t.y),d-=n||0,f-=r||0,l=0,u=0,!i||c?(l=t.axis===`y`?a.width:0,u=t.axis===`x`?a.height:0,d=o&&t.x!=null?t.x:d,f=s&&t.y!=null?t.y:f):i&&!c&&(u=t.axis===`x`?a.height:u,l=t.axis===`y`?a.width:l),i=!0,{width:l,height:u,x:d,y:f,top:f,right:d+l,bottom:f+u,left:d}}}}function vC(e){return e!=null&&e.clientX!=null}function yC(e,t={}){let{enabled:n=!0,axis:r=`both`}=t,i=`rootStore`in e?e.rootStore:e,a=i.useState(`open`),o=i.useState(`floatingElement`),s=i.useState(`domReferenceElement`),c=i.context.dataRef,l=W.useRef(!1),u=W.useRef(null),[d,f]=W.useState(),[p,m]=W.useState([]),h=Q(e=>{i.set(`positionReference`,e)}),g=Q((e,t,n)=>{l.current||(!c.current.openEvent||vC(c.current.openEvent))&&i.set(`positionReference`,_C(n??s,{x:e,y:t,axis:r,dataRef:c,pointerType:d}))}),_=Q(e=>{a?u.current||(g(e.clientX,e.clientY,e.currentTarget),m([])):g(e.clientX,e.clientY,e.currentTarget)}),v=Av(d)?o:a;W.useEffect(()=>{if(!n){h(s);return}if(!v)return;function e(){u.current?.(),u.current=null}let t=Pv(o);function r(t){let n=ay(t);iy(o,n)?e():g(t.clientX,t.clientY)}return!c.current.openEvent||vC(c.current.openEvent)?u.current=fb(t,`mousemove`,r):h(s),e},[v,n,o,c,s,i,g,h,p]),W.useEffect(()=>()=>{i.set(`positionReference`,null)},[i]),W.useEffect(()=>{n&&!o&&(l.current=!1)},[n,o]),W.useEffect(()=>{!n&&a&&(l.current=!0)},[n,a]);let y=W.useMemo(()=>{function e(e){f(e.pointerType)}return{onPointerDown:e,onPointerEnter:e,onMouseMove:_,onMouseEnter:_}},[_]);return W.useMemo(()=>n?{reference:y,trigger:y}:{},[n,y])}function bC(){return!1}function xC(e){return{escapeKey:typeof e==`boolean`?e:e?.escapeKey??!1,outsidePress:typeof e==`boolean`?e:e?.outsidePress??!0}}function SC(e,t={}){let{enabled:n=!0,escapeKey:r=!0,outsidePress:i=!0,outsidePressEvent:a=`sloppy`,referencePress:o=bC,bubbles:s,externalTree:c}=t,l=`rootStore`in e?e.rootStore:e,u=l.useState(`open`),d=l.useState(`floatingElement`),{dataRef:f,events:p}=l.context,m=nC(c),h=Q(typeof i==`function`?i:()=>!1),g=typeof i==`function`?h:i,_=g!==!1,v=Q(()=>a),{escapeKey:y,outsidePress:b}=xC(s),x=W.useRef(!1),S=W.useRef(!1),C=W.useRef(!1),w=W.useRef(!1),T=W.useRef(!1),E=W.useRef(``),D=W.useRef(null),O=dv(),k=dv(),A=Q(()=>{k.clear(),f.current.insideReactTree=!1}),j=Q(e=>{let t=f.current.floatingContext?.nodeId;return(m?Vx(m.nodesRef.current,t):[]).some(t=>t.context?.open&&!t.context.dataRef.current[e])}),M=Q(e=>Ny(e,l.select(`floatingElement`))||Ny(e,l.select(`domReferenceElement`))),N=Q(e=>{o()&&l.setOpen(!1,cb(Ky,e.nativeEvent))}),P=Q(e=>{if(!u||!n||!r||e.key!==`Escape`||T.current||!y&&j(`__escapeKeyBubbles`))return;let t=cb($y,Dv(e)?e.nativeEvent:e);l.setOpen(!1,t),t.isCanceled||e.preventDefault(),!y&&!t.isPropagationAllowed&&e.stopPropagation()}),F=Q(()=>{f.current.insideReactTree=!0,k.start(0,A)}),I=Q(e=>{if(!u||!n||e.button!==0)return;let t=ay(e.nativeEvent);iy(l.select(`floatingElement`),t)&&(x.current||(x.current=!0,S.current=!1))}),L=Q(e=>{u&&n&&(e.defaultPrevented||e.nativeEvent.defaultPrevented)&&x.current&&(S.current=!0)});W.useEffect(()=>{function e(e){e.open||(w.current=!1)}return p.on(`openchange`,e),()=>{p.off(`openchange`,e)}},[p]),W.useEffect(()=>{if(!u||!n)return u||(w.current=!1),A;f.current.__escapeKeyBubbles=y,f.current.__outsidePressBubbles=b;let e=new uv,t=new uv,i=jb(d);function a(){e.clear(),T.current=!0}function o(){e.start(Cv?5:0,()=>{T.current=!1})}function s(){C.current=!0,t.start(0,()=>{C.current=!1})}function c(){x.current=!1,S.current=!1}function p(){let e=E.current,t=e===`pen`||!e?`mouse`:e,n=v(),r=typeof n==`function`?n():n;return typeof r==`string`?r:r[t]}function h(e){let t=p();return t===`intentional`&&e.type!==`click`||t===`sloppy`&&e.type===`click`}function k(e){let t=f.current.floatingContext?.nodeId,n=m&&Vx(m.nodesRef.current,t).some(t=>Ny(e,t.context?.elements.floating));return M(e)||n}function N(e){if(h(e)){e.type!==`click`&&!M(e)&&(t.clear(),C.current=!1),A();return}if(f.current.insideReactTree){A();return}let n=ay(e),r=`[${Ux(`inert`)}]`,i=Lv(n)?n.getRootNode():null,a=Array.from((zv(i)?i:jb(l.select(`floatingElement`))).querySelectorAll(r)),o=l.context.triggerElements;if(n&&(o.hasElement(n)||o.hasMatchingElement(e=>iy(e,n))))return;let s=Lv(n)?n:null;for(;s&&!Xv(s);){let e=$v(s);if(Xv(e)||!Lv(e))break;s=e}if(!(a.length&&Lv(n)&&!Py(n)&&!iy(n,l.select(`floatingElement`))&&a.every(e=>!iy(s,e)))){if(Rv(n)&&!(`touches`in e)){let t=Xv(n),r=Zv(n),i=/auto|scroll/,a=t||i.test(r.overflowX),o=t||i.test(r.overflowY),s=a&&n.clientWidth>0&&n.scrollWidth>n.clientWidth,c=o&&n.clientHeight>0&&n.scrollHeight>n.clientHeight,l=r.direction===`rtl`,u=c&&(l?e.offsetX<=n.offsetWidth-n.clientWidth:e.offsetX>n.clientWidth),d=s&&e.offsetY>n.clientHeight;if(u||d)return}if(!k(e)){if(p()===`intentional`){if(e.detail!==0&&!Ov(e)&&!w.current)return;if(C.current){t.clear(),C.current=!1;return}}(typeof g!=`function`||g(e))&&(j(`__outsidePressBubbles`)||(l.setOpen(!1,cb(Yy,e)),A()))}}}function F(e){p()===`sloppy`&&e.pointerType!==`touch`&&l.select(`open`)&&n&&!M(e)&&N(e)}function I(e){if(p()!==`sloppy`||!l.select(`open`)||!n||M(e))return;let t=e.touches[0];t&&(D.current={startTime:Date.now(),startX:t.clientX,startY:t.clientY,dismissOnTouchEnd:!1,dismissOnMouseDown:!0},O.start(1e3,()=>{D.current&&(D.current.dismissOnTouchEnd=!1,D.current.dismissOnMouseDown=!1)}))}function L(e,t){let n=ay(e);if(!n)return;let r=fb(n,e.type,()=>{t(e),r()})}function R(e){E.current=`touch`,L(e,I)}function ee(e){O.clear(),e.type===`pointerdown`&&(e.button===0&&(w.current=!0),E.current=e.pointerType),(e.type!==`mousedown`||!D.current||D.current.dismissOnMouseDown)&&L(e,e=>{e.type===`pointerdown`?F(e):N(e)})}function z(e){if(e.type===`pointercancel`&&(w.current=!1),!x.current)return;let n=S.current;if(c(),p()===`intentional`){if(e.type===`pointercancel`){n&&s();return}if(!k(e)){if(n){s();return}(typeof g!=`function`||g(e))&&(t.clear(),C.current=!0,A())}}}function te(e){if(p()!==`sloppy`||!D.current||M(e))return;let t=e.touches[0];if(!t)return;let n=Math.abs(t.clientX-D.current.startX),r=Math.abs(t.clientY-D.current.startY),i=Math.sqrt(n*n+r*r);i>5&&(D.current.dismissOnTouchEnd=!0),i>10&&(N(e),O.clear(),D.current=null)}function ne(e){L(e,te)}function re(e){p()===`sloppy`&&D.current&&!M(e)&&(D.current.dismissOnTouchEnd&&N(e),O.clear(),D.current=null)}function B(e){L(e,re)}let ie=pb(r&&pb(fb(i,`keydown`,P),fb(i,`compositionstart`,a),fb(i,`compositionend`,o)),_&&pb(fb(i,`click`,ee,!0),fb(i,`pointerdown`,ee,!0),fb(i,`pointerup`,z,!0),fb(i,`pointercancel`,z,!0),fb(i,`mousedown`,ee,!0),fb(i,`mouseup`,z,!0),fb(i,`touchstart`,R,{capture:!0,passive:!0}),fb(i,`touchmove`,ne,{capture:!0,passive:!0}),fb(i,`touchend`,B,{capture:!0,passive:!0})));return()=>{ie(),e.clear(),t.clear(),c(),C.current=!1,A()}},[f,d,r,_,g,u,n,y,b,P,A,v,j,M,m,l,O]);let R=W.useMemo(()=>({onKeyDown:P,onPointerDown:N,onClick:N}),[P,N]),ee=W.useMemo(()=>({onKeyDown:P,onPointerDown:L,onMouseDown:L,onClickCapture:F,onMouseDownCapture(e){F(),I(e)},onPointerDownCapture(e){F(),I(e)},onMouseUpCapture:F,onTouchEndCapture:F,onTouchMoveCapture:F}),[P,F,I,L]);return W.useMemo(()=>n?{reference:R,floating:ee,trigger:R}:{},[n,R,ee])}function CC(e,t,n){let{reference:r,floating:i}=e,a=Jb(t),o=Yb(t),s=qb(o),c=Wb(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}let m=Gb(t);return m&&(p[o]+=f*(m===`end`?1:-1)*(n&&l?-1:1)),p}async function wC(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=Ub(t,e),p=sx(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=cx(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=cx(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var TC=50,EC=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:wC},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=CC(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<TC&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=CC(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},DC=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=Ub(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=Wb(r),_=Jb(o),v=Wb(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[ax(o)]:Zb(o)),x=p!==`none`;!d&&x&&b.push(...ix(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=Xb(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(u!==`alignment`||_===Jb(t)||T.every(e=>Jb(e.placement)!==_||e.overflows[0]>0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=Jb(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o}if(r!==n)return{reset:{placement:n}}}return{}}}},OC=new Set([`left`,`top`]);async function kC(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=Wb(n),s=Gb(n),c=Jb(n)===`y`,l=OC.has(o)?-1:1,u=a&&c?-1:1,d=Ub(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var AC=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await kC(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},jC=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=Ub(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=Jb(i),p=Kb(f),m=u[p],h=u[f],g=(e,t)=>Hb(t+d[e===`y`?`top`:`left`],t,t-d[e===`y`?`bottom`:`right`]);o&&(m=g(p,m)),s&&(h=g(f,h));let _=c.fn({...t,[p]:m,[f]:h});return{..._,data:{x:_.x-n,y:_.y-r,enabled:{[p]:o,[f]:s}}}}}},MC=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=Ub(e,t),u={x:n,y:r},d=Jb(i),f=Kb(d),p=u[f],m=u[d],h=Ub(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:h.mainAxis??0,crossAxis:h.crossAxis??0};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;p<t?p=t:p>n&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=OC.has(Wb(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);m<n?m=n:m>r&&(m=r)}return{[f]:p,[d]:m}}}},NC=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){let{placement:n,rects:r,platform:i,elements:a}=t,{apply:o=()=>{},...s}=Ub(e,t),c=await i.detectOverflow(t,s),l=Wb(n),u=Gb(n),d=Jb(n)===`y`,{width:f,height:p}=r.floating,m,h;l===`top`||l===`bottom`?(m=l,h=u===(await(i.isRTL==null?void 0:i.isRTL(a.floating))?`start`:`end`)?`left`:`right`):(h=l,m=u===`end`?`top`:`bottom`);let g=p-c.top-c.bottom,_=f-c.left-c.right,v=Ib(p-c[m],g),y=Ib(f-c[h],_),b=t.middlewareData.shift,x=!b,S=v,C=y;b!=null&&b.enabled.x&&(C=_),b!=null&&b.enabled.y&&(S=g),x&&!u&&(d?C=f-2*Lb(c.left,c.right):S=p-2*Lb(c.top,c.bottom)),await o({...t,availableWidth:C,availableHeight:S});let w=await i.getDimensions(a.floating);return f!==w.width||p!==w.height?{reset:{rects:!0}}:{}}}};function PC(e){let t=Zv(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=Rv(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=Rb(n)!==a||Rb(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function FC(e){return Lv(e)?e:e.contextElement}function IC(e){let t=FC(e);if(!Rv(t))return Bb(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=PC(t),o=(a?Rb(n.width):n.width)/r,s=(a?Rb(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var LC=Bb(0);function RC(e){let t=Pv(e);return!Yv()||!t.visualViewport?LC:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function zC(e,t,n){return t===void 0&&(t=!1),!!n&&t&&n===Pv(e)}function BC(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=FC(e),o=Bb(1);t&&(r?Lv(r)&&(o=IC(r)):o=IC(e));let s=zC(a,n,r)?RC(a):Bb(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a&&r){let e=Pv(a),t=Lv(r)?Pv(r):r,n=e,i=ny(n);for(;i&&t!==n;){let e=IC(i),t=i.getBoundingClientRect(),r=Zv(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=Pv(i),i=ny(n)}}return cx({width:u,height:d,x:c,y:l})}function VC(e,t){let n=Qv(e).scrollLeft;return t?t.left+n:BC(Fv(e)).left+n}function HC(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-VC(e,n),y:n.top+t.scrollTop}}function UC(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=Fv(r),s=t?Hv(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=Bb(1),u=Bb(0),d=Rv(r);if((d||!a)&&((Nv(r)!==`body`||Bv(o))&&(c=Qv(r)),d)){let e=BC(r);l=IC(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?HC(o,c):Bb(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function WC(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function GC(e){let t=Qv(e),n=e.ownerDocument.body,r=Lb(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),i=Lb(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight),a=-t.scrollLeft+VC(e),o=-t.scrollTop;return Zv(n).direction===`rtl`&&(a+=Lb(e.clientWidth,n.clientWidth)-r),{width:r,height:i,x:a,y:o}}var KC=25;function qC(e,t,n){n===void 0&&(n=`viewport`);let r=n===`layoutViewport`,i=Pv(e),a=Fv(e),o=i.visualViewport,s=a.clientWidth,c=a.clientHeight,l=0,u=0;if(o){let e=!Yv()||t===`fixed`;r?e||(l=-o.offsetLeft,u=-o.offsetTop):(s=o.width,c=o.height,e&&(l=o.offsetLeft,u=o.offsetTop))}if(VC(a)<=0){let e=a.ownerDocument,t=e.body,n=getComputedStyle(t),r=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,i=Math.abs(a.clientWidth-t.clientWidth-r),o=getComputedStyle(a).scrollbarGutter===`stable both-edges`?i/2:i;o<=KC&&(s-=o)}return{width:s,height:c,x:l,y:u}}function JC(e,t){let n=BC(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=IC(e);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function YC(e,t,n){let r;if(t===`viewport`||t===`layoutViewport`)r=qC(e,n,t);else if(t===`document`)r=GC(Fv(e));else if(Lv(t))r=JC(t,n);else{let n=RC(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return cx(r)}function XC(e,t){let n=t.get(e);if(n)return n;let r=ty(e,[],!1).filter(e=>Lv(e)&&Nv(e)!==`body`),i=null,a=Zv(e).position===`fixed`,o=a?$v(e):e;for(;Lv(o)&&!Xv(o);){let e=Zv(o),t=qv(o),n=i?i.position:a?`fixed`:``;!t&&(n===`fixed`||n===`absolute`&&e.position===`static`)?r=r.filter(e=>e!==o):i=e,o=$v(o)}return t.set(e,r),r}function ZC(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?Hv(t)?[]:XC(t,this._c):[].concat(n),r],o=YC(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=YC(t,a[e],i);s=Lb(n.top,s),c=Ib(n.right,c),l=Ib(n.bottom,l),u=Lb(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function QC(e){let{width:t,height:n}=PC(e);return{width:t,height:n}}function $C(e,t,n){let r=Rv(t),i=Fv(t),a=n===`fixed`,o=BC(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=Bb(0);if((r||!a)&&((Nv(t)!==`body`||Bv(i))&&(s=Qv(t)),r)){let e=BC(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}!r&&i&&(c.x=VC(i));let l=i&&!r&&!a?HC(i,s):Bb(0);return{x:o.left+s.scrollLeft-c.x-l.x,y:o.top+s.scrollTop-c.y-l.y,width:o.width,height:o.height}}function ew(e){return Zv(e).position===`static`}function tw(e,t){if(!Rv(e)||Zv(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return Fv(e)===n&&(n=n.ownerDocument.body),n}function nw(e,t){let n=Pv(e);if(Hv(e))return n;if(!Rv(e)){let t=$v(e);for(;t&&!Xv(t);){if(Lv(t)&&!ew(t))return t;t=$v(t)}return n}let r=tw(e,t);for(;r&&Vv(r)&&ew(r);)r=tw(r,t);return r&&Xv(r)&&ew(r)&&!qv(r)?n:r||Jv(e)||n}var rw=async function(e){let t=this.getOffsetParent||nw,n=this.getDimensions,r=await n(e.floating);return{reference:$C(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function iw(e){return Zv(e).direction===`rtl`}var aw={convertOffsetParentRelativeRectToViewportRelativeRect:UC,getDocumentElement:Fv,getClippingRect:ZC,getOffsetParent:nw,getElementRects:rw,getClientRects:WC,getDimensions:QC,getScale:IC,isElement:Lv,isRTL:iw};function ow(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function sw(e,t,n){let r=null,i,a=Fv(e);function o(){var e;clearTimeout(i),(e=r)==null||e.disconnect(),r=null}function s(n,c){n===void 0&&(n=!1),c===void 0&&(c=1),o();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(n||t(),!f||!p)return;let m=zb(d),h=zb(a.clientWidth-(u+f)),g=zb(a.clientHeight-(d+p)),_=zb(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:Lb(0,Ib(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(!ow(l,e.getBoundingClientRect()))return s();if(n!==c){if(!y)return s();n?s(!1,n):i=setTimeout(()=>{s(!1,1e-7)},1e3)}y=!1}try{r=new IntersectionObserver(b,{...v,root:a.ownerDocument})}catch{r=new IntersectionObserver(b,v)}r.observe(e)}let c=Pv(e),l=()=>s(n);return c.addEventListener(`resize`,l),s(!0),()=>{c.removeEventListener(`resize`,l),o()}}function cw(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=FC(e),u=i||a?[...l?ty(l):[],...t?ty(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n),a&&e.addEventListener(`resize`,n)});let d=l&&s?sw(l,n,a):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?BC(e):null;c&&g();function g(){let t=BC(e);h&&!ow(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var lw=AC,uw=jC,dw=DC,fw=NC,pw=MC,mw=(e,t,n)=>{let r=new Map,i=n??{},a={...aw,...i.platform,_c:r};return EC(e,t,{...i,platform:a})},hw=typeof document<`u`?W.useLayoutEffect:function(){};function gw(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e==`object`){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!gw(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let n=i[r];if(!(n===`_owner`&&e.$$typeof)&&!gw(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function _w(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function vw(e,t){let n=_w(e);return Math.round(t*n)/n}function yw(e){let t=W.useRef(e);return hw(()=>{t.current=e}),t}function bw(e){e===void 0&&(e={});let{placement:t=`bottom`,strategy:n=`absolute`,middleware:r=[],platform:i,elements:{reference:a,floating:o}={},transform:s=!0,whileElementsMounted:c,open:l}=e,[u,d]=W.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[f,p]=W.useState(r);gw(f,r)||p(r);let[m,h]=W.useState(null),[g,_]=W.useState(null),v=W.useCallback(e=>{e!==S.current&&(S.current=e,h(e))},[]),y=W.useCallback(e=>{e!==C.current&&(C.current=e,_(e))},[]),b=a||m,x=o||g,S=W.useRef(null),C=W.useRef(null),w=W.useRef(u),T=c!=null,E=yw(c),D=yw(i),O=yw(l),k=W.useCallback(()=>{if(!S.current||!C.current)return;let e={placement:t,strategy:n,middleware:f};D.current&&(e.platform=D.current),mw(S.current,C.current,e).then(e=>{let t={...e,isPositioned:O.current!==!1};A.current&&!gw(w.current,t)&&(w.current=t,GS.flushSync(()=>{d(t)}))})},[f,t,n,D,O]);hw(()=>{l===!1&&w.current.isPositioned&&(w.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[l]);let A=W.useRef(!1);hw(()=>(A.current=!0,()=>{A.current=!1}),[]),hw(()=>{if(b&&(S.current=b),x&&(C.current=x),b&&x){if(E.current)return E.current(b,x,k);k()}},[b,x,k,E,T]);let j=W.useMemo(()=>({reference:S,floating:C,setReference:v,setFloating:y}),[v,y]),M=W.useMemo(()=>({reference:b,floating:x}),[b,x]),N=W.useMemo(()=>{let e={position:n,left:0,top:0};if(!M.floating)return e;let t=vw(M.floating,u.x),r=vw(M.floating,u.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,..._w(M.floating)>=1.5&&{willChange:`transform`}}:{position:n,left:t,top:r}},[n,s,M.floating,u.x,u.y]);return W.useMemo(()=>({...u,update:k,refs:j,elements:M,floatingStyles:N}),[u,k,j,M,N])}var xw=(e,t)=>{let n=lw(e);return{name:n.name,fn:n.fn,options:[e,t]}},Sw=(e,t)=>{let n=uw(e);return{name:n.name,fn:n.fn,options:[e,t]}},Cw=(e,t)=>({fn:pw(e).fn,options:[e,t]}),ww=(e,t)=>{let n=dw(e);return{name:n.name,fn:n.fn,options:[e,t]}},Tw=(e,t)=>{let n=fw(e);return{name:n.name,fn:n.fn,options:[e,t]}},Ew=o((e=>{var t=u();function n(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var r=typeof Object.is==`function`?Object.is:n,i=t.useState,a=t.useEffect,o=t.useLayoutEffect,s=t.useDebugValue;function c(e,t){var n=t(),r=i({inst:{value:n,getSnapshot:t}}),c=r[0].inst,u=r[1];return o(function(){c.value=n,c.getSnapshot=t,l(c)&&u({inst:c})},[e,n,t]),a(function(){return l(c)&&u({inst:c}),e(function(){l(c)&&u({inst:c})})},[e]),s(n),n}function l(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!r(e,n)}catch{return!0}}function d(e,t){return t()}var f=typeof window>`u`||window.document===void 0||window.document.createElement===void 0?d:c;e.useSyncExternalStore=t.useSyncExternalStore===void 0?f:t.useSyncExternalStore})),Dw=o(((e,t)=>{t.exports=Ew()})),Ow=o((e=>{var t=u(),n=Dw();function r(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var i=typeof Object.is==`function`?Object.is:r,a=n.useSyncExternalStore,o=t.useRef,s=t.useEffect,c=t.useMemo,l=t.useDebugValue;e.useSyncExternalStoreWithSelector=function(e,t,n,r,u){var d=o(null);if(d.current===null){var f={hasValue:!1,value:null};d.current=f}else f=d.current;d=c(function(){function e(e){if(!a){if(a=!0,o=e,e=r(e),u!==void 0&&f.hasValue){var t=f.value;if(u(t,e))return s=t}return s=e}if(t=s,i(o,e))return t;var n=r(e);return u!==void 0&&u(t,n)?(o=e,t):(o=e,s=n)}var a=!1,o,s,c=n===void 0?null:n;return[function(){return e(t())},c===null?void 0:function(){return e(c())}]},[t,n,r,u]);var p=a(e,d[0],d[1]);return s(function(){f.hasValue=!0,f.value=p},[p]),l(p),p}})),kw=o(((e,t)=>{t.exports=Ow()})),Aw=Dw(),jw=kw(),Mw=lS(19)?Fw:Iw;function Nw(e,t,n,r,i){return Mw(e,t,n,r,i)}function Pw(e,t,n,r,i){let a=W.useCallback(()=>t(e.getSnapshot(),n,r,i),[e,t,n,r,i]);return(0,Aw.useSyncExternalStore)(e.subscribe,a,a)}Z_({before(e){e.syncIndex=0,e.didInitialize||(e.syncTick=1,e.syncHooks=[],e.didChangeStore=!0,e.getSnapshot=()=>{let t=!1;for(let n=0;n<e.syncHooks.length;n+=1){let r=e.syncHooks[n],i=r.selector(r.store.state,r.a1,r.a2,r.a3);Object.is(r.value,i)||(t=!0,r.value=i)}return t&&(e.syncTick+=1),e.syncTick})},after(e){e.syncHooks.length>0&&(e.didChangeStore&&(e.didChangeStore=!1,e.subscribe=t=>{let n=new Set;for(let t of e.syncHooks)n.add(t.store);let r=[];for(let e of n)r.push(e.subscribe(t));return()=>{for(let e of r)e()}}),(0,Aw.useSyncExternalStore)(e.subscribe,e.getSnapshot,e.getSnapshot))}});function Fw(e,t,n,r,i){let a=X_();if(!a)return Pw(e,t,n,r,i);let o=a.syncIndex;a.syncIndex+=1;let s;return a.didInitialize?(s=a.syncHooks[o],(s.store!==e||s.selector!==t||!Object.is(s.a1,n)||!Object.is(s.a2,r)||!Object.is(s.a3,i))&&(s.store!==e&&(a.didChangeStore=!0),s.store=e,s.selector=t,s.a1=n,s.a2=r,s.a3=i,s.value=t(e.getSnapshot(),n,r,i))):(s={store:e,selector:t,a1:n,a2:r,a3:i,value:t(e.getSnapshot(),n,r,i)},a.syncHooks.push(s)),s.value}function Iw(e,t,n,r,i){return(0,jw.useSyncExternalStoreWithSelector)(e.subscribe,e.getSnapshot,e.getSnapshot,e=>t(e,n,r,i))}var Lw=class{static create(e){return new this(e)}constructor(e){this.state=e,this.listeners=new Set,this.updateTick=0}subscribe=e=>(this.listeners.add(e),()=>{this.listeners.delete(e)});getSnapshot=()=>this.state;setState(e){if(this.state===e)return;this.state=e,this.updateTick+=1;let t=this.updateTick;for(let n of this.listeners){if(t!==this.updateTick)return;n(e)}}update(e){for(let t in e)if(!Object.is(this.state[t],e[t])){this.setState({...this.state,...e});return}}set(e,t){Object.is(this.state[e],t)||this.setState({...this.state,[e]:t})}notifyAll(){let e={...this.state};this.setState(e)}use(e,t,n,r){return Nw(this,e,t,n,r)}},Rw=class extends Lw{constructor(e,t={},n){super(e),this.context=t,this.selectors=n}useSyncedValue(e,t){W.useDebugValue(e);let n=this;X(()=>{n.state[e]!==t&&n.set(e,t)},[n,e,t])}useSyncedValueWithCleanup(e,t){let n=this;X(()=>(n.state[e]!==t&&n.set(e,t),()=>{n.set(e,void 0)}),[n,e,t])}useSyncedValues(e){let t=this;X(()=>{t.update(e)},[t,...Object.values(e)])}useControlledProp(e,t){W.useDebugValue(e);let n=this,r=t!==void 0;X(()=>{r&&!Object.is(n.state[e],t)&&n.setState({...n.state,[e]:t})},[n,e,t,r])}select(e,t,n,r){let i=this.selectors[e];return i(this.state,t,n,r)}useState(e,t,n,r){return W.useDebugValue(e),Nw(this,this.selectors[e],t,n,r)}useContextCallback(e,t){W.useDebugValue(e);let n=Q(t??tv);this.context[e]=n}useStateSetter(e){let t=W.useRef(void 0);return t.current===void 0&&(t.current=t=>{this.set(e,t)}),t.current}observe(e,t){let n;n=typeof e==`function`?e:this.selectors[e];let r=n(this.state);return t(r,r,this),this.subscribe(e=>{let i=n(e);if(!Object.is(r,i)){let e=r;r=i,t(i,e,this)}})}},zw={open:e=>e.open,transitionStatus:e=>e.transitionStatus,domReferenceElement:e=>e.domReferenceElement,referenceElement:e=>e.positionReference??e.referenceElement,floatingElement:e=>e.floatingElement,floatingId:e=>e.floatingId},Bw=class extends Rw{constructor(e){let{syncOnly:t,nested:n,onOpenChange:r,triggerElements:i,...a}=e;super({...a,positionReference:a.referenceElement,domReferenceElement:a.referenceElement},{onOpenChange:r,dataRef:{current:{}},events:ZS(),nested:n,triggerElements:i},zw),this.syncOnly=t}syncOpenEvent=(e,t)=>{(!e||!this.state.open||t!=null&&jv(t))&&(this.context.dataRef.current.openEvent=e?t:void 0)};dispatchOpenChange=(e,t)=>{this.syncOpenEvent(e,t.event);let n={open:e,reason:t.reason,nativeEvent:t.event,nested:this.context.nested,triggerElement:t.trigger};this.context.events.emit(`openchange`,n)};setOpen=(e,t)=>{if(this.syncOnly){this.context.onOpenChange?.(e,t);return}this.dispatchOpenChange(e,t),this.context.onOpenChange?.(e,t)}};function Vw(e){let{popupStore:t,treatPopupAsFloatingElement:n=!1,floatingRootContext:r,floatingId:i,nested:a,onOpenChange:o}=e,s=t.useState(`open`),c=t.useState(`activeTriggerElement`),l=t.useState(n?`popupElement`:`positionerElement`),u=t.context.triggerElements,d=o,f=W.useRef(null);r===void 0&&f.current===null&&(f.current=new Bw({open:s,transitionStatus:void 0,referenceElement:c,floatingElement:l,triggerElements:u,onOpenChange:d,floatingId:i,syncOnly:!0,nested:a}));let p=r??f.current;return t.useSyncedValue(`floatingId`,i),X(()=>{let e={open:s,floatingId:i,referenceElement:c,floatingElement:l};Lv(c)&&(e.domReferenceElement=c),p.state.positionReference===p.state.referenceElement&&(e.positionReference=c),p.update(e)},[s,i,c,l,p]),p.context.onOpenChange=d,p.context.nested=a,p}function Hw(e,t=!1,n=!1,r=!1){let[i,a]=W.useState(e&&t?`idle`:void 0),[o,s]=W.useState(e&&!r);return e&&!o&&(s(!0),a(`starting`)),!e&&o&&i!==`ending`&&!n&&a(`ending`),!e&&!o&&i===`ending`&&a(void 0),X(()=>{if(!e&&o&&i!==`ending`&&n){let e=kb.request(()=>{a(`ending`)});return()=>{kb.cancel(e)}}},[e,o,i,n]),X(()=>{if(!e||t)return;let n=kb.request(()=>{a(void 0)});return()=>{kb.cancel(n)}},[t,e]),X(()=>{if(!e||!t)return;e&&o&&i!==`idle`&&a(`starting`);let n=kb.request(()=>{a(`idle`)});return()=>{kb.cancel(n)}},[t,e,o,i]),{mounted:o,setMounted:s,transitionStatus:i}}var Uw=null;function Ww(e){if(!Uw){let e=[];Uw=e,queueMicrotask(()=>{Uw=null,GS.flushSync(()=>{for(let t of e)t()})})}Uw.push(e)}function Gw(e,t=!1,n=!1){let r=Ab();return Q((i,a=null)=>{r.cancel();let o=oC(e);if(o==null)return;let s=o,c=()=>{if(!n){GS.flushSync(i);return}Ww(()=>{a?.aborted||i()})};if(typeof s.getAnimations!=`function`||globalThis.BASE_UI_ANIMATIONS_DISABLED){i();return}function l(){Promise.all(s.getAnimations().map(e=>e.finished)).then(()=>{a?.aborted||c()},()=>{if(!a?.aborted){if(s.getAnimations().some(e=>e.pending||e.playState!==`finished`)){l();return}c()}})}if(t){let e=fy;if(!s.hasAttribute(e)){r.request(l);return}let t=new MutationObserver(()=>{s.hasAttribute(e)||(t.disconnect(),l())});t.observe(s,{attributes:!0,attributeFilter:[e]}),a?.addEventListener(`abort`,()=>t.disconnect(),{once:!0});return}r.request(l)})}function Kw(e){let{enabled:t=!0,open:n,ref:r,batch:i=!1,onComplete:a}=e,o=Q(a),s=Gw(r,n,i);W.useEffect(()=>{if(!t)return;let e=new AbortController;return s(o,e.signal),()=>{e.abort()}},[t,n,o,s])}var qw={tabIndex:-1,[oy]:``};function Jw(e){return t=>t!==`touch`||e.current}function Yw(e,t=!1){let n=sS(),r=tC()!=null,i=q_(()=>e(n,r)).current;return Vw({popupStore:i,treatPopupAsFloatingElement:t,floatingRootContext:i.state.floatingRootContext,floatingId:n,nested:r,onOpenChange:i.setOpen}),i}function Xw({handle:e,store:t}){return X(()=>e.attachStore(t),[e,t]),null}function Zw(e){let t=e.context.triggerElements.size;e.select(`open`)&&e.state.triggerCount!==t&&e.set(`triggerCount`,t)}function Qw(e,t){let n=W.useRef(null);return Q(r=>{let i=n.current;if(i!==null){if(i.element===r&&i.store===t&&i.id===e)return;n.current=null;let a=i.store;a.context.triggerElements.getById(i.id)===i.element&&(a.context.triggerElements.delete(i.id),Zw(a))}r!==null&&e!==void 0&&(n.current={store:t,id:e,element:r},t.context.triggerElements.add(e,r),Zw(t))})}function $w(e,t,n,r=!1){let i=e.preventUnmountingOnClose;t?i=!1:r&&(i=!0);let a=n?.id??null,o=e.activeTriggerId,s=e.activeTriggerElement;return(a||t)&&(o=a,s=n??null),{open:t,preventUnmountingOnClose:i,activeTriggerId:o,activeTriggerElement:s}}function eT(e){let t=!1;return e.preventUnmountOnClose=()=>{t=!0},()=>t}function tT(e,t,n,r={}){let i=n.reason,a=i===qy,o=t&&i===`trigger-focus`,s=!t&&(i===`trigger-press`||i===`escape-key`),c=eT(n);if(e.context.onOpenChange?.(t,n),n.isCanceled)return;r.onBeforeDispatch?.(),e.state.floatingRootContext.dispatchOpenChange(t,n);let l=()=>{let i=$w(e.state,t,n.trigger,c()),l={...r.extraState,...i};o?l.instantType=`focus`:s?l.instantType=`dismiss`:a&&(l.instantType=void 0),e.update(l)};a?GS.flushSync(l):l()}function nT(e,t,n,r){let i=n.useState(`isMountedByTrigger`,e),a=Qw(e,n),o=Q(t=>{let i=n.select(`open`),a=n.select(`activeTriggerId`);if(a===e){let e={activeTriggerElement:t,...i?r:null};n.update(e);return}if(a==null&&i){let i={activeTriggerId:e??null,activeTriggerElement:t,...r};n.update(i)}}),s=Q(e=>{a(e),e&&o(e)});return X(()=>(s(t.current),()=>s(null)),[s,t,n,e]),X(()=>{if(i){let e={activeTriggerElement:t.current,...r};n.update(e)}},[i,n,t,...Object.values(r)]),{registerTrigger:s,isMountedByThisTrigger:i}}function rT(e,t={}){let{closeOnActiveTriggerUnmount:n=!1}=t,r=W.useRef(null),i=e.useState(`open`);X(()=>{if(!i){r.current=null,e.state.triggerCount!==0&&e.set(`triggerCount`,0);return}let t=e.context.triggerElements.size,a={};e.state.triggerCount!==t&&(a.triggerCount=t);let o=e.select(`activeTriggerId`),s=null;if(o){let t=e.context.triggerElements.getById(o);if(t)r.current=o,t!==e.state.activeTriggerElement&&(a.activeTriggerElement=t);else{for(let[t,n]of e.context.triggerElements.entries())if(n===e.state.activeTriggerElement){a.activeTriggerId=t,a.activeTriggerElement=n,r.current=t;break}a.activeTriggerId===void 0&&(r.current===o?s=o:r.current=null)}}else r.current=null;if(!s&&!o&&t===1){let t=e.context.triggerElements.entries().next();if(!t.done){let[e,n]=t.value;a.activeTriggerId=e,a.activeTriggerElement=n,r.current=e}}(a.triggerCount!==void 0||a.activeTriggerId!==void 0||a.activeTriggerElement!==void 0)&&e.update(a),s&&n&&queueMicrotask(()=>{if(e.select(`open`)&&e.select(`activeTriggerId`)===s&&!e.context.triggerElements.getById(s)){let t=cb(Gy);e.setOpen(!1,t),t.isCanceled||e.update({activeTriggerId:null,activeTriggerElement:null})}})},[i,e,e.useState(`triggerCount`),e.useState(`activeTriggerId`),e.useState(`activeTriggerElement`),n])}function iT(e,t,n,r){let{mounted:i,setMounted:a,transitionStatus:o}=Hw(e,!1,!1,r),s=t.useState(`preventUnmountingOnClose`),c=!e&&s;t.useSyncedValues({mounted:i,transitionStatus:o,preventUnmountingOnClose:c});let l=Q(()=>{a(!1),t.update({activeTriggerId:null,activeTriggerElement:null,mounted:!1,preventUnmountingOnClose:!1}),n?.(),t.context.onOpenChangeComplete?.(!1)});return Kw({enabled:i&&!e&&!c,open:e,ref:t.context.popupRef,onComplete(){e||l()}}),{forceUnmount:l,transitionStatus:o}}function aT(e,t){e.useSyncedValues(t),X(()=>()=>{e.update({activeTriggerProps:rv,inactiveTriggerProps:rv,popupProps:rv})},[e])}function oT(e,t){X(()=>{!t&&e.state.openMethod!==null&&e.set(`openMethod`,null)},[t,e]),X(()=>()=>{e.state.openMethod!==null&&e.set(`openMethod`,null)},[e])}var sT=class{constructor(){this.idMap=new Map}add(e,t){this.idMap.set(e,t)}delete(e){this.idMap.delete(e)}hasElement(e){for(let t of this.idMap.values())if(t===e)return!0;return!1}hasMatchingElement(e){for(let t of this.idMap.values())if(e(t))return!0;return!1}getById(e){return this.idMap.get(e)}entries(){return this.idMap.entries()}elements(){return this.idMap.values()}get size(){return this.idMap.size}};function cT(e,t,n=!1){return{open:!1,openProp:void 0,mounted:!1,transitionStatus:void 0,floatingRootContext:new Bw({open:!1,transitionStatus:void 0,floatingElement:null,referenceElement:null,triggerElements:e,floatingId:t,syncOnly:!0,nested:n,onOpenChange:void 0}),floatingId:t,triggerCount:0,preventUnmountingOnClose:!1,payload:void 0,activeTriggerId:null,activeTriggerElement:null,triggerIdProp:void 0,popupElement:null,positionerElement:null,activeTriggerProps:rv,inactiveTriggerProps:rv,popupProps:rv}}var lT=e=>e.triggerIdProp??e.activeTriggerId,uT=e=>e.openProp??e.open,dT=e=>(e.popupElement?.id??e.floatingId)||void 0;function fT(e,t){return t!==void 0&&uT(e)&&lT(e)===t}function pT(e,t){return fT(e,t)?!0:t!==void 0&&uT(e)&&lT(e)==null&&e.triggerCount===1}var mT={open:uT,mounted:e=>e.mounted,transitionStatus:e=>e.transitionStatus,floatingRootContext:e=>e.floatingRootContext,triggerCount:e=>e.triggerCount,preventUnmountingOnClose:e=>e.preventUnmountingOnClose,payload:e=>e.payload,activeTriggerId:lT,activeTriggerElement:e=>e.mounted?e.activeTriggerElement:null,popupId:dT,isTriggerActive:(e,t)=>t!==void 0&&lT(e)===t,isOpenedByTrigger:(e,t)=>fT(e,t),isMountedByTrigger:(e,t)=>t!==void 0&&lT(e)===t&&e.mounted,triggerProps:(e,t)=>t?e.activeTriggerProps:e.inactiveTriggerProps,triggerPopupId:(e,t)=>pT(e,t)?dT(e):void 0,popupProps:e=>e.popupProps,popupElement:e=>e.popupElement,positionerElement:e=>e.positionerElement};function hT(e){let t=W.useCallback(t=>e===void 0?tv:e.subscribeStore(t),[e]),n=W.useCallback(()=>e===void 0?void 0:e.store,[e]);return(0,Aw.useSyncExternalStore)(t,n,()=>e?.serverStore)}function gT(e){let{open:t=!1,onOpenChange:n,elements:r={}}=e,i=sS(),a=tC()!=null,o=q_(()=>new Bw({open:t,transitionStatus:void 0,onOpenChange:n,referenceElement:r.reference??null,floatingElement:r.floating??null,triggerElements:new sT,floatingId:i,syncOnly:!1,nested:a})).current;return X(()=>{let e={open:t,floatingId:i};r.reference!==void 0&&(e.referenceElement=r.reference,e.domReferenceElement=Lv(r.reference)?r.reference:null),r.floating!==void 0&&(e.floatingElement=r.floating),o.update(e)},[t,i,r.reference,r.floating,o]),o.context.onOpenChange=n,o.context.nested=a,o}function _T(e){return vT(e,e.rootContext)}function vT(e,t){let{nodeId:n,externalTree:r}=e,i=t.useState(`referenceElement`),a=t.useState(`floatingElement`),o=t.useState(`domReferenceElement`),s=t.useState(`open`),c=t.useState(`floatingId`),[l,u]=W.useState(null),[d,f]=W.useState(void 0),[p,m]=W.useState(void 0),h=W.useRef(null),g=nC(r),_=W.useMemo(()=>({reference:i,floating:a,domReference:o}),[i,a,o]),v=bw({...e,elements:{..._,...l&&{reference:l}}}),y=Lv(d)?d:null,b=p===void 0?t.state.floatingElement:p;t.useSyncedValue(`referenceElement`,d??null),t.useSyncedValue(`domReferenceElement`,d===void 0?o:y),t.useSyncedValue(`floatingElement`,b);let x=W.useCallback(e=>{let t=Lv(e)?{getBoundingClientRect:()=>e.getBoundingClientRect(),getClientRects:()=>e.getClientRects(),contextElement:e}:e;u(t),v.refs.setReference(t)},[v.refs]),S=W.useCallback(e=>{(Lv(e)||e===null)&&(h.current=e,f(e)),(Lv(v.refs.reference.current)||v.refs.reference.current===null||e!==null&&!Lv(e))&&v.refs.setReference(e)},[v.refs,f]),C=W.useCallback(e=>{m(e),v.refs.setFloating(e)},[v.refs]),w=W.useMemo(()=>({...v.refs,setReference:S,setFloating:C,setPositionReference:x,domReference:h}),[v.refs,S,C,x]),T=W.useMemo(()=>({...v.elements,domReference:o}),[v.elements,o]),E=W.useMemo(()=>({...v,dataRef:t.context.dataRef,open:s,onOpenChange:t.setOpen,events:t.context.events,floatingId:c,refs:w,elements:T,nodeId:n,rootStore:t}),[v,w,T,n,t,s,c]);return X(()=>{o&&(h.current=o)},[o]),X(()=>{t.context.dataRef.current.floatingContext=E;let e=g?.nodesRef.current.find(e=>e.id===n);e&&(e.context=E)}),W.useMemo(()=>({...v,context:E,refs:w,elements:T,rootStore:t}),[v,w,T,E,t])}var yT=xv&&Cv;function bT(e,t={}){let{enabled:n=!0,delay:r}=t,i=`rootStore`in e?e.rootStore:e,{events:a,dataRef:o}=i.context,s=W.useRef(!1),c=W.useRef(null),l=W.useRef(!0),u=dv();W.useEffect(()=>{let e=i.select(`domReferenceElement`);if(!n)return;let t=Pv(e);function r(){let e=i.select(`domReferenceElement`);!i.select(`open`)&&Rv(e)&&e===ry(jb(e))&&(s.current=!0,c.current=e)}function a(){l.current=!0}function o(){l.current=!1}return pb(fb(t,`blur`,r),yT&&fb(t,`keydown`,a,!0),yT&&fb(t,`pointerdown`,o,!0))},[i,n]),W.useEffect(()=>{if(!n)return;function e(e){if(e.reason===`trigger-press`||e.reason===`escape-key`){let e=i.select(`domReferenceElement`);Lv(e)&&(c.current=e,s.current=!0)}}return a.on(`openchange`,e),()=>{a.off(`openchange`,e)}},[a,n,i]);let d=W.useMemo(()=>{function e(){s.current=!1,c.current=null}return{onMouseLeave(){e()},onFocus(t){let n=t.currentTarget;if(s.current){if(c.current===n)return;e()}let a=ay(t.nativeEvent);if(Lv(a)){if(yT&&!t.relatedTarget){if(!l.current&&!Fy(a))return}else if(!Ry(a))return}let o=My(t.relatedTarget,i.context.triggerElements),{nativeEvent:d,currentTarget:f}=t,p=typeof r==`function`?r():r;if(i.select(`open`)&&o||p===0||p===void 0){i.setOpen(!0,cb(Jy,d,f));return}u.start(p,()=>{s.current||i.setOpen(!0,cb(Jy,d,f))})},onBlur(t){e();let n=t.relatedTarget,r=t.nativeEvent,a=Lv(n)&&n.hasAttribute(Ux(`focus-guard`))&&n.getAttribute(`data-type`)===`outside`;u.start(0,()=>{let e=i.select(`domReferenceElement`),t=ry(jb(e));(n||t!==e)&&(iy(o.current.floatingContext?.refs.floating.current,t)||iy(e,t)||a||My(n??t,i.context.triggerElements)||i.setOpen(!1,cb(Jy,r)))})}}},[o,r,i,u]);return W.useMemo(()=>n?{reference:d,trigger:d}:{},[n,d])}var xT=class e{constructor(){this.pointerType=void 0,this.interactedInside=!1,this.handler=void 0,this.blockMouseMove=!0,this.performedPointerEventsMutation=!1,this.pointerEventsScopeElement=null,this.pointerEventsReferenceElement=null,this.pointerEventsFloatingElement=null,this.restTimeoutPending=!1,this.openChangeTimeout=new uv,this.restTimeout=new uv,this.handleCloseOptions=void 0}static create(){return new e}dispose=()=>{this.openChangeTimeout.clear(),this.restTimeout.clear()};disposeEffect=()=>this.dispose},ST=new WeakMap;function CT(e){if(!e.performedPointerEventsMutation)return;let t=e.pointerEventsScopeElement;t&&ST.get(t)===e&&(e.pointerEventsScopeElement?.style.removeProperty(`pointer-events`),e.pointerEventsReferenceElement?.style.removeProperty(`pointer-events`),e.pointerEventsFloatingElement?.style.removeProperty(`pointer-events`),ST.delete(t)),e.performedPointerEventsMutation=!1,e.pointerEventsScopeElement=null,e.pointerEventsReferenceElement=null,e.pointerEventsFloatingElement=null}function wT(e,t){let{scopeElement:n,referenceElement:r,floatingElement:i}=t,a=ST.get(n);a&&a!==e&&CT(a),CT(e),e.performedPointerEventsMutation=!0,e.pointerEventsScopeElement=n,e.pointerEventsReferenceElement=r,e.pointerEventsFloatingElement=i,ST.set(n,e),n.style.pointerEvents=`none`,r.style.pointerEvents=`auto`,i.style.pointerEvents=`auto`}function TT(e){let t=e.context.dataRef.current,n=q_(()=>t.hoverInteractionState??xT.create()).current;return t.hoverInteractionState||=n,cv(t.hoverInteractionState.disposeEffect),t.hoverInteractionState}function ET(e,t={}){let{enabled:n=!0,closeDelay:r=0,nodeId:i}=t,a=`rootStore`in e?e.rootStore:e,o=a.useState(`open`),s=a.useState(`floatingElement`),c=a.useState(`domReferenceElement`),{dataRef:l}=a.context,u=nC(),d=tC(),f=TT(a),p=dv(),m=Q(()=>Uy(l.current.openEvent?.type,f.interactedInside)),h=Q(()=>Wy(l.current.openEvent?.type)),g=Q(()=>{CT(f)});X(()=>{o||(f.pointerType=void 0,f.restTimeoutPending=!1,f.interactedInside=!1,g())},[o,f,g]),W.useEffect(()=>g,[g]),X(()=>{if(n&&o&&f.handleCloseOptions?.blockPointerEvents&&h()&&Lv(c)&&s){let e=c,t=s,n=jb(s),r=u?.nodesRef.current.find(e=>e.id===d)?.context?.elements.floating;r&&(r.style.pointerEvents=``);let i=f.pointerEventsScopeElement===t?null:f.pointerEventsScopeElement,a=r===t?null:r,o=f.handleCloseOptions?.getScope?.()??i??a??e.closest(`[data-rootownerid]`)??n.body;return wT(f,{scopeElement:o,referenceElement:e,floatingElement:t}),()=>{g()}}},[n,o,c,s,f,h,u,d,g]),W.useEffect(()=>{if(!n)return;function e(){return!!(u&&d&&Vx(u.nodesRef.current,d).length>0)}function t(e){let t=Vy(r,`close`,f.pointerType),n=()=>{a.setOpen(!1,cb(qy,e)),u?.events.emit(`floating.closed`,e)};t?f.openChangeTimeout.start(t,n):(f.openChangeTimeout.clear(),n())}function o(e){let t=ay(e);if(!Iy(t)){f.interactedInside=!1;return}f.interactedInside=t?.closest(`[aria-haspopup]`)!=null}function c(){f.openChangeTimeout.clear(),p.clear(),u?.events.off(`floating.closed`,v),g()}function _(n){if(e()&&u){u.events.on(`floating.closed`,v);return}if(My(n.relatedTarget,a.context.triggerElements))return;let r=l.current.floatingContext?.nodeId??i,o=n.relatedTarget;if(!(u&&r&&Lv(o)&&Vx(u.nodesRef.current,r,!1).some(e=>iy(e.context?.elements.floating,o)))){if(f.handler){f.handler(n);return}g(),h()&&!m()&&t(n)}}function v(t){u&&d&&!e()&&p.start(0,()=>{u.events.off(`floating.closed`,v),a.setOpen(!1,cb(qy,t)),u.events.emit(`floating.closed`,t)})}let y=s;return pb(y&&fb(y,`mouseenter`,c),y&&fb(y,`mouseleave`,_),y&&fb(y,`pointerdown`,o,!0),()=>{u?.events.off(`floating.closed`,v)})},[n,s,a,l,r,i,h,m,g,f,u,d,p])}var DT={current:null};function OT(e,t={}){let{enabled:n=!0,delay:r=0,handleClose:i=null,mouseOnly:a=!1,restMs:o=0,move:s=!0,triggerElementRef:c=DT,externalTree:l,isActiveTrigger:u=!0,getHandleCloseContext:d,isClosing:f,shouldOpen:p,guardStaleOpen:m=!1}=t,h=`rootStore`in e?e.rootStore:e,{dataRef:g,events:_}=h.context,v=nC(l),y=TT(h),b=W.useRef(!1),x=bb(i),S=bb(r),C=bb(o),w=bb(n),T=bb(p),E=bb(f),D=Q(()=>Uy(g.current.openEvent?.type,y.interactedInside)),O=Q(()=>T.current?.()!==!1),k=Q((e,t,n)=>{let r=h.context.triggerElements;if(r.hasElement(t))return!e||!iy(e,t);if(!Lv(n))return!1;let i=n;return r.hasMatchingElement(e=>iy(e,i))&&(!e||!iy(e,i))}),A=Q(()=>{y.handler&&=(jb(h.select(`domReferenceElement`)).removeEventListener(`mousemove`,y.handler),void 0)}),j=Q(()=>{CT(y)});return u&&(y.handleCloseOptions=i?.__options),W.useEffect(()=>A,[A]),W.useEffect(()=>{if(!n)return;function e(e){e.open?b.current=!1:(b.current=e.reason===qy,A(),y.openChangeTimeout.clear(),y.restTimeout.clear(),y.blockMouseMove=!0,y.restTimeoutPending=!1)}return _.on(`openchange`,e),()=>{_.off(`openchange`,e)}},[n,_,y,A]),W.useEffect(()=>{if(!n)return;function e(e,t=!0){let n=Vy(S.current,`close`,y.pointerType);n?y.openChangeTimeout.start(n,()=>{h.setOpen(!1,cb(qy,e)),v?.events.emit(`floating.closed`,e)}):t&&(y.openChangeTimeout.clear(),h.setOpen(!1,cb(qy,e)),v?.events.emit(`floating.closed`,e))}let t=c.current??(u?h.select(`domReferenceElement`):null);if(!Lv(t))return;function r(e){if(y.openChangeTimeout.clear(),y.blockMouseMove=!1,a&&!Av(y.pointerType))return;let t=Hy(C.current),n=Vy(S.current,`open`,y.pointerType),r=ay(e),i=e.currentTarget??null,o=h.select(`domReferenceElement`),s=i;if(Lv(r)&&!h.context.triggerElements.hasElement(r)){for(let e of h.context.triggerElements.elements())if(iy(e,r)){s=e;break}}Lv(i)&&Lv(o)&&!h.context.triggerElements.hasElement(i)&&iy(i,o)&&(s=o);let c=s!=null&&k(o,s,r),l=h.select(`open`),u=E.current?.()??h.select(`transitionStatus`)===`ending`,d=!l&&u&&b.current,f=!c&&Lv(s)&&Lv(o)&&iy(o,s)&&d,p=t>0&&!n,m=c&&(l||d)||f,g=!l||c;if(m){O()&&h.setOpen(!0,cb(qy,e,s));return}p||(n?y.openChangeTimeout.start(n,()=>{g&&O()&&h.setOpen(!0,cb(qy,e,s))}):g&&O()&&h.setOpen(!0,cb(qy,e,s)))}function i(t){if(D()){j();return}A();let n=jb(h.select(`domReferenceElement`));y.restTimeout.clear(),y.restTimeoutPending=!1;let r=g.current.floatingContext??d?.();if(!My(t.relatedTarget,h.context.triggerElements)){if(x.current&&r){h.select(`open`)||y.openChangeTimeout.clear();let i=c.current;y.handler=x.current({...r,tree:v,x:t.clientX,y:t.clientY,onClose(){j(),A(),w.current&&!D()&&i===h.select(`domReferenceElement`)&&e(t,!0)}}),n.addEventListener(`mousemove`,y.handler),y.handler(t);return}(y.pointerType!==`touch`||!iy(h.select(`floatingElement`),t.relatedTarget))&&e(t)}}function o(e){iy(t,e.relatedTarget)||(y.openChangeTimeout.clear(),y.restTimeout.clear(),y.restTimeoutPending=!1)}let l=m?fb(t,`mouseout`,o):void 0;return s?pb(fb(t,`mousemove`,r,{once:!0}),fb(t,`mouseenter`,r),fb(t,`mouseleave`,i),l):pb(fb(t,`mouseenter`,r),fb(t,`mouseleave`,i),l)},[A,j,g,S,h,n,x,y,u,k,D,a,s,C,c,v,w,d,E,O,m]),W.useMemo(()=>{if(!n)return;function e(e){y.pointerType=e.pointerType}return{onPointerDown:e,onPointerEnter:e,onMouseMove(e){let{nativeEvent:t}=e,n=e.currentTarget,r=h.select(`domReferenceElement`),i=h.select(`open`),o=k(r,n,e.target);if(a&&!Av(y.pointerType))return;if(i&&o&&y.handleCloseOptions?.blockPointerEvents){let e=h.select(`floatingElement`);if(e){let t=y.handleCloseOptions?.getScope?.()??n.ownerDocument.body;wT(y,{scopeElement:t,referenceElement:n,floatingElement:e})}}let s=Hy(C.current);if(i&&!o||s===0||!o&&y.restTimeoutPending&&e.movementX**2+e.movementY**2<2)return;y.restTimeout.clear();function c(){if(y.restTimeoutPending=!1,D())return;let e=h.select(`open`);!y.blockMouseMove&&(!e||o)&&O()&&h.setOpen(!0,cb(qy,t,n))}y.pointerType===`touch`?GS.flushSync(()=>{c()}):o&&i?c():(y.restTimeoutPending=!0,y.restTimeout.start(s,c))}}},[n,y,D,k,a,h,C,O])}var kT=`Escape`;function AT(e){return Cv&&e.movementX===0&&e.movementY===0}function jT(e,t,n){switch(e){case`vertical`:return t;case`horizontal`:return n;default:return t||n}}function MT(e,t){return jT(t,e===`ArrowUp`||e===`ArrowDown`,e===`ArrowLeft`||e===`ArrowRight`)}function NT(e,t,n){return jT(t,e===`ArrowDown`,n?e===`ArrowLeft`:e===`ArrowRight`)||e===`Enter`||e===` `||e===``}function PT(e,t,n){return jT(t,n?e===cy:e===ly,e===dy)}function FT(e,t,n,r){return t===`both`||t===`horizontal`&&r?e===kT:jT(t,n?e===ly:e===cy,e===uy)}function IT(e,t){let{listRef:n,activeIndex:r,onNavigate:i=()=>{},enabled:a=!0,selectedIndex:o=null,allowEscape:s=!1,loopFocus:c=!1,nested:l=!1,rtl:u=!1,virtual:d=!1,focusItemOnOpen:f=`auto`,focusItemOnHover:p=!0,openOnArrowKeyDown:m=!0,disabledIndices:h=void 0,orientation:g=`vertical`,parentOrientation:_,id:v,resetOnPointerLeave:y=!0,externalTree:b,grid:x}=t,S=x!=null,C=`rootStore`in e?e.rootStore:e,w=C.useState(`open`),T=C.useState(`floatingElement`),E=C.useState(`domReferenceElement`),D=C.context.dataRef,O=zy(T),k=Ly(E),A=bb(O),j=tC(),M=nC(b),N=W.useRef(f),P=W.useRef(o??-1),F=W.useRef(null),I=W.useRef(!0),L=Q(e=>{i(P.current===-1?null:P.current,e)}),R=W.useRef(!!T),ee=W.useRef(w),z=W.useRef(!1),te=W.useRef(!1),ne=W.useRef(null),re=bb(h),B=bb(w),ie=bb(o),ae=bb(y),oe=Ab(),se=Ab(),ce=Q(()=>{function e(e){d?M?.events.emit(`virtualfocus`,e):ne.current=Gx(e,{sync:z.current,preventScroll:!0})}let t=n.current[P.current],r=te.current;t&&e(t),(z.current?e=>e():e=>oe.request(e))(()=>{let i=n.current[P.current]||t;i&&(t||e(i),fe&&(r||!I.current)&&i.scrollIntoView?.({block:`nearest`,inline:`nearest`}))})});X(()=>{D.current.orientation=g},[D,g]),X(()=>{a&&(w&&T?(P.current=o??-1,N.current&&o!=null&&(te.current=!0,L())):R.current&&(P.current=-1,L()))},[a,w,T,o,L]),X(()=>{if(a){if(!w){z.current=!1;return}if(T){if(r==null){if(z.current=!1,ie.current!=null)return;if(R.current&&(P.current=-1,ce()),(!ee.current||!R.current)&&N.current&&(F.current!=null||N.current===!0&&F.current==null)){let e=0,t=()=>{n.current[0]==null?(e<2&&(e?e=>se.request(e):queueMicrotask)(t),e+=1):(P.current=F.current==null||NT(F.current,g,u)||l?ux(n):dx(n),F.current=null,L())};t()}}else lx(n.current,r)||(P.current=r,ce(),te.current=!1)}}},[a,w,T,r,ie,l,n,g,u,L,ce,se]),X(()=>{if(!a||T||!M||d||!R.current)return;let e=M.nodesRef.current,t=e.find(e=>e.id===j)?.context?.elements.floating,n=ry(jb(E??t??null)),r=e.some(e=>e.context&&iy(e.context.elements.floating,n));t&&!r&&I.current&&t.focus({preventScroll:!0})},[a,T,E,M,j,d]),X(()=>{ee.current=w,R.current=!!T}),X(()=>{w||(F.current=null,N.current=f)},[w,f]);let le=r!=null,V=Q(e=>{if(!B.current)return;let t=n.current.indexOf(e.currentTarget);t!==-1&&(P.current!==t||r!==t)&&(P.current=t,L(e))}),H=Q(()=>_??M?.nodesRef.current.find(e=>e.id===j)?.context?.dataRef?.current.orientation),ue=Q(()=>ux(n,re.current)),de=Q(e=>{if(I.current=!1,z.current=!0,e.which===229||!B.current&&e.currentTarget===A.current)return;if(l&&FT(e.key,g,u,S)){MT(e.key,H())||Ev(e),C.setOpen(!1,cb(tb,e.nativeEvent)),Rv(E)&&(d?M?.events.emit(`virtualfocus`,E):E.focus());return}let t=P.current,r=ux(n,h),i=dx(n,h);if(k||(e.key===`Home`&&(Ev(e),P.current=r,L(e)),e.key===`End`&&(Ev(e),P.current=i,L(e))),x!=null){let t=x(e,P.current,n,g,c,u,h,r,i);if(t!=null&&(P.current=t,L(e)),g===`both`)return}if(MT(e.key,g)){if(Ev(e),w&&!d&&ry(e.currentTarget.ownerDocument)===e.currentTarget){P.current=NT(e.key,g,u)?r:i,L(e);return}NT(e.key,g,u)?c?t>=i?s&&t!==n.current.length?P.current=-1:(z.current=!1,P.current=r):P.current=fx(n.current,{startingIndex:t,disabledIndices:h}):P.current=Math.min(i,fx(n.current,{startingIndex:t,disabledIndices:h})):c?t<=r?s&&t!==-1?P.current=n.current.length:(z.current=!1,P.current=i):P.current=fx(n.current,{startingIndex:t,decrement:!0,disabledIndices:h}):P.current=Math.max(r,fx(n.current,{startingIndex:t,decrement:!0,disabledIndices:h})),lx(n.current,P.current)&&(P.current=-1),L(e)}}),fe=W.useMemo(()=>({onFocus(e){z.current=!0,V(e)},onClick:({currentTarget:e})=>e.focus({preventScroll:!0}),onMouseMove(e){AT(e)||(z.current=!0,te.current=!1,p&&V(e))},onPointerLeave(e){if(!B.current||!I.current||e.pointerType===`touch`)return;z.current=!0;let t=e.relatedTarget;if(p&&!n.current.includes(t)&&ae.current&&(ne.current?.(),ne.current=null,P.current=-1,L(e),!d)){let e=A.current,t=ry(jb(e));e&&iy(e,t)&&e.focus({preventScroll:!0})}}}),[V,B,A,p,n,L,ae,d]),U=W.useMemo(()=>d&&w&&le&&{"aria-activedescendant":`${v}-${r}`},[d,w,le,v,r]),pe=W.useMemo(()=>({...k?{}:U,onKeyDown(e){if(e.key===`Tab`&&e.shiftKey&&w&&!d){let t=ay(e.nativeEvent);if(t&&!iy(A.current,t))return;Ev(e),C.setOpen(!1,cb(Qy,e.nativeEvent)),Rv(E)&&E.focus();return}de(e)},onPointerMove(e){AT(e)||(I.current=!0)}}),[U,de,A,k,C,w,d,E]),me=W.useMemo(()=>{function e(e){C.setOpen(!0,cb(tb,e.nativeEvent,e.currentTarget))}function t(e){f===`auto`&&Ov(e.nativeEvent)&&(N.current=!d)}function n(e){N.current=f,f===`auto`&&kv(e.nativeEvent)&&(N.current=!0)}return{onKeyDown(t){let n=C.select(`open`);I.current=!1;let r=t.key.startsWith(`Arrow`),i=PT(t.key,H(),u),a=MT(t.key,g),o=(l?i:a)||t.key===`Enter`||t.key.trim()===``;if(d&&n)return de(t);if(n||m||!r){if(o){let e=MT(t.key,H());F.current=l&&e?null:t.key}if(l){i&&(Ev(t),n?(P.current=ue(),L(t)):e(t));return}a&&(ie.current!=null&&(P.current=ie.current),Ev(t),!n&&m?e(t):de(t),n&&L(t))}},onFocus(e){C.select(`open`)&&!d&&(P.current=-1,L(e))},onPointerDown:n,onPointerEnter:n,onMouseDown:t,onClick:t}},[de,f,ue,l,L,C,m,g,H,u,ie,d]),he=W.useMemo(()=>({...U,...me}),[U,me]);return W.useMemo(()=>a?{reference:he,floating:pe,item:fe,trigger:me}:{},[a,he,pe,me,fe])}function LT(e,t){let{listRef:n,elementsRef:r,activeIndex:i,onMatch:a,disabledIndices:o,onTyping:s,enabled:c=!0,resetMs:l=750,selectedIndex:u=null}=t,d=`rootStore`in e?e.rootStore:e,f=d.useState(`open`),p=dv(),m=W.useRef(``),h=W.useRef(u??i??-1),g=W.useRef(null),_=Q(e=>{function t(e){return r?.current[e]}function c(e){let n=t(e);return n&&!hx(n)||n?.matches(`:disabled`)?!1:o==null||!px(nv,e,o)}function d(e,t,n=0){if(e.length===0)return-1;let r=(n%e.length+e.length)%e.length,i=t.toLowerCase();for(let t=0;t<e.length;t+=1){let n=(r+t)%e.length;if(e[n]?.toLowerCase().startsWith(i)&&c(n))return n}return-1}let _=n.current;if(m.current.length>0&&e.key===` `&&(Ev(e),s?.(!0)),m.current.length>0&&m.current[0]!==` `&&d(_,m.current)===-1&&e.key!==` `&&s?.(!1),_==null||e.key.length!==1||e.ctrlKey||e.metaKey||e.altKey)return;f&&e.key!==` `&&(Ev(e),s?.(!0));let v=m.current===``;v&&(h.current=u??i??-1),_.every((e,t)=>e&&c(t)?e[0]?.toLowerCase()!==e[1]?.toLowerCase():!0)&&m.current===e.key&&(m.current=``,h.current=g.current),m.current+=e.key,p.start(l,()=>{m.current=``,h.current=g.current,s?.(!1)});let y=((v?u??i??-1:h.current)??0)+1,b=d(_,m.current,y);b===-1?e.key!==` `&&(m.current=``,s?.(!1)):(a?.(b),g.current=b)}),v=Q(e=>{let t=e.relatedTarget,n=d.select(`domReferenceElement`),r=d.select(`floatingElement`);iy(n,t)||iy(r,t)||(p.clear(),m.current=``,h.current=g.current,s?.(!1))});X(()=>{(f||u===null)&&(p.clear(),g.current=null,m.current!==``&&(m.current=``))},[f,u,p]);let y=W.useMemo(()=>({onKeyDown:_,onBlur:v}),[_,v]);return W.useMemo(()=>c?{reference:y,floating:y}:{},[c,y])}var RT=.1,zT=RT*RT,BT=.5;function VT(e,t,n,r,i,a){return r>=t!=a>=t&&e<=(i-n)*(t-r)/(a-r)+n}function HT(e,t,n,r,i,a,o,s,c,l){let u=!1;return VT(e,t,n,r,i,a)&&(u=!u),VT(e,t,i,a,o,s)&&(u=!u),VT(e,t,o,s,c,l)&&(u=!u),VT(e,t,c,l,n,r)&&(u=!u),u}function UT(e,t,n){return e>=n.x&&e<=n.x+n.width&&t>=n.y&&t<=n.y+n.height}function WT(e,t,n,r,i,a){return e>=Math.min(n,i)&&e<=Math.max(n,i)&&t>=Math.min(r,a)&&t<=Math.max(r,a)}function GT(e={}){let{blockPointerEvents:t=!1}=e,n=new uv,r=({x:e,y:t,placement:r,elements:i,onClose:a,nodeId:o,tree:s})=>{let c=r?.split(`-`)[0],l=!1,u=null,d=null,f=typeof performance<`u`?performance.now():0;function p(e,t){let n=performance.now(),r=n-f;if(u===null||d===null||r===0)return u=e,d=t,f=n,!1;let i=e-u,a=t-d,o=i*i+a*a,s=r*r*zT;return u=e,d=t,f=n,o<s}function m(){n.clear(),a()}return function(r){n.clear();let a=i.domReference,u=i.floating;if(!a||!u||c==null||e==null||t==null)return;let{clientX:d,clientY:f}=r,h=ay(r),g=r.type===`mouseleave`,_=iy(u,h),v=iy(a,h);if(_&&(l=!0,!g))return;if(v&&(l=!1,!g)){l=!0;return}if(g&&Lv(r.relatedTarget)&&iy(u,r.relatedTarget))return;function y(){return!!(s&&Vx(s.nodesRef.current,o).length>0)}function b(){y()||m()}if(y())return;let x=a.getBoundingClientRect(),S=u.getBoundingClientRect(),C=e>S.right-S.width/2,w=t>S.bottom-S.height/2,T=S.width>x.width,E=S.height>x.height,D=(T?x:S).left,O=(T?x:S).right,k=(E?x:S).top,A=(E?x:S).bottom;if(c===`top`&&t>=x.bottom-1||c===`bottom`&&t<=x.top+1||c===`left`&&e>=x.right-1||c===`right`&&e<=x.left+1){b();return}let j=!1;switch(c){case`top`:j=WT(d,f,D,x.top+1,O,S.bottom-1);break;case`bottom`:j=WT(d,f,D,S.top+1,O,x.bottom-1);break;case`left`:j=WT(d,f,S.right-1,A,x.left+1,k);break;case`right`:j=WT(d,f,x.right-1,A,S.left+1,k)}if(j)return;if(l&&!UT(d,f,x)){b();return}if(!g&&p(d,f)){b();return}let M=!1;switch(c){case`top`:{let n=T?BT/2:BT*4,r=T||C?e+n:e-n,i=T?e-n:C?e+n:e-n,a=t+BT+1,o=C||T?S.bottom-BT:S.top,s=C?T?S.bottom-BT:S.top:S.bottom-BT;M=HT(d,f,r,a,i,a,S.left,o,S.right,s);break}case`bottom`:{let n=T?BT/2:BT*4,r=T||C?e+n:e-n,i=T?e-n:C?e+n:e-n,a=t-BT,o=C||T?S.top+BT:S.bottom,s=C?T?S.top+BT:S.bottom:S.top+BT;M=HT(d,f,r,a,i,a,S.left,o,S.right,s);break}case`left`:{let n=E?BT/2:BT*4,r=E||w?t+n:t-n,i=E?t-n:w?t+n:t-n,a=e+BT+1,o=w||E?S.right-BT:S.left,s=w?E?S.right-BT:S.left:S.right-BT;M=HT(d,f,o,S.top,s,S.bottom,a,r,a,i);break}case`right`:{let n=E?BT/2:BT*4,r=E||w?t+n:t-n,i=E?t-n:w?t+n:t-n,a=e-BT,o=w||E?S.left+BT:S.right,s=w?E?S.left+BT:S.right:S.left+BT;M=HT(d,f,a,r,a,i,o,S.top,s,S.bottom);break}}M?l||n.start(40,b):b()}};return r.__options={...e,blockPointerEvents:t},r}var KT={...mT,disabled:e=>e.disabled,instantType:e=>e.instantType,isInstantPhase:e=>e.isInstantPhase,trackCursorAxis:e=>e.trackCursorAxis,disableHoverablePopup:e=>e.disableHoverablePopup,lastOpenChangeReason:e=>e.openChangeReason,closeOnClick:e=>e.closeOnClick,closeDelay:e=>e.closeDelay,adaptiveOrigin:e=>e.adaptiveOrigin},qT=class extends Rw{constructor(e,t,n){let r=new sT;super(JT(e,r,t,n),YT(r),KT)}setOpen=(e,t)=>{tT(this,e,t,{extraState:{openChangeReason:t.reason}})};cancelPendingOpen(e){this.state.floatingRootContext.dispatchOpenChange(!1,cb(Ky,e))}};function JT(e,t,n,r=!1){return{...cT(t,n,r),disabled:!1,instantType:void 0,isInstantPhase:!1,trackCursorAxis:`none`,disableHoverablePopup:!1,openChangeReason:null,closeOnClick:!0,closeDelay:0,adaptiveOrigin:void 0,...e}}function YT(e){return{popupRef:W.createRef(),onOpenChange:void 0,onOpenChangeComplete:void 0,triggerElements:e}}var XT=Q_(function(e){let{disabled:t=!1,defaultOpen:n=!1,open:r,disableHoverablePopup:i=!1,trackCursorAxis:a=`none`,actionsRef:o,onOpenChange:s,onOpenChangeComplete:c,handle:l,triggerId:u,defaultTriggerId:d=null,children:f}=e,p=Yw((e,t)=>new qT({open:n,openProp:r,activeTriggerId:d,triggerIdProp:u},e,t));p.useControlledProp(`openProp`,r),p.useControlledProp(`triggerIdProp`,u),p.useContextCallback(`onOpenChange`,s),p.useContextCallback(`onOpenChangeComplete`,c);let m=p.useState(`open`),h=!t&&m,g=p.useState(`activeTriggerId`),_=p.useState(`mounted`),v=p.useState(`payload`);p.useSyncedValues({trackCursorAxis:a,disableHoverablePopup:i,disabled:t}),rT(p,{closeOnActiveTriggerUnmount:!0});let{forceUnmount:y,transitionStatus:b}=iT(h,p),x=p.useState(`isInstantPhase`),S=p.useState(`instantType`),C=p.useState(`lastOpenChangeReason`),w=W.useRef(null);X(()=>{m&&t&&p.setOpen(!1,cb(ib))},[m,t,p]),X(()=>{b===`ending`&&C===`none`||b!==`ending`&&x?(S!==`delay`&&(w.current=S),p.set(`instantType`,`delay`)):w.current!==null&&(p.set(`instantType`,w.current),w.current=null)},[b,x,C,S,p]),X(()=>{h&&(g??p.set(`payload`,void 0))},[p,g,h]),W.useImperativeHandle(o,()=>({unmount:y,close:()=>p.setOpen(!1,cb(ab))}),[y,p]);let T=h||_||!t&&a!==`none`;return(0,Z.jsxs)(ov.Provider,{value:p,children:[l&&(0,Z.jsx)(Xw,{handle:l,store:p}),T&&(0,Z.jsx)(ZT,{store:p,disabled:t,trackCursorAxis:a}),typeof f==`function`?f({payload:v}):f]})});function ZT({store:e,disabled:t,trackCursorAxis:n}){let r=e.useState(`floatingRootContext`),i=SC(r,{enabled:!t,referencePress:()=>e.select(`closeOnClick`)}),a=yC(r,{enabled:!t&&n!==`none`,axis:n===`none`?void 0:n}),o=W.useMemo(()=>gS(a.reference,i.reference),[a.reference,i.reference]);return aT(e,{activeTriggerProps:o,inactiveTriggerProps:o,popupProps:i.floating??rv}),null}function QT(e){return sS(e,`base-ui`)}var $T=W.createContext(void 0);function eE(){return W.useContext($T)}var tE=`data-base-ui-tooltip-trigger`;function nE(e){if(`composedPath`in e){let t=e.composedPath();for(let e=0;e<t.length;e+=1){let n=t[e];if(Lv(n))return n}}let t=e.target;return Lv(t)?t:null}function rE(e){let t=e;for(;t;){let e=t.closest(`[${tE}]`);if(e)return e;let n=t.getRootNode();t=`host`in n&&Lv(n.host)?n.host:null}return null}var iE=$_(function(e,t){let{render:n,className:r,style:i,handle:a,payload:o,disabled:s,delay:c,closeOnClick:l=!0,closeDelay:u,id:d,...f}=e,p=sv(!0),m=hT(a)??p;if(!m)throw Error(av(82));let h=QT(d),g=m.useState(`isTriggerActive`,h),_=m.useState(`isOpenedByTrigger`,h),v=m.useState(`floatingRootContext`),y=W.useRef(null),b=u??0,{registerTrigger:x,isMountedByThisTrigger:S}=nT(h,y,m,{payload:o,closeOnClick:l,closeDelay:b}),C=eE(),{activeIdRef:w,delayRef:T,isInstantPhase:E,hasProvider:D}=db(v,{open:_}),O=TT(v);m.useSyncedValue(`isInstantPhase`,E);let k=m.useState(`disabled`),A=s??k,j=bb(A),M=m.useState(`trackCursorAxis`),N=m.useState(`disableHoverablePopup`),P=W.useRef(!1),F=dv(),I=W.useRef(void 0);function L(){return D&&w.current!=null?0:c??C??600}function R(e){let t=y.current;if(!t||!e)return!1;let n=rE(e);return n!==null&&n!==t&&iy(t,n)}function ee(e){let t=R(e);return P.current=t,t&&(O.openChangeTimeout.clear(),O.restTimeout.clear(),O.restTimeoutPending=!1,F.clear()),t}let z=OT(v,{enabled:!A,mouseOnly:!0,move:!1,handleClose:!N&&M!==`both`?GT():null,restMs:L,delay(){return u==null&&D?{close:Vy(T.current,`close`)}:{close:b}},triggerElementRef:y,isActiveTrigger:g,isClosing:()=>m.select(`transitionStatus`)===`ending`,shouldOpen(){return!P.current}}),te=bT(v,{enabled:!A}).reference,ne=e=>{let t=P.current,n=nE(e),r=ee(n),i=y.current,a=i&&n&&iy(i,n);if(r&&m.select(`open`)&&m.select(`lastOpenChangeReason`)===`trigger-hover`){m.setOpen(!1,cb(qy,e));return}if(t&&!r&&a&&!j.current&&!m.select(`open`)&&i&&Av(I.current)){let t=()=>{!P.current&&!j.current&&!m.select(`open`)&&m.setOpen(!0,cb(qy,e,i))},n=L();n===0?(F.clear(),t()):F.start(n,t)}},re=m.useState(`triggerProps`,S);return AS(`button`,e,{state:{open:_},ref:[t,x,y],props:[z,te,S||M!==`none`?re:void 0,{onMouseOver(e){ne(e.nativeEvent)},onFocus(e){R(nE(e.nativeEvent))&&e.preventBaseUIHandler()},onMouseLeave(){P.current=!1,F.clear(),I.current=void 0},onPointerEnter(e){I.current=e.pointerType},onPointerDown(e){I.current=e.pointerType,m.set(`closeOnClick`,l),l&&!m.select(`open`)&&m.cancelPendingOpen(e.nativeEvent)},onClick(e){l&&!m.select(`open`)&&m.cancelPendingOpen(e.nativeEvent)},id:h,[jy]:A?``:void 0,[tE]:A?void 0:``},f],stateAttributesMapping:Dy})}),aE=W.createContext(void 0);function oE(){let e=W.useContext(aE);if(e===void 0)throw Error(av(70));return e}var sE=W.forwardRef(function(e,t){let{children:n,container:r,className:i,render:a,style:o,...s}=e,{node:c,subtree:l}=YS({container:r,ref:t,componentProps:e,elementProps:s});return!l&&!c?null:(0,Z.jsxs)(W.Fragment,{children:[l,c&&GS.createPortal(n,c)]})}),cE=W.forwardRef(function(e,t){let{keepMounted:n=!1,...r}=e;return sv().useState(`mounted`)||n?(0,Z.jsx)(aE.Provider,{value:n,children:(0,Z.jsx)(sE,{ref:t,...r})}):null}),lE=W.createContext(void 0);function uE(){let e=W.useContext(lE);if(e===void 0)throw Error(av(71));return e}var dE=W.createContext(void 0);function fE(){return W.useContext(dE)?.direction??`ltr`}var pE=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0,offsetParent:d=`real`}=Ub(e,t)||{};if(l==null)return{};let f=sx(u),p={x:n,y:r},m=Yb(i),h=qb(m),g=await o.getDimensions(l),_=m===`y`,v=_?`top`:`left`,y=_?`bottom`:`right`,b=_?`clientHeight`:`clientWidth`,x=a.reference[h]+a.reference[m]-p[m]-a.floating[h],S=p[m]-a.reference[m],C=d===`real`?await o.getOffsetParent?.(l):s.floating,w=s.floating[b]||a.floating[h];(!w||!await o.isElement?.(C))&&(w=s.floating[b]||a.floating[h]);let T=x/2-S/2,E=w/2-g[h]/2-1,D=Math.min(f[v],E),O=Math.min(f[y],E),k=D,A=w-g[h]-O,j=w/2-g[h]/2+T,M=Hb(k,j,A),N=!c.arrow&&Gb(i)!=null&&j!==M&&a.reference[h]/2-(j<k?D:O)-g[h]/2<0,P=N?j<k?j-k:j-A:0;return{[m]:p[m]+P,data:{[m]:M,centerOffset:j-M-P,...N&&{alignmentOffset:P}},reset:N}}}),mE=(e,t)=>{let{name:n,fn:r}=pE(e);return{name:n,fn:r,options:[e,t]}},hE={name:`hide`,async fn(e){let{width:t,height:n,x:r,y:i}=e.rects.reference,a=t===0&&n===0&&r===0&&i===0,o=await e.platform.detectOverflow(e,{elementContext:`reference`});return{data:{referenceHidden:o.top-n>=0||o.right-t>=0||o.bottom-n>=0||o.left-t>=0||a}}}},gE={sideX:`left`,sideY:`top`},_E=`--available-width`,vE=`--available-height`,yE=`--anchor-width`,bE=`--anchor-height`,xE=`--transform-origin`,SE=_E,CE=vE;function wE(e,t,n){let r=e===`inline-start`||e===`inline-end`;return{top:`top`,right:r?n?`inline-start`:`inline-end`:`right`,bottom:`bottom`,left:r?n?`inline-end`:`inline-start`:`left`}[t]}function TE(e,t,n){let{rects:r,placement:i}=e;return{side:wE(t,Wb(i),n),align:Gb(i)||`center`,anchor:{width:r.reference.width,height:r.reference.height},positioner:{width:r.floating.width,height:r.floating.height}}}function EE(e){return DE(e,_T)}function DE(e,t){let{anchor:n,positionMethod:r=`absolute`,side:i=`bottom`,sideOffset:a=0,align:o=`center`,alignOffset:s=0,collisionBoundary:c,collisionPadding:l=5,sticky:u=!1,arrowPadding:d=5,disableAnchorTracking:f=!1,inline:p,keepMounted:m=!1,floatingRootContext:h,mounted:g,collisionAvoidance:_,shift:v,nodeId:y,adaptiveOrigin:b,lazyFlip:x=!1,externalTree:S}=e,[C,w]=W.useState(null);!g&&C!==null&&w(null);let T=_.side||`flip`,E=_.align||`flip`,D=_.fallbackAxisSide||`end`,O=v?.crossAxis??!1,k=v?.rootBoundary,A=typeof n==`function`?n:void 0,j=Q(A),M=A?j:n,N=bb(n),P=bb(g),F=fE()===`rtl`,I=C||{top:`top`,right:`right`,bottom:`bottom`,left:`left`,"inline-end":F?`left`:`right`,"inline-start":F?`right`:`left`}[i],L=o===`center`?I:`${I}-${o}`,R=l;typeof R==`number`?R={top:R,right:R,bottom:R,left:R}:R&&={top:R.top||0,right:R.right||0,bottom:R.bottom||0,left:R.left||0};let ee=+(i===`bottom`),z=+(i===`top`),te=+(i===`right`),ne=+(i===`left`),re={boundary:c===`clipping-ancestors`?`clippingAncestors`:c,padding:R},B=W.useRef(null),ie=bb(a),ae=bb(s),oe=typeof a==`function`?0:a,se=typeof s==`function`?0:s,ce=[];p&&ce.push(p),ce.push(xw(e=>{let t=TE(e,i,F),n=typeof ie.current==`function`?ie.current(t):ie.current,r=typeof ae.current==`function`?ae.current(t):ae.current;return{mainAxis:n,crossAxis:r,alignmentAxis:r}},[oe,se,F,i]));let le=E===`none`&&T!==`shift`,V=!le&&(u||O||T===`shift`),H=T===`none`?null:ww({...re,padding:{top:R.top+1+ee,right:R.right+1+ne,bottom:R.bottom+1+z,left:R.left+1+te},mainAxis:!O&&T===`flip`,crossAxis:E===`flip`&&`alignment`,fallbackAxisSideDirection:D}),ue=le?null:Sw({...re,rootBoundary:k,mainAxis:E!==`none`,crossAxis:V,limiter:u||O?void 0:Cw(e=>{if(!B.current)return{};let{width:t,height:n}=B.current.getBoundingClientRect(),r=Jb(Wb(e.placement)),i=r===`y`?t:n,a=r===`y`?R.left+R.right:R.top+R.bottom;return{offset:i/2+a/2}})},[re,u,O,k,R,E]);T===`shift`||E===`shift`||o===`center`?ce.push(ue,H):ce.push(H,ue),ce.push(Tw({...re,apply({elements:{floating:e},availableWidth:t,availableHeight:n,rects:r}){if(!P.current)return;let i=e.style;i.setProperty(SE,`${t}px`),i.setProperty(CE,`${n}px`);let a=Pv(e).devicePixelRatio||1,{x:o,y:s,width:c,height:l}=r.reference,u=(Math.round((o+c)*a)-Math.round(o*a))/a,d=(Math.round((s+l)*a)-Math.round(s*a))/a;i.setProperty(yE,`${u}px`),i.setProperty(bE,`${d}px`)}}),mE(e=>({element:B.current||jb(e.elements.floating).createElement(`div`),padding:B.current?d:0,offsetParent:`floating`}),[d]),{name:`transformOrigin`,fn(e){let{elements:{floating:t},middlewareData:n,placement:r,platform:o,rects:s,y:c}=e,l=Wb(r),u=Gb(r),d=Jb(l)===`y`,f=B.current,p=typeof a==`function`?a(TE(e,i,F)):a,m;m=!f&&u&&Math.abs(d?n.shift?.x||0:n.shift?.y||0)<=1?u===`start`===(d&&o.isRTL?.(t)===!0)?`100%`:`0%`:`${(d?n.arrow?.x||0:n.arrow?.y||0)+(d?f?.clientWidth||0:f?.clientHeight||0)/2}px`;let h=l===`top`||l===`left`?`calc(100% + ${p}px)`:`${-p}px`;return V&&d&&Math.abs(n.shift?.y||0)>p&&(h=`${s.reference.y+s.reference.height/2-c}px`),t.style.setProperty(xE,d?`${m} ${h}`:`${h} ${m}`),{}}},hE,b),X(()=>{!g&&h&&h.update({referenceElement:null,floatingElement:null,domReferenceElement:null,positionReference:null})},[g,h]);let de=W.useMemo(()=>({ancestorScroll:!f,elementResize:!f&&typeof ResizeObserver<`u`,layoutShift:!f&&typeof IntersectionObserver<`u`}),[f]),{refs:fe,elements:U,x:pe,y:me,middlewareData:he,update:ge,placement:_e,context:ve,isPositioned:ye,floatingStyles:be}=t({rootContext:h,open:m?g:void 0,placement:L,middleware:ce,strategy:r,whileElementsMounted:m?void 0:(...e)=>cw(...e,de),nodeId:y,externalTree:S}),{sideX:xe,sideY:Se}=he.adaptiveOrigin||gE,Ce=ye?r:`fixed`,we=W.useMemo(()=>{let e;return e=ye?b?{position:Ce,[xe]:pe,[Se]:me}:{...be,position:Ce}:{position:Ce,top:0,left:0},e[SE]=`100vw`,e[CE]=`100vh`,ye||(e.opacity=0),e},[b,Ce,xe,pe,Se,me,be,ye]),Te=W.useRef(null);X(()=>{if(!g)return;let e=N.current,t=typeof e==`function`?e():e,n=(OE(t)?t.current:t)||null;n!==Te.current&&(fe.setPositionReference(n),Te.current=n)},[g,fe,M,N]),W.useEffect(()=>{if(!g)return;let e=N.current;typeof e!=`function`&&OE(e)&&e.current!==Te.current&&(fe.setPositionReference(e.current),Te.current=e.current)},[g,fe,M,N]),W.useEffect(()=>{if(m&&g&&U.reference&&U.floating)return cw(U.reference,U.floating,ge,de)},[m,g,U,ge,de]);let Ee=Wb(_e),De=wE(i,Ee,F),Oe=Gb(_e)||`center`,ke=!!he.hide?.referenceHidden;X(()=>{x&&g&&ye&&Ee!==I&&w(Ee)},[x,g,ye,Ee,I]);let Ae=W.useMemo(()=>({position:`absolute`,top:he.arrow?.y,left:he.arrow?.x}),[he.arrow]),je=he.arrow?.centerOffset!==0;return W.useMemo(()=>({positionerStyles:we,arrowStyles:Ae,arrowRef:B,arrowUncentered:je,side:De,align:Oe,physicalSide:Ee,anchorHidden:ke,refs:fe,context:ve,isPositioned:ye,update:ge}),[we,Ae,B,je,De,Oe,Ee,ke,fe,ve,ye,ge])}function OE(e){return e!=null&&`current`in e}function kE(e){return e===`starting`?LS:rv}function AE(e,t,{styles:n,transitionStatus:r,props:i,refs:a,hidden:o,inert:s=!1}){let c={...n};return s&&(c.pointerEvents=`none`),AS(`div`,e,{state:t,ref:a,props:[{role:`presentation`,hidden:o,style:c},kE(r),i],stateAttributesMapping:ky})}var jE=W.forwardRef(function(e,t){let{render:n,className:r,anchor:i,positionMethod:a=`absolute`,side:o=`top`,align:s=`center`,sideOffset:c=0,alignOffset:l=0,collisionBoundary:u=`clipping-ancestors`,collisionPadding:d=5,arrowPadding:f=5,sticky:p=!1,disableAnchorTracking:m=!1,collisionAvoidance:h=US,style:g,..._}=e,v=sv(),y=oE(),b=v.useState(`open`),x=v.useState(`mounted`),S=v.useState(`trackCursorAxis`),C=v.useState(`disableHoverablePopup`),w=v.useState(`floatingRootContext`),T=v.useState(`instantType`),E=v.useState(`transitionStatus`),D=EE({anchor:i,positionMethod:a,floatingRootContext:w,mounted:x,side:o,sideOffset:c,align:s,alignOffset:l,collisionBoundary:u,collisionPadding:d,sticky:p,arrowPadding:f,disableAnchorTracking:m,keepMounted:y,collisionAvoidance:h,adaptiveOrigin:v.useState(`adaptiveOrigin`)}),O=AE(e,W.useMemo(()=>({open:b,side:D.side,align:D.align,anchorHidden:D.anchorHidden,instant:S===`none`?T:`tracking-cursor`}),[b,D.side,D.align,D.anchorHidden,S,T]),{styles:D.positionerStyles,transitionStatus:E,props:_,refs:[t,v.useStateSetter(`positionerElement`)],hidden:!x,inert:!b||S===`both`||C});return(0,Z.jsx)(lE.Provider,{value:D,children:O})}),ME=W.forwardRef(function(e,t){let{render:n,className:r,style:i,...a}=e,o=sv(),{side:s,align:c}=uE(),l=o.useState(`open`),u=o.useState(`instantType`),d=o.useState(`transitionStatus`),f=o.useState(`popupProps`),p=o.useState(`floatingRootContext`),m=o.useState(`disabled`),h=o.useState(`closeDelay`);Kw({open:l,ref:o.context.popupRef,onComplete(){l&&o.context.onOpenChangeComplete?.(!0)}}),ET(p,{enabled:!m,closeDelay:h});let g=o.useStateSetter(`popupElement`);return AS(`div`,e,{state:{open:l,side:s,align:c,instant:u,transitionStatus:d},ref:[t,o.context.popupRef,g],props:[qw,f,kE(d),a],stateAttributesMapping:Ay})});function NE(e){return lS(19)?e:e?`true`:void 0}function PE(e){let[t,n]=W.useState({current:e,previous:null});return Object.is(e,t.current)||n({current:e,previous:t.current}),t.previous}function FE(e){let t=W.useRef(!0);t.current&&(t.current=!1,e())}function IE(e){return e==null||e.hasAttribute(`disabled`)||e.getAttribute(`aria-disabled`)===`true`}function LE({controlled:e,default:t,name:n,state:r=`value`}){let{current:i}=W.useRef(e!==void 0),[a,o]=W.useState(t);return[i&&e!==void 0?e:a,W.useCallback(e=>{i||o(e)},[])]}var RE=W.createContext(void 0),zE=W.createContext(void 0),BE=W.createContext(void 0);function VE(){let e=W.useContext(RE);if(e===void 0)throw Error(av(60));return e}function HE(){let e=W.useContext(zE);if(e===void 0)throw Error(av(101));return e}function UE(){let e=W.useContext(BE);if(e===void 0)throw Error(av(61));return e}var WE=`data-valid`,GE=`data-invalid`,KE={badInput:!1,customError:!1,patternMismatch:!1,rangeOverflow:!1,rangeUnderflow:!1,stepMismatch:!1,tooLong:!1,tooShort:!1,typeMismatch:!1,valid:null,valueMissing:!1},qE={disabled:!1,valid:null,touched:!1,dirty:!1,filled:!1,focused:!1},JE={valid(e){return e===null?null:e?{[WE]:``}:{[GE]:``}}},YE={invalid:void 0,name:void 0,validityData:{state:KE,errors:[],error:``,value:``,initialValue:null},setValidityData:tv,disabled:void 0,setTouched:tv,setDirty:tv,setFilled:tv,setFocused:tv,validationMode:`onSubmit`,shouldValidateOnChange:()=>!1,state:qE,registerFieldControl:tv,validation:{getValidationProps:(e,t=rv)=>t,inputRef:{current:null},registeredInputs:new Map,registerInput:tv,getInputControl:()=>null,commit:async()=>{},change:tv}},XE=W.createContext(YE);function ZE(e=!0){let t=W.useContext(XE);if(t.setValidityData===tv&&!e)throw Error(av(28));return t}function QE(e,t,n,r,i=!0,a){let{registerFieldControl:o}=ZE(),s=q_(()=>Symbol());X(()=>{let c=s.current;if(!i){o(c,void 0);return}o(c,{controlRef:e,getValue:r,id:t,name:a,value:n})},[e,i,r,t,a,o,s,n]),X(()=>{let e=s.current;return()=>{o(e,void 0)}},[o,s])}var $E=W.createContext({controlId:void 0,registerControlId:tv,resetControlId:tv,labelId:void 0,setLabelId:tv,messageIds:[],setMessageIds:tv,getDescriptionProps:e=>e});function eD(){return W.useContext($E)}function tD(e={}){let{id:t,enabled:n=!0}=e,{controlId:r,registerControlId:i,resetControlId:a}=eD(),o=QT(),s=q_(()=>Symbol()),c=W.useRef(!1),l=W.useRef(!1),u=Q(()=>{c.current&&i!==tv&&(c.current=!1,i(s.current,void 0))});return X(()=>{if(!n||i===tv){u();return}let e;if(t!==void 0)l.current=!0,e=t;else if(l.current)e=o;else{a();return}if(e===void 0){u();return}c.current=!0,i(s.current,e)},[t,n,i,a,o,s,u]),X(()=>u,[u]),(n?r:void 0)??t??o}function nD(e,t,n=Object.is){let{length:r}=e;if(r!==t.length)return!1;for(let i=0;i<r;i+=1)if(!n(e[i],t[i]))return!1;return!0}var rD=(e,t)=>Object.is(e,t);function iD(e,t,n){return e==null||t==null?Object.is(e,t):n(e,t)}function aD(e,t,n){return Array.isArray(e)&&Array.isArray(t)?!nD(e,t,(e,t)=>iD(e,t,n)):e!==t}function oD(e,t,n){return e?e.some(e=>e!==void 0&&iD(t,e,n)):!1}function sD(e,t,n){return e?e.findIndex(e=>e!==void 0&&iD(e,t,n)):-1}function cD(e,t){if(t!==rD)return n=>oD(e,n,t);let n=new Set(e);return n.delete(void 0),t=>n.has(t)&&(t!==0||e.some(e=>Object.is(t,e)))}function lD(e,t,n,r){let i=r&&Array.isArray(t)?e.findIndex(cD(t,n)):sD(e,t,n);return i===-1?null:i}function uD(e,t,n,r,i,a){return oD(r,t,i)?a!=null&&e>a&&oD(r,n[a],i)?a:e:e===a?lD(n,r,i,!0):a}function dD(e,t,n){return e.filter(e=>!iD(t,e,n))}function fD(e){if(e==null)return``;if(typeof e==`string`)return e;try{return JSON.stringify(e)}catch{return String(e)}}function pD(e){return typeof e==`object`&&!!e&&Array.isArray(e.items)}function mD(e){return pD(e?.[0])}function hD(e){return mD(e)?e.flatMap(e=>e.items):e}function gD(e){if(!Array.isArray(e))return e!=null&&`null`in e;let t=e;if(mD(t)){for(let e of t)for(let t of e.items)if(t&&t.value==null&&t.label!=null)return!0;return!1}for(let e of t)if(e&&e.value==null&&e.label!=null)return!0;return!1}function _D(e,t){if(t&&e!=null)return t(e)??``;if(e&&typeof e==`object`){if(`label`in e&&e.label!=null)return String(e.label);if(`value`in e)return String(e.value)}return fD(e)}function vD(e,t){return t&&e!=null?t(e)??``:e&&typeof e==`object`&&`value`in e&&`label`in e?fD(e.value):fD(e)}function yD(e,t,n){function r(){return _D(e,n)}if(n&&e!=null)return n(e);if(e&&typeof e==`object`&&`label`in e&&e.label!=null)return e.label;if(t&&!Array.isArray(t))return(Object.hasOwn(t,e)?t[e]:void 0)??r();if(Array.isArray(t)){let n=hD(t);if(typeof e!=`object`||!e){let t=n.find(t=>t.value===e);return t&&t.label!=null?t.label:r()}if(`value`in e){let t=n.find(t=>t&&t.value===e.value);if(t&&t.label!=null)return t.label}}return r()}function bD(e,t,n){return e.reduce((e,r,i)=>(i>0&&e.push(`, `),e.push((0,Z.jsx)(W.Fragment,{children:yD(r,t,n)},i)),e),[])}var xD={id:e=>e.id,labelId:e=>e.labelId,modal:e=>e.modal,items:e=>e.items,itemToStringLabel:e=>e.itemToStringLabel,isItemEqualToValue:e=>e.isItemEqualToValue,value:e=>e.value,hasSelectedValue:e=>{let{value:t,multiple:n,itemToStringValue:r}=e;return t==null?!1:n&&Array.isArray(t)?t.length>0:vD(t,r)!==``},hasNullItemLabel:(e,t)=>t?gD(e.items):!1,open:e=>e.open,mounted:e=>e.mounted,forceMount:e=>e.forceMount,transitionStatus:e=>e.transitionStatus,openMethod:e=>e.openMethod,activeIndex:e=>e.activeIndex,selectedIndex:e=>e.selectedIndex,isActive:(e,t)=>e.activeIndex===t,isSelected:(e,t)=>{let n=e.isItemEqualToValue,r=e.value;return e.multiple?Array.isArray(r)&&r.some(e=>iD(t,e,n)):iD(t,r,n)},isSelectedByFocus:(e,t)=>e.selectedIndex===t,popupProps:e=>e.popupProps,triggerProps:e=>e.triggerProps,triggerElement:e=>e.triggerElement,positionerElement:e=>e.positionerElement,listElement:e=>e.listElement,popupSide:e=>e.popupSide,scrollUpArrowVisible:e=>e.scrollUpArrowVisible,scrollDownArrowVisible:e=>e.scrollDownArrowVisible,hasScrollArrows:e=>e.hasScrollArrows},SD=W.createContext({elementRef:{current:null},formRef:{current:{fields:new Map}},errors:{},clearErrors:tv,validationMode:`onSubmit`,submitCountRef:{current:0}});function CD(){return W.useContext(SD)}function wD(e,t){let n=W.useRef(e),r=Q(t);X(()=>{n.current!==e&&r(n.current),n.current=e},[e,r])}function TD(e){let t=W.useRef(``),n=W.useCallback(n=>{n.defaultPrevented||(t.current=n.pointerType,e(n,n.pointerType))},[e]);return{onClick:W.useCallback(n=>{if(n.detail===0){e(n,`keyboard`);return}`pointerType`in n?e(n,n.pointerType):e(n,t.current),t.current=``},[e]),onPointerDown:n}}function ED(e,t){let{onClick:n,onPointerDown:r}=TD(Q((n,r)=>{(typeof e==`function`?e():e)||t(r||(vv?`touch`:``))}));return W.useMemo(()=>({onClick:n,onPointerDown:r}),[n,r])}function DD(e){let[t,n]=W.useState(null),r=ED(e,n);return wD(e,t=>{t&&!e&&n(null)}),W.useMemo(()=>({openMethod:t,triggerProps:r}),[t,r])}function OD(e,t=-(2**53-1),n=2**53-1){return Math.max(t,Math.min(e,n))}function kD(e,t){return Math.max(0,e-t)}function AD(e,t){if(t<=0)return 0;let n=OD(e,0,t),r=n,i=t-n,a=r<=1,o=i<=1;return a&&o?r<=i?0:t:a?0:o?t:n}function jD(e){let{id:t,value:n,defaultValue:r=null,onValueChange:i,open:a,defaultOpen:o=!1,onOpenChange:s,name:c,form:l,autoComplete:u,disabled:d=!1,readOnly:f=!1,required:p=!1,modal:m=!0,actionsRef:h,inputRef:g,onOpenChangeComplete:_,items:v,multiple:y=!1,itemToStringLabel:b,itemToStringValue:x,isItemEqualToValue:S=rD,highlightItemOnHover:C=!0,children:w}=e,{clearErrors:T}=CD(),{setDirty:E,setTouched:D,setFocused:O,validityData:k,setFilled:A,name:j,disabled:M,validation:N,validationMode:P}=ZE(),F=tD({id:t}),I=M||d,L=j??c,[R,ee]=LE({controlled:n,default:y?r??nv:r,name:`Select`,state:`value`}),[z,te]=LE({controlled:a,default:o,name:`Select`,state:`open`}),ne=W.useRef([]),re=W.useRef([]),B=W.useRef(null),ie=W.useRef(null),ae=W.useRef(0),oe=W.useRef(null),se=W.useRef([]),ce=W.useRef(!1),le=W.useRef(null),V=W.useRef(null),H=W.useRef({allowSelectedMouseUp:!1,allowUnselectedMouseUp:!1,dragY:0}),ue=W.useRef(!1),de=W.useRef(R),{mounted:fe,setMounted:U,transitionStatus:pe}=Hw(z),{openMethod:me,triggerProps:he}=DD(z),ge=q_(()=>new Rw({id:F,labelId:void 0,modal:m,multiple:y,itemToStringLabel:b,itemToStringValue:x,isItemEqualToValue:S,value:R,open:z,mounted:fe,transitionStatus:pe,items:v,forceMount:!1,openMethod:null,activeIndex:null,selectedIndex:null,popupProps:rv,triggerProps:rv,triggerElement:null,positionerElement:null,listElement:null,popupSide:null,scrollUpArrowVisible:!1,scrollDownArrowVisible:!1,hasScrollArrows:!1},{setValue:tv,setOpen:tv,handleScrollArrowVisibility:tv,onOpenChangeComplete:tv,listRef:ne,popupRef:B,scrollHandlerRef:ie,scrollArrowsMountedCountRef:ae,valueRef:oe,valuesRef:se,labelsRef:re,typingRef:ce,selectionRef:H,firstItemTextRef:le,selectedItemTextRef:V,alignItemWithTriggerActiveRef:ue,initialValueRef:de},xD)).current,_e=ge.useState(`activeIndex`),ve=ge.useState(`selectedIndex`),ye=ge.useState(`triggerElement`),be=ge.useState(`positionerElement`),xe=PE(me),Se=me??xe,Ce=W.useMemo(()=>y?``:vD(R,x),[y,R,x]),we=W.useMemo(()=>y&&Array.isArray(R)?R.map(e=>vD(e,x)):vD(R,x),[y,R,x]);QE(bb(ye),F,R,Q(()=>we),!I,c);let Te=y?Array.isArray(R)&&R.length>0:R!=null&&Ce!==``;X(()=>{A(Te)},[Te,A]),X(function(){let e=lD(se.current,R,S,y);e===null&&(V.current=null),!z&&ge.set(`selectedIndex`,e)},[y,z,R,S,ge]),wD(R,()=>{T(L),E(aD(R,k.initialValue,S)),N.change(R)});let Ee=Q((e,t)=>{s?.(e,t),!t.isCanceled&&(te(e),!e&&(t.reason===`focus-out`||t.reason===`outside-press`)&&(D(!0),O(!1),P===`onBlur`&&N.commit(R)))}),De=Q(()=>{U(!1),ge.update({activeIndex:null,openMethod:null,scrollUpArrowVisible:!1,scrollDownArrowVisible:!1}),_?.(!1)});Kw({enabled:!h,open:z,ref:B,onComplete(){z||De()}}),W.useImperativeHandle(h,()=>({unmount:De}),[De]);let Oe=Q((e,t)=>{i?.(e,t),!t.isCanceled&&ee(e)}),ke=Q(e=>{let t=kD(e.scrollHeight,e.clientHeight),n=AD(e.scrollTop,t),r=n>0,i=n<t;ge.set(`scrollUpArrowVisible`,r),ge.set(`scrollDownArrowVisible`,i)}),Ae=gT({open:z,onOpenChange:Ee,elements:{reference:ye,floating:be}}),je=gC(Ae,{enabled:!I,event:`mousedown`}),Me=SC(Ae),Ne=IT(Ae,{enabled:!I,listRef:ne,activeIndex:_e,selectedIndex:ve,disabledIndices:nv,onNavigate(e){(e!==null||z)&&ge.set(`activeIndex`,e)},focusItemOnHover:C}),Pe=LT(Ae,{enabled:!I&&(z||!f&&!y),listRef:re,activeIndex:_e,selectedIndex:ve,disabledIndices:e=>IE(ne.current[e]),onMatch(e){z?ge.set(`activeIndex`,e):Oe(se.current[e],cb(Gy))},onTyping(e){ce.current=e}}),Fe=W.useMemo(()=>gS(Pe.reference,Ne.reference,Me.reference,je.reference,he),[je.reference,Pe.reference,Ne.reference,Me.reference,he]),Ie=W.useMemo(()=>gS(qw,Pe.floating,Ne.floating,Me.floating),[Pe.floating,Ne.floating,Me.floating]),Le=Ne.item??rv;ge.useContextCallback(`setValue`,Oe),ge.useContextCallback(`setOpen`,Ee),ge.useContextCallback(`handleScrollArrowVisibility`,ke),ge.useContextCallback(`onOpenChangeComplete`,_),FE(()=>{ge.update({popupProps:Ie,triggerProps:Fe})}),ge.useSyncedValues({id:F,modal:m,multiple:y,value:R,open:z,mounted:fe,transitionStatus:pe,popupProps:Ie,triggerProps:Fe,items:v,itemToStringLabel:b,itemToStringValue:x,isItemEqualToValue:S,openMethod:Se});let Re=W.useMemo(()=>({disabled:I,readOnly:f,required:p,multiple:y,highlightItemOnHover:C,itemProps:Le}),[I,f,p,y,C,Le]),ze=mb(g,N.inputRef),Be=y?void 0:L,Ve=W.useMemo(()=>!y||!Array.isArray(R)||!L?null:R.map(e=>{let t=vD(e,x);return(0,Z.jsx)(`input`,{type:`hidden`,form:l,name:L,value:t,disabled:I},t)}),[y,R,l,L,x,I]);return(0,Z.jsxs)(RE.Provider,{value:ge,children:[(0,Z.jsx)(zE.Provider,{value:Re,children:(0,Z.jsx)(BE.Provider,{value:Ae,children:w})}),(0,Z.jsx)(`input`,{...N.getValidationProps(I,{onFocus(){ge.state.triggerElement?.focus({focusVisible:!0})},onChange(e){if(e.nativeEvent.defaultPrevented||I||f)return;let t=e.currentTarget.value,n=cb(Gy,e.nativeEvent);function r(){if(y)return;let e=t.toLowerCase(),r=se.current.findIndex(t=>vD(t,x).toLowerCase()===e||_D(t,b).toLowerCase()===e);r===-1&&(r=se.current.findIndex((t,n)=>{let r=re.current[n];return r!=null&&r.toLowerCase()===e}));let i=se.current[r];i!=null&&Oe(i,n)}ge.set(`forceMount`,!0),queueMicrotask(r)}}),id:F&&Be==null?`${F}-hidden-input`:void 0,form:l,name:Be,autoComplete:u,value:Ce,disabled:I,required:p&&!(y&&Te),readOnly:f,ref:ze,style:L?Pb:Nb,tabIndex:-1,"aria-hidden":!0,suppressHydrationWarning:!0}),Ve]})}function MD(e,t){return e??t}var ND=5;function PD(e,t){let n=FD(t);return e.clientX>=n.left-ND&&e.clientX<=n.right+ND&&e.clientY>=n.top-ND&&e.clientY<=n.bottom+ND}function FD(e){let t=e.getBoundingClientRect(),n=Pv(e);if(Tv)return t;let r=n.getComputedStyle(e,`::before`),i=n.getComputedStyle(e,`::after`);if(r.content===`none`&&i.content===`none`)return t;let a=parseFloat(r.width)||0,o=parseFloat(r.height)||0,s=parseFloat(i.width)||0,c=parseFloat(i.height)||0,l=Math.max(t.width,a,s),u=Math.max(t.height,o,c),d=l-t.width,f=u-t.height;return{left:t.left-d/2,right:t.right+d/2,top:t.top-f/2,bottom:t.bottom+f/2}}var ID=W.createContext(void 0);function LD(e=!1){let t=W.useContext(ID);if(t===void 0&&!e)throw Error(av(16));return t}function RD(e){let{focusableWhenDisabled:t,disabled:n,composite:r=!1,tabIndex:i=0,isNativeButton:a}=e,o=r&&t!==!1,s=r&&t===!1;return{props:W.useMemo(()=>{let e={onKeyDown(e){n&&t&&e.key!==`Tab`&&e.preventDefault()}};return r||(e.tabIndex=i,!a&&n&&(e.tabIndex=t?i:-1)),(a&&(t||o)||!a&&n)&&(e[`aria-disabled`]=n),a&&(!t||s)&&(e.disabled=n),e},[r,n,t,o,s,a,i])}}function zD(e,t,{detail:n=0}={}){e.dispatchEvent(new(Pv(e)).PointerEvent(`click`,{bubbles:!0,cancelable:!0,composed:!0,detail:n,shiftKey:t.shiftKey,ctrlKey:t.ctrlKey,altKey:t.altKey,metaKey:t.metaKey}))}function BD(e={}){let{disabled:t=!1,focusableWhenDisabled:n,tabIndex:r=0,native:i=!0,composite:a}=e,o=W.useRef(null),s=LD(!0),c=a??s!==void 0,{props:l}=RD({focusableWhenDisabled:n,disabled:t,composite:c,tabIndex:r,isNativeButton:i}),u=W.useCallback(()=>{let e=o.current;VD(e)&&c&&t&&l.disabled===void 0&&e.disabled&&(e.disabled=!1)},[t,l.disabled,c]);return X(u,[u]),{getButtonProps:W.useCallback((e={})=>{let{onClick:n,onMouseDown:r,onKeyUp:a,onKeyDown:o,onPointerDown:s,...u}=e;return gS({onClick(e){if(t){e.preventDefault();return}n?.(e)},onMouseDown(e){t||r?.(e)},onKeyDown(e){if(t||(DS(e),o?.(e),e.baseUIHandlerPrevented))return;let n=e.target===e.currentTarget,r=e.currentTarget,a=VD(r),s=!i&&HD(r),l=n&&(i?a:!s),u=e.key===`Enter`,d=e.key===` `,f=r.getAttribute(`role`),p=f?.startsWith(`menuitem`)||f===`option`||f===`gridcell`;if(n&&c&&d){if(e.defaultPrevented&&p)return;e.preventDefault(),(!i||a)&&(e.preventBaseUIHandler(),zD(r,e));return}if(!l||i||!d&&!u){n&&s&&d&&e.preventDefault();return}e.defaultPrevented||(e.preventDefault(),u&&(e.preventBaseUIHandler(),zD(r,e)))},onKeyUp(e){if(!t){if(DS(e),a?.(e),e.target===e.currentTarget&&i&&c&&VD(e.currentTarget)&&e.key===` `){e.preventDefault();return}e.baseUIHandlerPrevented||e.target===e.currentTarget&&!i&&!c&&!e.defaultPrevented&&e.key===` `&&(e.preventBaseUIHandler(),zD(e.currentTarget,e))}},onPointerDown(e){if(t){e.preventDefault();return}s?.(e)}},i?{type:`button`}:{role:`button`},l,u)},[t,l,c,i]),buttonRef:Q(e=>{o.current=e,u()})}}function VD(e){return Rv(e)&&e.tagName===`BUTTON`}function HD(e){return Rv(e)&&e.tagName===`A`&&!!e.href}var UD=`data-popup-side`,WD=400,GD={...Oy,...JE,popupSide:e=>e?{[UD]:e}:null,value:()=>null},KD=W.forwardRef(function(e,t){let{render:n,className:r,id:i,disabled:a=!1,nativeButton:o=!0,style:s,...c}=e,{setTouched:l,setFocused:u,validationMode:d,validation:f,state:p,disabled:m}=ZE(),{labelId:h}=eD(),g=VE(),{readOnly:_,required:v,disabled:y}=HE(),b=m||y||a,x=g.useState(`open`),S=g.useState(`mounted`),C=g.useState(`value`),w=g.useState(`triggerProps`),T=g.useState(`positionerElement`),E=g.useState(`listElement`),D=g.useState(`popupSide`),O=g.useState(`id`),k=g.useState(`labelId`),A=g.useState(`hasSelectedValue`),j=S&&T?D:null,M=i??O,N=MD(h,k);tD({id:i});let P=bb(T),F=W.useRef(null),{getButtonProps:I,buttonRef:L}=BD({disabled:b,native:o}),R=g.useStateSetter(`triggerElement`),ee=dv(),z=dv(),te=dv();W.useEffect(()=>{if(x)return te.start(WD,()=>{g.context.selectionRef.current.allowUnselectedMouseUp=!0,g.context.selectionRef.current.allowSelectedMouseUp=!0}),()=>{te.clear()};g.context.selectionRef.current={allowSelectedMouseUp:!1,allowUnselectedMouseUp:!1,dragY:0},z.clear()},[x,g,z,te]);let ne=gS(w,{id:M,role:`combobox`,"aria-expanded":x,"aria-haspopup":`listbox`,"aria-controls":x?E?.id??zy(T)?.id:void 0,"aria-labelledby":N,"aria-readonly":_||void 0,"aria-required":v||void 0,tabIndex:b?-1:0,onFocus(e){u(!0),x&&g.context.alignItemWithTriggerActiveRef.current&&g.context.setOpen(!1,cb(Gy,e.nativeEvent)),ee.start(0,()=>{g.set(`forceMount`,!0)})},onBlur(e){iy(T,e.relatedTarget)||(l(!0),u(!1),d===`onBlur`&&f.commit(C))},onMouseDown(e){if(x)return;let t=jb(e.currentTarget);function n(e){if(!F.current)return;let t=e.target;iy(F.current,t)||iy(P.current,t)||PD(e,F.current)||g.context.setOpen(!1,cb(nb,e))}z.start(0,()=>{t.addEventListener(`mouseup`,n,{once:!0})})}},c,I),re=f.getValidationProps(b,ne);re.role=`combobox`;let B={...p,open:x,disabled:b,value:C,readOnly:_,popupSide:j,placeholder:!A};return AS(`button`,e,{ref:[t,F,L,R],state:B,stateAttributesMapping:GD,props:re})}),qD={value:()=>null},JD=W.forwardRef(function(e,t){let{className:n,render:r,children:i,placeholder:a,style:o,...s}=e,c=VE(),l=c.useState(`value`),u=c.useState(`items`),d=c.useState(`itemToStringLabel`),f=c.useState(`hasSelectedValue`),p=!f&&a!=null&&i==null,m=c.useState(`hasNullItemLabel`,p),h={value:l,placeholder:!f},g=null;return g=typeof i==`function`?i(l):i??(p&&!m?a:Array.isArray(l)?bD(l,u,d):yD(l,u,d)),AS(`span`,e,{state:h,ref:[t,c.context.valueRef],props:[{children:g},s],stateAttributesMapping:qD})}),YD=W.forwardRef(function(e,t){let n=VE(),r=n.useState(`mounted`),i=n.useState(`forceMount`);return r||i?(0,Z.jsx)(XS,{ref:t,...e}):null}),XD=W.createContext({register:()=>{},unregister:()=>{},subscribeMapChange:()=>()=>{},nextIndexRef:{current:0}});function ZD(){return W.useContext(XD)}function QD(e){let{children:t,elementsRef:n,labelsRef:r,onMapChange:i}=e,a=Q(i),[,o]=W.useState(!1),s=q_(eO).current,c=q_($D).current,l=W.useRef(0),u=W.useRef(!0),d=W.useRef(null),f=W.useRef(null),p=Q(()=>{u.current||(u.current=!0,o(e=>!e))}),m=Q((e,t)=>{c.set(e,t),p()}),h=Q(e=>{c.delete(e),p()}),g=Q(e=>{let t=new Map;return n.current.length=0,r&&(r.current.length=0),e.forEach(e=>{t.set(e.element,{...e.registration.metadata??{},index:e.index}),n.current[e.index]=e.element,r&&(r.current[e.index]=e.registration.label===void 0?e.registration.textRef?.current?.textContent??e.element.textContent:e.registration.label)}),l.current=n.current.length,t});function _(e){if(f.current?.disconnect(),f.current=null,typeof MutationObserver!=`function`||e.length<2)return;let t=new MutationObserver(n=>{if(!rO(n))return;let r=null;for(let n of e)if(n.isConnected){if(r&&iO(r,n)>0){t.disconnect(),p();return}r=n}});f.current=t;let n=new Set;for(let t=1;t<e.length;t+=1){let r=nO(e[t-1],e[t]);r&&n.add(r)}n.forEach(e=>t.observe(e,{childList:!0}))}let v=Q(()=>{let[e,t]=tO(c),n=g(e),r=d.current,i=!r||r.length!==e.length||e.some((e,t)=>{let n=r[t];return e.index!==n.index||e.element!==n.element||e.registration.index!==n.registration.index||e.registration.metadata!==n.registration.metadata});_(t),d.current=e,u.current=!1,i&&(s.forEach(e=>e(n)),a(n))});X(()=>(!u.current&&d.current&&g(d.current),()=>{n.current=[],r&&(r.current=[])}),[n,r,g]),X(()=>{u.current&&v()}),X(()=>()=>{f.current?.disconnect(),u.current=!0},[]);let y=Q(e=>(s.add(e),()=>{s.delete(e)})),b=W.useMemo(()=>({register:m,unregister:h,subscribeMapChange:y,nextIndexRef:l}),[m,h,y,l]);return(0,Z.jsx)(XD.Provider,{value:b,children:t})}function $D(){return new Map}function eO(){return new Set}function tO(e){let t=new Set,n=[],r=[];e.forEach((e,i)=>{if(!i.isConnected)return;let a=e.index,o={index:a??-1,element:i,registration:e};a===null?r.push(o):a>=0&&(t.add(a),n.push(o))});let i=0;return r.sort((e,t)=>iO(e.element,t.element)),r.forEach(e=>{for(;t.has(i);)i+=1;e.index=i,n.push(e),i+=1}),t.size>0&&n.sort((e,t)=>e.index-t.index),[n,r.map(e=>e.element)]}function nO(e,t){let n=e.parentElement;for(;n&&!n.contains(t);)n=n.parentElement;return n}function rO(e){for(let t of e)for(let e=0;e<t.removedNodes.length;e+=1)if(t.removedNodes[e].isConnected)return!0;return!1}function iO(e,t){return e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1}var aO=W.createContext(void 0);function oO(){let e=W.useContext(aO);if(!e)throw Error(av(59));return e}var sO=W.forwardRef(function(e,t){let{cutout:n,...r}=e,i;if(n){let e=n.getBoundingClientRect();i=`polygon(0% 0%,100% 0%,100% 100%,0% 100%,0% 0%,${e.left}px ${e.top}px,${e.left}px ${e.bottom}px,${e.right}px ${e.bottom}px,${e.right}px ${e.top}px,${e.left}px ${e.top}px)`}return(0,Z.jsx)(`div`,{ref:t,role:`presentation`,"data-base-ui-inert":``,...r,style:{position:`fixed`,inset:0,userSelect:`none`,WebkitUserSelect:`none`,clipPath:i}})});function cO(e,t){e&&Object.assign(e.style,t)}var lO={position:`relative`,maxHeight:`100%`,overflowX:`hidden`,overflowY:`auto`},uO={},dO={},fO=``;function pO(e,t){return Bv(e)?e:t}function mO(e,t,n){return/hidden|clip/.test(e.getComputedStyle(pO(t,n)).overflowY)}function hO(e){if(typeof document>`u`)return!1;let t=jb(e);return Pv(t).innerWidth-t.documentElement.clientWidth>0}function gO(e){if(!(typeof CSS<`u`&&CSS.supports&&CSS.supports(`scrollbar-gutter`,`stable`))||typeof document>`u`)return!1;let t=jb(e),n=t.documentElement,r=t.body,i=pO(n,r),a=i.style.overflowY,o=n.style.scrollbarGutter;n.style.scrollbarGutter=`stable`,i.style.overflowY=`scroll`;let s=i.offsetWidth;i.style.overflowY=`hidden`;let c=i.offsetWidth;return i.style.overflowY=a,n.style.scrollbarGutter=o,s===c}function _O(e){let t=jb(e),n=t.documentElement,r=t.body,i=pO(n,r),a={overflowY:i.style.overflowY,overflowX:i.style.overflowX};return Object.assign(i.style,{overflowY:`hidden`,overflowX:`hidden`}),()=>{Object.assign(i.style,a)}}function vO(e){let t=jb(e),n=t.documentElement,r=t.body,i=Pv(n),a=0,o=0,s=!1,c=kb.create();if(Cv&&(i.visualViewport?.scale??1)!==1)return()=>{};function l(){let t=i.getComputedStyle(n),c=i.getComputedStyle(r),l=(t.scrollbarGutter||``).includes(`both-edges`)?`stable both-edges`:`stable`;a=n.scrollTop,o=n.scrollLeft,uO={scrollbarGutter:n.style.scrollbarGutter,overflowY:n.style.overflowY,overflowX:n.style.overflowX},fO=n.style.scrollBehavior,dO={position:r.style.position,height:r.style.height,width:r.style.width,boxSizing:r.style.boxSizing,overflowY:r.style.overflowY,overflowX:r.style.overflowX,scrollBehavior:r.style.scrollBehavior};let u=n.scrollHeight>n.clientHeight,d=n.scrollWidth>n.clientWidth,f=t.overflowY===`scroll`||c.overflowY===`scroll`,p=t.overflowX===`scroll`||c.overflowX===`scroll`,m=Math.max(0,i.innerWidth-r.clientWidth),h=Math.max(0,i.innerHeight-r.clientHeight),g=parseFloat(c.marginTop)+parseFloat(c.marginBottom),_=parseFloat(c.marginLeft)+parseFloat(c.marginRight),v=pO(n,r);if(s=gO(e),s){n.style.scrollbarGutter=l,v.style.overflowY=`hidden`,v.style.overflowX=`hidden`;return}Object.assign(n.style,{scrollbarGutter:l,overflowY:`hidden`,overflowX:`hidden`}),(u||f)&&(n.style.overflowY=`scroll`),(d||p)&&(n.style.overflowX=`scroll`),Object.assign(r.style,{position:`relative`,height:g||h?`calc(100dvh - ${g+h}px)`:`100dvh`,width:_||m?`calc(100vw - ${_+m}px)`:`100vw`,boxSizing:`border-box`,overflowY:`hidden`,overflowX:`hidden`,scrollBehavior:`unset`}),r.scrollTop=a,r.scrollLeft=o,n.setAttribute(`data-base-ui-scroll-locked`,``),n.style.scrollBehavior=`unset`}function u(){Object.assign(n.style,uO),Object.assign(r.style,dO),s||(n.scrollTop=a,n.scrollLeft=o,n.removeAttribute(`data-base-ui-scroll-locked`),n.style.scrollBehavior=fO)}function d(){u(),c.request(l)}l();let f=fb(i,`resize`,d);return()=>{c.cancel(),u(),typeof i.removeEventListener==`function`&&f()}}var yO=new class{lockCount=0;restore=null;timeoutLock=uv.create();timeoutUnlock=uv.create();acquire(e){return this.lockCount+=1,this.lockCount===1&&this.restore===null&&this.timeoutLock.start(0,()=>this.lock(e)),this.release}release=()=>{--this.lockCount,this.lockCount===0&&this.restore&&this.timeoutUnlock.start(0,this.unlock)};unlock=()=>{this.lockCount===0&&this.restore&&(this.restore?.(),this.restore=null)};lock(e){if(this.lockCount===0||this.restore!==null)return;let t=jb(e),n=t.documentElement,r=t.body,i=Pv(n);if(mO(i,n,r)){let t=new i.MutationObserver(()=>{mO(i,n,r)||(t.disconnect(),this.restore=null,this.lock(e))}),a={attributes:!0};t.observe(n,a),t.observe(r,a),this.restore=()=>t.disconnect();return}let a=vv||!hO(e);this.restore=a?_O(e):vO(e)}};function bO(e=!0,t=null){X(()=>{if(e)return yO.acquire(t)},[e,t])}var xO=20;function SO(e,t,n,r){let[i,a]=W.useState(!1);X(()=>{if(!e||!t||n==null){a(!1);return}let r=jb(n).documentElement.clientWidth,i=n.offsetWidth;a(r>0&&i>0&&i>=r-xO)},[e,t,n]),bO(e&&(!t||i),r)}var CO={position:`fixed`},wO=W.forwardRef(function(e,t){let{anchor:n,className:r,render:i,positionMethod:a,side:o,align:s,sideOffset:c,alignOffset:l,collisionBoundary:u=`clipping-ancestors`,collisionPadding:d,arrowPadding:f,sticky:p,disableAnchorTracking:m,alignItemWithTrigger:h=!0,collisionAvoidance:g=HS,style:_,...v}=e,y=VE(),b=UE(),x=y.useState(`open`),S=y.useState(`mounted`),C=y.useState(`modal`),w=y.useState(`value`),T=y.useState(`openMethod`),E=y.useState(`positionerElement`),D=y.useState(`triggerElement`),O=y.useState(`isItemEqualToValue`),k=y.useState(`transitionStatus`),A=W.useRef(null),j=W.useRef(null),[M,N]=W.useState(h),P=S&&M&&T!==`touch`;!S&&M!==h&&N(h),W.useImperativeHandle(y.context.alignItemWithTriggerActiveRef,()=>P),SO((P||C)&&x,T===`touch`,E,D);let F=EE({anchor:n,floatingRootContext:b,positionMethod:a,mounted:S,side:o,sideOffset:c,align:s,alignOffset:l,arrowPadding:f,collisionBoundary:u,collisionPadding:d,sticky:p,disableAnchorTracking:m??P,collisionAvoidance:g,keepMounted:!0}),I=P?`none`:F.side,L=P?CO:F.positionerStyles,R={open:x,side:I,align:F.align,anchorHidden:F.anchorHidden};X(()=>{y.set(`popupSide`,F.side)},[y,F.side]);let ee=AE(e,R,{styles:L,transitionStatus:k,props:v,refs:[t,y.useStateSetter(`positionerElement`)],hidden:!S,inert:!x}),z=W.useRef(0),te=Q(e=>{if(y.context.valuesRef.current.length===0)return;let t=z.current;z.current=e.size;let n=cb(Gy);if(t!==0&&!y.state.multiple&&w!==null&&sD(y.context.valuesRef.current,w,O)===-1){let e=y.context.initialValueRef.current,t=e!=null&&sD(y.context.valuesRef.current,e,O)!==-1?e:null;y.context.setValue(t,n),t===null&&(y.set(`selectedIndex`,null),y.context.selectedItemTextRef.current=null)}if(t!==0&&y.state.multiple&&Array.isArray(w)){let e=w.filter(e=>sD(y.context.valuesRef.current,e,O)!==-1);e.length!==w.length&&(y.context.setValue(e,n),e.length===0&&(y.set(`selectedIndex`,null),y.context.selectedItemTextRef.current=null))}if(x&&P){y.update({scrollUpArrowVisible:!1,scrollDownArrowVisible:!1});let e={height:``};cO(E,e),cO(y.context.popupRef.current,e)}}),ne=W.useMemo(()=>({...F,side:I,alignItemWithTriggerActive:P,setControlledAlignItemWithTrigger:N,scrollUpArrowRef:A,scrollDownArrowRef:j}),[F,I,P,N]);return(0,Z.jsx)(QD,{elementsRef:y.context.listRef,labelsRef:y.context.labelsRef,onMapChange:te,children:(0,Z.jsxs)(aO.Provider,{value:ne,children:[S&&C&&(0,Z.jsx)(sO,{inert:NE(!x),cutout:D}),ee]})})}),TO=`base-ui-disable-scrollbar`,EO={className:TO,getElement(e){return(0,Z.jsx)(`style`,{nonce:e,href:TO,precedence:`base-ui:low`,children:`.${TO}{scrollbar-width:none}.${TO}::-webkit-scrollbar{display:none}`})}},DO=W.createContext(void 0);function OO(e){let t=W.useContext(DO);if(t===void 0&&!e)throw Error(av(69));return t}var kO=`ArrowUp`,AO=`ArrowDown`,jO=`ArrowLeft`,MO=`ArrowRight`,NO=new Set([kO,AO,jO,MO,`Home`,`End`]),PO=[`Shift`,`Control`,`Alt`,`Meta`];function FO(e){return Rv(e)&&e.tagName===`INPUT`}function IO(e){return!!(FO(e)&&e.selectionStart!=null||Rv(e)&&e.tagName===`TEXTAREA`)}function LO(e,t,n,r){if(!e||!t||!t.scrollTo)return;let i=e.scrollLeft,a=e.scrollTop,o=e.clientWidth<e.scrollWidth,s=e.clientHeight<e.scrollHeight;if(o&&r!==`vertical`){let r=RO(e,t,`left`),a=zO(e),o=zO(t);n===`ltr`&&(r+t.offsetWidth+o.scrollMarginRight>e.scrollLeft+e.clientWidth-a.scrollPaddingRight?i=r+t.offsetWidth+o.scrollMarginRight-e.clientWidth+a.scrollPaddingRight:r-o.scrollMarginLeft<e.scrollLeft+a.scrollPaddingLeft&&(i=r-o.scrollMarginLeft-a.scrollPaddingLeft)),n===`rtl`&&(r-o.scrollMarginLeft<e.scrollLeft+a.scrollPaddingLeft?i=r-o.scrollMarginLeft-a.scrollPaddingLeft:r+t.offsetWidth+o.scrollMarginRight>e.scrollLeft+e.clientWidth-a.scrollPaddingRight&&(i=r+t.offsetWidth+o.scrollMarginRight-e.clientWidth+a.scrollPaddingRight))}if(s&&r!==`horizontal`){let n=RO(e,t,`top`),r=zO(e),i=zO(t);n-i.scrollMarginTop<e.scrollTop+r.scrollPaddingTop?a=n-i.scrollMarginTop-r.scrollPaddingTop:n+t.offsetHeight+i.scrollMarginBottom>e.scrollTop+e.clientHeight-r.scrollPaddingBottom&&(a=n+t.offsetHeight+i.scrollMarginBottom-e.clientHeight+r.scrollPaddingBottom)}e.scrollTo({left:i,top:a,behavior:`auto`})}function RO(e,t,n){let r=n===`left`?`offsetLeft`:`offsetTop`,i=0;for(;t.offsetParent&&(i+=t[r],t.offsetParent!==e);)t=t.offsetParent;return i}function zO(e){let t=getComputedStyle(e);return{scrollMarginTop:parseFloat(t.scrollMarginTop)||0,scrollMarginRight:parseFloat(t.scrollMarginRight)||0,scrollMarginBottom:parseFloat(t.scrollMarginBottom)||0,scrollMarginLeft:parseFloat(t.scrollMarginLeft)||0,scrollPaddingTop:parseFloat(t.scrollPaddingTop)||0,scrollPaddingRight:parseFloat(t.scrollPaddingRight)||0,scrollPaddingBottom:parseFloat(t.scrollPaddingBottom)||0,scrollPaddingLeft:parseFloat(t.scrollPaddingLeft)||0}}var BO=W.createContext(void 0),VO={disableStyleElements:!1};function HO(){return W.useContext(BO)??VO}var UO=`--transform-origin`,WO={...ky,...gy},GO=W.forwardRef(function(e,t){let{render:n,className:r,style:i,finalFocus:a,...o}=e,s=VE(),{multiple:c,readOnly:l,highlightItemOnHover:u}=HE(),d=UE(),{side:f,align:p,alignItemWithTriggerActive:m,isPositioned:h,setControlledAlignItemWithTrigger:g}=oO(),_=OO(!0)!=null,v=fE(),{nonce:y,disableStyleElements:b}=HO(),x=s.useState(`id`),S=s.useState(`open`),C=s.useState(`openMethod`),w=s.useState(`mounted`),T=s.useState(`popupProps`),E=s.useState(`transitionStatus`),D=s.useState(`triggerElement`),O=s.useState(`positionerElement`),k=s.useState(`listElement`),A=W.useRef(!1),j=W.useRef(!1),M=W.useRef({}),N=Ab(),P=Q(e=>{if(!O||!s.context.popupRef.current||!j.current)return;let t=O.style.top===`0px`,n=O.style.bottom===`0px`;if(A.current||!m||!t&&!n){s.context.handleScrollArrowVisibility(e);return}let r=JO(O),i=YO(O.getBoundingClientRect().height,`y`,r),a=jb(O),o=Pv(O),c=o.getComputedStyle(O),l=parseFloat(c.marginTop),u=parseFloat(c.marginBottom),d=KO(o.getComputedStyle(s.context.popupRef.current)),f=Math.min(a.documentElement.clientHeight-l-u,d),p=e.scrollTop,h=qO(e),g=null,_=e=>{O.style.height=`${e}px`},v=t?h-p:p,y=Math.min(i+v,f);if(v<=1){let n=OD(v,0,f-i);n>0&&_(i+n),e.scrollTop=t?h:0,f-(i+n)<=1&&(A.current=!0),s.context.handleScrollArrowVisibility(e);return}f-y>1?g=t?1/0:0:n&&p<h&&(g=p-(v-(i+v-f)));let b=Math.ceil(y);if(b!==0&&_(b),g!=null){let t=OD(g,0,qO(e));Math.abs(e.scrollTop-t)>1&&(e.scrollTop=t)}b>=f-1&&(A.current=!0),s.context.handleScrollArrowVisibility(e)});W.useImperativeHandle(s.context.scrollHandlerRef,()=>P,[P]),Kw({open:S,ref:s.context.popupRef,onComplete(){S&&s.context.onOpenChangeComplete(!0)}});let F={open:S,transitionStatus:E,side:f,align:p};X(()=>{O&&s.context.popupRef.current&&!Object.keys(M.current).length&&(M.current={top:O.style.top||`0`,left:O.style.left||`0`,right:O.style.right,height:O.style.height,bottom:O.style.bottom,minHeight:O.style.minHeight,maxHeight:O.style.maxHeight,marginTop:O.style.marginTop,marginBottom:O.style.marginBottom})},[s,O]),X(()=>{S||m||(j.current=!1,A.current=!1,cO(O,M.current))},[S,m,O]),X(()=>{let e=s.context.popupRef.current;if(!S||!D||!O||!e||m&&!h||s.state.transitionStatus===`ending`)return;if(j.current=!0,e.style.removeProperty(UO),!m){N.request(()=>s.context.handleScrollArrowVisibility(k||e));return}let t=QO(e);try{let t=s.context.selectedItemTextRef.current;t?.isConnected||(t=!s.select(`hasSelectedValue`)&&s.context.firstItemTextRef.current?.isConnected?s.context.firstItemTextRef.current:null);let n=s.context.valueRef.current,r=Pv(O),i=r.getComputedStyle(O),a=r.getComputedStyle(e),o=jb(D),c=JO(D),l=XO(D.getBoundingClientRect(),c),d=XO(O.getBoundingClientRect(),c),f=l.height,p=k||e,m=p.scrollHeight,h=parseFloat(a.borderBottomWidth),_=parseFloat(i.marginTop)||10,y=parseFloat(i.marginBottom)||10,b=parseFloat(i.minHeight)||100,x=KO(a),S=o.documentElement.clientHeight-_-y,C=o.documentElement.clientWidth,w=S-l.bottom+f,T,E=v===`rtl`?l.right-d.width:l.left,j=0;if(t&&n){let e=XO(n.getBoundingClientRect(),c);T=XO(t.getBoundingClientRect(),c),E=d.left+(v===`rtl`?e.right-T.right:e.left-T.left);let r=e.top-l.top+e.height/2;j=T.top-d.top+T.height/2-r}let N=w+j+y+h,P=Math.min(S,N),F=S-_-y,I=N-P,L=C-5;O.style.left=`${OD(E,5,L-d.width)}px`,O.style.height=`${P}px`,O.style.maxHeight=`none`,O.style.marginTop=`${_}px`,O.style.marginBottom=`${y}px`,e.style.height=`100%`;let R=qO(p),ee=I>=R-1;ee&&(P=Math.min(S,d.height)-(I-R));let z=l.top<20||l.bottom>S-20||Math.ceil(P)+1<Math.min(m,b),te=(r.visualViewport?.scale??1)!==1&&Cv;if(z||te){cO(O,M.current),g(!1);return}let ne=Math.max(b,P);if(ee){let e=Math.max(0,S-N);O.style.top=d.height>=F?`0`:`${e}px`,O.style.height=`${P}px`,p.scrollTop=qO(p)}else O.style.bottom=`0`,p.scrollTop=I;if(T){let t=d.top,n=d.height,r=T.top+T.height/2,i=OD(n>0?(r-t)/n*100:50,0,100);e.style.setProperty(UO,`50% ${i}%`)}(ne===S||P>=x)&&(A.current=!0),s.context.handleScrollArrowVisibility(p),u&&s.state.selectedIndex===null&&s.state.activeIndex===null&&s.context.listRef.current[0]!=null&&s.set(`activeIndex`,0)}finally{t()}},[s,S,O,D,m,g,N,k,u,v,h]),W.useEffect(()=>{if(!m||!O||!S)return;let e=Pv(O);function t(e){s.context.setOpen(!1,cb(sb,e))}return fb(e,`resize`,t)},[s,m,O,S]);let I={...k?{role:`presentation`}:{role:`listbox`,"aria-multiselectable":c||void 0,"aria-readonly":l||void 0,id:`${x}-list`},onKeyDown(e){_&&NO.has(e.key)&&e.stopPropagation()},onScroll(e){k||P(e.currentTarget)},...m&&{style:k?{height:`100%`}:lO},className:!k&&m?EO.className:void 0},L=AS(`div`,e,{ref:[t,s.context.popupRef],state:F,stateAttributesMapping:WO,props:[T,I,kE(E),o]});return(0,Z.jsxs)(W.Fragment,{children:[!b&&EO.getElement(y),(0,Z.jsx)(hC,{context:d,modal:!1,disabled:!w,openInteractionType:C,returnFocus:a,restoreFocus:!0,children:L})]})});function KO(e){let t=e.maxHeight;return t.endsWith(`px`)&&parseFloat(t)||1/0}function qO(e){return kD(e.scrollHeight,e.clientHeight)}function JO(e){return aw.getScale(e)}function YO(e,t,n){return e/n[t]}function XO(e,t){return cx({x:YO(e.x,`x`,t),y:YO(e.y,`y`,t),width:YO(e.width,`x`,t),height:YO(e.height,`y`,t)})}var ZO=[[`transform`,`none`],[`scale`,`1`],[`translate`,`0 0`]];function QO(e){let{style:t}=e,n={};for(let[e,r]of ZO)n[e]=t.getPropertyValue(e),t.setProperty(e,r,`important`);return()=>{for(let[e]of ZO){let r=n[e];r?t.setProperty(e,r):t.removeProperty(e)}}}function $O(e={}){let{guess:t,label:n,metadata:r,textRef:i,index:a}=e,{register:o,unregister:s,subscribeMapChange:c,nextIndexRef:l}=ZD(),u=W.useRef(-1),[d,f]=W.useState(a==null&&t?()=>{if(u.current===-1){let e=l.current;l.current+=1,u.current=e}return u.current}:-1),p=a??d,m=W.useRef(null),h=W.useCallback(e=>{let t=m.current;t&&s(t),m.current=e,e&&o(e,{metadata:r??null,index:a??null,label:n,textRef:i})},[a,o,s,r,n,i]);return X(()=>{if(a==null)return c(e=>{let t=m.current?e.get(m.current)?.index:null;t!=null&&f(t)})},[a,c]),{ref:h,index:p}}var ek=W.createContext(void 0);function tk(){let e=W.useContext(ek);if(!e)throw Error(av(57));return e}var nk=W.memo(W.forwardRef(function(e,t){let{render:n,className:r,style:i,value:a=null,label:o,disabled:s=!1,nativeButton:c=!1,...l}=e,u=W.useRef(null),d=$O({guess:!0,label:o,textRef:u}),f=VE(),{itemProps:p,multiple:m,disabled:h,readOnly:g}=HE(),_=h||s,v=f.useState(`isActive`,d.index),y=f.useState(`open`),b=f.useState(`isSelected`,a),x=f.useState(`isSelectedByFocus`,d.index),S=f.useState(`isItemEqualToValue`),C=d.index,w=W.useRef(null);X(()=>{let e=f.context.valuesRef.current;return e[C]=a,()=>{delete e[C]}},[C,a,f]),X(()=>{let e=f.state.value,t=f.state.selectedIndex,n=t,r;m&&Array.isArray(e)?(n=uD(C,a,f.context.valuesRef.current,e,S,t),r=n===C,C===t&&!r&&(f.context.selectedItemTextRef.current=null)):(r=e!==void 0&&iD(a,e,S),r&&(n=C)),f.set(`selectedIndex`,n),r&&u.current&&(f.context.selectedItemTextRef.current=u.current)},[C,m,S,f,a]);let T=W.useRef(`mouse`),E=W.useRef(!1),{getButtonProps:D,buttonRef:O}=BD({disabled:_,focusableWhenDisabled:!0,native:c,composite:!0}),k={disabled:_,selected:b,highlighted:v};function A(e){if(h||g)return;let t=f.state.value;if(m){let n=Array.isArray(t)?t:[],r=b?dD(n,a,S):[...n,a];f.context.setValue(r,cb(Xy,e))}else f.context.setValue(a,cb(Xy,e)),f.context.setOpen(!1,cb(Xy,e))}function j(){f.context.selectionRef.current.dragY=0}let M={role:`option`,"aria-selected":b,tabIndex:y&&v?0:-1,onKeyDown(e){f.set(`activeIndex`,C),e.key===` `&&f.context.typingRef.current&&e.preventDefault()},onClick(e){let t=T.current!==`touch`,n=e.nativeEvent.pointerType,r=t&&Ov(e.nativeEvent)&&(n!==void 0||v),i=t&&!r&&!E.current;E.current=!1,!(_||i)&&A(e.nativeEvent)},onPointerEnter(e){T.current=e.pointerType},onPointerMove(e){if(e.pointerType===`mouse`&&e.buttons===1){let t=f.context.selectionRef.current;t.dragY+=e.movementY,t.dragY**2>=64&&(t.allowUnselectedMouseUp=!0)}},onPointerDown(e){T.current=e.pointerType,E.current=!0,j()},onMouseUp(){if(j(),_||T.current===`touch`||E.current)return;let e=!f.context.selectionRef.current.allowSelectedMouseUp&&b,t=!f.context.selectionRef.current.allowUnselectedMouseUp&&!b;e||t||(E.current=!0,w.current?.click(),E.current=!1)}},N=AS(`div`,e,{ref:[O,t,d.ref,w],state:k,props:[p,M,l,D]}),P=W.useMemo(()=>({selected:b,index:C,textRef:u,selectedByFocus:x}),[b,C,u,x]);return(0,Z.jsx)(ek.Provider,{value:P,children:N})})),rk=W.memo(W.forwardRef(function(e,t){let{index:n,textRef:r,selectedByFocus:i}=tk(),a=VE(),{render:o,className:s,style:c,...l}=e;return AS(`div`,e,{ref:[W.useCallback(e=>{e&&(n===0&&(a.context.firstItemTextRef.current=e),i&&(a.context.selectedItemTextRef.current=e))},[a,n,i]),t,r],props:l})})),ik=e=>Symbol.iterator in e,ak=e=>`entries`in e,ok=(e,t)=>{let n=e instanceof Map?e:new Map(e.entries()),r=t instanceof Map?t:new Map(t.entries());if(n.size!==r.size)return!1;for(let[e,t]of n)if(!r.has(e)||!Object.is(t,r.get(e)))return!1;return!0},sk=(e,t)=>{let n=e[Symbol.iterator](),r=t[Symbol.iterator](),i=n.next(),a=r.next();for(;!i.done&&!a.done;){if(!Object.is(i.value,a.value))return!1;i=n.next(),a=r.next()}return!!i.done&&!!a.done};function ck(e,t){return Object.is(e,t)?!0:typeof e!=`object`||!e||typeof t!=`object`||!t||Object.getPrototypeOf(e)!==Object.getPrototypeOf(t)?!1:ik(e)&&ik(t)?ak(e)&&ak(t)?ok(e,t):sk(e,t):ok({entries:()=>Object.entries(e)},{entries:()=>Object.entries(t)})}function lk(e){let t=W.useRef(void 0);return n=>{let r=e(n);return ck(t.current,r)?t.current:t.current=r}}function uk(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`){if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=uk(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n)}return r}function dk(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=uk(e))&&(r&&(r+=` `),r+=t);return r}var fk=W.createContext(void 0);function pk(){return W.useContext(fk)}function mk(e={}){let{highlightItemOnHover:t,highlightedIndex:n,onHighlightedIndexChange:r}=LD(),{ref:i,index:a}=$O(e),o=n===a,s=W.useRef(null),c=mb(i,s);return{compositeProps:{tabIndex:o?0:-1,onFocus(){r(a)},onMouseMove(){let e=s.current;if(!t||!e)return;let n=e.hasAttribute(`disabled`)||e.ariaDisabled===`true`;!o&&!n&&e.focus()}},compositeRef:c,index:a}}function hk(e){let{render:t,className:n,style:r,state:i=rv,props:a=nv,refs:o=nv,metadata:s,stateAttributesMapping:c,tag:l=`div`,...u}=e,{compositeProps:d,compositeRef:f}=mk({metadata:s});return AS(l,e,{state:i,ref:[f,...o],props:[d,...a,u],stateAttributesMapping:c})}var gk=W.forwardRef(function(e,t){let{className:n,defaultPressed:r=!1,disabled:i=!1,form:a,onPressedChange:o,pressed:s,render:c,type:l,value:u,nativeButton:d=!0,style:f,...p}=e,m=QT(u||void 0),h=pk(),g=h?.value??[],_=(i||h?.disabled)??!1,[v,y]=LE({controlled:h?m!==void 0&&g.indexOf(m)>-1:s,default:r,name:`Toggle`,state:`pressed`}),{getButtonProps:b,buttonRef:x}=BD({disabled:_,native:d}),S={disabled:_,pressed:v},C=[x,t],w=[{"aria-pressed":v,onClick(e){let t=!v,n=cb(Gy,e.nativeEvent);o?.(t,n),!n.isCanceled&&(m&&h?.setGroupValue?.(m,t,n),!n.isCanceled&&y(t))}},p,b],T=AS(`button`,e,{enabled:!h,state:S,ref:C,props:w}),E=W.useMemo(()=>({disabled:_,focusableWhenDisabled:!1}),[_]);return h?(0,Z.jsx)(hk,{tag:`button`,render:c,className:n,style:f,metadata:E,state:S,refs:C,props:w}):T});function _k(e){let{loopFocus:t=!0,orientation:n=`both`,grid:r,onLoop:i,direction:a,highlightedIndex:o,onHighlightedIndexChange:s,rootRef:c,enableHomeAndEndKeys:l=!1,stopEventPropagation:u,disabledIndices:d,modifierKeys:f=nv}=e,[p,m]=W.useState(0),h=r!=null,g=W.useRef(null),_=mb(g,c),v=W.useRef([]),y=W.useRef(!1),b=W.useRef(null),x=o??p,S=Q((e,t=!1)=>{if(b.current=v.current[e]??null,(s??m)(e),t){let t=v.current[e];LO(g.current,t,a,n)}}),C=Q(e=>{if(e.size===0)return;if(y.current){let e=v.current,t=e.indexOf(b.current);if(t===-1){let t=e[x];!t||px(e,x,d)?S(vk(e,d)):b.current=t}else t!==x&&S(t);return}y.current=!0;let t=Array.from(e.keys()),r=t.find(e=>e?.hasAttribute(`data-composite-item-active`))??null,i=r?e.get(r)?.index??-1:-1;if(i!==-1)S(i);else if(px(t,x,d)){let e=fx(t,{disabledIndices:d});lx(t,e)||S(e)}LO(g.current,r,a,n)});X(()=>{if(d==null||o!=null||!y.current)return;let e=v.current;if(px(e,x,d)){let t=fx(e,{disabledIndices:d});lx(e,t)||S(t)}},[d,o,x,v,S]);let w=Q((e,t,n)=>i?i(e,t,n,v):n),T=Q(e=>{let o=e.key===`Home`||e.key===`End`;if(!NO.has(e.key)||!l&&o||yk(e,f)||!g.current)return;let s=a===`rtl`,c=s?jO:MO,p=s?MO:jO,m=n===`vertical`?AO:c,_=n===`vertical`?kO:p,y=ay(e.nativeEvent);if(y!=null&&IO(y)&&!IE(y)){let t=y.selectionStart,n=y.selectionEnd,r=y.value;if(t==null||e.shiftKey||t!==n||e.key!==_&&t<r.length||e.key!==m&&t>0)return}let b=x,C=ux(v,d),T=dx(v,d);r!=null&&(b=r({disabledIndices:d,elementsRef:v,event:e,highlightedIndex:x,loopFocus:t,maxIndex:T,minIndex:C,onLoop:w,orientation:n,rtl:s}));let E=n!==`vertical`&&e.key===c||n!==`horizontal`&&e.key===`ArrowDown`,D=n!==`vertical`&&e.key===p||n!==`horizontal`&&e.key===`ArrowUp`;l&&(e.key===`Home`?b=C:e.key===`End`&&(b=T)),b===x&&(E||D)&&(t&&b===T&&E?(b=C,i&&(b=i(e,x,b,v))):t&&b===C&&D?(b=T,i&&(b=i(e,x,b,v))):b=fx(v.current,{startingIndex:b,decrement:D,disabledIndices:d})),b!==x&&!lx(v.current,b)&&(u&&e.stopPropagation(),(h||o||E||D)&&e.preventDefault(),S(b,!0),queueMicrotask(()=>{v.current[b]?.focus()}))});return{props:{ref:_,onFocus(e){let t=g.current,n=ay(e.nativeEvent);t&&n!=null&&IO(n)&&n.setSelectionRange(0,n.value.length)},onKeyDown:T},highlightedIndex:x,onHighlightedIndexChange:S,elementsRef:v,onMapChange:C,relayKeyboardEvent:T}}function vk(e,t){let n=-1;for(let r=0;r<e.length;r+=1){let i=e[r];if(i&&!px(e,r,t)){if(i.hasAttribute(`data-composite-item-active`))return r;n===-1&&(n=r)}}return Math.max(n,0)}function yk(e,t){for(let n of PO)if(!t.includes(n)&&e.getModifierState(n))return!0;return!1}function bk(e){let{render:t,className:n,style:r,refs:i=nv,props:a=nv,state:o=rv,stateAttributesMapping:s,highlightedIndex:c,onHighlightedIndexChange:l,orientation:u,grid:d,loopFocus:f,onLoop:p,enableHomeAndEndKeys:m,onMapChange:h,stopEventPropagation:g=!0,rootRef:_,disabledIndices:v,modifierKeys:y,highlightItemOnHover:b=!1,tag:x=`div`,...S}=e,{props:C,highlightedIndex:w,onHighlightedIndexChange:T,elementsRef:E,onMapChange:D,relayKeyboardEvent:O}=_k({grid:d,loopFocus:f,onLoop:p,orientation:u,highlightedIndex:c,onHighlightedIndexChange:l,rootRef:_,stopEventPropagation:g,enableHomeAndEndKeys:m,direction:fE(),disabledIndices:v,modifierKeys:y}),k=AS(x,e,{state:o,ref:i,props:[C,...a,S],stateAttributesMapping:s}),A=W.useMemo(()=>({highlightedIndex:w,onHighlightedIndexChange:T,highlightItemOnHover:b,relayKeyboardEvent:O}),[w,T,b,O]);return(0,Z.jsx)(ID.Provider,{value:A,children:(0,Z.jsx)(QD,{elementsRef:E,onMapChange:e=>{h?.(e),D(e)},children:k})})}var xk=W.createContext(void 0);function Sk(){return W.useContext(xk)}var Ck=W.forwardRef(function(e,t){let{defaultValue:n,disabled:r=!1,loopFocus:i=!0,onValueChange:a,orientation:o=`horizontal`,multiple:s=!1,value:c,className:l,render:u,style:d,...f}=e,p=OO(!0),m=Sk(),h=n??nv,g=c!==void 0||n!==void 0,_=(p?.disabled??!1)||(m?.disabled??!1)||r,[v,y]=LE({controlled:c,default:h,name:`ToggleGroup`,state:`value`}),b=Q((e,t,n)=>{let r;s?(r=v.slice(),t?r.push(e):r.splice(v.indexOf(e),1)):r=t?[e]:[],a?.(r,n),!n.isCanceled&&y(r)}),x={disabled:_,multiple:s,orientation:o},S=W.useMemo(()=>({disabled:_,setGroupValue:b,value:v,isValueInitialized:g}),[_,b,v,g]),C={role:`group`},w=AS(`div`,e,{enabled:!!p,state:x,ref:t,props:[C,f]});return(0,Z.jsx)(fk.Provider,{value:S,children:p?w:(0,Z.jsx)(bk,{render:u,className:l,style:d,state:x,refs:[t],props:[C,f],loopFocus:i,enableHomeAndEndKeys:!0,orientation:o})})});function wk(e){let{open:t,defaultOpen:n=!1,onOpenChange:r,disabled:i}=e,[a,o]=LE({controlled:t,default:n,name:`Collapsible`,state:`open`}),{mounted:s,setMounted:c,transitionStatus:l}=Hw(a,!0,!0),u=QT(),[d,f]=W.useState(),p=d===null?void 0:d??u,m=Q(e=>{let t=!a,n=cb(Ky,e.nativeEvent);r(t,n),!n.isCanceled&&o(t)});return W.useMemo(()=>({defaultPanelId:u,disabled:i,handleTrigger:m,mounted:s,open:a,panelId:p,setMounted:c,setOpen:o,setPanelIdState:f,transitionStatus:l}),[u,i,m,s,a,p,c,o,f,l])}var Tk=W.createContext(void 0);function Ek(){let e=W.useContext(Tk);if(e===void 0)throw Error(av(15));return e}var Dk=`data-open`,Ok=`data-closed`,kk=fy,Ak=`data-panel-open`,jk={[Dk]:``},Mk={[Ok]:``},Nk={open(e){return e?{[Ak]:``}:null}},Pk={open(e){return e?jk:Mk},...gy},Fk=W.forwardRef(function(e,t){let{render:n,className:r,defaultOpen:i=!1,disabled:a=!1,onOpenChange:o,open:s,style:c,...l}=e,u=Q(o),d=wk({open:s,defaultOpen:i,onOpenChange:u,disabled:a}),f=W.useMemo(()=>({open:d.open,disabled:d.disabled,transitionStatus:d.transitionStatus}),[d.open,d.disabled,d.transitionStatus]),p=W.useMemo(()=>({...d,onOpenChange:u,state:f}),[d,u,f]),m=AS(`div`,e,{state:f,ref:t,props:l,stateAttributesMapping:Pk});return(0,Z.jsx)(Tk.Provider,{value:p,children:m})}),Ik={...Nk,...gy},Lk=W.forwardRef(function(e,t){let{panelId:n,open:r,handleTrigger:i,state:a,disabled:o}=Ek(),{className:s,disabled:c=o,render:l,nativeButton:u=!0,style:d,...f}=e,{getButtonProps:p,buttonRef:m}=BD({disabled:c,focusableWhenDisabled:!0,native:u});return AS(`button`,e,{state:a,ref:[t,m],props:[{"aria-controls":r?n:void 0,"aria-expanded":r,onClick:i},f,p],stateAttributesMapping:Ik})}),Rk={height:void 0,width:void 0};function zk(e){let{externalRef:t,hiddenUntilFound:n,id:r,keepMounted:i,mounted:a,onOpenChange:o,open:s,setMounted:c,setOpen:l,transitionStatus:u}=e,d=W.useRef(null),f=W.useRef(null),[p,m]=W.useState(Rk),h=W.useRef(Rk),g=W.useRef(!1),_=W.useRef(s),v=W.useRef(!1),[y,b]=W.useState(!1),x=W.useRef(null),S=mb(t,d),C=bb(s),w=Gw(d),T=!s&&!a,E=y?`idle`:u,D=s&&(_.current||v.current),O=!s&&a&&f.current===`css-animation`&&p.height===void 0&&p.width===void 0?h.current:p,k=n&&T&&f.current!==`css-animation`,A=Q((e,t=!0)=>{t&&(h.current=e),m(e)}),j=Q(()=>{x.current?.(),x.current=null}),M=Q(e=>{j(),x.current=()=>{x.current=null,e()}}),N=Q(()=>{s&&a&&f.current===`css-animation`&&(v.current=!0)});X(()=>{y&&u!==`starting`&&b(!1)},[y,u]),W.useEffect(()=>()=>{N(),j()},[N,j]),X(()=>{let e=d.current;if(!e)return;!s&&x.current&&j();let t=Vk(e,D);if(f.current=t,s&&u===`idle`&&_.current&&t===`css-animation`){h.current=Bk(e);return}if(s&&u===`starting`){let n=g.current;if(g.current=!1,t===`none`){A(Bk(e)),b(!0);return}if(t===`css-transition`){let t=Wk(e);if(A(Bk(e)),!n)return t;let r=Uk(e,`transition-duration`,`0s`);return M(r),b(!0),t}A(Bk(e));let r=Uk(e,`animation-name`,`none`);if(!n){r();return}let i=Uk(e,`animation-duration`,`0s`);r(),M(i),b(!0);return}if(!s&&a&&(u===`idle`||u===`starting`)){if(_.current=!1,v.current=!1,t===`none`){A(Rk,!1),c(!1);return}A(Bk(e));return}if(u!==`ending`)return;if(t===`none`){c(!1);return}let n=Bk(e);if(!(n.height>0||n.width>0)){c(!1);return}A(n),t===`css-animation`&&Uk(e,`animation-name`,`none`)()},[a,s,j,A,c,M,D,u]),Kw({enabled:s&&a&&E===`idle`,open:!0,ref:d,onComplete(){s&&A(Rk,!1)}}),W.useEffect(()=>{if(s||!a||E!==`ending`||!d.current)return;let e=new AbortController,t=-1;function n(){C.current||(c(!1),A(Rk,!1))}return t=kb.request(()=>{w(n,e.signal)}),()=>{kb.cancel(t),e.abort()}},[C,a,s,E,w,A,c]),X(()=>{let e=d.current;e&&n&&T&&e.setAttribute(`hidden`,`until-found`)},[T,n]),W.useEffect(function(){let e=d.current;if(!e)return;function t(e){let t=cb(Gy,e);o(!0,t),!t.isCanceled&&(g.current=!0,l(!0))}return fb(e,`beforematch`,t)},[o,l]);let P=i||n||a||s;return{height:O.height,props:{...k?{[kk]:``}:void 0,hidden:T,id:r},ref:S,shouldPreventOpenAnimation:D,shouldRender:P,transitionStatus:E,width:O.width}}function Bk(e){return{height:e.scrollHeight,width:e.scrollWidth}}function Vk(e,t){let n=Pv(e).getComputedStyle(e),r=(n.animationName.split(`,`).map(e=>e.trim()).some(e=>e!==``&&e!==`none`)||t)&&Hk(n.animationDuration),i=Hk(n.transitionDuration);return r&&i||i?`css-transition`:r?`css-animation`:`none`}function Hk(e){return e.split(`,`).map(e=>e.trim()).some(e=>e!==``&&Number.parseFloat(e)>0)}function Uk(e,t,n){let r=e.style.getPropertyValue(t),i=e.style.getPropertyPriority(t);return e.style.setProperty(t,n),()=>{if(r===``){e.style.removeProperty(t);return}e.style.setProperty(t,r,i)}}function Wk(e){let t={"justify-content":e.style.justifyContent,"align-items":e.style.alignItems,"align-content":e.style.alignContent,"justify-items":e.style.justifyItems};Object.keys(t).forEach(t=>{e.style.setProperty(t,`initial`,`important`)});function n(){Object.entries(t).forEach(([t,n])=>{if(n===``){e.style.removeProperty(t);return}e.style.setProperty(t,n)})}let r=kb.request(n);return()=>{kb.cancel(r),n()}}var Gk=`--collapsible-panel-height`,Kk=`--collapsible-panel-width`,qk=W.forwardRef(function(e,t){let{className:n,hiddenUntilFound:r,keepMounted:i,render:a,id:o,style:s,...c}=e,{defaultPanelId:l,mounted:u,onOpenChange:d,open:f,setMounted:p,setPanelIdState:m,setOpen:h,state:g,transitionStatus:_}=Ek(),v=r??!1,y=i??!1,b=o||void 0,x=b??l;X(()=>(m(e=>b??(e===null?void 0:e)),()=>{m(e=>e===b?null:e)}),[b,m]);let{height:S,props:C,ref:w,shouldPreventOpenAnimation:T,shouldRender:E,transitionStatus:D,width:O}=zk({externalRef:t,hiddenUntilFound:v,id:x,keepMounted:y,mounted:u,onOpenChange:d,open:f,setMounted:p,setOpen:h,transitionStatus:_}),k={...g,transitionStatus:D},A=mS(s,k),j=AS(`div`,{...e,style:void 0},{state:k,ref:w,props:[C,{style:{[Gk]:S===void 0?`auto`:`${S}px`,[Kk]:O===void 0?`auto`:`${O}px`}},c,A?{style:A}:void 0,T?{style:{animationName:`none`}}:void 0],stateAttributesMapping:Pk});return E?j:null}),Jk=W.createContext(void 0);function Yk(e=!0){let t=W.useContext(Jk);if(t===void 0&&!e)throw Error(av(25));return t}var Xk=W.createContext(void 0);function Zk(e){let t=W.useContext(Xk);if(t===void 0&&!e)throw Error(av(33));return t}var Qk=W.createContext(void 0);function $k(e){let t=W.useContext(Qk);if(t===void 0&&!e)throw Error(av(36));return t}function eA(e){let{closeOnClick:t,highlighted:n,id:r,nodeId:i,store:a,typingRef:o,itemRef:s,itemMetadata:c}=e,{events:l}=a.useState(`floatingTreeRoot`),u=a.useState(`open`),d=Yk(!0),f=d!==void 0;return W.useMemo(()=>({id:r,role:`menuitem`,tabIndex:u&&n?0:-1,onKeyDown(e){e.key===` `&&o?.current&&e.preventDefault()},onMouseMove(e){i&&l.emit(`itemhover`,{nodeId:i,target:e.currentTarget})},onClick(e){t&&l.emit(`close`,{domEvent:e,reason:Xy})},onMouseUp(e){if(d){let t=d.initialCursorPointRef.current;if(d.initialCursorPointRef.current=null,f&&t&&Math.abs(e.clientX-t.x)<=1&&Math.abs(e.clientY-t.y)<=1||f&&!xv&&e.button===2)return}s.current&&a.context.allowMouseUpTriggerRef.current&&(!f||e.button===2)&&c.type===`regular-item`&&zD(s.current,e,{detail:1})}}),[t,n,r,l,i,u,a,o,s,d,f,c])}var tA={type:`regular-item`};function nA(e){let{closeOnClick:t,disabled:n,highlighted:r,id:i,store:a,typingRef:o=a.context.typingRef,nativeButton:s,itemMetadata:c,nodeId:l}=e,u=W.useRef(null),{getButtonProps:d,buttonRef:f}=BD({disabled:n,focusableWhenDisabled:!0,native:s,composite:!0}),p=eA({closeOnClick:t,highlighted:r,id:i,nodeId:l,store:a,typingRef:o,itemRef:u,itemMetadata:c}),m=W.useCallback(e=>gS(p,{onMouseEnter(){c.type===`submenu-trigger`&&c.setActive()}},e,d),[p,d,c]),h=mb(u,f);return W.useMemo(()=>({getItemProps:m,itemRef:h}),[m,h])}var rA=W.forwardRef(function(e,t){let{render:n,className:r,id:i,label:a,nativeButton:o=!1,disabled:s=!1,closeOnClick:c=!0,style:l,...u}=e,d=$O({guess:!0,label:a}),f=Zk(!0),p=QT(i),{store:m}=$k(),h=m.useState(`disabled`),g=s||h,_=m.useState(`isActive`,d.index),v=m.useState(`itemProps`),{getItemProps:y,itemRef:b}=nA({closeOnClick:c,disabled:g,highlighted:_,id:p,store:m,nativeButton:o,nodeId:f?.context.nodeId,itemMetadata:tA});return AS(`div`,e,{state:{disabled:g,highlighted:_},props:[v,u,y],ref:[b,t,d.ref]})}),iA=W.forwardRef(function(e,t){let{render:n,className:r,style:i,finalFocus:a,...o}=e,{store:s}=$k(),{side:c,align:l}=Zk(),u=OO(!0)!=null,d=s.useState(`open`),f=s.useState(`transitionStatus`),p=s.useState(`popupProps`),m=s.useState(`mounted`),h=s.useState(`instantType`),g=s.useState(`activeTriggerElement`),_=s.useState(`parent`),v=s.useState(`lastOpenChangeReason`),y=s.useState(`rootId`),b=s.useState(`floatingRootContext`),x=s.useState(`floatingTreeRoot`),S=s.useState(`closeDelay`),C=s.useState(`hoverEnabled`),w=s.useState(`disabled`),T=s.useState(`openMethod`),E=_.type===`context-menu`;Kw({open:d,ref:s.context.popupRef,onComplete(){d&&s.context.onOpenChangeComplete?.(!0)}}),W.useEffect(()=>{function e(e){s.setOpen(!1,cb(e.reason,e.domEvent))}return x.events.on(`close`,e),()=>{x.events.off(`close`,e)}},[x.events,s]),ET(b,{enabled:C&&!w&&!E&&_.type!==`menubar`,closeDelay:S});let D=s.useStateSetter(`popupElement`),O=AS(`div`,e,{state:{transitionStatus:f,side:c,align:l,open:d,nested:_.type===`menu`,instant:h},ref:[t,s.context.popupRef,D],stateAttributesMapping:Ay,props:[p,{onKeyDown(e){u&&NO.has(e.key)&&e.stopPropagation()}},kE(f),o,{"data-rootownerid":y}]}),k=_.type===void 0||E;return(g||_.type===`menubar`&&v!==`outside-press`)&&(k=!0),(0,Z.jsx)(hC,{context:b,openInteractionType:T,modal:E,disabled:!m,returnFocus:a===void 0?k:a,initialFocus:_.type!==`menu`,restoreFocus:!0,externalTree:_.type===`menubar`?void 0:x,previousFocusableElement:g,nextFocusableElement:_.type===void 0?s.context.triggerFocusTargetRef:void 0,beforeContentFocusGuardRef:_.type===void 0?s.context.beforeContentFocusGuardRef:void 0,children:O})}),aA=W.createContext(void 0);function oA(){let e=W.useContext(aA);if(e===void 0)throw Error(av(32));return e}var sA=W.forwardRef(function(e,t){let{keepMounted:n=!1,...r}=e,{store:i,parent:a}=$k();if(!(i.useState(`mounted`)||n))return null;let o=a.type===`menu`||a.type===`menubar`?`group`:void 0;return(0,Z.jsx)(aA.Provider,{value:n,children:(0,Z.jsx)(XS,{ref:t,...r,portalOwnerRole:o})})}),cA=W.forwardRef(function(e,t){let{anchor:n,positionMethod:r=`absolute`,className:i,render:a,side:o,align:s,sideOffset:c=0,alignOffset:l=0,collisionBoundary:u=`clipping-ancestors`,collisionPadding:d=5,arrowPadding:f=5,sticky:p=!1,disableAnchorTracking:m=!1,collisionAvoidance:h=HS,style:g,..._}=e,{store:v}=$k(),y=oA(),b=Yk(!0),x=v.useState(`parent`),S=v.useState(`floatingRootContext`),C=v.useState(`floatingTreeRoot`),w=v.useState(`mounted`),T=v.useState(`open`),E=v.useState(`modal`),D=v.useState(`openMethod`),O=v.useState(`activeTriggerElement`),k=v.useState(`transitionStatus`),A=v.useState(`positionerElement`),j=v.useState(`instantType`),M=v.useState(`adaptiveOrigin`),N=v.useState(`lastOpenChangeReason`),P=v.useState(`floatingNodeId`),F=v.useState(`floatingParentNodeId`),I=S.useState(`domReferenceElement`),L=W.useRef(null),R=Gw(A),ee=n,z=c,te=l,ne=s,re=h;x.type===`context-menu`&&(ee=n??x.context?.anchor,ne??=`start`,!o&&ne!==`center`&&(te=e.alignOffset??2,z=e.sideOffset??-5));let B=o,ie=ne;x.type===`menu`?(B??=`inline-end`,ie??=`start`,re=e.collisionAvoidance??US):x.type===`menubar`&&(B??=x.context.orientation===`vertical`?`inline-end`:`bottom`,ie??=`start`);let ae=x.type===`context-menu`,oe=EE({anchor:ee,floatingRootContext:S,positionMethod:b?`fixed`:r,mounted:w,side:B,sideOffset:z,align:ie,alignOffset:te,arrowPadding:ae?0:f,collisionBoundary:u,collisionPadding:d,sticky:p,nodeId:P,keepMounted:y,disableAnchorTracking:m,collisionAvoidance:re,shift:ae?{crossAxis:!(`side`in re&&re.side===`flip`),rootBoundary:`layoutViewport`}:void 0,externalTree:C,adaptiveOrigin:M});W.useEffect(()=>{function e(e){e.open&&(e.parentNodeId===P&&v.set(`hoverEnabled`,!1),e.nodeId!==P&&e.parentNodeId===v.select(`floatingParentNodeId`)&&v.setOpen(!1,cb(rb)))}return C.events.on(`menuopenchange`,e),()=>{C.events.off(`menuopenchange`,e)}},[v,C.events,P]),W.useEffect(()=>{if(v.select(`floatingParentNodeId`)==null)return;function e(e){if(e.open||e.nodeId!==v.select(`floatingParentNodeId`))return;let t=e.reason??`sibling-open`;v.setOpen(!1,cb(t))}return C.events.on(`menuopenchange`,e),()=>{C.events.off(`menuopenchange`,e)}},[C.events,v]);let se=dv();W.useEffect(()=>{T||se.clear()},[T,se]),W.useEffect(()=>{function e(e){if(T&&e.nodeId===v.select(`floatingParentNodeId`)){if(e.target&&O&&O!==e.target){let e=v.select(`closeDelay`);e>0?se.isStarted()||se.start(e,()=>{v.setOpen(!1,cb(rb))}):v.setOpen(!1,cb(rb))}else se.clear()}}return C.events.on(`itemhover`,e),()=>{C.events.off(`itemhover`,e)}},[C.events,T,O,v,se]),W.useEffect(()=>{let e={open:T,nodeId:P,parentNodeId:F,reason:v.select(`lastOpenChangeReason`)};C.events.emit(`menuopenchange`,e)},[C.events,T,v,P,F]),X(()=>{let e=I,t=L.current;if(e&&(L.current=e),t&&e&&e!==t){v.set(`instantType`,void 0);let e=new AbortController;return R(()=>{v.set(`instantType`,`trigger-change`)},e.signal),()=>{e.abort()}}},[I,R,v]);let ce={open:T,side:oe.side,align:oe.align,anchorHidden:oe.anchorHidden,nested:x.type===`menu`,instant:j},le=x.type===`menubar`&&x.context.modal;SO(T&&(le||E&&N!==`trigger-hover`),D===`touch`,A,O);let V=AE(e,ce,{styles:oe.positionerStyles,transitionStatus:k,props:_,refs:[t,v.useStateSetter(`positionerElement`)],hidden:!w,inert:!T}),H=w&&x.type!==`menu`&&(x.type!==`menubar`&&E&&N!==`trigger-hover`||x.type===`menubar`&&x.context.modal),ue=null;return x.type===`menubar`?ue=x.context.contentElement:x.type===void 0&&(ue=O),(0,Z.jsxs)(Xk.Provider,{value:oe,children:[H&&(0,Z.jsx)(sO,{ref:x.type===`context-menu`||x.type===`nested-context-menu`?x.context.internalBackdropRef:null,inert:NE(!T),cutout:ue}),(0,Z.jsx)(iC,{id:P,children:(0,Z.jsx)(QD,{elementsRef:v.context.itemDomElements,labelsRef:v.context.itemLabels,children:V})})]})}),lA=W.createContext(null);function uA(e){let t=W.useContext(lA);if(t===null&&!e)throw Error(av(5));return t}var dA={...mT,disabled:e=>e.parent.type===`menubar`&&e.parent.context.disabled||e.disabled,modal:e=>(e.parent.type===void 0||e.parent.type===`context-menu`)&&(e.modal??!0),openMethod:e=>e.openMethod,allowMouseEnter:e=>e.allowMouseEnter,highlightItemOnHover:e=>e.highlightItemOnHover,parent:e=>e.parent,rootId:e=>e.parent.type===`menu`?e.parent.store.select(`rootId`):e.parent.type===void 0?e.rootId:e.parent.context.rootId,activeIndex:e=>e.activeIndex,isActive:(e,t)=>e.activeIndex===t,hoverEnabled:e=>e.hoverEnabled,instantType:e=>e.instantType,lastOpenChangeReason:e=>e.openChangeReason,floatingTreeRoot:e=>e.parent.type===`menu`?e.parent.store.select(`floatingTreeRoot`):e.floatingTreeRoot,floatingNodeId:e=>e.floatingNodeId,floatingParentNodeId:e=>e.floatingParentNodeId,itemProps:e=>e.itemProps,closeDelay:e=>e.closeDelay,adaptiveOrigin:e=>e.adaptiveOrigin,keyboardEventRelay:e=>{if(e.keyboardEventRelay)return e.keyboardEventRelay;if(e.parent.type===`menu`)return e.parent.store.select(`keyboardEventRelay`)}},fA=class extends Rw{constructor(e,t,n=!1){let r=new sT,i=mA(r,t,n,e);super(i,pA(r),dA),this.unsubscribeParentListener=this.observe(`parent`,e=>{if(this.unsubscribeParentListener?.(),e.type===`menu`){let t=e.store.select(`rootId`),n=e.store.select(`floatingTreeRoot`),r=e.store.select(`keyboardEventRelay`);this.unsubscribeParentListener=e.store.subscribe(()=>{let i=e.store.select(`rootId`),a=e.store.select(`floatingTreeRoot`),o=e.store.select(`keyboardEventRelay`);(t!==i||n!==a||r!==o)&&(t=i,n=a,r=o,this.notifyAll())}),this.context.allowMouseUpTriggerRef=e.store.context.allowMouseUpTriggerRef;return}e.type!==void 0&&(this.context.allowMouseUpTriggerRef=e.context.allowMouseUpTriggerRef),this.unsubscribeParentListener=null})}setOpen(e,t){this.state.floatingRootContext.context.events.emit(`setOpen`,{open:e,eventDetails:t})}unsubscribeParentListener=null};function pA(e){return{positionerRef:W.createRef(),popupRef:W.createRef(),typingRef:{current:!1},itemDomElements:{current:[]},itemLabels:{current:[]},allowMouseUpTriggerRef:{current:!1},triggerFocusTargetRef:W.createRef(),beforeContentFocusGuardRef:W.createRef(),onOpenChangeComplete:void 0,triggerElements:e}}function mA(e,t,n=!1,r){return{...cT(e,t,n),disabled:!1,modal:!0,openMethod:null,allowMouseEnter:!1,highlightItemOnHover:!0,parent:{type:void 0},rootId:void 0,activeIndex:null,hoverEnabled:!0,instantType:void 0,openChangeReason:null,floatingTreeRoot:new QS,floatingNodeId:void 0,floatingParentNodeId:null,itemProps:rv,keyboardEventRelay:void 0,closeDelay:0,adaptiveOrigin:void 0,...r}}var hA=W.createContext(void 0);function gA(){return W.useContext(hA)}var _A=Q_(function(e){let{children:t,open:n,onOpenChange:r,onOpenChangeComplete:i,defaultOpen:a=!1,disabled:o=!1,modal:s,loopFocus:c=!0,orientation:l=`vertical`,actionsRef:u,closeParentOnEsc:d=!1,handle:f,triggerId:p,defaultTriggerId:m=null,highlightItemOnHover:h=!0}=e,g=Yk(!0),_=$k(!0),v=uA(!0),y=gA(),b=W.useMemo(()=>y&&_?{type:`menu`,store:_.store}:v?{type:`menubar`,context:v}:g&&!_?{type:`context-menu`,context:g}:{type:void 0},[g,_,v,y]),x=sS(),S=sS(),C=tC(),w=b.type===`menu`?b.store:void 0,T=(n??a)&&w?.state.transitionStatus===`starting`,E=q_(()=>T?w?.state.instantType:void 0).current,D=vA({open:a,openProp:n,activeTriggerId:m,triggerIdProp:p,parent:b,disabled:o,highlightItemOnHover:h,modal:b.type===void 0?s:void 0,rootId:x,instantType:E},S,C!=null);D.useControlledProp(`openProp`,n),D.useControlledProp(`triggerIdProp`,p),D.useContextCallback(`onOpenChangeComplete`,i);let O=D.useState(`floatingTreeRoot`),k=rC(O),A=D.useState(`open`),j=D.useState(`activeTriggerElement`),M=D.useState(`positionerElement`),N=D.useState(`hoverEnabled`),P=D.useState(`disabled`),F=D.useState(`lastOpenChangeReason`),I=D.useState(`parent`),L=D.useState(`activeIndex`),R=D.useState(`payload`),ee=D.useState(`floatingParentNodeId`),z=W.useRef(null),te=W.useRef(I.type!==`context-menu`),ne=dv(),re=W.useRef(!0),B=dv(),ie=ee!=null,{openMethod:ae,triggerProps:oe}=DD(A);D.useSyncedValues({disabled:o,highlightItemOnHover:h,modal:I.type===void 0?s:void 0,openMethod:ae,rootId:x}),rT(D);let{forceUnmount:se,transitionStatus:ce}=iT(A,D,()=>{D.set(`allowMouseEnter`,!1)},T),le=Gw(D.context.popupRef);W.useEffect(()=>{if(E===void 0)return;let e=()=>{D.state.instantType===E&&D.set(`instantType`,void 0)};if(!A){e();return}if(ce!==void 0)return;if(D.context.popupRef.current==null){e();return}let t=new AbortController;return le(e,t.signal),()=>{t.abort()}},[E,A,ce,le,D]),X(()=>{g&&!_?D.update({parent:{type:`context-menu`,context:g},floatingNodeId:k,floatingParentNodeId:C}):_&&D.update({floatingNodeId:k,floatingParentNodeId:C})},[g,_,k,C,D]),W.useEffect(()=>{if(A||(z.current=null),I.type===`context-menu`){if(!A){ne.clear(),te.current=!1;return}ne.start(500,()=>{te.current=!0})}},[ne,A,I.type]),X(()=>{!A&&!N&&D.set(`hoverEnabled`,!0)},[A,N,D]);let V=Q((e,t)=>{let n=t.reason;if(!e&&!D.select(`open`)||A===e&&t.trigger===j&&F===n)return;let i=eT(t);if(!e&&t.trigger==null&&(t.trigger=j??void 0),r?.(e,t),t.isCanceled)return;D.state.floatingRootContext.dispatchOpenChange(e,t);let a=t.event;if(e===!1&&a?.type===`click`&&a.pointerType===`touch`&&!re.current)return;e&&n===`trigger-focus`?(re.current=!1,B.start(300,()=>{re.current=!0})):(re.current=!0,B.clear());let o=(n===`trigger-press`||n===`item-press`)&&a.detail===0,s=!e&&(n===`escape-key`||n==null);z.current=t.event;let c=$w(D.state,e,t.trigger,i());c.openChangeReason=n,c.instantType=I.type===`menubar`&&(n===`trigger-focus`||n===`focus-out`||n===`trigger-hover`||n===`list-navigation`||n===`sibling-open`)?`group`:o||s?o?`click`:`dismiss`:void 0,D.update(c)}),H=Vw({popupStore:D,floatingRootContext:D.state.floatingRootContext,floatingId:S,nested:C!=null,onOpenChange:V}),ue=H.context.events;X(()=>{let e=({open:e,eventDetails:t})=>V(e,t);return ue.on(`setOpen`,e),()=>{ue?.off(`setOpen`,e)}},[ue,V]);let de=W.useCallback(()=>{D.setOpen(!1,cb(ab))},[D]);W.useImperativeHandle(u,()=>({unmount:se,close:de}),[se,de]);let fe;I.type===`context-menu`&&(fe=I.context),W.useImperativeHandle(fe?.positionerRef,()=>M,[M]),W.useImperativeHandle(fe?.actionsRef,()=>({setOpen:V}),[V]);let U=SC(H,{enabled:!P,bubbles:{escapeKey:d&&I.type===`menu`},outsidePress(){return I.type!==`context-menu`||z.current?.type===`contextmenu`||te.current},externalTree:ie?O:void 0}),pe=fE(),me=W.useCallback(e=>{D.select(`activeIndex`)!==e&&D.set(`activeIndex`,e)},[D]),he=IT(H,{enabled:!P,listRef:D.context.itemDomElements,activeIndex:L,nested:I.type!==void 0,loopFocus:c,orientation:l,parentOrientation:I.type===`menubar`?I.context.orientation:void 0,rtl:pe===`rtl`,disabledIndices:nv,onNavigate:me,openOnArrowKeyDown:I.type!==`context-menu`,externalTree:ie?O:void 0,focusItemOnHover:h}),ge=W.useCallback(e=>{D.context.typingRef.current=e},[D]),_e=LT(H,{enabled:!P,listRef:D.context.itemLabels,elementsRef:D.context.itemDomElements,activeIndex:L,resetMs:500,onMatch:e=>{A&&e!==L&&D.set(`activeIndex`,e)},onTyping:ge}),ve=W.useMemo(()=>{let e=gS(_e.reference,he.reference,U.reference,{onMouseMove(){D.set(`allowMouseEnter`,!0)}},oe);return e[`aria-haspopup`]=`menu`,e[`aria-expanded`]=A,e},[D,_e.reference,he.reference,U.reference,oe,A]),ye=W.useMemo(()=>{let e=gS(he.trigger,U.trigger,oe);return e[`aria-haspopup`]=`menu`,e[`aria-expanded`]=!1,e},[he.trigger,U.trigger,oe]);q_(()=>(D.update({inactiveTriggerProps:ye}),null)),aT(D,{floatingRootContext:H,activeTriggerProps:ve,inactiveTriggerProps:ye,popupProps:W.useMemo(()=>gS(qw,{id:S,role:`menu`,"aria-orientation":l===`horizontal`?`horizontal`:void 0,"aria-labelledby":j?.id,onMouseMove(){D.set(`allowMouseEnter`,!0),I.type===`menu`&&D.set(`hoverEnabled`,!1)},onClick(){D.select(`hoverEnabled`)&&D.set(`hoverEnabled`,!1)},onKeyDown(e){let t=D.select(`keyboardEventRelay`);t&&!e.isPropagationStopped()&&t(e)}},_e.floating,he.floating,U.floating),[j,S,l,I.type,D,_e.floating,he.floating,U.floating]),itemProps:he.item??rv});let be=W.useMemo(()=>({store:D,parent:b}),[D,b]),xe=(0,Z.jsxs)(Qk.Provider,{value:be,children:[f&&(0,Z.jsx)(Xw,{handle:f,store:D}),typeof t==`function`?t({payload:R}):t]});return I.type===void 0||I.type===`context-menu`?(0,Z.jsx)(aC,{externalTree:O,children:xe}):xe});function vA(e,t,n){return q_(()=>new fA(e,t,n)).current}function yA(e){if(Rv(e)&&e.hasAttribute(`data-rootownerid`))return e.getAttribute(`data-rootownerid`);if(!Xv(e))return yA($v(e))}function bA(e,t){let n=W.useRef(null);function r(t){GS.flushSync(()=>{e.setOpen(!1,cb(Qy,t.nativeEvent,t.currentTarget))}),Lx(n.current)?.focus()}function i(n){let r=e.select(`positionerElement`);if(r&&Rx(n,r))e.context.beforeContentFocusGuardRef.current?.focus();else{GS.flushSync(()=>{e.setOpen(!1,cb(Qy,n.nativeEvent,n.currentTarget))});let i=Ix(e.context.triggerFocusTargetRef.current||t.current);for(;i!==null&&iy(r,i);){let e=i;if(i=Nx(i),i===e)break}i?.focus()}}return{preFocusGuardRef:n,handlePreFocusGuardFocus:r,handleFocusTargetFocus:i}}function xA(e){let[t,n]=W.useState({getBoundingClientRect(){return DOMRect.fromRect({width:0,height:0,x:0,y:0})}}),r=W.useRef(null),i=W.useRef(null),a=W.useRef(null),o=W.useRef(null),s=W.useRef(!0),c=W.useRef(null),l=sS(),u=W.useMemo(()=>({anchor:t,setAnchor:n,actionsRef:a,backdropRef:r,internalBackdropRef:i,positionerRef:o,allowMouseUpTriggerRef:s,initialCursorPointRef:c,rootId:l}),[t,l]);return(0,Z.jsx)(Jk.Provider,{value:u,children:(0,Z.jsx)(Qk.Provider,{value:void 0,children:(0,Z.jsx)(_A,{...e})})})}var SA=500,CA=W.forwardRef(function(e,t){let{render:n,className:r,style:i,...a}=e,{setAnchor:o,actionsRef:s,internalBackdropRef:c,backdropRef:l,positionerRef:u,allowMouseUpTriggerRef:d,initialCursorPointRef:f,rootId:p}=Yk(!1),{store:m}=$k(!1),h=m.useState(`open`),g=m.useState(`disabled`),_=W.useRef(null),v=W.useRef(null),y=dv(),b=dv(),x=W.useRef(!1),S=W.useRef(null);function C(e,t,n){let r=n.type.startsWith(`touch`);f.current={x:e,y:t},o({getBoundingClientRect(){return DOMRect.fromRect({width:r?10:0,height:r?10:0,x:e,y:t})}}),x.current=!1,s.current?.setOpen(!0,cb(Ky,n)),b.start(SA,()=>{x.current=!0})}function w(e){if(g)return;d.current=!0,Ev(e),C(e.clientX,e.clientY,e.nativeEvent);let t=jb(_.current);S.current?.abort();let n=new AbortController;S.current=n,t.addEventListener(`mouseup`,e=>{if(d.current=!1,!x.current)return;b.clear(),x.current=!1;let t=ay(e);iy(u.current,t)||p&&t&&yA(t)===p||s.current?.setOpen(!1,cb(nb,e))},{once:!0,signal:n.signal})}function T(){y.clear(),v.current=null}function E(e){if(g){T();return}if(d.current=!1,e.touches.length!==1){T();return}e.stopPropagation();let t=e.touches[0],n={x:t.clientX,y:t.clientY};v.current=n,y.start(SA,()=>{C(n.x,n.y,e.nativeEvent)})}function D(e){if(e.touches.length!==1){T();return}if(y.isStarted()&&v.current){let t=e.touches[0],n=Math.abs(t.clientX-v.current.x),r=Math.abs(t.clientY-v.current.y);(n>10||r>10)&&T()}}return W.useEffect(()=>()=>{S.current?.abort()},[]),W.useEffect(()=>{function e(e){if(g)return;let t=ay(e);(iy(_.current,t)||iy(c.current,t)||iy(l.current,t))&&e.preventDefault()}return fb(jb(_.current),`contextmenu`,e)},[l,g,c]),AS(`div`,e,{state:{open:h},ref:[_,t],props:[{onContextMenu:w,onTouchStart:E,onTouchMove:D,onTouchEnd:T,onTouchCancel:T,style:{WebkitTouchCallout:`none`}},a],stateAttributesMapping:Oy})}),wA=cA,TA=W.createContext(void 0);function EA(){let e=W.useContext(TA);if(e===void 0)throw Error(av(53));return e}function DA(e,t,n){if(!e)return 0;let r=getComputedStyle(e),i=`${t}${n===`x`?`Inline`:`Block`}`,a=parseFloat(r[`${i}Start`]);return n===`x`&&t===`margin`?a*2:a+parseFloat(r[`${i}End`])}var OA=`data-has-overflow-x`,kA=`data-has-overflow-y`,AA=`data-overflow-x-start`,jA=`data-overflow-x-end`,MA=`data-overflow-y-start`,NA=`data-overflow-y-end`,PA=e=>t=>t?{[e]:``}:null,FA={hasOverflowX:PA(OA),hasOverflowY:PA(kA),overflowXStart:PA(AA),overflowXEnd:PA(jA),overflowYStart:PA(MA),overflowYEnd:PA(NA),cornerHidden:()=>null},IA=`--scroll-area-corner-height`,LA=`--scroll-area-corner-width`,RA=`data-orientation`,zA={x:0,y:0},BA={width:0,height:0},VA={xStart:!1,xEnd:!1,yStart:!1,yEnd:!1},HA={x:!0,y:!0,corner:!0},UA=W.forwardRef(function(e,t){let{render:n,className:r,overflowEdgeThreshold:i,style:a,...o}=e,{xStart:s,xEnd:c,yStart:l,yEnd:u}=WA(i),d=QT(),f=dv(),p=dv(),{nonce:m,disableStyleElements:h}=HO(),[g,_]=W.useState(!1),[v,y]=W.useState(!1),[b,x]=W.useState(!1),[S,C]=W.useState(!1),[w,T]=W.useState(!1),[E,D]=W.useState(BA),[O,k]=W.useState(BA),[A,j]=W.useState(VA),[M,N]=W.useState(HA),P=W.useRef(null),F=W.useRef(null),I=W.useRef(null),L=W.useRef(null),R=W.useRef(null),ee=W.useRef(null),z=W.useRef(null),te=W.useRef(null),ne=W.useRef(0),re=W.useRef(0),B=W.useRef(0),ie=W.useRef(0),ae=W.useRef(`vertical`),oe=W.useRef(zA),se=W.useRef(null);function ce(e){let t=e?x:y,n=e?f:p;t(!0),n.start(500,()=>{t(!1)})}let le=Q(e=>{let t=e.x-oe.current.x,n=e.y-oe.current.y;oe.current=e,n!==0&&ce(!0),t!==0&&ce(!1)}),V=Q(()=>{let e=F.current;e&&se.current===null&&(se.current=e.style.scrollSnapType,e.style.scrollSnapType=`none`)}),H=Q(e=>{if(e.button!==0||te.current!==null&&(ae.current===`vertical`?R.current:ee.current)?.hasPointerCapture(te.current))return;te.current=e.pointerId,ne.current=e.clientY,re.current=e.clientX,ae.current=e.currentTarget.getAttribute(RA);let t=F.current;t&&(B.current=t.scrollTop,ie.current=t.scrollLeft,V()),(ae.current===`vertical`?R.current:ee.current)?.setPointerCapture(e.pointerId)}),ue=Q(e=>{if(e.pointerId!==te.current)return;te.current=null,(ae.current===`vertical`?x:y)(!1),se.current!==null&&(F.current&&(F.current.style.scrollSnapType=se.current),se.current=null);let t=ae.current===`vertical`?R.current:ee.current;t?.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId)}),de=Q(e=>{if(e.pointerId!==te.current)return;if(e.buttons%2==0){ue(e);return}let t=F.current;if(!t)return;let n=ae.current===`vertical`,r=n?R.current:ee.current,i=n?I.current:L.current;if(!r||!i)return;let a=n?`y`:`x`,o=DA(i,`padding`,a),s=DA(r,`margin`,a),c=n?r.offsetHeight:r.offsetWidth,l=(n?i.offsetHeight:i.offsetWidth)-c-o-s,u=n?e.clientY-ne.current:e.clientX-re.current,d=l<=0?0:u/l,f=n?t.scrollHeight:t.scrollWidth,p=n?t.clientHeight:t.clientWidth,m=(n?B.current:ie.current)+d*(f-p);n?t.scrollTop=m:t.scrollLeft=m,e.preventDefault(),ce(n)});function fe(e){C(e.pointerType===`touch`)}function U(e){if(fe(e),e.pointerType!==`touch`){let t=iy(P.current,e.target);_(t)}}let pe=W.useMemo(()=>({scrolling:v||b,hasOverflowX:!M.x,hasOverflowY:!M.y,overflowXStart:A.xStart,overflowXEnd:A.xEnd,overflowYStart:A.yStart,overflowYEnd:A.yEnd,cornerHidden:M.corner}),[v,b,M.x,M.y,M.corner,A]),me={role:`presentation`,onPointerEnter:U,onPointerMove:U,onPointerDown:fe,onPointerLeave(){_(!1)},style:{position:`relative`,[IA]:`${E.height}px`,[LA]:`${E.width}px`}},he=AS(`div`,e,{state:pe,ref:[t,P],props:[me,o],stateAttributesMapping:FA}),ge=W.useMemo(()=>({handlePointerDown:H,handlePointerMove:de,handlePointerUp:ue,handleScroll:le,disableViewportSnap:V,cornerSize:E,setCornerSize:D,thumbSize:O,setThumbSize:k,hasMeasuredScrollbar:w,setHasMeasuredScrollbar:T,touchModality:S,cornerRef:z,scrollingX:v,scrollingY:b,hovering:g,setHovering:_,viewportRef:F,scrollbarYRef:I,scrollbarXRef:L,thumbYRef:R,thumbXRef:ee,rootId:d,hiddenState:M,setHiddenState:N,overflowEdges:A,setOverflowEdges:j,viewportState:pe,overflowEdgeThreshold:{xStart:s,xEnd:c,yStart:l,yEnd:u}}),[H,de,ue,le,V,E,O,w,S,v,b,g,d,M,A,pe,s,c,l,u]);return(0,Z.jsxs)(TA.Provider,{value:ge,children:[!h&&EO.getElement(m),he]})});function WA(e){let t=typeof e==`number`?{xStart:e,xEnd:e,yStart:e,yEnd:e}:e;return{xStart:Math.max(0,t?.xStart||0),xEnd:Math.max(0,t?.xEnd||0),yStart:Math.max(0,t?.yStart||0),yEnd:Math.max(0,t?.yEnd||0)}}var GA=W.createContext(void 0),KA=`--scroll-area-overflow-x-start`,qA=`--scroll-area-overflow-x-end`,JA=`--scroll-area-overflow-y-start`,YA=`--scroll-area-overflow-y-end`,XA=`--scroll-area-thumb-height`,ZA=`--scroll-area-thumb-width`,QA=[KA,qA,JA,YA],$A=!1;function ej(){$A||Cv||(typeof CSS<`u`&&`registerProperty`in CSS&&QA.forEach(e=>{try{CSS.registerProperty({name:e,syntax:`<length>`,inherits:!1,initialValue:`0px`})}catch{}}),$A=!0)}var tj=W.forwardRef(function(e,t){let{render:n,className:r,style:i,...a}=e,{viewportRef:o,scrollbarYRef:s,scrollbarXRef:c,thumbYRef:l,thumbXRef:u,cornerRef:d,cornerSize:f,setCornerSize:p,setThumbSize:m,rootId:h,setHiddenState:g,hiddenState:_,setHasMeasuredScrollbar:v,handleScroll:y,touchModality:b,setHovering:x,setOverflowEdges:S,overflowEdgeThreshold:C,viewportState:w}=EA(),T=fE(),E=W.useRef(!0),D=W.useRef([NaN,NaN,NaN,NaN]),O=dv(),k=dv(),A=Q(()=>{let e=o.current,t=s.current,n=c.current,r=l.current,i=u.current,a=d.current;if(!e)return;let h=e.scrollHeight,_=e.scrollWidth,y=e.clientHeight,b=e.clientWidth,x=e.scrollTop,w=e.scrollLeft,E=D.current,O=Number.isNaN(E[0]);if(E[0]=y,E[1]=h,E[2]=b,E[3]=_,O&&v(!0),h===0||_===0)return;let k=nj(e),A=k.y,j=k.x,M=b/_,N=y/h,P=Math.max(0,_-b),F=Math.max(0,h-y),I=0,L=0;j||(I=AD(T===`rtl`?-w:w,P),L=P-I);let R=A?0:AD(x,F),ee=A?0:F-R,z=j?0:b,te=A?0:y,ne=0,re=0;!j&&!A&&(ne=t?.offsetWidth||0,re=n?.offsetHeight||0);let B=f.width===0&&f.height===0,ie=B?ne:0,ae=B?re:0,oe=DA(n,`padding`,`x`),se=DA(t,`padding`,`y`),ce=DA(i,`margin`,`x`),le=DA(r,`margin`,`y`),V=z-oe-ce,H=te-se-le,ue=n?Math.min(n.offsetWidth-ie,V):V,de=t?Math.min(t.offsetHeight-ae,H):H,fe=Math.max(16,ue*M),U=Math.max(16,de*N);if(m(e=>rj(e,{width:fe,height:U})),t&&r){let e=ij(r,XA,x,F,h,U,t.offsetHeight-U-se-le);r.style.transform=`translate3d(0,${e}px,0)`}if(n&&i){let e=n.offsetWidth-fe-oe-ce,t=ij(i,ZA,T===`rtl`?-w:w,P,_,fe,e);i.style.transform=`translate3d(${T===`rtl`?-t:t}px,0,0)`}let pe=[I,L,R,ee];QA.forEach((t,n)=>{e.style.setProperty(t,`${pe[n]}px`)}),a&&p(e=>rj(e,{width:ne,height:re})),g(e=>rj(e,k));let me={xStart:!j&&I>C.xStart,xEnd:!j&&L>C.xEnd,yStart:!A&&R>C.yStart,yEnd:!A&&ee>C.yEnd};S(e=>rj(e,me))});X(()=>{ej()},[]),X(()=>{queueMicrotask(A)},[A,_,T,C.xStart,C.xEnd,C.yStart,C.yEnd]),X(()=>{o.current?.matches(`:hover`)&&x(!0)},[o,x]),X(()=>{let e=o.current;if(typeof ResizeObserver>`u`||!e)return;let t=!1,n=new ResizeObserver(()=>{if(!t){t=!0;let n=D.current;if(n[0]===e.clientHeight&&n[1]===e.scrollHeight&&n[2]===e.clientWidth&&n[3]===e.scrollWidth)return}A()});return n.observe(e),k.start(0,()=>{let t=e.getAnimations({subtree:!0});t.length!==0&&Promise.allSettled(t.map(e=>e.finished)).then(A).catch(()=>{})}),()=>{n.disconnect(),k.clear()}},[A,o,k]);function j(){E.current=!1}let M={role:`presentation`,...h&&{"data-id":`${h}-viewport`},tabIndex:_.x&&_.y?-1:0,className:EO.className,style:{overflow:`scroll`},onScroll(){o.current&&(A(),(b||!E.current)&&y({x:o.current.scrollLeft,y:o.current.scrollTop}),O.start(100,()=>{E.current=!0}))},onWheel:j,onPointerMove:j,onPointerEnter:j,onKeyDown:j},N=AS(`div`,e,{ref:[t,o],state:w,props:[M,a],stateAttributesMapping:FA}),P=W.useMemo(()=>({computeThumbPosition:A}),[A]);return(0,Z.jsx)(GA.Provider,{value:P,children:N})});function nj(e){let t=e.clientHeight>=e.scrollHeight,n=e.clientWidth>=e.scrollWidth;return{y:t,x:n,corner:t||n}}function rj(e,t){for(let n in t)if(e[n]!==t[n])return t;return e}function ij(e,t,n,r,i,a,o){let s=OD(n,0,r),c=n-s,l=Math.max(16,a*i/(i+Math.abs(c)));return e.style.setProperty(t,c?`${l}px`:``),(r?s/r*o:0)+(c>0?a-l:0)}var aj=W.createContext(void 0);function oj(){let e=W.useContext(aj);if(e===void 0)throw Error(av(54));return e}var sj=W.forwardRef(function(e,t){let{render:n,className:r,orientation:i=`vertical`,keepMounted:a=!1,style:o,...s}=e,{hovering:c,scrollingX:l,scrollingY:u,hiddenState:d,scrollbarYRef:f,scrollbarXRef:p,viewportRef:m,thumbYRef:h,thumbXRef:g,handlePointerDown:_,handlePointerUp:v,handleScroll:y,disableViewportSnap:b,rootId:x,thumbSize:S,hasMeasuredScrollbar:C,viewportState:w}=EA(),T=i===`vertical`,E={...w,hovering:c,scrolling:T?u:l,orientation:i},D=fE(),O=!C&&!a,k=T?d.y:d.x,A=a||!k;W.useEffect(()=>{if(!A)return;let e=m.current,t=T?f.current:p.current;if(!t)return;function n(t){if(!e||t.ctrlKey)return;let n=!T,r=n?`scrollLeft`:`scrollTop`,i=n?t.deltaX:t.deltaY;if(i===0)return;let a=n?e.scrollWidth-e.clientWidth:e.scrollHeight-e.clientHeight,o=n&&D===`rtl`?-a:0,s=n&&D===`rtl`?0:a,c=e[r];c<=o&&i<0||c>=s&&i>0||(t.preventDefault(),e[r]=Math.min(s,Math.max(o,c+i)),y({x:e.scrollLeft,y:e.scrollTop}))}return fb(t,`wheel`,n,{passive:!1})},[D,y,T,p,f,A,m]);let j={...x&&{"data-id":`${x}-scrollbar`},"aria-hidden":!0,onPointerDown(e){if(e.button!==0)return;let t=ay(e.nativeEvent),n=T?h.current:g.current;if(n&&iy(n,t))return;let r=m.current;if(!r)return;let i=T?f.current:p.current;if(!n||!i)return;let a=T?`y`:`x`,o=DA(n,`margin`,a),s=DA(i,`padding`,a),c=T?n.offsetHeight:n.offsetWidth,l=i.getBoundingClientRect(),u=T?e.clientY-l.top-c/2-s+o/2:e.clientX-l.left-c/2-s+o/2,d=T?r.scrollHeight:r.scrollWidth,v=T?r.clientHeight:r.clientWidth,x=(T?i.offsetHeight:i.offsetWidth)-c-s-o;if(x<=0)return;let S=u/x,C=d-v;b(),T?r.scrollTop=S*C:r.scrollLeft=D===`rtl`?-(1-S)*C:S*C,y({x:r.scrollLeft,y:r.scrollTop}),_(e)},onMouseDown(e){e.preventDefault()},onPointerUp:v,onPointerCancel:v,style:{position:`absolute`,touchAction:`none`,WebkitUserSelect:`none`,userSelect:`none`,visibility:O?`hidden`:void 0,...T?{top:0,bottom:`var(${IA})`,insetInlineEnd:0,[XA]:`${S.height}px`}:{insetInlineStart:0,insetInlineEnd:`var(${LA})`,bottom:0,[ZA]:`${S.width}px`}}},M=AS(`div`,e,{ref:[t,T?f:p],state:E,props:[j,s],stateAttributesMapping:FA});return A?(0,Z.jsx)(aj.Provider,{value:i,children:M}):null}),cj=W.forwardRef(function(e,t){let{render:n,className:r,style:i,...a}=e,{thumbYRef:o,thumbXRef:s,handlePointerDown:c,handlePointerMove:l,handlePointerUp:u,scrollingX:d,scrollingY:f,hasMeasuredScrollbar:p}=EA(),m=oj(),h=m===`vertical`;return AS(`div`,e,{ref:[t,h?o:s],state:{scrolling:h?f:d,orientation:m},props:[{onPointerDown:c,onPointerMove:l,onPointerUp:u,onPointerCancel:u,style:{visibility:p?void 0:`hidden`,...h?{height:`var(--scroll-area-thumb-height)`}:{width:`var(--scroll-area-thumb-width)`}}},a]})}),lj=W.createContext(void 0);function uj(e){let t=W.useContext(lj);if(!e&&t===void 0)throw Error(av(27));return t}var dj=W.forwardRef(function(e,t){let{render:n,className:r,style:i,forceRender:a=!1,...o}=e,s=uj(),c=s.useState(`open`),l=s.useState(`nested`),u=s.useState(`mounted`);return AS(`div`,e,{state:{open:c,transitionStatus:s.useState(`transitionStatus`)},ref:[s.context.backdropRef,t],stateAttributesMapping:Ay,props:[{role:`presentation`,hidden:!u,style:{userSelect:`none`,WebkitUserSelect:`none`}},o],enabled:a||!l})}),fj=W.forwardRef(function(e,t){let{render:n,className:r,style:i,disabled:a=!1,nativeButton:o=!0,...s}=e,c=uj(),l=c.useState(`open`),{getButtonProps:u,buttonRef:d}=BD({disabled:a,native:o}),f={disabled:a};function p(e){l&&c.setOpen(!1,cb(Zy,e.nativeEvent))}return AS(`button`,e,{state:f,ref:[t,d],props:[{onClick:p},s,u]})}),pj=W.forwardRef(function(e,t){let{render:n,className:r,style:i,id:a,...o}=e,s=uj(),c=QT(a);return s.useSyncedValueWithCleanup(`descriptionElementId`,c),AS(`p`,e,{ref:t,props:[{id:c},o]})}),mj=W.createContext(void 0);function hj(){let e=W.useContext(mj);if(e===void 0)throw Error(av(26));return e}var gj=`--nested-dialogs`,_j=`data-nested-dialog-open`,vj={...ky,...gy,nestedDialogOpen(e){return e?{[_j]:``}:null}},yj=W.forwardRef(function(e,t){let{render:n,className:r,style:i,finalFocus:a,initialFocus:o,...s}=e,c=uj(),l=c.useState(`descriptionElementId`),u=c.useState(`disablePointerDismissal`),d=c.useState(`floatingRootContext`),f=c.useState(`popupProps`),p=c.useState(`modal`),m=c.useState(`mounted`),h=c.useState(`nested`),g=c.useState(`nestedOpenDialogCount`),_=c.useState(`open`),v=c.useState(`openMethod`),y=c.useState(`titleElementId`),b=c.useState(`transitionStatus`),x=c.useState(`role`),S=d.useState(`floatingId`);hj(),Kw({open:_,ref:c.context.popupRef,onComplete(){_&&c.context.onOpenChangeComplete?.(!0)}});let C=o===void 0?Jw(c.context.popupRef):o,w=g>0,T=c.useStateSetter(`popupElement`),E=AS(`div`,e,{state:{open:_,nested:h,transitionStatus:b,nestedDialogOpen:w},props:[f,{id:S,"aria-labelledby":y,"aria-describedby":l,role:x,...qw,hidden:!m,onKeyDown(e){NO.has(e.key)&&e.stopPropagation()},style:{[gj]:g}},s],ref:[t,c.context.popupRef,T],stateAttributesMapping:vj});return(0,Z.jsx)(hC,{context:d,openInteractionType:v,disabled:!m,closeOnFocusOut:!u,initialFocus:C,returnFocus:a,modal:p!==!1,restoreFocus:`popup`,children:E})}),bj=W.forwardRef(function(e,t){let{keepMounted:n=!1,...r}=e,i=uj(),a=i.useState(`mounted`),o=i.useState(`modal`),s=i.useState(`open`);return a||n?(0,Z.jsx)(mj.Provider,{value:n,children:(0,Z.jsxs)(XS,{ref:t,...r,children:[a&&o===!0&&(0,Z.jsx)(sO,{ref:i.context.internalBackdropRef,inert:NE(!s)}),e.children]})}):null});function xj({store:e,parentContext:t,isDrawer:n}){let r=e.useState(`open`),i=e.useState(`disablePointerDismissal`),a=e.useState(`modal`),o=e.useState(`popupElement`),s=e.useState(`floatingRootContext`),[c,l]=W.useState(0),[u,d]=W.useState(0),f=c===0,p=SC(s,{outsidePressEvent(){return e.context.internalBackdropRef.current||e.context.backdropRef.current?`intentional`:{mouse:a===`trap-focus`?`sloppy`:`intentional`,touch:`sloppy`}},outsidePress(t){if(!e.context.outsidePressEnabledRef.current||`button`in t&&t.button!==0)return!1;if(`touches`in t){if(t.type===`touchend`){if(t.changedTouches.length!==1||t.touches.length!==0)return!1}else if(t.touches.length!==1)return!1}let n=ay(t);if(f&&!i){if(a){let t=e.context.internalBackdropRef.current,r=e.context.backdropRef.current;return t||r?t===n||r===n||iy(n,o)&&!n?.hasAttribute(`data-base-ui-portal`):!0}return!0}return!1},escapeKey:f});return bO(r&&a===!0,o),e.useContextCallback(`onNestedDialogOpen`,(e,t)=>{l(e),d(t)}),X(()=>(t?.onNestedDialogOpen&&(r?t.onNestedDialogOpen(c+1,u+ +!!n):t.onNestedDialogOpen(0,0)),()=>{t?.onNestedDialogOpen&&r&&t.onNestedDialogOpen(0,0)}),[n,r,c,u,t]),aT(e,{activeTriggerProps:p.reference,inactiveTriggerProps:p.trigger,popupProps:p.floating,nestedOpenDialogCount:c,nestedOpenDrawerCount:u}),null}var Sj={...mT,modal:e=>e.modal,nested:e=>e.nested,nestedOpenDialogCount:e=>e.nestedOpenDialogCount,nestedOpenDrawerCount:e=>e.nestedOpenDrawerCount,disablePointerDismissal:e=>e.disablePointerDismissal,openMethod:e=>e.openMethod,descriptionElementId:e=>e.descriptionElementId,titleElementId:e=>e.titleElementId,viewportElement:e=>e.viewportElement,role:e=>e.role},Cj=class extends Rw{constructor(e,t,n){let r=new sT,i=wj(e,r,t,n);super(i,Tj(r),Sj)}setOpen=(e,t)=>{t.preventUnmountOnClose=()=>{this.set(`preventUnmountingOnClose`,!0)},!e&&t.trigger==null&&this.state.activeTriggerId!=null&&(t.trigger=this.state.activeTriggerElement??void 0),this.context.onOpenChange?.(e,t),!t.isCanceled&&(this.state.floatingRootContext.dispatchOpenChange(e,t),this.update($w(this.state,e,t.trigger)))}};function wj(e,t,n,r=!1){return{...cT(t,n,r),modal:!0,disablePointerDismissal:!1,viewportElement:null,descriptionElementId:void 0,titleElementId:void 0,openMethod:null,nested:!1,nestedOpenDialogCount:0,nestedOpenDrawerCount:0,role:`dialog`,...e}}function Tj(e){return{popupRef:W.createRef(),backdropRef:W.createRef(),internalBackdropRef:W.createRef(),outsidePressEnabledRef:{current:!0},triggerElements:e,onOpenChange:void 0,onOpenChangeComplete:void 0}}function Ej(e,t){let{children:n,open:r,defaultOpen:i=!1,onOpenChange:a,onOpenChangeComplete:o,disablePointerDismissal:s=!1,modal:c=!0,actionsRef:l,handle:u,triggerId:d,defaultTriggerId:f=null}=t,p=e===`drawer`,m=e===`alert-dialog`,h=m?!0:c,g=m||s,_=m?`alertdialog`:`dialog`,v=uj(!0),y={modal:h,disablePointerDismissal:g,nested:v!=null,role:_},b=Yw((e,t)=>new Cj({open:i,openProp:r,activeTriggerId:f,triggerIdProp:d,...y},e,t),!0);b.useControlledProp(`openProp`,r),b.useControlledProp(`triggerIdProp`,d),b.useSyncedValues(y),b.useContextCallback(`onOpenChange`,a),b.useContextCallback(`onOpenChangeComplete`,o);let x=b.useState(`open`),S=b.useState(`mounted`),C=b.useState(`payload`);oT(b,x),rT(b);let{forceUnmount:w}=iT(x,b);W.useImperativeHandle(l,()=>({unmount:w,close:()=>b.setOpen(!1,cb(ab))}),[w,b]);let T=x||S;return(0,Z.jsxs)(lj.Provider,{value:b,children:[u&&(0,Z.jsx)(Xw,{handle:u,store:b}),T&&(0,Z.jsx)(xj,{store:b,parentContext:v?.context,isDrawer:p}),typeof n==`function`?n({payload:C}):n]})}var Dj=Q_(function(e){return Ej(`dialog`,e)}),Oj=W.forwardRef(function(e,t){let{render:n,className:r,style:i,children:a,...o}=e,s=hj(),c=uj(),l=c.useState(`open`),u=c.useState(`nested`),d=c.useState(`transitionStatus`),f=c.useState(`nestedOpenDialogCount`),p=c.useState(`mounted`),m=c.useStateSetter(`viewportElement`);return AS(`div`,e,{enabled:s||p,state:{open:l,nested:u,transitionStatus:d,nestedDialogOpen:f>0},ref:[t,m],stateAttributesMapping:vj,props:[{role:`presentation`,hidden:!p,style:{pointerEvents:l?void 0:`none`},children:a},o]})}),kj=W.forwardRef(function(e,t){let{render:n,className:r,style:i,id:a,...o}=e,s=uj(),c=QT(a);return s.useSyncedValueWithCleanup(`titleElementId`,c),AS(`h2`,e,{ref:t,props:[{id:c},o]})}),Aj=$_(function(e,t){let{render:n,className:r,style:i,disabled:a=!1,nativeButton:o=!0,id:s,payload:c,handle:l,...u}=e,d=uj(!0),f=hT(l)??d;if(!f)throw Error(av(79));let p=QT(s),m=f.useState(`floatingRootContext`),h=f.useState(`isOpenedByTrigger`,p),g=f.useState(`triggerPopupId`,p),_=W.useRef(null),{registerTrigger:v,isMountedByThisTrigger:y}=nT(p,_,f,{payload:c}),{getButtonProps:b,buttonRef:x}=BD({disabled:a,native:o}),S=gC(m),C=ED(()=>f.select(`open`),e=>{f.set(`openMethod`,e)}),w={disabled:a,open:h},T=f.useState(`triggerProps`,y);return AS(`button`,e,{state:w,ref:[x,t,v,_],props:[S.reference,T,C,{[RS]:``,id:p,"aria-haspopup":`dialog`,"aria-expanded":h,"aria-controls":g},u,b],stateAttributesMapping:Dy})}),jj=`--nested-drawers`,Mj=`--drawer-height`,Nj=`--drawer-frontmost-height`,Pj=`--drawer-swipe-movement-x`,Fj=`--drawer-swipe-movement-y`,Ij=`--drawer-snap-point-offset`,Lj=`--drawer-swipe-strength`,Rj=`--drawer-swipe-progress`,zj=W.forwardRef(function(e,t){let{render:n,className:r,style:i,forceRender:a=!1,...o}=e,s=uj(),c=s.useState(`open`),l=s.useState(`nested`),u=s.useState(`mounted`);return AS(`div`,e,{state:{open:c,transitionStatus:s.useState(`transitionStatus`)},ref:[s.context.backdropRef,t],stateAttributesMapping:Ay,props:[{role:`presentation`,hidden:!u,style:{pointerEvents:c?void 0:`none`,userSelect:`none`,WebkitUserSelect:`none`,[Rj]:`0`,[Lj]:`1`}},o],enabled:a||!l})}),Bj=fj,Vj=`data-drawer-content`,Hj=pj,Uj=W.createContext(void 0);function Wj(){return W.useContext(Uj)}var Gj=`data-expanded`,Kj=`data-nested-drawer-open`,qj=`data-nested-drawer-swiping`,Jj=`data-swipe-dismiss`,Yj=`data-swipe-direction`,Xj=`data-swiping`,Zj=W.createContext(void 0);function Qj(e){let t=W.useContext(Zj);if(e!==!0&&t===void 0)throw Error(av(90));return t}function $j(e,t){let n=e+t;return n>=0?t:-Math.sqrt(-n)-e}function eM(e,t,n){if(!Number.isFinite(t)||t<=0)return null;if(typeof e==`number`)return Number.isFinite(e)?e<=1?OD(e,0,1)*t:e:null;let r=e.trim();if(r.endsWith(`px`)){let e=Number.parseFloat(r);return Number.isFinite(e)?e:null}if(r.endsWith(`rem`)){let e=Number.parseFloat(r);return Number.isFinite(e)?e*n:null}return null}function tM(e,t){let n=-1,r=1/0;for(let i=0;i<e.length;i+=1){let a=Math.abs(e[i]-t);a<r&&(r=a,n=i)}return n}function nM(){let e=uj(),{snapPoints:t,activeSnapPoint:n,setActiveSnapPoint:r,popupHeight:i}=Qj(),a=e.useState(`viewportElement`),[o,s]=W.useState(0),[c,l]=W.useState(16),u=Q(()=>{let e=jb(a).documentElement;s(a?a.offsetHeight:e.clientHeight);let t=parseFloat(getComputedStyle(e).fontSize);Number.isFinite(t)&&l(t)});X(()=>{if(u(),!a||typeof ResizeObserver!=`function`)return;let e=new ResizeObserver(u);return e.observe(a),()=>{e.disconnect()}},[u,a]);let d=W.useMemo(()=>{if(!t||t.length===0||o<=0||i<=0)return[];let e=Math.min(i,o),n=t.map(t=>{let n=eM(t,o,c);if(n===null)return null;let r=OD(n,0,e);return{value:t,height:r,offset:Math.max(0,i-r)}}).filter(e=>!!e);if(n.length<=1)return n;let r=[],a=[];for(let e=n.length-1;e>=0;--e){let t=n[e];a.some(e=>Math.abs(e-t.height)<=1)||(a.push(t.height),r.push(t))}return r.reverse(),r},[i,c,t,o]);return{snapPoints:t,activeSnapPoint:n,setActiveSnapPoint:r,popupHeight:i,viewportHeight:o,resolvedSnapPoints:d,activeSnapPointOffset:W.useMemo(()=>{if(n===null)return;let e=d.find(e=>Object.is(e.value,n));if(e)return e;let t=Math.min(i,o),r=eM(n,o,c);if(r===null)return;let a=OD(r,0,t);return d[tM(d.map(e=>e.height),a)]},[n,i,d,c,o])?.offset??null}}var rM=W.createContext(null);function iM(){return W.useContext(rM)}var aM=!1;function oM(){aM||=(typeof CSS<`u`&&`registerProperty`in CSS&&([Pj,Fj,Ij].forEach(e=>{try{CSS.registerProperty({name:e,syntax:`<length>`,inherits:!1,initialValue:`0px`})}catch{}}),[{name:Rj,initialValue:`0`},{name:Lj,initialValue:`1`}].forEach(({name:e,initialValue:t})=>{try{CSS.registerProperty({name:e,syntax:`<number>`,inherits:!1,initialValue:t})}catch{}})),!0)}var sM={...Ay,expanded(e){return e?{[Gj]:``}:null},nestedDrawerOpen(e){return e?{[Kj]:``}:null},nestedDrawerSwiping(e){return e?{[qj]:``}:null},swipeDirection(e){return{[Yj]:e}},swiping(e){return e?{[Xj]:``}:null}},cM=W.forwardRef(function(e,t){let{render:n,className:r,style:i,finalFocus:a,initialFocus:o,...s}=e,c=uj(),l=c.context.popupRef,{swipeDirection:u,frontmostHeight:d,hasNestedDrawer:f,nestedSwiping:p,nestedSwipeProgressStore:m,onPopupHeightChange:h,notifyParentFrontmostHeight:g,notifyParentHasNestedDrawer:_}=Qj(),v=c.useState(`descriptionElementId`),y=c.useState(`disablePointerDismissal`),b=c.useState(`floatingRootContext`),x=c.useState(`popupProps`),S=c.useState(`modal`),C=c.useState(`mounted`),w=c.useState(`nested`),T=c.useState(`nestedOpenDrawerCount`),E=c.useState(`transitionStatus`),D=c.useState(`open`),O=c.useState(`openMethod`),k=c.useState(`titleElementId`),A=c.useState(`role`),j=b.useState(`floatingId`),M=s.id??j,N=iM();hj();let{snapPoints:P,activeSnapPoint:F,activeSnapPointOffset:I}=nM(),L=T>0,R=N?.swiping??!1,ee=N?.swipeStrength??null,[z,te]=W.useState(0),ne=W.useRef(0),re=Q(()=>{let e=l.current;if(!e)return;let t=e.offsetHeight;if(ne.current>0&&d>ne.current&&t>ne.current)return;if(ne.current>0&&f){let e=ne.current;te(e),h(e);return}let n=t;n!==ne.current&&(ne.current=n,te(n),h(n))});X(()=>{if(!C){ne.current=0,te(0),h(0);return}let e=l.current;if(!e||(oM(),re(),typeof ResizeObserver!=`function`))return;let t=new ResizeObserver(re);return t.observe(e),()=>{t.disconnect()}},[re,C,L,h,l]),X(()=>{let e=()=>{let e=l.current;if(!e)return;let t=m.getSnapshot();t>0?e.style.setProperty(Rj,`${t}`):e.style.setProperty(Rj,`0`)};e();let t=m.subscribe(e),n=l.current;return()=>{t(),n&&n.style.setProperty(Rj,`0`)}},[m,l]),X(()=>{if(D)return g?.(d),()=>{g?.(0)}},[d,D,g]),X(()=>{if(_)return _(D||E===`ending`),()=>{_(!1)}},[_,D,E]),Kw({open:D,ref:l,onComplete(){D&&c.context.onOpenChangeComplete?.(!0)}});let B=o===void 0?l:o,ie=c.useStateSetter(`popupElement`),ae={open:D,nested:w,transitionStatus:E,expanded:F===1,nestedDrawerOpen:L,nestedDrawerSwiping:p,swipeDirection:u,swiping:R},oe;z&&(f||E===`ending`)&&(oe=`${z}px`);let se=P&&P.length>0&&(u===`down`||u===`up`),ce=null;se&&I!==null&&(ce=u===`up`?-I:I);let le=N?N.getDragStyles():rv;if(se&&u===`down`){let e=I??0,t=Number.parseFloat(String(le[Fj]));le=R&&Number.isFinite(t)?{...le,transform:void 0,[Fj]:`${$j(e,t)}px`}:{...le,transform:void 0}}let V=AS(`div`,e,{state:ae,props:[x,{id:M,"aria-labelledby":k,"aria-describedby":v,role:A,...qw,hidden:!C,onKeyDown(e){NO.has(e.key)&&e.stopPropagation()},style:{...le,[Rj]:`0`,[jj]:T,[Mj]:oe,[Ij]:typeof ce==`number`?`${ce}px`:`0px`,[Nj]:d?`${d}px`:void 0,[Lj]:typeof ee==`number`&&Number.isFinite(ee)&&ee>0?`${ee}`:`1`}},s],ref:[t,l,ie],stateAttributesMapping:sM});return(0,Z.jsx)(hC,{context:b,openInteractionType:O,disabled:!C,closeOnFocusOut:!y,initialFocus:B,returnFocus:a,modal:S!==!1,restoreFocus:`popup`,children:V})}),lM=bj,uM,dM;function fM(e){let{children:t,open:n,defaultOpen:r=!1,onOpenChange:i,onOpenChangeComplete:a,disablePointerDismissal:o=!1,modal:s=!0,actionsRef:c,handle:l,triggerId:u,defaultTriggerId:d=null,swipeDirection:f=`down`,snapToSequentialPoints:p=!1,snapPoints:m,snapPoint:h,defaultSnapPoint:g,onSnapPointChange:_}=e,v=Qj(!0),y=v?.onNestedSwipeProgressChange,b=v?.onNestedFrontmostHeightChange,x=v?.onNestedSwipingChange,S=v?.onNestedDrawerPresenceChange,[C,w]=W.useState(0),[T,E]=W.useState(0),[D,O]=W.useState(!1),[k,A]=W.useState(!1),[j]=W.useState(pM),M=g===void 0?m?.[0]??null:g,N=h!==void 0,[P,F]=LE({controlled:h,default:M,name:`Drawer`,state:`snapPoint`}),I=W.useRef(!1),L=W.useRef(!1),R=Q((e,t)=>{let n=t??cb(`none`);_?.(e,n),!n.isCanceled&&F(e)}),ee=W.useMemo(()=>N||!m||m.length===0?P:P===null||!m.some(e=>Object.is(e,P))?M:P,[P,N,M,m]),z=Q(e=>{w(e),!I.current&&e>0&&E(e)}),te=Q(e=>{if(e>0){I.current=!0,E(e);return}I.current=!1,C>0&&E(C)}),ne=Q(e=>{O(e)}),re=Q(e=>{j.set(e),y?.(e)}),B=Q(e=>{A(e),x?.(e)}),ie=Q((e,t)=>{i?.(e,t),!t.isCanceled&&!e&&m&&m.length>0&&R(M,cb(t.reason,t.event,t.trigger))}),ae=W.useMemo(()=>({swipeDirection:f,swipeAreaActiveRef:L,snapToSequentialPoints:p,snapPoints:m,activeSnapPoint:ee,setActiveSnapPoint:R,frontmostHeight:T,popupHeight:C,hasNestedDrawer:D,nestedSwiping:k,nestedSwipeProgressStore:j,onNestedDrawerPresenceChange:ne,onPopupHeightChange:z,onNestedFrontmostHeightChange:te,onNestedSwipingChange:B,onNestedSwipeProgressChange:re,notifyParentFrontmostHeight:b,notifyParentSwipingChange:x,notifyParentSwipeProgressChange:y,notifyParentHasNestedDrawer:S}),[ee,T,D,k,j,S,y,x,b,ne,te,re,B,z,C,R,m,p,L,f]),oe=Ej(`drawer`,{open:n,defaultOpen:r,onOpenChange:ie,onOpenChangeComplete:a,disablePointerDismissal:o,modal:s,actionsRef:c,handle:l,triggerId:u,defaultTriggerId:d,children:typeof t==`function`?e=>(0,Z.jsxs)(W.Fragment,{children:[uM||=(0,Z.jsx)(mM,{}),t(e)]}):(0,Z.jsxs)(W.Fragment,{children:[dM||=(0,Z.jsx)(mM,{}),t]})});return(0,Z.jsx)(Zj.Provider,{value:ae,children:oe})}function pM(){let e=0,t=new Set;return{getSnapshot:()=>e,set(n){let r=Number.isFinite(n)?n:0;r!==e&&(e=r,t.forEach(e=>{e()}))},subscribe(e){return t.add(e),()=>{t.delete(e)}}}}function mM(){let e=Wj(),t=uj(!1),n=e?.setDrawerOpen,r=e?.removeDrawer,i=t.useState(`open`),a=t.useState(`nestedOpenDialogCount`),o=t.useState(`popupElement`),s=a===0;return X(()=>{if(r)return()=>{r(t)}},[r,t]),X(()=>{n?.(t,i)},[i,n,t]),W.useEffect(()=>{if(!i||!s||!bv)return;let e=Pv(o).CloseWatcher;if(!e)return;function n(e){t.select(`open`)&&t.setOpen(!1,cb(eb,e))}let r=new e,a=fb(r,`close`,n);return()=>{a(),r.destroy()}},[t,s,i,o]),null}function hM(e,t=!1){let{overflowY:n}=Zv(e);return n!==`auto`&&n!==`scroll`?!1:t?e.clientHeight>0:e.scrollHeight>e.clientHeight}function gM(e,t=!1){let{overflowX:n}=Zv(e);return n!==`auto`&&n!==`scroll`?!1:t?e.clientWidth>0:e.scrollWidth>e.clientWidth}function _M(e,t,n=!1){return t===`vertical`?hM(e,n):gM(e,n)}function vM(e,t,n){let r=e;for(;Rv(r)&&r!==t&&!Xv(r);){for(let e of n)if(_M(r,e))return!0;r=$v(r)}return!1}function yM(e,t,n=`vertical`,r=!1){let i=Rv(e)?e:null;for(;Rv(i)&&i!==t&&!Xv(i);){if(_M(i,n,r))return i;i=$v(i)}return _M(t,n,r)?t:null}function bM(e,t,n){return typeof e?.elementFromPoint==`function`?e.elementFromPoint(t,n):null}function xM(e,t){let n=(t??Pv(e).getComputedStyle(e)).transform,r=0,i=0,a=1;if(n&&n!==`none`){let e=n.match(/matrix(?:3d)?\(([^)]+)\)/);if(e){let t=e[1].split(`, `).map(parseFloat);t.length===6?(r=t[4],i=t[5],a=Math.sqrt(t[0]*t[0]+t[1]*t[1])):t.length===16&&(r=t[12],i=t[13],a=t[0])}}return{x:r,y:i,scale:a}}var SM=40,CM=10,wM=1,TM=50,EM=16,DM=80,OM=`button,a,input,select,textarea,label,[role="button"]`;function kM(e,t,n){switch(e){case`up`:return-n;case`down`:return n;case`left`:return-t;case`right`:return t;default:return 0}}function AM(e){return Number.isFinite(e)&&e>0?e:null}function jM(e,t){return`translate3d(${e.x}px,${e.y}px,0) scale(${t})`}function MM(e){return e%2==1}function NM(e,t,n){let r=e[n];if(typeof r==`function`)try{r.call(e,t)}catch(e){if(e&&typeof e==`object`&&`name`in e&&e.name===`NotFoundError`)return;throw e}}function PM(e){let{enabled:t,directions:n,elementRef:r,movementCssVars:i,canStart:a,ignoreSelectorWhenTouch:o=!0,ignoreScrollableAncestors:s=!1,swipeThreshold:c,onDismiss:l,onProgress:u,onCancel:d,onSwipeStart:f,onRelease:p,onSwipingChange:m,trackDrag:h=!0}=e,g=OM,_=n.length===1?n[0]:void 0,v=Math.max(0,typeof c==`number`?c:SM),y=n.includes(`left`),b=n.includes(`right`),x=n.includes(`up`),S=n.includes(`down`),C=y||b,w=x||S,T=W.useMemo(()=>{let e=[];return w&&e.push(`vertical`),C&&e.push(`horizontal`),e},[C,w]),[E,D]=W.useState(void 0),[O,k]=W.useState(!1),[A,j]=W.useState(!1),M=W.useRef({x:0,y:0}),N=W.useRef({x:0,y:0}),P=W.useRef(null),F=W.useRef({x:0,y:0,scale:1}),I=W.useRef(void 0),L=W.useRef(0),R=W.useRef(!1),ee=W.useRef({x:0,y:0}),z=W.useRef(null),te=W.useRef(!1),ne=W.useRef(!1),re=W.useRef(null),B=W.useRef(!1),ie=W.useRef(!1),ae=W.useRef({width:0,height:0}),oe=W.useRef(0),se=W.useRef(v),ce=W.useRef(null),le=W.useRef(null),V=W.useRef(null),H=W.useRef({x:0,y:0}),ue=W.useRef(null),de=W.useRef(!1),fe=W.useRef(null),U=Q(e=>{de.current!==e&&(de.current=e,k(e),m?.(e))});function pe(e){if(!e)return;let t=r.current,n=ce.current;if(!t||!n)return;let i=n({element:t,direction:e});se.current=Math.max(0,i)}let me=Q((e,t)=>{let n=Number.isFinite(e)?OD(e,0,1):0,r=n!==oe.current,i=!1;if(t){let e=ue.current;i=!e||e.deltaX!==t.deltaX||e.deltaY!==t.deltaY||e.direction!==t.direction}(r||i)&&(oe.current=n,t?ue.current=t:r&&(ue.current=null),u?.(n,t))}),he=Q(e=>{let t=r.current;if(!h||!t){e||(fe.current=null);return}let n=t.style,a=fe.current;e?(a||(fe.current=[n.transition,n.transform]),n.transition=`none`):a&&([n.transition,n.transform]=a,fe.current=null);let o=N.current,s=F.current,c=o.x-s.x,l=o.y-s.y;e&&(n.transform=jM(o,s.scale)),n.setProperty(i.x,`${c}px`),n.setProperty(i.y,`${l}px`)});function ge(e,t){if(t===null)return;let n=V.current;if(n&&t>n.time){let r=Math.max(t-n.time,EM);H.current={x:(e.x-n.x)/r,y:(e.y-n.y)/r}}V.current={x:e.x,y:e.y,time:t}}let _e=W.useCallback(()=>{D(void 0),U(!1),j(!1),me(0),se.current=v,ce.current=null,M.current={x:0,y:0},N.current={x:0,y:0},F.current={x:0,y:0,scale:1},I.current=void 0,L.current=0,R.current=!1,ee.current={x:0,y:0},z.current=null,te.current=!1,P.current=null,ne.current=!1,re.current=null,B.current=!1,ie.current=!1,ae.current={width:0,height:0},le.current=null,V.current=null,H.current={x:0,y:0},ue.current=null,he(!1)},[U,v,he,me]);function ve(e){if(`touches`in e){let t=e.touches[0];return t?{x:t.clientX,y:t.clientY}:null}return{x:e.clientX,y:e.clientY}}function ye(e){return`touches`in e||e.pointerType===`touch`}function be(e,t){let n=r.current?.getRootNode();return bM(n,e.x,e.y)??ay(t)}function xe(e,t){let n=n=>{let r=yM(e,t,n),i=jb(r);return r===i.body||r===i.documentElement?null:r};return C&&!w?n(`horizontal`):w&&!C?n(`vertical`):n(`vertical`)??n(`horizontal`)}function Se(e,t,n){B.current=!1;let i=ye(e),a=be(t,e.nativeEvent),l=jb(r.current).body,u=i&&l?xe(a,l):null,d=n?.ignoreScrollableTarget??!1;if(u&&!d||(B.current=!!(u&&d),a&&a.closest(g)&&(!i||o)))return!1;let p=r.current;if(s&&p&&a&&T.length>0&&!(n?.ignoreScrollableAncestors??!1)&&vM(a,p,T))return!1;if(R.current=!1,I.current=void 0,L.current=0,M.current=t,le.current=AM(e.timeStamp),ee.current=t,P.current=t,se.current=v,ce.current=typeof c==`function`?c:null,p){ae.current={width:p.offsetWidth,height:p.offsetHeight},pe(_);let t=xM(p);F.current=t,N.current={x:t.x,y:t.y},ge({x:t.x,y:t.y},le.current),`touches`in e||NM(p,e.pointerId,`setPointerCapture`)}return f?.(e.nativeEvent),U(!0),z.current=null,te.current=!0,me(0),he(!0),!0}function Ce(){we(),B.current=!1,P.current=null}function we(){ne.current=!1,re.current=null}function Te(e){if(Ce(),!de.current)return;U(!1),z.current=null;let t=F.current;N.current={x:t.x,y:t.y},D(void 0),ie.current=!1,he(!1);let n=r.current;n&&NM(n,e.pointerId,`releasePointerCapture`),me(0,{deltaX:0,deltaY:0,direction:void 0}),d?.(e.nativeEvent)}function Ee(e,t){let n=e=>Math.sign(e)*Math.abs(e)**.5,r=(e,t,r)=>!t&&e<0||!r&&e>0?n(e):e;return{x:C?r(e,y,b):n(e),y:w?r(t,x,S):n(t)}}function De(e,t,n){let r=(e,t,n,r,i)=>e>0&&t<=0&&r||e<0&&t>=Math.max(0,n)&&i,i=Math.abs(t),a=Math.abs(n);return w&&n!==0&&(!C||a>=i)?r(n,e.scrollTop,e.scrollHeight-e.clientHeight,S,x):C&&t!==0&&(!w||i>a)?r(t,e.scrollLeft,e.scrollWidth-e.clientWidth,b,y):null}let Oe=Q(e=>{if(!t||e.defaultPrevented||e.nativeEvent.defaultPrevented||!(`touches`in e)&&e.button!==0)return;let n=ve(e);n&&(ne.current=!0,re.current=n,B.current=!1,ie.current=!(`touches`in e),(!a||a(n,{nativeEvent:e.nativeEvent,direction:_}))&&Se(e,n)&&we())});function ke(e,n,r){if(!t||!de.current)return;let i=ay(e.nativeEvent);if(ye(e)&&!B.current){let t=e.currentTarget;if(xe(i,t))return}if(`touches`in e||e.preventDefault(),te.current&&(te.current=!1,h)){M.current=n;let t=AM(e.timeStamp);t!==null&&(le.current=t)}let a=n.x,o=n.y,s=r.x,c=r.y;(c<0&&o>ee.current.y||c>0&&o<ee.current.y)&&(ee.current={x:ee.current.x,y:o}),(s<0&&a>ee.current.x||s>0&&a<ee.current.x)&&(ee.current={x:a,y:ee.current.y});let l=a-M.current.x,u=o-M.current.y,d=o-ee.current.y,f=a-ee.current.x,p=z.current;p===null&&C&&w&&Math.sqrt(l*l+u*u)>=wM&&(p=Math.abs(l)>Math.abs(u)?`horizontal`:`vertical`,z.current=p);let m;if(!I.current)p===`vertical`?u>0?m=`down`:u<0&&(m=`up`):p===`horizontal`?l>0?m=`right`:l<0&&(m=`left`):m=Math.abs(l)>=Math.abs(u)?l>0?`right`:`left`:u>0?`down`:`up`,m&&(m===`left`&&y||m===`right`&&b||m===`up`&&x||m===`down`&&S)&&(I.current=m,L.current=kM(m,l,u),D(m),pe(m));else{let e=I.current,t=kM(e,f,d);t>se.current?(R.current=!1,D(e)):!(y&&b)&&!(x&&S)&&L.current-t>=CM&&(R.current=!0)}let g=Ee(l,u),v=F.current.x,T=F.current.y;p===`horizontal`?C&&(v+=g.x):(p===`vertical`||C&&(v+=g.x),w&&(T+=g.y));let E=N.current,O=v!==E.x||T!==E.y;N.current={x:v,y:T},O&&he(!0),ge({x:v,y:T},AM(e.timeStamp));let k=v-F.current.x,A=T-F.current.y,j={deltaX:k,deltaY:A,direction:I.current},P=0,ne=_??I.current;if(ne){let e=ne===`left`||ne===`right`?ae.current.width:ae.current.height,t=F.current.scale||1,n=kM(ne,k,A);e>0&&t>0&&n>0&&(P=n/(e*t))}me(P,j)}let Ae=Q(e=>{if(!t)return;let i=N.current,a=F.current,o=i.x-a.x,s=i.y-a.y,c={deltaX:o,deltaY:s,direction:I.current};if(!de.current){Ce(),me(0,c);return}U(!1),z.current=null,Ce(),ie.current=!1;let u=r.current;u&&(`touches`in e||NM(u,e.pointerId,`releasePointerCapture`));let d=o,f=s,m=le.current,h=AM(e.timeStamp),g=m!==null&&h!==null&&h>m?h-m:0,v=g>0?Math.max(g,TM):0,y=v>0?d/v:0,b=v>0?f/v:0,x=H.current.x,S=H.current.y,C=V.current;if(C&&h!==null&&h>=C.time){let e=h-C.time;if(e<=DM){let t=Math.max(e,EM),n=i.x-C.x,r=i.y-C.y,a=n/t,o=r/t;a!==0&&(x=a),o!==0&&(S=o)}else x=0,S=0}let w=p?.({event:e.nativeEvent,direction:I.current,deltaX:d,deltaY:f,velocityX:y,velocityY:b,releaseVelocityX:x,releaseVelocityY:S}),T=typeof w==`boolean`;if(R.current&&!T){N.current={x:a.x,y:a.y},D(void 0),he(!1),me(0,c);return}let E=!1,O;if(T)E=w,O=I.current??_;else for(let e of n)if(kM(e,d,f)>se.current){E=!0,O=e;break}E&&O?(D(O),j(!0),he(!1),l?.(e.nativeEvent,{direction:O})):(N.current={x:a.x,y:a.y},D(void 0),he(!1),me(0,c))}),je=Q(e=>{let t=ve(e);if(!t)return;let n=!1;if(!(`touches`in e)){let t=MM(e.buttons);if(t&&(ie.current=!0),e.buttons!==0&&!t){Te(e);return}if(e.buttons===0&&ie.current){if(!de.current){Ae(e);return}n=!0}}if(!O&&ne.current){if(!ye(e)&&(e.defaultPrevented||e.nativeEvent.defaultPrevented)){Ce();return}if(!a||a(t,{nativeEvent:e.nativeEvent,direction:_})){let n=re.current,i=!1;if(ye(e)){let a=r.current;if(n&&a){let r=be(t,e.nativeEvent),o=jb(a).body,s=o?xe(r,o):null;if(s&&(iy(a,s)||iy(s,a))){let e=De(s,t.x-n.x,t.y-n.y);if(e===!1)return;e===!0&&(i=!0)}}}Se(e,t,{ignoreScrollableTarget:i,ignoreScrollableAncestors:i})&&(n&&i?(we(),M.current=n,ee.current=n,P.current=n,te.current=!1):(we(),B.current=!1))}}let i=P.current,o=i===null?{x:0,y:0}:{x:t.x-i.x,y:t.y-i.y};P.current=t,ke(e,t,o),n&&!(`touches`in e)&&Ae(e)}),Me=Q((e,t)=>{je({touches:e.touches,currentTarget:t,nativeEvent:e,defaultPrevented:e.defaultPrevented,timeStamp:e.timeStamp})}),Ne=W.useCallback(()=>{let e=de.current,t=N.current,n=F.current,r=t.x-n.x,a=t.y-n.y;return!e&&r===0&&a===0&&!A?{[i.x]:`0px`,[i.y]:`0px`}:{transition:e?`none`:void 0,transform:e?jM(t,n.scale):void 0,[i.x]:`${r}px`,[i.y]:`${a}px`}},[A,i]);return{swiping:O,swipeDirection:E,dragDismissed:A,getPointerProps:W.useCallback(()=>t?{onPointerDown:Oe,onPointerMove:je,onPointerUp:Ae,onPointerCancel:Ae}:{},[t,Ae,je,Oe]),getTouchProps:W.useCallback(()=>t?{onTouchStart:Oe,onTouchMove:je,onTouchEnd:Ae,onTouchCancel:Ae}:{},[t,Ae,je,Oe]),moveNative:Me,getDragStyles:Ne,reset:_e}}var FM=kj,IM=`data-nested-dialog-open`,LM=W.createContext(void 0);function RM(){return W.useContext(LM)}var zM=10,BM=.5,VM=.5,HM=300,UM=4,WM=.2,GM=4,KM=80,qM=360,JM=.1,YM=6,XM=2,ZM=`[${Vj}]`,QM=W.forwardRef(function(e,t){let{render:n,className:r,style:i,children:a,...o}=e,s=uj(),c=s.context.popupRef,l=s.context.backdropRef,{swipeDirection:u,notifyParentSwipingChange:d,notifyParentSwipeProgressChange:f,frontmostHeight:p,snapToSequentialPoints:m,swipeAreaActiveRef:h}=Qj(),g=Wj(),{snapPoints:_,resolvedSnapPoints:v,activeSnapPoint:y,activeSnapPointOffset:b,setActiveSnapPoint:x,popupHeight:S}=nM(),C=s.useState(`open`),w=s.useState(`mounted`),T=s.useState(`nested`),E=s.useState(`nestedOpenDrawerCount`),D=s.useState(`viewportElement`),O=s.useState(`popupElement`),k=g?.visualStateStore,A=E>0,j=u===`left`||u===`right`?`horizontal`:`vertical`,M=j===`vertical`,N=M?`horizontal`:`vertical`,[P,F]=W.useState(null),I=W.useRef(void 0),L=W.useRef(null),R=Ab(),ee=W.useRef(!1),z=W.useRef(!1),te=W.useRef(``),ne=W.useRef(!1),re=W.useRef(!1),B=W.useRef(null),ie=RM(),ae=W.useMemo(()=>{if(!_||_.length<2||v.length<2||u!==`down`&&u!==`up`)return null;let e=v.map(e=>e.offset).sort((e,t)=>e-t),t=e[0];return{minOffset:t,range:e[1]-t}},[v,_,u]),oe=W.useMemo(()=>!ae||b===null?null:OD((b-ae.minOffset)/ae.range,0,1),[b,ae]),se=W.useMemo(()=>_&&_.length>0&&(u===`down`||u===`up`)?u===`down`?[`down`,`up`]:[`up`,`down`]:[u],[_,u]),ce=Q(e=>{c.current?.toggleAttribute(Jj,e),l.current?.toggleAttribute(Jj,e)}),le=Q(()=>{ce(!1),c.current?.removeAttribute(py),F(null)}),V=Q(()=>{z.current&&(z.current=!1,d?.(!1))}),H=Q((e,t,n)=>{let r=C&&!T&&t,i=r?e:0,a=C&&t?e:0;n&&f&&(f(a),a<=0&&V()),k?.set({swipeProgress:i,frontmostHeight:i>0?p:0});let o=l.current;if(!o)return;let s=r&&i>0;o.style.setProperty(Rj,s?`${i}`:`0`),s&&p>0?o.style.setProperty(Mj,`${p}px`):o.style.removeProperty(Mj)});function ue(e,t,n,r,i,a,o,s){let c=nN(e,t);if(c<=0)return null;let l=((t===`down`||t===`up`)&&_&&_.length>0?b??0:0)+kM(t,n,r),u=Math.max(0,c-l);if(u<=0)return null;let d=kM(t,o,s),f=Math.abs(d)>0?d:kM(t,i,a);return f<=WM?null:JM+(OD(u/OD(f,WM,GM),KM,qM)-KM)/280*.9}function de(e){if(z.current||!e)return;let t=kM(e.direction??u,e.deltaX,e.deltaY);Math.abs(t)<zM||(z.current=!0,d?.(!0))}let fe=PM({enabled:w&&!A,directions:se,elementRef:s.context.popupRef,ignoreSelectorWhenTouch:!1,ignoreScrollableAncestors:!0,movementCssVars:{x:Pj,y:Fj},onSwipeStart(e){if(`touches`in e||e.pointerType===`touch`)return;let t=c.current,n=jb(t).getSelection?.();if(!n||n.isCollapsed)return;let r=Lv(n.anchorNode)?n.anchorNode:n.anchorNode?.parentElement,i=Lv(n.focusNode)?n.focusNode:n.focusNode?.parentElement;(iy(t,r)||iy(t,i))&&n.removeAllRanges()},onSwipingChange(e){ee.current=e,$M(s.context.backdropRef.current,e),!e&&!f&&V()},swipeThreshold({element:e,direction:t}){return rN(e,t)},canStart(e,t){let n=s.context.popupRef.current;if(!n)return!1;let r=n.ownerDocument,i=bM(n.getRootNode(),e.x,e.y);if(!i||!iy(n,i))return!1;let a=t.nativeEvent;return!((`touches`in a||a.pointerType===`touch`)&&sN(r,n))},onProgress(e,t){let n=ee.current;n&&de(t);let r=!!(_&&_.length>0);if(n&&u===`down`&&r&&t){let e=s.context.popupRef.current;e&&(e.style.removeProperty(`transform`),e.style.setProperty(Fj,`${$j(b??0,t.deltaY)}px`))}let i=e;if(ae&&S>0){let e=b??ae.minOffset;n&&t&&Number.isFinite(t.deltaY)?i=(e=>OD((e-ae.minOffset)/ae.range,0,1))(OD(e+t.deltaY,0,S)):oe!==null&&(i=oe)}n||(f?.(0),V()),H(i,!0,n)},onRelease({event:e,deltaX:t,deltaY:n,direction:r,velocityX:i,velocityY:a,releaseVelocityX:o,releaseVelocityY:c}){let l=s.context.popupRef.current;if(!l){le();return}let d=l;function f(e){V(),ce(!0),d.style.removeProperty(`transition`),d.setAttribute(py,``),GS.flushSync(()=>{F(ue(d,e,t,n,i,a,o,c))})}if(!_||_.length===0){if(!r){le();return}let e=kM(r,t,n);if(e<=0)return le(),!1;if(kM(r,i,a)>=BM)return f(r),!0;let o=e>rN(d,r);return o?f(r):le(),o}if(u!==`down`&&u!==`up`){le();return}if(!S)return le(),!1;if(v.length===0){le();return}let p=u===`down`?n:-n,h=Math.sign(p),g=u===`down`?c:-c,C=u===`down`?a:-a,w=g;if(h!==0&&Math.abs(p)>=zM){let e=Math.sign(w);e!==0&&e!==h&&(w=C)}let T=b??0,E=OD(T+p,0,S),D=Math.abs(w)>=VM?OD(w,-4,UM)*HM:0,O=m?E:OD(E+D,0,S),k=cb(ob,e),A=()=>(H(0,!0,!0),le(),!1),j=e=>(x(e.value,k),A()),M=e=>r?(x(null,k),k.isCanceled?A():(I.current=y,f(u),!0)):j(e);if(m){let e=[...v].sort((e,t)=>e.offset-t.offset),t=e.map(e=>e.offset),n=tM(t,T),r=e[tM(t,O)],i=Math.sign(w),a=h!==0&&i!==0&&i===h&&Math.abs(w)>=VM,o=O;if(a){let t=OD(n+h,0,e.length-1);if(t!==n){let n=e[t];(h>0?O<n.offset:O>n.offset)&&(r=n,o=n.offset)}else if(h>0)return M(r)}return Math.abs(o-S)<Math.abs(o-r.offset)?M(r):j(r)}let N=v[tM(v.map(e=>e.offset),O)];return w>=BM&&p>0||Math.abs(O-S)<Math.abs(O-N.offset)?M(N):j(N)},onDismiss(e){k?.set({swipeProgress:0,frontmostHeight:0});let t=s.context.backdropRef.current;t&&(t.style.setProperty(Rj,`0`),t.style.removeProperty(Mj));let n=cb(ob,e);if(s.setOpen(!1,n),n.isCanceled){let t=I.current;t!==void 0&&x(t,cb(ob,e)),I.current=void 0,L.current?.(),le();return}if(s.select(`open`)){let t=e;R.request(()=>{if(s.select(`open`)){let e=I.current;e!==void 0&&x(e,cb(ob,t)),I.current=void 0,le(),L.current?.()}else I.current=void 0});return}I.current=void 0,ce(!0)}}),U=fe.getPointerProps(),pe=fe.getTouchProps(),{moveNative:me,reset:he}=fe;L.current=he,W.useEffect(()=>{let e=D??O;if(!e)return;let t=e,n=jb(t);function r(e,r,i){let a=M?i.clientY-r.lastY:i.clientX-r.lastX;if(e.touches.length===2||sN(n,t)||!C||!w||A||dN(r,e,i,M))return;let o=r.scrollTarget;if(!o||o===n.documentElement||o===n.body){e.cancelable&&e.preventDefault(),e.stopPropagation(),me(e,t);return}if(!fN(o,j)){e.cancelable&&e.preventDefault(),e.stopPropagation();return}if(a!==0){let t=hN(o,j,u,a);r.allowSwipe?e.cancelable&&e.preventDefault():e.cancelable&&t?(r.allowSwipe=!0,e.preventDefault()):r.allowSwipe=!1}r.allowSwipe===!0&&(e.stopPropagation(),me(e,t))}function i(e){if(ie?.onTouchMove(e),re.current)return;let t=B.current,n=e.touches[0];n&&t&&(r(e,t,n),uN(t,n))}return fb(n,`touchmove`,i,{passive:!1,capture:!0})},[w,A,C,O,M,j,u,me,D,ie]),X(()=>{ae&&!fe.swiping&&H(!C||T?0:oe??0,!0,!1)},[H,p,T,f,C,oe,ae,fe.swiping,s,k]),X(()=>{if(f)return C||f(0),()=>{f(0)}},[f,C]),X(()=>{C&&(h.current||he(),le())},[le,C,he,h]),X(()=>{let e=l.current;return()=>{k?.set({swipeProgress:0,frontmostHeight:0}),$M(e,!1);let t=l.current;t!==e&&$M(t,!1),V()}},[l,V,k]);let ge=W.useMemo(()=>({swiping:fe.swiping,getDragStyles:fe.getDragStyles,swipeStrength:P??null,setSwipeDismissed:ce}),[ce,fe.getDragStyles,fe.swiping,P]);function _e(e){re.current=e,B.current=null}function ve(){_e(!1),te.current=``,ne.current=!1}function ye(e){return te.current=``,e.pointerType!==`touch`}return(0,Z.jsx)(Oj,{ref:t,className:r,style:i,render:n,...gS(o,{onPointerDown(e){if(te.current=e.pointerType,ne.current=e.pointerType===`pen`,!C||!w||A)return;let t=bM(e.currentTarget.getRootNode(),e.clientX,e.clientY);eN(t)||tN(t)||e.pointerType!==`touch`&&U.onPointerDown?.(e)},onPointerMove(e){e.pointerType!==`touch`&&U.onPointerMove?.(e)},onPointerUp(e){ye(e)&&U.onPointerUp?.(e)},onPointerCancel(e){ye(e)&&U.onPointerCancel?.(e)},onTouchStart(e){if(te.current===`pen`&&ne.current){ne.current=!1,_e(!1);return}if(!C||!w||A){_e(!1);return}let t=e.touches[0];if(!t)return;if(lN(e)){_e(!1);return}let n=e.currentTarget,r=bM(n.getRootNode(),t.clientX,t.clientY),i=ay(e.nativeEvent),a=Lv(i)?i:n;if(!iy(n,a)){_e(!0);return}if(ie?.onTouchStart(e),eN(r)){_e(!0);return}re.current=!1;let o=yM(a,n,j),s=yM(a,n,N)!=null,c=null;o&&(c=mN(o,j,u)?null:!1),B.current={startX:t.clientX,startY:t.clientY,lastX:t.clientX,lastY:t.clientY,scrollTarget:o,hasCrossAxisScrollableContent:s,allowSwipe:c,preserveNativeCrossAxisScroll:!1,drawerAxisAttributed:!1},pe.onTouchStart?.(e)},onTouchEnd(e){ie?.onTouchEnd(e),ve(),pe.onTouchEnd?.(e)},onTouchCancel(e){ie?.onTouchCancel(),ve(),pe.onTouchCancel?.(e)},[IM]:void 0}),children:(0,Z.jsx)(rM.Provider,{value:ge,children:a})})});function $M(e,t){e?.toggleAttribute(Xj,t)}function eN(e){return!!e?.closest(VS)}function tN(e){return!!e?.closest(ZM)}function nN(e,t){return t===`left`||t===`right`?e.offsetWidth:e.offsetHeight}function rN(e,t){return Math.max(nN(e,t)*.5,zM)}function iN(e,t){return e instanceof t.HTMLInputElement&&e.type===`range`}function aN(e){return e.tagName===`INPUT`||e.tagName===`TEXTAREA`}function oN(e,t){let n=Lv(e.anchorNode)?e.anchorNode:e.anchorNode?.parentElement,r=Lv(e.focusNode)?e.focusNode:e.focusNode?.parentElement;return e.containsNode(t,!0)||iy(t,n)||iy(t,r)}function sN(e,t){let n=ry(e);if(n&&iy(t,n)&&aN(n)){let{selectionStart:e,selectionEnd:t}=n;if(e!=null&&t!=null&&e<t)return!0}let r=e.getSelection?.();return!r||r.isCollapsed?!1:oN(r,t)}function cN(e,t){return e.composedPath().some(e=>iN(e,t))}function lN(e){return cN(e.nativeEvent,Pv(e.currentTarget))}function uN(e,t){e.lastX=t.clientX,e.lastY=t.clientY}function dN(e,t,n,r){if(e.preserveNativeCrossAxisScroll)return!0;if(e.drawerAxisAttributed||e.allowSwipe===!0||!e.hasCrossAxisScrollableContent)return!1;if(!t.cancelable)return e.preserveNativeCrossAxisScroll=!0,!0;let i=r?n.clientY-e.startY:n.clientX-e.startX,a=r?n.clientX-e.startX:n.clientY-e.startY,o=Math.abs(i),s=Math.abs(a);return s>=YM&&s>o+XM?(e.preserveNativeCrossAxisScroll=!0,!0):o>=YM?(e.drawerAxisAttributed=!0,!1):!0}function fN(e,t){return pN(e,t).max>0}function pN(e,t){if(t===`vertical`){let t=Math.max(0,e.scrollHeight-e.clientHeight);return{offset:e.scrollTop,max:t}}let n=Math.max(0,e.scrollWidth-e.clientWidth);return{offset:e.scrollLeft,max:n}}function mN(e,t,n){let r=gN(n,t),{offset:i,max:a}=pN(e,t);return r?i<=0:i>=a}function hN(e,t,n,r){return(gN(n,t)?r>0:r<0)&&mN(e,t,n)}function gN(e,t){return t===`vertical`?e===`down`:e===`right`}var _N=W.createContext(void 0);function vN(e){let t=W.useContext(_N);if(t===void 0&&!e)throw Error(av(47));return t}var yN={...mT,disabled:e=>e.disabled,instantType:e=>e.instantType,openMethod:e=>e.openMethod,openChangeReason:e=>e.openChangeReason,modal:e=>e.modal,focusManagerModal:e=>e.focusManagerModal,stickIfOpen:e=>e.stickIfOpen,titleElementId:e=>e.titleElementId,descriptionElementId:e=>e.descriptionElementId,openOnHover:e=>e.openOnHover,closeDelay:e=>e.closeDelay,adaptiveOrigin:e=>e.adaptiveOrigin},bN=class extends Rw{constructor(e,t,n){let r=new sT;super(xN(e,r,t,n),SN(r),yN)}setOpen=(e,t)=>{let n=t.reason===qy,r=t.reason===`trigger-press`&&t.event.detail===0,i=!e&&(t.reason===`escape-key`||t.reason==null),a=eT(t),o=this.select(`activeTriggerId`);if(!e&&t.reason===`close-press`&&t.trigger==null&&o!=null&&(t.trigger=this.context.triggerElements.getById(o)??this.select(`activeTriggerElement`)??void 0),this.context.onOpenChange?.(e,t),t.isCanceled)return;this.state.floatingRootContext.dispatchOpenChange(e,t);let s=()=>{let n=$w(this.state,e,t.trigger,a());n.openChangeReason=t.reason,this.update(n)};n?(this.set(`stickIfOpen`,!0),this.context.stickIfOpenTimeout.start(500,()=>{this.set(`stickIfOpen`,!1)}),GS.flushSync(s)):s();let c;r?c=`click`:i?c=`dismiss`:t.reason===`focus-out`&&(c=`focus`),this.set(`instantType`,c)}};function xN(e,t,n,r=!1){let i={...cT(t,n,r),disabled:!1,modal:!1,focusManagerModal:!1,instantType:void 0,openMethod:null,openChangeReason:null,titleElementId:void 0,descriptionElementId:void 0,stickIfOpen:!0,openOnHover:!1,closeDelay:0,adaptiveOrigin:void 0,...e};return i.open&&e?.mounted===void 0&&(i.mounted=!0),i}function SN(e){return{popupRef:W.createRef(),onOpenChange:void 0,onOpenChangeComplete:void 0,triggerFocusTargetRef:W.createRef(),beforeContentFocusGuardRef:W.createRef(),stickIfOpenTimeout:new uv,triggerElements:e}}var CN=Q_(function({props:e}){let{children:t,open:n,defaultOpen:r=!1,onOpenChange:i,onOpenChangeComplete:a,modal:o=!1,handle:s,triggerId:c,defaultTriggerId:l=null}=e,u=TN(s,{modal:o,open:r,openProp:n,activeTriggerId:l,triggerIdProp:c});u.useControlledProp(`openProp`,n),u.useControlledProp(`triggerIdProp`,c);let d=u.useState(`open`),f=u.useState(`mounted`),p=u.useState(`payload`);u.useContextCallback(`onOpenChange`,i),u.useContextCallback(`onOpenChangeComplete`,a),oT(u,d),rT(u);let{forceUnmount:m}=iT(d,u,()=>{u.update({stickIfOpen:!0,openChangeReason:null})});u.useSyncedValues({modal:o}),W.useEffect(()=>{d||u.context.stickIfOpenTimeout.clear()},[u,d]),W.useImperativeHandle(e.actionsRef,()=>({unmount:m,close:()=>u.setOpen(!1,cb(ab))}),[m,u]);let h=d||f;return(0,Z.jsxs)(_N.Provider,{value:u,children:[s&&(0,Z.jsx)(Xw,{handle:s,store:u}),h&&(0,Z.jsx)(EN,{store:u,modal:o}),typeof t==`function`?t({payload:p}):t]})});function wN(e){return vN(!0)?(0,Z.jsx)(CN,{props:e}):(0,Z.jsx)(aC,{children:(0,Z.jsx)(CN,{props:e})})}function TN(e,t){let n=Yw((e,n)=>new bN(t,e,n));return W.useEffect(()=>n.context.stickIfOpenTimeout.disposeEffect(),[n]),n}function EN({store:e,modal:t}){let n=SC(e.useState(`floatingRootContext`),{outsidePressEvent:{mouse:t===`trap-focus`?`sloppy`:`intentional`,touch:`sloppy`}}),r=n.reference,i=n.floating;return aT(e,{activeTriggerProps:r,inactiveTriggerProps:r,popupProps:i}),null}var DN=$_(function(e,t){let{render:n,className:r,style:i,disabled:a=!1,nativeButton:o=!0,handle:s,payload:c,openOnHover:l=!1,delay:u=300,closeDelay:d=0,id:f,...p}=e,m=vN(!0),h=hT(s)??m;if(!h)throw Error(av(74));let g=QT(f),_=h.useState(`isTriggerActive`,g),v=h.useState(`floatingRootContext`),y=h.useState(`isOpenedByTrigger`,g),b=h.useState(`triggerPopupId`,g),x=W.useRef(null),{registerTrigger:S,isMountedByThisTrigger:C}=nT(g,x,h,{payload:c,disabled:a,openOnHover:l,closeDelay:d}),w=h.useState(`openChangeReason`),T=h.useState(`stickIfOpen`),E=h.useState(`openMethod`),D=h.useState(`focusManagerModal`),O=OT(v,{enabled:!a&&l&&(E!==`touch`||w!==`trigger-press`),mouseOnly:!0,move:!1,handleClose:GT(),restMs:u,delay:{close:d},triggerElementRef:x,isActiveTrigger:_,isClosing:()=>h.select(`transitionStatus`)===`ending`}),k=gC(v,{stickIfOpen:T}),A=ED(()=>h.select(`open`),e=>{h.set(`openMethod`,e)}),j=h.useState(`triggerProps`,C),{getButtonProps:M,buttonRef:N}=BD({disabled:a,native:o}),P={open(e){return e&&w===`trigger-press`?Oy.open(e):Dy.open(e)}},{preFocusGuardRef:F,handlePreFocusGuardFocus:I,handleFocusTargetFocus:L}=bA(h,x),R=AS(`button`,e,{state:{disabled:a,open:y},ref:[N,t,S,x],props:[k.reference,O,j,A,{[RS]:``,id:g,"aria-haspopup":`dialog`,"aria-expanded":y,"aria-controls":b},p,M],stateAttributesMapping:P}),ee=(0,Z.jsx)(W.Fragment,{children:R},g);return C&&!D?(0,Z.jsxs)(W.Fragment,{children:[(0,Z.jsx)(Fb,{ref:F,onFocus:I}),ee,(0,Z.jsx)(Fb,{ref:h.context.triggerFocusTargetRef,onFocus:L})]}):ee}),ON=W.createContext(void 0);function kN(){let e=W.useContext(ON);if(e===void 0)throw Error(av(45));return e}var AN=W.forwardRef(function(e,t){let{keepMounted:n=!1,...r}=e;return vN().useState(`mounted`)||n?(0,Z.jsx)(ON.Provider,{value:n,children:(0,Z.jsx)(XS,{ref:t,...r})}):null}),jN=W.createContext(void 0);function MN(){let e=W.useContext(jN);if(!e)throw Error(av(46));return e}var NN=W.forwardRef(function(e,t){let{render:n,className:r,style:i,anchor:a,positionMethod:o,side:s,align:c,sideOffset:l,alignOffset:u,collisionBoundary:d=`clipping-ancestors`,collisionPadding:f,arrowPadding:p,sticky:m,disableAnchorTracking:h=!1,collisionAvoidance:g=US,..._}=e,v=vN(),y=kN(),b=rC(),x=v.useState(`floatingRootContext`),S=v.useState(`mounted`),C=v.useState(`open`),w=v.useState(`openChangeReason`),T=v.useState(`activeTriggerElement`),E=v.useState(`modal`),D=v.useState(`openMethod`),O=v.useState(`positionerElement`),k=v.useState(`instantType`),A=v.useState(`transitionStatus`),j=v.useState(`adaptiveOrigin`),M=W.useRef(null),N=Gw(O),P=EE({anchor:a,floatingRootContext:x,positionMethod:o,mounted:S,side:s,sideOffset:l,align:c,alignOffset:u,arrowPadding:p,collisionBoundary:d,collisionPadding:f,sticky:m,disableAnchorTracking:h,keepMounted:y,nodeId:b,collisionAvoidance:g,adaptiveOrigin:j}),F=x.useState(`domReferenceElement`);X(()=>{let e=F,t=M.current;if(e&&(M.current=e),t&&e&&e!==t){v.set(`instantType`,void 0);let e=new AbortController;return N(()=>{v.set(`instantType`,`trigger-change`)},e.signal),()=>{e.abort()}}},[F,N,v]);let I=E===!0&&w!==`trigger-hover`;SO(C&&I,D===`touch`,O,T);let L=v.useStateSetter(`positionerElement`),R=AE(e,{open:C,side:P.side,align:P.align,anchorHidden:P.anchorHidden,instant:k},{styles:P.positionerStyles,transitionStatus:A,props:_,refs:[t,L],hidden:!S,inert:!C});return(0,Z.jsxs)(jN.Provider,{value:P,children:[S&&I&&(0,Z.jsx)(sO,{inert:NE(!C),cutout:T}),(0,Z.jsx)(iC,{id:b,children:R})]})}),PN=W.createContext(void 0);function FN(){let[e,t]=W.useState(0),n=Q(()=>(t(e=>e+1),()=>{t(e=>Math.max(0,e-1))}));return{context:W.useMemo(()=>({register:n}),[n]),hasClosePart:e>0}}var IN=W.forwardRef(function(e,t){let{render:n,className:r,style:i,initialFocus:a,finalFocus:o,...s}=e,c=vN(),l=MN(),u=OO(!0)!=null,{context:d,hasClosePart:f}=FN(),p=c.useState(`open`),m=c.useState(`openMethod`),h=c.useState(`instantType`),g=c.useState(`transitionStatus`),_=c.useState(`popupProps`),v=c.useState(`titleElementId`),y=c.useState(`descriptionElementId`),b=c.useState(`modal`),x=c.useState(`mounted`),S=c.useState(`openChangeReason`),C=c.useState(`activeTriggerElement`),w=c.useState(`floatingRootContext`),T=w.useState(`floatingId`),E=c.useState(`disabled`),D=c.useState(`openOnHover`),O=c.useState(`closeDelay`);Kw({open:p,ref:c.context.popupRef,onComplete(){p&&c.context.onOpenChangeComplete?.(!0)}}),ET(w,{enabled:D&&!E,closeDelay:O});let k=a===void 0?Jw(c.context.popupRef):a,A=b!==!1&&f;c.useSyncedValue(`focusManagerModal`,A);let j=c.useStateSetter(`popupElement`),M=AS(`div`,e,{state:{open:p,side:l.side,align:l.align,instant:h,transitionStatus:g},ref:[t,c.context.popupRef,j],props:[_,{id:T,role:`dialog`,...qw,"aria-labelledby":v,"aria-describedby":y,onKeyDown(e){u&&NO.has(e.key)&&e.stopPropagation()}},kE(g),s],stateAttributesMapping:Ay});return(0,Z.jsx)(hC,{context:w,openInteractionType:m,modal:A,disabled:!x||S===`trigger-hover`,initialFocus:k,returnFocus:o,restoreFocus:`popup`,previousFocusableElement:Rv(C)?C:void 0,nextFocusableElement:c.context.triggerFocusTargetRef,beforeContentFocusGuardRef:c.context.beforeContentFocusGuardRef,children:(0,Z.jsx)(PN.Provider,{value:d,children:M})})}),LN=(0,W.createContext)(void 0),RN=e=>({className:t})=>(0,W.createElement)($o,{icon:e,"aria-hidden":!0,...t===void 0?{}:{className:t}}),zN={arrowLeft:RN(bo),arrowsExpand:RN(vo),arrowsToCenter:RN(So),bulletList:RN(Io),buttonCursor:RN(Do),chatBubble:RN(wo),chevronDown:RN(_o),chevronLeft:RN(yo),chevronRight:RN(xo),chevronUp:RN(Co),dividerY:RN(Ko),download:RN(Oo),envelope:RN(Lo),eye:RN(Zo),files:RN(ko),frame:RN(Ao),gridLayoutRows:RN(Fo),heading1:RN(jo),image:RN(Mo),layers:RN(No),message:RN(Ro),mobile:RN(Jo),monitor:RN(Eo),moon:RN(zo),palette:RN(Bo),paragraph:RN(Go),sidebarLeft:RN(Ho),sidebarLeftHide:RN(Vo),sidebarRight:RN(Wo),sidebarRightHide:RN(Uo),sliders:RN(qo),sparkle:RN(Yo),sun:RN(Xo),textColumns:RN(Po),xmark:RN(To)},BN=(0,W.createContext)(zN),VN=BN.Provider,HN=()=>(0,W.useContext)(BN),UN=(0,W.createContext)(null);function WN(){let e=(0,W.useContext)(UN);if(e===null)throw Error(`useEditorBundle must be used within an EditorProvider`);return e}function $(e){return rs(WN().store,e)}function GN(){return WN().store}var KN=e=>`${e.fileName}:${e.lineNumber}:${e.columnNumber}`,qN=e=>e.occurrences>1?`${e.tag} ${e.occurrence} of ${e.occurrences}`:e.tag,JN=(e,t)=>{let n=e.origins[0];if(n===void 0)return qN(e);let r=t.split(`
30
- `)[n.lineNumber-1];return r===void 0?qN(e):r.slice(Math.max(0,n.columnNumber-1)).match(/<([A-Za-z][A-Za-z0-9_.:-]*)/)?.[1]??qN(e)},YN=(e,t)=>{let n=t.slice(e.start,e.end).replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,` `).replace(/<[^>]+>/g,` `).replace(/&nbsp;/gi,` `).replace(/&amp;/gi,`&`).replace(/&lt;/gi,`<`).replace(/&gt;/gi,`>`).replace(/&quot;/gi,`"`).replace(/&#39;/gi,`'`).replace(/\s+/g,` `).trim();if(n!==``)return n.length>72?`${n.slice(0,69).trimEnd()}…`:n},XN=e=>{let t=[],n=(e,r)=>{t.push({depth:r,node:e});for(let t of e.children)n(t,r+1)};for(let t of e.roots)n(t,0);return t},ZN=e=>{let t=Jc(e),n=new Map,r=new Map,i=[];for(let t of e){let e=[];n.set(t.instancePath,e);let a={instancePath:t.instancePath,selection:t,children:e};r.set(t.instancePath,a);let o=t.parentPath===void 0?void 0:n.get(t.parentPath);o===void 0?i.push(a):o.push(a)}return{roots:i,index:t,nodes:r}},QN=(e,t)=>{let n=[],r=e.index.get(t)?.parentPath;for(;r!==void 0;)n.unshift(r),r=e.index.get(r)?.parentPath;return n},$N=(e,t)=>[...QN(e,t),t].flatMap(t=>{let n=e.index.get(t);return n===void 0?[]:[{instancePath:t,label:qN(n)}]}),eP=e=>{let t=new Set;if(e===null)return t;for(let n of e.roots){t.add(n.instancePath);for(let e of n.children)e.children.length>0&&t.add(e.instancePath)}return t},tP={kind:`document`},nP={kind:`envelope`},rP=e=>new TextEncoder().encode(e).length,iP=e=>Math.max(1,Math.round(e/1024)),aP=e=>e.render===null?0:e.channel===`email`?iP(rP(e.render.html)):e.channel===`sms`?iP(rP(e.render.text)):iP(rP(JSON.stringify(e.render))),oP=(e,t)=>({outline:e.channel===`email`&&e.render!==null?ZN(e.render.selections):null,sizeKb:aP(e),checks:vP(e,t)}),sP=(e,t)=>e.origins.length===t.origins.length&&e.origins.every((e,n)=>{let r=t.origins[n];return r!==void 0&&r.fileName===e.fileName&&r.lineNumber===e.lineNumber&&r.columnNumber===e.columnNumber}),cP=(e,t)=>e.tag===t.tag&&e.authored===t.authored&&e.occurrence===t.occurrence&&e.occurrences===t.occurrences&&sP(e,t),lP=(e,t,n)=>{if(e.kind!==`element`)return e;if(t===null||t.channel!==`email`)return tP;let{render:r,fixture:i}=t;if(r===null||i===null)return tP;let a=r.selections.find(t=>t.instancePath===e.instancePath);if(a===void 0)return tP;if(e.revision===r.revision&&e.fixture===i)return e;let o=n?.index.get(e.instancePath);return o===void 0||!cP(o,a)?tP:{kind:`element`,instancePath:e.instancePath,revision:r.revision,fixture:i}},uP=(e,t,n)=>{let r=t.authoredSource!==void 0&&(n===null||n===t.authoredSource)?t.authoredSource:e.origin.authoredSource,i={...e.origin,authoredSource:r};if(t.channel!==e.channel)throw Error(`Host sent a ${t.channel} change for a ${e.channel} document`);return{...e,rev:t.rev,origin:i,fixtures:t.fixtures,fixture:t.fixture,preview:t.preview,render:t.render,diagnostics:t.diagnostics,...t.channel===`email`?{incompatibilities:t.incompatibilities}:{}}},dP=104448,fP=e=>e.severity===`error`?`error`:e.severity===`warning`?`warn`:`info`,pP=e=>e===`caniemail/system-ui-ui-serif-ui-sans-serif-ui-rounded-ui-monospace`?`System fonts`:e===`caniemail/media`?`Media queries`:e===`caniemail/color-scheme-meta-tag`?`Color scheme metadata`:e.startsWith(`caniemail/`)?e.slice(10).replace(/-property$/,``).replace(/-attribute$/,` attribute`).replace(/-element$/,` element`):e.replaceAll(`-`,` `),mP=(e,t)=>{let n=new Map;for(let t of e){let e=n.get(t.code)??new Map,r=JSON.stringify([t.severity,t.compatibility?.assessment,t.compatibility?.title,t.message,[...t.clients??[]].sort(),t.notes,t.provenance]),i=e.get(r),a=new Map;for(let e of i===void 0?[t]:[i,t])for(let t of e.occurrences??[e.origins])t.length>0&&a.set(JSON.stringify(t),t);e.set(r,{...t,origins:i?.origins??t.origins,fixtures:[...new Set([...i?.fixtures??[],...t.fixtures??[]])].sort(),occurrences:[...a.values()]}),n.set(t.code,e)}return[...n].map(([e,n])=>hP(`${t}:${e}`,[...n.values()]))},hP=(e,t)=>{let n=e=>e.compatibility?.assessment===`unverified`?0:e.compatibility?.assessment===`degradation`?1:2,r=[...t].sort((e,t)=>n(e)-n(t)),i=r.find(e=>e.severity===`error`)??r.find(e=>e.severity===`warning`)??r[0],a=new Set(r.flatMap(e=>e.fixtures??[])),o=new Set(r.flatMap(e=>e.clients??[]));return{id:e,severity:fP(i),label:i.compatibility?.title??pP(i.code),detail:[`${r.length} finding${r.length===1?``:`s`}`,...o.size===0?[]:[`${o.size} client${o.size===1?``:`s`}`],...a.size===0?[]:[`${a.size} fixture${a.size===1?``:`s`}`]].join(` · `),diagnostics:r}},gP=e=>{let t=rP(e.html);return t<=dP?{id:`size:gmail-clip`,severity:`ok`,label:`Gmail clipping`,detail:`HTML is ${Math.ceil(t/1024)} KB, under Gmail's 102 KB clipping threshold.`}:{id:`size:gmail-clip`,severity:`warn`,label:`Gmail clipping risk`,detail:`HTML is ${Math.ceil(t/1024)} KB, above Gmail's 102 KB clipping threshold.`}},_P={id:`build:no-render`,severity:`error`,label:`No render`,detail:`The template entry did not produce a render at this revision.`},vP=(e,t)=>{let n=[...mP(e.diagnostics,`diagnostic`),...e.channel===`email`?mP(e.incompatibilities,`compat`):[]];return e.render===null?[...n.length===0?[_P]:n,...t]:e.channel===`email`?[...n,gP(e.render),...t]:[...n,...t]},yP=e=>{let t=[],n=[],r=[],i=[];for(let a of e)a.severity===`error`?t.push(a):a.severity===`warn`?n.push(a):a.severity===`info`?r.push(a):i.push(a);return{actionable:[...t,...n],info:r,ok:i,errorCount:t.length,warnCount:n.length,badgeCount:t.length+n.length}},bP=e=>j(e,`_tag`)&&e._tag===`DocumentUnavailable`&&j(e,`reason`)&&typeof e.reason==`string`,xP=e=>bP(e)?e.reason:e instanceof Error?e.message:`The document session failed.`,SP=(e,t)=>{let n=``,r=[],i=!1,a,o=!1,s=!1,c,l=[],u=0,d=()=>{let e=l;l=[];for(let t of e)t.resolve(n)},f=e=>{let t=l;l=[];for(let n of t)n.reject(e)},p=()=>{if(a!==void 0&&(clearTimeout(a),a=void 0),e.access!==`editable`)return;let s=e.writer;if(i)return;i=!0;let c=u;(async()=>{for(;r.length>0&&!o;){let e=r[0],a={kind:`authoredSource`,baseRev:n,authoredSource:e.authoredSource};try{let e=await s.save(a);if(u!==c)return;n=e.rev,t.onPersistedRevision(n),r.shift(),t.onStorageError(null)}catch(e){if(u!==c)return;if(bP(e)){t.onStorageError(e.reason),i=!1,f(e);return}r=[],o=!0,t.onConflict();break}}u===c&&(i=!1,d())})()},m=()=>{u+=1,i=!1,s=!1;let a=u,l=!1,d=[],f=e=>{if(u!==a)return;if(e.origin===`self`){t.onSelfAck(e);return}let i=r.length>0;i&&(o=!0),n=e.rev,t.onForeignChange(e,i)};e.document.open(e=>{l?f(e):d.push(e)},e=>{u===a&&(s=!1,t.onSessionError(xP(e)))}).then(({initial:e,close:i})=>{if(u!==a){i();return}c=i,l=!0,s=!0,n=e.rev,t.onInitial(e);for(let e of d)f(e);d.length=0,r.length>0&&p()}).catch(e=>{u===a&&t.onSessionError(xP(e))})};return{open:m,dispose:()=>{u+=1,a!==void 0&&clearTimeout(a),a=void 0,s=!1,c?.(),c=void 0},reload:()=>{o=!1,r=[],i=!1,a!==void 0&&clearTimeout(a),a=void 0,d(),c?.(),c=void 0,m()},enqueueAuthoredSource:(t,n)=>{if(e.access!==`editable`)return;let o={kind:`authoredSource`,authoredSource:t,coalesceKey:n?.coalesceKey},s=r.length-1,c=r[s],l=s>=+!!i;o.coalesceKey!==void 0&&l&&c?.kind===`authoredSource`&&c.coalesceKey===o.coalesceKey?r[s]=o:r.push(o),a!==void 0&&clearTimeout(a),a=setTimeout(p,300)},flushSaves:()=>(a!==void 0&&p(),r.length===0&&!i?Promise.resolve(n):new Promise((e,t)=>{l.push({resolve:e,reject:t})})),retrySave:()=>{if(e.access===`editable`){if(t.onStorageError(null),!s){c?.(),c=void 0,m();return}p()}},adoptRev:e=>{n=e,o=!1}}},CP={desktop:600,mobile:375},wP=`samva.editor.leftWidth`,TP=`samva.editor.assistantWidth`,EP=`samva.editor.rightWidth`,DP=260,OP=360,kP=320,AP=200,jP=420,MP=300,NP=520,PP=260,FP=440,IP=(e,t)=>{try{let n=localStorage.getItem(e);if(n===null)return t;let r=Number(n);return Number.isFinite(r)?r:t}catch{return t}},LP=(e,t)=>{try{localStorage.setItem(e,String(t))}catch{}},RP=e=>e!==null&&e.channel===`email`?e.render:null,zP=(e,t)=>{let n,r,i=t=>e.access!==`editable`||t.doc?.access.kind===`readonly`||t.lifecycleBusy,a=t=>t!==null&&e.access===`editable`&&e.sourceAccess===`editable`&&t.access.kind!==`readonly`,o=(e,t,n)=>{let r=oP(t,e.hostChecks),i=!e.layersSeeded&&r.outline!==null;return{doc:t,pendingAuthoredSource:n,...r,render:RP(t),expandedLayers:i?eP(r.outline):e.expandedLayers,layersSeeded:e.layersSeeded||i,selection:lP(e.selection,t,e.outline)}},s=ts((s,c)=>{let l=(e,t)=>{let r=c();r.doc!==null&&(s({doc:{...r.doc,origin:{...r.doc.origin,authoredSource:e}},pendingAuthoredSource:e,sourceEditError:null}),n.enqueueAuthoredSource(e,{coalesceKey:t?.coalesceKey??`authored-source`}))},u=e=>{let t=c();if(i(t)||!t.sourceEditable||t.conflict||t.doc===null)return;let n=e===`undo`?t.undoHistory:t.redoHistory,r=n.at(-1);if(r!==void 0){if(t.doc.origin.authoredSource!==(e===`undo`?r.after:r.before)){s({sourceEditError:`History conflicts with a newer change. Your current work is kept. Review the saved versions.`});return}s(e===`undo`?{undoHistory:n.slice(0,-1),redoHistory:[...t.redoHistory,r]}:{redoHistory:n.slice(0,-1),undoHistory:[...t.undoHistory,r]}),l(e===`undo`?r.before:r.after)}};return{sourceEditError:null,assistantOriginIndex:0,undoHistory:[],redoHistory:[],workspaceView:`visual`,doc:null,pendingAuthoredSource:null,editable:e.access===`editable`,sourceEditable:e.access===`editable`&&e.sourceAccess===`editable`,metadataEditable:e.access===`editable`&&e.metadataAccess!==`readonly`,readonlyReason:null,render:null,outline:null,sizeKb:0,checks:t.hostChecks,hostChecks:t.hostChecks,lifecycleCapability:e.lifecycle,versionsCapability:e.versions,telemetry:e.telemetry,assetsCapability:e.assets,fixtureCapability:e.fixtures,fixtureBusy:!1,fixtureError:null,diagnosticAssistance:null,selection:tP,renameActive:!1,expandedLayers:new Set,layersSeeded:!1,leftCollapsed:!1,rightCollapsed:!1,designView:`layers`,focusedPane:`assistant`,leftWidth:IP(wP,DP),assistantWidth:Math.min(NP,Math.max(MP,IP(TP,OP))),rightWidth:IP(EP,kP),previewDevice:`desktop`,canvasZoom:`100`,layoutMode:`wide`,metadataSaving:!1,metadataError:null,lifecycleBusy:!1,conflict:!1,storageError:null,hoveredCandidatePath:null,actions:{requestSourceAssistance:e=>s({assistantOriginIndex:e,rightCollapsed:!1}),requestDiagnosticAssistance:e=>{let t=c();t.doc===null||i(t)||t.pendingAuthoredSource!==null||t.conflict||s({diagnosticAssistance:{id:(t.diagnosticAssistance?.id??0)+1,revision:t.doc.rev,check:e},rightCollapsed:!1})},openSource:()=>s({workspaceView:`source`}),undo:()=>u(`undo`),redo:()=>u(`redo`),applySourceEdit:e=>{let t=c();if(i(t)||!t.sourceEditable||t.conflict||t.doc===null)return;if(t.doc.rev!==e.revision||t.doc.origin.authoredSource!==e.source||t.pendingAuthoredSource!==null&&e.coalesceKey===void 0){s({sourceEditError:`That edit is stale. The preview moved on. Reselect the element and try again.`});return}let n=Gg(e.source,e.edits,{profile:{entry:t.doc.origin.file}});if(!n.ok){s({sourceEditError:n.reason});return}if(n.source===e.source)return;let r=t.undoHistory.at(-1);s({undoHistory:e.coalesceKey!==void 0&&r?.key===e.coalesceKey&&r.after===e.source?[...t.undoHistory.slice(0,-1),{before:r.before,after:n.source,key:e.coalesceKey}]:[...t.undoHistory,{before:e.source,after:n.source,key:e.coalesceKey}],redoHistory:[]}),l(n.source,{coalesceKey:e.coalesceKey})},replaceAuthoredSource:e=>{let t=c();i(t)||!t.sourceEditable||t.doc===null||e===t.doc.origin.authoredSource||t.conflict||(s({undoHistory:[...t.undoHistory,{before:t.doc.origin.authoredSource,after:e}],redoHistory:[]}),l(e))},viewFixture:e=>{let t=c(),n=t.fixtureCapability;n?.status===`ready`&&t.doc!==null&&!t.fixtureBusy&&t.doc.fixtures.includes(e)&&t.doc.fixture!==e&&(s({fixtureBusy:!0,fixtureError:null}),n.api.view(e).then(()=>s({fixtureBusy:!1}),()=>s({fixtureBusy:!1,fixtureError:`Couldn't render the ${e} fixture.`})))},reload:()=>{c().lifecycleBusy||(s({conflict:!1,storageError:null,fixtureError:null}),n.reload())},flushSaves:()=>n.flushSaves(),beginLifecycle:()=>{let t=c();return t.lifecycleBusy||t.doc===null||e.access!==`editable`||t.doc.access.kind===`readonly`?!1:(s({lifecycleBusy:!0}),!0)},endLifecycle:()=>s({lifecycleBusy:!1}),adoptLifecycleSnapshot:e=>{n.adoptRev(e.rev),s(t=>{if(t.doc===null)return{conflict:!1};let n={...t.doc,rev:e.rev,origin:{...t.doc.origin,authoredSource:e.authoredSource}};return{...o(t,n,null),sourceEditable:a(n),conflict:!1}})},retrySave:()=>{i(c())||n.retrySave()},select:e=>{s(t=>{if(e===null)return{selection:tP};let{render:n,doc:r}=t;if(n===null||r?.channel!==`email`||r.fixture===null||!n.selections.some(t=>t.instancePath===e))return{selection:tP};let i=new Set(t.expandedLayers);if(t.outline!==null)for(let n of QN(t.outline,e))i.add(n);return{assistantOriginIndex:0,selection:{kind:`element`,instancePath:e,revision:n.revision,fixture:r.fixture},expandedLayers:i}});let{selection:t}=c();t.kind===`element`&&r?.({instancePath:t.instancePath,revision:t.revision,fixture:t.fixture})},selectDocument:()=>s({selection:tP}),selectEnvelope:()=>s({selection:nP}),toggleLeft:()=>s(e=>({leftCollapsed:!e.leftCollapsed})),toggleRight:()=>s(e=>({rightCollapsed:!e.rightCollapsed})),setDesignView:e=>{c().designView!==e&&s({designView:e})},setFocusedPane:e=>{c().focusedPane!==e&&s({focusedPane:e})},openReview:()=>s(e=>({designView:`review`,focusedPane:e.layoutMode===`narrow`?`assistant`:`design`})),setWorkspaceView:e=>s({workspaceView:e}),setLeftWidth:e=>{let t=Math.min(jP,Math.max(AP,Math.round(e)));LP(wP,t),s({leftWidth:t})},setAssistantWidth:e=>{let t=Math.min(NP,Math.max(MP,Math.round(e)));LP(TP,t),s({assistantWidth:t})},setRightWidth:e=>{let t=Math.min(FP,Math.max(PP,Math.round(e)));LP(EP,t),s({rightWidth:t})},setPreviewDevice:e=>s({previewDevice:e}),setCanvasZoom:e=>s({canvasZoom:e}),setLayoutMode:e=>{if(c().layoutMode!==e){if(e===`wide`){s({layoutMode:e,leftCollapsed:!1,rightCollapsed:!1,canvasZoom:`100`});return}if(e===`standard`){s({layoutMode:e,leftCollapsed:!1,rightCollapsed:!0,canvasZoom:`fit`});return}s({layoutMode:e,leftCollapsed:!0,rightCollapsed:!0,canvasZoom:`fit`})}},setRenameActive:e=>s({renameActive:e}),rename:t=>{let n=c();if(i(n)||e.access!==`editable`||e.metadataAccess===`readonly`)return;let r=e.writer,a=n.doc;if(a===null)return;let o=t.trim()||`Untitled template`;o!==a.name&&(s(e=>e.doc===null?e:{doc:{...e.doc,name:o},metadataSaving:!0,metadataError:null}),r.save({kind:`metadata`,patch:{name:o}}).then(()=>s({metadataSaving:!1}),()=>{s(e=>({doc:e.doc===null?e.doc:{...e.doc,name:a.name},metadataSaving:!1,metadataError:`Couldn't save the template name.`}))}))},saveMetadata:t=>{let n=c();if(i(n)||e.access!==`editable`||e.metadataAccess===`readonly`)return;let r=e.writer,a=n.doc;a!==null&&(s(e=>e.doc===null?e:{doc:{...e.doc,metadata:{fromDefault:t.fromDefault===void 0?e.doc.metadata.fromDefault:t.fromDefault??void 0,replyToDefault:t.replyToDefault===void 0?e.doc.metadata.replyToDefault:t.replyToDefault??void 0}},metadataSaving:!0,metadataError:null}),r.save({kind:`metadata`,patch:t}).then(()=>s({metadataSaving:!1}),()=>{s(e=>({doc:e.doc===null?e.doc:{...e.doc,metadata:a.metadata},metadataSaving:!1,metadataError:`Couldn't save the sender defaults.`}))}))},toggleLayerExpand:e=>s(t=>{let n=new Set(t.expandedLayers);return n.has(e)?n.delete(e):n.add(e),{expandedLayers:n}}),ancestryOf:e=>{let{outline:t}=c();return t===null?[]:QN(t,e)},breadcrumbOf:e=>{let{outline:t}=c();return t===null?[]:$N(t,e)},setHovered:e=>s({hoveredCandidatePath:e}),setHostChecks:e=>{Object.is(c().hostChecks,e)||s(t=>({hostChecks:e,checks:t.doc===null?e:vP(t.doc,e)}))}}}}),c=(e,t)=>{s.setState(n=>{if(n.doc===null)return n;let r=t?n.pendingAuthoredSource:null,i=uP(n.doc,e,r),a=e.authoredSource!==void 0&&e.authoredSource===i.origin.authoredSource;return o(n,i,a?null:r)})};return n=SP(e,{onInitial:t=>{s.setState(n=>({...o(n,t,null),editable:e.access===`editable`&&t.access.kind!==`readonly`,sourceEditable:a(t),readonlyReason:t.access.kind===`readonly`?t.access.reason:null}))},onPersistedRevision:e=>{s.setState(t=>t.doc===null?t:{doc:{...t.doc,rev:e}})},onSelfAck:e=>c(e,!0),onForeignChange:(e,t)=>{if(t){s.setState(t=>t.doc===null?t:{doc:{...t.doc,rev:e.rev},sourceEditable:!1,conflict:!0});return}c(e,!1),s.setState(e=>({sourceEditable:a(e.doc)}))},onConflict:()=>s.setState({conflict:!0,sourceEditable:!1}),onStorageError:e=>s.setState({storageError:e}),onSessionError:e=>s.setState({storageError:e})}),{host:e,store:s,spine:n,setUserSelectListener:e=>{r=e}}},BP=[];function VP({host:e,checks:t=BP,icons:n,onSelectElement:r,preparePreviewDocument:i,children:a}){let[o,s]=(0,W.useState)(()=>zP(e,{hostChecks:t}));o.host!==e&&s(zP(e,{hostChecks:t})),(0,W.useEffect)(()=>(o.spine.open(),()=>o.spine.dispose()),[o]),(0,W.useEffect)(()=>{o.store.getState().actions.setHostChecks(t)},[o,t]),(0,W.useLayoutEffect)(()=>(o.setUserSelectListener(r),()=>o.setUserSelectListener(void 0)),[o,r]);let c=(0,W.useMemo)(()=>n===void 0?zN:{...zN,...n},[n]);return(0,Z.jsx)(UN.Provider,{value:o,children:(0,Z.jsx)(LN.Provider,{value:i,children:(0,Z.jsx)(VN,{value:c,children:a})})})}var HP=e=>{let t=({className:t})=>{let n=HN()[e];return(0,Z.jsx)(n,{...t===void 0?{}:{className:t}})};return t.displayName=`EditorIcon(${e})`,t},UP=HP(`arrowsExpand`),WP=HP(`arrowsToCenter`),GP=HP(`bulletList`),KP=HP(`buttonCursor`),qP=HP(`chevronDown`),JP=HP(`chevronLeft`),YP=HP(`chevronRight`),XP=HP(`chevronUp`),ZP=HP(`dividerY`),QP=HP(`download`),$P=HP(`envelope`),eF=HP(`eye`),tF=HP(`files`),nF=HP(`frame`),rF=HP(`gridLayoutRows`),iF=HP(`heading1`),aF=HP(`image`),oF=HP(`layers`),sF=HP(`mobile`),cF=HP(`monitor`),lF=HP(`palette`),uF=HP(`paragraph`),dF=HP(`sidebarLeft`),fF=HP(`sidebarLeftHide`),pF=HP(`sidebarRight`),mF=HP(`sidebarRightHide`),hF=HP(`sliders`),gF=HP(`sparkle`),_F=HP(`textColumns`),vF=HP(`xmark`);function yF(...e){return dk(e)}var bF=`focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`,xF=yF(`inline-flex items-center justify-center gap-1.5 rounded-[7px] font-medium transition-all outline-none disabled:pointer-events-none disabled:opacity-50`,`bg-[var(--editor-raised-bg)] text-[color:var(--editor-raised-fg)] shadow-[var(--editor-raised-shadow)]`,`hover:bg-[var(--editor-raised-bg-hover)] aria-expanded:bg-[var(--editor-raised-bg-hover)] data-popup-open:bg-[var(--editor-raised-bg-hover)]`,`active:translate-y-px active:shadow-[var(--editor-raised-shadow-pressed)] disabled:shadow-none data-disabled:shadow-none`,bF),SF=yF(`inline-flex items-center justify-center gap-1.5 rounded-md border border-transparent font-medium whitespace-nowrap text-muted-foreground outline-none`,`hover:bg-muted hover:text-foreground`,`transition-[color,background-color,border-color,box-shadow] duration-150 ease-out`,bF,`data-[pressed]:border-[color:var(--editor-chip-border)] data-[pressed]:bg-[var(--editor-chip-bg)] data-[pressed]:text-[color:var(--editor-chip-fg)] data-[pressed]:shadow-[var(--editor-chip-shadow)]`,`data-active:border-[color:var(--editor-chip-border)] data-active:bg-[var(--editor-chip-bg)] data-active:text-[color:var(--editor-chip-fg)] data-active:shadow-[var(--editor-chip-shadow)]`,`aria-pressed:border-[color:var(--editor-chip-border)] aria-pressed:bg-[var(--editor-chip-bg)] aria-pressed:text-[color:var(--editor-chip-fg)] aria-pressed:shadow-[var(--editor-chip-shadow)]`),CF=yF(`min-h-9 w-full rounded-lg border border-border bg-background px-2.5 text-[13px] text-foreground outline-none disabled:cursor-not-allowed disabled:bg-surface-inset disabled:text-muted-foreground`,bF),wF=new Set([`frame.start`,`document.switcher`,`rail.assistant`,`rail.review`,`statusbar.headline`]),TF=e=>{let t=new Set,n=new Map;for(let r of e){if(t.has(r.id))throw Error(`Editor contribution id "${r.id}" is used twice.`);t.add(r.id);let e=n.get(r.slot)??[];if(wF.has(r.slot)&&e.length>0)throw Error(`Editor region "${r.slot}" holds one contribution; "${e[0].id}" and "${r.id}" both target it.`);e.push(r),n.set(r.slot,e)}let r=n.get(`toolbar.actions`);if(r!==void 0){let e=e=>e.slot===`toolbar.actions`?e.order:void 0;n.set(`toolbar.actions`,r.toSorted((t,n)=>{let r=e(t),i=e(n);return r===void 0||i===void 0?r===i?0:r===void 0?1:-1:r-i}))}let i=e=>(n.get(e)??[]).filter(t=>t.slot===e);return{all:i,one:e=>i(e)[0]}},EF=(0,W.createContext)(TF([])),DF=EF.Provider,OF=e=>(0,W.useContext)(EF).one(e),kF=e=>(0,W.useContext)(EF).all(e),AF=(0,W.createContext)(null),jF=AF.Provider;function MF(){let e=OF(`rail.assistant`),t=OF(`rail.review`),n=(0,W.useContext)(AF),r=GN(),{doc:i,render:a,outline:o,selection:s,originIndex:c,checks:l,diagnosticAssistance:u,layout:d,canFix:f}=$(lk(e=>({doc:e.doc,render:e.render,outline:e.outline,selection:e.selection,originIndex:e.assistantOriginIndex,checks:e.checks,diagnosticAssistance:e.diagnosticAssistance,layout:e.layoutMode,canFix:e.sourceEditable&&!e.conflict&&e.pendingAuthoredSource===null&&!e.lifecycleBusy})));if(e===void 0||n===null)return null;let p=yP(l),m=s.kind===`element`?o?.index.get(s.instancePath)??null:null,h=m===null||s.kind!==`element`?null:{originIndex:c,instancePath:m.instancePath,fixture:s.fixture,label:qN(m)},g=i?.channel===`email`?i.fixture:null,_=o===null||g===null||a===null||i===null?[]:XN(o).map(({depth:e,node:t})=>{let n=YN(t.selection,a.html);return{instancePath:t.instancePath,fixture:g,...t.selection.origins[c]===void 0?{}:{originIndex:c},label:JN(t.selection,i.origin.authoredSource),...n===void 0?{}:{detail:n},depth:e,active:s.kind===`element`&&s.instancePath===t.instancePath}});return{panel:e.render({flushSaves:()=>r.getState().actions.flushSaves(),exportHtml:n.exportHtml,canExport:n.canExport,openReview:t===void 0?void 0:()=>r.getState().actions.openReview(),workspace:{draftRevision:i?.rev??null,saveVersionStatus:n.saveVersionStatus,checks:{errors:p.errorCount,warnings:p.warnCount,findings:p.actionable,canFix:f},diagnosticAssistance:u,pointedElement:h,availableInstancePaths:o===null?[]:[...o.index.keys()],layout:d,layers:_}}),header:e.header??null}}function NF({hidden:e=!1}){let t=MF(),n=$(e=>e.assistantWidth),r=$(e=>e.layoutMode),i=r===`compact`||r===`narrow`;return t===null?null:(0,Z.jsx)(`aside`,{"aria-label":`Assistant`,hidden:e,"data-editor-rail":`left`,"data-testid":`agent-column`,style:i?void 0:{width:n},className:yF(`min-h-0 min-w-0 flex-col overflow-hidden bg-background`,e?`hidden`:`flex`,i&&`h-full w-full flex-1`,!i&&`h-full shrink-0 border-r border-border`),children:(0,Z.jsxs)(`div`,{className:`flex h-full min-h-0 min-w-0 flex-col`,style:i?void 0:{width:n,maxWidth:`100%`},children:[(0,Z.jsxs)(`div`,{className:`border-border-subtle flex min-h-11 shrink-0 items-center gap-2 border-b px-3 py-2`,children:[(0,Z.jsx)(gF,{className:`text-accent-orange size-[15px] shrink-0`}),(0,Z.jsx)(`p`,{className:`text-foreground truncate text-[13px] leading-none font-semibold`,children:`Assistant`}),t.header!==null&&(0,Z.jsx)(`div`,{className:`ml-auto shrink-0`,children:t.header})]}),(0,Z.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:t.panel})]})})}function PF(){let e=MF(),{rightCollapsed:t,rightWidth:n,layoutMode:r}=$(lk(e=>({rightCollapsed:e.rightCollapsed,rightWidth:e.rightWidth,layoutMode:e.layoutMode})));if(e===null)return null;let i=r===`compact`||r===`narrow`;return(0,Z.jsx)(`aside`,{"aria-label":`Assistant`,"aria-hidden":t||void 0,inert:t||void 0,"data-editor-rail":`right`,style:{width:t?0:n,maxWidth:i?`calc(100% - 48px)`:void 0},className:yF(`flex h-full shrink-0 flex-col overflow-hidden border-l border-border bg-background transition-[width,transform,box-shadow] duration-180 ease-out`,i&&`absolute inset-y-0 right-0 z-40 shadow-[var(--shadow-floating)]`,t&&`border-l-0`),children:(0,Z.jsx)(`div`,{className:`flex h-full min-w-0 flex-col`,style:{width:n,maxWidth:`100%`},children:(0,Z.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:e.panel})})})}var FF=(0,W.createContext)(void 0),IF=()=>(0,W.useContext)(FF);function LF({label:e,source:t,editable:n,onChange:r,testId:i}){return(0,Z.jsxs)(`section`,{className:`flex min-h-0 min-w-0 flex-1 flex-col`,children:[(0,Z.jsx)(`div`,{className:`border-border-subtle bg-surface-inset text-muted-foreground border-b px-4 py-2 font-mono text-[11px] font-medium`,children:e}),(0,Z.jsx)(`textarea`,{"aria-label":e,"data-testid":i,readOnly:!n,spellCheck:!1,value:t,onChange:e=>r?.(e.target.value),className:yF(`border border-[color:var(--editor-well-border)] bg-[var(--editor-well-bg)] shadow-[var(--editor-well-shadow)]`,`samva-editor-scroll text-foreground min-h-0 flex-1 resize-none border-t-0 p-4 font-mono text-[12.5px] leading-5 outline-none`,`read-only:bg-muted read-only:shadow-none dark:read-only:bg-muted/40`)})]})}function RF(){let e=$(e=>e.doc),t=$(e=>e.sourceEditable),{replaceAuthoredSource:n}=$(e=>e.actions);return e===null?(0,Z.jsx)(`div`,{className:`text-muted-foreground grid flex-1 place-items-center text-sm`,children:`Loading…`}):(0,Z.jsx)(`div`,{className:`flex min-h-0 min-w-0 flex-1`,children:(0,Z.jsx)(LF,{label:`Authored TSX · ${e.origin.file}`,source:e.origin.authoredSource,editable:t,testId:`source-workspace.authored-tsx`,onChange:t?n:void 0})})}function zF(e){let t=GN(),{applySourceEdit:n}=$(e=>e.actions);return(0,W.useCallback)((r,i)=>{let{doc:a}=t.getState();if(a===null)return;let o=a.origin.authoredSource,s=e(o,r);if(!s.ok){t.setState({sourceEditError:s.reason});return}s.edits.length!==0&&n({revision:a.rev,source:o,edits:s.edits,coalesceKey:i})},[n,e,t])}function BF(e,t){return`${e}-view-tab-${t}`}var VF=yF(SF,`h-7 px-2.5 text-[12px] capitalize`);function HF({value:e,onChange:t,children:n,panelId:r,idBase:i}){let a=(0,W.useId)(),o=i??a,s=`${o}-view-panel`;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(Ck,{role:`tablist`,"aria-label":`Workspace view`,value:[e],onValueChange:e=>{let n=e[0];(n===`visual`||n===`source`)&&t(n)},className:`border-border bg-background flex h-10 shrink-0 items-center gap-1 border-b px-3`,children:[`visual`,`source`].map(t=>(0,Z.jsx)(gk,{id:BF(o,t),type:`button`,role:`tab`,"aria-selected":e===t,"aria-controls":r??s,"aria-pressed":void 0,value:t,"data-testid":`workspace.tab.${t}`,className:VF,children:t},t))}),r===void 0&&(0,Z.jsx)(`div`,{role:`tabpanel`,id:s,"aria-labelledby":BF(o,e),className:`flex min-h-0 min-w-0 flex-1 flex-col`,children:n})]})}function UF({label:e,children:t}){return(0,Z.jsxs)(`label`,{className:`grid gap-1.5 text-[12.5px]`,children:[(0,Z.jsx)(`span`,{className:`text-foreground font-medium`,children:e}),t]})}function WF({summary:e}){return(0,Z.jsxs)(`div`,{className:`border-border bg-surface-inset rounded-lg border border-dashed px-3 py-2`,children:[(0,Z.jsx)(`p`,{className:`text-foreground truncate font-mono text-[11.5px]`,children:e}),(0,Z.jsx)(`p`,{className:`text-muted-foreground mt-0.5 text-[11px]`,children:`Locked structure. Preserved as is. Edit it in Source.`})]})}function GF({summary:e}){return(0,Z.jsx)(`span`,{title:`Locked expression. Edit it in Source.`,"data-testid":`channel-workspace.locked-chip`,className:`border-border bg-surface-inset text-muted-foreground inline-flex max-w-full shrink-0 truncate rounded-md border border-dashed px-1.5 py-0.5 font-mono text-[11.5px]`,children:e})}function KF({diagnostics:e}){return e.length===0?null:(0,Z.jsx)(`ul`,{className:`grid gap-2`,children:e.map((e,t)=>(0,Z.jsx)(`li`,{className:`border-status-error/30 bg-status-error/5 text-status-error rounded-lg border px-3 py-2 text-[12px]`,children:e.message},`${e.code}-${t}`))})}function qF({variables:e}){return e.length===0?null:(0,Z.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:e.map(e=>(0,Z.jsx)(`span`,{className:`border-border-subtle bg-surface-inset rounded-full border px-2 py-0.5 font-mono text-[11px]`,children:e},e))})}function JF({text:e,className:t}){let n=U_(e);return(0,Z.jsxs)(`p`,{"data-testid":`sms-counter`,className:yF(`text-muted-foreground`,t),children:[n.encoding.toUpperCase(),` · `,n.characterCount,` character`,n.characterCount===1?``:`s`,` · `,n.segmentCount,` segment`,n.segmentCount===1?``:`s`]})}function YF({reason:e}){return e===null?null:(0,Z.jsx)(`p`,{role:`alert`,"data-testid":`channel-workspace.edit-refusal`,className:`border-status-error/30 bg-status-error/5 text-status-error rounded-lg border px-3 py-2 text-[12px]`,children:e})}var XF=`none`;function ZF({segments:e,editable:t,onChange:n}){let r=(0,W.useRef)(!1);return(0,Z.jsx)(`div`,{className:`bg-muted text-foreground rounded-[18px] px-4 py-3 text-[14px] whitespace-pre-wrap`,children:e.map((e,i)=>e.kind===`locked`?(0,Z.jsx)(`span`,{contentEditable:!1,title:`Locked structure — edit in Source`,"data-testid":`sms-workspace.locked-segment`,className:`border-border bg-surface-inset text-muted-foreground mx-0.5 inline-flex rounded-md border border-dashed px-1.5 py-0.5 font-mono text-[11.5px]`,children:e.summary},`locked-${i}`):(0,Z.jsx)(`span`,{role:`textbox`,"aria-label":`SMS message preview segment ${i+1}`,"data-testid":`sms-workspace.preview-segment.${i+1}`,"aria-multiline":`true`,contentEditable:t?`plaintext-only`:!1,suppressContentEditableWarning:!0,onCompositionStart:()=>{r.current=!0},onCompositionEnd:e=>{r.current=!1,n(i,e.currentTarget.textContent??``)},onInput:e=>{r.current||n(i,e.currentTarget.textContent??``)},className:`focus:bg-background focus-visible:ring-ring/50 rounded-sm outline-none focus-visible:ring-[3px]`,children:e.text},`text-${i}`))})}function QF({form:e,editable:t,onEdit:n}){let r=IF(),i=e.category.kind===`literal`?e.category.value:void 0;return(0,Z.jsxs)(`div`,{className:`grid gap-4`,children:[(0,Z.jsx)(UF,{label:`Category`,children:(0,Z.jsxs)(jD,{value:i??XF,disabled:!t||e.category.kind===`expression`,onValueChange:e=>n({kind:`category`,value:po.find(t=>t.value===e)?.value}),children:[(0,Z.jsx)(KD,{"data-testid":`sms-workspace.category`,className:CF,children:(0,Z.jsx)(JD,{})}),(0,Z.jsx)(YD,{container:r,children:(0,Z.jsx)(wO,{sideOffset:4,className:`z-[120]`,children:(0,Z.jsxs)(GO,{className:`samva-editor-shell border-border bg-surface-elevated min-w-[var(--anchor-width)] rounded-lg border p-1 shadow-[var(--shadow-lg)]`,children:[(0,Z.jsx)(nk,{value:XF,"data-testid":`sms-workspace.category-option.none`,className:`data-highlighted:bg-muted rounded-md px-2.5 py-1.5 text-[13px] outline-none`,children:(0,Z.jsx)(rk,{children:`Not set`})}),po.map(e=>(0,Z.jsx)(nk,{value:e.value,"data-testid":`sms-workspace.category-option.${e.value}`,className:`data-highlighted:bg-muted rounded-md px-2.5 py-1.5 text-[13px] outline-none`,children:(0,Z.jsx)(rk,{children:e.label})},e.value))]})})})]})}),(0,Z.jsxs)(`div`,{className:`grid gap-2`,children:[(0,Z.jsx)(`span`,{className:`text-[12.5px] font-medium`,children:`Message body`}),e.segments.map((e,r)=>e.kind===`locked`?(0,Z.jsx)(WF,{summary:e.summary},`locked-${r}`):(0,Z.jsx)(`textarea`,{"aria-label":`Message body segment ${r+1}`,"data-testid":`sms-workspace.body-segment.${r+1}`,value:e.text,disabled:!t,onChange:e=>n({kind:`text`,segment:r,text:e.target.value},`sms-${r}`),rows:5,className:`${CF} resize-y py-2`},`text-${r}`))]}),(0,Z.jsx)(qF,{variables:e.variables})]})}function $F(){let e=$(e=>e.doc),t=$(e=>e.sourceEditable),n=$(e=>e.sourceEditError),[r,i]=(0,W.useState)(`visual`),a=zF(k_),o=e?.origin.authoredSource??``,s=(0,W.useMemo)(()=>O_(o),[o]),c=e?.channel===`sms`?e.render:null;return(0,Z.jsx)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col`,children:(0,Z.jsx)(HF,{value:r,onChange:i,children:r===`source`?(0,Z.jsx)(RF,{}):(0,Z.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1`,children:[(0,Z.jsx)(`aside`,{className:`samva-editor-scroll border-border bg-background w-[380px] shrink-0 overflow-y-auto border-r p-4`,children:(0,Z.jsxs)(`div`,{className:`grid gap-4`,children:[(0,Z.jsx)(KF,{diagnostics:e?.diagnostics??[]}),(0,Z.jsx)(YF,{reason:n}),s===null?(0,Z.jsxs)(`p`,{className:`text-muted-foreground text-[12.5px]`,children:[`The SMS body is not a `,(0,Z.jsx)(`code`,{children:`<Sms>`}),` written in place, so it is edited in Source.`]}):(0,Z.jsx)(QF,{form:s,editable:t,onEdit:a})]})}),(0,Z.jsx)(`main`,{className:`samva-editor-workspace samva-editor-scroll min-w-0 flex-1 overflow-auto p-8`,children:(0,Z.jsxs)(`div`,{className:`border-border bg-background mx-auto max-w-[420px] rounded-[28px] border p-5 shadow-[var(--shadow-lg)]`,children:[(0,Z.jsx)(`div`,{"data-testid":`sms-workspace.preview-heading`,className:`border-border-subtle text-muted-foreground mb-5 border-b pb-3 text-center text-[12px] font-medium`,children:`SMS preview`}),s===null?(0,Z.jsx)(`div`,{className:`bg-muted text-muted-foreground rounded-[18px] px-4 py-3 text-[14px] whitespace-pre-wrap`,children:c?.text||`Message preview`}):(0,Z.jsx)(ZF,{segments:s.segments,editable:t,onChange:(e,t)=>a({kind:`text`,segment:e,text:t},`sms-${e}`)}),c!==null&&(0,Z.jsx)(JF,{text:c.text,className:`mt-4 text-center text-[11.5px]`})]})}),(0,Z.jsx)(PF,{})]})})})}var eI=[{kind:`text`,text:``,start:0,end:0}],tI=e=>e.kind===`literal`?e.value:e.kind===`expression`?e.source:``;function nI({value:e,options:t,disabled:n,ariaLabel:r,onChange:i}){let a=IF();return(0,Z.jsxs)(jD,{value:e,disabled:n,onValueChange:e=>{let n=t.find(t=>t.value===e);n!==void 0&&i(n.value)},children:[(0,Z.jsx)(KD,{"aria-label":r,className:CF,children:(0,Z.jsx)(JD,{})}),(0,Z.jsx)(YD,{container:a,children:(0,Z.jsx)(wO,{sideOffset:4,className:`z-[120]`,children:(0,Z.jsx)(GO,{className:`samva-editor-shell border-border bg-surface-elevated min-w-[var(--anchor-width)] rounded-lg border p-1 shadow-[var(--shadow-lg)]`,children:t.map(e=>(0,Z.jsx)(nk,{value:e.value,className:`data-highlighted:bg-muted rounded-md px-2.5 py-1.5 text-[13px] outline-none`,children:(0,Z.jsx)(rk,{children:e.label})},e.value))})})})]})}function rI({label:e,part:t,segments:n,editable:r,onEdit:i}){let a=n??eI,o=`whatsapp-workspace.slot.${e.toLowerCase()}`;return(0,Z.jsxs)(`div`,{className:`grid gap-1.5 text-[12.5px]`,children:[(0,Z.jsx)(`span`,{className:`text-foreground font-medium`,children:e}),(0,Z.jsx)(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:a.map((n,a)=>n.kind===`locked`?(0,Z.jsx)(GF,{summary:n.summary},`locked-${a}`):(0,Z.jsx)(`input`,{"aria-label":a===0?e:`${e} ${a+1}`,value:n.text,disabled:!r,"data-testid":a===0?o:`${o}.${a+1}`,onChange:e=>i({kind:`text`,part:t,segment:a,text:e.target.value},`whatsapp-${t}-${a}`),className:`${CF} min-w-[8ch] flex-1`},`text-${a}`))})]})}function iI({ariaLabel:e,state:t,editable:n,onChange:r,testId:i}){return(0,Z.jsx)(`input`,{"aria-label":e,"data-testid":i,value:tI(t),disabled:!n||t.kind===`expression`,title:t.kind===`expression`?`Read from the input. Edit it in Source.`:void 0,onChange:e=>r(e.target.value),className:CF})}function aI({buttons:e,editable:t,onEdit:n}){let[r,i]=(0,W.useState)(`quick-reply`);return(0,Z.jsxs)(`div`,{className:`grid gap-2`,children:[(0,Z.jsx)(`span`,{className:`text-[12.5px] font-medium`,children:`Buttons`}),e.map((e,r)=>e.kind===`locked`?(0,Z.jsx)(WF,{summary:e.summary},`locked-${r}`):(0,Z.jsxs)(`div`,{className:`border-border grid gap-2 rounded-lg border p-3`,children:[(0,Z.jsx)(nI,{value:e.type,options:go,disabled:!t,ariaLabel:`Button ${r+1} type`,onChange:e=>n({kind:`buttonType`,button:r,type:e})}),(0,Z.jsx)(`input`,{"aria-label":`Button ${r+1} label`,value:e.text,disabled:!t,onChange:e=>n({kind:`buttonText`,button:r,text:e.target.value},`whatsapp-button-${r}-text`),className:CF}),e.type===`url`&&(0,Z.jsx)(iI,{ariaLabel:`Button ${r+1} URL`,state:e.url,editable:t,onChange:e=>n({kind:`buttonAttribute`,button:r,name:`url`,value:e},`whatsapp-button-${r}-url`)}),e.type===`phone`&&(0,Z.jsx)(iI,{ariaLabel:`Button ${r+1} phone`,state:e.phone,editable:t,onChange:e=>n({kind:`buttonAttribute`,button:r,name:`phone`,value:e},`whatsapp-button-${r}-phone`)}),t&&(0,Z.jsx)(`button`,{type:`button`,"aria-label":`Remove button ${r+1}`,onClick:()=>n({kind:`buttonRemove`,button:r}),className:`text-muted-foreground hover:text-status-error justify-self-end text-[11.5px]`,children:`Remove`})]},`button-${r}`)),t&&(0,Z.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Z.jsx)(nI,{value:r,options:go,disabled:!1,ariaLabel:`New button type`,onChange:i}),(0,Z.jsx)(`button`,{type:`button`,"data-testid":`whatsapp-workspace.add-button`,onClick:()=>n({kind:`buttonAdd`,type:r}),className:`border-border hover:bg-muted shrink-0 rounded-lg border px-3 text-[12px]`,children:`Add`})]})]})}function oI({form:e,editable:t,onEdit:n}){let r=tI(e.category),i=e.headerType.kind===`literal`?e.headerType.value:`text`;return(0,Z.jsxs)(`div`,{className:`grid gap-4`,children:[(0,Z.jsx)(UF,{label:`Language`,children:(0,Z.jsx)(iI,{ariaLabel:`Language`,state:e.language,editable:t,onChange:e=>n({kind:`attribute`,name:`language`,value:e},`whatsapp-language`)})}),(0,Z.jsx)(UF,{label:`Category`,children:(0,Z.jsx)(nI,{value:r,options:mo,disabled:!t||e.category.kind!==`literal`,onChange:e=>n({kind:`attribute`,name:`category`,value:e})})}),(0,Z.jsx)(UF,{label:`Header type`,children:(0,Z.jsx)(nI,{value:i,options:ho,disabled:!t||e.header===null||e.headerType.kind===`expression`,onChange:e=>n({kind:`headerType`,value:e})})}),(0,Z.jsx)(rI,{label:`Header`,part:`header`,segments:e.header,editable:t,onEdit:n}),(0,Z.jsxs)(`div`,{className:`grid gap-2`,children:[(0,Z.jsx)(`span`,{className:`text-[12.5px] font-medium`,children:`Body`}),e.body.map((e,r)=>e.kind===`locked`?(0,Z.jsx)(WF,{summary:e.summary},`body-locked-${r}`):(0,Z.jsx)(`textarea`,{"aria-label":`Body segment ${r+1}`,"data-testid":`whatsapp-workspace.body.${r+1}`,value:e.text,disabled:!t,onChange:e=>n({kind:`text`,part:`body`,segment:r,text:e.target.value},`whatsapp-body-${r}`),rows:4,className:`${CF} resize-y py-2`},`body-text-${r}`))]}),(0,Z.jsx)(rI,{label:`Footer`,part:`footer`,segments:e.footer,editable:t,onEdit:n}),(0,Z.jsx)(aI,{buttons:e.buttons,editable:t,onEdit:n}),(0,Z.jsx)(qF,{variables:e.variables})]})}function sI({label:e,part:t,segments:n,editable:r,placeholder:i,className:a,onEdit:o}){return(0,Z.jsx)(`div`,{className:`flex flex-wrap items-center gap-1`,children:(n??eI).map((n,s)=>n.kind===`locked`?(0,Z.jsx)(GF,{summary:n.summary},`locked-${s}`):(0,Z.jsx)(`input`,{"aria-label":s===0?`${e} preview`:`${e} preview ${s+1}`,"data-testid":s===0?`whatsapp-workspace.preview.${e.toLowerCase()}`:`whatsapp-workspace.preview.${e.toLowerCase()}.${s+1}`,value:n.text,readOnly:!r,placeholder:i,onChange:e=>o({kind:`text`,part:t,segment:s,text:e.target.value},`whatsapp-${t}-${s}`),className:`placeholder:text-muted-foreground/60 min-w-0 flex-1 bg-transparent outline-none ${a} ${r?`focus-visible:ring-ring/50 rounded-sm focus-visible:ring-2`:`cursor-default`}`},`text-${s}`))})}var cI=e=>e.type===`copy-code`?`Copy code`:e.text;function lI({form:e,editable:t,render:n,onEdit:r}){let i=e.headerType.kind===`literal`?e.headerType.value:`text`;return(0,Z.jsxs)(`div`,{className:`border-border mx-auto max-w-[420px] rounded-[28px] border bg-[#e9e2d8] p-5 shadow-[var(--shadow-lg)] dark:bg-[#0b141a]`,children:[(0,Z.jsx)(`div`,{"data-testid":`whatsapp-workspace.preview-heading`,className:`text-muted-foreground mb-4 text-center text-[12px] font-medium`,children:`WhatsApp business preview`}),(0,Z.jsxs)(`div`,{className:`bg-background rounded-xl px-3.5 py-3 shadow-[var(--shadow-sm)]`,children:[(0,Z.jsx)(sI,{label:`Header`,part:`header`,segments:e.header,editable:t&&i===`text`,placeholder:i===`text`?`Add header`:`${i} header`,className:`mb-1 font-semibold`,onEdit:r}),(0,Z.jsx)(`div`,{className:`grid gap-1`,children:e.body.map((e,n)=>e.kind===`locked`?(0,Z.jsx)(GF,{summary:e.summary},`body-locked-${n}`):(0,Z.jsx)(`textarea`,{"aria-label":`Body preview segment ${n+1}`,"data-testid":`whatsapp-workspace.body-preview.${n+1}`,value:e.text,readOnly:!t,placeholder:`Write your message`,rows:Math.max(1,e.text.split(`
31
- `).length),onChange:e=>r({kind:`text`,part:`body`,segment:n,text:e.target.value},`whatsapp-body-${n}`),className:`placeholder:text-muted-foreground/60 min-h-5 w-full resize-none overflow-hidden bg-transparent text-[14px] whitespace-pre-wrap outline-none ${t?`focus-visible:ring-ring/50 rounded-sm focus-visible:ring-2`:`cursor-default`}`},`body-text-${n}`))}),(0,Z.jsx)(sI,{label:`Footer`,part:`footer`,segments:e.footer,editable:t,placeholder:`Add footer`,className:`text-muted-foreground mt-2 text-[11.5px]`,onEdit:r}),(n?.buttons??[]).map((e,t)=>(0,Z.jsx)(`div`,{className:`border-border-subtle text-accent-email mt-2 border-t pt-2 text-center text-[12px]`,children:cI(e)},`${cI(e)}-${t}`))]}),(0,Z.jsxs)(`p`,{className:`text-muted-foreground mt-4 text-center text-[11.5px] capitalize`,children:[n?.category??(tI(e.category)||`utility`),` template`]})]})}function uI(){let e=$(e=>e.doc),t=$(e=>e.sourceEditable),n=$(e=>e.sourceEditError),[r,i]=(0,W.useState)(`visual`),a=zF(z_),o=e?.origin.authoredSource??``,s=(0,W.useMemo)(()=>F_(o),[o]),c=e?.channel===`whatsapp`?e.render:null;return(0,Z.jsx)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col`,children:(0,Z.jsx)(HF,{value:r,onChange:i,children:r===`source`?(0,Z.jsx)(RF,{}):(0,Z.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1`,children:[(0,Z.jsx)(`aside`,{className:`samva-editor-scroll border-border bg-background w-[400px] shrink-0 overflow-y-auto border-r p-4`,children:(0,Z.jsxs)(`div`,{className:`grid gap-4`,children:[(0,Z.jsx)(KF,{diagnostics:e?.diagnostics??[]}),(0,Z.jsx)(YF,{reason:n}),s===null?(0,Z.jsxs)(`p`,{className:`text-muted-foreground text-[12.5px]`,children:[`The WhatsApp body is not a `,(0,Z.jsx)(`code`,{children:`<WhatsApp>`}),` written in place with a body, so it is edited in Source.`]}):(0,Z.jsx)(oI,{form:s,editable:t,onEdit:a})]})}),(0,Z.jsx)(`main`,{className:`samva-editor-workspace samva-editor-scroll min-w-0 flex-1 overflow-auto p-8`,children:s!==null&&(0,Z.jsx)(lI,{form:s,editable:t,render:c,onEdit:a})}),(0,Z.jsx)(PF,{})]})})})}var dI=e=>({top:e.top,left:e.left,width:e.width,height:e.height}),fI=(e,t)=>{let n=e.querySelectorAll(`[${Gc}="${CSS.escape(t)}"]`),r=null;for(let e of n){let t=dI(e.getBoundingClientRect());if(r??=t,t.width>0&&t.height>0)return t}return r},pI=`a[href],button,input[type="button"],input[type="submit"],input[type="image"]`,mI=e=>e!==null&&`closest`in e&&typeof e.closest==`function`,hI=e=>mI(e)&&e.closest(pI)!==null,gI=e=>mI(e)?e.closest(`[data-samva-instance]`)?.getAttribute(`data-samva-instance`)??null:null,_I=`html,body{margin:0;padding:0;overflow:hidden}`,vI={"--editor-canvas-hover":`#93c5fd`,"--editor-canvas-selected":`#2563eb`,"--editor-canvas-selected-fg":`#fff`,"--editor-canvas-generated":`#a855f7`},yI=e=>`:root{${Object.entries(vI).map(([t,n])=>`${t}:${e[t]?.trim()||n}`).join(`;`)}}`,bI=e=>{let t=e.parentElement;if(t===null)return{};let n=document.createElement(`span`);n.hidden=!0,t.appendChild(n);let r=Object.fromEntries(Object.keys(vI).map(e=>(n.style.color=`var(${e})`,[e,getComputedStyle(n).color])));return n.remove(),r},xI=/@media\s*\(\s*prefers-color-scheme:\s*dark\s*\)/g,SI=(e,t)=>e.replace(xI,t===`dark`?`@media all`:`@media not all`),CI=e=>e.metaKey||e.ctrlKey||e.altKey||e.shiftKey||e.button!==0,wI=e=>{let t=e.contentDocument;if(t===null)return null;let n=t.body.getBoundingClientRect(),r=Math.max(n.height,t.body.offsetHeight),i=Math.ceil(r>0?r:Math.max(t.body.scrollHeight,t.documentElement.scrollHeight));return e.style.height=`${i}px`,i},TI=({document_:e,mount:t,width:n,dark:r,overlay:i,onSelect:a,onHover:o,onContextMenu:s})=>{let c=(0,W.useRef)(null),[l,u]=(0,W.useState)(null),d=(0,W.useRef)({onSelect:a,onHover:o,onContextMenu:s});return(0,W.useLayoutEffect)(()=>{d.current={onSelect:a,onHover:o,onContextMenu:s}},[a,o,s]),(0,W.useLayoutEffect)(()=>{let n=c.current;if(n===null)return;let r=n.contentDocument;if(r===null)return;let i,a=null,o=()=>{a===null&&(a=requestAnimationFrame(()=>{a=null,wI(n)}))},s=new ResizeObserver(o),l=new MutationObserver(o),f=()=>{let e=r.head.querySelector(`style[data-samva-editor-chrome]`);e===null&&(e=r.createElement(`style`),e.dataset.samvaEditorChrome=``,r.head.appendChild(e)),e.textContent=`${_I}${yI(bI(n))}`},p=()=>{r.open(),r.write(e),r.close(),i=t?.(r),f(),u(r.body),s.disconnect(),s.observe(r.body),l.disconnect(),l.observe(r.body,{childList:!0,subtree:!0}),wI(n)},m=e=>{!CI(e)&&hI(e.target)&&e.preventDefault(),d.current.onSelect?.(gI(e.target))},h=e=>d.current.onHover?.(gI(e.target)),g=()=>d.current.onHover?.(null),_=e=>{let t=d.current.onContextMenu;if(t===void 0)return;e.preventDefault();let r=n.getBoundingClientRect(),i=n.clientWidth===0?1:r.width/n.clientWidth,a=n.clientHeight===0?1:r.height/n.clientHeight;t({instancePath:gI(e.target),clientX:r.left+e.clientX*i,clientY:r.top+e.clientY*a})},v=()=>{r.addEventListener(`click`,m),r.addEventListener(`mousemove`,h),r.addEventListener(`mouseleave`,g),r.addEventListener(`contextmenu`,_)},y=()=>{r.removeEventListener(`click`,m),r.removeEventListener(`mousemove`,h),r.removeEventListener(`mouseleave`,g),r.removeEventListener(`contextmenu`,_)};p(),v();let b=new MutationObserver(f);return b.observe(document.documentElement,{attributes:!0,attributeFilter:[`class`]}),()=>{y(),s.disconnect(),l.disconnect(),b.disconnect(),a!==null&&cancelAnimationFrame(a),i?.()}},[e,t]),(0,Z.jsx)(`iframe`,{ref:c,"data-testid":`canvas.frame`,title:`Email canvas`,sandbox:`allow-same-origin`,style:{width:n,height:0,display:`block`,border:`none`,background:r?`#0a0a0a`:`var(--editor-canvas-document-bg, #fff)`,colorScheme:r?`dark`:`light`},children:l!==null&&i!==void 0?(0,GS.createPortal)(i,l):null})},EI=({html:e,forceColorScheme:t,...n})=>{let r=(0,W.useContext)(LN),i=t===void 0?e:SI(e,t),a=(0,W.useMemo)(()=>r?.(i),[i,r]),[o,s]=(0,W.useState)({prepare:r,generation:0});o.prepare!==r&&s({prepare:r,generation:o.generation+1});let c=a?.html??i;return(0,Z.jsx)(TI,{document_:c,mount:a?.mount,dark:t===`dark`,...n},`${o.generation}:${t??``}:${e}`)},DI=(e,t,n)=>({position:`fixed`,top:e.top,left:e.left,width:e.width,height:e.height,outline:`${n}px solid ${t}`,outlineOffset:-n,pointerEvents:`none`,zIndex:2147483646}),OI=({renderRevision:e,selected:t,hovered:n})=>{let r=(0,W.useRef)(null),[i,a]=(0,W.useState)(null),[o,s]=(0,W.useState)(null),c=t?.instancePath??null,l=n?.instancePath??null;return(0,W.useLayoutEffect)(()=>{let e=r.current?.ownerDocument;e!==void 0&&(a(c===null?null:fI(e,c)),s(l===null||l===c?null:fI(e,l)))},[e,c,l]),(0,Z.jsxs)(`div`,{ref:r,"data-samva-overlay":!0,style:{position:`fixed`,inset:0,pointerEvents:`none`},children:[o===null?null:(0,Z.jsx)(`div`,{style:DI(o,`var(--editor-canvas-hover)`,1)}),i!==null&&t!==null?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{style:DI(i,t.authored?`var(--editor-canvas-selected)`:`var(--editor-canvas-generated)`,2)}),(0,Z.jsx)(`div`,{"data-samva-chip":!0,style:{position:`fixed`,top:Math.max(0,i.top-18),left:i.left,padding:`1px 6px`,borderRadius:4,background:t.authored?`var(--editor-canvas-selected)`:`var(--editor-canvas-generated)`,color:`var(--editor-canvas-selected-fg)`,font:`11px/1.4 ui-sans-serif, system-ui, sans-serif`,pointerEvents:`none`,zIndex:2147483647},children:t.authored?qN(t):`${qN(t)} · generated`})]}):null]})},kI=(e,t,n)=>{let r=new Map;for(let i of e.diagnostics??[])if(i.code===`caniemail/target-attribute`&&i.severity===`warning`)for(let e of i.occurrences??[i.origins]){let i=e[0];if(i===void 0)continue;let a=Bg(t,n,i);if(a===null||a.tag!==`a`||a.hasSpread)continue;let o=a.properties.filter(e=>e.name===`target`),s=o[0];if(o.length!==1||s===void 0||s.kind!==`literal`||![`_self`,`_parent`,`_top`].includes(s.value))continue;let c=Hg(t,s,`_blank`);c!==null&&r.set(c.start,c)}return[...r.values()].sort((e,t)=>e.start-t.start)};function AI({check:e}){let t=OF(`rail.assistant`)!==void 0,{doc:n,sourceEditable:r,pending:i,conflict:a,lifecycleBusy:o}=$(lk(e=>({doc:e.doc,sourceEditable:e.sourceEditable,pending:e.pendingAuthoredSource!==null,conflict:e.conflict,lifecycleBusy:e.lifecycleBusy}))),s=$(e=>e.actions.applySourceEdit),c=$(e=>e.actions.requestDiagnosticAssistance);if(n===null||!r)return null;let l=kI(e,n.origin.authoredSource,n.origin.file);if(l.length===0&&!t)return null;let u=e.diagnostics?.some(e=>Cs(e.code)),d=i||a||o;return(0,Z.jsxs)(`div`,{className:`mt-2 space-y-1`,children:[l.length>0&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`p`,{className:`text-muted-foreground text-[11.5px]`,children:[`Set `,l.length,` local link target`,l.length===1?``:`s`,` to _blank to match these clients.`]}),(0,Z.jsx)(`button`,{type:`button`,"data-testid":`check.fix-target`,disabled:d,className:`border-border hover:bg-muted rounded border px-2 py-1 text-[11.5px] disabled:opacity-50`,onClick:()=>s({revision:n.rev,source:n.origin.authoredSource,edits:l}),children:`Use new-window links`})]}),t&&(0,Z.jsx)(`button`,{type:`button`,"data-testid":u?`check.upgrade-with-assistant`:`check.fix-with-assistant`,disabled:d,className:`border-border hover:bg-muted rounded border px-2 py-1 text-[11.5px] disabled:opacity-50`,onClick:()=>c(e),children:u?`Upgrade with Assistant`:`Fix with Assistant`})]})}var jI={risk:`Known risk`,unverified:`Needs verification`,degradation:`Expected differences`,"not-applicable":`Not affected`};function MI({check:e,actions:t}){return e.diagnostics===void 0?(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`p`,{className:`text-foreground text-[12.5px]`,children:e.label}),(0,Z.jsx)(`p`,{className:`text-muted-foreground text-[11.5px]`,children:e.detail})]}):(0,Z.jsxs)(`details`,{className:`min-w-0 flex-1`,"data-testid":`check.${e.id}`,children:[(0,Z.jsxs)(`summary`,{className:`text-foreground cursor-pointer text-[12.5px] break-words`,children:[e.label,(0,Z.jsx)(`span`,{className:`text-muted-foreground mt-0.5 block text-[11.5px]`,children:e.detail})]}),(0,Z.jsxs)(`div`,{className:`mt-2 space-y-3 text-[11.5px] break-words`,children:[e.diagnostics.map((e,t)=>(0,Z.jsxs)(`div`,{className:`border-border-subtle border-l pl-2`,children:[e.compatibility!==void 0&&(0,Z.jsxs)(`p`,{className:`mb-1 font-medium`,children:[e.compatibility.title,` ·`,` `,jI[e.compatibility.assessment]]}),(0,Z.jsx)(`p`,{children:e.message}),e.clients!==void 0&&!e.clients.every(t=>e.message.includes(t))&&(0,Z.jsxs)(`p`,{className:`mt-1`,children:[`Clients: `,e.clients.join(`, `)]}),e.notes!==void 0&&(0,Z.jsx)(`p`,{className:`text-muted-foreground mt-1`,children:e.notes}),(e.fixtures?.length??0)>0&&(0,Z.jsxs)(`p`,{className:`mt-1`,children:[`Fixtures: `,e.fixtures.join(`, `)]}),(e.occurrences??[e.origins]).map((e,t)=>e.length===0?null:(0,Z.jsx)(`p`,{className:`text-muted-foreground mt-1 break-all`,children:e.map(KN).join(` → `)},t)),e.provenance!==void 0&&(0,Z.jsx)(`p`,{className:`text-muted-foreground mt-1`,children:e.provenance})]},t)),(0,Z.jsx)(`p`,{className:`text-muted-foreground font-mono break-all`,children:e.diagnostics[0]?.code}),t]})]})}var NI=e=>e===void 0?`No default sender`:e.name?`${e.name} <${e.email}>`:e.email;function PI(){return(0,Z.jsx)(`span`,{title:`Overridable per send`,className:`border-border-subtle text-placeholder shrink-0 rounded-full border px-2 py-px text-[10px]`,children:`default`})}function FI({value:e,placeholder:t,testId:n}){return(0,Z.jsx)(`span`,{"data-testid":n,className:`text-foreground min-w-0 flex-1 truncate`,children:e.length>0?e:(0,Z.jsx)(`span`,{className:`text-placeholder`,children:t})})}function II(){let{doc:e,render:t,selected:n,layoutMode:r}=$(lk(e=>({doc:e.doc,render:e.render,selected:e.selection.kind===`envelope`,layoutMode:e.layoutMode}))),{selectEnvelope:i}=$(e=>e.actions),[a,o]=(0,W.useState)(!1),s=(0,W.useRef)(null),c=(0,W.useRef)(!1),l=e?.metadata.fromDefault,u=e?.metadata.replyToDefault??[],d=t?.subject??``,f=t?.preheader??``,p=r===`compact`||r===`narrow`;return(0,W.useEffect)(()=>{p&&!a&&c.current&&(c.current=!1,s.current?.focus())},[p,a]),(0,Z.jsxs)(Fk,{open:!p||a,onOpenChange:e=>{e||(c.current=!0),o(e)},children:[p&&!a&&(0,Z.jsxs)(Lk,{ref:s,"aria-label":`Expand envelope`,"data-testid":`envelope.expand`,onClick:e=>{e.stopPropagation(),i()},className:yF(`mb-4 flex h-11 w-full items-center gap-3 rounded-xl border bg-background px-3 text-left shadow-[var(--shadow-xs)] transition-[border-color,box-shadow] hover:border-sel-mid`,n&&`border-accent-email shadow-[0_0_0_1px_var(--accent-email)]`),children:[(0,Z.jsx)(`span`,{className:`text-muted-foreground text-[10px] font-semibold tracking-[0.08em] uppercase`,children:`Envelope`}),(0,Z.jsx)(`span`,{className:`text-foreground min-w-0 flex-1 truncate text-[12px]`,children:d===``?`No subject`:d}),(0,Z.jsx)(qP,{className:`text-muted-foreground size-4 shrink-0`})]}),(0,Z.jsx)(qk,{children:(0,Z.jsxs)(`div`,{onClick:e=>{e.stopPropagation(),i()},className:yF(`mb-6 cursor-pointer overflow-hidden rounded-2xl border transition-shadow`,n?`border-accent-email shadow-[0_0_0_1px_var(--accent-email)]`:`border-border/80 hover:border-sel-mid`),children:[(0,Z.jsxs)(`div`,{className:`border-border-subtle bg-surface-inset/80 flex items-center justify-between border-b px-3 py-1.5`,children:[(0,Z.jsx)(`button`,{type:`button`,"aria-label":`Select envelope`,"data-testid":`envelope.select`,onClick:e=>{e.stopPropagation(),i()},className:`text-muted-foreground hover:bg-muted hover:text-foreground rounded px-1 py-0.5 text-[10px] font-semibold tracking-[0.08em] uppercase`,children:`Envelope`}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(`span`,{className:`text-placeholder text-[10px]`,children:`defaults muted · subject & preview rendered`}),p&&(0,Z.jsx)(Lk,{"aria-label":`Collapse envelope`,"data-testid":`envelope.collapse`,onClick:e=>{e.stopPropagation()},className:`text-muted-foreground hover:bg-muted hover:text-foreground rounded p-1`,children:(0,Z.jsx)(XP,{className:`size-3.5`})})]})]}),(0,Z.jsxs)(`div`,{className:`border-border-subtle bg-surface-inset/40 border-b`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-3 px-4 py-2 text-[12.5px]`,children:[(0,Z.jsx)(`span`,{className:`text-placeholder w-16 shrink-0 text-[11px] font-medium tracking-wide uppercase`,children:`From`}),(0,Z.jsx)(`span`,{className:`text-muted-foreground min-w-0 flex-1 truncate`,children:NI(l)}),(0,Z.jsx)(PI,{})]}),(0,Z.jsxs)(`div`,{"data-testid":`envelope.reply-to-row`,className:`flex items-center gap-3 px-4 py-2 text-[12.5px]`,children:[(0,Z.jsx)(`span`,{className:`text-placeholder w-16 shrink-0 text-[11px] font-medium tracking-wide uppercase`,children:`Reply-To`}),(0,Z.jsx)(`span`,{className:`text-muted-foreground min-w-0 flex-1 truncate`,children:u.length>0?u.join(`, `):`None`}),(0,Z.jsx)(PI,{})]})]}),(0,Z.jsxs)(`div`,{className:`bg-background`,children:[(0,Z.jsxs)(`div`,{className:`border-border-subtle flex items-center gap-3 border-b px-4 py-2.5 text-[12.5px]`,children:[(0,Z.jsx)(`span`,{className:`text-muted-foreground w-16 shrink-0 text-[11px] font-medium tracking-wide uppercase`,children:`Subject`}),(0,Z.jsx)(FI,{value:d,placeholder:`No subject`,testId:`envelope.subject-value`})]}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-3 px-4 py-2.5 text-[12.5px]`,children:[(0,Z.jsx)(`span`,{className:`text-muted-foreground w-16 shrink-0 text-[11px] font-medium tracking-wide uppercase`,children:`Preview`}),(0,Z.jsx)(FI,{value:f,placeholder:`No preview text`,testId:`envelope.preview-value`})]})]})]})})]})}var LI=yF(`samva-editor-context-item`,`grid min-h-8 grid-cols-[1fr_auto] items-center gap-5 rounded-md px-2.5 text-[12.5px] text-foreground outline-none`,`data-[highlighted]:bg-sel-soft data-[highlighted]:text-accent-email`);function RI({children:e,ancestors:t,onSelect:n,onOpenChange:r,portalContainer:i,open:a,anchor:o}){return(0,Z.jsxs)(xA,{open:a,onOpenChange:r,children:[(0,Z.jsx)(CA,{render:e}),(0,Z.jsx)(sA,{container:i,children:(0,Z.jsx)(wA,{anchor:o,sideOffset:2,children:(0,Z.jsxs)(iA,{"aria-label":`Select element`,"data-testid":`node-context-menu.popup`,className:`samva-editor-context-popup samva-editor-shell border-border bg-surface-elevated z-50 min-w-52 rounded-lg border p-1 shadow-[var(--shadow-lg)] outline-none`,children:[(0,Z.jsx)(`div`,{className:`text-muted-foreground px-2.5 py-1 text-[11px]`,children:`Select`}),t.map(e=>(0,Z.jsxs)(rA,{className:LI,"data-testid":`node-context-menu.item.${e.instancePath}`,onClick:()=>n(e.instancePath),children:[(0,Z.jsx)(`span`,{children:e.label}),e.generated?(0,Z.jsx)(`span`,{className:`text-muted-foreground text-[11px]`,children:`generated`}):null]},e.instancePath))]})})})]})}function zI({name:e,className:t}){return(0,Z.jsx)(`span`,{className:yF(`inline-flex items-baseline rounded-md bg-accent-teal/20 px-1.5 py-px font-mono text-[0.82em] font-medium text-foreground ring-1 ring-inset ring-accent-teal/20`,t),children:`{{${e}}}`})}function BI({children:e}){return(0,Z.jsx)(`div`,{className:`text-muted-foreground mb-2 flex items-center justify-between text-[10.5px] font-semibold tracking-[0.06em] uppercase`,children:e})}function VI({children:e,className:t,title:n,help:r=n,pressed:i,onClick:a,disabled:o,testId:s}){let c=IF();return(0,Z.jsxs)(XT,{disabled:o,children:[(0,Z.jsx)(iE,{render:(0,Z.jsx)(`button`,{type:`button`,"aria-label":n,"aria-pressed":i,disabled:o,"data-testid":s,onClick:a,className:yF(`inline-flex h-7.5 items-center gap-1.5 rounded-[7px] px-2.5 text-muted-foreground outline-none transition-all hover:bg-muted hover:text-foreground active:translate-y-px disabled:opacity-40`,`aria-pressed:bg-[var(--editor-pressed-bg)] aria-pressed:shadow-[var(--editor-pressed-shadow)]`,`aria-pressed:text-accent-foreground`,bF,t)}),children:e}),(0,Z.jsx)(cE,{container:c,children:(0,Z.jsx)(jE,{side:`bottom`,sideOffset:5,className:`z-[200]`,children:(0,Z.jsx)(ME,{role:`tooltip`,className:`bg-foreground text-background rounded-md px-2 py-1 text-[11px] shadow-[var(--shadow-md)]`,children:r})})})]})}function HI({ariaLabel:e,options:t,value:n,onChange:r,size:i=`md`,testId:a}){let o=IF();return(0,Z.jsx)(Ck,{"aria-label":e,value:[n],"data-testid":a,onValueChange:e=>{let t=e[0];t!==void 0&&r(t)},className:yF(`bg-muted inline-flex gap-0.5 rounded-lg p-0.5`,i===`sm`&&`rounded-[7px]`),children:t.map(e=>{let t=(0,Z.jsx)(gk,{type:`button`,"aria-label":e.title,"data-testid":e.testId,value:e.value,className:yF(SF,i===`sm`?`h-6 px-2 text-xs`:`h-7 px-2.5 text-xs`),children:e.label},e.value);return e.title===void 0?t:(0,Z.jsxs)(XT,{children:[(0,Z.jsx)(iE,{render:t}),(0,Z.jsx)(cE,{container:o,children:(0,Z.jsx)(jE,{side:`bottom`,sideOffset:5,className:`z-[200]`,children:(0,Z.jsx)(ME,{role:`tooltip`,className:`bg-foreground text-background rounded-md px-2 py-1 text-[11px] shadow-[var(--shadow-md)]`,children:e.title})})})]},e.value)})})}function UI({children:e,className:t,overridden:n,testId:r}){return(0,Z.jsxs)(`span`,{"data-testid":r,className:yF(`inline-flex h-7 max-w-[170px] items-center gap-1.5 overflow-hidden rounded-[7px] border border-border bg-background px-2.5 font-mono text-xs whitespace-nowrap text-foreground`,n&&`border-accent-email/40 bg-sel-soft ring-1 ring-accent-email/20`,t),title:n?`Overridden on mobile`:void 0,children:[e,n&&(0,Z.jsx)(`span`,{className:`text-accent-email ml-auto text-[9px] font-semibold tracking-wide uppercase`,children:`M`})]})}function WI({pointing:e=!1}){let{doc:t,render:n,outline:r,selection:i,previewDevice:a,canvasZoom:o}=$(lk(e=>({doc:e.doc,render:e.render,outline:e.outline,selection:e.selection,previewDevice:e.previewDevice,canvasZoom:e.canvasZoom}))),{select:s,selectDocument:c,setHovered:l,setPreviewDevice:u,setCanvasZoom:d}=$(e=>e.actions),f=$(e=>e.hoveredCandidatePath===null?null:e.outline?.index.get(e.hoveredCandidatePath)??null),p=IF(),m=kF(`canvas.overlay`),h=(0,W.useRef)(null),[g,_]=(0,W.useState)(1),[v,y]=(0,W.useState)([]),[b,x]=(0,W.useState)(!1),[S,C]=(0,W.useState)(null),w=i.kind===`element`?r?.index.get(i.instancePath)??null:null,T=a===`mobile`?375:600;(0,W.useLayoutEffect)(()=>{let e=h.current;if(e===null||typeof ResizeObserver>`u`)return;let t=()=>{let t=Math.max(240,e.clientWidth-80);_(Math.min(1,Math.max(.5,t/T)))};t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[T]);let E=o===`fit`?g:1,D=(0,W.useCallback)(t=>{if(e||r===null||t.instancePath===null){x(!1);return}let n=[...QN(r,t.instancePath),t.instancePath].toReversed().flatMap(e=>{let t=r.index.get(e);return t===void 0?[]:[{instancePath:e,label:qN(t),generated:!t.authored}]});if(n.length===0){x(!1);return}s(t.instancePath),y(n);let{clientX:i,clientY:a}=t;C({getBoundingClientRect:()=>DOMRect.fromRect({x:i,y:a})}),queueMicrotask(()=>x(!0))},[r,e,s]),O=n===null?null:(0,Z.jsx)(EI,{html:n.html,width:T,onSelect:s,onHover:l,onContextMenu:e?void 0:D,overlay:(0,Z.jsx)(OI,{renderRevision:n.revision,selected:w,hovered:f})});return(0,Z.jsxs)(`div`,{className:`samva-editor-workspace relative flex min-w-0 flex-1 flex-col`,children:[m.length>0&&(0,Z.jsx)(`div`,{"data-samva-canvas-status":!0,className:`pointer-events-none absolute inset-x-0 top-3 z-10 flex justify-center`,children:m.map(e=>(0,Z.jsx)(W.Fragment,{children:e.render()},e.id))}),(0,Z.jsx)(`div`,{ref:h,"data-samva-canvas-viewport":!0,className:`samva-editor-scroll relative flex-1 overflow-auto px-10 pt-10 pb-24 [overflow-anchor:none]`,onClick:c,children:t===null?(0,Z.jsx)(`div`,{className:`text-muted-foreground grid h-full place-items-center text-[12.5px]`,children:`Loading document…`}):(0,Z.jsxs)(`div`,{className:`mx-auto`,"data-canvas-zoom":o,style:{width:T,zoom:E},onClick:e=>e.stopPropagation(),children:[t.channel===`email`&&t.preview.status===`stale`&&(0,Z.jsxs)(`div`,{"data-testid":`canvas.preview-stale`,className:`border-warning/35 bg-warning/10 text-foreground mb-3 rounded-[9px] border px-3 py-2 text-[12px] shadow-sm`,children:[`Showing the last preview that worked. Your latest edit has a problem:`,` `,t.preview.reason]}),(0,Z.jsx)(II,{}),O===null?(0,Z.jsx)(GI,{}):e?O:(0,Z.jsx)(RI,{ancestors:v,onSelect:s,portalContainer:p,anchor:S??void 0,open:b,onOpenChange:e=>x(e&&v.length>0),children:O})]})}),t!==null&&(0,Z.jsxs)(`div`,{className:`border-border bg-background/95 absolute bottom-3 left-1/2 z-20 flex -translate-x-1/2 items-center gap-1 rounded-[9px] border p-1 shadow-[var(--shadow-lg)] backdrop-blur-md`,children:[(0,Z.jsx)(HI,{ariaLabel:`Canvas preview width`,value:a,onChange:e=>u(e),size:`sm`,options:[{value:`desktop`,title:`Preview desktop width`,testId:`canvas.device.desktop`,label:(0,Z.jsx)(cF,{className:`size-[13px]`})},{value:`mobile`,title:`Preview mobile width`,testId:`canvas.device.mobile`,label:(0,Z.jsx)(sF,{className:`size-[13px]`})}]}),(0,Z.jsxs)(`button`,{type:`button`,"data-testid":`canvas.zoom`,title:o===`fit`?`Show canvas at 100%`:`Fit canvas to workspace`,"aria-label":o===`fit`?`Show canvas at 100%`:`Fit canvas to workspace`,onClick:()=>d(o===`fit`?`100`:`fit`),className:yF(`text-muted-foreground hover:bg-muted hover:text-foreground inline-flex h-7 items-center gap-1.5 rounded-[6px] px-2 text-[11.5px] transition-colors`,o===`fit`&&`bg-sel-soft text-accent-email`),children:[(0,Z.jsx)(WP,{className:`size-[14px]`}),o===`fit`?`Fit`:`100%`]})]})]})}function GI(){let e=$(lk(e=>e.checks.filter(e=>e.severity===`error`))),t=e.length>0;return(0,Z.jsxs)(`div`,{"data-testid":`canvas.unbuilt`,"data-unbuilt-reason":t?`failed`:`not-built`,className:`border-border bg-surface-inset text-foreground rounded-xl border border-dashed p-6 text-[12.5px]`,children:[(0,Z.jsx)(`p`,{className:`font-medium`,children:t?`No preview`:`No preview yet`}),(0,Z.jsx)(`p`,{className:`text-muted-foreground mt-1`,children:t?`The current draft broke the preview. Fix the source and it will come back.`:`Nothing has run this entry yet. The next pass puts the preview here.`}),t&&(0,Z.jsx)(`ul`,{className:`mt-4 space-y-2`,children:e.map(e=>(0,Z.jsx)(`li`,{children:(0,Z.jsx)(MI,{check:e,actions:(0,Z.jsx)(AI,{check:e})})},e.id))})]})}function KI({checks:e,editable:t=!1}){let{actionable:n}=yP(e),r=e.filter(e=>e.diagnostics?.some(e=>e.compatibility?.assessment===`unverified`)).length;return(0,Z.jsxs)(`section`,{className:`space-y-3`,"aria-label":`Needs attention`,children:[(0,Z.jsxs)(`h3`,{className:`text-foreground text-[13px] font-semibold`,children:[`Needs attention`,n.length>0?` · ${n.length}`:``]}),n.length===0?(0,Z.jsx)(`p`,{className:`text-muted-foreground text-xs`,children:e.length===0?`No checks yet.`:`No known risks found.`}):n.map(e=>(0,Z.jsx)(MI,{check:e,actions:t?(0,Z.jsx)(AI,{check:e}):void 0},e.id)),(0,Z.jsx)(qI,{checks:e,editable:t}),(0,Z.jsx)(`p`,{className:`text-muted-foreground text-[11.5px]`,children:r>0?`${r} finding group${r===1?` needs`:`s need`} client verification.`:`These checks do not confirm rendering in every inbox.`})]})}function qI({checks:e,editable:t=!1}){let n=IF(),r=Object.fromEntries(Object.keys(jI).map(t=>[t,e.filter(e=>e.diagnostics?.some(e=>e.compatibility?.assessment===t)).length])),[i,a]=(0,W.useState)(`all`),[o,s]=(0,W.useState)(`all`),c=[...new Set(e.flatMap(e=>e.diagnostics?.flatMap(e=>e.clients??[])??[]))].sort(),l=e.flatMap(e=>{if(e.diagnostics===void 0)return i===`all`&&o===`all`?[e]:[];let t=e.diagnostics.filter(e=>(i===`all`||e.compatibility?.assessment===i)&&(o===`all`||e.clients?.includes(o)));return t.length===0?[]:[hP(e.id,t)]}),u=e=>e.severity===`error`||e.severity===`warn`?0:e.diagnostics?.some(e=>e.compatibility?.assessment===`unverified`)?1:e.diagnostics?.some(e=>e.compatibility?.assessment===`degradation`)?2:3;return l.sort((e,t)=>u(e)-u(t)),(0,Z.jsxs)(Dj,{onOpenChange:e=>{e&&(a(r.unverified>0?`unverified`:`all`),s(`all`))},children:[(0,Z.jsx)(Aj,{"data-testid":`checks.compatibility-report`,className:`border-border text-foreground hover:bg-muted rounded-md border px-2.5 py-1.5 text-xs`,children:`Compatibility report`}),(0,Z.jsxs)(bj,{container:n,children:[(0,Z.jsx)(dj,{className:`fixed inset-0 z-[130] bg-black/30`}),(0,Z.jsxs)(yj,{"data-testid":`checks.report`,className:`samva-editor-shell border-border bg-surface-elevated text-foreground fixed top-1/2 left-1/2 z-[131] flex max-h-[85dvh] w-[min(840px,calc(100vw-32px))] -translate-x-1/2 -translate-y-1/2 flex-col rounded-xl border p-5 shadow-xl`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,Z.jsx)(kj,{className:`text-lg font-semibold`,children:`Compatibility report`}),(0,Z.jsx)(fj,{"data-testid":`checks.report.close`,"aria-label":`Close compatibility report`,className:`hover:bg-muted rounded border px-2 py-1 text-xs`,children:`Close`})]}),(0,Z.jsx)(pj,{className:`text-muted-foreground mt-2 text-sm`,children:`Client verification remains. Review known risks, unverified behavior and fallbacks before testing in your recipients’ inboxes.`}),(0,Z.jsxs)(`p`,{className:`text-muted-foreground mt-2 text-xs`,children:[Object.entries(jI).map(([e,t])=>`${r[e]} ${t.toLowerCase()}`).join(` · `),`. Groups can appear in more than one category.`]}),(0,Z.jsxs)(`div`,{className:`my-4 flex flex-wrap gap-3 text-xs`,children:[(0,Z.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[`Assessment`,(0,Z.jsxs)(`select`,{"data-testid":`checks.report.assessment`,"aria-label":`Assessment`,value:i,onChange:e=>a(e.target.value),className:`border-border bg-background rounded border p-2`,children:[(0,Z.jsx)(`option`,{value:`all`,children:`All assessments`}),Object.entries(jI).map(([e,t])=>(0,Z.jsxs)(`option`,{value:e,children:[t,` (`,r[e],`)`]},e))]})]}),(0,Z.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[`Client`,(0,Z.jsxs)(`select`,{"data-testid":`checks.report.client`,"aria-label":`Client`,value:o,onChange:e=>s(e.target.value),className:`border-border bg-background rounded border p-2`,children:[(0,Z.jsx)(`option`,{value:`all`,children:`All clients`}),c.map(e=>(0,Z.jsx)(`option`,{children:e},e))]})]})]}),(0,Z.jsx)(`div`,{className:`samva-editor-scroll min-h-0 space-y-4 overflow-y-auto`,children:l.length===0?(0,Z.jsx)(`p`,{className:`text-muted-foreground text-sm`,children:`No evidence matches these filters.`}):l.map(e=>(0,Z.jsx)(`div`,{className:`border-border-subtle border-t pt-3`,children:(0,Z.jsx)(MI,{check:e,actions:t?(0,Z.jsx)(AI,{check:e}):void 0})},e.id))})]})]})]})}var JI=yF(`border-border bg-background text-foreground w-full rounded border px-2 py-1.5 text-xs`,bF),YI=yF(`border-border hover:bg-muted rounded border px-2 py-1 text-xs disabled:opacity-50`,bF);function XI({field:e,source:t,propose:n,apply:r}){let[i,a]=(0,W.useState)(e.value),[o,s]=(0,W.useState)(e.kind===`literal`&&e.literalType===`string`?JSON.stringify(e.value):e.value);return(0,Z.jsxs)(`div`,{className:`mt-3 space-y-1.5`,children:[(0,Z.jsxs)(`label`,{className:`block text-xs`,children:[ZI(e.name),` · `,e.kind,e.kind===`literal`?(0,Z.jsx)(`input`,{"aria-label":`${e.name} literal`,"data-testid":`source.property.${e.name}.literal`,type:e.literalType===`number`?`number`:`text`,className:JI,value:i,onChange:e=>a(e.target.value)}):(0,Z.jsx)(`code`,{className:`bg-muted mt-1 block rounded p-2 break-all`,children:e.value})]}),e.kind===`literal`&&(0,Z.jsx)(`button`,{"data-testid":`source.property.${e.name}.apply`,type:`button`,className:YI,disabled:Hg(t,e,i)===null,onClick:()=>{let n=Hg(t,e,i);n!==null&&r(n)},children:`Apply literal`}),(0,Z.jsxs)(`details`,{children:[(0,Z.jsx)(`summary`,{"data-testid":`source.property.${e.name}.expression-toggle`,className:`cursor-pointer text-xs`,children:e.kind===`literal`?`Change to a binding or expression`:`Review a binding or expression change`}),(0,Z.jsx)(`p`,{className:`text-muted-foreground my-1 text-xs`,children:`This changes template logic. Fixture values are edited separately.`}),(0,Z.jsx)(`textarea`,{"aria-label":`${e.name} expression`,"data-testid":`source.property.${e.name}.expression`,className:JI,value:o,onChange:e=>s(e.target.value)}),(0,Z.jsx)(`button`,{"data-testid":`source.property.${e.name}.review`,type:`button`,className:YI,onClick:()=>n(Ug(t,e,o)),children:`Review expression diff`})]})]})}var ZI=e=>e===`children`||e.startsWith(`text.`)?`Text`:e===`className`?`Style classes`:e,QI=e=>e instanceof Error&&e.message!==``?e.message:`The host could not save this.`;function $I(e){let t=$(e=>e.lifecycleCapability),{flushSaves:n}=$(e=>e.actions),[r,i]=(0,W.useState)(null);return(0,W.useEffect)(()=>{if(e===null||t?.status!==`ready`)return;let r=!1;return n().then(()=>t.api.inspect()).then(e=>{if(r)return;let t={};for(let n of e.files)n.binary!==!0&&n.status!==`deleted`&&n.content!==null&&(t[n.path]=n.content);i(t)}).catch(()=>{r||i(`failed`)}),()=>{r=!0}},[e,t,n]),e===null?{status:`entry`}:t?.status===`ready`?r===null?{status:`loading`}:r===`failed`?{status:`unavailable`}:{status:`ready`,files:r,api:t.api}:{status:`unavailable`}}function eL(e){return e.busy?`Waiting for the latest source to render.`:e.file!==null&&e.project===`loading`?`Reading ${e.file}.`:e.file!==null&&e.project===`unavailable`?`This element is written in ${e.file}, outside the template entry, and this host cannot edit project files from here. Open Source or ask the agent.`:e.resolved?`This source is read-only.`:`This origin cannot be resolved in its file. Open its source or ask the agent.`}function tL(e,t){return`${e.occurrences>1?`This element renders ${e.occurrences} times here (a loop or a repeated component), so one edit changes all ${e.occurrences}.`:`This changes this element.`}${t?` It is written in a partial, so every template that uses the partial changes too.`:``} Fixture items remain separate data.`}function nL({selection:e}){let{doc:t,pending:n,revision:r,editable:i,storeError:a,lifecycleBusy:o}=$(lk(e=>({doc:e.doc,pending:e.pendingAuthoredSource,revision:e.render?.revision,editable:e.sourceEditable,storeError:e.sourceEditError,lifecycleBusy:e.lifecycleBusy}))),{applySourceEdit:s,openSource:c,requestSourceAssistance:l,beginLifecycle:u,endLifecycle:d}=$(e=>e.actions),{flushSaves:f}=$(e=>e.actions),p=OF(`rail.assistant`)!==void 0,[m,h]=(0,W.useState)(0),[g,_]=(0,W.useState)(null),[v,y]=(0,W.useState)(null),[b,x]=(0,W.useState)(!1),[S,C]=(0,W.useState)(``),[w,T]=(0,W.useState)(`<p>New content</p>`),[E,D]=(0,W.useState)(``),[O,k]=(0,W.useState)(null),[A,j]=(0,W.useState)(null),M=e.origins[m],N=t?.origin.file,P=M!==void 0&&M.fileName!==N,F=$I(P?M.fileName:null);if(t===null||N===void 0)return null;let I=t.origin.authoredSource,L=P&&M!==void 0?F.status===`ready`?F.files[M.fileName]??null:null:I,R=M===void 0||L===null?null:Bg(L,M.fileName,M),ee=P?{entry:N,file:M.fileName,files:{...F.status===`ready`?F.files:{},[N]:I}}:{entry:N},z=i&&n===null&&!o&&!b&&r===t.rev&&R!==null&&L!==null,te=e=>{let t=Gg(L??``,e,{profile:ee});return{edits:e,refusal:t.ok?null:t.reason}},ne=e=>{if(L===null)return;if(y(null),_(null),!P){s({revision:r??``,source:L,edits:e});return}let t=Gg(L,e,{profile:ee});if(!t.ok){y(t.reason);return}F.status===`ready`&&u()&&(x(!0),f().then(e=>F.api.updateFile({path:M.fileName,baseRev:e,content:t.source})).catch(e=>y(QI(e))).finally(()=>{d(),x(!1)}))},re=e=>{ne([e]),j(null)},B=v??a,ie=R?.properties.find(e=>e.name===`className`),ae=R===null||L===null||ie?.kind===`literal`?null:(()=>{let e=Qg(L,R,{kind:`add`,tokens:`x`});return e.ok?null:e.reason})(),oe=e.origins.length>1;return(0,Z.jsxs)(`div`,{className:`border-border-subtle border-b py-3`,children:[(0,Z.jsx)(BI,{children:`Source properties`}),oe&&(0,Z.jsxs)(`label`,{className:`block text-xs`,children:[`Edit scope`,(0,Z.jsx)(`select`,{"aria-label":`Edit scope`,"data-testid":`source.scope`,className:JI,value:m,onChange:e=>{h(Number(e.target.value)),j(null)},children:e.origins.map((e,t)=>(0,Z.jsxs)(`option`,{value:t,children:[t===0?`Element`:`Call site ${t}`,` · `,KN(e)]},t))})]}),(0,Z.jsx)(`p`,{"data-testid":`source.scope-note`,className:`text-muted-foreground mt-2 text-xs`,children:oe&&m>0?`Changes this call site, including every loop iteration it produces. Fixture items remain separate data.`:tL(e,P)}),P&&(0,Z.jsxs)(`p`,{"data-testid":`source.partial-warning`,className:`border-border bg-muted mt-2 rounded border p-2 text-xs`,children:[`Edits apply to every template that uses this partial (`,M.fileName,`).`]}),z?(0,Z.jsxs)(Z.Fragment,{children:[R.properties.length===0&&(0,Z.jsx)(`p`,{className:`text-muted-foreground mt-2 text-xs`,children:`No unambiguous scalar properties here. Use source or the agent for this shape.`}),R.hasSpread&&(0,Z.jsx)(`p`,{className:`text-muted-foreground mt-2 text-xs`,children:`Spread properties can override attributes here. Edit attributes in Source or ask the agent.`}),R.properties.filter(e=>!R.hasSpread||e.syntax===`child`).map(e=>(0,Z.jsx)(XI,{field:e,source:L,apply:re,propose:e=>j(te([e]))},`${t.rev}:${L}:${m}:${e.name}`)),ae!==null&&(0,Z.jsx)(`p`,{"data-testid":`source.class-refusal`,className:`text-muted-foreground mt-3 text-xs`,children:ae}),ae===null&&(0,Z.jsxs)(`div`,{className:`mt-3`,children:[(0,Z.jsxs)(`label`,{className:`block text-xs`,children:[ie===void 0?`Style classes · literal`:`Add style classes`,(0,Z.jsx)(`input`,{"aria-label":`Style classes`,"data-testid":`source.classes`,className:JI,value:S,onChange:e=>C(e.target.value)})]}),(0,Z.jsx)(`button`,{"data-testid":`source.classes-add`,type:`button`,className:YI,disabled:S.trim()===``,onClick:()=>{let e=Qg(L,R,{kind:`add`,tokens:S});e.ok?ne(e.edits):y(e.reason),C(``)},children:ie===void 0?`Apply styles`:`Add classes`})]}),(0,Z.jsxs)(`details`,{className:`mt-3`,children:[(0,Z.jsx)(`summary`,{"data-testid":`source.structure-toggle`,className:`cursor-pointer text-xs`,children:`Structure · authored block`}),(0,Z.jsx)(`p`,{className:`text-muted-foreground my-2 text-xs`,children:`This changes the whole source block at the scope above. A rendered loop instance has no independent source block. Change fixture items separately; edit loop or conditional logic in Source.`}),(0,Z.jsx)(`textarea`,{"aria-label":`Insert TSX`,"data-testid":`source.insert`,value:w,className:JI,onChange:e=>T(e.target.value)}),(0,Z.jsx)(`button`,{"data-testid":`source.review-insert`,type:`button`,className:YI,disabled:R.contentEnd===null,onClick:()=>{let e=Jg(L,R,{kind:`insert`,tsx:w});k(e===null?null:te(e))},children:`Review insert`}),` `,(0,Z.jsx)(`button`,{"data-testid":`source.review-delete`,type:`button`,className:YI,disabled:!R.structural,onClick:()=>{let e=Jg(L,R,{kind:`delete`});k(e===null?null:te(e))},children:`Review delete`}),` `,(0,Z.jsx)(`button`,{"data-testid":`source.review-duplicate`,type:`button`,className:YI,disabled:!R.structural,onClick:()=>{let e=Jg(L,R,{kind:`duplicate`});k(e===null?null:te(e))},children:`Review duplicate`}),` `,(0,Z.jsx)(`button`,{"data-testid":`source.review-move-up`,type:`button`,className:YI,disabled:R.previous===null,onClick:()=>{let e=Jg(L,R,{kind:`reorder`,direction:`before`});k(e===null?null:te(e))},children:`Move earlier`}),` `,(0,Z.jsx)(`button`,{"data-testid":`source.review-move-down`,type:`button`,className:YI,disabled:R.next===null,onClick:()=>{let e=Jg(L,R,{kind:`reorder`,direction:`after`});k(e===null?null:te(e))},children:`Move later`}),!P&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`label`,{className:`mt-2 block text-xs`,children:[`Move into shared source container`,(0,Z.jsxs)(`select`,{"aria-label":`Move destination`,"data-testid":`source.destination`,value:E,className:JI,onChange:e=>D(e.target.value),children:[(0,Z.jsx)(`option`,{value:``,children:`Choose destination`}),t.channel===`email`&&t.render?.selections.map(e=>(0,Z.jsxs)(`option`,{value:e.instancePath,children:[e.tag,` · `,e.instancePath,` ·`,` `,e.origins[0]===void 0?`generated`:KN(e.origins[0])]},e.instancePath))]})]}),(0,Z.jsx)(`button`,{"data-testid":`source.review-move`,type:`button`,className:YI,disabled:!R.structural||E===``,onClick:()=>{let e=(t.channel===`email`?t.render?.selections.find(e=>e.instancePath===E):void 0)?.origins[0],n=e===void 0?null:Bg(L,N,e),r=n===null?null:Jg(L,R,{kind:`move`,destination:n});k(r===null?null:te(r)),_(r===null?`This destination cannot accept the selected block. Choose another source container or use Source.`:null)},children:`Review move`})]}),g!==null&&(0,Z.jsx)(`p`,{role:`alert`,className:`text-status-error text-xs`,children:g}),O!==null&&(0,Z.jsxs)(`div`,{role:`region`,"aria-label":`Structural source diff`,className:`mt-2`,children:[(0,Z.jsx)(`pre`,{className:`bg-muted overflow-auto p-2 text-xs`,children:O.edits.map(e=>`- ${e.before}\n+ ${e.after}`).join(`
32
- `)}),O.refusal!==null&&(0,Z.jsx)(`p`,{"data-testid":`source.structure-refusal`,className:`text-status-error text-xs`,children:O.refusal}),(0,Z.jsx)(`button`,{"data-testid":`source.apply-structure`,type:`button`,className:YI,disabled:O.refusal!==null,onClick:()=>{ne(O.edits),k(null)},children:`Apply structural change`}),` `,(0,Z.jsx)(`button`,{type:`button`,className:YI,onClick:()=>k(null),children:`Cancel`})]})]}),A!==null&&(0,Z.jsxs)(`div`,{role:`region`,"aria-label":`Proposed source diff`,className:`mt-3 space-y-2`,children:[(0,Z.jsx)(`p`,{className:`text-xs`,children:`Review the exact source change`}),(0,Z.jsx)(`pre`,{className:`bg-muted overflow-auto p-2 text-xs`,children:A.edits.map(e=>`- ${e.before}\n+ ${e.after}`).join(`
33
- `)}),A.refusal!==null&&(0,Z.jsx)(`p`,{"data-testid":`source.proposal-refusal`,className:`text-status-error text-xs`,children:A.refusal}),(0,Z.jsx)(`button`,{"data-testid":`source.apply-reviewed`,type:`button`,className:YI,disabled:A.refusal!==null,onClick:()=>{ne(A.edits),j(null)},children:`Apply reviewed change`}),` `,(0,Z.jsx)(`button`,{type:`button`,className:YI,onClick:()=>j(null),children:`Cancel`})]})]}):(0,Z.jsx)(`p`,{"data-testid":`source.unavailable`,className:`text-muted-foreground mt-2 text-xs`,children:eL({busy:n!==null||b||o,file:P?M.fileName:null,project:F.status,resolved:R!==null})}),B!==null&&(0,Z.jsx)(`p`,{"data-testid":`source.edit-error`,className:`text-status-error mt-2 text-xs`,children:B}),(0,Z.jsxs)(`div`,{className:`mt-3 flex gap-2`,children:[(0,Z.jsx)(`button`,{type:`button`,className:YI,onClick:c,children:`Open source`}),p&&(0,Z.jsx)(`button`,{type:`button`,className:YI,onClick:()=>l(m),children:`Ask agent`})]})]})}function rL(){let{undo:e,redo:t,error:n,editable:r}=$(lk(e=>({undo:e.undoHistory.length,redo:e.redoHistory.length,error:e.sourceEditError,editable:e.sourceEditable}))),i=$(e=>e.actions);return(0,Z.jsxs)(`div`,{className:`border-border border-b px-3 py-1.5`,children:[(0,Z.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Z.jsx)(`button`,{"data-testid":`source.undo`,type:`button`,className:YI,disabled:!r||e===0,onClick:i.undo,children:`Undo`}),(0,Z.jsx)(`button`,{"data-testid":`source.redo`,type:`button`,className:YI,disabled:!r||t===0,onClick:i.redo,children:`Redo`})]}),n!==null&&(0,Z.jsx)(`p`,{role:`alert`,className:`text-status-error mt-1 text-xs`,children:n})]})}function iL(){let e=$(e=>e.doc),t=$(e=>e.pendingAuthoredSource),n=$(e=>e.sourceEditable),{applySourceEdit:r,openSource:i}=$(e=>e.actions),[a,o]=(0,W.useState)(null),[s,c]=(0,W.useState)(!1);if(e?.channel!==`email`)return null;let l=Xg(e.origin.authoredSource).find(t=>t.name===e.fixture);return(0,Z.jsxs)(`div`,{className:`border-border-subtle border-b py-3`,children:[(0,Z.jsxs)(BI,{children:[`Fixture data · `,e.fixture]}),(0,Z.jsx)(`p`,{className:`text-muted-foreground text-xs`,children:`Example input for this fixture. Changes do not replace template bindings or change other fixtures.`}),l===void 0?(0,Z.jsx)(`button`,{type:`button`,className:YI,onClick:i,children:`Open fixture source`}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`textarea`,{"aria-label":`Fixture data source`,"data-testid":`source.fixture-data`,className:JI,value:a??l.source,onChange:e=>{o(e.target.value),c(!1)},disabled:!n||t!==null}),(0,Z.jsx)(`button`,{"data-testid":`source.fixture-review`,type:`button`,className:YI,disabled:!n||t!==null||a===null,onClick:()=>c(!0),children:`Review fixture change`}),s&&a!==null&&(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`pre`,{className:`bg-muted overflow-auto p-2 text-xs`,children:`- ${l.source}\n+ ${a}`}),(0,Z.jsx)(`button`,{"data-testid":`source.fixture-apply`,type:`button`,className:YI,onClick:()=>{r({revision:e.rev,source:e.origin.authoredSource,edits:[{start:l.start,end:l.end,before:l.source,after:a}]}),o(null),c(!1)},children:`Apply fixture change`}),` `,(0,Z.jsx)(`button`,{type:`button`,className:YI,onClick:()=>{o(null),c(!1)},children:`Cancel`})]})]})]})}function aL({selection:e}){let t=$(e=>`${e.doc?.rev}:${e.doc?.origin.authoredSource}:${e.doc?.channel===`email`?e.doc.fixture:``}`);return(0,Z.jsx)(nL,{selection:e},t)}function oL(){let e=$(e=>`${e.doc?.rev}:${e.doc?.origin.authoredSource}:${e.doc?.channel===`email`?e.doc.fixture:``}`);return(0,Z.jsx)(iL,{},e)}var sL=[],cL=[],lL=[];function uL({label:e,title:t,children:n}){return(0,Z.jsxs)(`div`,{title:t,className:`mt-1.5 flex items-center justify-between gap-2 first:mt-0`,children:[(0,Z.jsx)(`span`,{className:`text-muted-foreground shrink-0 text-xs`,children:e}),n]})}function dL(){let e=$(e=>e.doc?.variables??cL);return e.length===0?null:(0,Z.jsxs)(`div`,{className:`border-border-subtle border-b py-3`,children:[(0,Z.jsx)(BI,{children:`Variables`}),(0,Z.jsx)(`div`,{className:`flex flex-col gap-2`,children:e.map(e=>(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 text-[12.5px]`,children:[(0,Z.jsx)(zI,{name:e.name,className:`shrink-0`}),(0,Z.jsx)(`span`,{className:`text-placeholder ml-auto text-[11px]`,children:e.required?`required`:`optional`})]},e.name))}),(0,Z.jsx)(`p`,{className:`text-muted-foreground mt-2.5 text-[11.5px]`,children:`The canvas shows the values of the fixture selected in the toolbar.`})]})}function fL(){let e=$(e=>e.checks),t=$(e=>e.sourceEditable);return(0,Z.jsx)(`div`,{className:`py-3`,children:(0,Z.jsx)(KI,{checks:e,editable:t})})}function pL(){let{deviceWidth:e,entryFile:t,fixture:n,fixtures:r}=$(lk(e=>({deviceWidth:CP[e.previewDevice],entryFile:e.doc?.origin.file??null,fixture:e.doc?.channel===`email`?e.doc.fixture:null,fixtures:e.doc?.channel===`email`?e.doc.fixtures:sL})));return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`div`,{className:`border-border-subtle border-b py-3`,children:[(0,Z.jsx)(BI,{children:`Document`}),(0,Z.jsx)(uL,{label:`Width`,children:(0,Z.jsxs)(UI,{children:[e,` `,(0,Z.jsx)(`span`,{className:`text-placeholder text-[10.5px]`,children:`px`})]})}),t!==null&&(0,Z.jsx)(uL,{label:`Entry`,children:(0,Z.jsx)(UI,{children:t})}),n!==null&&(0,Z.jsx)(uL,{label:`Fixture`,title:`${r.length} declared`,children:(0,Z.jsx)(UI,{children:n})})]}),(0,Z.jsx)(oL,{},`${n}:${t}`),(0,Z.jsx)(dL,{}),(0,Z.jsx)(fL,{})]})}function mL({value:e,onChange:t,onCommit:n,placeholder:r,type:i=`text`,testId:a}){return(0,Z.jsx)(`input`,{type:i,value:e,placeholder:r,"data-testid":a,spellCheck:!1,onChange:e=>t(e.target.value),onBlur:n,onKeyDown:e=>{e.key===`Enter`&&e.currentTarget.blur()},className:yF(`border-border bg-background text-foreground placeholder:text-placeholder h-7 max-w-none min-w-0 flex-1 rounded-[5px] border px-2.5 text-xs outline-none`,bF)})}function hL(){let e=$(e=>e.doc),t=$(e=>e.metadataError),{saveMetadata:n}=$(e=>e.actions),r=e?.metadata.fromDefault,[i,a]=(0,W.useState)(r?.name??``),[o,s]=(0,W.useState)(r?.email??``),[c,l]=(0,W.useState)((e?.metadata.replyToDefault??[]).join(`, `)),u=()=>{let e=o.trim();n({fromDefault:e.length===0?null:{email:e,name:i.trim()||void 0}})};return(0,Z.jsxs)(`div`,{className:`py-3`,children:[(0,Z.jsx)(BI,{children:`Defaults · per send`}),(0,Z.jsx)(uL,{label:`From name`,children:(0,Z.jsx)(mL,{value:i,onChange:a,onCommit:u,placeholder:`Sender name`})}),(0,Z.jsx)(uL,{label:`From email`,children:(0,Z.jsx)(mL,{type:`email`,value:o,onChange:s,onCommit:u,placeholder:`you@domain.com`,testId:`inspector.envelope.from-email`})}),(0,Z.jsx)(uL,{label:`Reply-To`,children:(0,Z.jsx)(mL,{type:`email`,value:c,onChange:l,onCommit:()=>{let e=c.split(`,`).map(e=>e.trim()).filter(e=>e.length>0);n({replyToDefault:e.length===0?null:e})},placeholder:`Comma-separated`})}),t!==null&&(0,Z.jsx)(`p`,{role:`alert`,className:`text-status-error mt-2 text-[11.5px]`,children:t})]})}function gL(){let e=$(e=>e.metadataEditable),t=$(e=>e.render);return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{className:`border-border-subtle text-muted-foreground border-b py-2.5 text-[11px] leading-relaxed`,children:`Subject and preview text come from the template code and the fixture on screen. From / Reply-To are template defaults, overridden per send.`}),(0,Z.jsxs)(`div`,{className:`border-border-subtle border-b py-3`,children:[(0,Z.jsx)(BI,{children:`Rendered`}),(0,Z.jsx)(uL,{label:`Subject`,children:(0,Z.jsx)(UI,{children:t?.subject??`No subject`})}),(0,Z.jsx)(uL,{label:`Preview`,children:(0,Z.jsx)(UI,{children:t?.preheader??`No preview text`})})]}),e?(0,Z.jsx)(hL,{}):(0,Z.jsx)(`p`,{className:`text-muted-foreground py-3 text-xs`,children:`This host does not edit sender defaults.`})]})}function _L({selection:e}){let t=$(e=>e.render?.selections??lL),{select:n}=$(e=>e.actions),r=e.origins[0],i=e.origins.slice(1),a=Yc(t,e),o=Xc(t,e);return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`div`,{className:`border-border-subtle border-b py-3`,children:[(0,Z.jsx)(BI,{children:`Element`}),(0,Z.jsx)(uL,{label:`Tag`,children:(0,Z.jsx)(UI,{testId:`inspector.element.tag`,children:e.tag})}),(0,Z.jsx)(uL,{label:`Source`,title:e.authored?`This element was written in the template.`:`A compiler primitive produced this element; the authoring below is the call that asked for it.`,children:(0,Z.jsx)(UI,{testId:`inspector.element.provenance`,children:e.authored?`Authored`:`Generated`})}),(0,Z.jsx)(uL,{label:`Instance`,children:(0,Z.jsx)(UI,{testId:`inspector.element.instance`,children:e.instancePath})})]}),(0,Z.jsxs)(`div`,{className:`border-border-subtle border-b py-3`,children:[(0,Z.jsx)(BI,{children:`Authoring`}),r===void 0?(0,Z.jsx)(`p`,{className:`text-muted-foreground text-[11.5px]`,children:`The renderer produced this element with no authoring on the stack, so nothing in the template points at it.`}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(uL,{label:`Written at`,children:(0,Z.jsx)(UI,{testId:`inspector.authoring.origin`,children:KN(r)})}),(0,Z.jsx)(`p`,{"data-testid":`inspector.authoring.occurrence`,className:`text-muted-foreground mt-2 text-[11.5px]`,children:e.occurrences>1?`This authoring renders ${e.occurrences} elements here; this is number ${e.occurrence}.`:`This authoring renders one element here.`}),o.length>a.length&&(0,Z.jsxs)(`p`,{"data-testid":`inspector.authoring.definition-scope`,className:`text-muted-foreground mt-1 text-[11.5px]`,children:[o.length,` elements across the whole render come from it, through more than one call site.`]})]})]}),(0,Z.jsx)(aL,{selection:e},`${e.instancePath}:${e.start}:${e.end}`),i.length>0&&(0,Z.jsxs)(`div`,{className:`border-border-subtle border-b py-3`,children:[(0,Z.jsx)(BI,{children:`Call sites`}),(0,Z.jsx)(`ol`,{className:`m-0 flex list-none flex-col gap-1.5 p-0`,children:i.map((e,t)=>(0,Z.jsx)(`li`,{"data-testid":`inspector.call-site.${t}`,className:`text-foreground font-mono text-[11.5px] break-all`,children:KN(e)},`${KN(e)}:${t}`))}),(0,Z.jsx)(`p`,{className:`text-muted-foreground mt-2 text-[11.5px]`,children:`Innermost call first.`})]}),a.length>1&&(0,Z.jsxs)(`div`,{className:`py-3`,children:[(0,Z.jsx)(BI,{children:`Iterations`}),(0,Z.jsx)(`ul`,{className:`m-0 flex list-none flex-col gap-1 p-0`,children:a.map((t,r)=>(0,Z.jsx)(`li`,{children:(0,Z.jsxs)(`button`,{type:`button`,"data-testid":`inspector.iteration.${t.instancePath}`,onClick:()=>n(t.instancePath),className:yF(`hover:bg-muted w-full rounded px-1.5 py-1 text-left font-mono text-[11.5px]`,t.instancePath===e.instancePath&&`bg-sel-soft text-accent-email`),children:[r+1,`. `,t.instancePath]})},t.instancePath))})]})]})}function vL({embedded:e=!1}={}){let t=IF(),{outline:n,selection:r,rightCollapsed:i,rightWidth:a,layoutMode:o}=$(lk(e=>({outline:e.outline,selection:e.selection,rightCollapsed:e.rightCollapsed,rightWidth:e.rightWidth,layoutMode:e.layoutMode}))),{select:s,selectDocument:c,breadcrumbOf:l,toggleRight:u}=$(e=>e.actions),d=r.kind===`element`?n?.index.get(r.instancePath)??null:null,f=r.kind===`envelope`?`envelope`:d===null?`document`:`element`,p=d===null?[]:l(d.instancePath),m=!e&&(o===`compact`||o===`narrow`);return(0,Z.jsx)(`aside`,{"aria-label":`Inspector`,"data-testid":`inspector`,"aria-hidden":!e&&i?!0:void 0,inert:!e&&i?!0:void 0,"data-editor-rail":`right`,style:{width:e?`100%`:i?0:a,maxWidth:m?`calc(100% - 48px)`:void 0},className:yF(`flex h-full shrink-0 flex-col overflow-hidden bg-background transition-[width,transform,box-shadow] duration-180 ease-out`,!e&&`border-l border-border`,m&&`absolute inset-y-0 right-0 z-40 shadow-[var(--shadow-floating)]`,!e&&i&&`border-l-0`),children:(0,Z.jsxs)(`div`,{className:`flex h-full min-w-0 flex-col`,style:{width:e?`100%`:a,maxWidth:`100%`},children:[(0,Z.jsx)(`div`,{className:`border-border bg-background/95 sticky top-0 z-10 border-b backdrop-blur-md`,children:(0,Z.jsxs)(`div`,{className:`flex min-h-10 items-center gap-2 px-3 py-2`,children:[(0,Z.jsx)(`div`,{className:`text-muted-foreground flex min-w-0 flex-1 items-center gap-0.5 overflow-hidden text-xs`,children:f===`document`?(0,Z.jsx)(`span`,{className:`text-foreground truncate px-1 font-semibold`,children:`Document`}):f===`envelope`?(0,Z.jsx)(`span`,{className:`text-foreground truncate px-1 font-semibold`,children:`Envelope`}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`button`,{type:`button`,onClick:c,"data-testid":`inspector.document`,className:`hover:bg-muted hover:text-foreground shrink-0 rounded px-1`,children:`Email`}),p.map((e,t)=>(0,Z.jsxs)(`span`,{className:`contents`,children:[(0,Z.jsx)(`span`,{className:`text-placeholder`,children:`/`}),t===p.length-1?(0,Z.jsx)(`span`,{className:`text-foreground truncate px-1 font-semibold`,children:e.label}):(0,Z.jsx)(`button`,{type:`button`,onClick:()=>s(e.instancePath),className:`hover:bg-muted hover:text-foreground max-w-[72px] truncate rounded px-1`,children:e.label})]},e.instancePath))]})}),d!==null&&(0,Z.jsx)(`span`,{"data-testid":`inspector.selection-badge`,className:`bg-muted text-muted-foreground shrink-0 rounded-md px-1.5 py-0.5 text-[10px] font-medium tracking-wide uppercase`,children:d.authored?qN(d):`${d.tag} · generated`}),!e&&(0,Z.jsxs)(XT,{children:[(0,Z.jsx)(iE,{render:(0,Z.jsx)(`button`,{type:`button`,"aria-label":`Collapse inspector`,"data-testid":`inspector.collapse`,onClick:u,className:`text-muted-foreground hover:bg-muted hover:text-foreground shrink-0 rounded-md p-1.5`}),children:(0,Z.jsx)(mF,{className:`size-[15px]`})}),(0,Z.jsx)(cE,{container:t,children:(0,Z.jsx)(jE,{side:`bottom`,sideOffset:5,className:`z-[200]`,children:(0,Z.jsx)(ME,{role:`tooltip`,className:`bg-foreground text-background rounded-md px-2 py-1 text-[11px] shadow-[var(--shadow-md)]`,children:`Collapse inspector`})})})]})]})}),(0,Z.jsxs)(UA,{"data-samva-scroll-area":`inspector`,className:`relative min-h-0 flex-1`,children:[(0,Z.jsx)(tj,{className:`size-full`,children:(0,Z.jsxs)(`div`,{className:`samva-inspector-content pb-4`,children:[f===`document`&&(0,Z.jsx)(pL,{}),f===`envelope`&&(0,Z.jsx)(gL,{}),d!==null&&(0,Z.jsx)(_L,{selection:d})]})}),(0,Z.jsx)(sj,{orientation:`vertical`,className:`absolute top-0 right-0 bottom-0 flex w-2.5 touch-none p-0.5 select-none`,children:(0,Z.jsx)(cj,{className:`relative flex-1 rounded-full bg-[var(--editor-scrollbar-thumb)] hover:bg-[var(--editor-scrollbar-thumb-hover)]`})})]})]})})}var yL={body:$P,div:nF,table:rF,tbody:rF,tr:rF,td:_F,th:_F,h1:iF,h2:iF,h3:iF,h4:iF,h5:iF,h6:iF,p:uF,span:uF,a:KP,button:KP,img:aF,hr:ZP,br:UP,ul:GP,ol:GP,li:GP},bL=e=>yL[e.toLowerCase()]??nF;function xL({node:e,depth:t}){let{selectedPath:n,expandedLayers:r}=$(lk(e=>({selectedPath:e.selection.kind===`element`?e.selection.instancePath:null,expandedLayers:e.expandedLayers}))),{select:i,toggleLayerExpand:a,setHovered:o}=$(e=>e.actions),s=e.children.length>0,c=r.has(e.instancePath),l=n===e.instancePath,{selection:u}=e;return(0,Z.jsxs)(`li`,{children:[(0,Z.jsx)(`div`,{className:`group relative`,style:{paddingLeft:t*12},onMouseEnter:()=>o(e.instancePath),onMouseLeave:()=>o(null),children:(0,Z.jsxs)(`div`,{className:yF(`flex h-[30px] w-full items-center gap-1.5 rounded-[7px] pr-2 pl-1.5 text-left transition-colors`,l?`bg-sel-soft text-accent-email`:`text-foreground hover:bg-muted`),children:[s?(0,Z.jsx)(`button`,{type:`button`,"aria-expanded":c,"data-testid":`left-rail.layer.toggle`,"aria-label":`${c?`Collapse`:`Expand`} ${qN(u)}`,className:yF(`grid size-3.5 shrink-0 place-items-center text-muted-foreground transition-transform`,c&&`rotate-90`),onClick:t=>{t.stopPropagation(),a(e.instancePath)},children:(0,Z.jsx)(YP,{className:`size-[11px]`})}):(0,Z.jsx)(`span`,{"aria-hidden":!0,className:`size-3.5 shrink-0`}),(0,Z.jsxs)(`button`,{"data-layer-instance-path":e.instancePath,"data-testid":`layers.node.${e.instancePath}`,type:`button`,onClick:()=>i(e.instancePath),className:`flex min-w-0 flex-1 items-center gap-1.5 text-left`,children:[(0,W.createElement)(bL(u.tag),{className:yF(`size-[15px] shrink-0`,l?`text-accent-email`:`text-muted-foreground`)}),(0,Z.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[12.5px]`,children:qN(u)}),!u.authored&&(0,Z.jsx)(`span`,{className:`text-placeholder shrink-0 text-[10px]`,children:`generated`})]})]})}),s&&c&&(0,Z.jsx)(`ul`,{className:`m-0 list-none p-0`,children:e.children.map(e=>(0,Z.jsx)(xL,{node:e,depth:t+1},e.instancePath))})]})}function SL(){let e=$(e=>e.outline);return e===null?(0,Z.jsx)(`div`,{className:`text-placeholder px-3 py-8 text-center text-xs`,children:`There is no preview yet, so there are no layers to show.`}):(0,Z.jsx)(`ul`,{className:`m-0 list-none p-0`,children:e.roots.map(e=>(0,Z.jsx)(xL,{node:e,depth:0},e.instancePath))})}function CL(){let e=IF(),{leftCollapsed:t,leftWidth:n,layoutMode:r}=$(lk(e=>({leftCollapsed:e.leftCollapsed,leftWidth:e.leftWidth,layoutMode:e.layoutMode}))),{toggleLeft:i}=$(e=>e.actions),a=r===`compact`||r===`narrow`;return(0,Z.jsx)(`aside`,{"aria-label":`Layers`,"aria-hidden":t||void 0,inert:t||void 0,"data-editor-rail":`left`,style:{width:t?0:n,maxWidth:a?`calc(100% - 48px)`:void 0},className:yF(`flex h-full shrink-0 flex-col overflow-hidden border-r border-border bg-background transition-[width,transform,box-shadow] duration-180 ease-out`,a&&`absolute inset-y-0 left-0 z-40 shadow-[var(--shadow-floating)]`,t&&`border-r-0`),children:(0,Z.jsxs)(`div`,{className:`flex h-full min-w-0 flex-col`,style:{width:n,maxWidth:`100%`},children:[(0,Z.jsxs)(`div`,{className:`border-border-subtle flex items-center gap-0.5 border-b px-3 py-2`,children:[(0,Z.jsx)(`span`,{className:`text-foreground text-[12.5px] font-medium`,children:`Layers`}),(0,Z.jsxs)(XT,{children:[(0,Z.jsx)(iE,{render:(0,Z.jsx)(`button`,{type:`button`,"aria-label":`Collapse layers`,"data-testid":`left-rail.collapse`,onClick:i,className:`text-muted-foreground hover:bg-muted hover:text-foreground ml-auto rounded-md p-1.5`}),children:(0,Z.jsx)(fF,{className:`size-[15px]`})}),(0,Z.jsx)(cE,{container:e,children:(0,Z.jsx)(jE,{side:`bottom`,sideOffset:5,className:`z-[200]`,children:(0,Z.jsx)(ME,{role:`tooltip`,className:`bg-foreground text-background rounded-md px-2 py-1 text-[11px] shadow-[var(--shadow-md)]`,children:`Collapse layers`})})})]})]}),(0,Z.jsxs)(UA,{"data-samva-scroll-area":`layers`,className:`relative min-h-0 flex-1`,children:[(0,Z.jsx)(tj,{className:`size-full`,children:(0,Z.jsx)(`div`,{className:`px-2 pt-2.5 pb-5`,children:(0,Z.jsx)(SL,{})})}),(0,Z.jsx)(sj,{orientation:`vertical`,className:`absolute top-0 right-0 bottom-0 flex w-2.5 touch-none p-0.5 select-none`,children:(0,Z.jsx)(cj,{className:`relative flex-1 rounded-full bg-[var(--editor-scrollbar-thumb)] hover:bg-[var(--editor-scrollbar-thumb-hover)]`})})]})]})})}function wL({embedded:e=!1}={}){let t=IF(),{checks:n,doc:r,readonlyReason:i,rightCollapsed:a,rightWidth:o}=$(lk(e=>({checks:e.checks,doc:e.doc,readonlyReason:e.readonlyReason,rightCollapsed:e.rightCollapsed,rightWidth:e.rightWidth}))),{toggleRight:s}=$(e=>e.actions);return!e&&a?null:(0,Z.jsxs)(`aside`,{"data-editor-rail":`right`,style:{width:e?`100%`:o},className:e?`bg-background flex h-full shrink-0 flex-col overflow-hidden`:`border-border bg-background flex h-full shrink-0 flex-col overflow-hidden border-l`,children:[(0,Z.jsxs)(`div`,{className:`border-border-subtle flex h-11 items-center border-b px-3`,children:[(0,Z.jsx)(`span`,{className:`text-[12.5px] font-medium`,children:`Template details`}),!e&&(0,Z.jsxs)(XT,{children:[(0,Z.jsx)(iE,{render:(0,Z.jsx)(`button`,{type:`button`,"aria-label":`Collapse inspector`,onClick:s,className:`text-muted-foreground hover:bg-muted hover:text-foreground ml-auto rounded-md p-1.5`}),children:(0,Z.jsx)(mF,{className:`size-[15px]`})}),(0,Z.jsx)(cE,{container:t,children:(0,Z.jsx)(jE,{side:`bottom`,sideOffset:5,className:`z-[200]`,children:(0,Z.jsx)(ME,{role:`tooltip`,className:`bg-foreground text-background rounded-md px-2 py-1 text-[11px] shadow-[var(--shadow-md)]`,children:`Collapse inspector`})})})]})]}),(0,Z.jsxs)(`div`,{className:`samva-editor-scroll min-h-0 flex-1 overflow-y-auto p-4 text-[12.5px]`,children:[(0,Z.jsx)(`p`,{className:`font-medium`,children:`Read-only`}),(0,Z.jsx)(`p`,{className:`text-muted-foreground mt-1`,children:i}),r!==null&&(0,Z.jsx)(`p`,{className:`text-muted-foreground mt-3 font-mono text-[11.5px] break-all`,children:r.origin.file}),(0,Z.jsx)(`div`,{className:`border-border-subtle mt-5 border-t pt-4`,children:(0,Z.jsx)(KI,{checks:n})})]})]})}var TL=yF(`flex flex-1 items-center justify-center gap-1.5 px-2 text-[12px]`,SF),EL={layers:{label:`Layers`,Icon:oF},inspector:{label:`Inspector`,Icon:hF},review:{label:`Review`,Icon:tF}},DL=[`layers`,`inspector`,`review`];function OL({view:e,sourceEditable:t,review:n}){return e===`layers`?(0,Z.jsx)(`div`,{className:`samva-editor-scroll h-full overflow-y-auto px-2 pt-2.5 pb-5`,children:(0,Z.jsx)(SL,{})}):e===`review`&&n!==null?(0,Z.jsx)(`div`,{className:`samva-editor-scroll h-full overflow-y-auto px-2 pt-2.5 pb-5`,children:n.content}):t?(0,Z.jsx)(vL,{embedded:!0}):(0,Z.jsx)(wL,{embedded:!0})}function kL({focused:e=!1}){let t=$(e=>e.sourceEditable),n=$(e=>e.rightWidth),r=$(e=>e.designView),i=$(e=>e.actions.setDesignView),a=OF(`rail.review`)??null,o=r===`review`&&a===null?`layers`:r,s=(0,W.useId)(),c=`${s}-panel`;return(0,Z.jsxs)(`aside`,{"aria-label":`Design`,"data-testid":`design-rail`,"data-editor-rail":`right`,style:e?void 0:{width:n},className:yF(`bg-background flex h-full min-h-0 min-w-0 flex-col overflow-hidden`,e?`w-full flex-1`:`shrink-0 border-l border-border`),children:[(0,Z.jsx)(`div`,{className:`border-border-subtle flex min-h-11 shrink-0 items-center border-b px-2 py-1.5`,children:(0,Z.jsx)(Ck,{role:`tablist`,"aria-label":`Design view`,value:[o],onValueChange:e=>{let t=e[0];(t===`layers`||t===`inspector`)&&i(t),t===`review`&&a!==null&&i(`review`)},className:`bg-muted flex flex-1 gap-0.5 rounded-lg p-0.5`,children:DL.filter(e=>e!==`review`||a!==null).map(e=>{let{Icon:t,label:n}=EL[e];return(0,Z.jsxs)(gk,{id:`${s}-tab-${e}`,type:`button`,role:`tab`,"aria-selected":o===e,"aria-controls":c,"aria-pressed":void 0,value:e,"data-testid":`design.tab.${e}`,className:TL,children:[(0,Z.jsx)(t,{className:`size-[14px]`}),n,e===`review`&&a?.badge]},e)})})}),(0,Z.jsx)(`div`,{role:`tabpanel`,id:c,"aria-labelledby":`${s}-tab-${o}`,className:`min-h-0 flex-1`,children:(0,Z.jsx)(OL,{view:o,sourceEditable:t,review:a})})]})}function AL({side:e}){let t=$(e=>e.leftWidth),n=$(e=>e.assistantWidth),r=$(e=>e.rightWidth),{setAssistantWidth:i,setLeftWidth:a,setRightWidth:o}=$(e=>e.actions),s=(0,W.useRef)(!1);return(0,W.useEffect)(()=>{let t=t=>{s.current&&(e===`assistant`?i(t.clientX):e===`assistant-end`?i(window.innerWidth-t.clientX):e===`left`?a(t.clientX):o(window.innerWidth-t.clientX))},n=()=>{s.current&&(s.current=!1,document.body.style.cursor=``,document.body.style.userSelect=``)};return window.addEventListener(`mousemove`,t),window.addEventListener(`mouseup`,n),()=>{window.removeEventListener(`mousemove`,t),window.removeEventListener(`mouseup`,n)}},[e,i,a,o]),(0,Z.jsx)(`div`,{"data-editor-resize":e,role:`separator`,"aria-orientation":`vertical`,"aria-valuenow":e===`assistant`||e===`assistant-end`?n:e===`left`?t:r,"aria-label":e===`assistant`||e===`assistant-end`?`Resize Assistant`:e===`left`?`Resize layers panel`:`Resize inspector`,"data-testid":e===`assistant`||e===`assistant-end`?`agent-column.resize`:e===`left`?`left-rail.resize`:`inspector.resize`,tabIndex:0,onMouseDown:e=>{e.preventDefault(),s.current=!0,document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`},onKeyDown:s=>{let c=s.shiftKey?24:8;(s.key===`ArrowLeft`||s.key===`ArrowRight`)&&(s.preventDefault(),e===`assistant`?(s.key===`ArrowLeft`&&i(n-c),s.key===`ArrowRight`&&i(n+c)):e===`assistant-end`?(s.key===`ArrowLeft`&&i(n+c),s.key===`ArrowRight`&&i(n-c)):e===`left`?(s.key===`ArrowLeft`&&a(t-c),s.key===`ArrowRight`&&a(t+c)):(s.key===`ArrowLeft`&&o(r+c),s.key===`ArrowRight`&&o(r-c)))},className:yF(`group relative z-10 w-2 shrink-0 cursor-col-resize`,`before:absolute before:inset-y-0 before:left-1/2 before:w-px before:-translate-x-1/2 before:bg-border before:transition-colors`,`hover:before:w-0.5 hover:before:bg-accent-email active:before:bg-accent-email`,`after:absolute after:top-1/2 after:left-1/2 after:h-10 after:w-1 after:-translate-x-1/2 after:-translate-y-1/2 after:rounded-full after:bg-muted-foreground/35 after:opacity-60 after:transition-opacity`,`hover:after:opacity-100 hover:after:bg-accent-email`)})}var jL={assistant:{label:`Assistant`,tip:`Show the assistant`,Icon:gF},preview:{label:`Preview`,tip:`Show the preview`,Icon:eF},design:{label:`Design`,tip:`Show designs, layers, and inspector`,Icon:oF}};function ML(){let e=$(e=>e.sourceEditable),t=$(e=>e.leftCollapsed),n=$(e=>e.rightCollapsed),r=$(e=>e.layoutMode),i=OF(`rail.assistant`)!==void 0,a=OF(`rail.review`),o=$(e=>e.workspaceView),s=$(e=>e.focusedPane),c=$(e=>e.actions.setFocusedPane),l=GN(),u=e=>l.setState({workspaceView:e}),d=(0,W.useId)(),f=i&&r===`compact`,p=i&&r===`narrow`,m=f||p,h=f?[`assistant`,`preview`,`design`]:[`assistant`,`preview`],g=o===`source`?`preview`:h.includes(s)?s:`assistant`;return i?(0,Z.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col`,children:[(0,Z.jsx)(HF,{value:o,onChange:e=>{u(e),m&&c(`preview`)},idBase:d,panelId:`${d}-view-panel`}),m&&(0,Z.jsx)(Ck,{role:`tablist`,value:[g],onValueChange:e=>{let t=e[0];h.some(e=>e===t)&&(c(t),t!==`preview`&&o===`source`&&u(`visual`))},"aria-label":`Editor pane`,className:`border-border bg-background flex h-11 shrink-0 items-center gap-1 border-b p-1.5`,children:h.map(e=>{let{Icon:t,label:n,tip:r}=jL[e];return(0,Z.jsxs)(gk,{id:`${d}-tab-${e}`,type:`button`,role:`tab`,"aria-selected":g===e,"aria-controls":`${d}-pane-${e}`,"aria-pressed":void 0,value:e,title:r,"data-testid":`agent-workspace.tab.${e}`,className:yF(SF,`h-8 flex-1 px-2.5 text-[12px]`),children:[(0,Z.jsx)(t,{className:`size-3.5 shrink-0`}),n,e===`design`&&a?.badge]},e)})}),(0,Z.jsxs)(`div`,{className:`relative flex min-h-0 min-w-0 flex-1`,"data-agent-workspace-layout":m?`focused`:`split`,children:[(0,Z.jsx)(`div`,{id:`${d}-pane-assistant`,role:m?`tabpanel`:void 0,"aria-labelledby":m?`${d}-tab-assistant`:void 0,hidden:m&&g!==`assistant`,className:yF(!m&&`contents`,m&&g===`assistant`&&`flex h-full min-h-0 min-w-0 flex-1`),children:(0,Z.jsx)(NF,{hidden:m&&g!==`assistant`})}),!m&&(0,Z.jsx)(AL,{side:`assistant`}),(0,Z.jsx)(`div`,{id:`${d}-pane-preview`,role:m?`tabpanel`:void 0,"aria-labelledby":m?`${d}-tab-preview`:void 0,hidden:m&&g!==`preview`,className:yF(`min-h-0 min-w-0 flex-1`,(!m||g===`preview`)&&`flex`),children:(0,Z.jsx)(`div`,{id:`${d}-view-panel`,role:`tabpanel`,"aria-labelledby":BF(d,o),className:`flex min-h-0 min-w-0 flex-1`,children:o===`source`?(0,Z.jsx)(RF,{}):(0,Z.jsx)(WI,{pointing:!0})})}),!m&&(0,Z.jsx)(AL,{side:`right`}),(0,Z.jsx)(`div`,{id:`${d}-pane-design`,role:f?`tabpanel`:void 0,"aria-labelledby":f?`${d}-tab-design`:void 0,hidden:m&&g!==`design`,className:yF(!m&&`contents`,m&&g===`design`&&`flex h-full min-h-0 min-w-0 flex-1`),children:p?null:(0,Z.jsx)(kL,{focused:m})})]})]}):(0,Z.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col`,children:[(0,Z.jsx)(rL,{}),(0,Z.jsx)(HF,{value:o,onChange:u,children:o===`source`?(0,Z.jsx)(RF,{}):(0,Z.jsxs)(`div`,{className:`relative flex min-h-0 min-w-0 flex-1`,children:[(0,Z.jsx)(CL,{}),!t&&(0,Z.jsx)(AL,{side:`left`}),(0,Z.jsx)(WI,{}),!n&&(0,Z.jsx)(AL,{side:`right`}),e?(0,Z.jsx)(vL,{}):(0,Z.jsx)(wL,{})]})})]})}var NL=RegExp(`\\s${Gc}="[^"]*"`,`g`),PL=e=>e.replace(NL,``),FL=e=>{let t=e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``);return t===``?`email`:t},IL=(e,t)=>{let n=new Blob([PL(e)],{type:`text/html;charset=utf-8`}),r=URL.createObjectURL(n),i=document.createElement(`a`);i.href=r,i.download=`${FL(t)}.html`,document.body.appendChild(i),i.click(),i.remove(),URL.revokeObjectURL(r)},LL=`image/png,image/jpeg,image/gif,image/webp,.woff2`,RL=1048576,zL=(e,t)=>{let n=e?.lastIndexOf(`/`)??-1;return`${e===void 0||n<0?``:e.slice(0,n+1)}assets/${t}`},BL=e=>{let t=e.lastIndexOf(`.`);return t>e.lastIndexOf(`/`)?e.slice(t):``},VL=e=>j(e,`_tag`)&&e._tag===`ProjectFileExists`,HL=e=>j(e,`reason`)&&typeof e.reason==`string`?e.reason:`The template project operation failed.`,UL=e=>e.isPublished?`Published`:e.isHead?`Current saved version`:`Saved version`;function WL({file:e,content:t,busy:n,onChange:r,onApply:i,onReplace:a}){let o=e.status===`conflicted`;return(0,Z.jsxs)(`div`,{className:`border-border space-y-3 rounded-lg border p-3`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,Z.jsx)(`h4`,{className:`truncate font-mono text-xs font-semibold`,children:e.path}),(0,Z.jsx)(`span`,{className:`text-muted-foreground shrink-0 text-xs`,children:e.status})]}),e.binary===!0?(0,Z.jsx)(`div`,{className:`space-y-3`,"data-testid":`lifecycle-sheet.binary-file`,children:e.status===`deleted`?(0,Z.jsx)(`p`,{className:`text-muted-foreground text-xs`,children:`Removed from the draft. Save a version to keep this change.`}):(0,Z.jsxs)(Z.Fragment,{children:[(e.status===`added`||e.status===`modified`)&&(0,Z.jsx)(`p`,{className:`text-muted-foreground text-xs`,children:`Unsaved until you save a version.`}),(0,Z.jsx)(`button`,{type:`button`,disabled:n,"data-testid":`lifecycle-sheet.replace-file`,onClick:a,className:yF(`border-border hover:bg-muted rounded-md border px-3 py-2 text-xs disabled:opacity-50`,bF),children:`Replace file`})]})}):o?(0,Z.jsx)(`p`,{className:`text-muted-foreground text-xs`,children:`Resolve this file below before editing its workspace source.`}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`textarea`,{"aria-label":`Project source for ${e.path}`,"data-testid":`lifecycle-sheet.file-source.${e.path}`,value:t,onChange:e=>r(e.target.value),disabled:n,spellCheck:!1,className:`border-border bg-surface-inset text-foreground min-h-52 w-full resize-y rounded-md border p-3 font-mono text-xs outline-none disabled:opacity-60`}),(0,Z.jsx)(`button`,{type:`button`,disabled:n||t===e.content,"data-testid":`lifecycle-sheet.apply-file.${e.path}`,onClick:()=>i(t),className:yF(`bg-primary text-primary-foreground rounded-md px-3 py-2 text-xs font-medium disabled:opacity-50`,bF),children:`Apply file`})]})]})}function GL({conflict:e,busy:t,onResolve:n}){let[r,i]=(0,W.useState)(e.draft??e.main??``);return(0,Z.jsxs)(`article`,{className:`border-status-warning/45 space-y-3 rounded-lg border p-4`,children:[(0,Z.jsx)(`h4`,{className:`font-mono text-xs font-semibold`,children:e.path}),(0,Z.jsxs)(`details`,{className:`border-border rounded-md border`,children:[(0,Z.jsx)(`summary`,{className:`hover:bg-muted cursor-pointer px-3 py-2 text-xs font-medium`,children:`Compare base, draft, and main`}),(0,Z.jsx)(`div`,{className:`divide-border border-border divide-y border-t`,children:[[`Base`,e.base],[`Draft`,e.draft],[`Latest saved version`,e.main]].map(([e,t])=>(0,Z.jsxs)(`div`,{className:`space-y-1 p-3`,children:[(0,Z.jsx)(`p`,{className:`text-muted-foreground text-[11px] font-medium`,children:e}),(0,Z.jsx)(`pre`,{className:`samva-editor-scroll max-h-32 overflow-auto font-mono text-xs whitespace-pre-wrap`,children:t??`File does not exist`})]},e))})]}),(0,Z.jsx)(`textarea`,{"aria-label":`Resolved source for ${e.path}`,"data-testid":`lifecycle-sheet.conflict-source.${e.path}`,value:r,onChange:e=>i(e.target.value),spellCheck:!1,className:`border-border bg-surface-inset text-foreground min-h-40 w-full resize-y rounded-md border p-3 font-mono text-xs outline-none`}),(0,Z.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,Z.jsx)(`button`,{type:`button`,disabled:t,onClick:()=>n(`draft`),"data-testid":`lifecycle-sheet.keep-draft`,className:yF(`border-border hover:bg-muted rounded-md border px-3 py-2 text-xs`,bF),children:`Keep draft`}),(0,Z.jsx)(`button`,{type:`button`,disabled:t,onClick:()=>n(`main`),className:yF(`border-border hover:bg-muted rounded-md border px-3 py-2 text-xs`,bF),children:`Use saved version`}),(0,Z.jsx)(`button`,{type:`button`,disabled:t,"data-testid":`lifecycle-sheet.resolve-edited.${e.path}`,onClick:()=>n({content:r}),className:yF(`bg-primary text-primary-foreground rounded-md px-3 py-2 text-xs font-medium`,bF),children:`Use edited source`})]})]})}function KL({open:e,onClose:t,onLockedAction:n}){return e?(0,Z.jsx)(qL,{onClose:t,onLockedAction:n}):null}function qL({onClose:e,onLockedAction:t}){let n=IF(),r=$(e=>e.doc),i=$(e=>e.lifecycleCapability),{beginLifecycle:a,endLifecycle:o,flushSaves:s,adoptLifecycleSnapshot:c}=$(e=>e.actions),l=r!==null&&i?.status===`ready`,[u,d]=(0,W.useState)(null),[f,p]=(0,W.useState)(null),[m,h]=(0,W.useState)(null),[g,_]=(0,W.useState)({}),[v,y]=(0,W.useState)(()=>l?`loading`:null),b=(0,W.useRef)(null),x=(0,W.useRef)(null),[S,C]=(0,W.useState)(null),[w,T]=(0,W.useState)(null),[E,D]=(0,W.useState)(null),[O,k]=(0,W.useState)(l);if(l!==O&&(k(l),l&&(y(`loading`),d(null),T(null),D(null),p(null),h(null),_({}),C(null))),(0,W.useEffect)(()=>{if(i?.status!==`ready`)return;let e=!1;return s().then(()=>i.api.inspect()).then(t=>{if(e)return;d(t);let n=r?.origin.kind===`tsx`?r.origin.file:void 0;h(e=>e!==null&&t.files.some(({path:t})=>t===e)?e:n!==void 0&&t.files.some(({path:e})=>e===n)?n:t.files[0]?.path??null)}).catch(t=>{e||T(HL(t))}).finally(()=>{e||y(null)}),()=>{e=!0}},[r,s,i]),i===void 0)return null;if(i.status===`locked`)return(0,Z.jsx)(Dj,{open:!0,onOpenChange:t=>!t&&e(),children:(0,Z.jsxs)(bj,{container:n,children:[(0,Z.jsx)(dj,{className:`fixed inset-0 z-[110] bg-[var(--editor-backdrop,rgb(0_0_0/0.28))]`}),(0,Z.jsx)(Oj,{className:`fixed inset-0 z-[111] grid place-items-center p-4`,children:(0,Z.jsxs)(yj,{className:`border-border bg-popover w-full max-w-lg rounded-xl border p-5 shadow-[var(--shadow-floating)]`,children:[(0,Z.jsx)(kj,{className:`text-base font-semibold`,children:`Publishing is unavailable`}),(0,Z.jsx)(pj,{className:`text-muted-foreground mt-2 text-sm`,"data-testid":`lifecycle-sheet.locked-reason`,children:i.upsell.reason}),(0,Z.jsx)(`a`,{"data-testid":`lifecycle-sheet.upsell-cta`,className:yF(`bg-primary text-primary-foreground mt-4 inline-flex rounded-md px-3 py-2 text-sm font-medium`,bF),href:i.upsell.cta.href,onClick:e=>{t!==void 0&&(e.preventDefault(),t())},children:i.upsell.cta.label}),(0,Z.jsx)(fj,{className:yF(`border-border hover:bg-muted mt-4 ml-2 inline-flex rounded-md border px-3 py-2 text-sm font-medium`,bF),children:`Close`})]})})]})});let A=u?.commits.find(({commit:e})=>e===f),j=u?.files.find(({path:e})=>e===m),M=j?.content??``,N=j===void 0?void 0:g[j.path],P=N?.baseContent===M?N.content:M,F=u?.files.some(e=>{let t=g[e.path],n=e.content??``;return t?.baseContent===n&&t.content!==n})??!1,I=u!==null&&!u.dirty&&u.conflicts.length===0&&!F,L=u?.commits.find(({commit:e})=>e===u.baseCommit),R=I&&u?.baseCommit===u.remoteHead,ee=async()=>d(await i.api.inspect()),z=()=>{u!==null&&R&&v===null&&a()&&(y(`publish`),T(null),i.api.publish({baseRev:u.rev,commit:u.baseCommit}).then(async()=>{await ee(),D(`Published the current saved version.`)}).catch(e=>T(HL(e))).finally(()=>{o(),y(null)}))},te=()=>{u!==null&&A!==void 0&&!A.isHead&&I&&v===null&&a()&&(y(`restore`),T(null),s().then(e=>i.api.restore({commit:A.commit,baseRev:e})).then(async e=>{c(e),await ee(),p(null),D(`Restored the saved version to the draft. Save a version to keep this restore.`)}).catch(e=>T(HL(e))).finally(()=>{o(),y(null)}))},ne=(e,t)=>{u!==null&&v===null&&a()&&(y(`resolve`),T(null),s().then(n=>i.api.resolveConflict({path:e.path,baseRev:n,resolution:t})).then(t=>{d(t),D(`Resolved ${e.path}.`)}).catch(e=>T(HL(e))).finally(()=>{o(),y(null)}))},re=(e,t)=>{u!==null&&v===null&&(y(`file`),T(null),i.api.updateFile({path:e.path,baseRev:u.rev,content:t}).then(t=>{d(t),_(t=>{let{[e.path]:n,...r}=t;return r}),D(`Updated ${e.path}.`)}).catch(e=>T(HL(e))).finally(()=>y(null)))},B=(e,t,n)=>{u!==null&&v===null&&(y(`file`),T(null),D(null),C(null),i.api.putAsset({path:e,baseRev:u.rev,bytes:t,replace:n}).then(t=>{d(t),h(e),D(`${n?`Replaced`:`Added`} ${e}. Save a version to keep this change.`)}).catch(n=>{VL(n)?C({path:e,bytes:t}):T(HL(n))}).finally(()=>y(null)))},ie=e=>{let t=b.current;t!==null&&(x.current=e===null?null:{replacePath:e},t.accept=e===null?LL:BL(e),t.value=``,t.click())},ae=e=>{let t=x.current;if(x.current=null,e===void 0||u===null)return;if(e.size>RL){D(null),T(`${e.name} is larger than 1 MB. Choose a smaller file.`);return}let n=r?.origin.kind===`tsx`?r.origin.file:void 0,i=t?.replacePath??zL(n,e.name);e.arrayBuffer().then(e=>{let n=new Uint8Array(e);if(t===null&&u.files.some(e=>e.path===i)){T(null),D(null),C({path:i,bytes:n});return}B(i,n,t!==null)}).catch(e=>T(HL(e)))};return(0,Z.jsx)(fM,{open:!0,onOpenChange:t=>!t&&e(),swipeDirection:`right`,children:(0,Z.jsxs)(lM,{container:n,children:[(0,Z.jsx)(zj,{className:`fixed inset-0 z-[110] bg-[var(--editor-backdrop,rgb(0_0_0/0.28))]`}),(0,Z.jsx)(QM,{className:`pointer-events-none fixed inset-0 z-[111] flex justify-end`,children:(0,Z.jsxs)(cM,{className:`border-border bg-popover pointer-events-auto flex h-full w-full max-w-2xl flex-col border-l shadow-[var(--shadow-floating)]`,children:[(0,Z.jsxs)(`header`,{className:`border-border flex items-center justify-between border-b px-5 py-4`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(FM,{className:`text-base font-semibold`,children:`Publish and saved versions`}),(0,Z.jsx)(Hj,{className:`text-muted-foreground mt-0.5 text-xs`,children:`Save keeps a named version. Restore brings an older version into your draft.`})]}),(0,Z.jsx)(Bj,{"data-testid":`lifecycle-sheet.close`,className:yF(`hover:bg-muted rounded-md px-2 py-1 text-sm`,bF),children:`Close`})]}),(0,Z.jsxs)(`div`,{className:`samva-editor-scroll min-h-0 flex-1 space-y-6 overflow-y-auto p-5`,children:[v===`loading`&&(0,Z.jsx)(`p`,{className:`text-muted-foreground text-sm`,children:`Loading saved versions…`}),w!==null&&(0,Z.jsx)(`p`,{className:`text-status-error text-sm`,role:`alert`,children:w}),E!==null&&(0,Z.jsx)(`p`,{className:`text-status-success text-sm`,role:`status`,"data-testid":`lifecycle-sheet.notice`,children:E}),u!==null&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`section`,{className:`border-border bg-muted/30 space-y-3 rounded-lg border p-4`,children:[(0,Z.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h3`,{className:`text-sm font-semibold`,children:`Current saved version`}),(0,Z.jsx)(`p`,{className:`text-muted-foreground mt-1 text-xs`,children:L?.message??`Current saved version`})]}),(0,Z.jsx)(`button`,{type:`button`,onClick:z,disabled:!R||v!==null,"data-testid":`lifecycle-sheet.confirm-publish`,className:yF(`bg-primary text-primary-foreground rounded-md px-3 py-2 text-sm font-medium disabled:opacity-50`,`focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`),children:v===`publish`?`Publishing…`:`Publish saved version`})]}),!I&&(0,Z.jsx)(`p`,{className:`text-muted-foreground text-xs`,"data-testid":`lifecycle-sheet.cleanliness-warning`,children:u.conflicts.length>0?`Resolve workspace conflicts before Save or Publish.`:`The draft has unsaved changes. Save a version before publishing or restoring.`}),I&&u.baseCommit!==u.remoteHead&&(0,Z.jsx)(`p`,{className:`text-muted-foreground text-xs`,children:`The saved version changed elsewhere. Refresh before publishing.`})]}),(0,Z.jsxs)(`section`,{className:`space-y-2`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,Z.jsx)(`h3`,{className:`text-sm font-semibold`,children:`Project files`}),(0,Z.jsx)(`button`,{type:`button`,disabled:v!==null,"data-testid":`lifecycle-sheet.add-file`,onClick:()=>ie(null),className:yF(`border-border hover:bg-muted rounded-md border px-3 py-1.5 text-xs disabled:opacity-50`,`focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`),children:`Add file`}),(0,Z.jsx)(`input`,{ref:b,type:`file`,accept:LL,hidden:!0,"data-testid":`lifecycle-sheet.add-file-input`,onChange:e=>ae(e.target.files?.[0])})]}),(0,Z.jsx)(`p`,{className:`text-muted-foreground text-xs`,children:`Add PNG, JPEG, GIF, or WebP images and WOFF2 fonts up to 1 MB.`}),S!==null&&(0,Z.jsxs)(`div`,{className:`border-status-warning/45 space-y-3 rounded-lg border p-3`,"data-testid":`lifecycle-sheet.replace-prompt`,children:[(0,Z.jsxs)(`p`,{className:`text-xs`,children:[(0,Z.jsx)(`span`,{className:`font-mono`,children:S.path}),` already exists. Replace it with the file you chose?`]}),(0,Z.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Z.jsx)(`button`,{type:`button`,disabled:v!==null,"data-testid":`lifecycle-sheet.confirm-replace`,onClick:()=>B(S.path,S.bytes,!0),className:yF(`bg-primary text-primary-foreground rounded-md px-3 py-2 text-xs font-medium disabled:opacity-50`,`focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`),children:`Replace file`}),(0,Z.jsx)(`button`,{type:`button`,disabled:v!==null,onClick:()=>C(null),className:yF(`border-border hover:bg-muted rounded-md border px-3 py-2 text-xs`,`focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`),children:`Cancel`})]})]}),(0,Z.jsx)(`div`,{className:`border-border divide-border divide-y rounded-lg border`,children:u.files.map(e=>(0,Z.jsxs)(`button`,{type:`button`,"data-testid":`lifecycle-sheet.file.${e.path}`,onClick:()=>h(e.path),className:yF(`hover:bg-muted flex w-full items-center justify-between gap-4 px-3 py-2 text-left`,`focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`,m===e.path&&`bg-muted`),children:[(0,Z.jsx)(`span`,{className:`truncate font-mono text-xs`,children:e.path}),(0,Z.jsx)(`span`,{className:`text-muted-foreground shrink-0 text-xs`,children:e.status})]},e.path))}),j!==void 0&&(0,Z.jsx)(WL,{file:j,content:P,busy:v!==null,onChange:e=>_(t=>{if(e===M){let{[j.path]:e,...n}=t;return n}return{...t,[j.path]:{baseContent:M,content:e}}}),onApply:e=>re(j,e),onReplace:()=>ie(j.path)},`${j.path}:${j.content??``}`)]}),u.conflicts.length>0&&(0,Z.jsxs)(`section`,{className:`space-y-3`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h3`,{className:`text-sm font-semibold`,children:`Resolve conflicts`}),(0,Z.jsx)(`p`,{className:`text-muted-foreground mt-1 text-xs`,children:`Choose either side or edit the final file. Save remains blocked until every path is resolved.`})]}),u.conflicts.map(e=>(0,Z.jsx)(GL,{conflict:e,busy:v!==null,onResolve:t=>ne(e,t)},e.path))]}),(0,Z.jsxs)(`section`,{className:`space-y-2`,children:[(0,Z.jsx)(`h3`,{className:`text-sm font-semibold`,children:`Saved versions`}),(0,Z.jsx)(`div`,{className:`space-y-2`,children:u.commits.map(e=>(0,Z.jsxs)(`button`,{type:`button`,"data-testid":`lifecycle-sheet.commit.${e.commit}`,onClick:()=>p(e.commit),className:yF(`border-border hover:bg-muted flex w-full items-start justify-between gap-4 rounded-lg border p-3 text-left`,f===e.commit&&`ring-primary ring-2`,`focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`),children:[(0,Z.jsxs)(`span`,{className:`min-w-0`,children:[(0,Z.jsx)(`span`,{className:`block truncate text-sm font-medium`,children:e.message}),(0,Z.jsx)(`span`,{className:`text-muted-foreground mt-1 block text-xs`,children:e.committedAt.toLocaleString()})]}),(0,Z.jsx)(`span`,{className:`text-muted-foreground shrink-0 text-xs`,children:UL(e)})]},e.commit))})]}),A!==void 0&&!A.isHead&&(0,Z.jsxs)(`section`,{className:`border-border space-y-3 rounded-lg border p-4`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h3`,{className:`text-sm font-semibold`,children:`Restore saved version`}),(0,Z.jsxs)(`p`,{className:`text-muted-foreground mt-1 text-xs`,children:[`Bring “`,A.message,`” into the current draft. Save a version when you want to keep the restored draft.`]})]}),(0,Z.jsx)(`button`,{type:`button`,onClick:te,disabled:!I||v!==null,"data-testid":`lifecycle-sheet.restore`,className:yF(`border-border hover:bg-muted rounded-md border px-3 py-2 text-sm`,`focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`),children:v===`restore`?`Restoring…`:`Restore this version`})]})]})]})]})})]})})}function JL({container:e,children:t}){return(0,Z.jsx)(FF,{value:e,children:t})}var YL={desktop:600,mobile:375},XL=`Copy code`;function ZL({open:e,onClose:t}){return e?(0,Z.jsx)(QL,{onClose:t}):null}function QL({onClose:e}){let t=IF(),{doc:n,render:r,checks:i,previewDevice:a}=$(lk(e=>({doc:e.doc,render:e.render,checks:e.checks,previewDevice:e.previewDevice}))),[o,s]=(0,W.useState)(`preview`),[c,l]=(0,W.useState)(a),[u,d]=(0,W.useState)(`light`),[f,p]=(0,W.useState)(n?.channel);n?.channel!==f&&(p(n?.channel),s(`preview`));let[m,h]=(0,W.useState)(a);if(a!==m&&(h(a),s(`preview`),l(a),d(`light`)),n===null)return null;let g=n.metadata.fromDefault,_=(e,t)=>({value:e,label:t,testId:`preview-overlay.view.${e}`}),v=n.channel===`email`?[_(`preview`,`Preview`),_(`html`,`HTML`),_(`text`,`Text`),_(`source`,`TSX`)]:n.channel===`sms`?[_(`preview`,`Preview`),_(`text`,`Text`),_(`source`,`TSX`)]:[_(`preview`,`Preview`),_(`payload`,`Payload`),_(`source`,`TSX`)],y=o===`source`?n.origin.authoredSource:o===`html`&&r!==null?r.html:o===`text`&&r!==null?r.text:o===`text`&&n.channel===`sms`&&n.render!==null?n.render.text:o===`payload`&&n.channel===`whatsapp`&&n.render!==null?JSON.stringify(n.render,null,2):``;return(0,Z.jsx)(Dj,{open:!0,onOpenChange:t=>!t&&e(),children:(0,Z.jsx)(bj,{container:t,children:(0,Z.jsxs)(yj,{className:`samva-editor-shell fixed inset-0 z-[100] flex flex-col bg-[var(--editor-canvas-bg)] outline-none`,children:[(0,Z.jsx)(kj,{className:`sr-only`,children:`Template preview`}),(0,Z.jsx)(pj,{className:`sr-only`,children:`Preview the rendered template and inspect its generated output.`}),(0,Z.jsxs)(`div`,{"data-testid":`preview-overlay.toolbar`,className:`border-border-subtle flex shrink-0 flex-wrap items-center gap-2 border-b px-3 py-2.5 sm:gap-2.5 sm:px-4`,children:[(0,Z.jsx)(`span`,{className:`text-[13px] font-semibold`,children:`Preview`}),(0,Z.jsx)(`span`,{className:`text-muted-foreground hidden text-xs sm:inline`,children:`rendered message, exactly what ships`}),(0,Z.jsx)(HI,{ariaLabel:`Preview format`,testId:`preview-overlay.format-group`,value:o,onChange:e=>s(e),options:v}),(0,Z.jsx)(`span`,{className:`hidden flex-1 sm:block`}),n.channel===`email`&&o===`preview`&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(HI,{ariaLabel:`Preview width`,testId:`preview-overlay.width-group`,value:c,onChange:e=>l(e),options:[{value:`desktop`,label:`Desktop`,testId:`preview-overlay.device.desktop`},{value:`mobile`,label:`Mobile`,testId:`preview-overlay.device.mobile`}]}),(0,Z.jsx)(HI,{ariaLabel:`Preview color scheme`,testId:`preview-overlay.color-scheme-group`,value:u,onChange:e=>d(e),options:[{value:`light`,label:`Light`,testId:`preview-overlay.scheme.light`},{value:`dark`,label:`Dark`,testId:`preview-overlay.scheme.dark`}]}),(0,Z.jsx)(qI,{checks:i})]}),(0,Z.jsxs)(fj,{"data-testid":`preview-overlay.close`,className:`border-border text-foreground hover:bg-muted focus-visible:border-ring focus-visible:ring-ring/50 ml-auto inline-flex h-[30px] items-center gap-1.5 rounded-[7px] border px-2.5 outline-none focus-visible:ring-[3px]`,children:[`Close`,(0,Z.jsx)(`kbd`,{className:`text-muted-foreground text-[10px]`,children:`⎋`})]})]}),o===`preview`?n.channel===`email`?(0,Z.jsxs)(`div`,{className:`samva-editor-scroll flex-1 overflow-auto px-6 pt-3 pb-12`,children:[(0,Z.jsxs)(`div`,{"data-testid":`preview-overlay.device-frame`,className:yF(`mx-auto mb-3.5 max-w-full truncate text-[12.5px] text-muted-foreground transition-[width] duration-180`,c===`mobile`?`w-[375px]`:`w-[600px]`),children:[g!==void 0&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`b`,{className:`text-foreground font-semibold`,children:g.name??g.email}),g.name===void 0?null:(0,Z.jsxs)(Z.Fragment,{children:[` <`,g.email,`>`]}),` ·`,` `]}),(0,Z.jsx)(`b`,{className:`text-foreground font-semibold`,children:r?.subject??``}),r?.preheader!==void 0&&(0,Z.jsxs)(`span`,{className:`opacity-70`,children:[` — `,r.preheader]})]}),(0,Z.jsx)(`div`,{className:yF(`mx-auto h-[calc(100%-2rem)] max-w-full transition-[width] duration-180 ease-out`,c===`mobile`?`w-[375px]`:`w-[600px]`),children:r===null?(0,Z.jsx)(`pre`,{className:`border-status-error/40 bg-background text-status-error rounded-lg border p-4 font-mono text-xs whitespace-pre-wrap`,children:`The current draft did not build, so there is nothing to preview.`}):(0,Z.jsx)(EI,{html:r.html,width:YL[c],forceColorScheme:u})})]}):(0,Z.jsx)(`div`,{className:`samva-editor-scroll flex-1 overflow-auto p-8`,children:(0,Z.jsx)(`div`,{className:`border-border bg-background mx-auto max-w-[460px] rounded-[28px] border p-5 shadow-[var(--shadow-lg)]`,children:n.channel===`sms`&&n.render!==null?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{"data-testid":`preview-overlay.sms-body`,className:`bg-muted rounded-[18px] px-4 py-3 text-[14px] whitespace-pre-wrap`,children:n.render.text}),(0,Z.jsx)(JF,{text:n.render.text,className:`mt-4 text-center text-xs`})]}):n.channel===`whatsapp`&&n.render!==null?(0,Z.jsxs)(`div`,{className:`bg-surface-inset rounded-xl p-3.5`,children:[n.render.header!==void 0&&n.render.header.text!==``&&(0,Z.jsx)(`p`,{className:`mb-1 font-semibold`,children:n.render.header.text}),(0,Z.jsx)(`p`,{className:`whitespace-pre-wrap`,children:n.render.body}),n.render.footer!==void 0&&n.render.footer!==``&&(0,Z.jsx)(`p`,{className:`text-muted-foreground mt-2 text-xs`,children:n.render.footer}),n.render.buttons.map((e,t)=>(0,Z.jsx)(`div`,{className:`border-border-subtle text-accent-email mt-2 border-t pt-2 text-center text-xs`,children:e.type===`copy-code`?XL:e.text},`${e.type}-${t}`))]}):(0,Z.jsx)(`pre`,{className:`text-status-error whitespace-pre-wrap`,children:`The current draft did not build, so there is nothing to preview.`})})}):(0,Z.jsx)(`div`,{className:`samva-editor-scroll flex-1 overflow-auto p-6`,children:(0,Z.jsx)(`pre`,{className:`border-border bg-background text-foreground mx-auto min-h-full max-w-[1100px] rounded-lg border p-5 font-mono text-[12px] leading-5 whitespace-pre-wrap`,children:y})})]})})})}function $L({saveVersionStatus:e,saveVersionState:t,onSaveVersion:n,saveVersionBusy:r,saveVersionBlocked:i,guestHeadline:a}){let o=IF(),{doc:s,checks:c,sizeKb:l,deviceWidth:u,layoutMode:d}=$(lk(e=>({doc:e.doc,checks:e.checks,sizeKb:e.sizeKb,deviceWidth:CP[e.previewDevice],layoutMode:e.layoutMode}))),{selectDocument:f}=$(e=>e.actions),p=$(e=>e.sourceEditable),m=$(e=>e.pendingAuthoredSource),h=$(lk(e=>({storageError:e.storageError,conflict:e.conflict}))),[g,_]=(0,W.useState)(!1),{errorCount:v,warnCount:y}=yP(c),b=d===`compact`||d===`narrow`,x=c.filter(e=>e.diagnostics?.some(e=>e.compatibility?.assessment===`unverified`)).length,S=`No known risks found`;x>0&&(S=`No known risks · ${x} need verification`),y>0&&(S=`${y} warning${y>1?`s`:``}`),v>0&&(S=`${v} check${v>1?`s`:``} failing`),c.length===0&&(S=`No checks yet`);let C=t===`error`||h.storageError!==null||h.conflict?`Couldn't save version`:m!==null||r===!0?`Saving…`:void 0;return(0,Z.jsxs)(`footer`,{className:`border-border bg-background text-muted-foreground z-30 flex min-h-8 items-center gap-4 border-t px-3.5 py-1 text-[11.5px]`,children:[(0,Z.jsxs)(wN,{open:g,onOpenChange:_,children:[(0,Z.jsxs)(DN,{"data-testid":`statusbar.checks-trigger`,"aria-label":d===`narrow`?S:void 0,onClick:()=>f(),className:yF(`inline-flex shrink-0 items-center gap-1.5 rounded-md px-1.5 py-0.5 transition-colors hover:bg-muted hover:text-foreground`,a===void 0&&(d===`narrow`?`w-6`:`w-[clamp(96px,18vw,240px)]`),g&&`bg-muted text-foreground`),children:[(0,Z.jsx)(`span`,{className:yF(`size-[7px] shrink-0 rounded-full`,v>0?`bg-status-error`:y>0?`bg-status-warning`:`bg-muted-foreground`)}),a===void 0&&d!==`narrow`?(0,Z.jsx)(`span`,{className:`truncate`,children:S}):null]}),(0,Z.jsx)(AN,{container:o,children:(0,Z.jsx)(NN,{side:`top`,align:`start`,sideOffset:8,collisionPadding:12,className:`z-[80] outline-none`,children:(0,Z.jsx)(IN,{"data-testid":`statusbar.checks-popup`,className:`samva-editor-shell border-border bg-surface-elevated max-h-[min(560px,70vh)] w-[360px] origin-[var(--transform-origin)] overflow-y-auto rounded-xl border p-3.5 shadow-[var(--shadow-xl)] transition-[transform,scale,opacity] data-[ending-style]:scale-95 data-[ending-style]:opacity-0 data-[starting-style]:scale-95 data-[starting-style]:opacity-0`,children:(0,Z.jsx)(KI,{checks:c,editable:p})})})})]}),a===void 0?!b&&(0,Z.jsx)(`span`,{className:`w-[52px] shrink-0`,children:s===null?`Loading…`:`Draft`}):(0,Z.jsx)(`span`,{"data-testid":`statusbar.guest`,className:`min-w-0 truncate`,children:C??a}),a===void 0?(0,Z.jsx)(`span`,{"aria-live":`polite`,"data-testid":`statusbar.save-version`,"data-save-version-state":t??`unavailable`,className:yF(`truncate`,d===`narrow`?`min-w-0 flex-1`:`w-[150px] shrink-0`),children:e??`Autosaved just now`}):(0,Z.jsx)(`span`,{className:`sr-only`,"aria-live":`polite`,"data-testid":`statusbar.save-version`,"data-save-version-state":t??`unavailable`,children:C??e??a}),n!==void 0&&(0,Z.jsx)(`button`,{type:`button`,onClick:n,disabled:r===!0||i===!0,"data-testid":`topbar.save-version`,"aria-label":`Save the current draft as a version`,title:`Save this draft as a version (⌘/Ctrl+S)`,className:`hover:bg-muted hover:text-foreground w-[82px] shrink-0 rounded-md px-1.5 py-0.5 text-left transition-colors`,children:r===!0?`Saving…`:e===`Couldn’t save version`?`Retry`:`Save version`}),(0,Z.jsx)(`span`,{className:`flex-1`}),!b&&(0,Z.jsxs)(`span`,{className:`w-10 shrink-0 text-right`,children:[l,` KB`]}),d!==`narrow`&&(0,Z.jsx)(`span`,{className:`w-[42px] shrink-0 text-right`,children:s?.channel===`email`?`${u}px`:s?.channel.toUpperCase()??``})]})}var eR=`theme.css`,tR=`starter.css`,nR=`samva:brand`,rR=`@import "./${tR}";`,iR=`@import "${nR}";`,aR=/@import(?![\w-])/iy,oR=(e,t)=>{let n=e[t],r=t+1;for(;r<e.length;){let t=e[r];if(t===`\\`)r+=2;else if(t===n||t===`
34
- `)return r+1;else r+=1}return e.length},sR=(e,t)=>{let n=e.indexOf(`*/`,t+2);return n===-1?e.length:n+2},cR=e=>{let t=``,n=0;for(;n<e.length;)if(e.startsWith(`/*`,n))n=sR(e,n),t+=` `;else if(e[n]===`"`||e[n]===`'`){let r=oR(e,n);t+=e.slice(n,r),n=r}else t+=e[n],n+=1;return t},lR=e=>{let t=e[0];if(!(t!==`"`&&t!==`'`||e.length<2||e.at(-1)!==t))return e.slice(1,-1)},uR=e=>{let t=cR(e).trim(),n=/^url\(\s*(.*?)\s*\)$/is.exec(t);if(n!==null){let e=n[1]??``;return lR(e)??(/^[^\s"'()]+$/.test(e)?e:void 0)}return lR(t)},dR=e=>{let t=[],n=0,r=0;for(;r<e.length;){let i=e[r];if(i===`/`&&e[r+1]===`*`){r=sR(e,r);continue}if(i===`"`||i===`'`){r=oR(e,r);continue}if(i===`{`)n+=1;else if(i===`}`)n=Math.max(0,n-1);else if(i===`@`&&n===0&&(aR.lastIndex=r,aR.test(e))){let n=aR.lastIndex,i=n;for(;i<e.length&&e[i]!==`;`;)e.startsWith(`/*`,i)?i=sR(e,i):e[i]===`"`||e[i]===`'`?i=oR(e,i):i+=1;let a=Math.min(i+1,e.length);t.push({target:uR(e.slice(n,i)),end:a}),r=a;continue}r+=1}return t},fR=e=>{if(e===nR)return{slug:null};let t=`${nR}/`;if(e===void 0||!e.startsWith(t))return;let n=e.slice(t.length);return n.length===0?void 0:{slug:n}},pR=e=>{let t=e?.replace(/[?#].*$/,``);return t===`./starter.css`||t===`/starter.css`},mR=e=>{for(let{target:t}of dR(e)){let e=fR(t);if(e!==void 0)return e}return null},hR=e=>{let t=e.theme??``;if(mR(t)!==null)return t;let n=dR(t).find(({target:e})=>pR(e));if(n!==void 0)return`${t.slice(0,n.end)}\n${iR}${t.slice(n.end)}`;let r=[...e.starter?[rR]:[],iR].join(`
27
+ `),cooked:i===null?null:i.slice(1,c)},o.tail=s,this.next();let u=this.finishNode(o,`TemplateElement`);return this.resetEndLocation(u,Wu(this.state.lastTokEndLoc,c)),u}parseTemplate(e){let t=this.startNode(),n=this.parseTemplateElement(e),r=[n],i=[];for(;!n.tail;)i.push(this.parseTemplateSubstitution()),this.readTemplateContinuation(),r.push(n=this.parseTemplateElement(e));return t.expressions=i,t.quasis=r,this.finishNode(t,`TemplateLiteral`)}parseTemplateSubstitution(){return this.parseExpression()}parseObjectLike(e,t,n){let r=!1,i=!0,a=this.startNode();for(a.properties=[],this.next();!this.match(e);){if(i)i=!1;else if(this.expect(8),this.match(e)){this.addTrailingCommaExtraToNode(a);break}let o;t?o=this.parseBindingProperty():(o=this.parsePropertyDefinition(n),r=this.checkProto(o,r,n)),a.properties.push(o)}this.next();let o=t?`ObjectPattern`:`ObjectExpression`;return this.finishNode(a,o)}addTrailingCommaExtraToNode(e){this.addExtra(e,`trailingComma`,this.state.lastTokStartLoc.index),this.addExtra(e,`trailingCommaLoc`,this.state.lastTokStartLoc,!1)}maybeAsyncOrAccessorProp(e){return!e.computed&&e.key.type===`Identifier`&&(this.isLiteralPropertyName()||this.match(0)||this.match(51))}parsePropertyDefinition(e){let t=[];if(this.match(22))for(this.hasPlugin(`decorators`)&&this.raise(G.UnsupportedPropertyDecorator,this.state.startLoc);this.match(22);)t.push(this.parseDecorator());let n=this.startNode(),r=!1,i=!1,a;if(this.match(17))return t.length&&this.unexpected(),this.parseSpread();t.length&&(n.decorators=t),n.method=!1,e&&(a=this.state.startLoc);let o=this.eat(51);this.parsePropertyNamePrefixOperator(n);let s=this.state.containsEsc;if(this.parsePropertyName(n,e),!o&&!s&&this.maybeAsyncOrAccessorProp(n)){let{key:e}=n,t=e.name;t===`async`&&!this.hasPrecedingLineBreak()&&(r=!0,this.resetPreviousNodeTrailingComments(e),o=this.eat(51),this.parsePropertyName(n)),(t===`get`||t===`set`)&&(i=!0,this.resetPreviousNodeTrailingComments(e),n.kind=t,this.match(51)&&(o=!0,this.raise(G.AccessorIsGenerator,this.state.curPosition(),{kind:t}),this.next()),this.parsePropertyName(n))}return this.parseObjPropValue(n,a,o,r,!1,i,e)}getGetterSetterExpectedParamCount(e){return e.kind===`get`?0:1}getObjectOrClassMethodParams(e){return e.params}checkGetterSetterParams(e){let t=this.getGetterSetterExpectedParamCount(e),n=this.getObjectOrClassMethodParams(e);n.length!==t&&this.raise(e.kind===`get`?G.BadGetterArity:G.BadSetterArity,e),e.kind===`set`&&n[n.length-1]?.type===`RestElement`&&this.raise(G.BadSetterRestParameter,e)}parseObjectMethod(e,t,n,r,i){if(i){let n=this.parseMethod(e,t,!1,!1,!1,`ObjectMethod`);return this.checkGetterSetterParams(n),n}if(n||t||this.match(6))return r&&this.unexpected(),e.kind=`method`,e.method=!0,this.parseMethod(e,t,n,!1,!1,`ObjectMethod`)}parseObjectProperty(e,t,n,r){if(e.shorthand=!1,this.eat(10))return e.value=n?this.parseMaybeDefault(this.state.startLoc):this.parseMaybeAssignAllowInOrVoidPattern(4,r),this.finishObjectProperty(e);if(!e.computed&&e.key.type===`Identifier`){if(this.checkReservedWord(e.key.name,e.key.start,!0,!1),n)e.value=this.parseMaybeDefault(t,this.cloneIdentifier(e.key));else if(this.match(25)){let n=this.state.startLoc;r==null?this.raise(G.InvalidCoverInitializedName,n):r.shorthandAssignLoc===null&&(r.shorthandAssignLoc=n),e.value=this.parseMaybeDefault(t,this.cloneIdentifier(e.key))}else e.value=this.cloneIdentifier(e.key);return e.shorthand=!0,this.finishObjectProperty(e)}}finishObjectProperty(e){return this.finishNode(e,`ObjectProperty`)}parseObjPropValue(e,t,n,r,i,a,o){let s=this.parseObjectMethod(e,n,r,i,a)||this.parseObjectProperty(e,t,i,o);return s||this.unexpected(),s}parsePropertyName(e,t){if(this.eat(0))e.computed=!0,e.key=this.parseMaybeAssignAllowIn(),this.expect(1);else{let{type:n,value:r}=this.state,i;if(kd(n))i=this.parseIdentifier(!0);else switch(n){case 131:i=this.parseNumericLiteral(r);break;case 130:i=this.parseStringLiteral(r);break;case 132:i=this.parseBigIntLiteral(r);break;case 134:{let e=this.state.startLoc;t==null?this.raise(G.UnexpectedPrivateField,e):t.privateKeyLoc===null&&(t.privateKeyLoc=e),i=this.parsePrivateName();break}default:throw this.unexpected()}e.key=i,n!==134&&(e.computed=!1)}}initFunction(e,t){e.id=null,e.generator=!1,e.async=t}parseMethod(e,t,n,r,i,a,o=!1){this.initFunction(e,n),e.generator=t,this.scope.enter(530|(o?576:0)|(i?32:0)),this.prodParam.enter(_p(n,e.generator)),this.parseFunctionParams(e,r);let s=this.parseFunctionBodyAndFinish(e,a,!0);return this.prodParam.exit(),this.scope.exit(),s}parseArrayLike(e,t){let n=this.startNode();return this.next(),n.elements=this.parseExprList(e,!0,t,n),this.finishNode(n,`ArrayExpression`)}parseArrowExpression(e,t,n,r){this.scope.enter(518);let i=_p(n,!1);return this.match(2)||(i|=this.prodParam.currentFlags()&24),this.prodParam.enter(i),this.initFunction(e,n),t&&this.setArrowFunctionParameters(e,t,r),this.parseFunctionBody(e,!0),this.prodParam.exit(),this.scope.exit(),this.finishNode(e,`ArrowFunctionExpression`)}setArrowFunctionParameters(e,t,n){this.toAssignableList(t,n,!1),e.params=t}parseFunctionBodyAndFinish(e,t,n=!1){return this.parseFunctionBody(e,!1,n),this.finishNode(e,t)}parseFunctionBody(e,t,n=!1){let r=t&&!this.match(2);if(this.expressionScope.enter(hp()),r)e.body=this.parseMaybeAssign(),this.checkParams(e,!1,t,!1);else{let r=this.state.strict,i=this.state.labels;this.state.labels=[],this.prodParam.enter(this.prodParam.currentFlags()|4),e.body=this.parseBlock(!0,!1,i=>{let a=!this.isSimpleParamList(e.params);i&&a&&this.raise(G.IllegalLanguageModeDirective,(e.kind===`method`||e.kind===`constructor`)&&e.key?this.optionFlags&256?e.key.loc.end:e.key:e);let o=!r&&this.state.strict;this.checkParams(e,!this.state.strict&&!t&&!n&&!a,t,o),this.state.strict&&e.id&&this.checkIdentifier(e.id,65,o)}),this.prodParam.exit(),this.state.labels=i}this.expressionScope.exit()}isSimpleParameter(e){return e.type===`Identifier`}isSimpleParamList(e){for(let t=0,n=e.length;t<n;t++)if(!this.isSimpleParameter(e[t]))return!1;return!0}checkParams(e,t,n,r=!0){let i=!t&&new Set,a={type:`FormalParameters`};for(let t of e.params)this.checkLVal(t,a,5,i,r)}parseExprList(e,t,n,r){let i=[],a=!0;for(;!this.eat(e);){if(a)a=!1;else if(this.expect(8),this.match(e)){r&&this.addTrailingCommaExtraToNode(r),this.next();break}i.push(this.parseExprListItem(e,t,n))}return i}parseExprListItem(e,t,n,r){let i;if(this.match(8))t||this.raise(G.UnexpectedToken,this.state.curPosition(),{unexpected:`,`}),i=null;else if(this.match(17)){let e=this.state.startLoc;i=this.parseParenItem(this.parseSpread(n),e)}else if(this.match(13)){this.expectPlugin(`partialApplication`),r||this.raise(G.UnexpectedArgumentPlaceholder,this.state.startLoc);let e=this.startNode();this.next(),i=this.finishNode(e,`ArgumentPlaceholder`)}else i=this.parseMaybeAssignAllowInOrVoidPattern(e,n,!0);return i}parseIdentifier(e){let t=this.startNode(),n=this.parseIdentifierName(e);return this.createIdentifier(t,n)}createIdentifier(e,t){return e.name=t,this.optionFlags&256&&(e.loc.identifierName=t),this.finishNode(e,`Identifier`)}createIdentifierAt(e,t,n){return e.name=t,this.optionFlags&256&&(e.loc.identifierName=t),this.finishNodeAt(e,`Identifier`,n)}parseIdentifierName(e){let t,{start:n,type:r}=this.state;kd(r)?t=this.state.value:this.unexpected();let i=Od(r);return e?i&&this.replaceToken(128):this.checkReservedWord(t,this.sourceToOffsetPos(n),i,!1),this.next(),t}checkReservedWord(e,t,n,r){if(!(e.length>10)&&mf(e)){if(n&&df(e)){this.raise(G.UnexpectedKeyword,t,{keyword:e});return}if((this.state.strict?r?uf:cf:sf)(e,this.inModule)){this.raise(G.UnexpectedReservedWord,t,{reservedWord:e});return}if(e===`yield`){if(this.prodParam.hasYield){this.raise(G.YieldBindingIdentifier,t);return}}else if(e===`await`){if(this.prodParam.hasAwait){this.raise(G.AwaitBindingIdentifier,t);return}if(this.scope.inStaticBlock){this.raise(G.AwaitBindingIdentifierInStaticBlock,t);return}this.expressionScope.recordAsyncArrowParametersError(t)}else if(e===`arguments`&&this.scope.inClassAndNotInNonArrowFunction){this.raise(G.ArgumentsInClass,t);return}}}recordAwaitIfAllowed(){let e=this.prodParam.hasAwait;return e&&!this.scope.inFunction&&(this.state.hasTopLevelAwait=!0),e}parseAwait(e,t){let n=e.index;this.setLoc(e);let r=this.startNodeAt(e);return this.expressionScope.recordParameterInitializerError(G.AwaitExpressionFormalParameter,n),this.eat(51)&&this.raise(G.ObsoleteAwaitStar,e),!this.scope.inFunction&&!(this.optionFlags&1)&&(this.isAmbiguousPrefixOrIdentifier()?this.ambiguousScriptDifferentAst=!0:this.sawUnambiguousESM=!0),t||(r.argument=this.parseMaybeUnary(null,!0)),this.finishNode(r,`AwaitExpression`)}isAmbiguousPrefixOrIdentifier(){if(this.hasPrecedingLineBreak())return!0;let{type:e}=this.state;return e===49||e===6||e===0||Gd(e)||e===98&&!this.state.containsEsc||e===133||e===52||this.hasPlugin(`v8intrinsic`)&&e===50}parseYield(e){this.setLoc(e);let t=this.startNodeAt(e);this.expressionScope.recordParameterInitializerError(G.YieldInParameter,e.index);let n=!1,r=null;if(!this.hasPrecedingLineBreak())switch(n=this.eat(51),this.state.type){case 9:case 135:case 4:case 7:case 1:case 5:case 10:case 8:if(!n)break;default:r=this.parseMaybeAssign()}return t.delegate=n,t.argument=r,this.finishNode(t,`YieldExpression`)}parseImportCall(e){this.next();let t=this.parseCallExpressionArguments();if(t.length===0||t.length>2)this.raise(G.ImportCallArity,e,e);else for(let n of t)n.type===`SpreadElement`&&this.raise(G.ImportCallSpreadArgument,n,e);return e.source=t[0],e.options=t[1]??null,this.finishNode(e,`ImportExpression`)}withTopicBindingContext(e){let t=this.state.inHackPipelineBody;this.state.inHackPipelineBody=!0;let n=this.state.seenTopicReference;this.state.seenTopicReference=!1;try{return e()}finally{this.state.inHackPipelineBody=t,this.state.seenTopicReference=n}}allowInAnd(e){let t=this.prodParam.currentFlags();if(24&~t){this.prodParam.enter(t|24);try{return e()}finally{this.prodParam.exit()}}return e()}disallowInAnd(e){let t=this.prodParam.currentFlags(),n=8&t,r=16&~t;if(n||r){this.prodParam.enter(t&-9|16);try{return e()}finally{this.prodParam.exit()}}return e()}registerTopicReference(){this.state.seenTopicReference=!0}topicReferenceIsAllowedInCurrentContext(){return this.state.inHackPipelineBody}topicReferenceWasUsedInCurrentContext(){return this.state.seenTopicReference}parseFSharpPipelineBody(e){let t=this.state.startLoc;this.prodParam.enter(this.prodParam.currentFlags()&-17);let n;if(this.isContextual(92)&&this.recordAwaitIfAllowed()){this.next(),n=this.parseAwait(t,!0);let e=this.state.type;Ld(e)&&e!==35&&(this.prodParam.hasIn||e!==54)&&this.raise(G.PipelineUnparenthesized,t)}else this.state.canStartArrow=!0,n=this.parseExprOp(this.parseMaybeUnaryOrPrivate(),t,e);return this.prodParam.exit(),n}parseModuleExpression(){this.expectPlugin(`moduleBlocks`);let e=this.startNode();this.next(),this.match(2)||this.unexpected(null,2);let t=this.startNodeAt(this.state.endLoc);this.next();let n=this.initializeScopes(!0);this.enterInitialScopes();try{e.body=this.parseProgram(t,4,`module`)}finally{n()}return this.finishNode(e,`ModuleExpression`)}parseVoidPattern(e){this.expectPlugin(`discardBinding`);let t=this.startNode();return e!=null&&(e.voidPatternLoc=this.state.startLoc),this.next(),this.finishNode(t,`VoidPattern`)}parseMaybeAssignAllowInOrVoidPattern(e,t,n){if(t!=null&&this.match(84)){let n=this.lookaheadCharCode();if(n===44||n===(e===1?93:e===4?125:41)||n===61)return this.parseMaybeDefault(this.state.startLoc,this.parseVoidPattern(t))}return this.parseMaybeAssignAllowIn(t,n)}parsePropertyNamePrefixOperator(e){}},Ep={kind:1},Dp={kind:2},Op=/[\uD800-\uDFFF]/u,kp=/in(?:stanceof)?/y;function Ap(e){for(let t=0;t<e.length;t++){let n=e[t],{type:r}=n;typeof r==`number`&&(n.type=Kd(r))}return e}var jp=class extends Tp{parseTopLevel(e,t){return e.program=this.parseProgram(t,135,this.options.sourceType===`module`?`module`:`script`),e.comments=this.comments,this.optionFlags&512&&(e.tokens=Ap(this.tokens)),this.finishNode(e,`File`)}parseProgram(e,t,n){if(e.sourceType=n,e.interpreter=this.parseInterpreterDirective(),this.parseBlockBody(e,!0,!0,t),this.inModule){if(!(this.optionFlags&64)&&this.scope.undefinedExports.size>0)for(let[e,t]of Array.from(this.scope.undefinedExports))this.raise(G.ModuleExportUndefined,t,{localName:e});this.addExtra(e,`topLevelAwait`,this.state.hasTopLevelAwait)}let r;return r=t===135?this.finishNode(e,`Program`):this.finishNodeAt(e,`Program`,Wu(this.state.startLoc,-1)),r}stmtToDirective(e){let t=this.castNodeTo(e,`Directive`),n=this.castNodeTo(e.expression,`DirectiveLiteral`),r=n.value,i=this.input.slice(this.offsetToSourcePos(n.start),this.offsetToSourcePos(n.end)),a=n.value=i.slice(1,-1);return this.addExtra(n,`raw`,i),this.addExtra(n,`rawValue`,a),this.addExtra(n,`expressionValue`,r),t.value=n,delete e.expression,t}parseInterpreterDirective(){if(!this.match(24))return null;let e=this.startNode();return e.value=this.state.value,this.next(),this.finishNode(e,`InterpreterDirective`)}isLet(){return this.isContextual(96)?this.hasFollowingBindingAtom():!1}isUsing(){return this.isContextual(103)?this.nextTokenIsIdentifierOnSameLine():!1}isForUsing(){if(!this.isContextual(103))return!1;let e=this.nextTokenInLineStart(),t=this.codePointAtPos(e);if(this.isUnparsedContextual(e,`of`)){let t=this.lookaheadCharCodeSince(e+2);if(t!==61&&t!==58&&t!==59)return!1}return!!(this.chStartsBindingIdentifier(t,e)||this.isUnparsedContextual(e,`void`))}nextTokenIsIdentifierOnSameLine(){let e=this.nextTokenInLineStart(),t=this.codePointAtPos(e);return this.chStartsBindingIdentifier(t,e)}isAwaitUsing(){if(!this.isContextual(92))return!1;let e=this.nextTokenInLineStart();if(this.isUnparsedContextual(e,`using`)){e=this.nextTokenInLineStartSince(e+5);let t=this.codePointAtPos(e);if(this.chStartsBindingIdentifier(t,e))return!0}return!1}chStartsBindingIdentifier(e,t){if(ef(e)){if(kp.lastIndex=t,kp.test(this.input)){let e=this.codePointAtPos(kp.lastIndex);if(!tf(e)&&e!==92)return!1}return!0}return e===92}chStartsBindingPattern(e){return e===91||e===123}hasFollowingBindingAtom(){let e=this.nextTokenStart(),t=this.codePointAtPos(e);return this.chStartsBindingPattern(t)||this.chStartsBindingIdentifier(t,e)}hasInLineFollowingBindingIdentifierOrBrace(){let e=this.nextTokenInLineStart(),t=this.codePointAtPos(e);return t===123||this.chStartsBindingIdentifier(t,e)}allowsUsing(){return(this.scope.inModule||!this.scope.inTopLevel)&&!this.scope.inBareCaseStatement}parseModuleItem(){return this.parseStatementLike(15)}parseStatementListItem(){return this.parseStatementLike(6|(!this.options.annexB||this.state.strict?0:8))}parseStatementOrSloppyAnnexBFunctionDeclaration(e=!1){let t=0;return this.options.annexB&&!this.state.strict&&(t|=4,e&&(t|=8)),this.parseStatementLike(t)}parseStatement(){return this.parseStatementLike(0)}parseStatementLike(e){let t=null;return this.match(22)&&(t=this.parseDecorators(!0)),this.parseStatementContent(e,t)}parseStatementContent(e,t){let n=this.state.type,r=this.startNode(),i=!!(e&2),a=!!(e&4),o=e&1;switch(n){case 56:return this.parseBreakContinueStatement(r,!0);case 59:return this.parseBreakContinueStatement(r,!1);case 60:return this.parseDebuggerStatement(r);case 86:return this.parseDoWhileStatement(r);case 87:return this.parseForStatement(r);case 64:if(this.lookaheadCharCode()===46)break;return a||this.raise(this.state.strict?G.StrictFunction:this.options.annexB?G.SloppyFunctionAnnexB:G.SloppyFunction,this.state.startLoc),this.parseFunctionStatement(r,!1,!i&&a);case 76:return i||this.unexpected(),this.parseClass(this.maybeTakeDecorators(t,r),!0);case 65:return this.parseIfStatement(r);case 66:return this.parseReturnStatement(r);case 67:return this.parseSwitchStatement(r);case 68:return this.parseThrowStatement(r);case 69:return this.parseTryStatement(r);case 92:if(this.isAwaitUsing())return this.allowsUsing()?i?this.recordAwaitIfAllowed()||this.raise(G.AwaitUsingNotInAsyncContext,r):this.raise(G.UnexpectedLexicalDeclaration,r):this.raise(G.UnexpectedUsingDeclaration,r),this.next(),this.parseVarStatement(r,`await using`);break;case 103:if(this.state.containsEsc||!this.hasInLineFollowingBindingIdentifierOrBrace())break;return this.allowsUsing()?i||this.raise(G.UnexpectedLexicalDeclaration,this.state.startLoc):this.raise(G.UnexpectedUsingDeclaration,this.state.startLoc),this.parseVarStatement(r,`using`);case 96:{if(this.state.containsEsc)break;let e=this.nextTokenStart(),t=this.codePointAtPos(e);if(t!==91&&(!i&&this.hasFollowingLineBreak()||!this.chStartsBindingIdentifier(t,e)&&t!==123))break}case 71:i||this.raise(G.UnexpectedLexicalDeclaration,this.state.startLoc);case 70:{let e=this.state.value;return this.parseVarStatement(r,e)}case 88:return this.parseWhileStatement(r);case 72:return this.parseWithStatement(r);case 2:return this.parseBlock();case 9:return this.parseEmptyStatement(r);case 79:{let e=this.lookaheadCharCode();if(e===40||e===46)break}case 78:{!(this.optionFlags&8)&&!o&&this.raise(G.UnexpectedImportExport,this.state.startLoc),this.next();let e;return e=n===79?this.parseImport(r):this.parseExport(r,t),this.assertModuleNodeAllowed(e),e}default:if(this.isAsyncFunction())return i||this.raise(G.AsyncFunctionInSingleStatementContext,this.state.startLoc),this.next(),this.parseFunctionStatement(r,!0,!i&&a)}let s=this.state.value,c=this.parseExpression();return Dd(n)&&c.type===`Identifier`&&this.eat(10)?this.parseLabeledStatement(r,s,c,e):this.parseExpressionStatement(r,c)}assertModuleNodeAllowed(e){!(this.optionFlags&8)&&!this.inModule&&this.raise(G.ImportOutsideModule,e)}maybeTakeDecorators(e,t,n){return e&&(t.decorators?.length?(this.raise(G.DecoratorsBeforeAfterExport,t.decorators[0]),t.decorators.unshift(...e)):t.decorators=e,this.resetStartLocationFromNode(t,e[0]),n&&this.resetStartLocationFromNode(n,t)),t}canHaveLeadingDecorator(){return this.match(76)}parseDecorators(e){let t=[];do t.push(this.parseDecorator());while(this.match(22));if(this.match(78))e||this.unexpected();else if(!this.canHaveLeadingDecorator())throw this.raise(G.UnexpectedLeadingDecorator,this.state.startLoc);return t}parseDecorator(){this.expectOnePlugin([`decorators`,`decorators-legacy`]);let e=this.startNode();if(this.next(),this.hasPlugin(`decorators`)){let t=this.state.startLoc,n;if(this.match(6)){let t=this.state.startLoc;this.next(),n=this.parseExpression(),this.expect(7),n=this.wrapParenthesis(t,n);let r=this.state.startLoc;e.expression=this.parseMaybeDecoratorArguments(n,t),e.expression!==n&&this.raise(G.DecoratorArgumentsOutsideParentheses,r)}else{for(n=this.parseIdentifier(!1);this.eat(12);){let e=this.startNodeAt(t);e.object=n,this.match(134)?(this.classScope.usePrivateName(this.state.value,this.state.startLoc),e.property=this.parsePrivateName()):e.property=this.parseIdentifier(!0),e.computed=!1,n=this.finishNode(e,`MemberExpression`)}e.expression=this.parseMaybeDecoratorArguments(n,t)}}else this.state.canStartArrow=!1,e.expression=this.parseExprSubscripts();return this.finishNode(e,`Decorator`)}parseMaybeDecoratorArguments(e,t){if(this.eat(6)){let n=this.startNodeAt(t);return n.callee=e,n.arguments=this.parseCallExpressionArguments(),this.toReferencedList(n.arguments),this.finishNode(n,`CallExpression`)}return e}parseBreakContinueStatement(e,t){return this.next(),this.isLineTerminator()?e.label=null:(e.label=this.parseIdentifier(),this.semicolon()),this.verifyBreakContinue(e,t),this.finishNode(e,t?`BreakStatement`:`ContinueStatement`)}verifyBreakContinue(e,t){let n=0;for(;n<this.state.labels.length;++n){let r=this.state.labels[n];if((e.label==null||r.name===e.label.name)&&(r.kind!=null&&(t||r.kind===1)||e.label&&t))break}if(n===this.state.labels.length){let n=t?`BreakStatement`:`ContinueStatement`;this.raise(G.IllegalBreakContinue,e,{type:n})}}parseDebuggerStatement(e){return this.next(),this.semicolon(),this.finishNode(e,`DebuggerStatement`)}parseHeaderExpression(){this.expect(6);let e=this.parseExpression();return this.expect(7),e}parseDoWhileStatement(e){return this.next(),this.state.labels.push(Ep),e.body=this.parseStatement(),this.state.labels.pop(),this.expect(88),e.test=this.parseHeaderExpression(),this.eat(9),this.finishNode(e,`DoWhileStatement`)}parseForStatement(e){this.next(),this.state.labels.push(Ep);let t=null;if(this.isContextual(92)&&this.recordAwaitIfAllowed()&&(t=this.state.startLoc,this.next()),this.scope.enter(0),this.expect(6),this.match(9))return t!==null&&this.unexpected(t),this.parseFor(e,null);let n=this.isContextual(96);{let r=this.isAwaitUsing(),i=r||this.isForUsing(),a=n&&this.hasFollowingBindingAtom()||i;if(this.match(70)||this.match(71)||a){let n=this.startNode(),a;r?(a=`await using`,this.recordAwaitIfAllowed()||this.raise(G.AwaitUsingNotInAsyncContext,this.state.startLoc),this.next()):a=this.state.value,this.next(),this.parseVar(n,!0,a);let o=this.finishNode(n,`VariableDeclaration`),s=this.match(54);return s&&i&&this.raise(G.ForInUsing,o),(s||this.isContextual(98))&&o.declarations.length===1?this.parseForX(e,o,t):(t!==null&&this.unexpected(t),this.parseFor(e,o))}}let r=this.isContextual(91),i=new yp,a=this.parseExpression(!0,i),o=this.isContextual(98);if(o&&(n&&this.raise(G.ForOfLet,a),t===null&&r&&a.type===`Identifier`&&this.raise(G.ForOfAsync,a)),o||this.match(54)){this.checkDestructuringPrivate(i),this.toAssignable(a,!0);let n=o?`ForOfStatement`:`ForInStatement`;return this.checkLVal(a,{type:n}),this.parseForX(e,a,t)}return this.checkExpressionErrors(i,!0),t!==null&&this.unexpected(t),this.parseFor(e,a)}parseFunctionStatement(e,t,n){return this.next(),this.parseFunction(e,1|(n?2:0)|(t?8:0))}parseIfStatement(e){return this.next(),e.test=this.parseHeaderExpression(),e.consequent=this.parseStatementOrSloppyAnnexBFunctionDeclaration(),e.alternate=this.eat(62)?this.parseStatementOrSloppyAnnexBFunctionDeclaration():null,this.finishNode(e,`IfStatement`)}parseReturnStatement(e){return this.prodParam.hasReturn||this.raise(G.IllegalReturn,this.state.startLoc),this.next(),this.isLineTerminator()?e.argument=null:(e.argument=this.parseExpression(),this.semicolon()),this.finishNode(e,`ReturnStatement`)}parseSwitchStatement(e){this.next(),e.discriminant=this.parseHeaderExpression();let t=e.cases=[];this.expect(2),this.state.labels.push(Dp),this.scope.enter(256);let n;for(let e;!this.match(4);)if(this.match(57)||this.match(61)){let r=this.match(57);n&&this.finishNode(n,`SwitchCase`),t.push(n=this.startNode()),n.consequent=[],this.next(),r?n.test=this.parseExpression():(e&&this.raise(G.MultipleDefaultsInSwitch,this.state.lastTokStartLoc),e=!0,n.test=null),this.expect(10)}else n?n.consequent.push(this.parseStatementListItem()):this.unexpected();return this.scope.exit(),n&&this.finishNode(n,`SwitchCase`),this.next(),this.state.labels.pop(),this.finishNode(e,`SwitchStatement`)}parseThrowStatement(e){return this.next(),this.hasPrecedingLineBreak()&&this.raise(G.NewlineAfterThrow,this.state.lastTokEndLoc),e.argument=this.parseExpression(),this.semicolon(),this.finishNode(e,`ThrowStatement`)}parseCatchClauseParam(){let e=this.parseBindingAtom();return this.scope.enter(this.options.annexB&&e.type===`Identifier`?8:0),this.checkLVal(e,{type:`CatchClause`},9),e}parseTryStatement(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.match(58)){let t=this.startNode();this.next(),this.match(6)?(this.expect(6),t.param=this.parseCatchClauseParam(),this.expect(7)):(t.param=null,this.scope.enter(0)),t.body=this.parseBlock(!1,!1),this.scope.exit(),e.handler=this.finishNode(t,`CatchClause`)}return e.finalizer=this.eat(63)?this.parseBlock():null,!e.handler&&!e.finalizer&&this.raise(G.NoCatchOrFinally,e),this.finishNode(e,`TryStatement`)}parseVarStatement(e,t,n=!1){return this.next(),this.parseVar(e,!1,t,n),this.semicolon(),this.finishNode(e,`VariableDeclaration`)}parseWhileStatement(e){return this.next(),e.test=this.parseHeaderExpression(),this.state.labels.push(Ep),e.body=this.parseStatement(),this.state.labels.pop(),this.finishNode(e,`WhileStatement`)}parseWithStatement(e){return this.state.strict&&this.raise(G.StrictWith,this.state.startLoc),this.next(),e.object=this.parseHeaderExpression(),e.body=this.parseStatement(),this.finishNode(e,`WithStatement`)}parseEmptyStatement(e){return this.next(),this.finishNode(e,`EmptyStatement`)}parseLabeledStatement(e,t,n,r){for(let e of this.state.labels)e.name===t&&this.raise(G.LabelRedeclaration,n,{labelName:t});let i=Fd(this.state.type)?1:this.match(67)?2:null;for(let t=this.state.labels.length-1;t>=0;t--){let n=this.state.labels[t];if(n.statementStart===e.start)n.statementStart=this.sourceToOffsetPos(this.state.start),n.kind=i;else break}return this.state.labels.push({name:t,kind:i,statementStart:this.sourceToOffsetPos(this.state.start)}),e.body=r&8?this.parseStatementOrSloppyAnnexBFunctionDeclaration(!0):this.parseStatement(),this.state.labels.pop(),e.label=n,this.finishNode(e,`LabeledStatement`)}parseExpressionStatement(e,t){return e.expression=t,this.semicolon(),this.finishNode(e,`ExpressionStatement`)}parseBlock(e=!1,t=!0,n){let r=this.startNode();return e&&this.state.strictErrors.clear(),this.expect(2),t&&this.scope.enter(0),this.parseBlockBody(r,e,!1,4,n),t&&this.scope.exit(),this.finishNode(r,`BlockStatement`)}isValidDirective(e){return e.type===`ExpressionStatement`&&e.expression.type===`StringLiteral`&&!e.expression.extra.parenthesized}parseBlockBody(e,t,n,r,i){let a=e.body=[],o=e.directives=[];this.parseBlockOrModuleBlockBody(a,t?o:void 0,n,r,i)}parseBlockOrModuleBlockBody(e,t,n,r,i){let a=this.state.strict,o=!1,s=!1;for(;!this.match(r);){let r=n?this.parseModuleItem():this.parseStatementListItem();if(t&&!s){if(this.isValidDirective(r)){let e=this.stmtToDirective(r);t.push(e),!o&&e.value.value===`use strict`&&(o=!0,this.setStrict(!0));continue}s=!0,this.state.strictErrors.clear()}e.push(r)}i?.call(this,o),a||this.setStrict(!1),this.next()}parseFor(e,t){return e.init=t,this.semicolon(!1),e.test=this.match(9)?null:this.parseExpression(),this.semicolon(!1),e.update=this.match(7)?null:this.parseExpression(),this.expect(7),e.body=this.parseStatement(),this.scope.exit(),this.state.labels.pop(),this.finishNode(e,`ForStatement`)}parseForX(e,t,n){let r=this.match(54);return this.next(),r?n!==null&&this.unexpected(n):e.await=n!==null,t.type===`VariableDeclaration`&&t.declarations[0].init!=null&&(!r||!this.options.annexB||this.state.strict||t.kind!==`var`||t.declarations[0].id.type!==`Identifier`)&&this.raise(G.ForInOfLoopInitializer,t,{type:r?`ForInStatement`:`ForOfStatement`}),t.type===`AssignmentPattern`&&this.raise(G.InvalidLhs,t,{ancestor:{type:`ForStatement`}}),e.left=t,e.right=r?this.parseExpression():this.parseMaybeAssignAllowIn(),this.expect(7),e.body=this.parseStatement(),this.scope.exit(),this.state.labels.pop(),this.finishNode(e,r?`ForInStatement`:`ForOfStatement`)}parseVar(e,t,n,r=!1){let i=e.declarations=[];for(e.kind=n;;){let e=this.startNode();if(this.parseVarId(e,n),e.init=this.eat(25)?t?this.parseMaybeAssignDisallowIn():this.parseMaybeAssignAllowIn():null,e.init===null&&!r&&(e.id.type!==`Identifier`&&!(t&&(this.match(54)||this.isContextual(98)))?this.raise(G.DeclarationMissingInitializer,this.state.lastTokEndLoc,{kind:`destructuring`}):(n===`const`||n===`using`||n===`await using`)&&!(this.match(54)||this.isContextual(98))&&this.raise(G.DeclarationMissingInitializer,this.state.lastTokEndLoc,{kind:n})),i.push(this.finishNode(e,`VariableDeclarator`)),!this.eat(8))break}return e}parseVarId(e,t){let n=this.parseBindingAtom();t===`using`||t===`await using`?(n.type===`ArrayPattern`||n.type===`ObjectPattern`)&&this.raise(G.UsingDeclarationHasBindingPattern,n):n.type===`VoidPattern`&&this.raise(G.UnexpectedVoidPattern,n),this.checkLVal(n,{type:`VariableDeclarator`},t===`var`?5:8201),e.id=n}parseAsyncFunctionExpression(e){return this.parseFunction(e,8)}parseFunction(e,t=0){let n=t&2,r=!!(t&1),i=r&&!(t&4),a=!!(t&8);return this.initFunction(e,a),this.match(51)&&(n&&this.raise(G.GeneratorInSingleStatementContext,this.state.startLoc),this.next(),e.generator=!0),r&&(e.id=this.parseFunctionId(i)),this.scope.enter(514),this.prodParam.enter(_p(a,e.generator)),r||(e.id=this.parseFunctionId()),this.parseFunctionParams(e,!1),this.parseFunctionBodyAndFinish(e,r?`FunctionDeclaration`:`FunctionExpression`),this.prodParam.exit(),this.scope.exit(),r&&!n&&this.registerFunctionStatementId(e),e}parseFunctionId(e){return e||Dd(this.state.type)?this.parseIdentifier():null}parseFunctionParams(e,t){this.expect(6),this.expressionScope.enter(fp()),e.params=this.parseBindingList(7,41,2|(t?4:0)),this.expressionScope.exit()}registerFunctionStatementId(e){e.id&&this.scope.declareName(e.id.name,!this.options.annexB||this.state.strict||e.generator||e.async?this.scope.treatFunctionsAsVar?5:8201:17,e.id.start)}parseClass(e,t,n){this.next();let r=this.state.strict;return this.state.strict=!0,this.parseClassId(e,t,n),this.parseClassSuper(e),e.body=this.parseClassBody(!!e.superClass,r),this.finishNode(e,t?`ClassDeclaration`:`ClassExpression`)}isClassProperty(){return this.match(25)||this.match(9)||this.match(4)}isClassMethod(){return this.match(6)}nameIsConstructor(e){return e.type===`Identifier`&&e.name===`constructor`||e.type===`StringLiteral`&&e.value===`constructor`}isNonstaticConstructor(e){return!e.computed&&!e.static&&this.nameIsConstructor(e.key)}parseClassBody(e,t){this.classScope.enter();let n={hadConstructor:!1,hadSuperClass:e},r=[],i=this.startNode();for(i.body=[],this.expect(2);!this.match(4);){if(this.eat(9)){if(r.length>0)throw this.raise(G.DecoratorSemicolon,this.state.lastTokEndLoc);continue}if(this.match(22)){r.push(this.parseDecorator());continue}let e=this.startNode();r.length&&(e.decorators=r,this.resetStartLocationFromNode(e,r[0]),r=[]),this.parseClassMember(i,e,n)}if(this.state.strict=t,this.next(),r.length)throw this.raise(G.TrailingDecorator,this.state.startLoc);return this.classScope.exit(),this.finishNode(i,`ClassBody`)}parseClassMemberFromModifier(e,t){let n=this.parseIdentifier(!0);if(this.isClassMethod()){let r=t;return r.kind=`method`,r.computed=!1,r.key=n,r.static=!1,this.pushClassMethod(e,r,!1,!1,!1,!1),!0}if(this.isClassProperty()){let r=t;return r.computed=!1,r.key=n,r.static=!1,e.body.push(this.parseClassProperty(r)),!0}return this.resetPreviousNodeTrailingComments(n),!1}parseClassMember(e,t,n){let r=this.isContextual(102);if(r){if(this.parseClassMemberFromModifier(e,t))return;if(this.eat(2)){this.parseClassStaticBlock(e,t);return}}this.parseClassMemberWithIsStatic(e,t,n,r)}parseClassMemberWithIsStatic(e,t,n,r){let i=t,a=t,o=t,s=t,c=t,l=i,u=i;if(t.static=r,this.parsePropertyNamePrefixOperator(t),this.eat(51)){l.kind=`method`;let t=this.match(134);if(this.parseClassElementName(l),this.parsePostMemberNameModifiers(l),t){this.pushClassPrivateMethod(e,a,!0,!1);return}this.isNonstaticConstructor(i)&&this.raise(G.ConstructorIsGenerator,i.key),this.pushClassMethod(e,i,!0,!1,!1,!1);return}let d=!this.state.containsEsc&&Dd(this.state.type),f=this.parseClassElementName(t),p=d?f.name:null,m=this.isPrivateName(f),h=this.state.startLoc;if(this.parsePostMemberNameModifiers(u),this.isClassMethod()){if(l.kind=`method`,m){this.pushClassPrivateMethod(e,a,!1,!1);return}let r=this.isNonstaticConstructor(i),o=!1;r&&(i.kind=`constructor`,i.decorators&&i.decorators.length>0&&this.raise(G.DecoratorConstructor,t),n.hadConstructor&&!this.hasPlugin(`typescript`)&&this.raise(G.DuplicateConstructor,f),r&&this.hasPlugin(`typescript`)&&t.override&&this.raise(G.OverrideOnConstructor,f),n.hadConstructor=!0,o=n.hadSuperClass),this.pushClassMethod(e,i,!1,!1,r,o)}else if(this.isClassProperty())m?this.pushClassPrivateProperty(e,s):this.pushClassProperty(e,o);else if(p===`async`&&!this.isLineTerminator()){this.resetPreviousNodeTrailingComments(f);let t=this.eat(51);u.optional&&this.unexpected(h),l.kind=`method`;let n=this.match(134);this.parseClassElementName(l),this.parsePostMemberNameModifiers(u),n?this.pushClassPrivateMethod(e,a,t,!0):(this.isNonstaticConstructor(i)&&this.raise(G.ConstructorIsAsync,i.key),this.pushClassMethod(e,i,t,!0,!1,!1))}else if((p===`get`||p===`set`)&&!(this.match(51)&&this.isLineTerminator())){this.resetPreviousNodeTrailingComments(f),l.kind=p;let t=this.match(134);this.parseClassElementName(i),t?this.pushClassPrivateMethod(e,a,!1,!1):(this.isNonstaticConstructor(i)&&this.raise(G.ConstructorIsAccessor,i.key),this.pushClassMethod(e,i,!1,!1,!1,!1)),this.checkGetterSetterParams(i)}else if(p===`accessor`&&!this.isLineTerminator()){this.expectPlugin(`decoratorAutoAccessors`),this.resetPreviousNodeTrailingComments(f);let t=this.match(134);this.parseClassElementName(o),this.pushClassAccessorProperty(e,c,t)}else this.isLineTerminator()?m?this.pushClassPrivateProperty(e,s):this.pushClassProperty(e,o):this.unexpected()}parseClassElementName(e){let{type:t,value:n}=this.state;if((t===128||t===130)&&e.static&&n===`prototype`&&this.raise(G.StaticPrototype,this.state.startLoc),t===134){n===`constructor`&&this.raise(G.ConstructorClassPrivateField,this.state.startLoc);let t=this.parsePrivateName();return e.key=t,t}return this.parsePropertyName(e),e.key}parseClassStaticBlock(e,t){this.scope.enter(720);let n=this.state.labels;this.state.labels=[],this.prodParam.enter(0);let r=t.body=[];this.parseBlockOrModuleBlockBody(r,void 0,!1,4),this.prodParam.exit(),this.scope.exit(),this.state.labels=n,e.body.push(this.finishNode(t,`StaticBlock`)),t.decorators?.length&&this.raise(G.DecoratorStaticBlock,t)}pushClassProperty(e,t){!t.computed&&this.nameIsConstructor(t.key)&&this.raise(G.ConstructorClassField,t.key),e.body.push(this.parseClassProperty(t))}pushClassPrivateProperty(e,t){let n=this.parseClassPrivateProperty(t);e.body.push(n),this.classScope.declarePrivateName(this.getPrivateNameSV(n.key),0,n.key.start)}pushClassAccessorProperty(e,t,n){!n&&!t.computed&&this.nameIsConstructor(t.key)&&this.raise(G.ConstructorClassField,t.key);let r=this.parseClassAccessorProperty(t);e.body.push(r),n&&this.classScope.declarePrivateName(this.getPrivateNameSV(r.key),0,r.key.start)}pushClassMethod(e,t,n,r,i,a){e.body.push(this.parseMethod(t,n,r,i,a,`ClassMethod`,!0))}pushClassPrivateMethod(e,t,n,r){let i=this.parseMethod(t,n,r,!1,!1,`ClassPrivateMethod`,!0);e.body.push(i);let a=i.kind===`get`?i.static?6:2:i.kind===`set`?i.static?5:1:0;this.declareClassPrivateMethodInScope(i,a)}declareClassPrivateMethodInScope(e,t){this.classScope.declarePrivateName(this.getPrivateNameSV(e.key),t,e.key.start)}parsePostMemberNameModifiers(e){}parseClassPrivateProperty(e){return this.parseInitializer(e),this.semicolon(),this.finishNode(e,`ClassPrivateProperty`)}parseClassProperty(e){return this.parseInitializer(e),this.semicolon(),this.finishNode(e,`ClassProperty`)}parseClassAccessorProperty(e){return this.parseInitializer(e),this.semicolon(),this.finishNode(e,`ClassAccessorProperty`)}parseInitializer(e){this.scope.enter(592),this.expressionScope.enter(hp()),this.prodParam.enter(0),e.value=this.eat(25)?this.parseMaybeAssignAllowIn():null,this.expressionScope.exit(),this.prodParam.exit(),this.scope.exit()}parseClassId(e,t,n,r=8331){if(Dd(this.state.type))e.id=this.parseIdentifier(),t&&this.declareNameFromIdentifier(e.id,r);else if(n||!t)e.id=null;else throw this.raise(G.MissingClassName,this.state.startLoc)}parseClassSuper(e){this.eat(77)?(this.state.canStartArrow=!1,e.superClass=this.parseExprSubscripts()):e.superClass=null}parseExport(e,t){let n=this.parseMaybeImportPhase(e,!0),r=this.maybeParseExportDefaultSpecifier(e,n),i=!r||this.eat(8),a=i&&this.eatExportStar(e),o=a&&this.maybeParseExportNamespaceSpecifier(e),s=i&&(!o||this.eat(8)),c=r||a;if(a&&!o){if(r&&this.unexpected(),t)throw this.raise(G.UnsupportedDecoratorExport,e);return this.parseExportFrom(e,!0),this.sawUnambiguousESM=!0,this.finishNode(e,`ExportAllDeclaration`)}let l=this.maybeParseExportNamedSpecifiers(e);r&&i&&!a&&!l&&this.unexpected(null,2),o&&s&&this.unexpected(null,94);let u;if(c||l){if(u=!1,t)throw this.raise(G.UnsupportedDecoratorExport,e);this.parseExportFrom(e,c)}else u=this.maybeParseExportDeclaration(e);if(c||l||u){let n=e;if(this.checkNamedExport(n,!!n.source),n.declaration?.type===`ClassDeclaration`)this.maybeTakeDecorators(t,n.declaration,n);else if(t)throw this.raise(G.UnsupportedDecoratorExport,e);return this.sawUnambiguousESM=!0,this.finishNode(n,`ExportNamedDeclaration`)}if(this.eat(61)){let n=e,r=this.parseExportDefaultExpression();if(n.declaration=r,r.type===`ClassDeclaration`)this.maybeTakeDecorators(t,r,n);else if(t)throw this.raise(G.UnsupportedDecoratorExport,e);return this.checkDuplicateExports(e,`default`),this.hasPlugin(`exportDefaultFrom`)&&r.type===`Identifier`&&r.name===`from`&&r.end-r.start===4&&!r.extra?.parenthesized&&this.raise(G.ExportDefaultFromAsIdentifier,r),this.sawUnambiguousESM=!0,this.finishNode(n,`ExportDefaultDeclaration`)}throw this.unexpected(null,2)}eatExportStar(e){return this.eat(51)}maybeParseExportDefaultSpecifier(e,t){if(t||this.isExportDefaultSpecifier()){this.expectPlugin(`exportDefaultFrom`,t?.start);let n=t||this.parseIdentifier(!0),r=this.startNodeAtNode(n);return r.exported=n,e.specifiers=[this.finishNode(r,`ExportDefaultSpecifier`)],!0}return!1}maybeParseExportNamespaceSpecifier(e){if(this.isContextual(89)){e.specifiers??=[];let t=this.startNodeAt(this.state.lastTokStartLoc);return this.next(),t.exported=this.parseModuleExportName(),e.specifiers.push(this.finishNode(t,`ExportNamespaceSpecifier`)),!0}return!1}maybeParseExportNamedSpecifiers(e){if(this.match(2)){let t=e;t.specifiers||=[];let n=t.exportKind===`type`;return t.specifiers.push(...this.parseExportSpecifiers(n)),t.source=null,t.attributes=[],t.declaration=null,!0}return!1}maybeParseExportDeclaration(e){return this.shouldParseExportDeclaration()?(e.specifiers=[],e.source=null,e.attributes=[],e.declaration=this.parseExportDeclaration(e),!0):!1}isAsyncFunction(){if(!this.isContextual(91))return!1;let e=this.nextTokenInLineStart();return this.isUnparsedContextual(e,`function`)}parseExportDefaultExpression(){let e=this.startNode();if(this.match(64))return this.next(),this.parseFunction(e,5);if(this.isAsyncFunction())return this.next(),this.next(),this.parseFunction(e,13);if(this.match(76))return this.parseClass(e,!0,!0);if(this.match(22))return this.parseClass(this.maybeTakeDecorators(this.parseDecorators(!1),this.startNode()),!0,!0);if(this.match(71)||this.match(70)||this.isLet()||this.isUsing()||this.isAwaitUsing())throw this.raise(G.UnsupportedDefaultExport,this.state.startLoc);let t=this.parseMaybeAssignAllowIn();return this.semicolon(),t}parseExportDeclaration(e){return this.match(76)?this.parseClass(this.startNode(),!0,!1):this.parseStatementListItem()}isExportDefaultSpecifier(){let{type:e}=this.state;if(Dd(e)){if(e===91&&!this.state.containsEsc||e===96)return!1;if((e===126||e===125)&&!this.state.containsEsc){let e=this.nextTokenStart(),t=this.input.charCodeAt(e);if(t===123||this.chStartsBindingIdentifier(t,e)&&!this.input.startsWith(`from`,e))return this.expectOnePlugin([`flow`,`typescript`]),!1}}else if(!this.match(61))return!1;let t=this.nextTokenStart(),n=this.isUnparsedContextual(t,`from`);if(this.input.charCodeAt(t)===44||Dd(this.state.type)&&n)return!0;if(this.match(61)&&n){let e=this.input.charCodeAt(this.nextTokenStartSince(t+4));return e===34||e===39}return!1}parseExportFrom(e,t){this.eatContextual(94)?(e.source=this.parseImportSource(),this.maybeParseImportAttributes(e)):t&&this.unexpected(),this.semicolon()}shouldParseExportDeclaration(){let{type:e}=this.state;return e===22&&(this.expectOnePlugin([`decorators`,`decorators-legacy`]),this.hasPlugin(`decorators`))?!0:this.isUsing()||this.isAwaitUsing()?(this.raise(G.UsingDeclarationExport,this.state.startLoc),!0):e===70||e===71||e===64||e===76||this.isLet()||this.isAsyncFunction()}checkNamedExport(e,t){if(e.specifiers?.length)for(let n of e.specifiers){let{exported:e}=n,r=e.type===`Identifier`?e.name:e.value;if(this.checkDuplicateExports(n,r),!t&&n.type===`ExportSpecifier`){let{local:e}=n;e.type===`Identifier`?(this.checkReservedWord(e.name,e.start,!0,!1),this.scope.checkLocalExport(e)):this.raise(G.ExportBindingIsString,n,{localName:e.value,exportName:r})}}else if(e.declaration){let t=e.declaration;if(t.type===`FunctionDeclaration`||t.type===`ClassDeclaration`){let{id:n}=t;if(!n)throw Error(`Assertion failure`);this.checkDuplicateExports(e,n.name)}else if(t.type===`VariableDeclaration`)for(let e of t.declarations)this.checkDeclaration(e.id)}}checkDeclaration(e){if(e.type===`Identifier`)this.checkDuplicateExports(e,e.name);else if(e.type===`ObjectPattern`)for(let t of e.properties)this.checkDeclaration(t);else if(e.type===`ArrayPattern`)for(let t of e.elements)t&&this.checkDeclaration(t);else e.type===`ObjectProperty`?this.checkDeclaration(e.value):e.type===`RestElement`?this.checkDeclaration(e.argument):e.type===`AssignmentPattern`&&this.checkDeclaration(e.left)}checkDuplicateExports(e,t){this.exportedIdentifiers.has(t)&&(t==="default"?this.raise(G.DuplicateDefaultExport,e):this.raise(G.DuplicateExport,e,{exportName:t})),this.exportedIdentifiers.add(t)}parseExportSpecifiers(e){let t=[],n=!0;for(this.expect(2);!this.eat(4);){if(n)n=!1;else if(this.expect(8),this.eat(4))break;let r=this.isContextual(126),i=this.match(130),a=this.startNode();a.local=this.parseModuleExportName(),t.push(this.parseExportSpecifier(a,i,e,r))}return t}parseExportSpecifier(e,t,n,r){return this.eatContextual(89)?e.exported=this.parseModuleExportName():t?e.exported=this.cloneStringLiteral(e.local):e.exported||=this.cloneIdentifier(e.local),this.finishNode(e,`ExportSpecifier`)}parseModuleExportName(){if(this.match(130)){let e=this.parseStringLiteral(this.state.value),t=Op.exec(e.value);return t&&this.raise(G.ModuleExportNameHasLoneSurrogate,e,{surrogateCharCode:t[0].charCodeAt(0)}),e}return this.parseIdentifier(!0)}checkImportPhase(e){let{specifiers:t}=e,n=t.length===1?t[0].type:null;e.phase===`source`?n!==`ImportDefaultSpecifier`&&this.raise(G.SourcePhaseImportRequiresDefault,t[0]):e.phase===`defer`&&n!==`ImportNamespaceSpecifier`&&this.raise(G.DeferImportRequiresNamespace,t[0])}isPotentialImportPhase(e){return e?!1:this.isContextual(101)||this.isContextual(93)}applyImportPhase(e,t,n,r){t||(n===`source`?(this.expectPlugin(`sourcePhaseImports`,r),e.phase=`source`):n===`defer`?(this.expectPlugin(`deferredImportEvaluation`,r),e.phase=`defer`):this.hasPlugin(`sourcePhaseImports`)&&(e.phase=null))}parseMaybeImportPhase(e,t){if(!this.isPotentialImportPhase(t))return this.applyImportPhase(e,t,null),null;let n=this.startNode(),r=this.parseIdentifierName(!0),{type:i}=this.state;return(kd(i)?i!==94||this.lookaheadCharCode()===102:i!==8)?(this.applyImportPhase(e,t,r,n.start),null):(this.applyImportPhase(e,t,null),this.createIdentifier(n,r))}isPrecedingIdImportPhase(e){let{type:t}=this.state;return Dd(t)?t!==94||this.lookaheadCharCode()===102:t!==8}parseImport(e){return this.match(130)?this.parseImportSourceAndAttributes(e):this.parseImportSpecifiersAndAfter(e,this.parseMaybeImportPhase(e,!1))}parseImportSpecifiersAndAfter(e,t){e.specifiers=[];let n=!this.maybeParseDefaultImportSpecifier(e,t)||this.eat(8),r=n&&this.maybeParseStarImportSpecifier(e);return n&&!r&&this.parseNamedImportSpecifiers(e),this.expectContextual(94),this.parseImportSourceAndAttributes(e)}parseImportSourceAndAttributes(e){return e.specifiers??=[],e.source=this.parseImportSource(),this.maybeParseImportAttributes(e),this.checkImportPhase(e),this.semicolon(),this.sawUnambiguousESM=!0,this.finishNode(e,`ImportDeclaration`)}parseImportSource(){return this.match(130)||this.unexpected(),this.parseExprAtom()}parseImportSpecifierLocal(e,t,n){t.local=this.parseIdentifier(),e.specifiers.push(this.finishImportSpecifier(t,n))}finishImportSpecifier(e,t,n=8201){return this.checkLVal(e.local,{type:t},n),this.finishNode(e,t)}parseImportAttributes(){this.expect(2);let e=[],t=new Set;do{if(this.match(4))break;let n=this.startNode(),r=this.state.value;if(t.has(r)&&this.raise(G.ModuleAttributesWithDuplicateKeys,this.state.startLoc,{key:r}),t.add(r),n.key=this.match(130)?this.parseStringLiteral(r):this.parseIdentifier(!0),this.expect(10),!this.match(130))throw this.raise(G.ModuleAttributeInvalidValue,this.state.startLoc);n.value=this.parseStringLiteral(this.state.value),e.push(this.finishNode(n,`ImportAttribute`))}while(this.eat(8));return this.expect(4),e}maybeParseImportAttributes(e){let t;if(this.match(72)){if(this.hasPrecedingLineBreak()&&this.lookaheadCharCode()===40)return;this.next(),t=this.parseImportAttributes()}else t=[];e.attributes=t}maybeParseDefaultImportSpecifier(e,t){if(t){let n=this.startNodeAtNode(t);return n.local=t,e.specifiers.push(this.finishImportSpecifier(n,`ImportDefaultSpecifier`)),!0}return kd(this.state.type)?(this.parseImportSpecifierLocal(e,this.startNode(),`ImportDefaultSpecifier`),!0):!1}maybeParseStarImportSpecifier(e){if(this.match(51)){let t=this.startNode();return this.next(),this.expectContextual(89),this.parseImportSpecifierLocal(e,t,`ImportNamespaceSpecifier`),!0}return!1}parseNamedImportSpecifiers(e){let t=!0;for(this.expect(2);!this.eat(4);){if(t)t=!1;else{if(this.eat(10))throw this.raise(G.DestructureNamedImport,this.state.startLoc);if(this.expect(8),this.eat(4))break}let n=this.startNode(),r=this.match(130),i=this.isContextual(126);n.imported=this.parseModuleExportName();let a=this.parseImportSpecifier(n,r,e.importKind===`type`||e.importKind===`typeof`,i,void 0);e.specifiers.push(a)}}parseImportSpecifier(e,t,n,r,i){if(this.eatContextual(89))e.local=this.parseIdentifier();else{let{imported:n}=e;if(t)throw this.raise(G.ImportBindingIsString,e,{importName:n.value});this.checkReservedWord(n.name,e.start,!0,!0),e.local||=this.cloneIdentifier(n)}return this.finishImportSpecifier(e,`ImportSpecifier`,i)}isThisParam(e){return e.type===`Identifier`&&e.name===`this`}},Mp=/in(?:stanceof)?|as|satisfies/y;function Np(e){if(e==null)throw Error(`Unexpected ${e} value.`);return e}function Pp(e){if(!e)throw Error(`Assert fail`)}var q=rd`typescript`({AbstractMethodHasImplementation:({methodName:e})=>`Method '${e}' cannot have an implementation because it is marked abstract.`,AbstractPropertyHasInitializer:({propertyName:e})=>`Property '${e}' cannot have an initializer because it is marked abstract.`,AccessorCannotBeOptional:`An 'accessor' property cannot be declared optional.`,AccessorCannotDeclareThisParameter:`'get' and 'set' accessors cannot declare 'this' parameters.`,AccessorCannotHaveTypeParameters:`An accessor cannot have type parameters.`,ClassMethodHasDeclare:`Class methods cannot have the 'declare' modifier.`,ClassMethodHasReadonly:`Class methods cannot have the 'readonly' modifier.`,ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference:`A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference.`,ConstructorHasTypeParameters:`Type parameters cannot appear on a constructor declaration.`,DeclaratorDefiniteAssertionRequiresTypeAnnotation:`Declarations with definite assignment assertions must also have type annotations.`,DeclaratorDefiniteAssertionWithInitializer:`Declarations with initializers cannot also have definite assignment assertions.`,DeclareAccessor:({kind:e})=>`'declare' is not allowed in ${e}ters.`,DeclareClassFieldHasInitializer:`Initializers are not allowed in ambient contexts.`,DeclareFunctionHasImplementation:`An implementation cannot be declared in ambient contexts.`,DecoratorAbstractMethod:({kind:e})=>`Decorators can't be used with ${e.startsWith(`a`)?`an`:`a`} ${e}.`,DuplicateAccessibilityModifier:({modifier:e})=>`Accessibility modifier already seen: '${e}'.`,DuplicateModifier:({modifier:e})=>`Duplicate modifier: '${e}'.`,EmptyHeritageClauseType:({token:e})=>`'${e}' list cannot be empty.`,EmptyNamespaceName:`Namespace must be given a name.`,EmptyTypeArguments:`Type argument list cannot be empty.`,EmptyTypeParameters:`Type parameter list cannot be empty.`,ExpectedAmbientAfterExportDeclare:`'export declare' must be followed by an ambient declaration.`,ExportAssignmentInTSNamespace:`An export assignment cannot be used in a namespace.`,ExportInTSNamespace:`Export declarations are not permitted in a namespace.`,ImportAliasHasImportType:`An import alias can not use 'import type'.`,ImportInTSNamespace:`Import declarations in a namespace cannot reference a module.`,IncompatibleModifiers:({modifiers:e})=>`'${e[0]}' modifier cannot be used with '${e[1]}' modifier.`,IndexSignatureHasAbstract:`Index signatures cannot have the 'abstract' modifier.`,IndexSignatureHasAccessibility:({modifier:e})=>`Index signatures cannot have an accessibility modifier ('${e}').`,IndexSignatureHasDeclare:`Index signatures cannot have the 'declare' modifier.`,IndexSignatureHasOverride:`'override' modifier cannot appear on an index signature.`,IndexSignatureHasStatic:`Index signatures cannot have the 'static' modifier.`,InitializerNotAllowedInAmbientContext:`Initializers are not allowed in ambient contexts.`,InlineModuleDeclarationMustUseString:"`module ... {}` declarations must have a string name. Use `namespace ... {}` instead.",InvalidHeritageClauseType:({token:e})=>`'${e}' list can only include identifiers or qualified-names with optional type arguments.`,InvalidModifierOnAwaitUsingDeclaration:e=>`'${e}' modifier cannot appear on an await using declaration.`,InvalidModifierOnTypeMember:({modifier:e})=>`'${e}' modifier cannot appear on a type member.`,InvalidModifierOnTypeParameter:({modifier:e})=>`'${e}' modifier cannot appear on a type parameter.`,InvalidModifierOnTypeParameterPositions:({modifier:e})=>`'${e}' modifier can only appear on a type parameter of a class, interface or type alias.`,InvalidModifierOnUsingDeclaration:e=>`'${e}' modifier cannot appear on a using declaration.`,InvalidModifiersOrder:({orderedModifiers:e})=>`'${e[0]}' modifier must precede '${e[1]}' modifier.`,InvalidNamespaceName:e=>`Namespace name cannot be '${e}'.`,InvalidPropertyAccessAfterInstantiationExpression:`Invalid property access after an instantiation expression. You can either wrap the instantiation expression in parentheses, or delete the type arguments.`,InvalidTupleMemberLabel:`Tuple members must be labeled with a simple identifier.`,MissingInterfaceName:`'interface' declarations must be followed by an identifier.`,NamespaceExportInTSNamespace:`Global module exports may only appear at top level.`,NonAbstractClassHasAbstractMethod:`Abstract methods can only appear within an abstract class.`,NonClassMethodPropertyHasAbstractModifier:`'abstract' modifier can only appear on a class, method, or property declaration.`,OptionalTypeBeforeRequired:`A required element cannot follow an optional element.`,OverrideNotInSubClass:`This member cannot have an 'override' modifier because its containing class does not extend another class.`,PatternIsOptional:`A binding pattern parameter cannot be optional in an implementation signature.`,PrivateElementHasAbstract:`Private elements cannot have the 'abstract' modifier.`,PrivateElementHasAccessibility:({modifier:e})=>`Private elements cannot have an accessibility modifier ('${e}').`,ReadonlyForMethodSignature:`'readonly' modifier can only appear on a property declaration or index signature.`,ReservedArrowTypeParam:"This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma, as in `<T,>() => ...`.",ReservedTypeAssertion:"This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead.",SetAccessorCannotHaveOptionalParameter:`A 'set' accessor cannot have an optional parameter.`,SetAccessorCannotHaveRestParameter:`A 'set' accessor cannot have rest parameter.`,SetAccessorCannotHaveReturnType:`A 'set' accessor cannot have a return type annotation.`,SingleTypeParameterWithoutTrailingComma:({typeParameterName:e})=>`Single type parameter ${e} should have a trailing comma. Example usage: <${e},>.`,StaticBlockCannotHaveModifier:`Static class blocks cannot have any modifier.`,TupleOptionalAfterType:"A labeled tuple optional element must be declared using a question mark after the name and before the colon (`name?: type`), rather than after the type (`name: type?`).",TypeAnnotationAfterAssign:"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.",TypeImportCannotSpecifyDefaultAndNamed:`A type-only import can specify a default import or named bindings, but not both.`,TypeModifierIsUsedInTypeExports:`The 'type' modifier cannot be used on a named export when 'export type' is used on its export statement.`,TypeModifierIsUsedInTypeImports:`The 'type' modifier cannot be used on a named import when 'import type' is used on its import statement.`,UnexpectedParameterInitializer:`A parameter initializer is only allowed in a function or constructor implementation.`,UnexpectedParameterModifier:`A parameter property is only allowed in a constructor implementation.`,UnexpectedReadonly:`'readonly' type modifier is only permitted on array and tuple literal types.`,UnexpectedTypeAnnotation:`Did not expect a type annotation here.`,UnexpectedTypeCastInParameter:`Unexpected type cast in parameter position.`,UnexpectedTypeDeclaration:e=>`'${e}' declarations can only be declared inside a block.`,UnsupportedImportTypeArgument:`Argument in a type import must be a string literal.`,UnsupportedParameterPropertyKind:`A parameter property may not be declared using a binding pattern.`,UnsupportedSignatureParameterKind:({type:e})=>`Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got ${e}.`,UsingDeclarationInAmbientContext:e=>`'${e}' declarations are not allowed in ambient contexts.`});function Fp(e){switch(e){case`any`:return`TSAnyKeyword`;case`boolean`:return`TSBooleanKeyword`;case`bigint`:return`TSBigIntKeyword`;case`never`:return`TSNeverKeyword`;case`number`:return`TSNumberKeyword`;case`object`:return`TSObjectKeyword`;case`string`:return`TSStringKeyword`;case`symbol`:return`TSSymbolKeyword`;case`undefined`:return`TSUndefinedKeyword`;case`unknown`:return`TSUnknownKeyword`;default:return}}function Ip(e){return e===`private`||e===`public`||e===`protected`}function Lp(e){return e===`in`||e===`out`}function Rp(e){if(e.extra?.parenthesized)return!1;switch(e.type){case`Identifier`:return!0;case`MemberExpression`:return!e.computed&&Rp(e.object);case`TSInstantiationExpression`:return Rp(e.expression);default:return!1}}var zp=Yp([`declare`,`private`,`public`,`protected`,`override`,`abstract`,`readonly`,`static`],[`in`,`out`]),Bp=Yp([`readonly`],[`declare`,`abstract`,`private`,`protected`,`public`,`static`,`override`]),Vp=Yp([`public`,`private`,`protected`,`override`,`readonly`]),Hp=Yp([`private`,`public`,`protected`]),Up=e=>class extends e{getScopeHandler(){return zf}tsIsIdentifier(){return Dd(this.state.type)}tsTokenCanFollowModifier(){return this.match(0)||this.match(2)||this.match(51)||this.match(17)||this.match(134)||this.isLiteralPropertyName()}tsNextTokenOnSameLineAndCanFollowModifier(){return this.next(),!this.hasPrecedingLineBreak()&&this.tsTokenCanFollowModifier()}tsNextTokenCanFollowModifier(){return this.match(102)?(this.next(),this.tsTokenCanFollowModifier()):this.tsNextTokenOnSameLineAndCanFollowModifier()}tsParseModifier(e,t,n){if(!Dd(this.state.type)&&this.state.type!==54&&this.state.type!==71)return;let r=this.state.value;if(e.has(r)){if(n&&this.match(102)||t&&this.tsIsStartOfStaticBlocks())return;if(this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this)))return r}}tsParseModifiers(e,t=q.InvalidModifierOnTypeMember,n,r=!1){let i=(e,t,r,i)=>{t===r&&n[i]&&this.raise(q.InvalidModifiersOrder,e,{orderedModifiers:[r,i]})},a=(e,t,r,i)=>{(n[r]&&t===i||n[i]&&t===r)&&this.raise(q.IncompatibleModifiers,e,{modifiers:[r,i]})};for(;;){let{startLoc:o}=this.state,s=this.tsParseModifier(e,r,n.static);if(!s)break;Ip(s)?n.accessibility?this.raise(q.DuplicateAccessibilityModifier,o,{modifier:s}):(i(o,s,s,`override`),i(o,s,s,`static`),i(o,s,s,`readonly`),n.accessibility=s):Lp(s)?(n[s]&&this.raise(q.DuplicateModifier,o,{modifier:s}),n[s]=!0,i(o,s,`in`,`out`)):(Object.hasOwn(n,s)?this.raise(q.DuplicateModifier,o,{modifier:s}):(i(o,s,`static`,`readonly`),i(o,s,`static`,`override`),i(o,s,`override`,`readonly`),i(o,s,`abstract`,`override`),a(o,s,`declare`,`override`),a(o,s,`static`,`abstract`)),n[s]=!0),e.get(s)||this.raise(t,o,{modifier:s})}}tsIsListTerminator(e){switch(e){case`EnumMembers`:case`TypeMembers`:return this.match(4);case`HeritageClauseElement`:return this.match(2);case`TupleElementTypes`:return this.match(1);case`TypeParametersOrArguments`:return this.match(44)}}tsParseList(e,t){let n=[];for(;!this.tsIsListTerminator(e);)n.push(t());return n}tsParseDelimitedList(e,t,n){return Np(this.tsParseDelimitedListWorker(e,t,!0,n))}tsParseDelimitedListWorker(e,t,n,r){let i=[],a=-1;for(;!this.tsIsListTerminator(e);){a=-1;let r=t();if(r==null)return;if(i.push(r),this.eat(8)){a=this.state.lastTokStartLoc.index;continue}if(this.tsIsListTerminator(e))break;n&&this.expect(8);return}return r&&(r.value=a),i}tsParseBracketedList(e,t,n,r,i){r||(n?this.expect(0):this.expect(43));let a=this.tsParseDelimitedList(e,t,i);return n?this.expect(1):this.expect(44),a}tsParseImportType(){let e=this.startNode();return this.expect(79),this.expect(6),this.match(130)?e.source=this.parseStringLiteral(this.state.value):(this.raise(q.UnsupportedImportTypeArgument,this.state.startLoc),e.source=this.tsParseNonConditionalType()),e.options=this.eat(8)?this.tsParseImportTypeOptions():null,this.expect(7),this.eat(12)&&(e.qualifier=this.tsParseEntityName(3)),this.match(43)&&(e.typeArguments=this.tsParseTypeArguments()),this.finishNode(e,`TSImportType`)}tsParseImportTypeOptions(){let e=this.startNode();this.expect(2);let t=this.startNode();return this.isContextual(72)?(t.method=!1,t.key=this.parseIdentifier(!0),t.computed=!1,t.shorthand=!1):this.unexpected(null,72),this.expect(10),t.value=this.tsParseImportTypeWithPropertyValue(),e.properties=[this.finishObjectProperty(t)],this.eat(8),this.expect(4),this.finishNode(e,`ObjectExpression`)}tsParseImportTypeWithPropertyValue(){let e=this.startNode(),t=[];for(this.expect(2);!this.match(4);){let e=this.state.type;Dd(e)||e===130?t.push(super.parsePropertyDefinition(null)):this.unexpected(),this.eat(8)}return e.properties=t,this.next(),this.finishNode(e,`ObjectExpression`)}tsParseEntityName(e){let t;if(e&1&&this.match(74)){if(e&2)t=this.parseIdentifier(!0);else{let e=this.startNode();this.next(),t=this.finishNode(e,`ThisExpression`)}}else t=this.parseIdentifier(!!(e&1));for(;this.eat(12);){let n=this.startNodeAtNode(t);n.left=t,n.right=this.parseIdentifier(!!(e&1)),t=this.finishNode(n,`TSQualifiedName`)}return t}tsParseTypeReference(){let e=this.startNode();return e.typeName=this.tsParseEntityName(1),!this.hasPrecedingLineBreak()&&this.match(43)&&(e.typeArguments=this.tsParseTypeArguments()),this.finishNode(e,`TSTypeReference`)}tsParseThisTypePredicate(e){this.next();let t=this.startNodeAtNode(e);return t.parameterName=e,t.typeAnnotation=this.tsParseTypeAnnotation(!1),t.asserts=!1,this.finishNode(t,`TSTypePredicate`)}tsParseThisTypeNode(){let e=this.startNode();return this.next(),this.finishNode(e,`TSThisType`)}tsParseTypeQuery(){let e=this.startNode();return this.expect(83),e.exprName=this.match(79)?this.tsParseImportType():this.tsParseEntityName(1),!this.hasPrecedingLineBreak()&&this.match(43)&&(e.typeArguments=this.tsParseTypeArguments()),this.finishNode(e,`TSTypeQuery`)}tsParseInOutModifiers=this.tsParseModifiers.bind(this,Yp([`in`,`out`],[`const`,`public`,`private`,`protected`,`readonly`,`declare`,`abstract`,`override`]),q.InvalidModifierOnTypeParameter);tsParseConstModifier=this.tsParseModifiers.bind(this,Yp([`const`],[`in`,`out`]),q.InvalidModifierOnTypeParameterPositions);tsParseInOutConstModifiers=this.tsParseModifiers.bind(this,Yp([`in`,`out`,`const`],[`public`,`private`,`protected`,`readonly`,`declare`,`abstract`,`override`]),q.InvalidModifierOnTypeParameter);tsParseTypeParameter(e){let t=this.startNode();return e(t),t.name=this.tsParseTypeParameterName(),t.constraint=this.tsEatThenParseType(77),t.default=this.tsEatThenParseType(25),this.finishNode(t,`TSTypeParameter`)}tsTryParseTypeParameters(e){if(this.match(43))return this.tsParseTypeParameters(e)}tsParseTypeParameters(e){let t=this.startNode();this.match(43)||this.match(138)?this.next():this.unexpected();let n={value:-1};return t.params=this.tsParseBracketedList(`TypeParametersOrArguments`,this.tsParseTypeParameter.bind(this,e),!1,!0,n),t.params.length===0&&this.raise(q.EmptyTypeParameters,t),n.value!==-1&&this.addExtra(t,`trailingComma`,n.value),this.finishNode(t,`TSTypeParameterDeclaration`)}tsFillSignature(e,t){let n=e===15;t.typeParameters=this.tsTryParseTypeParameters(this.tsParseConstModifier),this.expect(6),t.params=this.tsParseBindingListForSignature(),(n||this.match(e))&&(t.returnType=this.tsParseTypeOrTypePredicateAnnotation(e))}tsParseBindingListForSignature(){let e=super.parseBindingList(7,41,2);for(let t of e){let{type:e}=t;(e===`AssignmentPattern`||e===`TSParameterProperty`)&&this.raise(q.UnsupportedSignatureParameterKind,t,{type:e})}return e}tsParseTypeMemberSemicolon(){!this.eat(8)&&!this.isLineTerminator()&&this.expect(9)}tsParseSignatureMember(e,t){return this.tsFillSignature(10,t),this.tsParseTypeMemberSemicolon(),this.finishNode(t,e)}tsIsUnambiguouslyIndexSignature(){return this.next(),Dd(this.state.type)?(this.next(),this.match(10)):!1}tsTryParseIndexSignature(e){if(!(this.match(0)&&this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this))))return;this.expect(0);let t=this.parseIdentifier();t.typeAnnotation=this.tsParseTypeAnnotation(),this.resetEndLocation(t),this.expect(1),e.parameters=[t];let n=this.tsTryParseTypeAnnotation();return n&&(e.typeAnnotation=n),this.tsParseTypeMemberSemicolon(),this.finishNode(e,`TSIndexSignature`)}tsParsePropertyOrMethodSignature(e,t){if(this.eat(13)&&(e.optional=!0),this.match(6)||this.match(43)){t&&this.raise(q.ReadonlyForMethodSignature,e);let n=e;if(n.kind&&this.match(43)&&this.raise(q.AccessorCannotHaveTypeParameters,this.state.curPosition()),this.tsFillSignature(10,n),this.tsParseTypeMemberSemicolon(),n.kind===`get`)n.params.length>0&&(this.raise(G.BadGetterArity,this.state.curPosition()),this.isThisParam(n.params[0])&&this.raise(q.AccessorCannotDeclareThisParameter,this.state.curPosition()));else if(n.kind===`set`){if(n.params.length!==1)this.raise(G.BadSetterArity,this.state.curPosition());else{let e=n.params[0];this.isThisParam(e)&&this.raise(q.AccessorCannotDeclareThisParameter,this.state.curPosition()),e.type===`Identifier`&&e.optional&&this.raise(q.SetAccessorCannotHaveOptionalParameter,this.state.curPosition()),e.type===`RestElement`&&this.raise(q.SetAccessorCannotHaveRestParameter,this.state.curPosition())}n.returnType&&this.raise(q.SetAccessorCannotHaveReturnType,n.returnType)}else n.kind=`method`;return this.finishNode(n,`TSMethodSignature`)}{let n=e;t&&(n.readonly=!0);let r=this.tsTryParseTypeAnnotation();return r&&(n.typeAnnotation=r),this.tsParseTypeMemberSemicolon(),this.finishNode(n,`TSPropertySignature`)}}tsParseTypeMember(){let e=this.startNode();if(this.match(6)||this.match(43))return this.tsParseSignatureMember(`TSCallSignatureDeclaration`,e);if(this.match(73)){let t=this.startNode();return this.next(),this.match(6)||this.match(43)?this.tsParseSignatureMember(`TSConstructSignatureDeclaration`,e):(e.key=this.createIdentifier(t,`new`),this.tsParsePropertyOrMethodSignature(e,!1))}return this.tsParseModifiers(Bp,void 0,e),this.tsTryParseIndexSignature(e)||(super.parsePropertyName(e),!e.computed&&e.key.type===`Identifier`&&(e.key.name===`get`||e.key.name===`set`)&&this.tsTokenCanFollowModifier()&&(e.kind=e.key.name,super.parsePropertyName(e),!this.match(6)&&!this.match(43)&&this.unexpected(null,6)),this.tsParsePropertyOrMethodSignature(e,!!e.readonly))}tsParseTypeLiteral(){let e=this.startNode();return e.members=this.tsParseObjectTypeMembers(),this.finishNode(e,`TSTypeLiteral`)}tsParseObjectTypeMembers(){this.expect(2);let e=this.tsParseList(`TypeMembers`,this.tsParseTypeMember.bind(this));return this.expect(4),e}tsIsStartOfMappedType(){return this.next(),this.eat(49)?this.isContextual(118):(this.isContextual(118)&&this.next(),!this.match(0)||(this.next(),!this.tsIsIdentifier())?!1:(this.next(),this.match(54)))}tsParseMappedType(){let e=this.startNode();return this.expect(2),this.match(49)?(e.readonly=this.state.value,this.next(),this.expectContextual(118)):this.eatContextual(118)&&(e.readonly=!0),this.expect(0),e.key=this.tsParseTypeParameterName(),e.constraint=this.tsExpectThenParseType(54),e.nameType=this.eatContextual(89)?this.tsParseType():null,this.expect(1),this.match(49)?(e.optional=this.state.value,this.next(),this.expect(13)):this.eat(13)&&(e.optional=!0),e.typeAnnotation=this.tsTryParseType(),this.semicolon(),this.expect(4),this.finishNode(e,`TSMappedType`)}tsParseTupleType(){let e=this.startNode();e.elementTypes=this.tsParseBracketedList(`TupleElementTypes`,this.tsParseTupleElementType.bind(this),!0,!1);let t=!1;return e.elementTypes.forEach(e=>{let{type:n}=e;t&&n!==`TSRestType`&&n!==`TSOptionalType`&&!(n===`TSNamedTupleMember`&&e.optional)&&this.raise(q.OptionalTypeBeforeRequired,e),t||=n===`TSNamedTupleMember`&&e.optional||n===`TSOptionalType`}),this.finishNode(e,`TSTupleType`)}tsParseTupleElementType(){let e=this.state.startLoc,t=this.eat(17),{startLoc:n}=this.state,r,i,a,o,s=kd(this.state.type)?this.lookaheadCharCode():null;if(s===58)r=!0,a=!1,i=this.parseIdentifier(!0),this.expect(10),o=this.tsParseType();else if(s===63){a=!0;let e=this.state.value,t=this.tsParseNonArrayType();this.lookaheadCharCode()===58?(r=!0,i=this.createIdentifier(this.startNodeAt(n),e),this.expect(13),this.expect(10),o=this.tsParseType()):(r=!1,o=t,this.expect(13))}else o=this.tsParseType(),a=this.eat(13),r=this.eat(10);if(r){let e;i?(e=this.startNodeAt(n),e.optional=a,e.label=i,e.elementType=o,this.eat(13)&&(e.optional=!0,this.raise(q.TupleOptionalAfterType,this.state.lastTokStartLoc))):(e=this.startNodeAt(n),e.optional=a,this.raise(q.InvalidTupleMemberLabel,o),e.label=o,e.elementType=this.tsParseType()),o=this.finishNode(e,`TSNamedTupleMember`)}else if(a){let e=this.startNodeAt(n);e.typeAnnotation=o,o=this.finishNode(e,`TSOptionalType`)}if(t){let t=this.startNodeAt(e);t.typeAnnotation=o,o=this.finishNode(t,`TSRestType`)}return o}tsParseParenthesizedType(){let e=this.startNode();return this.expect(6),e.typeAnnotation=this.tsParseType(),this.expect(7),this.finishNode(e,`TSParenthesizedType`)}tsParseFunctionOrConstructorType(e,t){let n=this.startNode();return e===`TSConstructorType`&&(n.abstract=!!t,t&&this.next(),this.next()),this.tsInAllowConditionalTypesContext(()=>this.tsFillSignature(15,n)),this.finishNode(n,e)}tsParseLiteralTypeNode(){let e=this.startNode();switch(this.state.type){case 131:case 132:case 130:case 81:case 82:e.literal=super.parseExprAtom();break;default:this.unexpected()}return this.finishNode(e,`TSLiteralType`)}tsParseTemplateLiteralType(){let e=this.state.startLoc,t=this.parseTemplateElement(!1),n=[t];if(t.tail){let t=this.startNodeAt(e),r=this.startNodeAt(e);return r.expressions=[],r.quasis=n,t.literal=this.finishNode(r,`TemplateLiteral`),this.finishNode(t,`TSLiteralType`)}{let r=[];for(;!t.tail;)r.push(this.tsParseType()),this.readTemplateContinuation(),n.push(t=this.parseTemplateElement(!1));let i=this.startNodeAt(e);return i.types=r,i.quasis=n,this.finishNode(i,`TSTemplateLiteralType`)}}parseTemplateSubstitution(){return this.state.inType?this.tsParseType():super.parseTemplateSubstitution()}tsParseThisTypeOrThisTypePredicate(){let e=this.tsParseThisTypeNode();return this.isContextual(112)&&!this.hasPrecedingLineBreak()?this.tsParseThisTypePredicate(e):e}tsParseNonArrayType(){switch(this.state.type){case 130:case 131:case 132:case 81:case 82:return this.tsParseLiteralTypeNode();case 49:if(this.state.value===`-`){let e=this.startNode(),t=this.lookahead();return t.type!==131&&t.type!==132&&this.unexpected(),e.literal=this.parseMaybeUnary(),this.finishNode(e,`TSLiteralType`)}break;case 74:return this.tsParseThisTypeOrThisTypePredicate();case 83:return this.tsParseTypeQuery();case 79:return this.tsParseImportType();case 2:return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this))?this.tsParseMappedType():this.tsParseTypeLiteral();case 0:return this.tsParseTupleType();case 6:if(!(this.optionFlags&2048)){let e=this.state.startLoc;this.next();let t=this.tsParseType();return this.expect(7),this.addExtra(t,`parenthesized`,!0),this.addExtra(t,`parenStart`,e.index),t}return this.tsParseParenthesizedType();case 21:case 20:return this.tsParseTemplateLiteralType();default:{let{type:e}=this.state;if(Dd(e)||e===84||e===80){let t=e===84?`TSVoidKeyword`:e===80?`TSNullKeyword`:Fp(this.state.value);if(t!==void 0&&this.lookaheadCharCode()!==46){let e=this.startNode();return this.next(),this.finishNode(e,t)}return this.tsParseTypeReference()}}}throw this.unexpected()}tsParseArrayTypeOrHigher(){let{startLoc:e}=this.state,t=this.tsParseNonArrayType();for(;!this.hasPrecedingLineBreak()&&this.eat(0);)if(this.match(1)){let n=this.startNodeAt(e);n.elementType=t,this.expect(1),t=this.finishNode(n,`TSArrayType`)}else{let n=this.startNodeAt(e);n.objectType=t,n.indexType=this.tsParseType(),this.expect(1),t=this.finishNode(n,`TSIndexedAccessType`)}return t}tsParseTypeOperator(){let e=this.startNode(),t=this.state.value;return this.next(),e.operator=t,e.typeAnnotation=this.tsParseTypeOperatorOrHigher(),t===`readonly`&&this.tsCheckTypeAnnotationForReadOnly(e),this.finishNode(e,`TSTypeOperator`)}tsCheckTypeAnnotationForReadOnly(e){switch(e.typeAnnotation.type){case`TSTupleType`:case`TSArrayType`:return;default:this.raise(q.UnexpectedReadonly,e)}}tsParseInferType(){let e=this.startNode();this.expectContextual(111);let t=this.startNode();return t.name=this.tsParseTypeParameterName(),t.constraint=this.tsTryParse(()=>this.tsParseConstraintForInferType()),e.typeParameter=this.finishNode(t,`TSTypeParameter`),this.finishNode(e,`TSInferType`)}tsParseConstraintForInferType(){if(this.eat(77)){let e=this.tsInDisallowConditionalTypesContext(()=>this.tsParseType());if(this.state.inDisallowConditionalTypesContext||!this.match(13))return e}}tsParseTypeOperatorOrHigher(){return Bd(this.state.type)&&!this.state.containsEsc?this.tsParseTypeOperator():this.isContextual(111)?this.tsParseInferType():this.tsInAllowConditionalTypesContext(()=>this.tsParseArrayTypeOrHigher())}tsParseUnionOrIntersectionType(e,t,n){let r=this.startNode(),i=this.eat(n),a=[];do a.push(t());while(this.eat(n));return a.length===1&&!i?a[0]:(r.types=a,this.finishNode(r,e))}tsParseIntersectionTypeOrHigher(){return this.tsParseUnionOrIntersectionType(`TSIntersectionType`,this.tsParseTypeOperatorOrHigher.bind(this),41)}tsParseUnionTypeOrHigher(){return this.tsParseUnionOrIntersectionType(`TSUnionType`,this.tsParseIntersectionTypeOrHigher.bind(this),39)}tsIsStartOfFunctionType(){return this.match(43)?!0:this.match(6)&&this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this))}tsSkipParameterStart(){if(Dd(this.state.type)||this.match(74))return this.next(),!0;if(this.match(2)){let{errors:e}=this.state,t=e.length;try{return this.parseObjectLike(4,!0),e.length===t}catch{return!1}}if(this.match(0)){this.next();let{errors:e}=this.state,t=e.length;try{return super.parseBindingList(1,93,1),e.length===t}catch{return!1}}return!1}tsIsUnambiguouslyStartOfFunctionType(){return this.next(),!!(this.match(7)||this.match(17)||this.tsSkipParameterStart()&&(this.match(10)||this.match(8)||this.match(13)||this.match(25)||this.match(7)&&(this.next(),this.match(15))))}tsParseTypeOrTypePredicateAnnotation(e){return this.tsInType(()=>{let t=this.startNode();this.expect(e);let n=this.startNode(),r=!!this.tsTryParse(this.tsParseTypePredicateAsserts.bind(this));if(r&&this.match(74)){let e=this.tsParseThisTypeOrThisTypePredicate();return e.type===`TSThisType`?(n.parameterName=e,n.asserts=!0,n.typeAnnotation=null,e=this.finishNode(n,`TSTypePredicate`)):(this.resetStartLocationFromNode(e,n),e.asserts=!0),t.typeAnnotation=e,this.finishNode(t,`TSTypeAnnotation`)}let i=this.tsIsIdentifier()&&this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this));if(!i)return r?(n.parameterName=this.parseIdentifier(),n.asserts=r,n.typeAnnotation=null,t.typeAnnotation=this.finishNode(n,`TSTypePredicate`),this.finishNode(t,`TSTypeAnnotation`)):this.tsParseTypeAnnotation(!1,t);let a=this.tsParseTypeAnnotation(!1);return n.parameterName=i,n.typeAnnotation=a,n.asserts=r,t.typeAnnotation=this.finishNode(n,`TSTypePredicate`),this.finishNode(t,`TSTypeAnnotation`)})}tsTryParseTypeOrTypePredicateAnnotation(){if(this.match(10))return this.tsParseTypeOrTypePredicateAnnotation(10)}tsTryParseTypeAnnotation(){if(this.match(10))return this.tsParseTypeAnnotation()}tsTryParseType(){return this.tsEatThenParseType(10)}tsParseTypePredicatePrefix(){let e=this.parseIdentifier();if(this.isContextual(112)&&!this.hasPrecedingLineBreak())return this.next(),e}tsParseTypePredicateAsserts(){if(this.state.type!==105)return!1;let e=this.state.containsEsc;return this.next(),!Dd(this.state.type)&&!this.match(74)?!1:(e&&this.raise(G.InvalidEscapedReservedWord,this.state.lastTokStartLoc,{reservedWord:`asserts`}),!0)}tsParseTypeAnnotation(e=!0,t=this.startNode()){return this.tsInType(()=>{e&&this.expect(10),t.typeAnnotation=this.tsParseType()}),this.finishNode(t,`TSTypeAnnotation`)}tsParseType(){Pp(this.state.inType);let e=this.tsParseNonConditionalType();if(this.state.inDisallowConditionalTypesContext||this.hasPrecedingLineBreak()||!this.eat(77))return e;let t=this.startNodeAtNode(e);return t.checkType=e,t.extendsType=this.tsInDisallowConditionalTypesContext(()=>this.tsParseNonConditionalType()),this.expect(13),t.trueType=this.tsInAllowConditionalTypesContext(()=>this.tsParseType()),this.expect(10),t.falseType=this.tsInAllowConditionalTypesContext(()=>this.tsParseType()),this.finishNode(t,`TSConditionalType`)}isAbstractConstructorSignature(){return this.isContextual(120)&&this.isLookaheadContextual(`new`)}tsParseNonConditionalType(){return this.tsIsStartOfFunctionType()?this.tsParseFunctionOrConstructorType(`TSFunctionType`):this.match(73)?this.tsParseFunctionOrConstructorType(`TSConstructorType`):this.isAbstractConstructorSignature()?this.tsParseFunctionOrConstructorType(`TSConstructorType`,!0):this.tsParseUnionTypeOrHigher()}tsParseTypeAssertion(){this.getPluginOption(`typescript`,`disallowAmbiguousJSXLike`)&&this.raise(q.ReservedTypeAssertion,this.state.startLoc);let e=this.startNode();return e.typeAnnotation=this.tsInType(()=>(this.next(),this.match(71)?this.tsParseTypeReference():this.tsParseType())),this.expect(44),e.expression=this.parseMaybeUnary(),this.finishNode(e,`TSTypeAssertion`)}tsParseHeritageClause(e){let t=this.state.startLoc,n=this.tsParseDelimitedList(`HeritageClauseElement`,()=>{let t=(this.state.canStartArrow=!1,super.parseExprSubscripts());Rp(t)||this.raise(q.InvalidHeritageClauseType,t.start,{token:e});let n=e===`extends`?`TSInterfaceHeritage`:`TSClassImplements`;if(t.type===`TSInstantiationExpression`)return t.type=n,t;let r=this.startNodeAtNode(t);return r.expression=t,(this.match(43)||this.match(47))&&(r.typeArguments=this.tsParseTypeArgumentsInExpression()),this.finishNode(r,n)});return n.length||this.raise(q.EmptyHeritageClauseType,t,{token:e}),n}tsParseInterfaceDeclaration(e,t={}){if(this.hasFollowingLineBreak())return null;this.expectContextual(125),t.declare&&(e.declare=!0),Dd(this.state.type)?(e.id=this.parseIdentifier(),this.checkIdentifier(e.id,130)):(e.id=null,this.raise(q.MissingInterfaceName,this.state.startLoc)),e.typeParameters=this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers),this.eat(77)&&(e.extends=this.tsParseHeritageClause(`extends`));let n=this.startNode();return n.body=this.tsInType(this.tsParseObjectTypeMembers.bind(this)),e.body=this.finishNode(n,`TSInterfaceBody`),this.finishNode(e,`TSInterfaceDeclaration`)}tsParseTypeAliasDeclaration(e){return e.id=this.parseIdentifier(),this.checkIdentifier(e.id,2),e.typeAnnotation=this.tsInType(()=>{if(e.typeParameters=this.tsTryParseTypeParameters(this.tsParseInOutModifiers),this.expect(25),this.isContextual(110)&&this.lookaheadCharCode()!==46){let e=this.startNode();return this.next(),this.finishNode(e,`TSIntrinsicKeyword`)}return this.tsParseType()}),this.semicolon(),this.finishNode(e,`TSTypeAliasDeclaration`)}tsInTopLevelContext(e){if(this.curContext()!==Jd.brace){let t=this.state.context;this.state.context=[t[0]];try{return e()}finally{this.state.context=t}}else return e()}tsInType(e){let t=this.state.inType;this.state.inType=!0;try{return e()}finally{this.state.inType=t}}tsInDisallowConditionalTypesContext(e){let t=this.state.inDisallowConditionalTypesContext;this.state.inDisallowConditionalTypesContext=!0;try{return e()}finally{this.state.inDisallowConditionalTypesContext=t}}tsInAllowConditionalTypesContext(e){let t=this.state.inDisallowConditionalTypesContext;this.state.inDisallowConditionalTypesContext=!1;try{return e()}finally{this.state.inDisallowConditionalTypesContext=t}}tsEatThenParseType(e){if(this.match(e))return this.tsNextThenParseType()}tsExpectThenParseType(e){return this.tsInType(()=>(this.expect(e),this.tsParseType()))}tsNextThenParseType(){return this.tsInType(()=>(this.next(),this.tsParseType()))}tsParseEnumMember(){let e=this.startNode();return e.id=this.match(130)?super.parseStringLiteral(this.state.value):this.parseIdentifier(!0),this.eat(25)&&(e.initializer=super.parseMaybeAssignAllowIn()),this.finishNode(e,`TSEnumMember`)}tsParseEnumDeclaration(e,t={}){return t.const&&(e.const=!0),t.declare&&(e.declare=!0),this.expectContextual(122),e.id=this.parseIdentifier(),this.checkIdentifier(e.id,e.const?8971:8459),e.body=this.tsParseEnumBody(),this.finishNode(e,`TSEnumDeclaration`)}tsParseEnumBody(){let e=this.startNode();return this.expect(2),e.members=this.tsParseDelimitedList(`EnumMembers`,this.tsParseEnumMember.bind(this)),this.expect(4),this.finishNode(e,`TSEnumBody`)}tsParseModuleBlock(e){let t=this.startNode();return e||this.scope.enter(0),this.expect(2),super.parseBlockOrModuleBlockBody(t.body=[],void 0,!0,4),e||this.scope.exit(),this.finishNode(t,`TSModuleBlock`)}tsParseNamespaceDeclaration(e){return e.id=this.tsParseEntityName(0),e.id.type===`Identifier`&&this.checkIdentifier(e.id,1024),this.scope.enter(2048),this.prodParam.enter(0),e.body=this.tsParseModuleBlock(!1),this.prodParam.exit(),this.scope.exit(),this.finishNode(e,`TSModuleDeclaration`)}tsParseAmbientExternalModuleDeclaration(e){let t=this.isContextual(108);if(t)e.kind=`global`,e.id=this.parseIdentifier();else{e.kind=`module`;let{type:t,value:n}=this.state;t===130?e.id=super.parseStringLiteral(n):Dd(t)?(this.raise(q.InlineModuleDeclarationMustUseString,this.state.startLoc),e.id=this.tsParseEntityName(0)):t===2?this.raise(q.EmptyNamespaceName,this.state.startLoc):(this.raise(q.InvalidNamespaceName,this.state.startLoc,n),e.id=super.parseExprAtom())}return this.match(2)?(t||this.scope.enter(1024),this.prodParam.enter(0),e.body=this.tsParseModuleBlock(t),this.prodParam.exit(),t||this.scope.exit()):this.semicolon(),this.finishNode(e,`TSModuleDeclaration`)}tsParseImportEqualsDeclaration(e,t){e.id=t||this.parseIdentifier(),this.checkIdentifier(e.id,4096),this.expect(25);let n=this.tsParseModuleReference();return e.importKind===`type`&&n.type!==`TSExternalModuleReference`&&this.raise(q.ImportAliasHasImportType,n),e.moduleReference=n,this.semicolon(),this.finishNode(e,`TSImportEqualsDeclaration`)}tsIsExternalModuleReference(){return this.isContextual(115)&&this.lookaheadCharCode()===40}tsParseModuleReference(){return this.tsIsExternalModuleReference()?this.tsParseExternalModuleReference():this.tsParseEntityName(0)}tsParseExternalModuleReference(){let e=this.startNode();return this.expectContextual(115),this.expect(6),this.match(130)||this.unexpected(),e.expression=super.parseExprAtom(),this.expect(7),this.sawUnambiguousESM=!0,this.finishNode(e,`TSExternalModuleReference`)}tsLookAhead(e){let t=this.state.clone(),n=e();return this.state=t,n}tsTryParseAndCatch(e){let t=this.tryParse(t=>e()||t());if(!t.aborted&&t.node)return t.error&&(this.state=t.failState),t.node}tsTryParse(e){let t=this.state.clone(),n=e();if(n!==void 0&&n!==!1)return n;this.state=t}tsTryParseDeclare(e){if(this.isLineTerminator())return;let t=this.state.type;return this.tsInAmbientContext(()=>{switch(t){case 64:return e.declare=!0,super.parseFunctionStatement(e,!1,!1);case 76:return e.declare=!0,this.parseClass(e,!0,!1);case 122:return this.tsParseEnumDeclaration(e,{declare:!0});case 108:return this.tsParseAmbientExternalModuleDeclaration(e);case 96:if(this.state.containsEsc)return;case 71:case 70:return!this.match(71)||!this.isLookaheadContextual(`enum`)?(e.declare=!0,this.parseVarStatement(e,this.state.value,!0)):(this.expect(71),this.tsParseEnumDeclaration(e,{const:!0,declare:!0}));case 103:if(this.isUsing())return this.raise(q.InvalidModifierOnUsingDeclaration,this.state.startLoc,`declare`),e.declare=!0,this.parseVarStatement(e,`using`,!0);break;case 92:if(this.isAwaitUsing())return this.raise(q.InvalidModifierOnAwaitUsingDeclaration,this.state.startLoc,`declare`),e.declare=!0,this.next(),this.parseVarStatement(e,`await using`,!0);break;case 125:{let t=this.tsParseInterfaceDeclaration(e,{declare:!0});if(t)return t}default:if(Dd(t))return this.tsParseDeclaration(e,this.state.type,!0,null)}})}tsTryParseExportDeclaration(){return this.tsParseDeclaration(this.startNode(),this.state.type,!0,null)}tsParseDeclaration(e,t,n,r){switch(t){case 120:if(this.tsCheckLineTerminator(n)&&(this.match(76)||Dd(this.state.type)))return this.tsParseAbstractDeclaration(e,r);break;case 123:if(this.tsCheckLineTerminator(n))return this.tsParseAmbientExternalModuleDeclaration(e);break;case 124:if(this.tsCheckLineTerminator(n)&&Dd(this.state.type))return e.kind=`namespace`,this.tsParseNamespaceDeclaration(e);break;case 126:if(this.tsCheckLineTerminator(n)&&Dd(this.state.type))return this.tsParseTypeAliasDeclaration(e)}}tsCheckLineTerminator(e){return e?!this.hasFollowingLineBreak()&&(this.next(),!0):!this.isLineTerminator()}tsTryParseGenericAsyncArrowFunction(e){if(!this.match(43))return;let t=this.tsTryParseAndCatch(()=>{let t=this.startNodeAt(e);return t.typeParameters=this.tsParseTypeParameters(this.tsParseConstModifier),super.parseFunctionParams(t),t.returnType=this.tsTryParseTypeOrTypePredicateAnnotation(),this.expect(15),t});if(t)return super.parseArrowExpression(t,null,!0)}tsParseTypeArgumentsInExpression(){if(this.reScan_lt()===43)return this.tsParseTypeArguments()}tsParseTypeArguments(){let e=this.startNode();return e.params=this.tsInType(()=>this.tsInTopLevelContext(()=>(this.expect(43),this.tsParseDelimitedList(`TypeParametersOrArguments`,this.tsParseType.bind(this))))),e.params.length===0?this.raise(q.EmptyTypeArguments,e):!this.state.inType&&this.curContext()===Jd.brace&&this.reScan_lt_gt(),this.expect(44),this.finishNode(e,`TSTypeParameterInstantiation`)}tsIsDeclarationStart(){return Vd(this.state.type)}isExportDefaultSpecifier(){return!this.tsIsDeclarationStart()&&super.isExportDefaultSpecifier()}parseBindingElement(e,t){let n=t.length?null:this.state.startLoc,r={};this.tsParseModifiers(Vp,void 0,r);let i=r.accessibility,a=r.override,o=r.readonly;!(e&4)&&(i||o||a)&&this.raise(q.UnexpectedParameterModifier,n||t[0]);let s=this.state.startLoc,c=this.parseMaybeDefault(s);e&2&&this.parseFunctionParamType(c);let l=this.parseMaybeDefault(s,c);if(i||o||a){let e=n?this.startNodeAt(n):this.startNodeAtNode(t[0]);return t.length?e.decorators=t:this.setLoc(n),i&&(e.accessibility=i),o&&(e.readonly=o),a&&(e.override=a),l.type!==`Identifier`&&l.type!==`AssignmentPattern`&&this.raise(q.UnsupportedParameterPropertyKind,n||t[0]),e.parameter=l,this.finishNode(e,`TSParameterProperty`)}return t.length&&(c.decorators=t),l}isSimpleParameter(e){return e.type===`TSParameterProperty`&&super.isSimpleParameter(e.parameter)||super.isSimpleParameter(e)}tsDisallowOptionalPattern(e){for(let t of e.params)t.type!==`Identifier`&&t.optional&&!this.state.isAmbientContext&&this.raise(q.PatternIsOptional,t)}setArrowFunctionParameters(e,t,n){super.setArrowFunctionParameters(e,t,n),this.tsDisallowOptionalPattern(e)}parseFunctionBodyAndFinish(e,t,n=!1){this.match(10)&&(e.returnType=this.tsParseTypeOrTypePredicateAnnotation(10));let r=t===`FunctionDeclaration`?`TSDeclareFunction`:t===`ClassMethod`||t===`ClassPrivateMethod`?`TSDeclareMethod`:void 0;if(r&&!this.match(2)&&this.isLineTerminator()){if(r===`TSDeclareMethod`&&e.kind===`constructor`)for(let t of e.params)t.type===`TSParameterProperty`?this.raise(q.UnexpectedParameterModifier,t):t.type===`AssignmentPattern`&&this.raise(q.UnexpectedParameterInitializer,t);else for(let t of e.params)t.type===`AssignmentPattern`&&this.raise(q.UnexpectedParameterInitializer,t);return this.finishNode(e,r)}return r&&this.state.isAmbientContext&&(this.raise(q.DeclareFunctionHasImplementation,this.state.startLoc),r===`TSDeclareFunction`&&e.declare)?super.parseFunctionBodyAndFinish(e,r,n):(this.tsDisallowOptionalPattern(e),super.parseFunctionBodyAndFinish(e,t,n))}registerFunctionStatementId(e){!e.body&&e.id?this.checkIdentifier(e.id,1024):super.registerFunctionStatementId(e)}tsCheckForInvalidTypeCasts(e){e.forEach(e=>{e?.type===`TSTypeCastExpression`&&this.raise(q.UnexpectedTypeAnnotation,e.typeAnnotation)})}toReferencedList(e,t){return this.tsCheckForInvalidTypeCasts(e),e}parseArrayLike(e,t){let n=super.parseArrayLike(e,t);return n.type===`ArrayExpression`&&this.tsCheckForInvalidTypeCasts(n.elements),n}parseSubscript(e,t,n,r){if(!this.hasPrecedingLineBreak()&&this.match(31)){this.state.canStartJSXElement=!1,this.next();let n=this.startNodeAt(t);return n.expression=e,this.finishNode(n,`TSNonNullExpression`)}let i=!1;if(this.match(14)&&this.lookaheadCharCode()===60){if(n)return r.stop=!0,e;r.optionalChainMember=i=!0,this.next()}if(this.match(43)||this.match(47)){let a,o=this.tsTryParseAndCatch(()=>{if(!n&&this.atPossibleAsyncArrow(e)){let e=this.tsTryParseGenericAsyncArrowFunction(t);if(e)return r.stop=!0,e}let o=this.tsParseTypeArgumentsInExpression();if(!o)return;if(i&&!this.match(6)){a=this.state.curPosition();return}if(Gd(this.state.type)){let n=super.parseTaggedTemplateExpression(e,t,r);return n.typeArguments=o,n}if(!n&&this.eat(6)){let n=this.startNodeAt(t);return n.callee=e,n.arguments=this.parseCallExpressionArguments(),this.tsCheckForInvalidTypeCasts(n.arguments),n.typeArguments=o,r.optionalChainMember&&(n.optional=i),this.finishCallExpression(n,r.optionalChainMember)}let s=this.state.type;if(s===44||s===48||s!==6&&s!==89&&s!==116&&Md(s)&&!this.hasPrecedingLineBreak())return;let c=this.startNodeAt(t);return c.expression=e,c.typeArguments=o,this.finishNode(c,`TSInstantiationExpression`)});if(a&&this.unexpected(a,6),o)return o.type===`TSInstantiationExpression`&&((this.match(12)||this.match(14)&&this.lookaheadCharCode()!==40)&&this.raise(q.InvalidPropertyAccessAfterInstantiationExpression,this.state.startLoc),!this.match(12)&&!this.match(14)&&(o.expression=super.stopParseSubscript(e,r))),o}return super.parseSubscript(e,t,n,r)}parseNewCallee(e){super.parseNewCallee(e);let{callee:t}=e;t.type===`TSInstantiationExpression`&&!t.extra?.parenthesized&&(e.typeArguments=t.typeArguments,e.callee=t.expression)}parseExprOp(e,t,n){let r;if(Ud(54)>n&&!this.hasPrecedingLineBreak()&&(this.isContextual(89)||(r=this.isContextual(116)))){let i=this.startNodeAt(t);i.expression=e,i.typeAnnotation=this.tsInType(()=>(this.next(),this.match(71)?(r&&this.raise(G.UnexpectedKeyword,this.state.startLoc,{keyword:`const`}),this.tsParseTypeReference()):this.tsParseType()));let a=this.finishNode(i,r?`TSSatisfiesExpression`:`TSAsExpression`);return this.reScan_lt_gt(),this.parseExprOp(a,t,n)}return super.parseExprOp(e,t,n)}checkReservedWord(e,t,n,r){this.state.isAmbientContext||super.checkReservedWord(e,t,n,r)}checkDuplicateExports(){}isPotentialImportPhase(e){if(super.isPotentialImportPhase(e))return!0;if(this.isContextual(126)){let t=this.lookaheadCharCode();return e?t===123||t===42:t!==61}return!e&&this.isContextual(83)}applyImportPhase(e,t,n,r){super.applyImportPhase(e,t,n,r),t?e.exportKind=n===`type`?`type`:`value`:e.importKind=n===`type`||n===`typeof`?n:`value`}parseImport(e){if(this.match(130))return e.importKind=`value`,this.scope.inTSNamespace&&this.raise(q.ImportInTSNamespace,e),super.parseImport(e);let t;if(Dd(this.state.type)&&this.lookaheadCharCode()===61){e.importKind=`value`;let t=this.tsParseImportEqualsDeclaration(e);return this.scope.inTSNamespace&&t.moduleReference.type===`TSExternalModuleReference`&&this.raise(q.ImportInTSNamespace,e),t}if(this.isContextual(126)){let n=this.parseMaybeImportPhase(e,!1);if(this.lookaheadCharCode()===61)return this.scope.inTSNamespace&&this.raise(q.ImportInTSNamespace,e),this.tsParseImportEqualsDeclaration(e,n);t=super.parseImportSpecifiersAndAfter(e,n)}else t=super.parseImport(e);return t.importKind===`type`&&t.specifiers.length>1&&t.specifiers[0].type===`ImportDefaultSpecifier`?this.raise(q.TypeImportCannotSpecifyDefaultAndNamed,t):this.scope.inTSNamespace&&this.raise(q.ImportInTSNamespace,t),t}parseExport(e,t){if(this.match(79)){let t=this.startNode();this.next();let n=null;this.isContextual(126)&&this.isPotentialImportPhase(!1)?n=this.parseMaybeImportPhase(t,!1):t.importKind=`value`;let r=this.tsParseImportEqualsDeclaration(t,n);return e.attributes=[],e.declaration=r,e.exportKind=`value`,e.source=null,e.specifiers=[],this.finishNode(e,`ExportNamedDeclaration`)}if(this.eat(25)){let t=e;return t.expression=super.parseExpression(),this.semicolon(),this.sawUnambiguousESM=!0,this.scope.inTSNamespace&&this.raise(q.ExportAssignmentInTSNamespace,t),this.finishNode(t,`TSExportAssignment`)}if(this.eatContextual(89)){let t=e;return this.expectContextual(124),t.id=this.parseIdentifier(),this.checkIdentifier(t.id,8201),this.semicolon(),this.scope.inTSNamespace&&this.raise(q.NamespaceExportInTSNamespace,t),this.finishNode(t,`TSNamespaceExportDeclaration`)}{let n=super.parseExport(e,t);return this.scope.inTSNamespace&&(n.type!==`ExportNamedDeclaration`||n.source||!n.declaration&&!this.state.isAmbientContext)&&this.raise(q.ExportInTSNamespace,n),n}}isAbstractClass(){return this.isContextual(120)&&this.isLookaheadContextual(`class`)}parseExportDefaultExpression(){if(this.isAbstractClass()){let e=this.startNode();return this.next(),e.abstract=!0,this.parseClass(e,!0,!0)}if(this.match(125)){let e=this.tsParseInterfaceDeclaration(this.startNode());if(e)return e}return super.parseExportDefaultExpression()}parseVarStatement(e,t,n=!1){let{isAmbientContext:r}=this.state,i=super.parseVarStatement(e,t,n||r);if(r&&!e.declare&&(t===`using`||t===`await using`))return this.raiseOverwrite(q.UsingDeclarationInAmbientContext,e,t),i;for(let e of i.declarations){let{id:n,init:i,definite:a}=e;a&&(i?this.raise(q.DeclaratorDefiniteAssertionWithInitializer,n):n.typeAnnotation||this.raise(q.DeclaratorDefiniteAssertionRequiresTypeAnnotation,n)),r&&i&&(t===`var`||t===`let`||n.typeAnnotation?this.raise(q.InitializerNotAllowedInAmbientContext,i):Gp(i,this.hasPlugin(`estree`))||this.raise(q.ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference,i))}return i}parseStatementContent(e,t){let n=!!(e&2);if(!this.state.containsEsc)switch(this.state.type){case 71:if(this.isLookaheadContextual(`enum`)){let e=this.startNode();return this.next(),this.tsParseEnumDeclaration(e,{const:!0})}break;case 120:case 121:if(this.nextTokenIsIdentifierAndNotTSRelationalOperatorOnSameLine()){let e=this.state.type,n=this.startNode();this.next();let r=e===121?this.tsTryParseDeclare(n):this.tsParseAbstractDeclaration(n,t);return r?(e===121&&(r.declare=!0),r):(n.expression=this.createIdentifier(this.startNodeAtNode(n),e===121?`declare`:`abstract`),this.semicolon(!1),this.finishNode(n,`ExpressionStatement`))}break;case 122:return this.tsParseEnumDeclaration(this.startNode());case 108:if(this.lookaheadCharCode()===123){let e=this.startNode();return this.tsParseAmbientExternalModuleDeclaration(e)}break;case 125:{let e=this.tsParseInterfaceDeclaration(this.startNode());if(e)return n||this.raise(q.UnexpectedTypeDeclaration,e,`interface`),e;break}case 123:if(this.nextTokenIsStringLiteralOnSameLine()){let e=this.startNode();return this.next(),this.tsParseDeclaration(e,123,!1,t)}if(this.nextTokenIsIdentifierOnSameLine()){this.raise(q.InlineModuleDeclarationMustUseString,this.state.startLoc);let e=this.startNode();return this.next(),this.tsParseDeclaration(e,124,!1,t)}break;case 124:if(this.nextTokenIsIdentifierOnSameLine()){let e=this.startNode();return this.next(),this.tsParseDeclaration(e,124,!1,t)}break;case 126:if(this.nextTokenIsIdentifierOnSameLine()){let e=this.startNode();return n||this.raise(q.UnexpectedTypeDeclaration,e,`type`),this.next(),this.tsParseTypeAliasDeclaration(e)}}return super.parseStatementContent(e,t)}parseAccessModifier(){return this.tsParseModifier(Hp)}tsHasSomeModifiers(e,t){return t.some(t=>Ip(t)?e.accessibility===t:!!e[t])}tsIsStartOfStaticBlocks(){return this.isContextual(102)&&this.lookaheadCharCode()===123}parseClassMember(e,t,n){this.tsParseModifiers(zp,q.InvalidModifierOnTypeParameterPositions,t,!0);let r=()=>{this.tsIsStartOfStaticBlocks()?(this.next(),this.next(),this.tsHasSomeModifiers(t,[`declare`,`private`,`public`,`protected`,`override`,`abstract`,`readonly`,`static`])&&this.raise(q.StaticBlockCannotHaveModifier,this.state.curPosition()),super.parseClassStaticBlock(e,t)):this.parseClassMemberWithIsStatic(e,t,n,!!t.static)};t.declare?this.tsInAmbientContext(r):r(),t.decorators&&t.decorators.length>0&&!this.hasPlugin(`decorators-legacy`)&&(t.type===`TSAbstractMethodDefinition`||t.type===`TSDeclareMethod`?this.raise(q.DecoratorAbstractMethod,t,{kind:`abstract method`}):(t.type===`ClassProperty`&&t.abstract||t.type===`ClassProperty`&&t.declare||t.type===`TSAbstractPropertyDefinition`||t.type===`PropertyDefinition`&&t.declare)&&this.raise(q.DecoratorAbstractMethod,t,{kind:t.declare?`declare field`:`abstract field`}))}parseClassMemberWithIsStatic(e,t,n,r){let i=this.tsTryParseIndexSignature(t);if(i){e.body.push(i),t.abstract&&this.raise(q.IndexSignatureHasAbstract,t),t.accessibility&&this.raise(q.IndexSignatureHasAccessibility,t,{modifier:t.accessibility}),t.declare&&this.raise(q.IndexSignatureHasDeclare,t),t.override&&this.raise(q.IndexSignatureHasOverride,t);return}!this.state.inAbstractClass&&t.abstract&&this.raise(q.NonAbstractClassHasAbstractMethod,t),t.override&&(n.hadSuperClass||this.raise(q.OverrideNotInSubClass,t)),super.parseClassMemberWithIsStatic(e,t,n,r)}parsePostMemberNameModifiers(e){this.eat(13)&&(e.optional=!0),e.readonly&&this.match(6)&&this.raise(q.ClassMethodHasReadonly,e),e.declare&&this.match(6)&&this.raise(q.ClassMethodHasDeclare,e)}shouldParseExportDeclaration(){return this.tsIsDeclarationStart()?!0:super.shouldParseExportDeclaration()}parseConditional(e,t,n){if(!this.match(13))return e;if(n!=null){let t=this.lookaheadCharCode();if(t===44||t===61||t===58||t===41)return this.setOptionalParametersError(n),e}this.next();let r=this.startNodeAt(t);r.test=e;let i=this.state.inConditionalConsequent;return this.state.inConditionalConsequent=!0,r.consequent=this.parseMaybeAssignAllowIn(),this.state.inConditionalConsequent=i,this.expect(10),r.alternate=this.parseMaybeAssign(),this.finishNode(r,`ConditionalExpression`)}parseParenItem(e,t){let n=super.parseParenItem(e,t);if(this.eat(13)&&(n.optional=!0,this.resetEndLocation(e)),this.match(10)){let n=this.startNodeAt(t);return n.expression=e,n.typeAnnotation=this.tsParseTypeAnnotation(),this.finishNode(n,`TSTypeCastExpression`)}return e}parseExportDeclaration(e){if(!this.state.isAmbientContext&&this.isContextual(121))return this.tsInAmbientContext(()=>this.parseExportDeclaration(e));let t=this.state.startLoc,n=this.eatContextual(121);if(n&&(this.isContextual(121)||!this.shouldParseExportDeclaration()))throw this.raise(q.ExpectedAmbientAfterExportDeclare,this.state.startLoc);let r=Dd(this.state.type)&&this.tsTryParseExportDeclaration()||super.parseExportDeclaration(e);return r?((r.type===`TSInterfaceDeclaration`||r.type===`TSTypeAliasDeclaration`||n)&&(e.exportKind=`type`),n&&r.type!==`TSImportEqualsDeclaration`&&(this.resetStartLocation(r,t),r.declare=!0),r):null}parseClassId(e,t,n,r){if((!t||n)&&this.isContextual(109)){e.id=null;return}super.parseClassId(e,t,n,e.declare?1024:8331);let i=this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers);i&&(e.typeParameters=i)}parseClassPropertyAnnotation(e){e.optional||(this.eat(31)?e.definite=!0:this.eat(13)&&(e.optional=!0));let t=this.tsTryParseTypeAnnotation();t&&(e.typeAnnotation=t),e.definite&&(this.match(25)?this.raise(q.DeclaratorDefiniteAssertionWithInitializer,e):t||this.raise(q.DeclaratorDefiniteAssertionRequiresTypeAnnotation,e))}parseClassProperty(e){if(this.parseClassPropertyAnnotation(e),this.state.isAmbientContext&&(!e.readonly||e.typeAnnotation)&&this.match(25)&&this.raise(q.DeclareClassFieldHasInitializer,this.state.startLoc),e.abstract&&this.match(25)){let{key:t}=e;this.raise(q.AbstractPropertyHasInitializer,this.state.startLoc,{propertyName:t.type===`Identifier`&&!e.computed?t.name:`[${this.input.slice(this.offsetToSourcePos(t.start),this.offsetToSourcePos(t.end))}]`})}return super.parseClassProperty(e)}parseClassPrivateProperty(e){return e.abstract&&this.raise(q.PrivateElementHasAbstract,e),e.accessibility&&this.raise(q.PrivateElementHasAccessibility,e,{modifier:e.accessibility}),this.parseClassPropertyAnnotation(e),super.parseClassPrivateProperty(e)}parseClassAccessorProperty(e){return this.parseClassPropertyAnnotation(e),e.optional&&this.raise(q.AccessorCannotBeOptional,e),super.parseClassAccessorProperty(e)}pushClassMethod(e,t,n,r,i,a){let o=this.tsTryParseTypeParameters(this.tsParseConstModifier);o&&i&&this.raise(q.ConstructorHasTypeParameters,o);let{declare:s=!1,kind:c}=t;s&&(c===`get`||c===`set`)&&this.raise(q.DeclareAccessor,t,{kind:c}),o&&(t.typeParameters=o),super.pushClassMethod(e,t,n,r,i,a)}pushClassPrivateMethod(e,t,n,r){let i=this.tsTryParseTypeParameters(this.tsParseConstModifier);i&&(t.typeParameters=i),super.pushClassPrivateMethod(e,t,n,r)}declareClassPrivateMethodInScope(e,t){e.type!==`TSDeclareMethod`&&(e.type!==`MethodDefinition`||e.value.body!=null)&&super.declareClassPrivateMethodInScope(e,t)}parseClassSuper(e){if(super.parseClassSuper(e),e.superClass){if(e.superClass.type===`TSInstantiationExpression`){let t=e.superClass,n=t.expression;this.takeSurroundingComments(n,n.start,n.end);let r=t.typeArguments;this.takeSurroundingComments(r,r.start,r.end),e.superClass=n,e.superTypeArguments=r}else(this.match(43)||this.match(47))&&(e.superTypeArguments=this.tsParseTypeArgumentsInExpression())}this.eatContextual(109)&&(e.implements=this.tsParseHeritageClause(`implements`))}parseObjPropValue(e,t,n,r,i,a,o){let s=this.tsTryParseTypeParameters(this.tsParseConstModifier);return s&&(e.typeParameters=s),super.parseObjPropValue(e,t,n,r,i,a,o)}parseFunctionParams(e,t){let n=this.tsTryParseTypeParameters(this.tsParseConstModifier);n&&(e.typeParameters=n),super.parseFunctionParams(e,t)}parseVarId(e,t){super.parseVarId(e,t),e.id.type===`Identifier`&&!this.hasPrecedingLineBreak()&&this.eat(31)&&(e.definite=!0);let n=this.tsTryParseTypeAnnotation();n&&(e.id.typeAnnotation=n,this.resetEndLocation(e.id))}parseAsyncArrowFromCallExpression(e,t){return this.match(10)&&(e.returnType=this.tsParseTypeAnnotation()),super.parseAsyncArrowFromCallExpression(e,t)}parseMaybeAssign(e,t){let n,r,i;if(this.hasPlugin(`jsx`)&&(this.match(138)||this.match(43))){if(n=this.state.clone(),r=this.tryParse(()=>super.parseMaybeAssign(e,t),n),!r.error)return r.node;let{context:i}=this.state,a=i[i.length-1];(a===Jd.j_oTag||a===Jd.j_expr)&&i.pop()}if(!r?.error&&!this.match(43))return super.parseMaybeAssign(e,t);(!n||n===this.state)&&(n=this.state.clone());let a,o=this.tryParse(n=>{a=this.tsParseTypeParameters(this.tsParseConstModifier);let r=super.parseMaybeAssign(e,t);if((r.type!==`ArrowFunctionExpression`||r.extra?.parenthesized)&&n(),a?.params.length!==0&&this.resetStartLocationFromNode(r,a),r.typeParameters=a,this.hasPlugin(`jsx`)&&r.typeParameters.params.length===1&&!r.typeParameters.extra?.trailingComma){let e=r.typeParameters.params[0];e.constraint||this.raise(q.SingleTypeParameterWithoutTrailingComma,this.optionFlags&256?Wu(e.loc.end,1):e,{typeParameterName:e.name.name})}return r},n);if(!o.error&&!o.aborted)return a&&this.reportReservedArrowTypeParam(a),o.node;if(!r&&(Pp(!this.hasPlugin(`jsx`)),i=this.tryParse(()=>super.parseMaybeAssign(e,t),n),!i.error))return i.node;if(r?.node)return this.state=r.failState,r.node;if(o.node)return this.state=o.failState,a&&this.reportReservedArrowTypeParam(a),o.node;if(i?.node)return this.state=i.failState,i.node;throw r?.error||o.error||i?.error}reportReservedArrowTypeParam(e){e.params.length===1&&!e.params[0].constraint&&!e.extra?.trailingComma&&this.getPluginOption(`typescript`,`disallowAmbiguousJSXLike`)&&this.raise(q.ReservedArrowTypeParam,e)}parseMaybeUnary(e,t){return!this.hasPlugin(`jsx`)&&this.match(43)?this.tsParseTypeAssertion():super.parseMaybeUnary(e,t)}parseArrow(e){if(this.match(10)){let t=this.tryParse(e=>{let t=this.tsParseTypeOrTypePredicateAnnotation(10);return(this.canInsertSemicolon()||!this.match(15))&&e(),t});if(t.aborted)return;t.thrown||(t.error&&(this.state=t.failState),e.returnType=t.node)}return super.parseArrow(e)}parseFunctionParamType(e){this.eat(13)&&(e.optional=!0);let t=this.tsTryParseTypeAnnotation();return t&&(e.typeAnnotation=t),this.resetEndLocation(e),e}isAssignable(e,t){switch(e.type){case`TSTypeCastExpression`:return this.isAssignable(e.expression,t);case`TSParameterProperty`:return!0;default:return super.isAssignable(e,t)}}toAssignable(e,t=!1){switch(e.type){case`ParenthesizedExpression`:this.toAssignableParenthesizedExpression(e,t);break;case`TSAsExpression`:case`TSSatisfiesExpression`:case`TSNonNullExpression`:case`TSTypeAssertion`:t?this.expressionScope.recordArrowParameterBindingError(q.UnexpectedTypeCastInParameter,e):this.raise(q.UnexpectedTypeCastInParameter,e),this.toAssignable(e.expression,t);break;case`AssignmentExpression`:!t&&e.left.type===`TSTypeCastExpression`&&(e.left=this.typeCastToParameter(e.left));default:super.toAssignable(e,t)}}toAssignableParenthesizedExpression(e,t){switch(e.expression.type){case`TSAsExpression`:case`TSSatisfiesExpression`:case`TSNonNullExpression`:case`TSTypeAssertion`:case`ParenthesizedExpression`:this.toAssignable(e.expression,t);break;default:super.toAssignable(e,t)}}checkToRestConversion(e,t){switch(e.type){case`TSAsExpression`:case`TSSatisfiesExpression`:case`TSTypeAssertion`:case`TSNonNullExpression`:this.checkToRestConversion(e.expression,!1);break;default:super.checkToRestConversion(e,t)}}isValidLVal(e,t,n,r){switch(e){case`TSTypeCastExpression`:return!0;case`TSParameterProperty`:return`parameter`;case`TSNonNullExpression`:return`expression`;case`TSAsExpression`:case`TSSatisfiesExpression`:case`TSTypeAssertion`:return(r!==64||!n)&&[`expression`,!0];default:return super.isValidLVal(e,t,n,r)}}parseBindingAtom(){return this.state.type===74?this.parseIdentifier(!0):super.parseBindingAtom()}parseMaybeDecoratorArguments(e,t){if(this.match(43)||this.match(47)){let n=this.tsParseTypeArgumentsInExpression();if(this.match(6)){let r=super.parseMaybeDecoratorArguments(e,t);return r.typeArguments=n,r}this.unexpected(null,6)}return super.parseMaybeDecoratorArguments(e,t)}checkCommaAfterRest(e){return this.state.isAmbientContext&&this.match(8)&&this.lookaheadCharCode()===e?(this.next(),!1):super.checkCommaAfterRest(e)}isClassMethod(){return this.match(43)||super.isClassMethod()}isClassProperty(){return this.match(31)||this.match(10)||super.isClassProperty()}parseMaybeDefault(e,t){let n=super.parseMaybeDefault(e,t);return n.type===`AssignmentPattern`&&n.typeAnnotation&&n.right.start<n.typeAnnotation.start&&this.raise(q.TypeAnnotationAfterAssign,n.typeAnnotation),n}getTokenFromCode(e){if(this.state.inType){if(e===62){this.finishOp(44,1);return}if(e===60){this.finishOp(43,1);return}}super.getTokenFromCode(e)}reScan_lt_gt(){let{type:e}=this.state;e===43?(--this.state.pos,this.readToken_lt()):e===44&&(--this.state.pos,this.readToken_gt())}reScan_lt(){let{type:e}=this.state;return e===47?(this.state.pos-=2,this.finishOp(43,1),43):e}toAssignableListItem(e,t,n){let r=e[t];r.type===`TSTypeCastExpression`&&(e[t]=this.typeCastToParameter(r)),super.toAssignableListItem(e,t,n)}typeCastToParameter(e){return e.expression.typeAnnotation=e.typeAnnotation,this.resetEndLocationFromNode(e.expression,e.typeAnnotation),e.expression}shouldParseArrow(e){return this.match(10)?e.every(e=>this.isAssignable(e,!0)):super.shouldParseArrow(e)}shouldParseAsyncArrow(){return this.match(10)?!this.state.inConditionalConsequent:super.shouldParseAsyncArrow()}parseParenAndDistinguishExpression(e){let t=this.state.inConditionalConsequent;this.state.inConditionalConsequent=!1;let n=super.parseParenAndDistinguishExpression(e);return this.state.inConditionalConsequent=t,n}canHaveLeadingDecorator(){return super.canHaveLeadingDecorator()||this.isAbstractClass()}jsxParseOpeningElementAfterName(e){if(this.match(43)||this.match(47)){let t=this.tsTryParseAndCatch(()=>this.tsParseTypeArgumentsInExpression());t&&(e.typeArguments=t)}return super.jsxParseOpeningElementAfterName(e)}getGetterSetterExpectedParamCount(e){let t=super.getGetterSetterExpectedParamCount(e),n=this.getObjectOrClassMethodParams(e)[0];return n&&this.isThisParam(n)?t+1:t}parseCatchClauseParam(){let e=super.parseCatchClauseParam(),t=this.tsTryParseTypeAnnotation();return t&&(e.typeAnnotation=t,this.resetEndLocation(e)),e}tsInAmbientContext(e){let{isAmbientContext:t,strict:n}=this.state;this.state.isAmbientContext=!0,this.state.strict=!1;try{return e()}finally{this.state.isAmbientContext=t,this.state.strict=n}}parseClass(e,t,n){let r=this.state.inAbstractClass;this.state.inAbstractClass=!!e.abstract;try{return super.parseClass(e,t,n)}finally{this.state.inAbstractClass=r}}tsParseAbstractDeclaration(e,t){if(this.match(76))return e.abstract=!0,this.maybeTakeDecorators(t,this.parseClass(e,!0,!1));if(this.isContextual(125))return this.hasFollowingLineBreak()?null:(e.abstract=!0,this.raise(q.NonClassMethodPropertyHasAbstractModifier,e),this.tsParseInterfaceDeclaration(e));throw this.unexpected(null,76)}parseMethod(e,t,n,r,i,a,o){let s=super.parseMethod(e,t,n,r,i,a,o);if((s.abstract||s.type===`TSAbstractMethodDefinition`)&&(this.hasPlugin(`estree`)?s.value:s).body){let{key:e}=s;this.raise(q.AbstractMethodHasImplementation,s,{methodName:e.type===`Identifier`&&!s.computed?e.name:`[${this.input.slice(this.offsetToSourcePos(e.start),this.offsetToSourcePos(e.end))}]`})}return s}tsParseTypeParameterName(){return this.parseIdentifier()}shouldParseAsAmbientContext(){return!!this.getPluginOption(`typescript`,`dts`)}parse(){return this.shouldParseAsAmbientContext()&&(this.state.isAmbientContext=!0),super.parse()}getExpression(){return this.shouldParseAsAmbientContext()&&(this.state.isAmbientContext=!0),super.getExpression()}parseExportSpecifier(e,t,n,r){return!t&&r?(this.parseTypeOnlyExportSpecifier(e,n),this.finishNode(e,`ExportSpecifier`)):(e.exportKind=`value`,super.parseExportSpecifier(e,t,n,r))}parseImportSpecifier(e,t,n,r,i){return!t&&r?(this.parseTypeOnlyImportSpecifier(e,n),this.finishNode(e,`ImportSpecifier`)):(e.importKind=`value`,super.parseImportSpecifier(e,t,n,r,n?4098:4096))}parseTypeOnlyImportSpecifier(e,t){let n=e.imported,r=!1;if(this.isContextual(89)){let t=this.parseIdentifier();if(this.isContextual(89)){let i=this.parseIdentifier();kd(this.state.type)?(r=!0,n=t,e.local=this.parseIdentifier()):e.local=i}else kd(this.state.type)?e.local=this.parseIdentifier():(r=!0,n=t)}else kd(this.state.type)&&(r=!0,n=this.parseIdentifier(!0),this.isContextual(89)||this.checkReservedWord(n.name,n.start,!0,!0));r&&t&&this.raise(q.TypeModifierIsUsedInTypeImports,e.imported),e.imported=n,e.importKind=r?`type`:`value`,this.checkIdentifier(e.local??=this.eatContextual(89)?this.parseIdentifier():this.cloneIdentifier(e.imported),r?4098:4096)}parseTypeOnlyExportSpecifier(e,t){let n=e.local,r=!1;if(this.isContextual(89)){let t=this.parseIdentifier();if(this.isContextual(89)){let n=this.parseIdentifier();kd(this.state.type)?(r=!0,e.local=t,e.exported=this.parseModuleExportName()):e.exported=n}else kd(this.state.type)?e.exported=this.parseModuleExportName():(r=!0,e.local=t)}else kd(this.state.type)&&(r=!0,e.local=this.parseModuleExportName());r&&t&&this.raise(q.TypeModifierIsUsedInTypeExports,n),e.exportKind=r?`type`:`value`,e.exported??=this.eatContextual(89)?this.parseModuleExportName():this.cloneIdentifier(e.local)}fillOptionalPropertiesForTSESLint(e){switch(e.type){case`ImportDeclaration`:e.phase??=null;return;case`ExpressionStatement`:e.directive??=void 0;return;case`RestElement`:e.value=void 0;case`Identifier`:case`ArrayPattern`:case`AssignmentPattern`:case`ObjectPattern`:e.decorators??=[],e.optional??=!1,e.typeAnnotation??=void 0;return;case`TSParameterProperty`:e.accessibility??=void 0,e.decorators??=[],e.override??=!1,e.readonly??=!1,e.static??=!1;return;case`TSEmptyBodyFunctionExpression`:e.body=null;case`TSDeclareFunction`:case`FunctionDeclaration`:case`FunctionExpression`:case`ClassMethod`:case`ClassPrivateMethod`:e.declare??=!1,e.returnType??=void 0,e.typeParameters??=void 0;return;case`Property`:e.optional??=!1;return;case`TSMethodSignature`:case`TSPropertySignature`:e.optional??=!1;case`TSIndexSignature`:e.accessibility??=void 0,e.readonly??=!1,e.static??=!1;return;case`TSAbstractPropertyDefinition`:case`PropertyDefinition`:case`TSAbstractAccessorProperty`:case`AccessorProperty`:e.declare??=!1,e.definite??=!1,e.readonly??=!1,e.typeAnnotation??=void 0;case`TSAbstractMethodDefinition`:case`MethodDefinition`:e.accessibility??=void 0,e.decorators??=[],e.override??=!1,e.optional??=!1;return;case`ClassExpression`:e.id??=null;case`ClassDeclaration`:e.abstract??=!1,e.declare??=!1,e.decorators??=[],e.implements??=[],e.superTypeArguments??=void 0,e.typeParameters??=void 0;return;case`TSTypeAliasDeclaration`:case`VariableDeclaration`:e.declare??=!1;return;case`VariableDeclarator`:e.definite??=!1;return;case`TSEnumDeclaration`:e.const??=!1,e.declare??=!1;return;case`TSEnumMember`:e.computed??=!1;return;case`TSImportType`:e.qualifier??=null,e.options??=null,e.typeArguments??=null;return;case`TSInterfaceDeclaration`:e.declare??=!1,e.extends??=[];return;case`TSMappedType`:e.optional??=!1,e.readonly??=void 0;return;case`TSModuleDeclaration`:e.declare??=!1,e.global??=e.kind===`global`;return;case`TSTypeParameter`:e.const??=!1,e.in??=!1,e.out??=!1;return}}chStartsBindingIdentifierAndNotRelationalOperator(e,t){if(ef(e)){if(Mp.lastIndex=t,Mp.test(this.input)){let e=this.codePointAtPos(Mp.lastIndex);if(!tf(e)&&e!==92)return!1}return!0}return e===92}nextTokenIsIdentifierAndNotTSRelationalOperatorOnSameLine(){let e=this.nextTokenInLineStart(),t=this.codePointAtPos(e);return this.chStartsBindingIdentifierAndNotRelationalOperator(t,e)}nextTokenIsStringLiteralOnSameLine(){let e=this.nextTokenInLineStart(),t=this.codePointAtPos(e);return t===34||t===39}};function Wp(e){if(e.type!==`MemberExpression`)return!1;let{computed:t,property:n}=e;return t&&n.type!==`StringLiteral`&&(n.type!==`TemplateLiteral`||n.expressions.length>0)?!1:Jp(e.object)}function Gp(e,t){let{type:n}=e;if(e.extra?.parenthesized)return!1;if(t){if(n===`Literal`){let{value:t}=e;if(typeof t==`string`||typeof t==`boolean`)return!0}}else if(n===`StringLiteral`||n===`BooleanLiteral`)return!0;return!!(Kp(e,t)||qp(e,t)||n===`TemplateLiteral`&&e.expressions.length===0||Wp(e))}function Kp(e,t){return t?e.type===`Literal`&&(typeof e.value==`number`||`bigint`in e):e.type===`NumericLiteral`||e.type===`BigIntLiteral`}function qp(e,t){if(e.type===`UnaryExpression`){let{operator:n,argument:r}=e;if(n===`-`&&Kp(r,t))return!0}return!1}function Jp(e){return e.type===`Identifier`?!0:e.type!==`MemberExpression`||e.computed?!1:Jp(e.object)}function Yp(e,t=[]){let n=new Map;for(let t of e)n.set(t,!0);for(let e of t)n.set(e,!1);return n}var Xp=rd`placeholders`({ClassNameIsRequired:`A class name is required.`,UnexpectedSpace:`Unexpected space in placeholder.`}),Zp=e=>class extends e{parsePlaceholder(e){if(this.match(129)){let t=this.startNode();return this.next(),this.assertNoSpace(),t.name=super.parseIdentifier(!0),this.assertNoSpace(),this.expect(129),this.finishPlaceholder(t,e)}}finishPlaceholder(e,t){let n=e;return(!n.expectedNode||!n.type)&&(n=this.finishNode(n,`Placeholder`)),n.expectedNode=t,n}getTokenFromCode(e){e===37&&this.input.charCodeAt(this.state.pos+1)===37?this.finishOp(129,2):super.getTokenFromCode(e)}parseExprAtom(e){return this.parsePlaceholder(`Expression`)||super.parseExprAtom(e)}parseIdentifier(e){return this.parsePlaceholder(`Identifier`)||super.parseIdentifier(e)}checkReservedWord(e,t,n,r){e!==void 0&&super.checkReservedWord(e,t,n,r)}cloneIdentifier(e){let t=super.cloneIdentifier(e);return t.type===`Placeholder`&&(t.expectedNode=e.expectedNode),t}cloneStringLiteral(e){return e.type===`Placeholder`?this.cloneIdentifier(e):super.cloneStringLiteral(e)}parseBindingAtom(){return this.parsePlaceholder(`Pattern`)||super.parseBindingAtom()}isValidLVal(e,t,n,r){return e===`Placeholder`||super.isValidLVal(e,t,n,r)}toAssignable(e,t){e&&e.type===`Placeholder`&&e.expectedNode===`Expression`?e.expectedNode=`Pattern`:super.toAssignable(e,t)}chStartsBindingIdentifier(e,t){if(super.chStartsBindingIdentifier(e,t))return!0;let n=this.nextTokenStart();return this.input.charCodeAt(n)===37&&this.input.charCodeAt(n+1)===37}verifyBreakContinue(e,t){e.label?.type!==`Placeholder`&&super.verifyBreakContinue(e,t)}parseExpressionStatement(e,t){if(t.type!==`Placeholder`||t.extra?.parenthesized)return super.parseExpressionStatement(e,t);if(this.match(10)){let n=e;return n.label=this.finishPlaceholder(t,`Identifier`),this.next(),n.body=super.parseStatementOrSloppyAnnexBFunctionDeclaration(),this.finishNode(n,`LabeledStatement`)}this.semicolon();let n=e;return n.name=t.name,this.finishPlaceholder(n,`Statement`)}parseBlock(e,t,n){return this.parsePlaceholder(`BlockStatement`)||super.parseBlock(e,t,n)}parseFunctionId(e){return this.parsePlaceholder(`Identifier`)||super.parseFunctionId(e)}parseClass(e,t,n){let r=t?`ClassDeclaration`:`ClassExpression`;this.next();let i=this.state.strict,a=this.parsePlaceholder(`Identifier`);if(a){if(this.match(77)||this.match(129)||this.match(2))e.id=a;else if(n||!t)return e.id=null,e.body=this.finishPlaceholder(a,`ClassBody`),this.finishNode(e,r);else throw this.raise(Xp.ClassNameIsRequired,this.state.startLoc)}else this.parseClassId(e,t,n);return super.parseClassSuper(e),e.body=this.parsePlaceholder(`ClassBody`)||super.parseClassBody(!!e.superClass,i),this.finishNode(e,r)}parseExport(e,t){let n=this.parsePlaceholder(`Identifier`);if(!n)return super.parseExport(e,t);let r=e;if(!this.isContextual(94)&&!this.match(8))return r.specifiers=[],r.source=null,r.declaration=this.finishPlaceholder(n,`Declaration`),this.finishNode(r,`ExportNamedDeclaration`);this.expectPlugin(`exportDefaultFrom`);let i=this.startNode();return i.exported=n,r.specifiers=[this.finishNode(i,`ExportDefaultSpecifier`)],super.parseExport(r,t)}isExportDefaultSpecifier(){if(this.match(61)){let e=this.nextTokenStart();if(this.isUnparsedContextual(e,`from`)&&this.input.startsWith(Hd(129),this.nextTokenStartSince(e+4)))return!0}return super.isExportDefaultSpecifier()}maybeParseExportDefaultSpecifier(e,t){return e.specifiers?.length?!0:super.maybeParseExportDefaultSpecifier(e,t)}checkNamedExport(){}parseImport(e){let t=this.parsePlaceholder(`Identifier`);if(!t)return super.parseImport(e);if(e.specifiers=[],!this.isContextual(94)&&!this.match(8))return e.source=this.finishPlaceholder(t,`StringLiteral`),this.semicolon(),this.finishNode(e,`ImportDeclaration`);let n=this.startNodeAtNode(t);return n.local=t,e.specifiers.push(this.finishNode(n,`ImportDefaultSpecifier`)),this.eat(8)&&(this.maybeParseStarImportSpecifier(e)||this.parseNamedImportSpecifiers(e)),this.expectContextual(94),e.source=this.parseImportSource(),this.semicolon(),this.finishNode(e,`ImportDeclaration`)}parseImportSource(){return this.parsePlaceholder(`StringLiteral`)||super.parseImportSource()}assertNoSpace(){this.state.start>this.offsetToSourcePos(this.state.lastTokEndLoc.index)&&this.raise(Xp.UnexpectedSpace,this.state.lastTokEndLoc)}},Qp=e=>class extends e{parseV8Intrinsic(){if(this.match(50)){let e=this.state.startLoc,t=this.startNode();if(this.next(),Dd(this.state.type)){let e=this.parseIdentifierName(),n=this.createIdentifier(t,e);if(this.castNodeTo(n,`V8IntrinsicIdentifier`),this.match(6))return n}this.unexpected(e)}}parseExprAtom(e){return this.parseV8Intrinsic()||super.parseExprAtom(e)}},$p=[`fsharp`,`hack`],em=[`^^`,`@@`,`^`,`%`,`#`];function tm(e){if(e.has(`decorators`)&&e.has(`decorators-legacy`))throw Error(`Cannot use the decorators and decorators-legacy plugin together`);if(e.has(`flow`)&&e.has(`typescript`))throw Error(`Cannot combine flow and typescript plugins.`);if(e.has(`placeholders`)&&e.has(`v8intrinsic`))throw Error(`Cannot combine placeholders and v8intrinsic plugins.`);if(e.has(`pipelineOperator`)){let t=e.get(`pipelineOperator`).proposal;if(!$p.includes(t)){let e=$p.map(e=>`"${e}"`).join(`, `);throw Error(`"pipelineOperator" requires "proposal" option whose value must be one of: ${e}.`)}if(t===`hack`){if(e.has(`placeholders`))throw Error(`Cannot combine placeholders plugin and Hack-style pipes.`);if(e.has(`v8intrinsic`))throw Error(`Cannot combine v8intrinsic plugin and Hack-style pipes.`);let t=e.get(`pipelineOperator`).topicToken;if(!em.includes(t)){let e=em.map(e=>`"${e}"`).join(`, `);throw Error(`"pipelineOperator" in "proposal": "hack" mode also requires a "topicToken" option whose value must be one of: ${e}.`)}}}if(e.has(`moduleAttributes`))throw Error("`moduleAttributes` has been removed in Babel 8, please migrate to import attributes instead.");if(e.has(`importAssertions`))throw Error("`importAssertions` has been removed in Babel 8, please use import attributes instead.");if(e.has(`deprecatedImportAssert`)?console.warn("`deprecatedImportAssert` has been removed in Babel 8, please use import attributes instead."):e.has(`importAttributes`)&&e.get(`importAttributes`).deprecatedAssertSyntax&&console.warn("The 'importAttributes' plugin has been removed in Babel 8. Please migrate any usage of `assert`-style attributes to `with`."),e.has(`recordAndTuple`))throw Error(`The 'recordAndTuple' plugin has been removed in Babel 8. Please remove it from your configuration.`);if(e.has(`asyncDoExpressions`)&&!e.has(`doExpressions`)){let e=Error(`'asyncDoExpressions' requires 'doExpressions', please add 'doExpressions' to parser plugins.`);throw e.missingPlugins=`doExpressions`,e}if(e.has(`optionalChainingAssign`)&&e.get(`optionalChainingAssign`).version!==`2023-07`)throw Error(`The 'optionalChainingAssign' plugin requires a 'version' option, representing the last proposal update. Currently, the only supported value is '2023-07'.`);if(e.has(`discardBinding`)&&e.get(`discardBinding`).syntaxType!==`void`)throw Error(`The 'discardBinding' plugin requires a 'syntaxType' option. Currently the only supported value is 'void'.`);if(e.has(`decimal`))throw Error(`The 'decimal' plugin has been removed in Babel 8. Please remove it from your configuration.`);if(e.has(`importReflection`))throw Error(`The 'importReflection' plugin has been removed in Babel 8. Use 'sourcePhaseImports' instead, and replace 'import module' with 'import source' in your code.`)}var nm={estree:sd,jsx:Lf,flow:Ef,typescript:Up,v8intrinsic:Qp,placeholders:Zp},rm=Object.keys(nm),im=class extends jp{constructor(e,t,n){let r=ad(e);super(r,t),this.options=r,this.initializeScopes(),this.plugins=n,this.filename=r.sourceFilename,this.startIndex=r.startIndex;let i=0;r.allowAwaitOutsideFunction&&(i|=1),r.allowReturnOutsideFunction&&(i|=2),r.allowImportExportEverywhere&&(i|=8),r.allowSuperOutsideMethod&&(i|=16),r.allowUndeclaredExports&&(i|=64),r.allowNewTargetOutsideFunction&&(i|=4),r.allowYieldOutsideFunction&&(i|=32),r.ranges&&(i|=128),r.locations===!0&&(i|=256),r.tokens&&(i|=512),r.createImportExpressions&&(i|=1024),r.createParenthesizedExpressions&&(i|=2048),r.errorRecovery&&(i|=4096),r.attachComment&&(i|=8192),r.annexB&&(i|=16384),this.optionFlags=i}getScopeHandler(){return gf}parse(){this.enterInitialScopes();let e=this.startNode(),t=this.startNode();this.nextToken(),e.errors=[];let n=this.parseTopLevel(e,t);return n.errors=this.state.errors,n.comments.length=this.state.commentsLen,n}};function am(e,t){if(t?.sourceType===`unambiguous`){t={...t};try{t.sourceType=`module`;let n=sm(t,e),r=n.parse();if(n.sawUnambiguousESM)return r;if(n.ambiguousScriptDifferentAst)try{return t.sourceType=`script`,sm(t,e).parse()}catch{}else r.program.sourceType=`script`;return r}catch(n){try{return t.sourceType=`script`,sm(t,e).parse()}catch{}throw n}}return sm(t,e).parse()}function om(e){let t={};for(let n of Object.keys(e))t[n]=Kd(e[n]);return t}om(Ed);function sm(e,t){let n=im,r=new Map;if(e?.plugins){for(let t of e.plugins){let e,n;typeof t==`string`?e=t:[e,n]=t,r.has(e)||r.set(e,n||{})}tm(r),n=lm(r)}return new n(e,t,r)}var cm=new Map;function lm(e){let t=[];for(let n of rm)e.has(n)&&t.push(n);let n=t.join(`|`),r=cm.get(n);if(!r){r=im;for(let e of t)r=nm[e](r);cm.set(n,r)}return r}var um=e=>e.includes(`/`)?e.slice(0,e.lastIndexOf(`/`)):``,dm=(e,t)=>{let n=t.startsWith(`/`)||e===``?[]:e.split(`/`);for(let e of t.split(`/`))if(e!==``&&e!==`.`){if(e===`..`){if(n.length===0)return;n.pop()}else n.push(e)}return n.length===0?void 0:n.join(`/`)},fm=class{items=[];locate(e,t){let n=e.position(t.start);return{fileName:e.path,lineNumber:n.line,columnNumber:n.column}}add(e,t,n,r,i,a=`error`){this.report({code:n,severity:a,message:r,...i===void 0?{}:{fix:i},origins:[this.locate(e,t)]})}report(e){let t=Ss[e.code];this.items.push({...e,...t.upgrade===void 0?{}:{upgrade:t.upgrade}})}get blocking(){return this.items.some(e=>e.severity===`error`)}},pm=e=>{let t=0,n=e.flatMap(e=>{let n=t;return t+=e.rules.length+1,e.rules.map(e=>({...e,order:n+e.order}))}),r={},i={},a=[],o=new Map,s=e.flatMap(e=>e.diagnostics);for(let t of e){Object.assign(r,t.variables),Object.assign(i,t.darkVariables),a.push(...t.headAtRules);for(let e of t.fontFaces)o.set(e.css,e)}return{rules:n,headAtRules:a,fontFaces:[...o.values()],variables:r,darkVariables:i,diagnostics:s}},mm=e=>is(e)&&typeof e.type==`string`&&typeof e.start==`number`&&typeof e.end==`number`,J=(e,t)=>{let n=e[t];return mm(n)?n:void 0},hm=(e,t)=>{let n=e[t];return Array.isArray(n)?n.filter(mm):[]},Y=(e,t)=>{let n=e[t];return typeof n==`string`?n:void 0},gm=e=>{if(e!==void 0){if(e.type===`Identifier`)return Y(e,`name`);if(e.type===`StringLiteral`)return Y(e,`value`)}},_m=e=>{let t=e;for(;;){if(t.type===`ParenthesizedExpression`||t.type===`TSAsExpression`||t.type===`TSSatisfiesExpression`||t.type===`TSNonNullExpression`||t.type===`TSTypeAssertion`||t.type===`TypeCastExpression`){let e=J(t,`expression`);if(e===void 0)return t;t=e;continue}return t}},vm=class extends Error{path;line;column;constructor(e,t,n,r){super(t),this.name=`SourceSyntaxError`,this.path=e,this.line=n,this.column=r}},ym=(e,t)=>{let n=bs(t),r=e=>xs(n,e),i;try{i=am(t,{plugins:[`typescript`,`jsx`],sourceType:`module`}).program}catch(t){let n=is(t)&&is(t.loc)?t.loc:void 0,r=typeof n?.line==`number`?n.line:1,i=typeof n?.column==`number`?n.column+1:1;throw new vm(e,t instanceof Error?t.message.replace(/\s*\(\d+:\d+\)\s*$/,``):``,r,i)}if(!mm(i))throw new vm(e,`The file did not parse to a program.`,1,1);return{path:e,source:t,program:i,position:r}},bm=(e,t)=>e===``?t:`${e}.${t}`,xm=e=>{switch(e.k){case`path`:return e.path===``?void 0:{bind:e.path};case`value`:return e.value;default:return}},Sm=e=>e===null||typeof e==`string`||typeof e==`number`||typeof e==`boolean`,Cm=e=>typeof e!=`object`||!e||!(`el`in e||`each`in e||`raw`in e||`preheader`in e||`if`in e&&Array.isArray(e.then)),wm=[`transactional`,`promotional`,`service_implicit`],Tm=[`marketing`,`utility`,`authentication`],Em=[`text`,`image`,`video`,`document`],Dm=[`category`],Om=[`language`,`category`],km=e=>typeof e==`object`&&!!e&&`concat`in e,Am=e=>{let t=[],n=[],r=``,i=e=>{if(e===null||typeof e==`boolean`)return;if(typeof e==`string`){r+=e;return}if(typeof e==`number`){r+=String(e);return}if(typeof e==`object`&&km(e)){for(let t of e.concat)i(t);return}if(typeof e==`object`&&(`el`in e||`each`in e||`raw`in e))throw TypeError(`A WhatsApp text part holds text and values only.`);if(typeof e==`object`&&`if`in e&&Array.isArray(e.then))throw TypeError(`A WhatsApp text part cannot branch.`);let a=e,o=JSON.stringify(a),s=n.indexOf(o);s<0&&(s=n.length,n.push(o),t.push(a)),r+=`{{${s+1}}}`};for(let t of e)i(t);return{template:r,params:t}},jm=(e,t,n)=>{if(Math.abs(e.length-t.length)>n)return n+1;let r=Array.from({length:t.length+1},(e,t)=>t);for(let n=1;n<=e.length;n++){let i=[n];for(let a=1;a<=t.length;a++)i[a]=Math.min(i[a-1]+1,r[a]+1,r[a-1]+(e[n-1]===t[a-1]?0:1));r=i}return r[t.length]},Mm=(e,t)=>{let n=e.toLowerCase(),r=t.find(e=>e.toLowerCase()===n);if(r!==void 0&&r!==e)return r;let i=Math.max(1,Math.min(3,Math.floor(e.length/3))),a,o=i+1;for(let e of t){let t=jm(n,e.toLowerCase(),i);t<o&&(a=e,o=t)}return a},Nm=e=>typeof e==`object`&&!!e&&!Array.isArray(e),Pm=(e,t,n=0)=>{let r=t.$ref;if(typeof r!=`string`||n>16)return t;if(r===`#`)return e;let i=e;for(let e of r.replace(/^#\//,``).split(`/`)){if(!Nm(i))return t;i=i[e.replace(/~1/g,`/`).replace(/~0/g,`~`)]}return Nm(i)?Pm(e,i,n+1):t},Fm=(e,t)=>{let n=Pm(e,t);return[n,...[n.anyOf,n.oneOf,n.allOf].flatMap(t=>Array.isArray(t)?t.filter(Nm).flatMap(t=>Fm(e,t)):[])]},Im=(e,t)=>{if(t===void 0)return`unknown`;let n=new Set;for(let r of Fm(e,t)){let e=r.type;if(typeof e==`string`)n.add(e);else if(Array.isArray(e))for(let t of e)typeof t==`string`&&n.add(t);if(r.const!==void 0&&n.add(typeof r.const),Array.isArray(r.enum))for(let e of r.enum)n.add(typeof e)}if(n.delete(`null`),n.size!==1)return`unknown`;let[r]=n;switch(r){case`string`:return`string`;case`number`:case`integer`:return`number`;case`boolean`:return`boolean`;case`array`:return`array`;case`object`:return`object`;default:return`unknown`}},Lm=(e,t,n)=>{let r=[],i=!0,a;for(let o of Fm(e,t)){if(Nm(o.properties)&&(i=!1,r.push(...Object.keys(o.properties)),Object.hasOwn(o.properties,n))){let e=o.properties[n],t=Array.isArray(o.required)&&o.required.includes(n);a={schema:Nm(e)?e:void 0,required:a?.required===!0||t}}if(o.type===`object`&&!Nm(o.properties)&&o.additionalProperties===!1&&(i=!1),(Array.isArray(o.items)||Nm(o.items))&&/^\d+$/.test(n))return i=!1,{found:!0,schema:Nm(o.items)?o.items:void 0,required:!0,names:r,open:!1};Nm(o.additionalProperties)&&a===void 0&&(a={schema:o.additionalProperties,required:!1},i=!1)}return a===void 0?{found:!1,schema:void 0,required:!1,names:r,open:i}:{found:!0,schema:a.schema,required:a.required,names:r,open:!1}},Rm=(e,t)=>t.size===0?e:{...e,guards:new Set([...e.guards,...t])},zm=e=>{let t=e.split(`.`);return t.map((e,n)=>t.slice(0,n+1).join(`.`))},Bm=e=>typeof e==`object`&&e&&`bind`in e?e.bind:void 0,Vm=(e,t)=>{let n=e=>e===void 0?new Set:new Set(zm(e));if(`present`in e)return t?n(e.present):new Set;if(`truthy`in e){let r=e.truthy,i=Bm(r)??(typeof r==`object`&&r&&`length`in r?Bm(r.length):void 0);return t?n(i):new Set}if(`not`in e)return Vm(e.not,!t);if(`and`in e||`or`in e){let n=`and`in e?e.and:e.or,r=`and`in e?t:!t,i=n.map(e=>Vm(e,t));if(r)return new Set(i.flatMap(e=>[...e]));let[a,...o]=i;return new Set([...a??[]].filter(e=>o.every(t=>t.has(e))))}let[r,i]=e.args,a=Bm(r)??Bm(i),o=Bm(r)===void 0?r:i;if(a===void 0)return new Set;let s=o===null,c=typeof o!=`object`||!o||`concat`in o||`format`in o||`op`in o||`length`in o||`count`in o;return e.cmp===`eq`?!c||t===s?new Set:n(a):e.cmp===`ne`?!c||t!==s?new Set:n(a):t?n(a):new Set},Hm=(e,t,n)=>{let r=[],i=new Set,a=e=>{let t=`${e.code}\0${e.message}\0${e.src?.join(`,`)??``}`;i.has(t)||(i.add(t),r.push(e))},o=e=>e.startsWith(`$`)?e.slice(1):`input.${e}`,s=(t,n,r)=>{let i=t.split(`.`),a=i[0],o;if(a.startsWith(`$`)){if(!n.variables.has(a.slice(1)))return;o=n.variables.get(a.slice(1))}else{let i=Lm(e,e,a);if(!i.found)return c(a,i,``,r,t);!i.required&&!n.guards.has(a)&&l(a,r),o=i.schema}for(let a=1;a<i.length;a++){if(o===void 0)return;let s=i[a],u=Lm(e,o,s),d=i.slice(0,a).join(`.`);if(!u.found)return u.open?void 0:c(s,u,d,r,t);let f=i.slice(0,a+1).join(`.`);!u.required&&!n.guards.has(f)&&l(f,r),o=u.schema}return o},c=(e,t,n,r,i)=>{if(t.open)return;let s=Mm(e,t.names),c=n===``?`input`:o(n);a({code:`unknown-field`,message:`\`${n===``?`input`:o(n)}.${e}\` is not in the schema${t.names.length===0?``:` (${c} has ${t.names.map(e=>`\`${e}\``).join(`, `)})`}.`,...s===void 0?{fix:`Add \`${e}\` to the schema, or bind a field it declares.`}:{fix:`Did you mean \`${n===``?`input`:o(n)}.${s}\`?`},src:r})},l=(e,t)=>{a({code:`unguarded-optional`,message:`\`${o(e)}\` is optional and is read outside a guard, so a send without it would render a blank.`,fix:`Guard it: {${o(e)} && …}, or make the field required in the schema.`,src:t})},u=(t,n,r)=>{if(typeof t==`string`)return`string`;if(typeof t==`number`)return`number`;if(typeof t==`boolean`)return`boolean`;if(t===null)return`unknown`;if(`bind`in t)return Im(e,s(t.bind,n,r));if(`lit`in t)return`unknown`;if(`concat`in t){for(let e of t.concat)u(e,n,r);return`string`}if(`format`in t)return f(t.format,t.args,n,r),`string`;if(`if`in t){p(t.if,n,r);let e=u(t.then,Rm(n,Vm(t.if,!0)),r);return u(t.else,Rm(n,Vm(t.if,!1)),r),e}if(`op`in t){for(let e of t.args)d(e,`number`,n,r,`arithmetic`);return`number`}if(`length`in t)return u(t.length,n,r),`number`;if(`count`in t){let i=Bm(t.count),a;if(i===void 0)u(t.count,n,r);else{let t=s(i,n,r);if(t!==void 0)for(let n of Fm(e,t))Nm(n.items)&&(a=Pm(e,n.items))}let o=new Map(n.variables).set(t.as.replace(/^\$/,``),a);return p(t.where,{...n,variables:o},r),`number`}return`unknown`},d=(e,t,n,r,i)=>{let s=u(e,n,r);if(s===`unknown`||s===t)return;let c=Bm(e);a({code:`invalid-binding-type`,message:`${c===void 0?`This value`:`\`${o(c)}\``} is ${s===`array`?`an array`:`a ${s}`}, and ${i} needs ${t===`array`?`an array`:`a ${t}`}.`,fix:t===`number`?`Bind a number field, or send the number in the payload.`:`Bind a ${t} field.`,src:r})},f=(e,t,n,r)=>{let i={money:[`number`,`string`,`string`],number:[`number`,void 0,`string`],date:[`string`,`string`,`string`],time:[`string`,`string`,`string`],plural:[`number`,void 0,`string`],list:[`array`,`string`]};for(let[a,o]of t.entries()){let t=i[e]?.[a];t===void 0?u(o,n,r):d(o,t,n,r,`\`fmt.${e}\``)}},p=(e,t,n)=>{if(`present`in e){m(e.present,t,n);return}if(`truthy`in e){let r=e.truthy,i=Bm(r);i===void 0?h(r,t,n):m(i,t,n);return}if(`not`in e){p(e.not,t,n);return}if(`and`in e){let r=t;for(let t of e.and)p(t,r,n),r=Rm(r,Vm(t,!0));return}if(`or`in e){let r=t;for(let t of e.or)p(t,r,n),r=Rm(r,Vm(t,!1));return}let r=e.cmp===`lt`||e.cmp===`gt`||e.cmp===`le`||e.cmp===`ge`,i=r&&e.args.every(e=>u(e,t,n)===`string`);for(let a of e.args){let e=Bm(a);i||(e!==void 0&&!r?m(e,t,n):r?d(a,`number`,t,n,`a comparison`):h(a,t,n))}},m=(e,t,n)=>{s(e,{...t,guards:new Set([...t.guards,...zm(e)])},n)},h=(e,t,n)=>{if(typeof e==`object`&&e&&`length`in e){let r=Bm(e.length);if(r!==void 0){m(r,t,n);return}}u(e,t,n)},g=(e,t,n,r)=>{let i=u(e,t,n);if(i===`array`||i===`object`){let t=Bm(e);a({code:`invalid-binding-type`,message:`${t===void 0?`This value`:`\`${o(t)}\``} is ${i===`array`?`an array`:`an object`}, and ${r} takes a string or a number.`,fix:i===`array`?`Render the items with .map, or bind one of their fields.`:`Bind one of its fields.`,src:n})}},_=(e,t,n)=>{if(e===void 0||typeof e==`string`)return;if(Array.isArray(e)){for(let[,r]of e)g(r,t,n,`a style value`);return}let r=e;p(r.if,t,n),_(r.then,Rm(t,Vm(r.if,!0)),n),_(r.else,Rm(t,Vm(r.if,!1)),n)},v=(t,n,r)=>{for(let i of t){if(Cm(i)){g(i,n,r,`text`);continue}if(`el`in i){for(let e of Object.values(i.attrs??{}))g(e,n,i.src,`an attribute`);_(i.style,n,i.src),v(i.children??[],n,i.src)}else if(`if`in i)p(i.if,n,i.src),v(i.then,Rm(n,Vm(i.if,!0)),i.src??r),v(i.else??[],Rm(n,Vm(i.if,!1)),i.src??r);else if(`each`in i){let t=Bm(i.each),c;if(t!==void 0){c=s(t,n,i.src);let r=Im(e,c);r!==`array`&&r!==`unknown`&&a({code:`invalid-binding-type`,message:`\`${o(t)}\` is ${r===`object`?`an object`:`a ${r}`}, and a loop needs an array.`,fix:`Loop over an array field.`,src:i.src})}else u(i.each,n,i.src);let l;if(c!==void 0)for(let t of Fm(e,c))Nm(t.items)&&(l=Pm(e,t.items));let d=i.as.replace(/^\$/,``);i.where!==void 0&&p(i.where,{...n,variables:new Map(n.variables).set(d,l)},i.src??r);let f=new Map(n.variables);f.set(d,i.chunk===void 0||l===void 0?l:{type:`array`,items:l}),i.index!==void 0&&f.set(i.index.replace(/^\$/,``),{type:`integer`});let m=i.where===void 0?n:Rm(n,Vm(i.where,!0));v(i.children,{...m,variables:f},i.src??r)}else if(`raw`in i)for(let e of i.raw)typeof e!=`string`&&g(`attr`in e?e.attr:e.text,n,i.src,`markup`)}},y={variables:new Map,guards:new Set};v(t,y);for(let e of n)g(e,y,void 0,`the subject or preheader`);return r},Um=(e,t)=>{let n=e=>e.flatMap(e=>Cm(e)?[e]:`if`in e?[...n(e.then),...n(e.else??[])]:`each`in e?n(e.children):[e]),r=e=>{for(let t of e)Cm(t)||(`el`in t?i(t):`if`in t?(r(t.then),r(t.else??[])):`each`in t&&r(t.children))},i=e=>{let i=Wc(e.el),a=n(e.children??[]);if(i!==void 0){if(i.content===`void`&&a.length>0)t({code:`void-element-children`,message:`<${e.el}> cannot have children.`,src:e.src});else if(i.content===`text`||i.content===`raw`)for(let n of a)!Cm(n)&&!(`raw`in n)&&t({code:`invalid-content`,message:`<${e.el}> accepts text only.`,src:e.src});else if(i.childElements!==void 0)for(let n of a)if(Cm(n)){if(typeof n==`string`&&n.trim()===``)continue;t({code:`invalid-content`,message:`<${e.el}> cannot contain text directly; put it inside <${i.childElements[0]}>.`,src:e.src})}else`el`in n&&!i.childElements.includes(n.el)&&t({code:`invalid-content`,message:`<${e.el}> accepts only ${i.childElements.map(e=>`<${e}>`).join(`, `)}; found <${n.el}>.`,src:n.src??e.src});r(e.children??[])}};r(e)},Wm=``,Gm=``,Km=/(\d+)/g,qm=class{entries=[];value(e){return typeof e==`string`?e:(this.entries.push({value:e}),`${Wm}${this.entries.length-1}${Gm}`)}nodes(e){return this.entries.push({nodes:e}),`${Wm}${this.entries.length-1}${Gm}`}parse(e){let t=[],n=0;for(let r of e.matchAll(Km)){r.index>n&&t.push(e.slice(n,r.index));let i=this.entries[Number(r[1])];i!==void 0&&t.push(i),n=r.index+r[0].length}return n<e.length&&t.push(e.slice(n)),t}toValue(e){let t=this.parse(e);if(t.length===0)return``;let n=[];for(let e of t)if(typeof e==`string`)n.push(e);else if(`value`in e)n.push(e.value);else return;return n.length===1?n[0]:{concat:n}}},Jm=(e,t)=>Sm(t)?t:e.value(t),Ym=e=>e===void 0?{}:{src:e},Xm=(e,t)=>{let n=[],r=!1,i,a=``,o=()=>{a!==``&&n.push(a),a=``};for(let s=0;s<t.length;s++){let c=t[s];if(c===Wm){let i=t.indexOf(Gm,s),a=e.parse(t.slice(s,i+1))[0];if(i>s&&a!==void 0&&typeof a!=`string`&&`value`in a){o(),n.push(r?{attr:a.value}:{text:a.value}),s=i;continue}}!r&&c===`<`?r=!0:r&&i===void 0&&(c===`"`||c===`'`)?i=c:r&&i===c?i=void 0:r&&i===void 0&&c===`>`&&(r=!1),a+=c}return o(),n},Zm=(e,t)=>{if(!is(t))return;let n=[];for(let[r,i]of Object.entries(t))if(i!=null){if(typeof i==`number`)n.push([r,i]);else if(typeof i==`string`){let t=e.toValue(i);t!==void 0&&n.push([r,t])}}return n},Qm=(e,t,n)=>{if(e===null)return[];switch(e.type){case`Text`:{let n=[];for(let r of t.parse(e.value))typeof r==`string`?n.push(r):`value`in r?n.push(r.value):n.push(...r.nodes);return n}case`Fragment`:return e.children.flatMap(e=>Qm(e,t,n));case`Raw`:return[{raw:Xm(t,e.html),...e.text===``?{}:{text:e.text},...Ym(n)}];case`Element`:{let r={},i;for(let[n,a]of Object.entries(e.props)){if(n===`key`||a==null||a===!1)continue;if(n===`style`){i=Zm(t,a);continue}let e=n===`className`?`class`:n;typeof a==`string`?r[e]=t.toValue(a)??a:(typeof a==`number`||a===!0)&&(r[e]=a)}let a=e.props[Ac]===!0;return[{el:e.tag,...Object.keys(r).length===0?{}:{attrs:r},...i===void 0||Array.isArray(i)&&i.length===0?{}:{style:i},...e.children.length===0?{}:{children:e.children.flatMap(e=>Qm(e,t,n))},...a?{reserved:!0}:{},...Ym(n)}]}}},$m={Email:[`gutter`],Button:[`height`,`paddingX`,`borderRadius`,`borderWidth`,`fontSize`,`width`],Spacer:[`height`],Columns:[`gap`],Divider:[`thickness`],BrandLogo:[`width`]},eh={Email:yl,Section:xl,Columns:El,Column:Dl,Button:Nl,Spacer:Pl,Divider:Fl,Image:Il,Link:Ll},th=(e,t,n,r)=>{switch(r.k){case`object`:{let n={};for(let[i,a]of r.fields)n[i]=th(e,t,i,a);return n}case`nodes`:e.lowerer.error(e.ctx,e.node,`dynamic-expression`,`<${e.name} ${n}> takes text, not markup.`);return;default:{let i=xm(r);if(i===void 0){e.lowerer.error(e.ctx,e.node,`dynamic-expression`,`<${e.name} ${n}> cannot be the input as a whole.`,`Bind one field.`);return}return Jm(t,i)}}},nh=(e,t)=>{let n=t.length===1?t[0]:void 0;return n!==void 0&&Cm(n)&&n!==null&&typeof n!=`boolean`?typeof n==`string`?n:e.value(n):t.map(t=>Cm(t)?typeof t==`string`?t:e.value(t):e.nodes([t]))},rh=(e,t)=>{if(e!==void 0)return Sl(e);let n={length:t};return{concat:[{op:`/`,args:[{op:`-`,args:[100,{op:`%`,args:[100,n]}]},n]},`%`]}},ih=(e,t,n)=>{let{lowerer:r,ctx:i,node:a}=e,o=t.get(`each`),s=o===void 0?void 0:xm(o);if(s===void 0){r.error(i,a,`invalid-columns-each`,`<Columns each> takes a list from the input.`,`Write each={input.items}.`);return}let c=t.get(`per`),l=c?.k===`value`?c.value:void 0;if(c!==void 0&&!(typeof l==`number`&&Number.isInteger(l)&&l>=1)){r.error(i,a,`invalid-columns-per`,`<Columns per> is a whole number of cells, one or more.`,`Write per={2}.`);return}let u=typeof l==`number`?l:void 0,d=hm(a,`children`).filter(e=>e.type!==`JSXText`||(Y(e,`value`)??``).trim()!==``),f=d.length===1?d[0]:void 0,p=f?.type===`JSXExpressionContainer`?J(f,`expression`):void 0,m=p===void 0?void 0:_m(p);if(m===void 0||!/Function/.test(m.type)){r.error(i,a,`invalid-columns-each`,`<Columns each> takes a function of one item as its only child.`,`Write {(item) => <Column>…</Column>}.`);return}let h=u===void 0?void 0:r.freshName(i,`row`),g={...i,loops:h===void 0?i.loops:[...i.loops,h],columnWidth:rh(u,s),columnStack:n},_=r.eachOver(g,a,h===void 0?s:{bind:`$${h}`},m);if(_!==void 0)return{cells:_,wrap:e=>h===void 0||u===void 0?e:[{each:s,as:h,chunk:u,children:e,src:r.src(i.module,a)}]}},ah=e=>{let{lowerer:t,ctx:n,node:r,binding:i}=e,a=i.specifier;if(i.kind===`markup`&&(a===`@samva/markup/sms`||a===`@samva/markup/whatsapp`)){let i=e.channel?.(e);return i===void 0?(t.error(n,r,`wrong-channel`,`<${e.name}> belongs in the ${a.split(`/`).pop()} body of a template.`,"Write it in the `sms` or `whatsapp` function of defineTemplate."),[]):i}let o=i.imported,s=i.kind===`markup`&&a===`@samva/markup/email`,c=i.kind===`brand`;if(!(s||c))return t.error(n,r,`unknown-component`,`<${e.name}> is not a component the profile can read.`,`Import components from @samva/markup/email, ${e.brandPlugin.specifier}, or the project.`),[];let l;if(s)l=eh[o];else{if(e.brand===void 0)return t.error(n,r,`brand-unavailable`,`<${e.name}> comes from ${i.specifier}, and this build has no brand to resolve it.`,`Compile with a brand, or remove the brand components.`),[];let a=Bu(e.brand,e.brandPlugin);l=o===`BrandLogo`?a.BrandLogo:o===`BrandFooter`?a.BrandFooter:void 0}if(l===void 0||!Object.hasOwn(eh,o)&&s)return t.error(n,r,`unknown-component`,`\`${o}\` is not an email component.`,`Use one of ${Object.keys(eh).join(`, `)}, BrandLogo or BrandFooter.`),[];let u=t.attributeBindings(n,e.attributes);if(u===void 0)return[];let d=u,f=e=>e,p,m=u.get(`stack`),h=m===void 0||xm(m);if(o===`Columns`&&typeof h!=`boolean`)return t.error(n,r,`invalid-columns-stack`,`<Columns stack> decides the layout at compile time, so it must be true or false.`,`Write stack={false}, or leave it out to stack on narrow screens.`),[];let g={...n,columnWidth:void 0,columnStack:o===`Columns`?h===!0:void 0};if(o===`Columns`&&u.has(`each`)&&u.has(`gap`))return t.error(n,r,`invalid-columns-gap`,`<Columns gap> spaces Column children written out in the row; cells repeated with each cannot take it.`,`Write the Columns out, or pad each repeated cell (className="px-2").`),[];if(o===`Columns`&&u.has(`each`)){let t=ih(e,u,h===!0);if(t===void 0)return[];d=new Map([...u].filter(([e])=>e!==`each`&&e!==`per`&&e!==`stack`)),p=[t.cells],f=t.wrap}else p=t.jsxChildren(g,r);if(o===`Columns`&&u.has(`gap`)&&p.some(e=>!Cm(e)&&!(`el`in e)))return t.error(n,r,`invalid-columns-gap`,`<Columns gap> spaces Column children that always render; a conditional or repeated Column would leave a stray gap.`,`Pad the cells instead (className="pr-6"), or write each Column unconditionally.`),[];let _=new qm,v={};for(let[t,n]of d)v[t]=th(e,_,t,n);for(let i of $m[o]??[]){let a=v[i];if(typeof a==`string`&&!/^-?\d+(\.\d+)?$/.test(a)&&a!==void 0)return t.error(n,r,`dynamic-numeric-prop`,`<${e.name} ${i}> sizes the layout at compile time, so it must be a number literal.`,`Write ${i}={44}.`),[]}if(o===`Column`&&v.width===void 0&&n.columnWidth!==void 0&&(v.width=Jm(_,n.columnWidth)),o===`Column`&&n.columnStack===!0&&(v.className=typeof v.className==`string`&&v.className!==``?`${hl.stack} ${v.className}`:hl.stack),p.length>0&&(v.children=nh(_,p)),o===`Button`&&typeof v.children==`string`&&v.children!==``&&v.width===void 0&&v.height!==void 0&&_.toValue(v.children)!==v.children)return t.error(n,r,`button-dynamic-label`,`Classic Outlook draws the button from a fixed box, and a label read at render time cannot size it.`,`Give the button a width: <Button width={200} …>.`),[];gs();let y=l(v),b=t.findings.locate(n.module.parsed,r);for(let e of gs())t.findings.items.push({...e,origins:[b]});return y!==null&&(!is(y)||typeof y.type!=`string`)?[]:f([...Qm(y,_,t.src(n.module,r))])},oh=(e,t,n)=>({ok:!1,node:t,module:e,reason:n}),sh=e=>{if(e.type===`ObjectProperty`&&e.computed!==!0){let t=J(e,`key`);if(t===void 0)return;if(t.type===`Identifier`)return Y(t,`name`);if(t.type===`StringLiteral`)return Y(t,`value`);if(t.type===`NumericLiteral`)return String(t.value)}},ch=(e,t,n,r=new Set)=>{let i=`${t.path}\0${n}`;if(r.has(i))return;r.add(i);let a=t.declarations.get(n);if(a!==void 0)return{module:t,value:a.value};let o=t.imports.get(n);if(o===void 0)return;if(o.kind===`asset`)return{asset:o.path};if(o.kind!==`project`)return;let s=e.project.modules.get(o.path);if(s===void 0)return;if(o.imported==="default"){let e=s.defaultExport;return e===void 0?void 0:{module:s,value:e}}let c=s.exports.get(o.imported);return c===void 0?void 0:ch(e,s,c,r)},lh=(e,t,n,r=new Set)=>{let i=_m(n);switch(i.type){case`StringLiteral`:return{ok:!0,value:i.value};case`NumericLiteral`:return{ok:!0,value:i.value};case`BooleanLiteral`:return{ok:!0,value:i.value};case`NullLiteral`:return{ok:!0,value:null};case`TemplateLiteral`:{if(hm(i,`expressions`).length>0)return oh(t,i,"a template string with a `${}` part is computed at run time");let e=hm(i,`quasis`)[0]?.value,n=e?.cooked??e?.raw;return{ok:!0,value:typeof n==`string`?n:``}}case`UnaryExpression`:{let e=J(i,`argument`);return Y(i,`operator`)===`-`&&e!==void 0&&e.type===`NumericLiteral`&&typeof e.value==`number`?{ok:!0,value:-e.value}:oh(t,i,`only a negative number literal is data`)}case`Identifier`:{let n=Y(i,`name`)??``;if(n===`undefined`)return{ok:!0,value:void 0};let a=ch(e,t,n);if(a===void 0)return oh(t,i,`\`${n}\` is not a constant in the project`);if(`asset`in a){let r=e.assetUrl(a.asset);return r===void 0?oh(t,i,`\`${n}\` names an asset the build did not address`):{ok:!0,value:r}}let o=`${a.module.path}\0${n}\0${a.value.start}`;if(r.has(o))return oh(t,i,`\`${n}\` refers to itself`);r.add(o);let s=lh(e,a.module,a.value,r);return r.delete(o),s}case`ArrayExpression`:{let n=[];for(let a of Array.isArray(i.elements)?i.elements:[]){if(typeof a!=`object`||!a)return oh(t,i,`an array hole`);let o=a;if(o.type===`SpreadElement`){let i=J(o,`argument`);if(i===void 0)return oh(t,o,`an empty spread`);let a=lh(e,t,i,r);if(!a.ok)return a;if(!Array.isArray(a.value))return oh(t,o,`a spread of a non-array`);n.push(...a.value);continue}let s=lh(e,t,o,r);if(!s.ok)return s;n.push(s.value)}return{ok:!0,value:n}}case`ObjectExpression`:{let n={};for(let a of hm(i,`properties`)){if(a.type===`SpreadElement`){let i=J(a,`argument`);if(i===void 0)return oh(t,a,`an empty spread`);let o=lh(e,t,i,r);if(!o.ok)return o;if(typeof o.value!=`object`||o.value===null||Array.isArray(o.value))return oh(t,a,`a spread of a non-object`);Object.assign(n,o.value);continue}let i=sh(a);if(i===void 0)return oh(t,a,`a computed or method property`);let o=J(a,`value`);if(o===void 0)return oh(t,a,`a property without a value`);let s=lh(e,t,o,r);if(!s.ok)return s;s.value!==void 0&&(n[i]=s.value)}return{ok:!0,value:n}}case`CallExpression`:{let n=J(i,`callee`),a=hm(i,`arguments`)[0];return n?.type===`Identifier`&&Y(n,`name`)===`jsonSchema`&&a!==void 0?lh(e,t,a,r):oh(t,i,`a call is computed at run time`)}default:return oh(t,i,`${i.type} is not data`)}},uh=40,dh={"+":`+`,"-":`-`,"*":`*`,"/":`/`,"%":`%`},fh={"===":`eq`,"!==":`ne`,"<":`lt`,">":`gt`,"<=":`le`,">=":`ge`},ph={money:[2,3],number:[1,3],date:[1,3],time:[1,3],plural:[2,3],list:[1,2]},mh=new Set([`reduce`,`filter`,`slice`,`join`,`sort`,`concat`,`flatMap`,`find`,`some`,`every`,`toFixed`,`toLocaleString`,`toLocaleDateString`,`toUpperCase`,`toLowerCase`,`trim`,`split`,`replace`,`padStart`,`includes`,`indexOf`,`at`]),hh=e=>{let t=e.split(/\r\n|\n|\r/),n=0;for(let[e,r]of t.entries())/[^ \t]/.test(r)&&(n=e);let r=``;for(let[e,i]of t.entries()){let a=i.replace(/\t/g,` `);e!==0&&(a=a.replace(/^ +/,``)),e!==t.length-1&&(a=a.replace(/ +$/,``)),a!==``&&(e!==n&&(a+=` `),r+=a)}return r},gh=e=>e.type===`JSXIdentifier`?Y(e,`name`)??``:e.type===`JSXNamespacedName`?`${Y(J(e,`namespace`)??e,`name`)??``}:${Y(J(e,`name`)??e,`name`)??``}`:e.type===`JSXMemberExpression`?`${gh(J(e,`object`)??e)}.${Y(J(e,`property`)??e,`name`)??``}`:``,_h=e=>e===null||typeof e==`string`||typeof e==`number`||typeof e==`boolean`,vh=e=>e===`VariableDeclaration`?"`const`":e===`IfStatement`?"`if`":/For|While/.test(e)?`a loop`:`a statement`,yh=class{options;sources=[];uniqueId=0;reservedAttributes;constructor(e){this.options=e,this.reservedAttributes=Fc(e.brandPlugin)}get findings(){return this.options.findings}src(e,t){let n=e.parsed.position(t.start);if(e.path===this.options.project.entry.path)return[n.line,n.column];let r=this.sources.indexOf(e.path);return r<0&&(r=this.sources.length,this.sources.push(e.path)),[n.line,n.column,r+1]}error(e,t,n,r,i){this.findings.add(e.module.parsed,t,n,r,i)}dynamic(e,t,n,r){this.error(e,t,`dynamic-expression`,`${n} runs code, and templates render without running code.`,r)}functionExpression(e,t){let n=J(t,`body`);if(n===void 0)return;if(n.type!==`BlockStatement`)return n;let r=hm(n,`body`),i=r[0];if(r.length===1&&i?.type===`ReturnStatement`){let e=J(i,`argument`);if(e!==void 0)return e}let a=r.find(e=>e.type!==`ReturnStatement`)??n,o=vh(a.type);this.error(e,a,`statement-in-body`,`A body is one expression, and ${o} is a statement.`,"Write the value where it is used: `cond && <X />` or `cond ? <A /> : <B />` for branches, `.map` for lists. Compute anything else in the caller and send it in the payload.")}bindPattern(e,t,n,r,i){switch(t.type){case`Identifier`:{let e=Y(t,`name`)??``;r.set(e,n??{k:`value`,value:null});return}case`AssignmentPattern`:{let a=J(t,`left`),o=J(t,`right`);if(a===void 0||o===void 0)return;if(!i){this.error(e,t,`unsupported-pattern`,`A default value on the input is never inserted, so it is not part of the profile.`,`Remove the default; declare the field as required or guard it where it is read.`);return}let s=n;if(s===void 0){let t=lh(this.options.staticContext,e.module,o);if(!t.ok){this.error(e,o,`dynamic-expression`,`A default prop value must be a literal.`,`Use a string, number or boolean literal.`);return}s={k:`value`,value:t.value}}this.bindPattern(e,a,s,r,i);return}case`ObjectPattern`:for(let a of hm(t,`properties`)){if(a.type===`RestElement`){this.error(e,a,`unsupported-pattern`,`A rest element gathers props at run time.`,`Name each prop you use.`);continue}let t=J(a,`key`),o=J(a,`value`),s=gm(t);if(s===void 0||o===void 0||a.computed===!0){this.error(e,a,`unsupported-pattern`,`A computed key cannot be read statically.`);continue}let c=n===void 0?void 0:this.field(e,n,s,a);this.bindPattern(e,o,c,r,i)}return;default:this.error(e,t,`unsupported-pattern`,`A parameter is a name or an object pattern of names.`,"Write `(input) =>` or `({ name, items }) =>`.")}}field(e,t,n,r){switch(t.k){case`path`:return n===`length`&&t.path!==``?{k:`value`,value:{length:{bind:t.path}}}:{k:`path`,path:bm(t.path,n)};case`object`:return t.fields.get(n);case`value`:if(n===`length`)return{k:`value`,value:{length:t.value}};if(t.value===null)return{k:`value`,value:null};this.error(e,r,`dynamic-expression`,`\`.${n}\` reads a property of a computed value.`,`Read fields of the input directly.`);return;case`nodes`:this.error(e,r,`dynamic-expression`,"`children` has no fields.","Render `{children}` as is.");return}}binding(e,t){let n=_m(t);if(n.type===`Identifier`){let t=Y(n,`name`)??``;if(t===`undefined`)return{k:`value`,value:null};let r=e.env.get(t);if(r!==void 0)return r;let i=e.module.imports.get(t);if(i?.kind===`asset`){let e=this.options.assetUrl(i.path);if(e!==void 0)return{k:`value`,value:e}}this.error(e,n,`dynamic-expression`,`\`${t}\` is not a binding the template declared.`,"Read the input through the function's parameter, for example `input.name`.");return}if(n.type===`MemberExpression`){let t=J(n,`object`),r=J(n,`property`);if(t===void 0||r===void 0)return;if(n.computed!==!0&&Y(r,`name`)===`length`&&this.filterChain(e,t)!==void 0){let n=this.filterChain(e,t);if(n.list===void 0)return;let r=n.filters[0],i=r===void 0?void 0:hm(r,`params`)[0],a=this.uniqueName(e,i?.type===`Identifier`?Y(i,`name`)??`item`:`item`),o=this.whereClause({...e,loops:[...e.loops,a]},a,n.filters);return o===void 0?void 0:{k:`value`,value:{count:n.list,as:a,where:o}}}let i=this.binding(e,t);if(i===void 0)return;let a;if(n.computed===!0){if(r.type===`StringLiteral`?a=Y(r,`value`):r.type===`NumericLiteral`&&(a=String(r.value)),a===void 0){this.dynamic(e,n,`A computed property`,"Use `.name`, or a numeric index such as `[0]`.");return}}else a=Y(r,`name`);return a===void 0?void 0:this.field(e,i,a,n)}if(n.type===`OptionalMemberExpression`||n.type===`OptionalCallExpression`){this.dynamic(e,n,`Optional chaining`,"Guard the field: `input.discount && <p>{input.discount.label}</p>`.");return}let r=this.value(e,n,!1);return r===void 0?void 0:{k:`value`,value:r}}value(e,t,n){let r=_m(t);switch(r.type){case`StringLiteral`:return this.checkedText(e,r,Y(r,`value`)??``);case`NumericLiteral`:return typeof r.value==`number`?r.value:void 0;case`BooleanLiteral`:return r.value===!0;case`NullLiteral`:return null;case`Identifier`:case`MemberExpression`:case`OptionalMemberExpression`:{let t=this.binding(e,r);if(t===void 0)return;let n=xm(t);if(n!==void 0)return n;this.error(e,r,`dynamic-expression`,t.k===`path`?`The input as a whole is not a value.`:"An object or `children` is not text.",t.k===`path`?"Read one field: `input.name`.":"Render `{children}` as content, or read one field.");return}case`TemplateLiteral`:return this.template(e,r,n);case`ConditionalExpression`:{let t=J(r,`test`),i=J(r,`consequent`),a=J(r,`alternate`);if(t===void 0||i===void 0||a===void 0)return;let o=this.predicate(e,t),s=this.value(e,i,n),c=this.value(e,a,n);return o===void 0||s===void 0||c===void 0?void 0:{if:o,then:s,else:c}}case`LogicalExpression`:{let t=Y(r,`operator`),i=J(r,`left`),a=J(r,`right`);if(i===void 0||a===void 0)return;if(t===`||`){let t=this.value(e,i,n),r=this.value(e,a,n);return t===void 0||r===void 0?void 0:{if:{truthy:t},then:t,else:r}}if(t===`??`){this.error(e,r,`dynamic-expression`,"`??` is not one of the conditions the profile reads.",'Write the condition out: `input.name === null ? "there" : input.name`, or `input.name || "there"`.');return}this.error(e,r,`dynamic-expression`,"`&&` in a value position yields its left operand when that is falsy.","Use a conditional: `cond ? value : fallback`, or `cond && <X />` in content.");return}case`CallExpression`:return this.call(e,r);case`BinaryExpression`:{let t=Y(r,`operator`)??``,i=dh[t],a=J(r,`left`),o=J(r,`right`);if(i===void 0||a===void 0||o===void 0){this.error(e,r,`dynamic-expression`,`\`${t}\` produces a condition, not a value.`,"Use it as the test of `&&`, `? :` or `||`.");return}if(!n){this.error(e,r,`dynamic-expression`,"Arithmetic runs code, and it is allowed only inside a `fmt.*` argument or a condition.","Wrap it: `fmt.number(item.price * item.qty)`, or send the computed value in the payload.");return}if(i===`+`&&[a,o].some(e=>/StringLiteral|TemplateLiteral/.test(_m(e).type))){this.error(e,r,`dynamic-expression`,"`+` with a string joins text at run time.","Use a template string: `${a} ${b}`.");return}let s=this.value(e,a,!0),c=this.value(e,o,!0);return s===void 0||c===void 0?void 0:{op:i,args:[s,c]}}case`UnaryExpression`:{let t=Y(r,`operator`),i=J(r,`argument`);if(t===`-`&&i!==void 0){let t=_m(i);if(t.type===`NumericLiteral`&&typeof t.value==`number`)return-t.value;if(n){let t=this.value(e,i,!0);return t===void 0?void 0:{op:`-`,args:[0,t]}}}if(t===`!`){this.error(e,r,`dynamic-expression`,"`!` produces a condition, not a value.","Use it as the test of `&&`, `? :` or `||`.");return}return this.dynamic(e,r,`\`${t??`?`}\``,`Send the computed value in the payload.`)}case`JSXElement`:case`JSXFragment`:this.error(e,r,`dynamic-expression`,`Markup is not a text value.`,`Use it as content.`);return;case`ArrowFunctionExpression`:case`FunctionExpression`:return this.dynamic(e,r,`A function`,`Write the value directly.`);case`NewExpression`:case`AwaitExpression`:case`AssignmentExpression`:case`UpdateExpression`:case`SequenceExpression`:case`ObjectExpression`:case`ArrayExpression`:case`SpreadElement`:return this.dynamic(e,r,`\`${r.type}\``,`Send the computed value in the payload.`);default:return this.dynamic(e,r,`\`${r.type}\``,`Send the computed value in the payload.`)}}checkedText(e,t,n){return/[-]/.test(n)&&this.error(e,t,`reserved-character`,`This text contains a private-use character the compiler reserves.`,`Remove the characters U+E000 to U+E003.`),n}template(e,t,n){let r=hm(t,`quasis`),i=hm(t,`expressions`),a=[],o=!0;for(let[t,s]of r.entries()){let r=Sh(s);r!==``&&a.push(this.checkedText(e,s,r));let c=i[t];if(c!==void 0){let t=this.value(e,c,n);t===void 0?o=!1:a.push(t)}}if(o)return Ch(a)}call(e,t){let n=J(t,`callee`),r=hm(t,`arguments`);if(n===void 0)return;let i=_m(n);if(i.type===`MemberExpression`&&i.computed!==!0){let n=J(i,`object`),a=J(i,`property`),o=a===void 0?void 0:Y(a,`name`);if(n!==void 0&&o!==void 0&&this.isFmt(e,n)){if(!Oc.includes(o)){this.error(e,t,`unknown-formatter`,`\`fmt.${o}\` is not a formatter.`,`Use one of ${Oc.map(e=>`fmt.${e}`).join(`, `)}.`);return}let n=o,[i,a]=ph[n];if(r.length<i||r.length>a){this.error(e,t,`formatter-arguments`,`\`fmt.${n}\` takes ${i===a?i:`${i} to ${a}`} arguments.`,`Check the formatter table in the reference.`);return}let s=[];for(let t of r){let n=_m(t);if(n.type===`ObjectExpression`){let t=lh(this.options.staticContext,e.module,n);if(!t.ok){this.error(e,n,`dynamic-expression`,`Formatter options are literal.`,`Write plain string and number values.`);return}s.push({lit:t.value});continue}if(n.type===`ArrayExpression`){let t=lh(this.options.staticContext,e.module,n);if(t.ok){s.push({lit:t.value});continue}}let r=this.value(e,t,!0);if(r===void 0)return;s.push(r)}return{format:n,args:s}}if(o!==void 0&&mh.has(o))return this.dynamic(e,t,`\`.${o}(…)\``,"Send the computed value in the payload and bind it, or format with `fmt.*`.")}if(i.type===`Identifier`&&/^use[A-Z]/.test(Y(i,`name`)??``)){this.error(e,t,`hook-call`,`\`${Y(i,`name`)}\` is a hook, and a template has no state, effects or context.`,`Read the input through the function's parameter; send anything else in the payload.`);return}let a=i.type===`Identifier`?Y(i,`name`)??``:i.type===`MemberExpression`?`${bh(J(i,`object`))}.${Y(J(i,`property`)??i,`name`)??``}`:`a call`;return this.dynamic(e,t,`\`${a}(…)\``,"Send the computed value in the payload and bind it, or format with `fmt.money`, `fmt.number`, `fmt.date`, `fmt.time`, `fmt.plural` or `fmt.list`.")}isFmt(e,t){let n=_m(t);if(n.type!==`Identifier`)return!1;let r=e.module.imports.get(Y(n,`name`)??``);return r?.kind===`markup`&&r.specifier===`@samva/markup/fmt`}predicate(e,t){let n=_m(t);if(n.type===`LogicalExpression`){let t=Y(n,`operator`),r=J(n,`left`),i=J(n,`right`);if(r!==void 0&&i!==void 0&&(t===`&&`||t===`||`)){let n=this.predicate(e,r),a=this.predicate(e,i);if(n===void 0||a===void 0)return;if(t===`&&`){let e=e=>`and`in e?e.and:[e];return{and:[...e(n),...e(a)]}}let o=e=>`or`in e?e.or:[e];return{or:[...o(n),...o(a)]}}}if(n.type===`UnaryExpression`&&Y(n,`operator`)===`!`){let t=J(n,`argument`),r=t===void 0?void 0:this.predicate(e,t);return r===void 0?void 0:{not:r}}if(n.type===`BinaryExpression`){let t=Y(n,`operator`)??``,r=fh[t],i=J(n,`left`),a=J(n,`right`);if(r===void 0||i===void 0||a===void 0){this.error(e,n,`dynamic-expression`,t===`==`||t===`!=`?`\`${t}\` coerces types at run time.`:`\`${t}\` is not a comparison the profile reads.`,"Use `===`, `!==`, `<`, `>`, `<=` or `>=`.");return}let o=this.value(e,i,!0),s=this.value(e,a,!0);return o===void 0||s===void 0?void 0:{cmp:r,args:[o,s]}}let r=this.value(e,n,!0);if(r!==void 0)return typeof r==`object`&&r&&`bind`in r?{present:r.bind}:{truthy:r}}jsxChildren(e,t){let n=[];for(let r of hm(t,`children`))switch(r.type){case`JSXText`:{let t=hh(Y(r,`value`)??``);t!==``&&n.push(this.checkedText(e,r,t));break}case`JSXExpressionContainer`:{let t=J(r,`expression`);if(t===void 0||t.type===`JSXEmptyExpression`)break;n.push(...this.content(e,t));break}case`JSXElement`:case`JSXFragment`:n.push(...this.element(e,r));break;case`JSXSpreadChild`:this.dynamic(e,r,`A spread child`,`List the children.`)}return n}content(e,t){if(e.depth>uh)return this.error(e,t,`nesting-limit`,`The template nests too deeply.`,`Flatten it.`),[];let n=_m(t);switch(n.type){case`JSXElement`:case`JSXFragment`:return this.element(e,n);case`StringLiteral`:{let t=Y(n,`value`)??``;return t===``?[]:[this.checkedText(e,n,t)]}case`NumericLiteral`:return typeof n.value==`number`?[n.value]:[];case`BooleanLiteral`:case`NullLiteral`:return[];case`Identifier`:{let t=Y(n,`name`)??``;if(t===`undefined`)return[];let r=e.env.get(t);if(r?.k===`nodes`)return[...r.nodes];break}case`LogicalExpression`:{let t=Y(n,`operator`),r=J(n,`left`),i=J(n,`right`);if(t===`&&`&&r!==void 0&&i!==void 0){let t=this.predicate(e,r),a=this.content(e,i);return t===void 0?[]:[{if:t,then:a,src:this.src(e.module,n)}]}break}case`ConditionalExpression`:{let t=J(n,`test`),r=J(n,`consequent`),i=J(n,`alternate`);if(t===void 0||r===void 0||i===void 0)return[];let a=this.predicate(e,t),o=this.content(e,r),s=this.content(e,i);return a===void 0?[]:[{if:a,then:o,...s.length===0?{}:{else:s},src:this.src(e.module,n)}]}case`CallExpression`:{let t=J(n,`callee`),r=t===void 0?void 0:_m(t),i=r===void 0?void 0:J(r,`property`);if(r?.type===`MemberExpression`&&r.computed!==!0&&i!==void 0&&Y(i,`name`)===`map`)return this.each(e,n,r);break}}let r=this.value(e,n,!1);return r===void 0?[]:[r]}freshName(e,t){return this.uniqueName(e,t)}uniqueName(e,t){return e.loops.includes(t)?(this.uniqueId+=1,`${t}_${this.uniqueId}`):t}each(e,t,n){let r=J(n,`object`),i=hm(t,`arguments`)[0];if(r===void 0||i===void 0)return[];let a=this.filterChain(e,r),o=a===void 0?this.value(e,r,!1):a.list,s=_m(i);if(s.type!==`ArrowFunctionExpression`&&s.type!==`FunctionExpression`)return this.dynamic(e,i,`A callback that is not an inline function`,"Write `.map((item) => <Row item={item} />)`."),[];if(o===void 0)return[];let c=this.eachOver(e,t,o,s,a?.filters??[]);return c===void 0?[]:[c]}filterChain(e,t){let n=[],r=_m(t);for(;r.type===`CallExpression`;){let e=J(r,`callee`),t=e===void 0?void 0:_m(e),i=t===void 0?void 0:J(t,`property`);if(t?.type!==`MemberExpression`||t.computed===!0||i===void 0||Y(i,`name`)!==`filter`)break;let a=hm(r,`arguments`)[0],o=J(t,`object`);if(a===void 0||o===void 0)return;n.unshift(_m(a)),r=_m(o)}if(n.length!==0)return{list:this.value(e,r,!1),filters:n}}whereClause(e,t,n){let r=[];for(let i of n){if(!/Function/.test(i.type)){this.dynamic(e,i,"A `.filter` callback that is not an inline function","Write `.filter((item) => item.done)`.");return}let n=hm(i,`params`);if(n.length>1){this.error(e,i,`dynamic-expression`,"A `.filter` callback reads the item; its index and the array are not part of the profile.",`Remove the extra parameters.`);return}let a=new Map(e.env);n[0]!==void 0&&this.bindPattern(e,n[0],{k:`path`,path:`$${t}`},a,!1);let o={...e,env:a},s=this.functionExpression(o,i),c=s===void 0?void 0:this.predicate(o,s);if(c===void 0)return;r.push(c)}if(r.length!==0)return r.length===1?r[0]:{and:r}}eachOver(e,t,n,r,i=[],a={}){let o=hm(r,`params`);if(o.length>2){this.error(e,r,`dynamic-expression`,"`.map` callbacks read the item and its index; a third parameter is the whole array.",`Remove the third parameter.`);return}let s=new Map(e.env),c=[...e.loops],l=``,u,d=o[0];if(d!==void 0){let t=d.type===`Identifier`?Y(d,`name`)??`item`:`item`;l=this.uniqueName({...e,loops:c},a.name??t),c.push(l),this.bindPattern({...e,loops:c},d,{k:`path`,path:`$${l}`},s,!1)}else l=this.uniqueName(e,a.name??`item`),c.push(l);let f=o[1];f!==void 0&&(f.type===`Identifier`?(u=this.uniqueName({...e,loops:c},Y(f,`name`)??`index`),c.push(u),s.set(Y(f,`name`)??`index`,{k:`value`,value:{bind:`$${u}`}})):this.error(e,f,`unsupported-pattern`,`The index is a plain name.`));let p=i.length===0?void 0:this.whereClause(e,l,i);if(i.length>0&&p===void 0)return;let m={...e,env:s,loops:c,depth:e.depth+1},h=this.functionExpression(m,r);if(h===void 0)return;let g=this.content(m,h);return{each:n,as:l,...u===void 0?{}:{index:u},...p===void 0?{}:{where:p},...a.chunk===void 0?{}:{chunk:a.chunk},children:g,src:this.src(e.module,t)}}element(e,t){if(t.type===`JSXFragment`)return this.jsxChildren({...e,depth:e.depth+1},t);let n=J(t,`openingElement`),r=n===void 0?void 0:J(n,`name`);if(n===void 0||r===void 0)return[];let i=gh(r),a={...e,depth:e.depth+1};return a.depth>uh?(this.error(e,t,`nesting-limit`,`The template nests too deeply.`,`Flatten it.`),[]):/^[a-z]/.test(i)&&!i.includes(`.`)?this.intrinsic(a,t,n,i):this.component(a,t,n,i)}attributeName(e){let t=J(e,`name`);return t===void 0?``:gh(t)}intrinsic(e,t,n,r){let i=Wc(r);if(i===void 0){let n=Mm(r,Object.keys(Uc));return this.error(e,t,`unsupported-element`,`<${r}> is not part of the supported email vocabulary.`,n===void 0?`Use one of: ${Object.keys(Uc).join(`, `)}.`:`Did you mean <${n}>? Supported elements: ${Object.keys(Uc).join(`, `)}.`),[]}let a={},o,s=[this.findings.locate(e.module.parsed,t)];for(let t of hm(n,`attributes`)){if(t.type===`JSXSpreadAttribute`){this.dynamic(e,t,`A spread attribute`,`Write each attribute.`);continue}let n=this.attributeName(t),c=J(t,`value`);if(n===`key`)continue;if(n===`ref`||n===`dangerouslySetInnerHTML`||/^on[A-Z]/.test(n)){let r=n===`dangerouslySetInnerHTML`;this.error(e,t,r?`dangerous-html`:n===`ref`?`unsupported-attribute`:`event-handler`,r?"`dangerouslySetInnerHTML` injects unescaped markup.":n===`ref`?"A `ref` needs a running component.":`\`${n}\` is an event handler; email clients strip scripting and Samva refuses it.`,r?`Write the markup as elements.`:`Remove it.`);continue}if(this.reservedAttributes.has(n)){this.error(e,t,`reserved-attribute`,`\`${n}\` is written only by BrandFooter from ${this.options.brandPlugin.specifier}.`,`Render <BrandFooter /> instead of marking an element as the footer.`);continue}if(n===`className`||n===`class`){let t=c===void 0?``:this.classValue(e,c);t!==void 0&&t!==``&&(a.class=t);continue}if(n===`style`){o=this.styleAttribute(e,c);continue}let l;if(c===void 0)l=!0;else if(c.type===`StringLiteral`)l=this.checkedText(e,c,Y(c,`value`)??``);else if(c.type===`JSXExpressionContainer`){let t=J(c,`expression`);l=t===void 0?void 0:this.value(e,t,!1)}else{this.error(e,c,`dynamic-expression`,`An attribute value is text, a number or a binding.`);continue}if(l!==void 0&&l!==!1&&l!==null){if(l===this.options.brandPlugin.unsubscribeUrlPlaceholder){this.error(e,t,`reserved-url`,`That URL is the unsubscribe placeholder only BrandFooter can write.`,`Render <BrandFooter /> instead.`);continue}if(_h(l)){let a=ml(r,n,l,s);if(a.text===void 0&&a.diagnostics.length===0){let a=Mm(n,Object.keys({...i.attributes,id:0,title:0,lang:0,dir:0,role:0}));this.error(e,t,`unsupported-attribute`,`<${r}> does not support the ${n} attribute.`,a===void 0?`Supported: ${Object.keys(i.attributes).join(`, `)||`none`}, plus id, title, lang, dir, role, class, style, data-* and aria-*.`:`Did you mean \`${a}\`?`);continue}this.findings.items.push(...a.diagnostics)}a[n]=l}}let c=i.content===`void`?[]:this.jsxChildren(e,t);return[{el:r,...Object.keys(a).length===0?{}:{attrs:a},...o===void 0?{}:{style:o},...c.length===0?{}:{children:c},src:this.src(e.module,t)}]}classValue(e,t){let n=t.type===`JSXExpressionContainer`?J(t,`expression`):t;if(n===void 0)return;let r=this.classExpression(e,n);return r===void 0&&this.error(e,t,`dynamic-class`,`This class is built at run time, and Tailwind cannot see class names it does not read.`,'Write the classes literally, or choose between literal classes: `input.vip ? "bg-amber-100" : "bg-white"`.'),r}classExpression(e,t){let n=_m(t);switch(n.type){case`StringLiteral`:return Y(n,`value`)??``;case`NullLiteral`:return``;case`BooleanLiteral`:return``;case`Identifier`:case`MemberExpression`:{if(n.type===`Identifier`&&Y(n,`name`)===`undefined`)return``;let t=this.binding(e,n);return t?.k===`value`&&xh(t.value)?t.value:void 0}case`TemplateLiteral`:{let t=hm(n,`quasis`),r=hm(n,`expressions`),i=[];for(let[n,a]of t.entries()){let t=Sh(a);t!==``&&i.push(t);let o=r[n];if(o!==void 0){let t=this.classExpression(e,o);if(t===void 0)return;i.push(t)}}return Ch(i)}case`ConditionalExpression`:{let t=J(n,`test`),r=J(n,`consequent`),i=J(n,`alternate`);if(t===void 0||r===void 0||i===void 0)return;let a=this.predicate(e,t),o=this.classExpression(e,r),s=this.classExpression(e,i);return a===void 0||o===void 0||s===void 0?void 0:{if:a,then:o,else:s}}case`LogicalExpression`:{let t=J(n,`left`),r=J(n,`right`);if(Y(n,`operator`)!==`&&`||t===void 0||r===void 0)return;let i=this.predicate(e,t),a=this.classExpression(e,r);return i===void 0||a===void 0?void 0:{if:i,then:a,else:``}}case`BinaryExpression`:{let t=J(n,`left`),r=J(n,`right`);if(Y(n,`operator`)!==`+`||t===void 0||r===void 0)return;let i=this.classExpression(e,t),a=this.classExpression(e,r);return i===void 0||a===void 0?void 0:Ch([i,a])}default:return}}styleAttribute(e,t){let n=t===void 0?void 0:J(t,`expression`),r=n===void 0?void 0:_m(n);if(r===void 0||r.type!==`ObjectExpression`){t!==void 0&&this.error(e,t,`invalid-style`,"`style` is an object literal of CSS properties.",`Write style={{ backgroundColor: "#fff" }}, or use Tailwind classes.`);return}return this.styleObject(e,r)}styleObject(e,t){let n=[];for(let r of hm(t,`properties`)){if(r.type!==`ObjectProperty`||r.computed===!0){this.dynamic(e,r,`A spread or computed style entry`,`Write each property.`);continue}let t=J(r,`key`),i=J(r,`value`),a=gm(t);if(a===void 0||i===void 0)continue;let o=this.value(e,i,!1);o!=null&&n.push([a,o])}return n}component(e,t,n,r){let i=r.split(`.`)[0]??r,a=e.module.imports.get(i),o=e.module.declarations.get(i),s=hm(n,`attributes`);if(a?.kind===`markup`||a?.kind===`brand`)return ah({lowerer:this,ctx:e,node:t,attributes:s,name:r,binding:a,brand:this.options.brand,brandPlugin:this.options.brandPlugin,channel:this.options.channel});let c;if(a?.kind===`project`){let e=this.options.project.modules.get(a.path);e!==void 0&&(c=this.exportedFunction(e,a.imported,new Set))}else o!==void 0&&(c={module:e.module,value:o.value});return c===void 0||!/Function|Arrow/.test(c.value.type)?(this.error(e,t,`unknown-component`,`<${r}> is not a component the profile can read.`,`Import it from @samva/markup/email, or from a project file that exports it as a function.`),[]):this.partial(e,t,s,r,c.module,c.value)}exportedFunction(e,t,n){let r=`${e.path}\0${t}`;if(n.has(r))return;if(n.add(r),t==="default"){let t=e.defaultExport;if(t===void 0)return;if(t.type===`Identifier`){let n=e.declarations.get(Y(t,`name`)??``);return n===void 0?void 0:{module:e,value:n.value}}return{module:e,value:t}}let i=e.exports.get(t);if(i===void 0)return;let a=e.declarations.get(i);if(a!==void 0)return{module:e,value:a.value};let o=e.imports.get(i);if(o?.kind===`project`){let e=this.options.project.modules.get(o.path);return e===void 0?void 0:this.exportedFunction(e,o.imported,n)}}attributeBindings(e,t){let n=new Map,r=!0;for(let i of t){if(i.type===`JSXSpreadAttribute`){this.dynamic(e,i,`A spread attribute`,`Write each prop.`),r=!1;continue}let t=this.attributeName(i);if(t===`key`)continue;let a=J(i,`value`);if(a===void 0){n.set(t,{k:`value`,value:!0});continue}if(a.type===`StringLiteral`){n.set(t,{k:`value`,value:this.checkedText(e,a,Y(a,`value`)??``)});continue}let o=a.type===`JSXExpressionContainer`?J(a,`expression`):void 0;if(o===void 0){this.error(e,a,`dynamic-expression`,`A prop value is text, a number, a binding or an object.`),r=!1;continue}let s=this.propBinding(e,o);s===void 0?r=!1:n.set(t,s)}return r?n:void 0}propBinding(e,t){let n=_m(t);if(n.type===`ObjectExpression`){let t=new Map;for(let r of hm(n,`properties`)){if(r.type!==`ObjectProperty`||r.computed===!0){this.dynamic(e,r,`A spread or computed entry`,`Write each field.`);return}let n=J(r,`key`),i=J(r,`value`),a=n===void 0?void 0:n.type===`Identifier`?Y(n,`name`):Y(n,`value`);if(a===void 0||i===void 0)return;let o=this.propBinding(e,i);if(o===void 0)return;t.set(a,o)}return{k:`object`,fields:t}}if(n.type===`Identifier`||n.type===`MemberExpression`)return this.binding(e,n);if(n.type===`JSXElement`||n.type===`JSXFragment`)return{k:`nodes`,nodes:this.element(e,n)};let r=this.value(e,n,!1);return r===void 0?void 0:{k:`value`,value:r}}partial(e,t,n,r,i,a){let o=`${i.path}#${a.start}`;if(e.stack.includes(o))return this.error(e,t,`recursive-partial`,`<${r}> renders itself, and the compiler inlines partials.`,"Flatten the recursion, or repeat the structure with `.map`."),[];let s=this.attributeBindings(e,n);if(s===void 0)return[];let c=this.jsxChildren(e,t);c.length>0&&s.set(`children`,{k:`nodes`,nodes:c});let l={module:i,env:new Map,stack:[...e.stack,o],loops:e.loops,depth:e.depth+1},u=new Map,d=hm(a,`params`)[0];if(d!==void 0){let e={k:`object`,fields:s};d.type===`Identifier`?u.set(Y(d,`name`)??`props`,e):this.bindPattern(l,d,e,u,!0)}let f={...l,env:u},p=this.functionExpression(f,a);return p===void 0?[]:this.content(f,p)}},bh=e=>e===void 0?``:e.type===`Identifier`?Y(e,`name`)??``:`…`,xh=e=>typeof e==`string`?!0:typeof e!=`object`||!e?!1:`if`in e?xh(e.then)&&xh(e.else):`concat`in e&&e.concat.every(xh),Sh=e=>{let t=e.value;if(typeof t!=`object`||!t)return``;let n=t.cooked,r=t.raw;return typeof n==`string`?n:typeof r==`string`?r:``},Ch=e=>{let t=[];for(let n of e){let e=t[t.length-1];if(typeof n==`string`&&typeof e==`string`)t[t.length-1]=e+n;else if(typeof n==`object`&&n&&`concat`in n)for(let e of n.concat){let n=t[t.length-1];typeof e==`string`&&typeof n==`string`?t[t.length-1]=n+e:t.push(e)}else t.push(n)}return t.length===0?``:t.length===1?t[0]:{concat:t}},wh=()=>void 0,Th=60,Eh=60,Dh=1024,Oh=25,kh=2,Ah=1,jh=10,Mh=1,Nh=10,Ph=/^[a-z0-9]+(?:-[a-z0-9]+)*$/,Fh=64,Ih=/^[A-Za-z_]{1,100}$/,Lh=[`navigate`,`data_exchange`],Rh=e=>e.type===`JSXIdentifier`?Y(e,`name`)??``:e.type===`JSXMemberExpression`?`${Rh(J(e,`object`)??e)}.${Y(J(e,`property`)??e,`name`)??``}`:``,zh=e=>{let t=J(e,`openingElement`),n=t===void 0?void 0:J(t,`name`);return n===void 0?``:Rh(n)},Bh=e=>{let t=J(e,`openingElement`);return t===void 0?[]:hm(t,`attributes`)},Vh=(e,t,n,r)=>{let i=e.openFunction(t);if(i===void 0)return;let{ctx:a,body:o}=i,s=_m(o),c=s.type===`JSXElement`?zh(s):``,l=a.module.imports.get(c);if(s.type!==`JSXElement`||l?.kind!==`markup`||l.specifier!==r||l.imported!==n){e.lowerer.error(a,s,`wrong-channel`,`The ${n===`Sms`?`sms`:`whatsapp`} channel returns one <${n}> element imported from ${r}.`,`Write \`import { ${n} } from "${r}"\` and return <${n}>…</${n}>.`);return}return{ctx:a,node:s,local:c}},Hh={name:{code:`whatsapp-template-name`,message:`Meta's name for a WhatsApp template comes from the template's handle, not from <WhatsApp>.`,fix:"Remove `name`; rename the template's handle to change its Meta name."}},Uh=(e,t,n,r={})=>{let i=new Map;for(let a of Bh(t.node)){if(a.type===`JSXSpreadAttribute`){e.lowerer.error(t.ctx,a,`dynamic-expression`,`A spread attribute runs code, and templates render without running code.`,`Write each attribute as a string literal.`);continue}let o=J(a,`name`),s=o===void 0?``:Rh(o);if(s===`key`)continue;let c=Object.hasOwn(r,s)?r[s]:void 0;if(c!==void 0){e.lowerer.error(t.ctx,a,c.code,c.message,c.fix);continue}if(!n.includes(s)){e.lowerer.error(t.ctx,a,`unknown-attribute`,`\`${s}\` is not an attribute of this component.`,`The attributes are ${n.join(`, `)}.`);continue}let l=J(a,`value`),u=l?.type===`JSXExpressionContainer`?J(l,`expression`):l;if(u?.type!==`StringLiteral`){e.lowerer.error(t.ctx,a,`dynamic-expression`,`\`${s}\` is fixed when the template is compiled, so it is a string literal.`,`Write ${s}="…".`);continue}i.set(s,Y(u,`value`)??``)}return i},Wh=(e,t,n,r,i,a)=>a.includes(i)?!0:(e.lowerer.error(t.ctx,n,`invalid-attribute`,`\`${i}\` is not a ${r} this channel accepts.`,`Use one of ${a.join(`, `)}.`),!1),Gh=e=>e.every(e=>Cm(e)),Kh=e=>e.some(e=>Cm(e)?!1:`el`in e||`raw`in e?!0:`if`in e?Kh(e.then)||Kh(e.else??[]):`each`in e&&Kh(e.children)),qh=(e,t)=>{let n=Vh(e,t,`Sms`,`@samva/markup/sms`);if(n===void 0)return;let r=Uh(e,n,Dm),i=Bh(n.node).find(e=>Y(J(e,`name`)??e,`name`)===`category`),a=r.get(`category`);if(a!==void 0&&i!==void 0&&!Wh(e,n,i,`category`,a,wm))return;let o=e.lowerer.jsxChildren(n.ctx,n.node);return Kh(o)&&e.lowerer.error(n.ctx,n.node,`sms-markup`,`An SMS body is plain text, and this one contains an element.`,`Write the message as text and bindings; use a newline in the text for a line break.`),e.schema!==void 0&&e.checks.push(...Hm(e.schema,o,[])),{...a===void 0?{}:{category:a},body:o}},Jh=e=>typeof e==`string`?e.length:typeof e==`number`?String(e).length:typeof e==`object`&&e&&`concat`in e?e.concat.reduce((e,t)=>e+Jh(t),0):0,Yh={url:0,phone:0,quickReply:0,flow:0,total:0},Xh=e=>{let t=Yh;for(let n of e){let e;if(`if`in n){let t=Xh(n.then),r=Xh(n.else??[]);e={url:Math.max(t.url,r.url),phone:Math.max(t.phone,r.phone),quickReply:Math.max(t.quickReply,r.quickReply),flow:Math.max(t.flow,r.flow),total:Math.max(t.total,r.total)}}else e={url:+(n.type===`url`),phone:+(n.type===`phone`),quickReply:+(n.type===`quick-reply`),flow:+(n.type===`flow`),total:1};t={url:t.url+e.url,phone:t.phone+e.phone,quickReply:t.quickReply+e.quickReply,flow:t.flow+e.flow,total:t.total+e.total}}return t},Zh=e=>e.flatMap(e=>{if(`if`in e)return[{if:e.if,then:Zh(e.then),...e.else===void 0?{}:{else:Zh(e.else)},...e.src===void 0?{}:{src:e.src}}];switch(e.type){case`quick-reply`:return[e.text];case`url`:return[e.text,e.url];case`phone`:return[e.text,e.phone];case`copy-code`:return[e.code];case`flow`:return[e.text]}}),Qh=(e,t)=>{let n=Vh(e,t,`WhatsApp`,`@samva/markup/whatsapp`);if(n===void 0)return;let{lowerer:r}=e,{ctx:i}=n,a=Uh(e,n,Om,Hh);for(let e of[`category`,`language`])a.has(e)||r.error(i,n.node,`missing-attribute`,`<WhatsApp> needs \`${e}\`.`,e===`category`?`Write category="utility" (${Tm.join(`, `)}).`:`Write language="en_US".`);let o=a.get(`category`),s=Bh(n.node).find(e=>Y(J(e,`name`)??e,`name`)===`category`);if(o!==void 0&&s!==void 0&&!Wh(e,n,s,`category`,o,Tm))return;let c=new Map;for(let e of hm(n.node,`children`)){if(e.type===`JSXText`){(Y(e,`value`)??``).trim()!==``&&r.error(i,e,`whatsapp-structure`,`Text sits inside Header, Body, Footer or Buttons, not directly in <WhatsApp>.`,`Move it into <WhatsApp.Body>.`);continue}let t=e.type===`JSXElement`?zh(e):``,a=t.startsWith(`${n.local}.`)?t.slice(n.local.length+1):``;if(![`Header`,`Body`,`Footer`,`Buttons`].includes(a)){r.error(i,e,`whatsapp-structure`,`<WhatsApp> holds <WhatsApp.Header>, <WhatsApp.Body>, <WhatsApp.Footer> and <WhatsApp.Buttons>.`,`Wrap the content in one of them.`);continue}if(c.has(a)){r.error(i,e,`whatsapp-structure`,`<WhatsApp.${a}> appears twice.`,`A WhatsApp template has at most one of each part.`);continue}c.set(a,e)}let l=[],u=(e,t,n,a)=>{n>a&&r.findings.add(i.module.parsed,t,`whatsapp-length`,`The ${e} is at least ${n} characters, and Meta allows ${a}.`,`Shorten the ${e}.`,`warning`)},d=(e,t,n)=>{let a=r.jsxChildren(i,t);if(!Gh(a)){r.error(i,t,`whatsapp-conditional`,`A WhatsApp ${e} cannot branch or contain elements: Meta registers its text once.`,`Choose the wording as a parameter in the payload, or write separate templates.`);return}return u(e,t,a.reduce((e,t)=>e+(Cm(t)?Jh(t):0),0),n),l.push(...a),a},f,p=c.get(`Header`);if(p!==void 0){let e=Bh(p).find(e=>Y(J(e,`name`)??e,`name`)===`type`),t=e===void 0?void 0:J(e,`value`),n=t?.type===`JSXExpressionContainer`?J(t,`expression`):t,a=n?.type===`StringLiteral`?Y(n,`value`)??`text`:`text`;if(e!==void 0&&n?.type!==`StringLiteral`)r.error(i,e,`dynamic-expression`,"`type` is fixed when the template is compiled, so it is a string literal.",`Write type="image".`);else if(e!==void 0&&!Em.includes(a))r.error(i,e,`invalid-attribute`,`\`${a}\` is not a header type.`,`Use one of ${Em.join(`, `)}.`);else{let e=a,t=d(`header`,p,e===`text`?Th:1/0);t!==void 0&&(e===`text`?Am(t).params.length>1&&r.error(i,p,`whatsapp-header-variables`,`A WhatsApp header text takes at most one variable.`,`Keep one binding in the header and move the rest to the body.`):t.length!==1&&r.error(i,p,`whatsapp-header-media`,`A ${e} header is one URL.`,`Write the media URL as the only child: a literal or one binding.`),f={type:e,content:t})}}let m=[],h=c.get(`Body`);if(h===void 0)r.error(i,n.node,`whatsapp-body-required`,`A WhatsApp template needs a body.`,`Add <WhatsApp.Body>…</WhatsApp.Body>.`);else{let e=d(`body`,h,Dh);m=e??[],e!==void 0&&e.length===0&&r.error(i,h,`whatsapp-body-required`,`The WhatsApp body is empty.`,`Write the message text.`)}let g=c.get(`Footer`),_=g===void 0?void 0:d(`footer`,g,Eh),v=c.get(`Buttons`),y=v===void 0?void 0:eg(e,i,n.local,v);if(y!==void 0){let e=Xh(y),t=(e,t,n)=>{t>n&&r.error(i,v,`whatsapp-button-limit`,`A WhatsApp template allows ${n} ${e}, and these conditions can produce ${t}.`,`Remove ${t-n}, or split the template.`)};t(`URL buttons`,e.url,kh),t(`phone buttons`,e.phone,Ah),t(`quick-reply buttons`,e.quickReply,jh),t(`flow buttons`,e.flow,Mh),t(`buttons in all`,e.total,Nh),l.push(...Zh(y))}if(e.schema!==void 0&&e.checks.push(...Hm(e.schema,l,[])),o!==void 0&&a.has(`language`))return{category:o,language:a.get(`language`),...f===void 0?{}:{header:f},body:m,..._===void 0?{}:{footer:_},...y===void 0?{}:{buttons:y}}},$h=[`UrlButton`,`QuickReplyButton`,`PhoneButton`,`CopyCodeButton`,`FlowButton`],eg=(e,t,n,r)=>{let{lowerer:i}=e,a=(e,n)=>{let r=i.jsxChildren(t,e);if(!Gh(r)||r.length===0){i.error(t,e,r.length===0?`whatsapp-button-text`:`whatsapp-conditional`,r.length===0?`A button needs its ${n}.`:`A button ${n} cannot branch or contain elements.`,`Write the ${n} as text between the tags.`);return}let a=Ch(r);return n===`label`&&Jh(a)>Oh&&i.findings.add(t.module.parsed,e,`whatsapp-length`,`The button label is at least ${Jh(a)} characters, and Meta allows ${Oh}.`,`Shorten the label.`,`warning`),a},o=(e,n)=>{let r=i.attributeBindings(t,Bh(e));if(r===void 0)return;let a=Bh(e).map(e=>Y(J(e,`name`)??e,`name`));for(let r of a)r!==void 0&&r!==n&&r!==`key`&&i.error(t,e,`unknown-attribute`,`\`${r}\` is not an attribute of this button.`,n===void 0?`Remove it.`:`The attribute is ${n}.`);if(n===void 0)return;let o=r.get(n),s=o===void 0?void 0:xm(o);return s===void 0&&i.error(t,e,`missing-attribute`,`This button needs \`${n}\`.`,`Write ${n}="…" or ${n}={input.field}.`),s},s=e=>{let n=a(e,`label`),r=new Map,o=!0,s=(e,n,r,a)=>{o=!1,i.error(t,e,n,r,a)};for(let t of Bh(e)){if(t.type===`JSXSpreadAttribute`){s(t,`invalid-attribute`,`A spread attribute runs code, and templates render without running code.`,`Write flow, action and screen as string literals.`);continue}let e=J(t,`name`),n=e===void 0?``:Rh(e);if(n===`key`)continue;if(n!==`flow`&&n!==`action`&&n!==`screen`){s(t,`invalid-attribute`,`\`${n}\` is not an attribute of this button.`,`The attributes are flow, action and screen.`);continue}let i=J(t,`value`),a=i?.type===`JSXExpressionContainer`?J(i,`expression`):i;if(a?.type!==`StringLiteral`){s(t,`invalid-attribute`,`\`${n}\` is fixed when the template is registered, so it is a string literal, not a binding.`,`Write ${n}="…".`);continue}r.set(n,Y(a,`value`)??``)}let c=r.get(`flow`);c===void 0?o&&s(e,`missing-attribute`,"This button needs `flow`.",`Write flow="handle".`):(c.length>Fh||!Ph.test(c))&&s(e,`invalid-attribute`,`\`${c}\` is not a flow handle.`,`Use the lowercase kebab-case handle of flows/<handle>.json, at most ${Fh} characters.`);let l=r.get(`action`)??`navigate`;Lh.includes(l)||s(e,`invalid-attribute`,`\`${l}\` is not a flow action.`,`Use one of ${Lh.join(`, `)}.`);let u=r.get(`screen`);if(u!==void 0&&(l===`data_exchange`?s(e,`invalid-attribute`,"A data_exchange flow has its endpoint choose the first screen, so it takes no `screen`.",`Remove screen, or use action="navigate".`):(!Ih.test(u)||u===`SUCCESS`)&&s(e,`invalid-attribute`,`\`${u}\` is not a flow screen id.`,`Use the screen's id: letters and underscores, at most 100 characters, and not SUCCESS.`)),o&&c!==void 0&&n!==void 0)return{type:`flow`,text:n,flow:c,action:l,...u===void 0?{}:{screen:u}}},c=e=>{let r=zh(e);switch(r.startsWith(`${n}.`)?r.slice(n.length+1):``){case`UrlButton`:{let t=o(e,`url`),n=a(e,`label`);return t===void 0||n===void 0?void 0:{type:`url`,text:n,url:t}}case`PhoneButton`:{let t=o(e,`phone`),n=a(e,`label`);return t===void 0||n===void 0?void 0:{type:`phone`,text:n,phone:t}}case`QuickReplyButton`:{o(e,void 0);let t=a(e,`label`);return t===void 0?void 0:{type:`quick-reply`,text:t}}case`CopyCodeButton`:{let t=a(e,`code`);return t===void 0?void 0:{type:`copy-code`,code:t}}case`FlowButton`:return s(e);default:i.error(t,e,`whatsapp-structure`,`<WhatsApp.Buttons> holds ${$h.map(e=>`<WhatsApp.${e}>`).join(`, `)}.`,`Use one of the button components.`);return}},l=e=>{let n=_m(e);switch(n.type){case`JSXElement`:{let e=c(n);return e===void 0?[]:[e]}case`JSXFragment`:return u(n);case`NullLiteral`:case`BooleanLiteral`:return[];case`LogicalExpression`:{let e=J(n,`left`),r=J(n,`right`);if(Y(n,`operator`)===`&&`&&e!==void 0&&r!==void 0){let a=i.predicate(t,e),o=l(r);return a===void 0?[]:[{if:a,then:o,src:i.src(t.module,n)}]}break}case`ConditionalExpression`:{let e=J(n,`test`),r=J(n,`consequent`),a=J(n,`alternate`);if(e===void 0||r===void 0||a===void 0)return[];let o=i.predicate(t,e),s=l(r),c=l(a);return o===void 0?[]:[{if:o,then:s,...c.length===0?{}:{else:c},src:i.src(t.module,n)}]}}return i.error(t,n,`dynamic-expression`,`Buttons are fixed by the template, and this expression builds them at render time.`,"List each button; wrap one in `condition && <WhatsApp.UrlButton … />` to make it optional."),[]},u=e=>{let n=[];for(let r of hm(e,`children`))if(r.type===`JSXText`)(Y(r,`value`)??``).trim()!==``&&i.error(t,r,`whatsapp-structure`,`Text cannot sit between buttons.`,`Put the label inside the button.`);else if(r.type===`JSXExpressionContainer`){let e=J(r,`expression`);e!==void 0&&e.type!==`JSXEmptyExpression`&&n.push(...l(e))}else n.push(...l(r));return n};return u(r)},tg=e=>{let t=e.fields.get(`sms`),n=e.fields.get(`whatsapp`),r=t===void 0?void 0:qh(e,t),i=n===void 0?void 0:Qh(e,n);return{...r===void 0?{}:{sms:r},...i===void 0?{}:{whatsapp:i}}},ng=8,rg=(e,t)=>{if(`leaf`in e){let n=e.leaf,r=e=>`leaf`in e?{leaf:n+e.leaf}:{pred:e.pred,then:r(e.then),else:r(e.else)};return r(t)}return{pred:e.pred,then:rg(e.then,t),else:rg(e.else,t)}},ig=e=>{if(typeof e==`string`)return{leaf:e};if(typeof e==`object`&&e){if(`if`in e){let t=ig(e.then),n=ig(e.else);return t===void 0||n===void 0?void 0:{pred:e.if,then:t,else:n}}if(`concat`in e){let t={leaf:``};for(let n of e.concat){let e=ig(n);if(e===void 0)return;t=rg(t,e)}return t}}},ag=e=>`leaf`in e?[e.leaf]:[...ag(e.then),...ag(e.else)],og=(e,t,n={next:0})=>{if(`leaf`in e)return t(n.next++);let r=og(e.then,t,n),i=og(e.else,t,n);return JSON.stringify(r)===JSON.stringify(i)?r:{if:e.pred,then:r,else:i}},sg=e=>`leaf`in e?e.leaf:{if:e.pred,then:sg(e.then),else:sg(e.else)},cg=(e,t)=>t===void 0?e:e.trim()===``?t:`${e} ${t}`,lg=(e,t,n)=>{if(n.every(e=>e===void 0))return;if(t!==void 0&&ag(t).length>1){let e=0,r=t=>`leaf`in t?{leaf:cg(t.leaf,n[Math.min(e++,n.length-1)])}:{pred:t.pred,then:r(t.then),else:r(t.else)};return sg(r(t))}let r=n[0];return r===void 0?e:e===void 0?r:typeof e==`string`?cg(e,r):{concat:[e,` ${r}`]}},ug=(e,t)=>{for(let n of e)Cm(n)||(`el`in n?(t.push({kind:`el`,el:n}),ug(n.children??[],t)):`if`in n?(ug(n.then,t),ug(n.else??[],t)):`each`in n?ug(n.children,t):`raw`in n&&t.push({kind:`raw`,raw:n}))},dg=(e,t)=>t.map(t=>typeof t==`string`?t:e.value(`attr`in t?t.attr:t.text)).join(``),fg=(e,t,n)=>{let r=[];ug([e],r);let i=new qm,a=r.map(e=>{if(e.kind!==`el`)return;let t=e.el.attrs?.class;if(t===void 0)return;let n=ig(t);if(n!==void 0)return n}),o=a.map(e=>e===void 0?1:ag(e).length);for(let[t,i]of o.entries())if(i>ng){let a=r[t],o=a?.kind===`el`?n.locate(a.el.src):void 0;return n.report({code:`too-many-class-variants`,severity:`error`,message:`This class list chooses between ${i} literal lists; the compiler resolves at most ${ng}.`,fix:`Split the choice into fewer conditions, or move part of it to a partial.`,origins:o===void 0?[]:[o]}),{root:e,headCss:``,fontFaceCss:``}}let s=Math.max(1,...o),c=(e,t,r)=>e.flatMap(e=>{if(Cm(e))return[];if(`el`in e){let o=r.next++,s=a[o],l=s===void 0?void 0:ag(s),u={};for(let[t,n]of Object.entries(e.attrs??{}))t!==`class`&&(typeof n==`string`||typeof n==`number`?u[t]=n:typeof n==`object`&&n&&(u[t]=i.value(n)));l===void 0?e.attrs?.class!==void 0&&(u.class=i.value(e.attrs.class)):u.class=l[Math.min(t,l.length-1)];let d=e.style;if(Array.isArray(d)){let e={};for(let[t,n]of d)n!==null&&typeof n!=`boolean`&&(e[t]=typeof n==`number`?n:i.value(n));u.style=e}else if(typeof d==`string`&&d!==``){let e={};for(let t of d.split(`;`)){let n=t.indexOf(`:`);n>0&&(e[t.slice(0,n)]=t.slice(n+1))}u.style=e}let f=n.locate(e.src);return[cs.Element({tag:e.el,props:u,children:c(e.children??[],t,r),origins:f===void 0?[]:[f],authored:!0})]}return`if`in e?[cs.Fragment({children:[...c(e.then,t,r),...c(e.else??[],t,r)]})]:`each`in e?[cs.Fragment({children:c(e.children,t,r)})]:`raw`in e?(r.next++,[cs.Raw({html:dg(i,e.raw),text:``,origins:[]})]):[]}),l=(e,t)=>{for(let n of e)if(n.type===`Fragment`)l(n.children,t);else if(n.type===`Raw`)t.raws.push(n.html);else if(n.type===`Element`){let e=typeof n.props.class==`string`?n.props.class.split(` `):[];t.darkClasses.push(e.find(e=>e.startsWith(Cu))),t.styles.push(n.props.style===void 0?void 0:n.props.style),t.bgcolors.push(typeof n.props.bgcolor==`string`?n.props.bgcolor:void 0),l(n.children,t)}},u=[],d=``,f=``,p=new Map,m=new Set;for(let r=0;r<s;r++){let i=Nu(c([e],r,{next:0})[0]??cs.Fragment({children:[]}),t);r===0&&(d=i.headCss,f=i.fontFaceCss);for(let[e,t]of i.darkRules)p.set(e,t);for(let e of i.diagnostics){let t=`${e.code}\0${e.message}`;m.has(t)||(m.add(t),n.report(e))}let a={styles:[],bgcolors:[],darkClasses:[],raws:[]};l([i.tree],a),u.push(a)}let h=(e,t)=>{if(e===void 0)return``;let r=Object.entries(e);if(r.length===0)return``;let a=n.locate(t.src),o=r.some(([,e])=>e.includes(``)),s=pl(Object.fromEntries(r.filter(([,e])=>!e.includes(``))),a===void 0?[]:[a]);for(let e of s.diagnostics)n.report(e);return o?r.map(([e,t])=>[e,i.toValue(t)??t]):s.css},g=0,_=0,v=0,y=e=>e.map(e=>{if(Cm(e))return e;if(`el`in e){let t=g++,n=_++,r=a[t],o=u[0],s=o?.styles[n],c=r!==void 0&&ag(r).length>1?og(r,t=>h(u[Math.min(t,u.length-1)]?.styles[n],e)):h(s,e),l=o?.bgcolors[n],d=typeof e.attrs?.bgcolor==`string`&&l!==void 0&&l!==e.attrs.bgcolor?{...e.attrs,bgcolor:i.toValue(l)??l}:e.attrs,f=lg(e.attrs?.class,r,u.map(e=>e.darkClasses[n])),p=f===void 0?d:{...d,class:f},m=y(e.children??[]),{style:v,children:b,attrs:x,...S}=e;return{...S,...p===void 0?{}:{attrs:p},...c===``?{}:{style:c},...m.length===0?{}:{children:m}}}if(`if`in e){let t=y(e.then),n=y(e.else??[]);return{...e,then:t,...e.else===void 0?{}:{else:n}}}if(`each`in e)return{...e,children:y(e.children)};if(`raw`in e){g++;let t=u[0]?.raws[v++];return t===void 0?e:{...e,raw:Xm(i,t)}}return e});return{root:y([e])[0]??e,headCss:`${Mu(p)}${d}`,fontFaceCss:f}},pg=`defineTemplate`,mg=[`email`,`sms`,`whatsapp`],hg=(e,t)=>{let n=e.entry,r=n.defaultExport;r?.type===`Identifier`&&(r=n.declarations.get(Y(r,`name`)??``)?.value);let i=(e,i,a=`no-template`)=>{t.add(n.parsed,r??n.parsed.program,a,e,i)};if(r===void 0||r.type!==`CallExpression`)return i(`The entry must default-export defineTemplate({ ... }).`,"Write `export default defineTemplate({ id, schema, fixtures, email })`.");let a=J(r,`callee`),o=a===void 0?void 0:Y(a,`name`),s=o===void 0?void 0:n.imports.get(o);if(o===`defineEmail`)return i("`defineEmail` runs a render function, which the static profile does not read.","Use `defineTemplate` from @samva/markup with `email: { subject, preheader, body }`.",`legacy-definition`);if(s?.kind!==`markup`||s.imported!==pg)return i(`The entry must default-export defineTemplate({ ... }) imported from @samva/markup.`,'Add `import { defineTemplate } from "@samva/markup";`.');let c=hm(r,`arguments`)[0],l=c===void 0?void 0:_m(c);if(l===void 0||l.type!==`ObjectExpression`)return i(`defineTemplate takes one object literal.`,`Write defineTemplate({ id, schema, fixtures, email }).`);let u=new Map;for(let e of hm(l,`properties`)){let r=sh(e),i=J(e,`value`);if(r===void 0||i===void 0){t.add(n.parsed,e,`dynamic-definition`,`A definition field is written out, not spread or computed.`,"Write each field as `name: value`.");continue}u.set(r,i)}return{module:n,call:r,fields:u}},gg=(e,t,n)=>{let r=_m(n);if(/Function/.test(r.type))return{module:t,fn:r};if(r.type===`Identifier`){let n=Y(r,`name`)??``,i=t.declarations.get(n);if(i!==void 0)return gg(e,t,i.value);let a=t.imports.get(n);if(a?.kind===`project`){let t=e.modules.get(a.path);if(t===void 0)return;let n=a.imported==="default"?void 0:t.exports.get(a.imported);if(a.imported==="default"&&t.defaultExport!==void 0)return gg(e,t,t.defaultExport);let r=n===void 0?void 0:t.declarations.get(n);return r===void 0?void 0:gg(e,t,r.value)}}},_g=e=>{let t=[],n=new Set,r=i=>{if(!n.has(i.path)){n.add(i.path);for(let n of i.ordered)if(n.kind===`css`)t.includes(n.path)||t.push(n.path);else{let t=e.modules.get(n.path);t!==void 0&&r(t)}}};return r(e.entry),t},vg=(e,t,n)=>{let r=!1,i=e=>e.map(e=>{if(r||Cm(e))return e;if(`el`in e)return t(e)?(r=!0,n(e)):{...e,...e.children===void 0?{}:{children:i(e.children)}};if(`if`in e){let t=i(e.then),n=i(e.else??[]);return{...e,then:t,...e.else===void 0?{}:{else:n}}}return`each`in e?{...e,children:i(e.children)}:e});return{nodes:i(e),done:r}},yg={raw:[`<!--[if !mso]><!-->`]},bg={raw:[`<!--<![endif]-->`]},xg=(e,t,n={},r=[])=>({ir:e.blocking?void 0:t,fixtures:n,assets:r,diagnostics:e.items}),Sg=(e,t,n,r)=>{let i=(e,t={},i=r.assets)=>xg(n,e,t,i),a=r.urlFor,o={project:t,assetUrl:a},s=hg(t,n);if(s===void 0)return i(void 0);let{module:c,fields:l}=s,u=e=>l.get(e)??s.call,d=l.has(`id`)?lh(o,c,l.get(`id`)):void 0;d===void 0||!d.ok||typeof d.value!=`string`?n.add(c.parsed,u(`id`),`invalid-template-id`,`The template id is a string literal.`,`Write id: "order-shipped".`):Dc.test(d.value)||n.add(c.parsed,u(`id`),`invalid-template-id`,`Template id ${JSON.stringify(d.value)} is not lowercase kebab-case.`,`Write lowercase letters and digits joined by single hyphens, for example "order-shipped".`);let f=d!==void 0&&d.ok&&typeof d.value==`string`?d.value:``,p,m=l.get(`schema`);if(m===void 0)n.add(c.parsed,s.call,`missing-schema`,`The template declares no schema.`,"Add `schema: jsonSchema<Input>({ ... })`.");else{let t=lh(o,c,m);t.ok&&typeof t.value==`object`&&t.value!==null?p=t.value:e.schema===void 0?n.add(t.ok?c.parsed:t.module.parsed,t.ok?m:t.node,`schema-not-static`,`The schema cannot be read without running it${t.ok?``:` (${t.reason})`}.`,'Write the schema as a literal: `jsonSchema<Input>({ type: "object", properties: { … } })`, or compile with the schema a library already converted.'):p={...e.schema}}let h=()=>!0;if(p!==void 0)try{let e=Tc(Cc(p));h=e.validate,p=e.schema}catch(e){if(!(e instanceof TypeError))throw e;n.add(c.parsed,u(`schema`),`invalid-schema`,e.message,`Use only the JSON Schema keywords the README lists.`),p=void 0}let g={},_=l.get(`fixtures`);if(_===void 0)n.add(c.parsed,s.call,`missing-fixtures`,`The template declares no fixtures.`,"Add `fixtures: { default: { … } }`.");else{let e=lh(o,c,_);if(!e.ok)n.add(e.module.parsed,e.node,`fixtures-not-static`,`Fixtures are data, and this one is computed (${e.reason}).`,`Write each fixture as a literal object; an imported asset is allowed.`);else if(typeof e.value!=`object`||e.value===null||Object.keys(e.value).length===0)n.add(c.parsed,_,`missing-fixtures`,`The template declares no fixtures.`,"Declare at least one: `fixtures: { default: { … } }`.");else{let t=_m(_),r=new Map;if(t.type===`ObjectExpression`)for(let e of hm(t,`properties`)){let t=sh(e);t!==void 0&&r.set(t,J(e,`key`)??e)}for(let[t,i]of Object.entries(e.value)){if(!Ec.test(t)){n.add(c.parsed,r.get(t)??_,`invalid-fixture-name`,`Fixture key ${JSON.stringify(t)} is not one path segment.`,"Use letters, digits, `.`, `_` and `-`, starting with a letter or digit.");continue}if(g[t]=i,p!==void 0&&!h(i)){let e=h.errors?.at(-1)??h.errors?.[0];n.add(c.parsed,r.get(t)??_,`fixture-invalid`,`Fixture ${JSON.stringify(t)} does not match the schema${e===void 0?``:`: ${e.instanceLocation===`#`||e.instanceLocation===void 0?``:`${e.instanceLocation.replace(/^#/,``)} `}${e.error??`is invalid`}`}.`,`Change the fixture, or the schema, so a fixture is a payload a send could make.`)}}}}let v=l.has(`locale`)?lh(o,c,l.get(`locale`)):void 0,y=v?.ok===!0&&typeof v.value==`string`?v.value:void 0;l.has(`locale`)&&y===void 0&&n.add(c.parsed,u(`locale`),`invalid-locale`,`The locale is a string literal.`,`Write locale: "en-US".`);let b=new yh({project:t,findings:n,staticContext:o,assetUrl:a,brand:e.brand,brandPlugin:e.brandPlugin??jc,channel:wh}),x=e=>({module:e,env:new Map,stack:[],loops:[],depth:0}),S=e=>{let r=gg(t,c,e);if(r===void 0){n.add(c.parsed,e,`not-a-function`,`A channel field is a function of the input, written in place or declared in the project.`,"Write `(input) => …`.");return}let i=x(r.module),a=new Map,o=hm(r.fn,`params`)[0];o!==void 0&&b.bindPattern(i,o,{k:`path`,path:``},a,!1);let s={...i,env:a},l=b.functionExpression(s,r.fn);return l===void 0?void 0:{ctx:s,body:l}};for(let e of l.keys())[`id`,`schema`,`fixtures`,`locale`,...mg].includes(e)||n.add(c.parsed,u(e),`unknown-field`,`\`${e}\` is not a defineTemplate field.`,`The fields are id, schema, fixtures, locale, email, sms and whatsapp.`);let C,w=[],T=l.get(`email`),E;if(T!==void 0){let i=_m(T),a=new Map;if(i.type===`ObjectExpression`)for(let e of hm(i,`properties`)){let t=sh(e),n=J(e,`value`);t!==void 0&&n!==void 0&&a.set(t,n)}else n.add(c.parsed,T,`invalid-channel`,"The email channel is an object: `{ subject, preheader, body }`.",`Write email: { subject: …, body: … }.`);for(let e of a.keys())[`subject`,`preheader`,`body`].includes(e)||n.add(c.parsed,a.get(e),`unknown-field`,`\`${e}\` is not an email field.`,`The fields are subject, preheader and body.`);let o=e=>{let t=a.get(e);if(t===void 0)return;let n=S(t);return n===void 0?void 0:b.value(n.ctx,n.body,!1)},s=a.has(`subject`)?o(`subject`):void 0;!a.has(`subject`)&&i.type===`ObjectExpression`&&n.add(c.parsed,T,`missing-subject`,`The email channel needs a subject.`,"Add `subject: (input) => …`.");let l=o(`preheader`),d,f=a.get(`body`);if(f===void 0&&i.type===`ObjectExpression`)n.add(c.parsed,T,`missing-body`,`The email channel needs a body.`,"Add `body: (input) => (<Email>…</Email>)`.");else if(f!==void 0){let e=S(f);if(e!==void 0){let t=b.content(e.ctx,e.body);t.length===1?d=t[0]:n.blocking||n.add(e.ctx.module.parsed,e.body,`multiple-roots`,t.length===0?`The email body renders nothing.`:`The email body renders more than one root.`,`Wrap the body in a single element such as <Email>.`)}}if(s!==void 0&&d!==void 0){let i=[];r.tailwindSheet!==void 0&&i.push(r.tailwindSheet);for(let e of _g(t)){let t=r.stylesheets.get(e);t!==void 0&&i.push(t)}let a=[e.entry,...b.sources],o=fg(d,pm(i),{locate:t=>{if(t!==void 0)return{fileName:a[t[2]??0]??e.entry,lineNumber:t[0],columnNumber:t[1]}},report:e=>{n.items.push(e)}}),f=o.root;if(o.headCss!==``||o.fontFaceCss!==``){let e=[...o.headCss===``?[]:[{el:`style`,children:[o.headCss]}],...o.fontFaceCss===``?[]:[yg,{el:`style`,children:[o.fontFaceCss]},bg]],t=vg([f],e=>e.el===`head`,t=>({...t,children:[...t.children??[],...e]}));t.done?f=t.nodes[0]??f:n.report({code:`missing-head`,severity:`error`,message:`Styles that cannot be inlined — media queries, dark-scheme rules and pseudo-selectors — need a <head> to live in.`,fix:`Wrap the message in <Email>, or write those declarations as inline styles.`,origins:[]})}if(l!==void 0){let e=vg([f],e=>e.el===`body`,e=>({...e,children:[{preheader:!0},...e.children??[]]}));e.done?f=e.nodes[0]??f:n.add(c.parsed,u(`email`),`preheader-without-shell`,`A preheader is the hidden inbox preview inside <body>, and this body has no <Email> shell.`,`Wrap the body in <Email>.`)}Um([f],e=>w.push(e)),p!==void 0&&w.push(...Hm(p,[f],[s,...l===void 0?[]:[l]])),E={subject:s,...l===void 0?{}:{preheader:l},body:f}}}let D=tg({lowerer:b,findings:n,fields:l,module:c,openFunction:S,checks:w,schema:p}),O=[e.entry,...b.sources];for(let t of w){let r=t.src,i=O[r?.[2]??0]??e.entry;n.report({code:t.code,severity:`error`,message:t.message,...t.fix===void 0?{}:{fix:t.fix},origins:r===void 0?[{fileName:e.entry,lineNumber:1,columnNumber:1}]:[{fileName:i,lineNumber:r[0],columnNumber:r[1]}]})}return p!==void 0&&f!==``&&(E!==void 0||D.sms!==void 0||D.whatsapp!==void 0)?C={sml:1,template:f,...y===void 0?{}:{locale:y},sources:O,...E===void 0?{}:{email:E},...D.sms===void 0?{}:{sms:D.sms},...D.whatsapp===void 0?{}:{whatsapp:D.whatsapp},schema:p}:T===void 0&&!l.has(`sms`)&&!l.has(`whatsapp`)&&n.add(c.parsed,s.call,`no-channel`,`The template declares no channel.`,"Add `email`, `sms` or `whatsapp`."),i(C,g)},Cg=`@samva/markup`,wg=`@samva/markup/`,Tg={"@samva/markup/email/components":`@samva/markup/email`},Eg=[`.tsx`,`.ts`],Dg=(e,t,n)=>{let r=dm(um(e),t.replace(/[?#].*$/,``));if(r!==void 0){if(Object.hasOwn(n,r))return r;for(let e of Eg)if(Object.hasOwn(n,`${r}${e}`))return`${r}${e}`;for(let e of Eg)if(Object.hasOwn(n,`${r}/index${e}`))return`${r}/index${e}`}},Og=e=>/\.[cm]?[jt]sx?$/.test(e),kg=e=>e.type===`Identifier`?[Y(e,`name`)??``]:[],Ag=(e,t,n,r)=>{let i=new Map,a=new Set,o=new Set,s=!1,c=t=>{let l=i.get(t);if(l!==void 0)return l;if(o.has(t))return;let u=e[t];if(u===void 0)return;let d=typeof u==`string`?u:new TextDecoder().decode(u),f;try{f=ym(t,d)}catch(e){if(!(e instanceof vm))throw e;n.items.push({code:`syntax-error`,severity:`error`,message:e.message,origins:[{fileName:t,lineNumber:e.line,columnNumber:e.column}]}),s=!0;return}o.add(t);let p=new Map,m=[],h=new Map,g=new Map,_,v=e=>{if(e.type===`VariableDeclaration`)for(let t of hm(e,`declarations`)){let n=J(t,`id`),r=J(t,`init`);if(n!==void 0&&r!==void 0)for(let t of kg(n))h.set(t,{value:_m(r),node:e})}else if(e.type===`FunctionDeclaration`){let t=Y(J(e,`id`)??e,`name`);t!==void 0&&h.set(t,{value:e,node:e})}};for(let i of hm(f.program,`body`))switch(i.type){case`ImportDeclaration`:{let o=Y(J(i,`source`)??i,`value`)??``,c=Y(i,`importKind`)===`type`,l=hm(i,`specifiers`);if(c)break;let u=e=>Y(J(e,`local`)??e,`name`)??``,d=e=>{if(e.type===`ImportDefaultSpecifier`)return`default`;if(e.type===`ImportNamespaceSpecifier`)return`*`;let t=J(e,`imported`);return t===void 0?u(e):Y(t,`name`)??Y(t,`value`)??u(e)},h=Tg[o];if(h!==void 0){n.add(f,J(i,`source`)??i,`moved-import`,`\`${o}\` moved to \`${h}\`; the imported names are unchanged.`,`Import from "${h}".`),s=!0;break}if(o===Cg||o.startsWith(wg)){for(let e of l)Y(e,`importKind`)!==`type`&&p.set(u(e),{kind:`markup`,specifier:o,imported:d(e),node:e});break}if(Pc(o,r.brandPlugin)!==void 0){for(let e of l)Y(e,`importKind`)!==`type`&&p.set(u(e),{kind:`brand`,specifier:o,imported:d(e),node:e});break}if(!/^\.{0,2}\//.test(o)){n.add(f,i,`non-project-import`,`\`${o}\` is not part of the project; templates import only @samva/markup and files inside the project.`,`Remove the import, or copy the code you need into a project file.`),s=!0;break}let g=Dg(t,o,e);if(g===void 0&&r.lenient===!0){let e=dm(um(t),o.replace(/[?#].*$/,``)),n=e!==void 0&&Iu(e),r=e!==void 0&&(Og(e)||!/\.[a-z0-9]+$/i.test(e));if(e!==void 0&&(e.endsWith(`.css`)||n||r)){if(!e.endsWith(`.css`))for(let t of l)n?p.set(u(t),{kind:`asset`,path:e,node:t}):(a.add(u(t)),p.set(u(t),{kind:`project`,path:e,imported:d(t),node:t}));break}}if(g===void 0){n.add(f,i,`unresolved-import`,`\`${o}\` names no file in the project.`,`Check the path and the file extension.`),s=!0;break}if(g.endsWith(`.css`)){m.push({kind:`css`,path:g});break}if(Iu(g)){for(let e of l)p.set(u(e),{kind:`asset`,path:g,node:e});break}if(Og(g)){m.push({kind:`script`,path:g});for(let e of l)p.set(u(e),{kind:`project`,path:g,imported:d(e),node:e});break}n.add(f,i,`unresolved-import`,`\`${o}\` is a file type templates cannot import.`,`Import a script, a stylesheet or an asset such as .png or .woff2.`),s=!0;break}case`ExportNamedDeclaration`:{let e=J(i,`declaration`);if(e!==void 0){if(v(e),e.type===`VariableDeclaration`)for(let t of hm(e,`declarations`))for(let e of kg(J(t,`id`)??t))g.set(e,e);else if(e.type===`FunctionDeclaration`){let t=Y(J(e,`id`)??e,`name`);t!==void 0&&g.set(t,t)}}else for(let e of hm(i,`specifiers`)){let t=J(e,`exported`),n=J(e,`local`),r=t===void 0?void 0:Y(t,`name`)??Y(t,`value`),i=n===void 0?void 0:Y(n,`name`);r!==void 0&&i!==void 0&&g.set(r,i)}break}case`ExportDefaultDeclaration`:{let e=J(i,`declaration`);e!==void 0&&(_=_m(e));break}case`VariableDeclaration`:case`FunctionDeclaration`:v(i)}let y={path:t,parsed:f,imports:p,ordered:m,declarations:h,exports:g,defaultExport:_};i.set(t,y),o.delete(t);for(let e of m)e.kind===`script`&&c(e.path);return y},l=c(t);if(!(l===void 0||s))return{modules:i,entry:l,unresolved:a}},jg=`template.tsx`,Mg=new Set([`brand-unavailable`,`unmatched-class`]),Ng=(e,t)=>typeof e==`string`?{[t]:e}:e,Pg=(e,t=jg,n=jc)=>{let r=new fm,i=Ag(Ng(e,t),t,r,{brandPlugin:n,lenient:!0});if(i===void 0)return r.items;Sg({entry:t,brand:void 0,brandPlugin:n},i,r,{assets:[],stylesheets:new Map,tailwindSheet:void 0,urlFor:e=>`https://assets.invalid/${e}`});let a=[...i.unresolved];return r.items.filter(e=>!Mg.has(e.code)&&!e.code.startsWith(`tailwind-`)&&!a.some(t=>e.message.includes(`<${t}`)||e.message.includes(`\`${t}\``)))},Fg=e=>`${e.code}\0${e.message}`,Ig=(e,t)=>{let n=new Map;for(let t of e)t.severity===`error`&&n.set(Fg(t),(n.get(Fg(t))??0)+1);let r=[];for(let e of t){if(e.severity!==`error`)continue;let t=n.get(Fg(e))??0;t>0?n.set(Fg(e),t-1):r.push(e)}return r},Lg=e=>is(e)&&`type`in e&&typeof e.type==`string`&&`start`in e&&typeof e.start==`number`&&`end`in e&&typeof e.end==`number`,Rg=e=>Array.isArray(e)?e.filter(Lg):[],zg=(e,t,n=null)=>{if(Array.isArray(e)){for(let r of e)zg(r,t,n);return}if(Lg(e)){t(e,n);for(let[n,r]of Object.entries(e))n!==`loc`&&n!==`extra`&&n!==`comments`&&zg(r,t,e)}},Bg=e=>{try{let t=am(e,{sourceType:`module`,plugins:[`typescript`,`jsx`]});return Lg(t)?t:null}catch{return null}},Vg=e=>e.type===`Identifier`||e.type===`MemberExpression`&&e.computed===!1&&Lg(e.object)&&Vg(e.object),Hg=e=>e.split(/\r\n|\n|\r|\u2028|\u2029/).map(e=>e.trim()).filter(e=>e!==``).join(` `),Ug=(e,t,n,r)=>{let i=t.type===`JSXExpressionContainer`&&Lg(t.expression)?t.expression:t,a=i.type===`StringLiteral`||i.type===`NumericLiteral`||i.type===`BooleanLiteral`||i.type===`JSXText`,o=n.slice(i.start,i.end),s=i.type===`JSXText`?{start:i.start+(o.length-o.trimStart().length),end:i.end-(o.length-o.trimEnd().length)}:{start:t.start,end:t.end};return{name:e,literalType:i.type===`NumericLiteral`?`number`:i.type===`BooleanLiteral`?`boolean`:`string`,kind:a?`literal`:Vg(i)?`binding`:`computed`,value:a&&i.type===`JSXText`&&typeof i.value==`string`?Hg(i.value):a&&(typeof i.value==`string`||typeof i.value==`number`||typeof i.value==`boolean`)?String(i.value):n.slice(i.start,i.end),start:s.start,end:s.end,syntax:r}},Wg=(e,t,n)=>{if(t?.type!==`JSXElement`&&t?.type!==`JSXFragment`)return{previous:null,next:null};let r=Rg(t.children).filter(e=>e.type!==`JSXText`||n.slice(e.start,e.end).trim()!==``),i=r.findIndex(t=>t.start===e.start),a=e=>e?.type===`JSXElement`?{start:e.start,end:e.end}:null;return{previous:a(r[i-1]),next:a(r[i+1])}},Gg=(e,t,n)=>{if(t!==n.fileName)return null;let r=Bg(e);if(r===null)return null;let i=bs(e),a=i[n.lineNumber-1];if(a===void 0||!Number.isInteger(n.columnNumber)||n.columnNumber<1)return null;let o=a+n.columnNumber-1;if(o>=(i[n.lineNumber]??e.length))return null;let s=null;return zg(r,(t,n)=>{if(t.type!==`JSXElement`||t.start!==o||!Lg(t.openingElement))return;let r=t.openingElement,i=[];for(let t of Rg(r.attributes))if(t.type===`JSXAttribute`&&Lg(t.name)&&typeof t.name.name==`string`&&Lg(t.value)){let n=t.value,r=n.type===`JSXExpressionContainer`&&Lg(n.expression)?n.expression:null;if(t.name.name===`style`&&r?.type===`ObjectExpression`&&!Rg(r.properties).some(e=>e.type===`SpreadElement`))for(let t of Rg(r.properties)){if(t.type!==`ObjectProperty`||t.computed===!0||!Lg(t.key)||!Lg(t.value))continue;let n=t.key.type===`Identifier`?t.key.name:t.key.value;typeof n==`string`&&i.push(Ug(`style.${n}`,t.value,e,`value`))}else i.push(Ug(t.name.name,n,e,`attribute`))}let a=Rg(t.children).filter(t=>t.type!==`JSXText`||e.slice(t.start,t.end).trim()!==``);if(a.length===1&&a[0]!==void 0&&a[0].type!==`JSXElement`&&a[0].type!==`JSXFragment`)i.unshift(Ug(`children`,a[0],e,`child`));else if(a.length>1){let t=a.flatMap((t,n)=>t.type===`JSXText`?[Ug(`text.${n}`,t,e,`child`)]:[]);i.unshift(...t)}s={start:t.start,end:t.end,contentStart:r.selfClosing===!0?null:r.end,contentEnd:Lg(t.closingElement)?t.closingElement.start:null,tag:Lg(r.name)?e.slice(r.name.start,r.name.end):`element`,properties:i,attributeInsertion:(()=>{let e=Rg(r.attributes).at(-1);return e===void 0?Lg(r.name)?r.name.end:r.end-1:e.end})(),hasSpread:Rg(r.attributes).some(e=>e.type===`JSXSpreadAttribute`),structural:n?.type===`JSXElement`||n?.type===`JSXFragment`,...Wg(t,n,e)}}),s},Kg=/^[^\s{}<>&](?:[^{}<>&\r\n\u2028\u2029]*[^\s{}<>&])?$/,qg=(e,t,n)=>{if(t.kind!==`literal`||t.literalType===`number`&&(n.trim()===``||!Number.isFinite(Number(n)))||t.literalType===`boolean`&&n!==`true`&&n!==`false`)return null;let r=t.literalType===`string`?JSON.stringify(n):t.literalType===`number`?String(Number(n)):n,i=e.slice(t.start,t.end),a=t.syntax===`child`&&!i.startsWith(`{`)&&Kg.test(n);return{start:t.start,end:t.end,before:i,after:a?n:t.syntax===`child`||t.syntax===`attribute`&&t.literalType!==`string`?`{${r}}`:r}},Jg=(e,t,n)=>({start:t.start,end:t.end,before:e.slice(t.start,t.end),after:t.syntax===`value`?n:`{${n}}`}),Yg=(e,t,n)=>{let r=n.file??n.entry,i=e=>({...n.files,[r]:e}),a=Ig(Pg(i(e),n.entry),Pg(i(t),n.entry)),o=a[0];if(o===void 0)return null;let s=a.length>1?` (and ${a.length-1} more)`:``;return`This change leaves the static profile: ${o.message}${o.fix===void 0?``:` ${o.fix}`}${s}`},Xg=(e,t,n={})=>{let r=[...t].sort((e,t)=>t.start-e.start),i=e.length,a=e;for(let t of r){if(t.start<0||t.end<t.start||t.end>i||e.slice(t.start,t.end)!==t.before)return{ok:!1,reason:`Source changed at this target. Select it again before applying the edit.`};a=a.slice(0,t.start)+t.after+a.slice(t.end),i=t.start}if(Bg(a)===null)return{ok:!1,reason:`This change is not valid TSX. Review it in Source.`};if(n.profile!==void 0&&a!==e){let t=Yg(e,a,n.profile);if(t!==null)return{ok:!1,reason:t}}return{ok:!0,source:a}},Zg=(e,t)=>{let n=Math.max(e.lastIndexOf(`
28
+ `,t-1),e.lastIndexOf(`\r`,t-1)),r=e.slice(n+1,t);return/^[ \t]*$/.test(r)?r:null},Qg=(e,t)=>{if(Zg(e,t.start)===null)return t;let n=/^[ \t]*(\r\n|\n|\r)/.exec(e.slice(t.end));return n===null?t:{start:t.start-(Zg(e,t.start)??``).length,end:t.end+n[0].length}},$g=(e,t,n)=>{if(n.kind===`insert`)return t.contentEnd===null?null:[{start:t.contentEnd,end:t.contentEnd,before:``,after:n.tsx}];if(!t.structural)return null;let r=e.slice(t.start,t.end);if(n.kind===`duplicate`){let n=Zg(e,t.start);return[{start:t.end,end:t.end,before:``,after:n===null?r:`\n${n}${r}`}]}if(n.kind===`reorder`){let i=n.direction===`before`?t.previous:t.next;return i===null?null:[{start:i.start,end:i.end,before:e.slice(i.start,i.end),after:r},{start:t.start,end:t.end,before:r,after:e.slice(i.start,i.end)}]}let i=Qg(e,t),a={start:i.start,end:i.end,before:e.slice(i.start,i.end),after:``};if(n.kind===`delete`)return[a];let o=n.destination.contentEnd;return o===null||o>=t.start&&o<=t.end?null:[a,{start:o,end:o,before:``,after:r}]},e_=(e,t)=>{let n=e.program;if(!Lg(n))return null;for(let e of Rg(n.body)){let n=e.type===`ExportNamedDeclaration`&&Lg(e.declaration)?e.declaration:e;if(n.type===`VariableDeclaration`){for(let e of Rg(n.declarations))if(Lg(e.id)&&e.id.name===t&&Lg(e.init)&&e.init.type===`ObjectExpression`)return e.init}}return null},t_=e=>{let t=Bg(e);if(t===null)return[];let n=[];return zg(t,r=>{if(r.type!==`CallExpression`||!Lg(r.callee)||r.callee.type!==`Identifier`||r.callee.name!==`defineTemplate`)return;let i=Rg(r.arguments)[0];if(i?.type!==`ObjectExpression`)return;let a=Rg(i.properties).find(e=>e.type===`ObjectProperty`&&Lg(e.key)&&e.key.name===`fixtures`&&e.computed!==!0);if(a!==void 0&&Lg(a.value)&&a.value.type===`ObjectExpression`)for(let r of Rg(a.value.properties)){if(r.type!==`ObjectProperty`||r.computed===!0||!Lg(r.key)||!Lg(r.value))continue;let i=r.key.type===`Identifier`?r.key.name:r.key.value,a=r.value.type===`Identifier`&&typeof r.value.name==`string`?e_(t,r.value.name)??r.value:r.value;typeof i==`string`&&n.push({name:i,start:a.start,end:a.end,source:e.slice(a.start,a.end)})}}),n},n_=e=>e.split(/\s+/).filter(e=>e!==``),r_=(e,t,n)=>{let r=t.properties.find(e=>e.name===`className`),i=e=>{if(n.kind===`set`)return n_(n.value).join(` `);let t=n_(n.tokens);return n.kind===`add`?[...e,...t.filter(t=>!e.includes(t))].join(` `):e.filter(e=>!t.includes(e)).join(` `)};if(r===void 0){if(t.hasSpread)return{ok:!1,reason:`A spread attribute can supply className here, so a class list cannot be added safely. Edit it in Source.`};if(n.kind===`remove`)return{ok:!0,edits:[]};let e=i([]);return e===``?{ok:!0,edits:[]}:{ok:!0,edits:[{start:t.attributeInsertion,end:t.attributeInsertion,before:``,after:` className=${JSON.stringify(e)}`}]}}if(r.kind!==`literal`||r.literalType!==`string`)return{ok:!1,reason:`className is ${r.kind===`binding`?`bound to`:`computed from`} \`${r.value}\`, so editing it would discard that choice. Change the literal classes inside it in Source.`};let a=i(n_(r.value));return{ok:!0,edits:[{start:r.start,end:r.end,before:e.slice(r.start,r.end),after:JSON.stringify(a)}]}},i_=e=>is(e)&&typeof e.type==`string`&&typeof e.start==`number`&&typeof e.end==`number`,a_=e=>Array.isArray(e)?e.filter(i_):[],o_=(e,t)=>{let n=e[t];return i_(n)?n:null},s_=e=>{try{let t=am(e,{sourceType:`module`,plugins:[`typescript`,`jsx`]});return i_(t)?t:null}catch{return null}},c_=(e,t)=>{if(Array.isArray(e)){for(let n of e)c_(n,t);return}if(i_(e)&&t(e)!==!1)for(let[n,r]of Object.entries(e))n!==`loc`&&n!==`extra`&&n!==`comments`&&c_(r,t)},l_=e=>e===null?``:e.type===`JSXIdentifier`?typeof e.name==`string`?e.name:``:e.type===`JSXMemberExpression`?`${l_(o_(e,`object`))}.${l_(o_(e,`property`))}`:``,u_=e=>{if(e.type!==`JSXElement`)return null;let t=o_(e,`openingElement`);if(t===null)return null;let n=o_(e,`closingElement`);return{node:e,opening:t,closing:n,tag:l_(o_(t,`name`)),children:a_(e.children),attributes:a_(t.attributes),selfClosing:t.selfClosing===!0,contentStart:t.end,contentEnd:n===null?t.end:n.start}},d_=e=>{let t=o_(e,`body`);if(t===null)return null;if(t.type===`JSXElement`)return t;if(t.type!==`BlockStatement`)return null;let n=a_(t.body).filter(e=>e.type!==`EmptyStatement`),r=n.length===1?n[0]:void 0,i=r?.type===`ReturnStatement`&&r!==void 0?o_(r,`argument`):null;return i!==null&&i.type===`JSXElement`?i:null},f_=e=>{if(e.computed===!0)return null;let t=o_(e,`key`);return t===null?null:t.type===`Identifier`?typeof t.name==`string`?t.name:null:t.type===`StringLiteral`&&typeof t.value==`string`?t.value:null},p_=(e,t)=>{let n=null;return c_(e,e=>{if(n!==null)return!1;if(e.type!==`CallExpression`)return;let r=o_(e,`callee`);if(r?.type!==`Identifier`||r.name!==`defineTemplate`)return;let i=a_(e.arguments)[0];if(i?.type!==`ObjectExpression`)return!1;for(let e of a_(i.properties)){if(f_(e)!==t)continue;let r=e.type===`ObjectMethod`?e:e.type===`ObjectProperty`?o_(e,`value`):null;if(r===null||r.type!==`ArrowFunctionExpression`&&r.type!==`FunctionExpression`&&r.type!==`ObjectMethod`)return!1;let i=d_(r),a=i===null?null:u_(i);return a!==null&&(n={root:a,parameter:a_(r.params)[0]??null}),!1}return!1}),n},m_=(e,t,n)=>{let r=n;return c_(e,e=>{if(e.type===`ImportDeclaration`){if(o_(e,`source`)?.value!==t)return!1;for(let t of a_(e.specifiers)){let e=o_(t,`imported`),i=o_(t,`local`);t.type===`ImportSpecifier`&&(e?.name===n||e?.value===n)&&(r=typeof i?.name==`string`?i.name:n)}return!1}}),r},h_=e=>{let t=e.split(/\r\n|\n|\r/),n=0;t.forEach((e,t)=>{/[^ \t]/.test(e)&&(n=t)});let r=``;return t.forEach((e,i)=>{let a=e.replace(/\t/g,` `);i!==0&&(a=a.replace(/^ +/,``)),i!==t.length-1&&(a=a.replace(/ +$/,``)),a!==``&&(r+=i===n?a:`${a} `)}),r},g_=e=>{let t=o_(e,`expression`);if(t===null)return null;if(t.type===`StringLiteral`&&typeof t.value==`string`)return t.value;if(t.type===`TemplateLiteral`&&a_(t.expressions).length===0){let e=a_(t.quasis)[0]?.value;return is(e)&&typeof e.cooked==`string`?e.cooked:null}return null},__=(e,t)=>{let n=e.slice(t.start,t.end).replace(/\s+/g,` `).trim();return n.length>60?`${n.slice(0,59)}…`:n},v_=(e,t)=>{let n=[],r=t.contentStart,i=``,a=e=>{n.push({kind:`text`,text:i,start:r,end:e}),i=``};for(let o of t.children){if(o.type===`JSXText`){i+=h_(typeof o.value==`string`?o.value:``);continue}if(o.type===`JSXExpressionContainer`){let e=g_(o);if(e!==null){i+=e;continue}}a(o.start),n.push({kind:`locked`,summary:__(e,o),start:o.start,end:o.end}),r=o.end}return a(t.contentEnd),n},y_=e=>!/[{}<>&\r\n\t]/.test(e),b_=(e,t,n)=>{let r=[...e],i=r.map(e=>!y_(e));if(t)for(let e=0;e<r.length&&/\s/.test(r[e]);e++)i[e]=!0;if(n)for(let e=r.length-1;e>=0&&/\s/.test(r[e]);e--)i[e]=!0;let a=``,o=``,s=!1,c=()=>{o!==``&&(a+=s?`{${JSON.stringify(o)}}`:o,o=``)};return r.forEach((e,t)=>{o!==``&&i[t]!==s&&c(),s=i[t],o+=e}),c(),a},x_=(e,t,n,r,i)=>{let a=n[r];if(a?.kind!==`text`)return{ok:!1,reason:`That part of the body is locked.`};if(a.text===i)return{ok:!0,edits:[]};if(t.selfClosing){let n=t.opening,r=n.end-2;for(;r>n.start&&/\s/.test(e[r-1]);)r--;return{ok:!0,edits:[{start:r,end:n.end,before:e.slice(r,n.end),after:`>${b_(i,!1,!1)}</${t.tag}>`}]}}let o=e.slice(a.start,a.end),s=/^\s*/.exec(o)?.[0]??``,c=/[\r\n]/.test(s)?s:``,l=o.slice(c.length),u=/\s*$/.exec(l)?.[0]??``,d=/[\r\n]/.test(u)?u:``,f=a.start+c.length,p=a.end-d.length;return{ok:!0,edits:[{start:f,end:p,before:e.slice(f,p),after:b_(i,c!==``,d!==``)}]}},S_=(e,t)=>e.attributes.find(e=>e.type===`JSXAttribute`&&l_(o_(e,`name`))===t)??null,C_=(e,t,n)=>{let r=S_(t,n);if(r===null)return{kind:`absent`};let i=o_(r,`value`);if(i?.type===`StringLiteral`&&typeof i.value==`string`)return{kind:`literal`,value:i.value};if(i?.type===`JSXExpressionContainer`){let e=g_(i);if(e!==null)return{kind:`literal`,value:e}}return{kind:`expression`,source:__(e,i??r)}},w_=e=>/["&\\\r\n]/.test(e)?`{${JSON.stringify(e)}}`:`"${e}"`,T_=(e,t,n,r)=>({start:t,end:n,before:e.slice(t,n),after:r}),E_=(e,t,n,r)=>{let i=S_(t,n);if(i===null){if(r===void 0)return{ok:!0,edits:[]};let i=t.attributes.at(-1)?.end??o_(t.opening,`name`)?.end??t.opening.end;return{ok:!0,edits:[T_(e,i,i,` ${n}=${w_(r)}`)]}}if(C_(e,t,n).kind===`expression`)return{ok:!1,reason:`\`${n}\` reads the input. Edit it in Source.`};if(r===void 0){let n=i.start;for(;n>t.opening.start&&/\s/.test(e[n-1]);)n--;return{ok:!0,edits:[T_(e,n,i.end,``)]}}let a=o_(i,`value`);return{ok:!0,edits:a===null?[T_(e,i.end,i.end,`=${w_(r)}`)]:[T_(e,a.start,a.end,w_(r))]}},D_=` `,O_=(e,t)=>{let n=e.lastIndexOf(`
29
+ `,t-1)+1,r=e.slice(n,t);return/^[ \t]*$/.test(r)?r:null},k_=(e,t)=>{let n=O_(e,t.start),r=/^[ \t]*(\r?\n)/.exec(e.slice(t.end));return n===null||r===null?T_(e,t.start,t.end,``):T_(e,t.start-n.length,t.end+r[0].length,``)},A_=(e,t,n,r)=>{let i=O_(e,t.start);return n===`before`?T_(e,t.start,t.start,i===null?r:`${r}\n${i}`):T_(e,t.end,t.end,i===null?r:`\n${i}${r}`)},j_=(e,t,n)=>{let r=new Set,i=e=>{if(n?.type===`Identifier`&&typeof n.name==`string`){let t=RegExp(`\\b${n.name}((?:\\??\\.[A-Za-z_$][\\w$]*)+)`,`g`);for(let n of e.matchAll(t))r.add(n[1].replace(/\?/g,``).slice(1))}else if(n?.type===`ObjectPattern`)for(let t of a_(n.properties)){let n=o_(t,`key`);n?.type===`Identifier`&&typeof n.name==`string`&&RegExp(`\\b${n.name}\\b`).test(e)&&r.add(n.name)}};return c_(t.node,t=>{t.type===`JSXExpressionContainer`&&g_(t)===null&&i(e.slice(t.start,t.end))}),[...r].sort()},M_=e=>{let t=s_(e);if(t===null)return null;let n=p_(t,`sms`);return n===null||n.root.tag!==m_(t,`@samva/markup/sms`,`Sms`)?null:{...n,tree:t}},N_=e=>{let t=M_(e);return t===null?null:{category:C_(e,t.root,`category`),segments:v_(e,t.root),variables:j_(e,t.root,t.parameter)}},P_=(e,t)=>{let n=M_(e);return n===null?{ok:!1,reason:`The SMS body is not editable here.`}:t.kind===`category`?t.value!==void 0&&!wm.includes(t.value)?{ok:!1,reason:`\`${t.value}\` is not an SMS category.`}:E_(e,n.root,`category`,t.value):x_(e,n.root,v_(e,n.root),t.segment,t.text)},F_={"quick-reply":`QuickReplyButton`,url:`UrlButton`,phone:`PhoneButton`,"copy-code":`CopyCodeButton`},I_={"quick-reply":`Reply`,url:`Visit site`,phone:`Call us`,"copy-code":`CODE`},L_=(e,t)=>{if(!e.startsWith(`${t}.`))return null;let n=e.slice(t.length+1);return Object.keys(F_).find(e=>F_[e]===n)??null},R_=e=>{let t=s_(e);if(t===null)return null;let n=p_(t,`whatsapp`),r=m_(t,`@samva/markup/whatsapp`,`WhatsApp`);if(n===null||n.root.tag!==r)return null;let i=e=>{for(let t of n.root.children){let n=u_(t);if(n?.tag===`${r}.${e}`)return n}return null};return{...n,local:r,header:i(`Header`),body:i(`Body`),footer:i(`Footer`),buttons:i(`Buttons`)}},z_=(e,t)=>{if(t.buttons===null)return[];let n=[];for(let r of t.buttons.children){if(r.type===`JSXText`&&h_(String(r.value??``))===``)continue;let i=u_(r),a=i===null?null:L_(i.tag,t.local);if(i===null||a===null){n.push({row:{kind:`locked`,summary:__(e,r)},node:r});continue}let o=v_(e,i),s=o[0];n.push({node:r,row:o.length===1&&s?.kind===`text`?{kind:`editable`,type:a,text:s.text,url:C_(e,i,`url`),phone:C_(e,i,`phone`)}:{kind:`locked`,summary:__(e,r)}})}return n},B_=e=>{let t=R_(e);if(t===null||t.body===null)return null;let{root:n}=t;return{language:C_(e,n,`language`),category:C_(e,n,`category`),header:t.header===null?null:v_(e,t.header),headerType:t.header===null?{kind:`absent`}:C_(e,t.header,`type`),body:v_(e,t.body),footer:t.footer===null?null:v_(e,t.footer),buttons:z_(e,t).map(({row:e})=>e),variables:j_(e,n,t.parameter)}},V_=(e,t,n,r)=>{let i=`${e}.${F_[t]}`;return`<${i}${t===`url`&&r.url!==void 0?` url=${w_(r.url)}`:t===`phone`&&r.phone!==void 0?` phone=${w_(r.phone)}`:``}>${b_(n,!1,!1)}</${i}>`},H_=(e,t)=>V_(e,t,I_[t],{url:`https://example.com`,phone:`+15555550100`}),U_=(e,t,n,r,i)=>{let a=t[n];if(a===null){if(n===`body`||i===``||r!==0)return{ok:!0,edits:[]};let a=`${t.local}.${n===`header`?`Header`:`Footer`}`,o=`<${a}>${b_(i,!1,!1)}</${a}>`;return{ok:!0,edits:[A_(e,n===`header`?t.body.node:t.buttons?.node??t.body.node,n===`header`?`before`:`after`,o)]}}let o=v_(e,a);return n!==`body`&&i===``&&o.length===1?{ok:!0,edits:[k_(e,a.node)]}:x_(e,a,o,r,i)},W_=(e,t)=>{let n=R_(e);if(n===null||n.body===null)return{ok:!1,reason:`The WhatsApp body is not editable here.`};let{root:r,local:i}=n;switch(t.kind){case`attribute`:return t.name===`category`&&!Tm.includes(t.value)?{ok:!1,reason:`Choose a WhatsApp category.`}:E_(e,r,t.name,t.value);case`headerType`:return n.header===null?{ok:!1,reason:`Add the header text before choosing its type.`}:Em.includes(t.value)?E_(e,n.header,`type`,t.value===`text`?void 0:t.value):{ok:!1,reason:`\`${t.value}\` is not a header type.`};case`text`:return U_(e,n,t.part,t.segment,t.text);case`buttonAdd`:{let r=H_(i,t.type),a=n.buttons;if(a===null){let t=n.footer??n.body,a=`${i}.Buttons`,o=O_(e,t.node.start),s=o===null?`<${a}>${r}</${a}>`:`<${a}>\n${o}${D_}${r}\n${o}</${a}>`;return{ok:!0,edits:[A_(e,t.node,`after`,s)]}}if(a.selfClosing){let t=`${i}.Buttons`,n=O_(e,a.node.start),o=n===null?`<${t}>${r}</${t}>`:`<${t}>\n${n}${D_}${r}\n${n}</${t}>`;return{ok:!0,edits:[T_(e,a.node.start,a.node.end,o)]}}let o=a.children.findLast(e=>e.type!==`JSXText`||h_(String(e.value??``))!==``);if(o!==void 0)return{ok:!0,edits:[A_(e,o,`after`,r)]};let s=O_(e,a.node.start);return{ok:!0,edits:[T_(e,a.contentStart,a.contentEnd,s===null?r:`\n${s}${D_}${r}\n${s}`)]}}}let a=z_(e,n),o=a[t.button];if(o===void 0||n.buttons===null)return{ok:!1,reason:`That button no longer exists.`};if(t.kind===`buttonRemove`)return{ok:!0,edits:[k_(e,a.length===1?n.buttons.node:o.node)]};let s=u_(o.node);if(o.row.kind===`locked`||s===null)return{ok:!1,reason:`That button is locked. Edit it in Source.`};switch(t.kind){case`buttonText`:return x_(e,s,v_(e,s),0,t.text);case`buttonAttribute`:return E_(e,s,t.name,t.value);default:{let{row:n}=o,r=e=>e.kind===`literal`?e.value:void 0,a=V_(i,t.type,n.text,{url:r(n.url)??`https://example.com`,phone:r(n.phone)??`+15555550100`});return{ok:!0,edits:[T_(e,o.node.start,o.node.end,a)]}}}},G_=new Set([`[`,`]`,`{`,`}`,`\\`,`~`,`|`,`€`,`^`,`\f`]),K_=/^[@£$¥èéùìòÇ\nØø\rÅåΔ_ΦΓΛΩΠΨΣΘΞÆæßÉ !"#¤%&'()*+,\-./:;<=>?¡0-9ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÑܧ¿abcdefghijklmnopqrstuvwxyzäöñüà]*$/,q_=e=>{for(let t of e)if(!G_.has(t)&&!K_.test(t))return!0;return!1},J_=e=>{if(q_(e)){let t=[...e].length,n=t<=70?1:Math.ceil(t/67);return{encoding:`ucs2`,characterCount:e.length,segmentCount:n}}let t=0;for(let n of e)t+=G_.has(n)?2:1;let n=t<=160?1:Math.ceil(t/153);return{encoding:`gsm7`,characterCount:e.length,segmentCount:n}},Y_=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),X_=o(((e,t)=>{t.exports=Y_()})),Z_={};function Q_(e,t){let n=W.useRef(Z_);return n.current===Z_&&(n.current=e(t)),n}var $_=[],ev=void 0;function tv(){return ev}function nv(e){$_.push(e)}function rv(e){let t=(t,n)=>{let r=Q_(av).current,i;try{ev=r;for(let e of $_)e.before(r);i=e(t,n);for(let e of $_)e.after(r);r.didInitialize=!0}finally{ev=void 0}return i};return t.displayName=e.displayName||e.name,t}function iv(e){return W.forwardRef(rv(e))}function av(){return{didInitialize:!1}}function ov(){}var sv=Object.freeze([]),cv=Object.freeze({}),X=typeof document<`u`?W.useLayoutEffect:()=>{};function lv(e,t){return function(n,...r){let i=new URL(e);return i.searchParams.set(`code`,n.toString()),r.forEach(e=>i.searchParams.append(`args[]`,e)),`${t} error #${n}; visit ${i} for the full message.`}}var uv=lv(`https://base-ui.com/production-error`,`Base UI`),dv=W.createContext(void 0);function fv(e){let t=W.useContext(dv);if(t===void 0&&!e)throw Error(uv(72));return t}function pv(e){W.useEffect(e,sv)}var mv=0,hv=class e{static create(){return new e}currentId=mv;start(e,t){this.clear(),this.currentId=setTimeout(()=>{this.currentId=mv,t()},e)}isStarted(){return this.currentId!==mv}clear=()=>{this.currentId!==mv&&(clearTimeout(this.currentId),this.currentId=mv)};disposeEffect=()=>this.clear};function gv(){let e=Q_(hv.create).current;return pv(e.disposeEffect),e}function _v(){return typeof navigator>`u`?{userAgent:``,platform:``,maxTouchPoints:0}:{userAgent:navigator.userAgent,platform:navigator.platform??``,maxTouchPoints:navigator.maxTouchPoints??0}}var{userAgent:vv,platform:yv,maxTouchPoints:bv}=_v(),xv=vv.toLowerCase(),Sv=yv.toLowerCase(),Cv=/^i(os$|p)/.test(Sv)||Sv===`macintel`&&bv>1,wv=`android`,Tv=Sv===wv||xv.includes(wv),Ev=!Cv&&Sv.startsWith(`mac`);Sv.startsWith(`win`),!Tv&&/^(linux|chrome os)/.test(Sv);var Dv=Ev||Cv,Ov=typeof CSS<`u`&&!!CSS.supports?.(`-webkit-backdrop-filter:none`);!Ov&&xv.includes(`firefox`),!Ov&&xv.includes(`chrom`);var kv=Dv,Av=/jsdom|happydom/.test(xv);function jv(e){e.preventDefault(),e.stopPropagation()}function Mv(e){return`nativeEvent`in e}function Nv(e){return e.pointerType===``&&e.isTrusted?!0:Tv&&e.pointerType?e.type===`click`&&e.buttons===1:e.detail===0&&!e.pointerType}function Pv(e){return Av?!1:!Tv&&e.width===0&&e.height===0||Tv&&e.width===1&&e.height===1&&e.pressure===0&&e.detail===0&&e.pointerType===`mouse`||e.width<1&&e.height<1&&e.pressure===0&&e.detail===0&&e.pointerType===`touch`}function Fv(e,t){let n=[`mouse`,`pen`];return t||n.push(``,void 0),n.includes(e)}function Iv(e){let t=e.type;return t===`click`||t===`mousedown`||t===`keydown`||t===`keyup`}function Lv(){return typeof window<`u`}function Rv(e){return Vv(e)?(e.nodeName||``).toLowerCase():`#document`}function zv(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Bv(e){return((Vv(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function Vv(e){return Lv()?e instanceof Node||e instanceof zv(e).Node:!1}function Hv(e){return Lv()?e instanceof Element||e instanceof zv(e).Element:!1}function Uv(e){return Lv()?e instanceof HTMLElement||e instanceof zv(e).HTMLElement:!1}function Wv(e){return!Lv()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof zv(e).ShadowRoot}function Gv(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=ny(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function Kv(e){return/^(table|td|th)$/.test(Rv(e))}function qv(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var Jv=/transform|translate|scale|rotate|perspective|filter/,Yv=/paint|layout|strict|content/,Xv=e=>!!e&&e!==`none`,Zv;function Qv(e){let t=Hv(e)?ny(e):e;return Xv(t.transform)||Xv(t.translate)||Xv(t.scale)||Xv(t.rotate)||Xv(t.perspective)||!ey()&&(Xv(t.backdropFilter)||Xv(t.filter))||Jv.test(t.willChange||``)||Yv.test(t.contain||``)}function $v(e){let t=iy(e);for(;Uv(t)&&!ty(t);){if(Qv(t))return t;if(qv(t))return null;t=iy(t)}return null}function ey(){return Zv??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),Zv}function ty(e){return/^(html|body|#document)$/.test(Rv(e))}function ny(e){return zv(e).getComputedStyle(e)}function ry(e){return Hv(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function iy(e){if(Rv(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||Wv(e)&&e.host||Bv(e);return Wv(t)?t.host:t}function ay(e){let t=iy(e);return ty(t)?(e.ownerDocument||e).body:Uv(t)&&Gv(t)?t:ay(t)}function oy(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=ay(e),i=r===e.ownerDocument?.body,a=zv(r);if(i){let e=sy(a);return t.concat(a,a.visualViewport||[],Gv(r)?r:[],e&&n?oy(e):[])}return t.concat(r,oy(r,[],n))}function sy(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function cy(e){let t=e.activeElement;for(;t?.shadowRoot?.activeElement!=null;)t=t.shadowRoot.activeElement;return t}function ly(e,t){if(!e||!t)return!1;let n=t.getRootNode?.();if(e.contains(t))return!0;if(n&&Wv(n)){let n=t;for(;n;){if(e===n)return!0;n=n.parentNode||n.host}}return!1}function uy(e){return`composedPath`in e?e.composedPath()[0]??e.target:e.target}var dy=`data-base-ui-focusable`,fy=`input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])`,py=`ArrowLeft`,my=`ArrowRight`,hy=`ArrowUp`,gy=`ArrowDown`,_y=`data-starting-style`,vy=`data-ending-style`,yy={[_y]:``},by={[vy]:``},xy={transitionStatus(e){return e===`starting`?yy:e===`ending`?by:null}},Sy=`data-open`,Cy=`data-closed`,wy=`data-anchor-hidden`,Ty=`data-popup-open`,Ey=`data-pressed`,Dy={[Ty]:``},Oy={[Ty]:``,[Ey]:``},ky={[Sy]:``},Ay={[Cy]:``},jy={[wy]:``},My={open(e){return e?Dy:null}},Ny={open(e){return e?Oy:null}},Py={open(e){return e?ky:Ay},anchorHidden(e){return e?jy:null}},Fy={...Py,...xy},Iy=`data-trigger-disabled`;function Ly(e,t){if(!Hv(e))return!1;let n=e;if(t.hasElement(n))return!n.hasAttribute(Iy);for(let[,e]of t.entries())if(ly(e,n))return!e.hasAttribute(Iy);return!1}function Ry(e,t){if(t==null)return!1;if(`composedPath`in e)return e.composedPath().includes(t);let n=e;return n.target!=null&&t.contains(n.target)}function zy(e){return e.matches(`html,body`)}function By(e){return Uv(e)&&e.matches(`input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])`)}function Vy(e){return e?.closest(`button,a[href],[role="button"],select,[tabindex]:not([tabindex="-1"]),${fy}`)!=null}function Hy(e){return e?e.getAttribute(`role`)===`combobox`&&By(e):!1}function Uy(e){if(!e||Av)return!0;try{return e.matches(`:focus-visible`)}catch{return!0}}function Wy(e){return e?e.hasAttribute(`data-base-ui-focusable`)?e:e.querySelector(`[data-base-ui-focusable]`)||e:null}function Gy(e,t){return t!=null&&!Fv(t)?0:typeof e==`function`?e():e}function Ky(e,t,n){let r=Gy(e,n);return typeof r==`number`?r:r?.[t]}function qy(e){return typeof e==`function`?e():e}function Jy(e,t){return t||e===`click`||e===`mousedown`}function Yy(e){return e?.includes(`mouse`)&&e!==`mousedown`}var Xy=`none`,Zy=`trigger-press`,Qy=`trigger-hover`,$y=`trigger-focus`,eb=`outside-press`,tb=`item-press`,nb=`close-press`,rb=`focus-out`,ib=`escape-key`,ab=`close-watcher`,ob=`list-navigation`,sb=`cancel-open`,cb=`sibling-open`,lb=`disabled`,ub=`imperative-action`,db=`swipe`,fb=`window-resize`;function pb(e,t,n,r){let i=!1,a=!1,o=r??cv;return{reason:e,event:t??new Event(`base-ui`),cancel(){i=!0},allowPropagation(){a=!0},get isCanceled(){return i},get isPropagationAllowed(){return a},trigger:n,...o}}var Z=X_(),mb=W.createContext({hasProvider:!1,timeoutMs:0,delayRef:{current:0},initialDelayRef:{current:0},timeout:new hv,currentIdRef:{current:null},currentContextRef:{current:null}});function hb(e,t){e.current=t.current}function gb(e,t={open:!1}){let{open:n}=t,r=`rootStore`in e?e.rootStore:e,i=r.useState(`floatingId`),{currentIdRef:a,delayRef:o,timeoutMs:s,initialDelayRef:c,currentContextRef:l,hasProvider:u,timeout:d}=W.useContext(mb),[f,p]=W.useState(!1),m=W.useRef(n);return X(()=>{m.current=n},[n]),X(()=>{function e(){l.current?.setIsInstantPhase(!1),a.current=null,l.current=null,o.current=c.current,d.clear()}if(a.current&&!n&&a.current===i){if(p(!1),s){let t=i;return d.start(s,()=>{r.select(`open`)||a.current&&a.current!==t||e()}),()=>{(m.current||a.current!==t)&&d.clear()}}e()}},[n,i,a,o,s,c,l,d,r]),X(()=>{if(!n)return;let e=l.current,t=a.current;d.clear(),l.current={onOpenChange:r.setOpen,setIsInstantPhase:p},a.current=i,o.current={open:0,close:Ky(c.current,`close`)},t!==null&&t!==i?(p(!0),e?.setIsInstantPhase(!0),e?.onOpenChange(!1,pb(Xy))):(p(!1),e?.setIsInstantPhase(!1))},[n,i,r,a,o,c,l,d]),X(()=>()=>{if(a.current===i){if(l.current=null,!m.current)return;a.current=null,hb(o,c),d.clear()}},[l,a,o,i,c,d]),W.useMemo(()=>({activeIdRef:a,hasProvider:u,delayRef:o,isInstantPhase:f}),[a,u,o,f])}function _b(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function vb(...e){return()=>{for(let t=0;t<e.length;t+=1){let n=e[t];n&&n()}}}function yb(e,t,n,r){let i=Q_(xb).current;return Sb(i,e,t,n,r)&&wb(i,[e,t,n,r]),i.callback}function bb(e){let t=Q_(xb).current;return Cb(t,e)&&wb(t,e),t.callback}function xb(){return{callback:null,cleanup:null,refs:[]}}function Sb(e,t,n,r,i){return e.refs[0]!==t||e.refs[1]!==n||e.refs[2]!==r||e.refs[3]!==i}function Cb(e,t){return e.refs.length!==t.length||e.refs.some((e,n)=>e!==t[n])}function wb(e,t){if(e.refs=t,t.every(e=>e==null)){e.callback=null;return}e.callback=n=>{if(e.cleanup&&=(e.cleanup(),null),n!=null){let r=Array(t.length).fill(null);for(let e=0;e<t.length;e+=1){let i=t[e];if(i!=null)switch(typeof i){case`function`:{let t=i(n);typeof t==`function`&&(r[e]=t);break}case`object`:i.current=n}}e.cleanup=()=>{for(let e=0;e<t.length;e+=1){let n=t[e];if(n!=null)switch(typeof n){case`function`:{let t=r[e];typeof t==`function`?t():n(null);break}case`object`:n.current=null}}}}}}function Tb(e){let t=Q_(Eb,e).current;return t.next=e,X(t.effect),t}function Eb(e){let t={current:e,next:e,effect:()=>{t.current=t.next}};return t}var Db={...W},Ob=Db.useInsertionEffect,kb=Ob&&Ob!==Db.useLayoutEffect?Ob:e=>e();function Q(e){let t=Q_(Ab).current;return t.next=e,kb(t.effect),t.trampoline}function Ab(){let e={next:void 0,callback:jb,trampoline:(...t)=>e.callback?.(...t),effect:()=>{e.callback=e.next}};return e}function jb(){}var Mb=null;globalThis.requestAnimationFrame;var Nb=new class{callbacks=[];callbacksCount=0;nextId=1;startId=1;isScheduled=!1;tick=e=>{this.isScheduled=!1;let t=this.callbacks,n=this.callbacksCount;if(this.callbacks=[],this.callbacksCount=0,this.startId=this.nextId,n>0)for(let n=0;n<t.length;n+=1)t[n]?.(e)};request(e){let t=this.nextId;return this.nextId+=1,this.callbacks.push(e),this.callbacksCount+=1,this.isScheduled||=(requestAnimationFrame(this.tick),!0),t}cancel(e){let t=e-this.startId;t<0||t>=this.callbacks.length||this.callbacks[t]!==null&&(this.callbacks[t]=null,--this.callbacksCount)}},Pb=class e{static create(){return new e}static request(e){return Nb.request(e)}static cancel(e){return Nb.cancel(e)}currentId=Mb;request(e){this.cancel(),this.currentId=Nb.request(()=>{this.currentId=Mb,e()})}cancel=()=>{this.currentId!==Mb&&(Nb.cancel(this.currentId),this.currentId=Mb)};disposeEffect=()=>this.cancel};function Fb(){let e=Q_(Pb.create).current;return pv(e.disposeEffect),e}function Ib(e){return e?.ownerDocument||document}var Lb={clipPath:`inset(50%)`,overflow:`hidden`,whiteSpace:`nowrap`,border:0,padding:0,width:1,height:1,margin:-1},Rb={...Lb,position:`fixed`,top:0,left:0},zb={...Lb,position:`absolute`},Bb=W.forwardRef(function(e,t){let[n,r]=W.useState();X(()=>{kv&&Ov&&r(`button`)},[]);let i={tabIndex:0,role:n};return(0,Z.jsx)(`span`,{...e,ref:t,style:Rb,"aria-hidden":!n||void 0,...i,"data-base-ui-focus-guard":``})}),Vb=Math.min,Hb=Math.max,Ub=Math.round,Wb=Math.floor,Gb=e=>({x:e,y:e}),Kb={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function qb(e,t,n){return Hb(e,Vb(t,n))}function Jb(e,t){return typeof e==`function`?e(t):e}function Yb(e){return e.split(`-`)[0]}function Xb(e){return e.split(`-`)[1]}function Zb(e){return e===`x`?`y`:`x`}function Qb(e){return e===`y`?`height`:`width`}function $b(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function ex(e){return Zb($b(e))}function tx(e,t,n){n===void 0&&(n=!1);let r=Xb(e),i=ex(e),a=Qb(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=ux(o)),[o,ux(o)]}function nx(e){let t=ux(e);return[rx(e),t,rx(t)]}function rx(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var ix=[`left`,`right`],ax=[`right`,`left`],ox=[`top`,`bottom`],sx=[`bottom`,`top`];function cx(e,t,n){switch(e){case`top`:case`bottom`:return n?t?ax:ix:t?ix:ax;case`left`:case`right`:return t?ox:sx;default:return[]}}function lx(e,t,n,r){let i=Xb(e),a=cx(Yb(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(rx)))),a}function ux(e){let t=Yb(e);return Kb[t]+e.slice(t.length)}function dx(e){return{top:e.top??0,right:e.right??0,bottom:e.bottom??0,left:e.left??0}}function fx(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:dx(e)}function px(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function mx(e,t){return t<0||t>=e.length}function hx(e,t){return _x(e.current,{disabledIndices:t})}function gx(e,t){return _x(e.current,{decrement:!0,startingIndex:e.current.length,disabledIndices:t})}function _x(e,{startingIndex:t=-1,decrement:n=!1,disabledIndices:r,amount:i=1}={}){let a=t;do a+=n?-i:i;while(a>=0&&a<=e.length-1&&vx(e,a,r));return a}function vx(e,t,n){if(typeof n==`function`?n(t):n?.includes(t)??!1)return!0;let r=e[t];return r?!bx(r)||r.matches(`:disabled`)?!0:!n&&(r.hasAttribute(`disabled`)||r.getAttribute(`aria-disabled`)===`true`):!1}function yx(e){return e.visibility===`hidden`||e.visibility===`collapse`}function bx(e,t=e?ny(e):null){return!e||!e.isConnected||!t||yx(t)?!1:typeof e.checkVisibility==`function`?e.checkVisibility():t.display!==`none`&&t.display!==`contents`}var xx=`a[href],button,input,select,textarea,summary,details,iframe,object,embed,[tabindex],[contenteditable]:not([contenteditable="false"]),audio[controls],video[controls]`;function Sx(e){let t=e.assignedSlot;if(t)return t;if(e.parentElement)return e.parentElement;let n=e.getRootNode();return Wv(n)?n.host:null}function Cx(e){for(let t of Array.from(e.children))if(Rv(t)===`summary`)return t;return null}function wx(e,t){let n=Cx(t);return!!n&&(e===n||ly(n,e))}function Tx(e){let t=e?Rv(e):``;return e!=null&&e.matches(xx)&&(t!==`summary`||e.parentElement!=null&&Rv(e.parentElement)===`details`&&Cx(e.parentElement)===e)&&(t!==`details`||Cx(e)==null)&&(t!==`input`||e.type!==`hidden`)}function Ex(e){if(!Tx(e)||!e.isConnected||e.matches(`:disabled`))return!1;for(let t=e;t;t=Sx(t)){let n=t!==e,r=Rv(t)===`slot`;if(t.hasAttribute(`inert`)||n&&Rv(t)===`details`&&!t.open&&!wx(e,t)||t.hasAttribute(`hidden`)||!r&&!Dx(t,n))return!1}return!0}function Dx(e,t){let n=ny(e);return t?n.display!==`none`:bx(e,n)}function Ox(e){let t=e.tabIndex;if(t<0){let t=Rv(e);if(t===`details`||t===`audio`||t===`video`||Uv(e)&&e.isContentEditable)return 0}return t}function kx(e){if(Rv(e)!==`input`)return null;let t=e;return t.type===`radio`&&t.name!==``?t:null}function Ax(e,t){let n=kx(e);if(!n)return!0;let r=t.find(e=>{let t=kx(e);return t?.name===n.name&&t.form===n.form&&t.checked});return r?r===n:t.find(e=>{let t=kx(e);return t?.name===n.name&&t.form===n.form})===n}function jx(e){if(Uv(e)&&Rv(e)===`slot`){let t=e.assignedElements({flatten:!0});if(t.length>0)return t}return Uv(e)&&e.shadowRoot?Array.from(e.shadowRoot.children):Array.from(e.children)}function Mx(e,t){jx(e).forEach(e=>{Tx(e)&&t.push(e),Mx(e,t)})}function Nx(e,t,n){jx(e).forEach(e=>{Uv(e)&&e.matches(t)&&n.push(e),Nx(e,t,n)})}function Px(e){return Ex(e)&&Ox(e)>=0}function Fx(e){let t=[];return Mx(e,t),t.filter(Ex)}function Ix(e){let t=Fx(e);return t.filter(e=>Ox(e)>=0&&Ax(e,t))}function Lx(e,t){let n=Ix(e),r=n.length;if(r===0)return;let i=cy(Ib(e)),a=n.indexOf(i);return n[a===-1?t===1?0:r-1:a+t]}function Rx(e){return Lx(Ib(e).body,1)||e}function zx(e){return Lx(Ib(e).body,-1)||e}function Bx(e,t){if(!e)return null;let n=Ix(Ib(e).body),r=n.length;if(r===0)return null;let i=n.indexOf(e);return i===-1?null:n[(i+t+r)%r]}function Vx(e){return Bx(e,1)}function Hx(e){return Bx(e,-1)}function Ux(e,t){let n=t||e.currentTarget,r=e.relatedTarget;return!r||!ly(n,r)}function Wx(e){Ix(e).forEach(e=>{e.dataset.tabindex=e.getAttribute(`tabindex`)||``,e.setAttribute(`tabindex`,`-1`)})}function Gx(e){let t=[];Nx(e,`[data-tabindex]`,t),t.forEach(e=>{let t=e.dataset.tabindex;delete e.dataset.tabindex,t?e.setAttribute(`tabindex`,t):e.removeAttribute(`tabindex`)})}function Kx(e,t,n=!0){return e.filter(e=>e.parentId===t).flatMap(t=>[...!n||t.context?.open?[t]:[],...Kx(e,t.id,n)])}function qx(e,t){let n=[],r=e.find(e=>e.id===t)?.parentId;for(;r;){let t=e.find(e=>e.id===r);r=t?.parentId,t&&(n=n.concat(t))}return n}function Jx(e){return`data-base-ui-${e}`}var Yx=0;function Xx(e,t={}){let{preventScroll:n=!1,sync:r=!1,shouldFocus:i}=t;cancelAnimationFrame(Yx);function a(){(!i||i())&&e?.focus({preventScroll:n})}if(r)return a(),ov;let o=requestAnimationFrame(a);return Yx=o,()=>{Yx===o&&(cancelAnimationFrame(o),Yx=0)}}var Zx={inert:new WeakMap,"aria-hidden":new WeakMap},Qx=`data-base-ui-inert`,$x={inert:new WeakSet,"aria-hidden":new WeakSet},eS=new WeakMap,tS=0;function nS(e){return $x[e]}function rS(e){return e?Wv(e)?e.host:rS(e.parentNode):null}var iS=(e,t)=>t.map(t=>{if(e.contains(t))return t;let n=rS(t);return e.contains(n)?n:null}).filter(e=>e!=null),aS=e=>{let t=new Set;return e.forEach(e=>{let n=e;for(;n&&!t.has(n);)t.add(n),n=n.parentNode}),t},oS=(e,t,n)=>{let r=[],i=e=>{e&&!n.has(e)&&Array.from(e.children).forEach(e=>{Rv(e)!==`script`&&(t.has(e)?i(e):r.push(e))})};return i(e),r};function sS(e,t,n,r,{mark:i=!0}){let a=null;r?a=`inert`:n&&(a=`aria-hidden`);let o=null,s=null,c=iS(t,e),l=i?oS(t,aS(c),new Set(c)):[],u=[],d=[];if(a){let e=Zx[a],n=nS(a);s=n,o=e;let r=iS(t,Array.from(t.querySelectorAll(`[aria-live]`))),i=c.concat(r);oS(t,aS(i),new Set(i)).forEach(t=>{let r=t.getAttribute(a),i=r!==null&&r!==`false`,o=(e.get(t)||0)+1;e.set(t,o),u.push(t),o===1&&i&&n.add(t),i||t.setAttribute(a,a===`inert`?``:`true`)})}return i&&l.forEach(e=>{let t=(eS.get(e)||0)+1;eS.set(e,t),d.push(e),t===1&&e.setAttribute(Qx,``)}),tS+=1,()=>{o&&u.forEach(e=>{let t=(o.get(e)||0)-1;o.set(e,t),t||(!s?.has(e)&&a&&e.removeAttribute(a),s?.delete(e))}),i&&d.forEach(e=>{let t=(eS.get(e)||0)-1;eS.set(e,t),t||e.removeAttribute(Qx)}),--tS,tS||(Zx.inert=new WeakMap,Zx[`aria-hidden`]=new WeakMap,$x.inert=new WeakSet,$x[`aria-hidden`]=new WeakSet,eS=new WeakMap)}}function cS(e,t={}){let{ariaHidden:n=!1,inert:r=!1,mark:i=!0}=t,a=Ib(e[0]).body;return sS(e,a,n,r,{mark:i})}var lS=0;function uS(e,t=`mui`){let[n,r]=W.useState(e),i=e||n;return W.useEffect(()=>{n??(lS+=1,r(`${t}-${lS}`))},[n,t]),i}var dS=Db.useId;function fS(e,t){if(dS!==void 0){let n=dS();return e??(t?`${t}-${n}`:n)}return uS(e,t)}var pS=19;function mS(e){return pS>=e}function hS(e){if(!W.isValidElement(e))return null;let t=e,n=t.props;return(mS(19)?n?.ref:t.ref)??null}function gS(e,t){if(e&&!t)return e;if(!e&&t)return t;if(e||t)return{...e,...t}}function _S(e,t){let n={};for(let r in e){let i=e[r];if(t?.hasOwnProperty(r)){let e=t[r](i);e!=null&&Object.assign(n,e);continue}i===!0?n[`data-${r.toLowerCase()}`]=``:i&&(n[`data-${r.toLowerCase()}`]=i.toString())}return n}function vS(e,t){return typeof e==`function`?e(t):e}function yS(e,t){return typeof e==`function`?e(t):e}var bS={};function xS(e,t,n,r,i){if(!n&&!r&&!i&&!e)return CS(t);let a=CS(e);return t&&(a=wS(a,t)),n&&(a=wS(a,n)),r&&(a=wS(a,r)),i&&(a=wS(a,i)),a}function SS(e){if(e.length===0)return bS;if(e.length===1)return CS(e[0]);let t=CS(e[0]);for(let n=1;n<e.length;n+=1)t=wS(t,e[n]);return t}function CS(e){return OS(e)?{...kS(e,bS)}:TS(e)}function wS(e,t){return OS(t)?kS(t,e):ES(e,t)}function TS(e){let t={...e};for(let e in t){let n=t[e];DS(e,n)&&(t[e]=jS(n))}return t}function ES(e,t){if(!t)return e;for(let n in t){let r=t[n];switch(n){case`style`:e[n]=gS(e.style,r);break;case`className`:e[n]=NS(e.className,r);break;default:e[n]=DS(n,r)?AS(e[n],r):r}}return e}function DS(e,t){let n=e.charCodeAt(0),r=e.charCodeAt(1),i=e.charCodeAt(2);return n===111&&r===110&&i>=65&&i<=90&&(typeof t==`function`||t===void 0)}function OS(e){return typeof e==`function`}function kS(e,t){return OS(e)?e(t):e??bS}function AS(e,t){return t?e?(...n)=>{let r=n[0];if(PS(r)){let i=r;MS(i);let a=t(...n);return i.baseUIHandlerPrevented||e?.(...n),a}let i=t(...n);return e?.(...n),i}:jS(t):e}function jS(e){return e&&((...t)=>{let n=t[0];return PS(n)&&MS(n),e(...t)})}function MS(e){return e.preventBaseUIHandler=()=>{e.baseUIHandlerPrevented=!0},e}function NS(e,t){return t?e?t+` `+e:t:e}function PS(e){return typeof e==`object`&&!!e&&`nativeEvent`in e}function FS(e,t,n={}){let r=t.render;n.enabled!==!1&&(r=zS(r));let i=IS(t,n,r);if(n.enabled===!1)return null;let a=n.state??cv;return BS(e,r,i,a)}function IS(e,t,n){let{className:r,style:i}=e,{state:a=cv,ref:o,props:s,stateAttributesMapping:c,enabled:l=!0}=t,u=l?vS(r,a):void 0,d=l?yS(i,a):void 0,f=l?_S(a,c):cv,p=l&&s?LS(s):void 0,m=l?gS(f,p)??{}:cv;return typeof document<`u`&&(l?m.ref=Array.isArray(o)?bb([m.ref,hS(n),...o]):yb(m.ref,hS(n),o):yb(null,null)),l?(u!==void 0&&(m.className=NS(m.className,u)),d!==void 0&&(m.style=gS(m.style,d)),m):cv}function LS(e){return Array.isArray(e)?SS(e):xS(void 0,e)}var RS=Symbol.for(`react.lazy`);function zS(e){if(e?.$$typeof!==RS)return e;let t=W.Children.toArray(e)[0];return W.isValidElement(t)?t:e}function BS(e,t,n,r){if(t){if(typeof t==`function`)return t(n,r);let e=xS(n,t.props);return e.ref=n.ref,W.cloneElement(t,e)}if(e&&typeof e==`string`)return VS(e,n);throw Error(uv(8))}function VS(e,t){return e===`button`?(0,W.createElement)(`button`,{type:`button`,...t,key:t.key}):e===`img`?(0,W.createElement)(`img`,{alt:``,...t,key:t.key}):W.createElement(e,t)}var HS={style:{transition:`none`}},US=`data-base-ui-click-trigger`,WS=`data-base-ui-swipe-ignore`,GS=`data-swipe-ignore`,KS=`[${WS}]`;`${GS}`;var qS={fallbackAxisSide:`none`},JS={fallbackAxisSide:`end`},YS={clipPath:`inset(50%)`,position:`fixed`,top:0,left:0},XS=c(m(),1),ZS=W.createContext(null),QS=()=>W.useContext(ZS),$S=Jx(`portal`);function eC(e={}){let{ref:t,container:n,componentProps:r=cv,elementProps:i}=e,a=fS(),o=QS()?.portalNode,[s,c]=W.useState(null),[l,u]=W.useState(null),d=Q(e=>{e!==null&&u(e)}),f=W.useRef(null);X(()=>{if(n===null){f.current&&(f.current=null,u(null),c(null));return}let e=(n&&(Vv(n)?n:n.current))??o??document.body;if(e==null){f.current&&(f.current=null,u(null),c(null));return}f.current!==e&&(f.current=e,u(null),c(e))},[n,o]);let p=FS(`div`,r,{ref:[t,d],props:[{id:a,[$S]:``},i]}),m=s&&p?XS.createPortal(p,s):null;return{node:l,nodeId:W.isValidElement(p)?p.props.id:void 0,subtree:m}}var tC=W.forwardRef(function(e,t){let{render:n,className:r,style:i,children:a,container:o,portalOwnerRole:s,...c}=e,{node:l,nodeId:u,subtree:d}=eC({container:o,ref:t,componentProps:e,elementProps:c}),f=W.useRef(null),p=W.useRef(null),m=W.useRef(null),h=W.useRef(null),[g,_]=W.useState(null),v=W.useRef(!1),y=g?.modal,b=g?.open,x=!!g&&!g.modal&&g.open&&!!l;W.useEffect(()=>{if(!l||y)return;function e(e){l&&e.relatedTarget&&Ux(e)&&(e.type===`focusin`?v.current&&=(Gx(l),!1):(Wx(l),v.current=!0))}return vb(_b(l,`focusin`,e,!0),_b(l,`focusout`,e,!0))},[l,y]),X(()=>{l&&b===!0&&v.current&&(Gx(l),v.current=!1)},[b,l]);let S=W.useMemo(()=>({beforeOutsideRef:f,afterOutsideRef:p,beforeInsideRef:m,afterInsideRef:h,portalNode:l,setFocusManagerState:_}),[l]);return(0,Z.jsxs)(W.Fragment,{children:[d,(0,Z.jsxs)(ZS.Provider,{value:S,children:[x&&l&&(0,Z.jsx)(Bb,{"data-type":`outside`,ref:f,onFocus:e=>{Ux(e,l)?m.current?.focus():zx(g?g.domReference:null)?.focus()}}),x&&l&&(0,Z.jsx)(`span`,{role:s,"aria-owns":u,style:YS}),l&&XS.createPortal(a,l),x&&l&&(0,Z.jsx)(Bb,{"data-type":`outside`,ref:p,onFocus:e=>{Ux(e,l)?h.current?.focus():(Rx(g?g.domReference:null)?.focus(),g?.closeOnFocusOut&&g?.onOpenChange(!1,pb(`focus-out`,e.nativeEvent)))}})]})]})});function nC(){let e=new Map;return{emit(t,n){e.get(t)?.forEach(e=>e(n))},on(t,n){e.has(t)||e.set(t,new Set),e.get(t).add(n)},off(t,n){e.get(t)?.delete(n)}}}var rC=class{nodesRef={current:[]};events=nC();addNode(e){this.nodesRef.current.push(e)}removeNode(e){let t=this.nodesRef.current.findIndex(t=>t===e);t!==-1&&this.nodesRef.current.splice(t,1)}},iC=W.createContext(null),aC=W.createContext(null),oC=()=>W.useContext(iC)?.id||null,sC=e=>{let t=W.useContext(aC);return e??t};function cC(e){let t=fS(),n=sC(e),r=oC();return X(()=>{if(!t)return;let e={id:t,parentId:r};return n?.addNode(e),()=>{n?.removeNode(e)}},[n,t,r]),t}function lC(e){let{children:t,id:n}=e,r=oC();return(0,Z.jsx)(iC.Provider,{value:W.useMemo(()=>({id:n,parentId:r}),[n,r]),children:t})}function uC(e){let{children:t,externalTree:n}=e,r=Q_(()=>n??new rC).current;return(0,Z.jsx)(aC.Provider,{value:r,children:t})}function dC(e){return e==null?e:`current`in e?e.current:e}function fC(e,t){let n=zv(uy(e));return e instanceof n.KeyboardEvent?`keyboard`:e instanceof n.FocusEvent?t||`keyboard`:`pointerType`in e?e.pointerType||`keyboard`:`touches`in e?`touch`:e instanceof n.MouseEvent?t||(e.detail===0?`keyboard`:`mouse`):``}var pC=20,mC=[];function hC(){mC=mC.filter(e=>e.deref()?.isConnected)}function gC(e){hC(),e&&Rv(e)!==`body`&&(mC.push(new WeakRef(e)),mC.length>pC&&(mC=mC.slice(-20)))}function _C(){return hC(),mC[mC.length-1]?.deref()}function vC(e){return e?Px(e)?e:Ix(e)[0]||e:null}function yC(e){if(e.hasAttribute(`tabindex`)&&!e.hasAttribute(`data-tabindex`)||!e.getAttribute(`role`)?.includes(`dialog`))return;let t=Fx(e).filter(e=>{let t=e.getAttribute(`data-tabindex`)||``;return Px(e)||e.hasAttribute(`data-tabindex`)&&!t.startsWith(`-`)}),n=e.getAttribute(`tabindex`);t.length===0?n!==`0`&&(e.setAttribute(`tabindex`,`0`),e.setAttribute(`data-tabindex`,`0`)):(n!==`-1`||e.hasAttribute(`data-tabindex`)&&e.getAttribute(`data-tabindex`)!==`-1`)&&(e.setAttribute(`tabindex`,`-1`),e.setAttribute(`data-tabindex`,`-1`))}function bC(e){let{context:t,children:n,disabled:r=!1,initialFocus:i=!0,returnFocus:a=!0,restoreFocus:o=!1,modal:s=!0,closeOnFocusOut:c=!0,openInteractionType:l=``,nextFocusableElement:u,previousFocusableElement:d,beforeContentFocusGuardRef:f,externalTree:p,getInsideElements:m}=e,h=`rootStore`in t?t.rootStore:t,g=h.useState(`open`),_=h.useState(`domReferenceElement`),v=h.useState(`floatingElement`),{events:y,dataRef:b}=h.context,x=Q(()=>b.current.floatingContext?.nodeId),S=i===!1,C=Hy(_)&&S,w=Tb(i),T=Tb(a),E=Tb(l),D=Tb(g),O=sC(p),k=QS(),A=W.useRef(!1),j=W.useRef(!1),M=W.useRef(!1),N=W.useRef(null),P=W.useRef(``),F=W.useRef(``),I=W.useRef(null),L=W.useRef(null),R=yb(I,f,k?.beforeInsideRef),ee=yb(L,k?.afterInsideRef),z=gv(),te=gv(),ne=Fb(),re=k!=null,B=Wy(v),ie=Q((e=B)=>e?Ix(e):[]),ae=Q(()=>m?.().filter(e=>e!=null)??[]);W.useEffect(()=>{if(r||!s)return;function e(e){e.key===`Tab`&&ly(B,cy(Ib(B)))&&ie().length===0&&!C&&jv(e)}return _b(Ib(B),`keydown`,e)},[r,B,s,C,ie]),W.useEffect(()=>{if(r||!g)return;let e=Ib(B);function t(){M.current=!1}function n(e){let t=uy(e),n=ae(),r=ly(v,t)||ly(_,t)||ly(k?.portalNode,t)||n.some(e=>e===t||ly(e,t));M.current=!r,F.current=e.pointerType||`keyboard`,t?.closest(`[data-base-ui-click-trigger]`)&&(j.current=!0,te.start(0,()=>{j.current=!1}))}function i(){F.current=`keyboard`}return vb(_b(e,`pointerdown`,n,!0),_b(e,`pointerup`,t,!0),_b(e,`pointercancel`,t,!0),_b(e,`keydown`,i,!0),t)},[r,v,_,B,g,k,te,ae]),W.useEffect(()=>{if(r||!c)return;let e=Ib(B);function t(){j.current=!0,te.start(0,()=>{j.current=!1})}function n(e){let t=uy(e);Px(t)&&(N.current=t)}function i(t){let n=t.relatedTarget,r=t.currentTarget,i=uy(t);s&&n==null&&i!=null&&ly(v,i)&&gC(i),queueMicrotask(()=>{let a=x(),c=h.context.triggerElements,l=ae(),f=n?.hasAttribute(Jx(`focus-guard`))&&[I.current,L.current,k?.beforeInsideRef.current,k?.afterInsideRef.current,k?.beforeOutsideRef.current,k?.afterOutsideRef.current,dC(d),dC(u)].includes(n),p=!(ly(_,n)||ly(v,n)||ly(n,v)||ly(k?.portalNode,n)||l.some(e=>e===n||ly(e,n))||c.hasMatchingElement(e=>ly(e,n))||f||O&&(Kx(O.nodesRef.current,a).find(e=>ly(e.context?.elements.floating,n)||ly(e.context?.elements.domReference,n))||qx(O.nodesRef.current,a).find(e=>[e.context?.elements.floating,Wy(e.context?.elements.floating)].includes(n)||e.context?.elements.domReference===n)));if(r===_&&B&&yC(B),o&&r!==_&&!bx(i)&&cy(e)===e.body){if(Uv(B)&&(B.focus(),o===`popup`)){ne.request(()=>{B.focus()});return}let e=ie(),t=N.current,n=(t&&e.includes(t)?t:null)||e[e.length-1]||B;Uv(n)&&n.focus()}if(b.current.insideReactTree){b.current.insideReactTree=!1;return}(C||!s)&&n&&p&&!j.current&&(C||n!==_C())&&(A.current=!0,h.setOpen(!1,pb(rb,t)))})}function a(){M.current||(b.current.insideReactTree=!0,z.start(0,()=>{b.current.insideReactTree=!1}))}let l=Uv(_)?_:null;if(v||l)return vb(l&&_b(l,`focusout`,i),l&&_b(l,`pointerdown`,t),v&&_b(v,`focusin`,n),v&&_b(v,`focusout`,i),v&&k&&_b(v,`focusout`,a,!0))},[r,_,v,B,s,O,k,h,c,o,ie,C,x,b,z,te,ne,u,d,ae]),W.useEffect(()=>{if(r||!v||!g)return;let e=Array.from(k?.portalNode?.querySelectorAll(`[${Jx(`portal`)}]`)||[]),t=(O?qx(O.nodesRef.current,x()):[]).find(e=>Hy(e.context?.elements.domReference||null))?.context?.elements.domReference,n=cS([v,...e,I.current,L.current,k?.beforeOutsideRef.current,k?.afterOutsideRef.current,...ae(),t,dC(d),dC(u),C?_:null].filter(e=>e!=null),{ariaHidden:s||C,mark:!1}),i=cS([v,...e].filter(e=>e!=null));return()=>{i(),n()}},[g,r,_,v,s,k,C,O,x,u,d,ae]),X(()=>{if(!g||r||!Uv(B))return;P.current=``,F.current=``;let e=Ib(B),t=cy(e);queueMicrotask(()=>{let n=w.current,r=typeof n==`function`?n(E.current||``):n;if(r===void 0||r===!1||ly(B,t))return;let i=null,a=()=>(i??=ie(B),i[0]||B),o;o=r===!0||r===null?a():dC(r),o||=a();let s=ly(B,cy(e));Xx(o,{preventScroll:o===B,shouldFocus(){if(!D.current)return!1;if(s)return!0;let t=cy(e);return!(t!==o&&ly(B,t))}})})},[r,g,B,ie,w,E,D]),X(()=>{if(r||!B)return;let e=Ib(B),t=cy(e),n=E.current==null;gC(t);function i(e){if(e.open||(P.current=fC(e.nativeEvent,F.current)),e.reason===`trigger-hover`&&e.nativeEvent.type===`mouseleave`&&(A.current=!0),e.reason===`outside-press`){if(e.nested)A.current=!1;else if(Nv(e.nativeEvent)||Pv(e.nativeEvent))A.current=!1;else{let e=!1;Ib(B).createElement(`div`).focus({get preventScroll(){return e=!0,!1}}),e?A.current=!1:A.current=!0}}}y.on(`openchange`,i);function a(e){let r=T.current,i=typeof r==`function`?r(e):r;if(i===void 0||i===!1)return null;i===null&&(i=!0);let a=_?.isConnected?_:null,o=t?.isConnected&&Rv(t)!==`body`?t:null,s=n?o||a:a||o;return s||=_C()||null,typeof i==`boolean`?s:dC(i)||s||null}return()=>{y.off(`openchange`,i);let t=cy(e),n=ae(),r=ly(v,t)||n.some(e=>e===t||ly(e,t))||O&&Kx(O.nodesRef.current,x(),!1).some(e=>ly(e.context?.elements.floating,t)),o=T.current,s=P.current,c=a(s);queueMicrotask(()=>{let n=vC(c),i=typeof o!=`boolean`;if(o&&!A.current&&Uv(n)&&(i||n===t||t===e.body||r)){let e={preventScroll:!0};s===`keyboard`&&(e.focusVisible=!0),n.focus(e)}A.current=!1})}},[r,v,B,T,E,y,O,_,x,ae]),X(()=>{if(!Ov||g||!v)return;let e=cy(Ib(v));Uv(e)&&By(e)&&ly(v,e)&&e.blur()},[g,v]),X(()=>{if(!r&&k)return k.setFocusManagerState({modal:s,closeOnFocusOut:c,open:g,onOpenChange:h.setOpen,domReference:_}),()=>{k.setFocusManagerState(null)}},[r,k,s,g,h,c,_]),X(()=>{if(!r&&B)return yC(B),()=>{queueMicrotask(hC)}},[r,B]);let oe=!r&&(!s||!C)&&(re||s);return(0,Z.jsxs)(W.Fragment,{children:[oe&&(0,Z.jsx)(Bb,{"data-type":`inside`,ref:R,onFocus:e=>{if(s){let e=ie();Xx(e[e.length-1])}else k?.portalNode&&(A.current=!1,Ux(e,k.portalNode)?Rx(_)?.focus():dC(d??k.beforeOutsideRef)?.focus())}}),n,oe&&(0,Z.jsx)(Bb,{"data-type":`inside`,ref:ee,onFocus:e=>{s?Xx(ie()[0]):k?.portalNode&&(c&&(A.current=!0),Ux(e,k.portalNode)?zx(_)?.focus():dC(u??k.afterOutsideRef)?.focus())}})]})}function xC(e,t={}){let{enabled:n=!0,event:r=`click`,toggle:i=!0,ignoreMouse:a=!1,stickIfOpen:o=!0,touchOpenDelay:s=0,reason:c=Zy}=t,l=`rootStore`in e?e.rootStore:e,u=l.context.dataRef,d=W.useRef(void 0),f=Fb(),p=gv(),m=W.useMemo(()=>{function e(e,t,n,r){let i=pb(c,t,n);e&&r===`touch`&&s>0?p.start(s,()=>{l.setOpen(!0,i)}):l.setOpen(e,i)}function t(e,t,n){let r=u.current.openEvent,a=l.select(`domReferenceElement`)!==t;return e&&a||!e||!i?!0:r&&o?!n(r.type):!1}return{onPointerDown(e){d.current=Fv(e.pointerType,!0)&&Pv(e.nativeEvent)?`virtual`:e.pointerType},onMouseDown(n){let i=d.current,o=n.nativeEvent,s=l.select(`open`);if(n.button!==0||r===`click`||Fv(i,!0)&&a)return;let c=t(s,n.currentTarget,e=>e===`click`||e===`mousedown`),u=uy(o);if(By(u)){e(c,o,u,i);return}let p=n.currentTarget;f.request(()=>{e(c,o,p,i)})},onClick(n){if(r===`mousedown-only`)return;let i=d.current;if(r===`mousedown`&&i){d.current=void 0;return}Fv(i,!0)&&a||e(t(l.select(`open`),n.currentTarget,e=>e===`click`||e===`mousedown`||e===`keydown`||e===`keyup`),n.nativeEvent,n.currentTarget,i)},onKeyDown(){d.current=void 0}}},[u,r,a,c,l,o,i,f,p,s]);return W.useMemo(()=>n?{reference:m}:cv,[n,m])}function SC(e,t){let n=null,r=null,i=!1;return{contextElement:e||void 0,getBoundingClientRect(){let a=e?.getBoundingClientRect()||{width:0,height:0,x:0,y:0},o=t.axis===`x`||t.axis===`both`,s=t.axis===`y`||t.axis===`both`,c=[`mouseenter`,`mousemove`].includes(t.dataRef.current.openEvent?.type||``)&&t.pointerType!==`touch`,l=a.width,u=a.height,d=a.x,f=a.y;return n==null&&t.x&&o&&(n=a.x-t.x),r==null&&t.y&&s&&(r=a.y-t.y),d-=n||0,f-=r||0,l=0,u=0,!i||c?(l=t.axis===`y`?a.width:0,u=t.axis===`x`?a.height:0,d=o&&t.x!=null?t.x:d,f=s&&t.y!=null?t.y:f):i&&!c&&(u=t.axis===`x`?a.height:u,l=t.axis===`y`?a.width:l),i=!0,{width:l,height:u,x:d,y:f,top:f,right:d+l,bottom:f+u,left:d}}}}function CC(e){return e!=null&&e.clientX!=null}function wC(e,t={}){let{enabled:n=!0,axis:r=`both`}=t,i=`rootStore`in e?e.rootStore:e,a=i.useState(`open`),o=i.useState(`floatingElement`),s=i.useState(`domReferenceElement`),c=i.context.dataRef,l=W.useRef(!1),u=W.useRef(null),[d,f]=W.useState(),[p,m]=W.useState([]),h=Q(e=>{i.set(`positionReference`,e)}),g=Q((e,t,n)=>{l.current||(!c.current.openEvent||CC(c.current.openEvent))&&i.set(`positionReference`,SC(n??s,{x:e,y:t,axis:r,dataRef:c,pointerType:d}))}),_=Q(e=>{a?u.current||(g(e.clientX,e.clientY,e.currentTarget),m([])):g(e.clientX,e.clientY,e.currentTarget)}),v=Fv(d)?o:a;W.useEffect(()=>{if(!n){h(s);return}if(!v)return;function e(){u.current?.(),u.current=null}let t=zv(o);function r(t){let n=uy(t);ly(o,n)?e():g(t.clientX,t.clientY)}return!c.current.openEvent||CC(c.current.openEvent)?u.current=_b(t,`mousemove`,r):h(s),e},[v,n,o,c,s,i,g,h,p]),W.useEffect(()=>()=>{i.set(`positionReference`,null)},[i]),W.useEffect(()=>{n&&!o&&(l.current=!1)},[n,o]),W.useEffect(()=>{!n&&a&&(l.current=!0)},[n,a]);let y=W.useMemo(()=>{function e(e){f(e.pointerType)}return{onPointerDown:e,onPointerEnter:e,onMouseMove:_,onMouseEnter:_}},[_]);return W.useMemo(()=>n?{reference:y,trigger:y}:{},[n,y])}function TC(){return!1}function EC(e){return{escapeKey:typeof e==`boolean`?e:e?.escapeKey??!1,outsidePress:typeof e==`boolean`?e:e?.outsidePress??!0}}function DC(e,t={}){let{enabled:n=!0,escapeKey:r=!0,outsidePress:i=!0,outsidePressEvent:a=`sloppy`,referencePress:o=TC,bubbles:s,externalTree:c}=t,l=`rootStore`in e?e.rootStore:e,u=l.useState(`open`),d=l.useState(`floatingElement`),{dataRef:f,events:p}=l.context,m=sC(c),h=Q(typeof i==`function`?i:()=>!1),g=typeof i==`function`?h:i,_=g!==!1,v=Q(()=>a),{escapeKey:y,outsidePress:b}=EC(s),x=W.useRef(!1),S=W.useRef(!1),C=W.useRef(!1),w=W.useRef(!1),T=W.useRef(!1),E=W.useRef(``),D=W.useRef(null),O=gv(),k=gv(),A=Q(()=>{k.clear(),f.current.insideReactTree=!1}),j=Q(e=>{let t=f.current.floatingContext?.nodeId;return(m?Kx(m.nodesRef.current,t):[]).some(t=>t.context?.open&&!t.context.dataRef.current[e])}),M=Q(e=>Ry(e,l.select(`floatingElement`))||Ry(e,l.select(`domReferenceElement`))),N=Q(e=>{o()&&l.setOpen(!1,pb(Zy,e.nativeEvent))}),P=Q(e=>{if(!u||!n||!r||e.key!==`Escape`||T.current||!y&&j(`__escapeKeyBubbles`))return;let t=pb(ib,Mv(e)?e.nativeEvent:e);l.setOpen(!1,t),t.isCanceled||e.preventDefault(),!y&&!t.isPropagationAllowed&&e.stopPropagation()}),F=Q(()=>{f.current.insideReactTree=!0,k.start(0,A)}),I=Q(e=>{if(!u||!n||e.button!==0)return;let t=uy(e.nativeEvent);ly(l.select(`floatingElement`),t)&&(x.current||(x.current=!0,S.current=!1))}),L=Q(e=>{u&&n&&(e.defaultPrevented||e.nativeEvent.defaultPrevented)&&x.current&&(S.current=!0)});W.useEffect(()=>{function e(e){e.open||(w.current=!1)}return p.on(`openchange`,e),()=>{p.off(`openchange`,e)}},[p]),W.useEffect(()=>{if(!u||!n)return u||(w.current=!1),A;f.current.__escapeKeyBubbles=y,f.current.__outsidePressBubbles=b;let e=new hv,t=new hv,i=Ib(d);function a(){e.clear(),T.current=!0}function o(){e.start(Ov?5:0,()=>{T.current=!1})}function s(){C.current=!0,t.start(0,()=>{C.current=!1})}function c(){x.current=!1,S.current=!1}function p(){let e=E.current,t=e===`pen`||!e?`mouse`:e,n=v(),r=typeof n==`function`?n():n;return typeof r==`string`?r:r[t]}function h(e){let t=p();return t===`intentional`&&e.type!==`click`||t===`sloppy`&&e.type===`click`}function k(e){let t=f.current.floatingContext?.nodeId,n=m&&Kx(m.nodesRef.current,t).some(t=>Ry(e,t.context?.elements.floating));return M(e)||n}function N(e){if(h(e)){e.type!==`click`&&!M(e)&&(t.clear(),C.current=!1),A();return}if(f.current.insideReactTree){A();return}let n=uy(e),r=`[${Jx(`inert`)}]`,i=Hv(n)?n.getRootNode():null,a=Array.from((Wv(i)?i:Ib(l.select(`floatingElement`))).querySelectorAll(r)),o=l.context.triggerElements;if(n&&(o.hasElement(n)||o.hasMatchingElement(e=>ly(e,n))))return;let s=Hv(n)?n:null;for(;s&&!ty(s);){let e=iy(s);if(ty(e)||!Hv(e))break;s=e}if(!(a.length&&Hv(n)&&!zy(n)&&!ly(n,l.select(`floatingElement`))&&a.every(e=>!ly(s,e)))){if(Uv(n)&&!(`touches`in e)){let t=ty(n),r=ny(n),i=/auto|scroll/,a=t||i.test(r.overflowX),o=t||i.test(r.overflowY),s=a&&n.clientWidth>0&&n.scrollWidth>n.clientWidth,c=o&&n.clientHeight>0&&n.scrollHeight>n.clientHeight,l=r.direction===`rtl`,u=c&&(l?e.offsetX<=n.offsetWidth-n.clientWidth:e.offsetX>n.clientWidth),d=s&&e.offsetY>n.clientHeight;if(u||d)return}if(!k(e)){if(p()===`intentional`){if(e.detail!==0&&!Nv(e)&&!w.current)return;if(C.current){t.clear(),C.current=!1;return}}(typeof g!=`function`||g(e))&&(j(`__outsidePressBubbles`)||(l.setOpen(!1,pb(eb,e)),A()))}}}function F(e){p()===`sloppy`&&e.pointerType!==`touch`&&l.select(`open`)&&n&&!M(e)&&N(e)}function I(e){if(p()!==`sloppy`||!l.select(`open`)||!n||M(e))return;let t=e.touches[0];t&&(D.current={startTime:Date.now(),startX:t.clientX,startY:t.clientY,dismissOnTouchEnd:!1,dismissOnMouseDown:!0},O.start(1e3,()=>{D.current&&(D.current.dismissOnTouchEnd=!1,D.current.dismissOnMouseDown=!1)}))}function L(e,t){let n=uy(e);if(!n)return;let r=_b(n,e.type,()=>{t(e),r()})}function R(e){E.current=`touch`,L(e,I)}function ee(e){O.clear(),e.type===`pointerdown`&&(e.button===0&&(w.current=!0),E.current=e.pointerType),(e.type!==`mousedown`||!D.current||D.current.dismissOnMouseDown)&&L(e,e=>{e.type===`pointerdown`?F(e):N(e)})}function z(e){if(e.type===`pointercancel`&&(w.current=!1),!x.current)return;let n=S.current;if(c(),p()===`intentional`){if(e.type===`pointercancel`){n&&s();return}if(!k(e)){if(n){s();return}(typeof g!=`function`||g(e))&&(t.clear(),C.current=!0,A())}}}function te(e){if(p()!==`sloppy`||!D.current||M(e))return;let t=e.touches[0];if(!t)return;let n=Math.abs(t.clientX-D.current.startX),r=Math.abs(t.clientY-D.current.startY),i=Math.sqrt(n*n+r*r);i>5&&(D.current.dismissOnTouchEnd=!0),i>10&&(N(e),O.clear(),D.current=null)}function ne(e){L(e,te)}function re(e){p()===`sloppy`&&D.current&&!M(e)&&(D.current.dismissOnTouchEnd&&N(e),O.clear(),D.current=null)}function B(e){L(e,re)}let ie=vb(r&&vb(_b(i,`keydown`,P),_b(i,`compositionstart`,a),_b(i,`compositionend`,o)),_&&vb(_b(i,`click`,ee,!0),_b(i,`pointerdown`,ee,!0),_b(i,`pointerup`,z,!0),_b(i,`pointercancel`,z,!0),_b(i,`mousedown`,ee,!0),_b(i,`mouseup`,z,!0),_b(i,`touchstart`,R,{capture:!0,passive:!0}),_b(i,`touchmove`,ne,{capture:!0,passive:!0}),_b(i,`touchend`,B,{capture:!0,passive:!0})));return()=>{ie(),e.clear(),t.clear(),c(),C.current=!1,A()}},[f,d,r,_,g,u,n,y,b,P,A,v,j,M,m,l,O]);let R=W.useMemo(()=>({onKeyDown:P,onPointerDown:N,onClick:N}),[P,N]),ee=W.useMemo(()=>({onKeyDown:P,onPointerDown:L,onMouseDown:L,onClickCapture:F,onMouseDownCapture(e){F(),I(e)},onPointerDownCapture(e){F(),I(e)},onMouseUpCapture:F,onTouchEndCapture:F,onTouchMoveCapture:F}),[P,F,I,L]);return W.useMemo(()=>n?{reference:R,floating:ee,trigger:R}:{},[n,R,ee])}function OC(e,t,n){let{reference:r,floating:i}=e,a=$b(t),o=ex(t),s=Qb(o),c=Yb(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}let m=Xb(t);return m&&(p[o]+=f*(m===`end`?1:-1)*(n&&l?-1:1)),p}async function kC(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=Jb(t,e),p=fx(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=px(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=px(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var AC=50,jC=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:kC},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=OC(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<AC&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=OC(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},MC=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=Jb(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=Yb(r),_=$b(o),v=Yb(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[ux(o)]:nx(o)),x=p!==`none`;!d&&x&&b.push(...lx(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=tx(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(u!==`alignment`||_===$b(t)||T.every(e=>$b(e.placement)!==_||e.overflows[0]>0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=$b(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o}if(r!==n)return{reset:{placement:n}}}return{}}}},NC=new Set([`left`,`top`]);async function PC(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=Yb(n),s=Xb(n),c=$b(n)===`y`,l=NC.has(o)?-1:1,u=a&&c?-1:1,d=Jb(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var FC=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await PC(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},IC=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=Jb(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=$b(i),p=Zb(f),m=u[p],h=u[f],g=(e,t)=>qb(t+d[e===`y`?`top`:`left`],t,t-d[e===`y`?`bottom`:`right`]);o&&(m=g(p,m)),s&&(h=g(f,h));let _=c.fn({...t,[p]:m,[f]:h});return{..._,data:{x:_.x-n,y:_.y-r,enabled:{[p]:o,[f]:s}}}}}},LC=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=Jb(e,t),u={x:n,y:r},d=$b(i),f=Zb(d),p=u[f],m=u[d],h=Jb(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:h.mainAxis??0,crossAxis:h.crossAxis??0};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;p<t?p=t:p>n&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=NC.has(Yb(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);m<n?m=n:m>r&&(m=r)}return{[f]:p,[d]:m}}}},RC=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){let{placement:n,rects:r,platform:i,elements:a}=t,{apply:o=()=>{},...s}=Jb(e,t),c=await i.detectOverflow(t,s),l=Yb(n),u=Xb(n),d=$b(n)===`y`,{width:f,height:p}=r.floating,m,h;l===`top`||l===`bottom`?(m=l,h=u===(await(i.isRTL==null?void 0:i.isRTL(a.floating))?`start`:`end`)?`left`:`right`):(h=l,m=u===`end`?`top`:`bottom`);let g=p-c.top-c.bottom,_=f-c.left-c.right,v=Vb(p-c[m],g),y=Vb(f-c[h],_),b=t.middlewareData.shift,x=!b,S=v,C=y;b!=null&&b.enabled.x&&(C=_),b!=null&&b.enabled.y&&(S=g),x&&!u&&(d?C=f-2*Hb(c.left,c.right):S=p-2*Hb(c.top,c.bottom)),await o({...t,availableWidth:C,availableHeight:S});let w=await i.getDimensions(a.floating);return f!==w.width||p!==w.height?{reset:{rects:!0}}:{}}}};function zC(e){let t=ny(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=Uv(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=Ub(n)!==a||Ub(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function BC(e){return Hv(e)?e:e.contextElement}function VC(e){let t=BC(e);if(!Uv(t))return Gb(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=zC(t),o=(a?Ub(n.width):n.width)/r,s=(a?Ub(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var HC=Gb(0);function UC(e){let t=zv(e);return!ey()||!t.visualViewport?HC:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function WC(e,t,n){return t===void 0&&(t=!1),!!n&&t&&n===zv(e)}function GC(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=BC(e),o=Gb(1);t&&(r?Hv(r)&&(o=VC(r)):o=VC(e));let s=WC(a,n,r)?UC(a):Gb(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a&&r){let e=zv(a),t=Hv(r)?zv(r):r,n=e,i=sy(n);for(;i&&t!==n;){let e=VC(i),t=i.getBoundingClientRect(),r=ny(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=zv(i),i=sy(n)}}return px({width:u,height:d,x:c,y:l})}function KC(e,t){let n=ry(e).scrollLeft;return t?t.left+n:GC(Bv(e)).left+n}function qC(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-KC(e,n),y:n.top+t.scrollTop}}function JC(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=Bv(r),s=t?qv(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=Gb(1),u=Gb(0),d=Uv(r);if((d||!a)&&((Rv(r)!==`body`||Gv(o))&&(c=ry(r)),d)){let e=GC(r);l=VC(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?qC(o,c):Gb(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function YC(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function XC(e){let t=ry(e),n=e.ownerDocument.body,r=Hb(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),i=Hb(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight),a=-t.scrollLeft+KC(e),o=-t.scrollTop;return ny(n).direction===`rtl`&&(a+=Hb(e.clientWidth,n.clientWidth)-r),{width:r,height:i,x:a,y:o}}var ZC=25;function QC(e,t,n){n===void 0&&(n=`viewport`);let r=n===`layoutViewport`,i=zv(e),a=Bv(e),o=i.visualViewport,s=a.clientWidth,c=a.clientHeight,l=0,u=0;if(o){let e=!ey()||t===`fixed`;r?e||(l=-o.offsetLeft,u=-o.offsetTop):(s=o.width,c=o.height,e&&(l=o.offsetLeft,u=o.offsetTop))}if(KC(a)<=0){let e=a.ownerDocument,t=e.body,n=getComputedStyle(t),r=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,i=Math.abs(a.clientWidth-t.clientWidth-r),o=getComputedStyle(a).scrollbarGutter===`stable both-edges`?i/2:i;o<=ZC&&(s-=o)}return{width:s,height:c,x:l,y:u}}function $C(e,t){let n=GC(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=VC(e);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function ew(e,t,n){let r;if(t===`viewport`||t===`layoutViewport`)r=QC(e,n,t);else if(t===`document`)r=XC(Bv(e));else if(Hv(t))r=$C(t,n);else{let n=UC(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return px(r)}function tw(e,t){let n=t.get(e);if(n)return n;let r=oy(e,[],!1).filter(e=>Hv(e)&&Rv(e)!==`body`),i=null,a=ny(e).position===`fixed`,o=a?iy(e):e;for(;Hv(o)&&!ty(o);){let e=ny(o),t=Qv(o),n=i?i.position:a?`fixed`:``;!t&&(n===`fixed`||n===`absolute`&&e.position===`static`)?r=r.filter(e=>e!==o):i=e,o=iy(o)}return t.set(e,r),r}function nw(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?qv(t)?[]:tw(t,this._c):[].concat(n),r],o=ew(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=ew(t,a[e],i);s=Hb(n.top,s),c=Vb(n.right,c),l=Vb(n.bottom,l),u=Hb(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function rw(e){let{width:t,height:n}=zC(e);return{width:t,height:n}}function iw(e,t,n){let r=Uv(t),i=Bv(t),a=n===`fixed`,o=GC(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=Gb(0);if((r||!a)&&((Rv(t)!==`body`||Gv(i))&&(s=ry(t)),r)){let e=GC(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}!r&&i&&(c.x=KC(i));let l=i&&!r&&!a?qC(i,s):Gb(0);return{x:o.left+s.scrollLeft-c.x-l.x,y:o.top+s.scrollTop-c.y-l.y,width:o.width,height:o.height}}function aw(e){return ny(e).position===`static`}function ow(e,t){if(!Uv(e)||ny(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return Bv(e)===n&&(n=n.ownerDocument.body),n}function sw(e,t){let n=zv(e);if(qv(e))return n;if(!Uv(e)){let t=iy(e);for(;t&&!ty(t);){if(Hv(t)&&!aw(t))return t;t=iy(t)}return n}let r=ow(e,t);for(;r&&Kv(r)&&aw(r);)r=ow(r,t);return r&&ty(r)&&aw(r)&&!Qv(r)?n:r||$v(e)||n}var cw=async function(e){let t=this.getOffsetParent||sw,n=this.getDimensions,r=await n(e.floating);return{reference:iw(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function lw(e){return ny(e).direction===`rtl`}var uw={convertOffsetParentRelativeRectToViewportRelativeRect:JC,getDocumentElement:Bv,getClippingRect:nw,getOffsetParent:sw,getElementRects:cw,getClientRects:YC,getDimensions:rw,getScale:VC,isElement:Hv,isRTL:lw};function dw(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function fw(e,t,n){let r=null,i,a=Bv(e);function o(){var e;clearTimeout(i),(e=r)==null||e.disconnect(),r=null}function s(n,c){n===void 0&&(n=!1),c===void 0&&(c=1),o();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(n||t(),!f||!p)return;let m=Wb(d),h=Wb(a.clientWidth-(u+f)),g=Wb(a.clientHeight-(d+p)),_=Wb(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:Hb(0,Vb(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(!dw(l,e.getBoundingClientRect()))return s();if(n!==c){if(!y)return s();n?s(!1,n):i=setTimeout(()=>{s(!1,1e-7)},1e3)}y=!1}try{r=new IntersectionObserver(b,{...v,root:a.ownerDocument})}catch{r=new IntersectionObserver(b,v)}r.observe(e)}let c=zv(e),l=()=>s(n);return c.addEventListener(`resize`,l),s(!0),()=>{c.removeEventListener(`resize`,l),o()}}function pw(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=BC(e),u=i||a?[...l?oy(l):[],...t?oy(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n),a&&e.addEventListener(`resize`,n)});let d=l&&s?fw(l,n,a):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?GC(e):null;c&&g();function g(){let t=GC(e);h&&!dw(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var mw=FC,hw=IC,gw=MC,_w=RC,vw=LC,yw=(e,t,n)=>{let r=new Map,i=n??{},a={...uw,...i.platform,_c:r};return jC(e,t,{...i,platform:a})},bw=typeof document<`u`?W.useLayoutEffect:function(){};function xw(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e==`object`){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!xw(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let n=i[r];if(!(n===`_owner`&&e.$$typeof)&&!xw(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function Sw(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Cw(e,t){let n=Sw(e);return Math.round(t*n)/n}function ww(e){let t=W.useRef(e);return bw(()=>{t.current=e}),t}function Tw(e){e===void 0&&(e={});let{placement:t=`bottom`,strategy:n=`absolute`,middleware:r=[],platform:i,elements:{reference:a,floating:o}={},transform:s=!0,whileElementsMounted:c,open:l}=e,[u,d]=W.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[f,p]=W.useState(r);xw(f,r)||p(r);let[m,h]=W.useState(null),[g,_]=W.useState(null),v=W.useCallback(e=>{e!==S.current&&(S.current=e,h(e))},[]),y=W.useCallback(e=>{e!==C.current&&(C.current=e,_(e))},[]),b=a||m,x=o||g,S=W.useRef(null),C=W.useRef(null),w=W.useRef(u),T=c!=null,E=ww(c),D=ww(i),O=ww(l),k=W.useCallback(()=>{if(!S.current||!C.current)return;let e={placement:t,strategy:n,middleware:f};D.current&&(e.platform=D.current),yw(S.current,C.current,e).then(e=>{let t={...e,isPositioned:O.current!==!1};A.current&&!xw(w.current,t)&&(w.current=t,XS.flushSync(()=>{d(t)}))})},[f,t,n,D,O]);bw(()=>{l===!1&&w.current.isPositioned&&(w.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[l]);let A=W.useRef(!1);bw(()=>(A.current=!0,()=>{A.current=!1}),[]),bw(()=>{if(b&&(S.current=b),x&&(C.current=x),b&&x){if(E.current)return E.current(b,x,k);k()}},[b,x,k,E,T]);let j=W.useMemo(()=>({reference:S,floating:C,setReference:v,setFloating:y}),[v,y]),M=W.useMemo(()=>({reference:b,floating:x}),[b,x]),N=W.useMemo(()=>{let e={position:n,left:0,top:0};if(!M.floating)return e;let t=Cw(M.floating,u.x),r=Cw(M.floating,u.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,...Sw(M.floating)>=1.5&&{willChange:`transform`}}:{position:n,left:t,top:r}},[n,s,M.floating,u.x,u.y]);return W.useMemo(()=>({...u,update:k,refs:j,elements:M,floatingStyles:N}),[u,k,j,M,N])}var Ew=(e,t)=>{let n=mw(e);return{name:n.name,fn:n.fn,options:[e,t]}},Dw=(e,t)=>{let n=hw(e);return{name:n.name,fn:n.fn,options:[e,t]}},Ow=(e,t)=>({fn:vw(e).fn,options:[e,t]}),kw=(e,t)=>{let n=gw(e);return{name:n.name,fn:n.fn,options:[e,t]}},Aw=(e,t)=>{let n=_w(e);return{name:n.name,fn:n.fn,options:[e,t]}},jw=o((e=>{var t=u();function n(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var r=typeof Object.is==`function`?Object.is:n,i=t.useState,a=t.useEffect,o=t.useLayoutEffect,s=t.useDebugValue;function c(e,t){var n=t(),r=i({inst:{value:n,getSnapshot:t}}),c=r[0].inst,u=r[1];return o(function(){c.value=n,c.getSnapshot=t,l(c)&&u({inst:c})},[e,n,t]),a(function(){return l(c)&&u({inst:c}),e(function(){l(c)&&u({inst:c})})},[e]),s(n),n}function l(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!r(e,n)}catch{return!0}}function d(e,t){return t()}var f=typeof window>`u`||window.document===void 0||window.document.createElement===void 0?d:c;e.useSyncExternalStore=t.useSyncExternalStore===void 0?f:t.useSyncExternalStore})),Mw=o(((e,t)=>{t.exports=jw()})),Nw=o((e=>{var t=u(),n=Mw();function r(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var i=typeof Object.is==`function`?Object.is:r,a=n.useSyncExternalStore,o=t.useRef,s=t.useEffect,c=t.useMemo,l=t.useDebugValue;e.useSyncExternalStoreWithSelector=function(e,t,n,r,u){var d=o(null);if(d.current===null){var f={hasValue:!1,value:null};d.current=f}else f=d.current;d=c(function(){function e(e){if(!a){if(a=!0,o=e,e=r(e),u!==void 0&&f.hasValue){var t=f.value;if(u(t,e))return s=t}return s=e}if(t=s,i(o,e))return t;var n=r(e);return u!==void 0&&u(t,n)?(o=e,t):(o=e,s=n)}var a=!1,o,s,c=n===void 0?null:n;return[function(){return e(t())},c===null?void 0:function(){return e(c())}]},[t,n,r,u]);var p=a(e,d[0],d[1]);return s(function(){f.hasValue=!0,f.value=p},[p]),l(p),p}})),Pw=o(((e,t)=>{t.exports=Nw()})),Fw=Mw(),Iw=Pw(),Lw=mS(19)?Bw:Vw;function Rw(e,t,n,r,i){return Lw(e,t,n,r,i)}function zw(e,t,n,r,i){let a=W.useCallback(()=>t(e.getSnapshot(),n,r,i),[e,t,n,r,i]);return(0,Fw.useSyncExternalStore)(e.subscribe,a,a)}nv({before(e){e.syncIndex=0,e.didInitialize||(e.syncTick=1,e.syncHooks=[],e.didChangeStore=!0,e.getSnapshot=()=>{let t=!1;for(let n=0;n<e.syncHooks.length;n+=1){let r=e.syncHooks[n],i=r.selector(r.store.state,r.a1,r.a2,r.a3);Object.is(r.value,i)||(t=!0,r.value=i)}return t&&(e.syncTick+=1),e.syncTick})},after(e){e.syncHooks.length>0&&(e.didChangeStore&&(e.didChangeStore=!1,e.subscribe=t=>{let n=new Set;for(let t of e.syncHooks)n.add(t.store);let r=[];for(let e of n)r.push(e.subscribe(t));return()=>{for(let e of r)e()}}),(0,Fw.useSyncExternalStore)(e.subscribe,e.getSnapshot,e.getSnapshot))}});function Bw(e,t,n,r,i){let a=tv();if(!a)return zw(e,t,n,r,i);let o=a.syncIndex;a.syncIndex+=1;let s;return a.didInitialize?(s=a.syncHooks[o],(s.store!==e||s.selector!==t||!Object.is(s.a1,n)||!Object.is(s.a2,r)||!Object.is(s.a3,i))&&(s.store!==e&&(a.didChangeStore=!0),s.store=e,s.selector=t,s.a1=n,s.a2=r,s.a3=i,s.value=t(e.getSnapshot(),n,r,i))):(s={store:e,selector:t,a1:n,a2:r,a3:i,value:t(e.getSnapshot(),n,r,i)},a.syncHooks.push(s)),s.value}function Vw(e,t,n,r,i){return(0,Iw.useSyncExternalStoreWithSelector)(e.subscribe,e.getSnapshot,e.getSnapshot,e=>t(e,n,r,i))}var Hw=class{static create(e){return new this(e)}constructor(e){this.state=e,this.listeners=new Set,this.updateTick=0}subscribe=e=>(this.listeners.add(e),()=>{this.listeners.delete(e)});getSnapshot=()=>this.state;setState(e){if(this.state===e)return;this.state=e,this.updateTick+=1;let t=this.updateTick;for(let n of this.listeners){if(t!==this.updateTick)return;n(e)}}update(e){for(let t in e)if(!Object.is(this.state[t],e[t])){this.setState({...this.state,...e});return}}set(e,t){Object.is(this.state[e],t)||this.setState({...this.state,[e]:t})}notifyAll(){let e={...this.state};this.setState(e)}use(e,t,n,r){return Rw(this,e,t,n,r)}},Uw=class extends Hw{constructor(e,t={},n){super(e),this.context=t,this.selectors=n}useSyncedValue(e,t){W.useDebugValue(e);let n=this;X(()=>{n.state[e]!==t&&n.set(e,t)},[n,e,t])}useSyncedValueWithCleanup(e,t){let n=this;X(()=>(n.state[e]!==t&&n.set(e,t),()=>{n.set(e,void 0)}),[n,e,t])}useSyncedValues(e){let t=this;X(()=>{t.update(e)},[t,...Object.values(e)])}useControlledProp(e,t){W.useDebugValue(e);let n=this,r=t!==void 0;X(()=>{r&&!Object.is(n.state[e],t)&&n.setState({...n.state,[e]:t})},[n,e,t,r])}select(e,t,n,r){let i=this.selectors[e];return i(this.state,t,n,r)}useState(e,t,n,r){return W.useDebugValue(e),Rw(this,this.selectors[e],t,n,r)}useContextCallback(e,t){W.useDebugValue(e);let n=Q(t??ov);this.context[e]=n}useStateSetter(e){let t=W.useRef(void 0);return t.current===void 0&&(t.current=t=>{this.set(e,t)}),t.current}observe(e,t){let n;n=typeof e==`function`?e:this.selectors[e];let r=n(this.state);return t(r,r,this),this.subscribe(e=>{let i=n(e);if(!Object.is(r,i)){let e=r;r=i,t(i,e,this)}})}},Ww={open:e=>e.open,transitionStatus:e=>e.transitionStatus,domReferenceElement:e=>e.domReferenceElement,referenceElement:e=>e.positionReference??e.referenceElement,floatingElement:e=>e.floatingElement,floatingId:e=>e.floatingId},Gw=class extends Uw{constructor(e){let{syncOnly:t,nested:n,onOpenChange:r,triggerElements:i,...a}=e;super({...a,positionReference:a.referenceElement,domReferenceElement:a.referenceElement},{onOpenChange:r,dataRef:{current:{}},events:nC(),nested:n,triggerElements:i},Ww),this.syncOnly=t}syncOpenEvent=(e,t)=>{(!e||!this.state.open||t!=null&&Iv(t))&&(this.context.dataRef.current.openEvent=e?t:void 0)};dispatchOpenChange=(e,t)=>{this.syncOpenEvent(e,t.event);let n={open:e,reason:t.reason,nativeEvent:t.event,nested:this.context.nested,triggerElement:t.trigger};this.context.events.emit(`openchange`,n)};setOpen=(e,t)=>{if(this.syncOnly){this.context.onOpenChange?.(e,t);return}this.dispatchOpenChange(e,t),this.context.onOpenChange?.(e,t)}};function Kw(e){let{popupStore:t,treatPopupAsFloatingElement:n=!1,floatingRootContext:r,floatingId:i,nested:a,onOpenChange:o}=e,s=t.useState(`open`),c=t.useState(`activeTriggerElement`),l=t.useState(n?`popupElement`:`positionerElement`),u=t.context.triggerElements,d=o,f=W.useRef(null);r===void 0&&f.current===null&&(f.current=new Gw({open:s,transitionStatus:void 0,referenceElement:c,floatingElement:l,triggerElements:u,onOpenChange:d,floatingId:i,syncOnly:!0,nested:a}));let p=r??f.current;return t.useSyncedValue(`floatingId`,i),X(()=>{let e={open:s,floatingId:i,referenceElement:c,floatingElement:l};Hv(c)&&(e.domReferenceElement=c),p.state.positionReference===p.state.referenceElement&&(e.positionReference=c),p.update(e)},[s,i,c,l,p]),p.context.onOpenChange=d,p.context.nested=a,p}function qw(e,t=!1,n=!1,r=!1){let[i,a]=W.useState(e&&t?`idle`:void 0),[o,s]=W.useState(e&&!r);return e&&!o&&(s(!0),a(`starting`)),!e&&o&&i!==`ending`&&!n&&a(`ending`),!e&&!o&&i===`ending`&&a(void 0),X(()=>{if(!e&&o&&i!==`ending`&&n){let e=Pb.request(()=>{a(`ending`)});return()=>{Pb.cancel(e)}}},[e,o,i,n]),X(()=>{if(!e||t)return;let n=Pb.request(()=>{a(void 0)});return()=>{Pb.cancel(n)}},[t,e]),X(()=>{if(!e||!t)return;e&&o&&i!==`idle`&&a(`starting`);let n=Pb.request(()=>{a(`idle`)});return()=>{Pb.cancel(n)}},[t,e,o,i]),{mounted:o,setMounted:s,transitionStatus:i}}var Jw=null;function Yw(e){if(!Jw){let e=[];Jw=e,queueMicrotask(()=>{Jw=null,XS.flushSync(()=>{for(let t of e)t()})})}Jw.push(e)}function Xw(e,t=!1,n=!1){let r=Fb();return Q((i,a=null)=>{r.cancel();let o=dC(e);if(o==null)return;let s=o,c=()=>{if(!n){XS.flushSync(i);return}Yw(()=>{a?.aborted||i()})};if(typeof s.getAnimations!=`function`||globalThis.BASE_UI_ANIMATIONS_DISABLED){i();return}function l(){Promise.all(s.getAnimations().map(e=>e.finished)).then(()=>{a?.aborted||c()},()=>{if(!a?.aborted){if(s.getAnimations().some(e=>e.pending||e.playState!==`finished`)){l();return}c()}})}if(t){let e=_y;if(!s.hasAttribute(e)){r.request(l);return}let t=new MutationObserver(()=>{s.hasAttribute(e)||(t.disconnect(),l())});t.observe(s,{attributes:!0,attributeFilter:[e]}),a?.addEventListener(`abort`,()=>t.disconnect(),{once:!0});return}r.request(l)})}function Zw(e){let{enabled:t=!0,open:n,ref:r,batch:i=!1,onComplete:a}=e,o=Q(a),s=Xw(r,n,i);W.useEffect(()=>{if(!t)return;let e=new AbortController;return s(o,e.signal),()=>{e.abort()}},[t,n,o,s])}var Qw={tabIndex:-1,[dy]:``};function $w(e){return t=>t!==`touch`||e.current}function eT(e,t=!1){let n=fS(),r=oC()!=null,i=Q_(()=>e(n,r)).current;return Kw({popupStore:i,treatPopupAsFloatingElement:t,floatingRootContext:i.state.floatingRootContext,floatingId:n,nested:r,onOpenChange:i.setOpen}),i}function tT({handle:e,store:t}){return X(()=>e.attachStore(t),[e,t]),null}function nT(e){let t=e.context.triggerElements.size;e.select(`open`)&&e.state.triggerCount!==t&&e.set(`triggerCount`,t)}function rT(e,t){let n=W.useRef(null);return Q(r=>{let i=n.current;if(i!==null){if(i.element===r&&i.store===t&&i.id===e)return;n.current=null;let a=i.store;a.context.triggerElements.getById(i.id)===i.element&&(a.context.triggerElements.delete(i.id),nT(a))}r!==null&&e!==void 0&&(n.current={store:t,id:e,element:r},t.context.triggerElements.add(e,r),nT(t))})}function iT(e,t,n,r=!1){let i=e.preventUnmountingOnClose;t?i=!1:r&&(i=!0);let a=n?.id??null,o=e.activeTriggerId,s=e.activeTriggerElement;return(a||t)&&(o=a,s=n??null),{open:t,preventUnmountingOnClose:i,activeTriggerId:o,activeTriggerElement:s}}function aT(e){let t=!1;return e.preventUnmountOnClose=()=>{t=!0},()=>t}function oT(e,t,n,r={}){let i=n.reason,a=i===Qy,o=t&&i===`trigger-focus`,s=!t&&(i===`trigger-press`||i===`escape-key`),c=aT(n);if(e.context.onOpenChange?.(t,n),n.isCanceled)return;r.onBeforeDispatch?.(),e.state.floatingRootContext.dispatchOpenChange(t,n);let l=()=>{let i=iT(e.state,t,n.trigger,c()),l={...r.extraState,...i};o?l.instantType=`focus`:s?l.instantType=`dismiss`:a&&(l.instantType=void 0),e.update(l)};a?XS.flushSync(l):l()}function sT(e,t,n,r){let i=n.useState(`isMountedByTrigger`,e),a=rT(e,n),o=Q(t=>{let i=n.select(`open`),a=n.select(`activeTriggerId`);if(a===e){let e={activeTriggerElement:t,...i?r:null};n.update(e);return}if(a==null&&i){let i={activeTriggerId:e??null,activeTriggerElement:t,...r};n.update(i)}}),s=Q(e=>{a(e),e&&o(e)});return X(()=>(s(t.current),()=>s(null)),[s,t,n,e]),X(()=>{if(i){let e={activeTriggerElement:t.current,...r};n.update(e)}},[i,n,t,...Object.values(r)]),{registerTrigger:s,isMountedByThisTrigger:i}}function cT(e,t={}){let{closeOnActiveTriggerUnmount:n=!1}=t,r=W.useRef(null),i=e.useState(`open`);X(()=>{if(!i){r.current=null,e.state.triggerCount!==0&&e.set(`triggerCount`,0);return}let t=e.context.triggerElements.size,a={};e.state.triggerCount!==t&&(a.triggerCount=t);let o=e.select(`activeTriggerId`),s=null;if(o){let t=e.context.triggerElements.getById(o);if(t)r.current=o,t!==e.state.activeTriggerElement&&(a.activeTriggerElement=t);else{for(let[t,n]of e.context.triggerElements.entries())if(n===e.state.activeTriggerElement){a.activeTriggerId=t,a.activeTriggerElement=n,r.current=t;break}a.activeTriggerId===void 0&&(r.current===o?s=o:r.current=null)}}else r.current=null;if(!s&&!o&&t===1){let t=e.context.triggerElements.entries().next();if(!t.done){let[e,n]=t.value;a.activeTriggerId=e,a.activeTriggerElement=n,r.current=e}}(a.triggerCount!==void 0||a.activeTriggerId!==void 0||a.activeTriggerElement!==void 0)&&e.update(a),s&&n&&queueMicrotask(()=>{if(e.select(`open`)&&e.select(`activeTriggerId`)===s&&!e.context.triggerElements.getById(s)){let t=pb(Xy);e.setOpen(!1,t),t.isCanceled||e.update({activeTriggerId:null,activeTriggerElement:null})}})},[i,e,e.useState(`triggerCount`),e.useState(`activeTriggerId`),e.useState(`activeTriggerElement`),n])}function lT(e,t,n,r){let{mounted:i,setMounted:a,transitionStatus:o}=qw(e,!1,!1,r),s=t.useState(`preventUnmountingOnClose`),c=!e&&s;t.useSyncedValues({mounted:i,transitionStatus:o,preventUnmountingOnClose:c});let l=Q(()=>{a(!1),t.update({activeTriggerId:null,activeTriggerElement:null,mounted:!1,preventUnmountingOnClose:!1}),n?.(),t.context.onOpenChangeComplete?.(!1)});return Zw({enabled:i&&!e&&!c,open:e,ref:t.context.popupRef,onComplete(){e||l()}}),{forceUnmount:l,transitionStatus:o}}function uT(e,t){e.useSyncedValues(t),X(()=>()=>{e.update({activeTriggerProps:cv,inactiveTriggerProps:cv,popupProps:cv})},[e])}function dT(e,t){X(()=>{!t&&e.state.openMethod!==null&&e.set(`openMethod`,null)},[t,e]),X(()=>()=>{e.state.openMethod!==null&&e.set(`openMethod`,null)},[e])}var fT=class{constructor(){this.idMap=new Map}add(e,t){this.idMap.set(e,t)}delete(e){this.idMap.delete(e)}hasElement(e){for(let t of this.idMap.values())if(t===e)return!0;return!1}hasMatchingElement(e){for(let t of this.idMap.values())if(e(t))return!0;return!1}getById(e){return this.idMap.get(e)}entries(){return this.idMap.entries()}elements(){return this.idMap.values()}get size(){return this.idMap.size}};function pT(e,t,n=!1){return{open:!1,openProp:void 0,mounted:!1,transitionStatus:void 0,floatingRootContext:new Gw({open:!1,transitionStatus:void 0,floatingElement:null,referenceElement:null,triggerElements:e,floatingId:t,syncOnly:!0,nested:n,onOpenChange:void 0}),floatingId:t,triggerCount:0,preventUnmountingOnClose:!1,payload:void 0,activeTriggerId:null,activeTriggerElement:null,triggerIdProp:void 0,popupElement:null,positionerElement:null,activeTriggerProps:cv,inactiveTriggerProps:cv,popupProps:cv}}var mT=e=>e.triggerIdProp??e.activeTriggerId,hT=e=>e.openProp??e.open,gT=e=>(e.popupElement?.id??e.floatingId)||void 0;function _T(e,t){return t!==void 0&&hT(e)&&mT(e)===t}function vT(e,t){return _T(e,t)?!0:t!==void 0&&hT(e)&&mT(e)==null&&e.triggerCount===1}var yT={open:hT,mounted:e=>e.mounted,transitionStatus:e=>e.transitionStatus,floatingRootContext:e=>e.floatingRootContext,triggerCount:e=>e.triggerCount,preventUnmountingOnClose:e=>e.preventUnmountingOnClose,payload:e=>e.payload,activeTriggerId:mT,activeTriggerElement:e=>e.mounted?e.activeTriggerElement:null,popupId:gT,isTriggerActive:(e,t)=>t!==void 0&&mT(e)===t,isOpenedByTrigger:(e,t)=>_T(e,t),isMountedByTrigger:(e,t)=>t!==void 0&&mT(e)===t&&e.mounted,triggerProps:(e,t)=>t?e.activeTriggerProps:e.inactiveTriggerProps,triggerPopupId:(e,t)=>vT(e,t)?gT(e):void 0,popupProps:e=>e.popupProps,popupElement:e=>e.popupElement,positionerElement:e=>e.positionerElement};function bT(e){let t=W.useCallback(t=>e===void 0?ov:e.subscribeStore(t),[e]),n=W.useCallback(()=>e===void 0?void 0:e.store,[e]);return(0,Fw.useSyncExternalStore)(t,n,()=>e?.serverStore)}function xT(e){let{open:t=!1,onOpenChange:n,elements:r={}}=e,i=fS(),a=oC()!=null,o=Q_(()=>new Gw({open:t,transitionStatus:void 0,onOpenChange:n,referenceElement:r.reference??null,floatingElement:r.floating??null,triggerElements:new fT,floatingId:i,syncOnly:!1,nested:a})).current;return X(()=>{let e={open:t,floatingId:i};r.reference!==void 0&&(e.referenceElement=r.reference,e.domReferenceElement=Hv(r.reference)?r.reference:null),r.floating!==void 0&&(e.floatingElement=r.floating),o.update(e)},[t,i,r.reference,r.floating,o]),o.context.onOpenChange=n,o.context.nested=a,o}function ST(e){return CT(e,e.rootContext)}function CT(e,t){let{nodeId:n,externalTree:r}=e,i=t.useState(`referenceElement`),a=t.useState(`floatingElement`),o=t.useState(`domReferenceElement`),s=t.useState(`open`),c=t.useState(`floatingId`),[l,u]=W.useState(null),[d,f]=W.useState(void 0),[p,m]=W.useState(void 0),h=W.useRef(null),g=sC(r),_=W.useMemo(()=>({reference:i,floating:a,domReference:o}),[i,a,o]),v=Tw({...e,elements:{..._,...l&&{reference:l}}}),y=Hv(d)?d:null,b=p===void 0?t.state.floatingElement:p;t.useSyncedValue(`referenceElement`,d??null),t.useSyncedValue(`domReferenceElement`,d===void 0?o:y),t.useSyncedValue(`floatingElement`,b);let x=W.useCallback(e=>{let t=Hv(e)?{getBoundingClientRect:()=>e.getBoundingClientRect(),getClientRects:()=>e.getClientRects(),contextElement:e}:e;u(t),v.refs.setReference(t)},[v.refs]),S=W.useCallback(e=>{(Hv(e)||e===null)&&(h.current=e,f(e)),(Hv(v.refs.reference.current)||v.refs.reference.current===null||e!==null&&!Hv(e))&&v.refs.setReference(e)},[v.refs,f]),C=W.useCallback(e=>{m(e),v.refs.setFloating(e)},[v.refs]),w=W.useMemo(()=>({...v.refs,setReference:S,setFloating:C,setPositionReference:x,domReference:h}),[v.refs,S,C,x]),T=W.useMemo(()=>({...v.elements,domReference:o}),[v.elements,o]),E=W.useMemo(()=>({...v,dataRef:t.context.dataRef,open:s,onOpenChange:t.setOpen,events:t.context.events,floatingId:c,refs:w,elements:T,nodeId:n,rootStore:t}),[v,w,T,n,t,s,c]);return X(()=>{o&&(h.current=o)},[o]),X(()=>{t.context.dataRef.current.floatingContext=E;let e=g?.nodesRef.current.find(e=>e.id===n);e&&(e.context=E)}),W.useMemo(()=>({...v,context:E,refs:w,elements:T,rootStore:t}),[v,w,T,E,t])}var wT=Ev&&Ov;function TT(e,t={}){let{enabled:n=!0,delay:r}=t,i=`rootStore`in e?e.rootStore:e,{events:a,dataRef:o}=i.context,s=W.useRef(!1),c=W.useRef(null),l=W.useRef(!0),u=gv();W.useEffect(()=>{let e=i.select(`domReferenceElement`);if(!n)return;let t=zv(e);function r(){let e=i.select(`domReferenceElement`);!i.select(`open`)&&Uv(e)&&e===cy(Ib(e))&&(s.current=!0,c.current=e)}function a(){l.current=!0}function o(){l.current=!1}return vb(_b(t,`blur`,r),wT&&_b(t,`keydown`,a,!0),wT&&_b(t,`pointerdown`,o,!0))},[i,n]),W.useEffect(()=>{if(!n)return;function e(e){if(e.reason===`trigger-press`||e.reason===`escape-key`){let e=i.select(`domReferenceElement`);Hv(e)&&(c.current=e,s.current=!0)}}return a.on(`openchange`,e),()=>{a.off(`openchange`,e)}},[a,n,i]);let d=W.useMemo(()=>{function e(){s.current=!1,c.current=null}return{onMouseLeave(){e()},onFocus(t){let n=t.currentTarget;if(s.current){if(c.current===n)return;e()}let a=uy(t.nativeEvent);if(Hv(a)){if(wT&&!t.relatedTarget){if(!l.current&&!By(a))return}else if(!Uy(a))return}let o=Ly(t.relatedTarget,i.context.triggerElements),{nativeEvent:d,currentTarget:f}=t,p=typeof r==`function`?r():r;if(i.select(`open`)&&o||p===0||p===void 0){i.setOpen(!0,pb($y,d,f));return}u.start(p,()=>{s.current||i.setOpen(!0,pb($y,d,f))})},onBlur(t){e();let n=t.relatedTarget,r=t.nativeEvent,a=Hv(n)&&n.hasAttribute(Jx(`focus-guard`))&&n.getAttribute(`data-type`)===`outside`;u.start(0,()=>{let e=i.select(`domReferenceElement`),t=cy(Ib(e));(n||t!==e)&&(ly(o.current.floatingContext?.refs.floating.current,t)||ly(e,t)||a||Ly(n??t,i.context.triggerElements)||i.setOpen(!1,pb($y,r)))})}}},[o,r,i,u]);return W.useMemo(()=>n?{reference:d,trigger:d}:{},[n,d])}var ET=class e{constructor(){this.pointerType=void 0,this.interactedInside=!1,this.handler=void 0,this.blockMouseMove=!0,this.performedPointerEventsMutation=!1,this.pointerEventsScopeElement=null,this.pointerEventsReferenceElement=null,this.pointerEventsFloatingElement=null,this.restTimeoutPending=!1,this.openChangeTimeout=new hv,this.restTimeout=new hv,this.handleCloseOptions=void 0}static create(){return new e}dispose=()=>{this.openChangeTimeout.clear(),this.restTimeout.clear()};disposeEffect=()=>this.dispose},DT=new WeakMap;function OT(e){if(!e.performedPointerEventsMutation)return;let t=e.pointerEventsScopeElement;t&&DT.get(t)===e&&(e.pointerEventsScopeElement?.style.removeProperty(`pointer-events`),e.pointerEventsReferenceElement?.style.removeProperty(`pointer-events`),e.pointerEventsFloatingElement?.style.removeProperty(`pointer-events`),DT.delete(t)),e.performedPointerEventsMutation=!1,e.pointerEventsScopeElement=null,e.pointerEventsReferenceElement=null,e.pointerEventsFloatingElement=null}function kT(e,t){let{scopeElement:n,referenceElement:r,floatingElement:i}=t,a=DT.get(n);a&&a!==e&&OT(a),OT(e),e.performedPointerEventsMutation=!0,e.pointerEventsScopeElement=n,e.pointerEventsReferenceElement=r,e.pointerEventsFloatingElement=i,DT.set(n,e),n.style.pointerEvents=`none`,r.style.pointerEvents=`auto`,i.style.pointerEvents=`auto`}function AT(e){let t=e.context.dataRef.current,n=Q_(()=>t.hoverInteractionState??ET.create()).current;return t.hoverInteractionState||=n,pv(t.hoverInteractionState.disposeEffect),t.hoverInteractionState}function jT(e,t={}){let{enabled:n=!0,closeDelay:r=0,nodeId:i}=t,a=`rootStore`in e?e.rootStore:e,o=a.useState(`open`),s=a.useState(`floatingElement`),c=a.useState(`domReferenceElement`),{dataRef:l}=a.context,u=sC(),d=oC(),f=AT(a),p=gv(),m=Q(()=>Jy(l.current.openEvent?.type,f.interactedInside)),h=Q(()=>Yy(l.current.openEvent?.type)),g=Q(()=>{OT(f)});X(()=>{o||(f.pointerType=void 0,f.restTimeoutPending=!1,f.interactedInside=!1,g())},[o,f,g]),W.useEffect(()=>g,[g]),X(()=>{if(n&&o&&f.handleCloseOptions?.blockPointerEvents&&h()&&Hv(c)&&s){let e=c,t=s,n=Ib(s),r=u?.nodesRef.current.find(e=>e.id===d)?.context?.elements.floating;r&&(r.style.pointerEvents=``);let i=f.pointerEventsScopeElement===t?null:f.pointerEventsScopeElement,a=r===t?null:r,o=f.handleCloseOptions?.getScope?.()??i??a??e.closest(`[data-rootownerid]`)??n.body;return kT(f,{scopeElement:o,referenceElement:e,floatingElement:t}),()=>{g()}}},[n,o,c,s,f,h,u,d,g]),W.useEffect(()=>{if(!n)return;function e(){return!!(u&&d&&Kx(u.nodesRef.current,d).length>0)}function t(e){let t=Ky(r,`close`,f.pointerType),n=()=>{a.setOpen(!1,pb(Qy,e)),u?.events.emit(`floating.closed`,e)};t?f.openChangeTimeout.start(t,n):(f.openChangeTimeout.clear(),n())}function o(e){let t=uy(e);if(!Vy(t)){f.interactedInside=!1;return}f.interactedInside=t?.closest(`[aria-haspopup]`)!=null}function c(){f.openChangeTimeout.clear(),p.clear(),u?.events.off(`floating.closed`,v),g()}function _(n){if(e()&&u){u.events.on(`floating.closed`,v);return}if(Ly(n.relatedTarget,a.context.triggerElements))return;let r=l.current.floatingContext?.nodeId??i,o=n.relatedTarget;if(!(u&&r&&Hv(o)&&Kx(u.nodesRef.current,r,!1).some(e=>ly(e.context?.elements.floating,o)))){if(f.handler){f.handler(n);return}g(),h()&&!m()&&t(n)}}function v(t){u&&d&&!e()&&p.start(0,()=>{u.events.off(`floating.closed`,v),a.setOpen(!1,pb(Qy,t)),u.events.emit(`floating.closed`,t)})}let y=s;return vb(y&&_b(y,`mouseenter`,c),y&&_b(y,`mouseleave`,_),y&&_b(y,`pointerdown`,o,!0),()=>{u?.events.off(`floating.closed`,v)})},[n,s,a,l,r,i,h,m,g,f,u,d,p])}var MT={current:null};function NT(e,t={}){let{enabled:n=!0,delay:r=0,handleClose:i=null,mouseOnly:a=!1,restMs:o=0,move:s=!0,triggerElementRef:c=MT,externalTree:l,isActiveTrigger:u=!0,getHandleCloseContext:d,isClosing:f,shouldOpen:p,guardStaleOpen:m=!1}=t,h=`rootStore`in e?e.rootStore:e,{dataRef:g,events:_}=h.context,v=sC(l),y=AT(h),b=W.useRef(!1),x=Tb(i),S=Tb(r),C=Tb(o),w=Tb(n),T=Tb(p),E=Tb(f),D=Q(()=>Jy(g.current.openEvent?.type,y.interactedInside)),O=Q(()=>T.current?.()!==!1),k=Q((e,t,n)=>{let r=h.context.triggerElements;if(r.hasElement(t))return!e||!ly(e,t);if(!Hv(n))return!1;let i=n;return r.hasMatchingElement(e=>ly(e,i))&&(!e||!ly(e,i))}),A=Q(()=>{y.handler&&=(Ib(h.select(`domReferenceElement`)).removeEventListener(`mousemove`,y.handler),void 0)}),j=Q(()=>{OT(y)});return u&&(y.handleCloseOptions=i?.__options),W.useEffect(()=>A,[A]),W.useEffect(()=>{if(!n)return;function e(e){e.open?b.current=!1:(b.current=e.reason===Qy,A(),y.openChangeTimeout.clear(),y.restTimeout.clear(),y.blockMouseMove=!0,y.restTimeoutPending=!1)}return _.on(`openchange`,e),()=>{_.off(`openchange`,e)}},[n,_,y,A]),W.useEffect(()=>{if(!n)return;function e(e,t=!0){let n=Ky(S.current,`close`,y.pointerType);n?y.openChangeTimeout.start(n,()=>{h.setOpen(!1,pb(Qy,e)),v?.events.emit(`floating.closed`,e)}):t&&(y.openChangeTimeout.clear(),h.setOpen(!1,pb(Qy,e)),v?.events.emit(`floating.closed`,e))}let t=c.current??(u?h.select(`domReferenceElement`):null);if(!Hv(t))return;function r(e){if(y.openChangeTimeout.clear(),y.blockMouseMove=!1,a&&!Fv(y.pointerType))return;let t=qy(C.current),n=Ky(S.current,`open`,y.pointerType),r=uy(e),i=e.currentTarget??null,o=h.select(`domReferenceElement`),s=i;if(Hv(r)&&!h.context.triggerElements.hasElement(r)){for(let e of h.context.triggerElements.elements())if(ly(e,r)){s=e;break}}Hv(i)&&Hv(o)&&!h.context.triggerElements.hasElement(i)&&ly(i,o)&&(s=o);let c=s!=null&&k(o,s,r),l=h.select(`open`),u=E.current?.()??h.select(`transitionStatus`)===`ending`,d=!l&&u&&b.current,f=!c&&Hv(s)&&Hv(o)&&ly(o,s)&&d,p=t>0&&!n,m=c&&(l||d)||f,g=!l||c;if(m){O()&&h.setOpen(!0,pb(Qy,e,s));return}p||(n?y.openChangeTimeout.start(n,()=>{g&&O()&&h.setOpen(!0,pb(Qy,e,s))}):g&&O()&&h.setOpen(!0,pb(Qy,e,s)))}function i(t){if(D()){j();return}A();let n=Ib(h.select(`domReferenceElement`));y.restTimeout.clear(),y.restTimeoutPending=!1;let r=g.current.floatingContext??d?.();if(!Ly(t.relatedTarget,h.context.triggerElements)){if(x.current&&r){h.select(`open`)||y.openChangeTimeout.clear();let i=c.current;y.handler=x.current({...r,tree:v,x:t.clientX,y:t.clientY,onClose(){j(),A(),w.current&&!D()&&i===h.select(`domReferenceElement`)&&e(t,!0)}}),n.addEventListener(`mousemove`,y.handler),y.handler(t);return}(y.pointerType!==`touch`||!ly(h.select(`floatingElement`),t.relatedTarget))&&e(t)}}function o(e){ly(t,e.relatedTarget)||(y.openChangeTimeout.clear(),y.restTimeout.clear(),y.restTimeoutPending=!1)}let l=m?_b(t,`mouseout`,o):void 0;return s?vb(_b(t,`mousemove`,r,{once:!0}),_b(t,`mouseenter`,r),_b(t,`mouseleave`,i),l):vb(_b(t,`mouseenter`,r),_b(t,`mouseleave`,i),l)},[A,j,g,S,h,n,x,y,u,k,D,a,s,C,c,v,w,d,E,O,m]),W.useMemo(()=>{if(!n)return;function e(e){y.pointerType=e.pointerType}return{onPointerDown:e,onPointerEnter:e,onMouseMove(e){let{nativeEvent:t}=e,n=e.currentTarget,r=h.select(`domReferenceElement`),i=h.select(`open`),o=k(r,n,e.target);if(a&&!Fv(y.pointerType))return;if(i&&o&&y.handleCloseOptions?.blockPointerEvents){let e=h.select(`floatingElement`);if(e){let t=y.handleCloseOptions?.getScope?.()??n.ownerDocument.body;kT(y,{scopeElement:t,referenceElement:n,floatingElement:e})}}let s=qy(C.current);if(i&&!o||s===0||!o&&y.restTimeoutPending&&e.movementX**2+e.movementY**2<2)return;y.restTimeout.clear();function c(){if(y.restTimeoutPending=!1,D())return;let e=h.select(`open`);!y.blockMouseMove&&(!e||o)&&O()&&h.setOpen(!0,pb(Qy,t,n))}y.pointerType===`touch`?XS.flushSync(()=>{c()}):o&&i?c():(y.restTimeoutPending=!0,y.restTimeout.start(s,c))}}},[n,y,D,k,a,h,C,O])}var PT=`Escape`;function FT(e){return Ov&&e.movementX===0&&e.movementY===0}function IT(e,t,n){switch(e){case`vertical`:return t;case`horizontal`:return n;default:return t||n}}function LT(e,t){return IT(t,e===`ArrowUp`||e===`ArrowDown`,e===`ArrowLeft`||e===`ArrowRight`)}function RT(e,t,n){return IT(t,e===`ArrowDown`,n?e===`ArrowLeft`:e===`ArrowRight`)||e===`Enter`||e===` `||e===``}function zT(e,t,n){return IT(t,n?e===py:e===my,e===gy)}function BT(e,t,n,r){return t===`both`||t===`horizontal`&&r?e===PT:IT(t,n?e===my:e===py,e===hy)}function VT(e,t){let{listRef:n,activeIndex:r,onNavigate:i=()=>{},enabled:a=!0,selectedIndex:o=null,allowEscape:s=!1,loopFocus:c=!1,nested:l=!1,rtl:u=!1,virtual:d=!1,focusItemOnOpen:f=`auto`,focusItemOnHover:p=!0,openOnArrowKeyDown:m=!0,disabledIndices:h=void 0,orientation:g=`vertical`,parentOrientation:_,id:v,resetOnPointerLeave:y=!0,externalTree:b,grid:x}=t,S=x!=null,C=`rootStore`in e?e.rootStore:e,w=C.useState(`open`),T=C.useState(`floatingElement`),E=C.useState(`domReferenceElement`),D=C.context.dataRef,O=Wy(T),k=Hy(E),A=Tb(O),j=oC(),M=sC(b),N=W.useRef(f),P=W.useRef(o??-1),F=W.useRef(null),I=W.useRef(!0),L=Q(e=>{i(P.current===-1?null:P.current,e)}),R=W.useRef(!!T),ee=W.useRef(w),z=W.useRef(!1),te=W.useRef(!1),ne=W.useRef(null),re=Tb(h),B=Tb(w),ie=Tb(o),ae=Tb(y),oe=Fb(),se=Fb(),ce=Q(()=>{function e(e){d?M?.events.emit(`virtualfocus`,e):ne.current=Xx(e,{sync:z.current,preventScroll:!0})}let t=n.current[P.current],r=te.current;t&&e(t),(z.current?e=>e():e=>oe.request(e))(()=>{let i=n.current[P.current]||t;i&&(t||e(i),fe&&(r||!I.current)&&i.scrollIntoView?.({block:`nearest`,inline:`nearest`}))})});X(()=>{D.current.orientation=g},[D,g]),X(()=>{a&&(w&&T?(P.current=o??-1,N.current&&o!=null&&(te.current=!0,L())):R.current&&(P.current=-1,L()))},[a,w,T,o,L]),X(()=>{if(a){if(!w){z.current=!1;return}if(T){if(r==null){if(z.current=!1,ie.current!=null)return;if(R.current&&(P.current=-1,ce()),(!ee.current||!R.current)&&N.current&&(F.current!=null||N.current===!0&&F.current==null)){let e=0,t=()=>{n.current[0]==null?(e<2&&(e?e=>se.request(e):queueMicrotask)(t),e+=1):(P.current=F.current==null||RT(F.current,g,u)||l?hx(n):gx(n),F.current=null,L())};t()}}else mx(n.current,r)||(P.current=r,ce(),te.current=!1)}}},[a,w,T,r,ie,l,n,g,u,L,ce,se]),X(()=>{if(!a||T||!M||d||!R.current)return;let e=M.nodesRef.current,t=e.find(e=>e.id===j)?.context?.elements.floating,n=cy(Ib(E??t??null)),r=e.some(e=>e.context&&ly(e.context.elements.floating,n));t&&!r&&I.current&&t.focus({preventScroll:!0})},[a,T,E,M,j,d]),X(()=>{ee.current=w,R.current=!!T}),X(()=>{w||(F.current=null,N.current=f)},[w,f]);let le=r!=null,V=Q(e=>{if(!B.current)return;let t=n.current.indexOf(e.currentTarget);t!==-1&&(P.current!==t||r!==t)&&(P.current=t,L(e))}),H=Q(()=>_??M?.nodesRef.current.find(e=>e.id===j)?.context?.dataRef?.current.orientation),ue=Q(()=>hx(n,re.current)),de=Q(e=>{if(I.current=!1,z.current=!0,e.which===229||!B.current&&e.currentTarget===A.current)return;if(l&&BT(e.key,g,u,S)){LT(e.key,H())||jv(e),C.setOpen(!1,pb(ob,e.nativeEvent)),Uv(E)&&(d?M?.events.emit(`virtualfocus`,E):E.focus());return}let t=P.current,r=hx(n,h),i=gx(n,h);if(k||(e.key===`Home`&&(jv(e),P.current=r,L(e)),e.key===`End`&&(jv(e),P.current=i,L(e))),x!=null){let t=x(e,P.current,n,g,c,u,h,r,i);if(t!=null&&(P.current=t,L(e)),g===`both`)return}if(LT(e.key,g)){if(jv(e),w&&!d&&cy(e.currentTarget.ownerDocument)===e.currentTarget){P.current=RT(e.key,g,u)?r:i,L(e);return}RT(e.key,g,u)?c?t>=i?s&&t!==n.current.length?P.current=-1:(z.current=!1,P.current=r):P.current=_x(n.current,{startingIndex:t,disabledIndices:h}):P.current=Math.min(i,_x(n.current,{startingIndex:t,disabledIndices:h})):c?t<=r?s&&t!==-1?P.current=n.current.length:(z.current=!1,P.current=i):P.current=_x(n.current,{startingIndex:t,decrement:!0,disabledIndices:h}):P.current=Math.max(r,_x(n.current,{startingIndex:t,decrement:!0,disabledIndices:h})),mx(n.current,P.current)&&(P.current=-1),L(e)}}),fe=W.useMemo(()=>({onFocus(e){z.current=!0,V(e)},onClick:({currentTarget:e})=>e.focus({preventScroll:!0}),onMouseMove(e){FT(e)||(z.current=!0,te.current=!1,p&&V(e))},onPointerLeave(e){if(!B.current||!I.current||e.pointerType===`touch`)return;z.current=!0;let t=e.relatedTarget;if(p&&!n.current.includes(t)&&ae.current&&(ne.current?.(),ne.current=null,P.current=-1,L(e),!d)){let e=A.current,t=cy(Ib(e));e&&ly(e,t)&&e.focus({preventScroll:!0})}}}),[V,B,A,p,n,L,ae,d]),U=W.useMemo(()=>d&&w&&le&&{"aria-activedescendant":`${v}-${r}`},[d,w,le,v,r]),pe=W.useMemo(()=>({...k?{}:U,onKeyDown(e){if(e.key===`Tab`&&e.shiftKey&&w&&!d){let t=uy(e.nativeEvent);if(t&&!ly(A.current,t))return;jv(e),C.setOpen(!1,pb(rb,e.nativeEvent)),Uv(E)&&E.focus();return}de(e)},onPointerMove(e){FT(e)||(I.current=!0)}}),[U,de,A,k,C,w,d,E]),me=W.useMemo(()=>{function e(e){C.setOpen(!0,pb(ob,e.nativeEvent,e.currentTarget))}function t(e){f===`auto`&&Nv(e.nativeEvent)&&(N.current=!d)}function n(e){N.current=f,f===`auto`&&Pv(e.nativeEvent)&&(N.current=!0)}return{onKeyDown(t){let n=C.select(`open`);I.current=!1;let r=t.key.startsWith(`Arrow`),i=zT(t.key,H(),u),a=LT(t.key,g),o=(l?i:a)||t.key===`Enter`||t.key.trim()===``;if(d&&n)return de(t);if(n||m||!r){if(o){let e=LT(t.key,H());F.current=l&&e?null:t.key}if(l){i&&(jv(t),n?(P.current=ue(),L(t)):e(t));return}a&&(ie.current!=null&&(P.current=ie.current),jv(t),!n&&m?e(t):de(t),n&&L(t))}},onFocus(e){C.select(`open`)&&!d&&(P.current=-1,L(e))},onPointerDown:n,onPointerEnter:n,onMouseDown:t,onClick:t}},[de,f,ue,l,L,C,m,g,H,u,ie,d]),he=W.useMemo(()=>({...U,...me}),[U,me]);return W.useMemo(()=>a?{reference:he,floating:pe,item:fe,trigger:me}:{},[a,he,pe,me,fe])}function HT(e,t){let{listRef:n,elementsRef:r,activeIndex:i,onMatch:a,disabledIndices:o,onTyping:s,enabled:c=!0,resetMs:l=750,selectedIndex:u=null}=t,d=`rootStore`in e?e.rootStore:e,f=d.useState(`open`),p=gv(),m=W.useRef(``),h=W.useRef(u??i??-1),g=W.useRef(null),_=Q(e=>{function t(e){return r?.current[e]}function c(e){let n=t(e);return n&&!bx(n)||n?.matches(`:disabled`)?!1:o==null||!vx(sv,e,o)}function d(e,t,n=0){if(e.length===0)return-1;let r=(n%e.length+e.length)%e.length,i=t.toLowerCase();for(let t=0;t<e.length;t+=1){let n=(r+t)%e.length;if(e[n]?.toLowerCase().startsWith(i)&&c(n))return n}return-1}let _=n.current;if(m.current.length>0&&e.key===` `&&(jv(e),s?.(!0)),m.current.length>0&&m.current[0]!==` `&&d(_,m.current)===-1&&e.key!==` `&&s?.(!1),_==null||e.key.length!==1||e.ctrlKey||e.metaKey||e.altKey)return;f&&e.key!==` `&&(jv(e),s?.(!0));let v=m.current===``;v&&(h.current=u??i??-1),_.every((e,t)=>e&&c(t)?e[0]?.toLowerCase()!==e[1]?.toLowerCase():!0)&&m.current===e.key&&(m.current=``,h.current=g.current),m.current+=e.key,p.start(l,()=>{m.current=``,h.current=g.current,s?.(!1)});let y=((v?u??i??-1:h.current)??0)+1,b=d(_,m.current,y);b===-1?e.key!==` `&&(m.current=``,s?.(!1)):(a?.(b),g.current=b)}),v=Q(e=>{let t=e.relatedTarget,n=d.select(`domReferenceElement`),r=d.select(`floatingElement`);ly(n,t)||ly(r,t)||(p.clear(),m.current=``,h.current=g.current,s?.(!1))});X(()=>{(f||u===null)&&(p.clear(),g.current=null,m.current!==``&&(m.current=``))},[f,u,p]);let y=W.useMemo(()=>({onKeyDown:_,onBlur:v}),[_,v]);return W.useMemo(()=>c?{reference:y,floating:y}:{},[c,y])}var UT=.1,WT=UT*UT,GT=.5;function KT(e,t,n,r,i,a){return r>=t!=a>=t&&e<=(i-n)*(t-r)/(a-r)+n}function qT(e,t,n,r,i,a,o,s,c,l){let u=!1;return KT(e,t,n,r,i,a)&&(u=!u),KT(e,t,i,a,o,s)&&(u=!u),KT(e,t,o,s,c,l)&&(u=!u),KT(e,t,c,l,n,r)&&(u=!u),u}function JT(e,t,n){return e>=n.x&&e<=n.x+n.width&&t>=n.y&&t<=n.y+n.height}function YT(e,t,n,r,i,a){return e>=Math.min(n,i)&&e<=Math.max(n,i)&&t>=Math.min(r,a)&&t<=Math.max(r,a)}function XT(e={}){let{blockPointerEvents:t=!1}=e,n=new hv,r=({x:e,y:t,placement:r,elements:i,onClose:a,nodeId:o,tree:s})=>{let c=r?.split(`-`)[0],l=!1,u=null,d=null,f=typeof performance<`u`?performance.now():0;function p(e,t){let n=performance.now(),r=n-f;if(u===null||d===null||r===0)return u=e,d=t,f=n,!1;let i=e-u,a=t-d,o=i*i+a*a,s=r*r*WT;return u=e,d=t,f=n,o<s}function m(){n.clear(),a()}return function(r){n.clear();let a=i.domReference,u=i.floating;if(!a||!u||c==null||e==null||t==null)return;let{clientX:d,clientY:f}=r,h=uy(r),g=r.type===`mouseleave`,_=ly(u,h),v=ly(a,h);if(_&&(l=!0,!g))return;if(v&&(l=!1,!g)){l=!0;return}if(g&&Hv(r.relatedTarget)&&ly(u,r.relatedTarget))return;function y(){return!!(s&&Kx(s.nodesRef.current,o).length>0)}function b(){y()||m()}if(y())return;let x=a.getBoundingClientRect(),S=u.getBoundingClientRect(),C=e>S.right-S.width/2,w=t>S.bottom-S.height/2,T=S.width>x.width,E=S.height>x.height,D=(T?x:S).left,O=(T?x:S).right,k=(E?x:S).top,A=(E?x:S).bottom;if(c===`top`&&t>=x.bottom-1||c===`bottom`&&t<=x.top+1||c===`left`&&e>=x.right-1||c===`right`&&e<=x.left+1){b();return}let j=!1;switch(c){case`top`:j=YT(d,f,D,x.top+1,O,S.bottom-1);break;case`bottom`:j=YT(d,f,D,S.top+1,O,x.bottom-1);break;case`left`:j=YT(d,f,S.right-1,A,x.left+1,k);break;case`right`:j=YT(d,f,x.right-1,A,S.left+1,k)}if(j)return;if(l&&!JT(d,f,x)){b();return}if(!g&&p(d,f)){b();return}let M=!1;switch(c){case`top`:{let n=T?GT/2:GT*4,r=T||C?e+n:e-n,i=T?e-n:C?e+n:e-n,a=t+GT+1,o=C||T?S.bottom-GT:S.top,s=C?T?S.bottom-GT:S.top:S.bottom-GT;M=qT(d,f,r,a,i,a,S.left,o,S.right,s);break}case`bottom`:{let n=T?GT/2:GT*4,r=T||C?e+n:e-n,i=T?e-n:C?e+n:e-n,a=t-GT,o=C||T?S.top+GT:S.bottom,s=C?T?S.top+GT:S.bottom:S.top+GT;M=qT(d,f,r,a,i,a,S.left,o,S.right,s);break}case`left`:{let n=E?GT/2:GT*4,r=E||w?t+n:t-n,i=E?t-n:w?t+n:t-n,a=e+GT+1,o=w||E?S.right-GT:S.left,s=w?E?S.right-GT:S.left:S.right-GT;M=qT(d,f,o,S.top,s,S.bottom,a,r,a,i);break}case`right`:{let n=E?GT/2:GT*4,r=E||w?t+n:t-n,i=E?t-n:w?t+n:t-n,a=e-GT,o=w||E?S.left+GT:S.right,s=w?E?S.left+GT:S.right:S.left+GT;M=qT(d,f,a,r,a,i,o,S.top,s,S.bottom);break}}M?l||n.start(40,b):b()}};return r.__options={...e,blockPointerEvents:t},r}var ZT={...yT,disabled:e=>e.disabled,instantType:e=>e.instantType,isInstantPhase:e=>e.isInstantPhase,trackCursorAxis:e=>e.trackCursorAxis,disableHoverablePopup:e=>e.disableHoverablePopup,lastOpenChangeReason:e=>e.openChangeReason,closeOnClick:e=>e.closeOnClick,closeDelay:e=>e.closeDelay,adaptiveOrigin:e=>e.adaptiveOrigin},QT=class extends Uw{constructor(e,t,n){let r=new fT;super($T(e,r,t,n),eE(r),ZT)}setOpen=(e,t)=>{oT(this,e,t,{extraState:{openChangeReason:t.reason}})};cancelPendingOpen(e){this.state.floatingRootContext.dispatchOpenChange(!1,pb(Zy,e))}};function $T(e,t,n,r=!1){return{...pT(t,n,r),disabled:!1,instantType:void 0,isInstantPhase:!1,trackCursorAxis:`none`,disableHoverablePopup:!1,openChangeReason:null,closeOnClick:!0,closeDelay:0,adaptiveOrigin:void 0,...e}}function eE(e){return{popupRef:W.createRef(),onOpenChange:void 0,onOpenChangeComplete:void 0,triggerElements:e}}var tE=rv(function(e){let{disabled:t=!1,defaultOpen:n=!1,open:r,disableHoverablePopup:i=!1,trackCursorAxis:a=`none`,actionsRef:o,onOpenChange:s,onOpenChangeComplete:c,handle:l,triggerId:u,defaultTriggerId:d=null,children:f}=e,p=eT((e,t)=>new QT({open:n,openProp:r,activeTriggerId:d,triggerIdProp:u},e,t));p.useControlledProp(`openProp`,r),p.useControlledProp(`triggerIdProp`,u),p.useContextCallback(`onOpenChange`,s),p.useContextCallback(`onOpenChangeComplete`,c);let m=p.useState(`open`),h=!t&&m,g=p.useState(`activeTriggerId`),_=p.useState(`mounted`),v=p.useState(`payload`);p.useSyncedValues({trackCursorAxis:a,disableHoverablePopup:i,disabled:t}),cT(p,{closeOnActiveTriggerUnmount:!0});let{forceUnmount:y,transitionStatus:b}=lT(h,p),x=p.useState(`isInstantPhase`),S=p.useState(`instantType`),C=p.useState(`lastOpenChangeReason`),w=W.useRef(null);X(()=>{m&&t&&p.setOpen(!1,pb(lb))},[m,t,p]),X(()=>{b===`ending`&&C===`none`||b!==`ending`&&x?(S!==`delay`&&(w.current=S),p.set(`instantType`,`delay`)):w.current!==null&&(p.set(`instantType`,w.current),w.current=null)},[b,x,C,S,p]),X(()=>{h&&(g??p.set(`payload`,void 0))},[p,g,h]),W.useImperativeHandle(o,()=>({unmount:y,close:()=>p.setOpen(!1,pb(ub))}),[y,p]);let T=h||_||!t&&a!==`none`;return(0,Z.jsxs)(dv.Provider,{value:p,children:[l&&(0,Z.jsx)(tT,{handle:l,store:p}),T&&(0,Z.jsx)(nE,{store:p,disabled:t,trackCursorAxis:a}),typeof f==`function`?f({payload:v}):f]})});function nE({store:e,disabled:t,trackCursorAxis:n}){let r=e.useState(`floatingRootContext`),i=DC(r,{enabled:!t,referencePress:()=>e.select(`closeOnClick`)}),a=wC(r,{enabled:!t&&n!==`none`,axis:n===`none`?void 0:n}),o=W.useMemo(()=>xS(a.reference,i.reference),[a.reference,i.reference]);return uT(e,{activeTriggerProps:o,inactiveTriggerProps:o,popupProps:i.floating??cv}),null}function rE(e){return fS(e,`base-ui`)}var iE=W.createContext(void 0);function aE(){return W.useContext(iE)}var oE=`data-base-ui-tooltip-trigger`;function sE(e){if(`composedPath`in e){let t=e.composedPath();for(let e=0;e<t.length;e+=1){let n=t[e];if(Hv(n))return n}}let t=e.target;return Hv(t)?t:null}function cE(e){let t=e;for(;t;){let e=t.closest(`[${oE}]`);if(e)return e;let n=t.getRootNode();t=`host`in n&&Hv(n.host)?n.host:null}return null}var lE=iv(function(e,t){let{render:n,className:r,style:i,handle:a,payload:o,disabled:s,delay:c,closeOnClick:l=!0,closeDelay:u,id:d,...f}=e,p=fv(!0),m=bT(a)??p;if(!m)throw Error(uv(82));let h=rE(d),g=m.useState(`isTriggerActive`,h),_=m.useState(`isOpenedByTrigger`,h),v=m.useState(`floatingRootContext`),y=W.useRef(null),b=u??0,{registerTrigger:x,isMountedByThisTrigger:S}=sT(h,y,m,{payload:o,closeOnClick:l,closeDelay:b}),C=aE(),{activeIdRef:w,delayRef:T,isInstantPhase:E,hasProvider:D}=gb(v,{open:_}),O=AT(v);m.useSyncedValue(`isInstantPhase`,E);let k=m.useState(`disabled`),A=s??k,j=Tb(A),M=m.useState(`trackCursorAxis`),N=m.useState(`disableHoverablePopup`),P=W.useRef(!1),F=gv(),I=W.useRef(void 0);function L(){return D&&w.current!=null?0:c??C??600}function R(e){let t=y.current;if(!t||!e)return!1;let n=cE(e);return n!==null&&n!==t&&ly(t,n)}function ee(e){let t=R(e);return P.current=t,t&&(O.openChangeTimeout.clear(),O.restTimeout.clear(),O.restTimeoutPending=!1,F.clear()),t}let z=NT(v,{enabled:!A,mouseOnly:!0,move:!1,handleClose:!N&&M!==`both`?XT():null,restMs:L,delay(){return u==null&&D?{close:Ky(T.current,`close`)}:{close:b}},triggerElementRef:y,isActiveTrigger:g,isClosing:()=>m.select(`transitionStatus`)===`ending`,shouldOpen(){return!P.current}}),te=TT(v,{enabled:!A}).reference,ne=e=>{let t=P.current,n=sE(e),r=ee(n),i=y.current,a=i&&n&&ly(i,n);if(r&&m.select(`open`)&&m.select(`lastOpenChangeReason`)===`trigger-hover`){m.setOpen(!1,pb(Qy,e));return}if(t&&!r&&a&&!j.current&&!m.select(`open`)&&i&&Fv(I.current)){let t=()=>{!P.current&&!j.current&&!m.select(`open`)&&m.setOpen(!0,pb(Qy,e,i))},n=L();n===0?(F.clear(),t()):F.start(n,t)}},re=m.useState(`triggerProps`,S);return FS(`button`,e,{state:{open:_},ref:[t,x,y],props:[z,te,S||M!==`none`?re:void 0,{onMouseOver(e){ne(e.nativeEvent)},onFocus(e){R(sE(e.nativeEvent))&&e.preventBaseUIHandler()},onMouseLeave(){P.current=!1,F.clear(),I.current=void 0},onPointerEnter(e){I.current=e.pointerType},onPointerDown(e){I.current=e.pointerType,m.set(`closeOnClick`,l),l&&!m.select(`open`)&&m.cancelPendingOpen(e.nativeEvent)},onClick(e){l&&!m.select(`open`)&&m.cancelPendingOpen(e.nativeEvent)},id:h,[Iy]:A?``:void 0,[oE]:A?void 0:``},f],stateAttributesMapping:My})}),uE=W.createContext(void 0);function dE(){let e=W.useContext(uE);if(e===void 0)throw Error(uv(70));return e}var fE=W.forwardRef(function(e,t){let{children:n,container:r,className:i,render:a,style:o,...s}=e,{node:c,subtree:l}=eC({container:r,ref:t,componentProps:e,elementProps:s});return!l&&!c?null:(0,Z.jsxs)(W.Fragment,{children:[l,c&&XS.createPortal(n,c)]})}),pE=W.forwardRef(function(e,t){let{keepMounted:n=!1,...r}=e;return fv().useState(`mounted`)||n?(0,Z.jsx)(uE.Provider,{value:n,children:(0,Z.jsx)(fE,{ref:t,...r})}):null}),mE=W.createContext(void 0);function hE(){let e=W.useContext(mE);if(e===void 0)throw Error(uv(71));return e}var gE=W.createContext(void 0);function _E(){return W.useContext(gE)?.direction??`ltr`}var vE=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0,offsetParent:d=`real`}=Jb(e,t)||{};if(l==null)return{};let f=fx(u),p={x:n,y:r},m=ex(i),h=Qb(m),g=await o.getDimensions(l),_=m===`y`,v=_?`top`:`left`,y=_?`bottom`:`right`,b=_?`clientHeight`:`clientWidth`,x=a.reference[h]+a.reference[m]-p[m]-a.floating[h],S=p[m]-a.reference[m],C=d===`real`?await o.getOffsetParent?.(l):s.floating,w=s.floating[b]||a.floating[h];(!w||!await o.isElement?.(C))&&(w=s.floating[b]||a.floating[h]);let T=x/2-S/2,E=w/2-g[h]/2-1,D=Math.min(f[v],E),O=Math.min(f[y],E),k=D,A=w-g[h]-O,j=w/2-g[h]/2+T,M=qb(k,j,A),N=!c.arrow&&Xb(i)!=null&&j!==M&&a.reference[h]/2-(j<k?D:O)-g[h]/2<0,P=N?j<k?j-k:j-A:0;return{[m]:p[m]+P,data:{[m]:M,centerOffset:j-M-P,...N&&{alignmentOffset:P}},reset:N}}}),yE=(e,t)=>{let{name:n,fn:r}=vE(e);return{name:n,fn:r,options:[e,t]}},bE={name:`hide`,async fn(e){let{width:t,height:n,x:r,y:i}=e.rects.reference,a=t===0&&n===0&&r===0&&i===0,o=await e.platform.detectOverflow(e,{elementContext:`reference`});return{data:{referenceHidden:o.top-n>=0||o.right-t>=0||o.bottom-n>=0||o.left-t>=0||a}}}},xE={sideX:`left`,sideY:`top`},SE=`--available-width`,CE=`--available-height`,wE=`--anchor-width`,TE=`--anchor-height`,EE=`--transform-origin`,DE=SE,OE=CE;function kE(e,t,n){let r=e===`inline-start`||e===`inline-end`;return{top:`top`,right:r?n?`inline-start`:`inline-end`:`right`,bottom:`bottom`,left:r?n?`inline-end`:`inline-start`:`left`}[t]}function AE(e,t,n){let{rects:r,placement:i}=e;return{side:kE(t,Yb(i),n),align:Xb(i)||`center`,anchor:{width:r.reference.width,height:r.reference.height},positioner:{width:r.floating.width,height:r.floating.height}}}function jE(e){return ME(e,ST)}function ME(e,t){let{anchor:n,positionMethod:r=`absolute`,side:i=`bottom`,sideOffset:a=0,align:o=`center`,alignOffset:s=0,collisionBoundary:c,collisionPadding:l=5,sticky:u=!1,arrowPadding:d=5,disableAnchorTracking:f=!1,inline:p,keepMounted:m=!1,floatingRootContext:h,mounted:g,collisionAvoidance:_,shift:v,nodeId:y,adaptiveOrigin:b,lazyFlip:x=!1,externalTree:S}=e,[C,w]=W.useState(null);!g&&C!==null&&w(null);let T=_.side||`flip`,E=_.align||`flip`,D=_.fallbackAxisSide||`end`,O=v?.crossAxis??!1,k=v?.rootBoundary,A=typeof n==`function`?n:void 0,j=Q(A),M=A?j:n,N=Tb(n),P=Tb(g),F=_E()===`rtl`,I=C||{top:`top`,right:`right`,bottom:`bottom`,left:`left`,"inline-end":F?`left`:`right`,"inline-start":F?`right`:`left`}[i],L=o===`center`?I:`${I}-${o}`,R=l;typeof R==`number`?R={top:R,right:R,bottom:R,left:R}:R&&={top:R.top||0,right:R.right||0,bottom:R.bottom||0,left:R.left||0};let ee=+(i===`bottom`),z=+(i===`top`),te=+(i===`right`),ne=+(i===`left`),re={boundary:c===`clipping-ancestors`?`clippingAncestors`:c,padding:R},B=W.useRef(null),ie=Tb(a),ae=Tb(s),oe=typeof a==`function`?0:a,se=typeof s==`function`?0:s,ce=[];p&&ce.push(p),ce.push(Ew(e=>{let t=AE(e,i,F),n=typeof ie.current==`function`?ie.current(t):ie.current,r=typeof ae.current==`function`?ae.current(t):ae.current;return{mainAxis:n,crossAxis:r,alignmentAxis:r}},[oe,se,F,i]));let le=E===`none`&&T!==`shift`,V=!le&&(u||O||T===`shift`),H=T===`none`?null:kw({...re,padding:{top:R.top+1+ee,right:R.right+1+ne,bottom:R.bottom+1+z,left:R.left+1+te},mainAxis:!O&&T===`flip`,crossAxis:E===`flip`&&`alignment`,fallbackAxisSideDirection:D}),ue=le?null:Dw({...re,rootBoundary:k,mainAxis:E!==`none`,crossAxis:V,limiter:u||O?void 0:Ow(e=>{if(!B.current)return{};let{width:t,height:n}=B.current.getBoundingClientRect(),r=$b(Yb(e.placement)),i=r===`y`?t:n,a=r===`y`?R.left+R.right:R.top+R.bottom;return{offset:i/2+a/2}})},[re,u,O,k,R,E]);T===`shift`||E===`shift`||o===`center`?ce.push(ue,H):ce.push(H,ue),ce.push(Aw({...re,apply({elements:{floating:e},availableWidth:t,availableHeight:n,rects:r}){if(!P.current)return;let i=e.style;i.setProperty(DE,`${t}px`),i.setProperty(OE,`${n}px`);let a=zv(e).devicePixelRatio||1,{x:o,y:s,width:c,height:l}=r.reference,u=(Math.round((o+c)*a)-Math.round(o*a))/a,d=(Math.round((s+l)*a)-Math.round(s*a))/a;i.setProperty(wE,`${u}px`),i.setProperty(TE,`${d}px`)}}),yE(e=>({element:B.current||Ib(e.elements.floating).createElement(`div`),padding:B.current?d:0,offsetParent:`floating`}),[d]),{name:`transformOrigin`,fn(e){let{elements:{floating:t},middlewareData:n,placement:r,platform:o,rects:s,y:c}=e,l=Yb(r),u=Xb(r),d=$b(l)===`y`,f=B.current,p=typeof a==`function`?a(AE(e,i,F)):a,m;m=!f&&u&&Math.abs(d?n.shift?.x||0:n.shift?.y||0)<=1?u===`start`===(d&&o.isRTL?.(t)===!0)?`100%`:`0%`:`${(d?n.arrow?.x||0:n.arrow?.y||0)+(d?f?.clientWidth||0:f?.clientHeight||0)/2}px`;let h=l===`top`||l===`left`?`calc(100% + ${p}px)`:`${-p}px`;return V&&d&&Math.abs(n.shift?.y||0)>p&&(h=`${s.reference.y+s.reference.height/2-c}px`),t.style.setProperty(EE,d?`${m} ${h}`:`${h} ${m}`),{}}},bE,b),X(()=>{!g&&h&&h.update({referenceElement:null,floatingElement:null,domReferenceElement:null,positionReference:null})},[g,h]);let de=W.useMemo(()=>({ancestorScroll:!f,elementResize:!f&&typeof ResizeObserver<`u`,layoutShift:!f&&typeof IntersectionObserver<`u`}),[f]),{refs:fe,elements:U,x:pe,y:me,middlewareData:he,update:ge,placement:_e,context:ve,isPositioned:ye,floatingStyles:be}=t({rootContext:h,open:m?g:void 0,placement:L,middleware:ce,strategy:r,whileElementsMounted:m?void 0:(...e)=>pw(...e,de),nodeId:y,externalTree:S}),{sideX:xe,sideY:Se}=he.adaptiveOrigin||xE,Ce=ye?r:`fixed`,we=W.useMemo(()=>{let e;return e=ye?b?{position:Ce,[xe]:pe,[Se]:me}:{...be,position:Ce}:{position:Ce,top:0,left:0},e[DE]=`100vw`,e[OE]=`100vh`,ye||(e.opacity=0),e},[b,Ce,xe,pe,Se,me,be,ye]),Te=W.useRef(null);X(()=>{if(!g)return;let e=N.current,t=typeof e==`function`?e():e,n=(NE(t)?t.current:t)||null;n!==Te.current&&(fe.setPositionReference(n),Te.current=n)},[g,fe,M,N]),W.useEffect(()=>{if(!g)return;let e=N.current;typeof e!=`function`&&NE(e)&&e.current!==Te.current&&(fe.setPositionReference(e.current),Te.current=e.current)},[g,fe,M,N]),W.useEffect(()=>{if(m&&g&&U.reference&&U.floating)return pw(U.reference,U.floating,ge,de)},[m,g,U,ge,de]);let Ee=Yb(_e),De=kE(i,Ee,F),Oe=Xb(_e)||`center`,ke=!!he.hide?.referenceHidden;X(()=>{x&&g&&ye&&Ee!==I&&w(Ee)},[x,g,ye,Ee,I]);let Ae=W.useMemo(()=>({position:`absolute`,top:he.arrow?.y,left:he.arrow?.x}),[he.arrow]),je=he.arrow?.centerOffset!==0;return W.useMemo(()=>({positionerStyles:we,arrowStyles:Ae,arrowRef:B,arrowUncentered:je,side:De,align:Oe,physicalSide:Ee,anchorHidden:ke,refs:fe,context:ve,isPositioned:ye,update:ge}),[we,Ae,B,je,De,Oe,Ee,ke,fe,ve,ye,ge])}function NE(e){return e!=null&&`current`in e}function PE(e){return e===`starting`?HS:cv}function FE(e,t,{styles:n,transitionStatus:r,props:i,refs:a,hidden:o,inert:s=!1}){let c={...n};return s&&(c.pointerEvents=`none`),FS(`div`,e,{state:t,ref:a,props:[{role:`presentation`,hidden:o,style:c},PE(r),i],stateAttributesMapping:Py})}var IE=W.forwardRef(function(e,t){let{render:n,className:r,anchor:i,positionMethod:a=`absolute`,side:o=`top`,align:s=`center`,sideOffset:c=0,alignOffset:l=0,collisionBoundary:u=`clipping-ancestors`,collisionPadding:d=5,arrowPadding:f=5,sticky:p=!1,disableAnchorTracking:m=!1,collisionAvoidance:h=JS,style:g,..._}=e,v=fv(),y=dE(),b=v.useState(`open`),x=v.useState(`mounted`),S=v.useState(`trackCursorAxis`),C=v.useState(`disableHoverablePopup`),w=v.useState(`floatingRootContext`),T=v.useState(`instantType`),E=v.useState(`transitionStatus`),D=jE({anchor:i,positionMethod:a,floatingRootContext:w,mounted:x,side:o,sideOffset:c,align:s,alignOffset:l,collisionBoundary:u,collisionPadding:d,sticky:p,arrowPadding:f,disableAnchorTracking:m,keepMounted:y,collisionAvoidance:h,adaptiveOrigin:v.useState(`adaptiveOrigin`)}),O=FE(e,W.useMemo(()=>({open:b,side:D.side,align:D.align,anchorHidden:D.anchorHidden,instant:S===`none`?T:`tracking-cursor`}),[b,D.side,D.align,D.anchorHidden,S,T]),{styles:D.positionerStyles,transitionStatus:E,props:_,refs:[t,v.useStateSetter(`positionerElement`)],hidden:!x,inert:!b||S===`both`||C});return(0,Z.jsx)(mE.Provider,{value:D,children:O})}),LE=W.forwardRef(function(e,t){let{render:n,className:r,style:i,...a}=e,o=fv(),{side:s,align:c}=hE(),l=o.useState(`open`),u=o.useState(`instantType`),d=o.useState(`transitionStatus`),f=o.useState(`popupProps`),p=o.useState(`floatingRootContext`),m=o.useState(`disabled`),h=o.useState(`closeDelay`);Zw({open:l,ref:o.context.popupRef,onComplete(){l&&o.context.onOpenChangeComplete?.(!0)}}),jT(p,{enabled:!m,closeDelay:h});let g=o.useStateSetter(`popupElement`);return FS(`div`,e,{state:{open:l,side:s,align:c,instant:u,transitionStatus:d},ref:[t,o.context.popupRef,g],props:[Qw,f,PE(d),a],stateAttributesMapping:Fy})});function RE(e){return mS(19)?e:e?`true`:void 0}function zE(e){let[t,n]=W.useState({current:e,previous:null});return Object.is(e,t.current)||n({current:e,previous:t.current}),t.previous}function BE(e){let t=W.useRef(!0);t.current&&(t.current=!1,e())}function VE(e){return e==null||e.hasAttribute(`disabled`)||e.getAttribute(`aria-disabled`)===`true`}function HE({controlled:e,default:t,name:n,state:r=`value`}){let{current:i}=W.useRef(e!==void 0),[a,o]=W.useState(t);return[i&&e!==void 0?e:a,W.useCallback(e=>{i||o(e)},[])]}var UE=W.createContext(void 0),WE=W.createContext(void 0),GE=W.createContext(void 0);function KE(){let e=W.useContext(UE);if(e===void 0)throw Error(uv(60));return e}function qE(){let e=W.useContext(WE);if(e===void 0)throw Error(uv(101));return e}function JE(){let e=W.useContext(GE);if(e===void 0)throw Error(uv(61));return e}var YE=`data-valid`,XE=`data-invalid`,ZE={badInput:!1,customError:!1,patternMismatch:!1,rangeOverflow:!1,rangeUnderflow:!1,stepMismatch:!1,tooLong:!1,tooShort:!1,typeMismatch:!1,valid:null,valueMissing:!1},QE={disabled:!1,valid:null,touched:!1,dirty:!1,filled:!1,focused:!1},$E={valid(e){return e===null?null:e?{[YE]:``}:{[XE]:``}}},eD={invalid:void 0,name:void 0,validityData:{state:ZE,errors:[],error:``,value:``,initialValue:null},setValidityData:ov,disabled:void 0,setTouched:ov,setDirty:ov,setFilled:ov,setFocused:ov,validationMode:`onSubmit`,shouldValidateOnChange:()=>!1,state:QE,registerFieldControl:ov,validation:{getValidationProps:(e,t=cv)=>t,inputRef:{current:null},registeredInputs:new Map,registerInput:ov,getInputControl:()=>null,commit:async()=>{},change:ov}},tD=W.createContext(eD);function nD(e=!0){let t=W.useContext(tD);if(t.setValidityData===ov&&!e)throw Error(uv(28));return t}function rD(e,t,n,r,i=!0,a){let{registerFieldControl:o}=nD(),s=Q_(()=>Symbol());X(()=>{let c=s.current;if(!i){o(c,void 0);return}o(c,{controlRef:e,getValue:r,id:t,name:a,value:n})},[e,i,r,t,a,o,s,n]),X(()=>{let e=s.current;return()=>{o(e,void 0)}},[o,s])}var iD=W.createContext({controlId:void 0,registerControlId:ov,resetControlId:ov,labelId:void 0,setLabelId:ov,messageIds:[],setMessageIds:ov,getDescriptionProps:e=>e});function aD(){return W.useContext(iD)}function oD(e={}){let{id:t,enabled:n=!0}=e,{controlId:r,registerControlId:i,resetControlId:a}=aD(),o=rE(),s=Q_(()=>Symbol()),c=W.useRef(!1),l=W.useRef(!1),u=Q(()=>{c.current&&i!==ov&&(c.current=!1,i(s.current,void 0))});return X(()=>{if(!n||i===ov){u();return}let e;if(t!==void 0)l.current=!0,e=t;else if(l.current)e=o;else{a();return}if(e===void 0){u();return}c.current=!0,i(s.current,e)},[t,n,i,a,o,s,u]),X(()=>u,[u]),(n?r:void 0)??t??o}function sD(e,t,n=Object.is){let{length:r}=e;if(r!==t.length)return!1;for(let i=0;i<r;i+=1)if(!n(e[i],t[i]))return!1;return!0}var cD=(e,t)=>Object.is(e,t);function lD(e,t,n){return e==null||t==null?Object.is(e,t):n(e,t)}function uD(e,t,n){return Array.isArray(e)&&Array.isArray(t)?!sD(e,t,(e,t)=>lD(e,t,n)):e!==t}function dD(e,t,n){return e?e.some(e=>e!==void 0&&lD(t,e,n)):!1}function fD(e,t,n){return e?e.findIndex(e=>e!==void 0&&lD(e,t,n)):-1}function pD(e,t){if(t!==cD)return n=>dD(e,n,t);let n=new Set(e);return n.delete(void 0),t=>n.has(t)&&(t!==0||e.some(e=>Object.is(t,e)))}function mD(e,t,n,r){let i=r&&Array.isArray(t)?e.findIndex(pD(t,n)):fD(e,t,n);return i===-1?null:i}function hD(e,t,n,r,i,a){return dD(r,t,i)?a!=null&&e>a&&dD(r,n[a],i)?a:e:e===a?mD(n,r,i,!0):a}function gD(e,t,n){return e.filter(e=>!lD(t,e,n))}function _D(e){if(e==null)return``;if(typeof e==`string`)return e;try{return JSON.stringify(e)}catch{return String(e)}}function vD(e){return typeof e==`object`&&!!e&&Array.isArray(e.items)}function yD(e){return vD(e?.[0])}function bD(e){return yD(e)?e.flatMap(e=>e.items):e}function xD(e){if(!Array.isArray(e))return e!=null&&`null`in e;let t=e;if(yD(t)){for(let e of t)for(let t of e.items)if(t&&t.value==null&&t.label!=null)return!0;return!1}for(let e of t)if(e&&e.value==null&&e.label!=null)return!0;return!1}function SD(e,t){if(t&&e!=null)return t(e)??``;if(e&&typeof e==`object`){if(`label`in e&&e.label!=null)return String(e.label);if(`value`in e)return String(e.value)}return _D(e)}function CD(e,t){return t&&e!=null?t(e)??``:e&&typeof e==`object`&&`value`in e&&`label`in e?_D(e.value):_D(e)}function wD(e,t,n){function r(){return SD(e,n)}if(n&&e!=null)return n(e);if(e&&typeof e==`object`&&`label`in e&&e.label!=null)return e.label;if(t&&!Array.isArray(t))return(Object.hasOwn(t,e)?t[e]:void 0)??r();if(Array.isArray(t)){let n=bD(t);if(typeof e!=`object`||!e){let t=n.find(t=>t.value===e);return t&&t.label!=null?t.label:r()}if(`value`in e){let t=n.find(t=>t&&t.value===e.value);if(t&&t.label!=null)return t.label}}return r()}function TD(e,t,n){return e.reduce((e,r,i)=>(i>0&&e.push(`, `),e.push((0,Z.jsx)(W.Fragment,{children:wD(r,t,n)},i)),e),[])}var ED={id:e=>e.id,labelId:e=>e.labelId,modal:e=>e.modal,items:e=>e.items,itemToStringLabel:e=>e.itemToStringLabel,isItemEqualToValue:e=>e.isItemEqualToValue,value:e=>e.value,hasSelectedValue:e=>{let{value:t,multiple:n,itemToStringValue:r}=e;return t==null?!1:n&&Array.isArray(t)?t.length>0:CD(t,r)!==``},hasNullItemLabel:(e,t)=>t?xD(e.items):!1,open:e=>e.open,mounted:e=>e.mounted,forceMount:e=>e.forceMount,transitionStatus:e=>e.transitionStatus,openMethod:e=>e.openMethod,activeIndex:e=>e.activeIndex,selectedIndex:e=>e.selectedIndex,isActive:(e,t)=>e.activeIndex===t,isSelected:(e,t)=>{let n=e.isItemEqualToValue,r=e.value;return e.multiple?Array.isArray(r)&&r.some(e=>lD(t,e,n)):lD(t,r,n)},isSelectedByFocus:(e,t)=>e.selectedIndex===t,popupProps:e=>e.popupProps,triggerProps:e=>e.triggerProps,triggerElement:e=>e.triggerElement,positionerElement:e=>e.positionerElement,listElement:e=>e.listElement,popupSide:e=>e.popupSide,scrollUpArrowVisible:e=>e.scrollUpArrowVisible,scrollDownArrowVisible:e=>e.scrollDownArrowVisible,hasScrollArrows:e=>e.hasScrollArrows},DD=W.createContext({elementRef:{current:null},formRef:{current:{fields:new Map}},errors:{},clearErrors:ov,validationMode:`onSubmit`,submitCountRef:{current:0}});function OD(){return W.useContext(DD)}function kD(e,t){let n=W.useRef(e),r=Q(t);X(()=>{n.current!==e&&r(n.current),n.current=e},[e,r])}function AD(e){let t=W.useRef(``),n=W.useCallback(n=>{n.defaultPrevented||(t.current=n.pointerType,e(n,n.pointerType))},[e]);return{onClick:W.useCallback(n=>{if(n.detail===0){e(n,`keyboard`);return}`pointerType`in n?e(n,n.pointerType):e(n,t.current),t.current=``},[e]),onPointerDown:n}}function jD(e,t){let{onClick:n,onPointerDown:r}=AD(Q((n,r)=>{(typeof e==`function`?e():e)||t(r||(Cv?`touch`:``))}));return W.useMemo(()=>({onClick:n,onPointerDown:r}),[n,r])}function MD(e){let[t,n]=W.useState(null),r=jD(e,n);return kD(e,t=>{t&&!e&&n(null)}),W.useMemo(()=>({openMethod:t,triggerProps:r}),[t,r])}function ND(e,t=-(2**53-1),n=2**53-1){return Math.max(t,Math.min(e,n))}function PD(e,t){return Math.max(0,e-t)}function FD(e,t){if(t<=0)return 0;let n=ND(e,0,t),r=n,i=t-n,a=r<=1,o=i<=1;return a&&o?r<=i?0:t:a?0:o?t:n}function ID(e){let{id:t,value:n,defaultValue:r=null,onValueChange:i,open:a,defaultOpen:o=!1,onOpenChange:s,name:c,form:l,autoComplete:u,disabled:d=!1,readOnly:f=!1,required:p=!1,modal:m=!0,actionsRef:h,inputRef:g,onOpenChangeComplete:_,items:v,multiple:y=!1,itemToStringLabel:b,itemToStringValue:x,isItemEqualToValue:S=cD,highlightItemOnHover:C=!0,children:w}=e,{clearErrors:T}=OD(),{setDirty:E,setTouched:D,setFocused:O,validityData:k,setFilled:A,name:j,disabled:M,validation:N,validationMode:P}=nD(),F=oD({id:t}),I=M||d,L=j??c,[R,ee]=HE({controlled:n,default:y?r??sv:r,name:`Select`,state:`value`}),[z,te]=HE({controlled:a,default:o,name:`Select`,state:`open`}),ne=W.useRef([]),re=W.useRef([]),B=W.useRef(null),ie=W.useRef(null),ae=W.useRef(0),oe=W.useRef(null),se=W.useRef([]),ce=W.useRef(!1),le=W.useRef(null),V=W.useRef(null),H=W.useRef({allowSelectedMouseUp:!1,allowUnselectedMouseUp:!1,dragY:0}),ue=W.useRef(!1),de=W.useRef(R),{mounted:fe,setMounted:U,transitionStatus:pe}=qw(z),{openMethod:me,triggerProps:he}=MD(z),ge=Q_(()=>new Uw({id:F,labelId:void 0,modal:m,multiple:y,itemToStringLabel:b,itemToStringValue:x,isItemEqualToValue:S,value:R,open:z,mounted:fe,transitionStatus:pe,items:v,forceMount:!1,openMethod:null,activeIndex:null,selectedIndex:null,popupProps:cv,triggerProps:cv,triggerElement:null,positionerElement:null,listElement:null,popupSide:null,scrollUpArrowVisible:!1,scrollDownArrowVisible:!1,hasScrollArrows:!1},{setValue:ov,setOpen:ov,handleScrollArrowVisibility:ov,onOpenChangeComplete:ov,listRef:ne,popupRef:B,scrollHandlerRef:ie,scrollArrowsMountedCountRef:ae,valueRef:oe,valuesRef:se,labelsRef:re,typingRef:ce,selectionRef:H,firstItemTextRef:le,selectedItemTextRef:V,alignItemWithTriggerActiveRef:ue,initialValueRef:de},ED)).current,_e=ge.useState(`activeIndex`),ve=ge.useState(`selectedIndex`),ye=ge.useState(`triggerElement`),be=ge.useState(`positionerElement`),xe=zE(me),Se=me??xe,Ce=W.useMemo(()=>y?``:CD(R,x),[y,R,x]),we=W.useMemo(()=>y&&Array.isArray(R)?R.map(e=>CD(e,x)):CD(R,x),[y,R,x]);rD(Tb(ye),F,R,Q(()=>we),!I,c);let Te=y?Array.isArray(R)&&R.length>0:R!=null&&Ce!==``;X(()=>{A(Te)},[Te,A]),X(function(){let e=mD(se.current,R,S,y);e===null&&(V.current=null),!z&&ge.set(`selectedIndex`,e)},[y,z,R,S,ge]),kD(R,()=>{T(L),E(uD(R,k.initialValue,S)),N.change(R)});let Ee=Q((e,t)=>{s?.(e,t),!t.isCanceled&&(te(e),!e&&(t.reason===`focus-out`||t.reason===`outside-press`)&&(D(!0),O(!1),P===`onBlur`&&N.commit(R)))}),De=Q(()=>{U(!1),ge.update({activeIndex:null,openMethod:null,scrollUpArrowVisible:!1,scrollDownArrowVisible:!1}),_?.(!1)});Zw({enabled:!h,open:z,ref:B,onComplete(){z||De()}}),W.useImperativeHandle(h,()=>({unmount:De}),[De]);let Oe=Q((e,t)=>{i?.(e,t),!t.isCanceled&&ee(e)}),ke=Q(e=>{let t=PD(e.scrollHeight,e.clientHeight),n=FD(e.scrollTop,t),r=n>0,i=n<t;ge.set(`scrollUpArrowVisible`,r),ge.set(`scrollDownArrowVisible`,i)}),Ae=xT({open:z,onOpenChange:Ee,elements:{reference:ye,floating:be}}),je=xC(Ae,{enabled:!I,event:`mousedown`}),Me=DC(Ae),Ne=VT(Ae,{enabled:!I,listRef:ne,activeIndex:_e,selectedIndex:ve,disabledIndices:sv,onNavigate(e){(e!==null||z)&&ge.set(`activeIndex`,e)},focusItemOnHover:C}),Pe=HT(Ae,{enabled:!I&&(z||!f&&!y),listRef:re,activeIndex:_e,selectedIndex:ve,disabledIndices:e=>VE(ne.current[e]),onMatch(e){z?ge.set(`activeIndex`,e):Oe(se.current[e],pb(Xy))},onTyping(e){ce.current=e}}),Fe=W.useMemo(()=>xS(Pe.reference,Ne.reference,Me.reference,je.reference,he),[je.reference,Pe.reference,Ne.reference,Me.reference,he]),Ie=W.useMemo(()=>xS(Qw,Pe.floating,Ne.floating,Me.floating),[Pe.floating,Ne.floating,Me.floating]),Le=Ne.item??cv;ge.useContextCallback(`setValue`,Oe),ge.useContextCallback(`setOpen`,Ee),ge.useContextCallback(`handleScrollArrowVisibility`,ke),ge.useContextCallback(`onOpenChangeComplete`,_),BE(()=>{ge.update({popupProps:Ie,triggerProps:Fe})}),ge.useSyncedValues({id:F,modal:m,multiple:y,value:R,open:z,mounted:fe,transitionStatus:pe,popupProps:Ie,triggerProps:Fe,items:v,itemToStringLabel:b,itemToStringValue:x,isItemEqualToValue:S,openMethod:Se});let Re=W.useMemo(()=>({disabled:I,readOnly:f,required:p,multiple:y,highlightItemOnHover:C,itemProps:Le}),[I,f,p,y,C,Le]),ze=yb(g,N.inputRef),Be=y?void 0:L,Ve=W.useMemo(()=>!y||!Array.isArray(R)||!L?null:R.map(e=>{let t=CD(e,x);return(0,Z.jsx)(`input`,{type:`hidden`,form:l,name:L,value:t,disabled:I},t)}),[y,R,l,L,x,I]);return(0,Z.jsxs)(UE.Provider,{value:ge,children:[(0,Z.jsx)(WE.Provider,{value:Re,children:(0,Z.jsx)(GE.Provider,{value:Ae,children:w})}),(0,Z.jsx)(`input`,{...N.getValidationProps(I,{onFocus(){ge.state.triggerElement?.focus({focusVisible:!0})},onChange(e){if(e.nativeEvent.defaultPrevented||I||f)return;let t=e.currentTarget.value,n=pb(Xy,e.nativeEvent);function r(){if(y)return;let e=t.toLowerCase(),r=se.current.findIndex(t=>CD(t,x).toLowerCase()===e||SD(t,b).toLowerCase()===e);r===-1&&(r=se.current.findIndex((t,n)=>{let r=re.current[n];return r!=null&&r.toLowerCase()===e}));let i=se.current[r];i!=null&&Oe(i,n)}ge.set(`forceMount`,!0),queueMicrotask(r)}}),id:F&&Be==null?`${F}-hidden-input`:void 0,form:l,name:Be,autoComplete:u,value:Ce,disabled:I,required:p&&!(y&&Te),readOnly:f,ref:ze,style:L?zb:Rb,tabIndex:-1,"aria-hidden":!0,suppressHydrationWarning:!0}),Ve]})}function LD(e,t){return e??t}var RD=5;function zD(e,t){let n=BD(t);return e.clientX>=n.left-RD&&e.clientX<=n.right+RD&&e.clientY>=n.top-RD&&e.clientY<=n.bottom+RD}function BD(e){let t=e.getBoundingClientRect(),n=zv(e);if(Av)return t;let r=n.getComputedStyle(e,`::before`),i=n.getComputedStyle(e,`::after`);if(r.content===`none`&&i.content===`none`)return t;let a=parseFloat(r.width)||0,o=parseFloat(r.height)||0,s=parseFloat(i.width)||0,c=parseFloat(i.height)||0,l=Math.max(t.width,a,s),u=Math.max(t.height,o,c),d=l-t.width,f=u-t.height;return{left:t.left-d/2,right:t.right+d/2,top:t.top-f/2,bottom:t.bottom+f/2}}var VD=W.createContext(void 0);function HD(e=!1){let t=W.useContext(VD);if(t===void 0&&!e)throw Error(uv(16));return t}function UD(e){let{focusableWhenDisabled:t,disabled:n,composite:r=!1,tabIndex:i=0,isNativeButton:a}=e,o=r&&t!==!1,s=r&&t===!1;return{props:W.useMemo(()=>{let e={onKeyDown(e){n&&t&&e.key!==`Tab`&&e.preventDefault()}};return r||(e.tabIndex=i,!a&&n&&(e.tabIndex=t?i:-1)),(a&&(t||o)||!a&&n)&&(e[`aria-disabled`]=n),a&&(!t||s)&&(e.disabled=n),e},[r,n,t,o,s,a,i])}}function WD(e,t,{detail:n=0}={}){e.dispatchEvent(new(zv(e)).PointerEvent(`click`,{bubbles:!0,cancelable:!0,composed:!0,detail:n,shiftKey:t.shiftKey,ctrlKey:t.ctrlKey,altKey:t.altKey,metaKey:t.metaKey}))}function GD(e={}){let{disabled:t=!1,focusableWhenDisabled:n,tabIndex:r=0,native:i=!0,composite:a}=e,o=W.useRef(null),s=HD(!0),c=a??s!==void 0,{props:l}=UD({focusableWhenDisabled:n,disabled:t,composite:c,tabIndex:r,isNativeButton:i}),u=W.useCallback(()=>{let e=o.current;KD(e)&&c&&t&&l.disabled===void 0&&e.disabled&&(e.disabled=!1)},[t,l.disabled,c]);return X(u,[u]),{getButtonProps:W.useCallback((e={})=>{let{onClick:n,onMouseDown:r,onKeyUp:a,onKeyDown:o,onPointerDown:s,...u}=e;return xS({onClick(e){if(t){e.preventDefault();return}n?.(e)},onMouseDown(e){t||r?.(e)},onKeyDown(e){if(t||(MS(e),o?.(e),e.baseUIHandlerPrevented))return;let n=e.target===e.currentTarget,r=e.currentTarget,a=KD(r),s=!i&&qD(r),l=n&&(i?a:!s),u=e.key===`Enter`,d=e.key===` `,f=r.getAttribute(`role`),p=f?.startsWith(`menuitem`)||f===`option`||f===`gridcell`;if(n&&c&&d){if(e.defaultPrevented&&p)return;e.preventDefault(),(!i||a)&&(e.preventBaseUIHandler(),WD(r,e));return}if(!l||i||!d&&!u){n&&s&&d&&e.preventDefault();return}e.defaultPrevented||(e.preventDefault(),u&&(e.preventBaseUIHandler(),WD(r,e)))},onKeyUp(e){if(!t){if(MS(e),a?.(e),e.target===e.currentTarget&&i&&c&&KD(e.currentTarget)&&e.key===` `){e.preventDefault();return}e.baseUIHandlerPrevented||e.target===e.currentTarget&&!i&&!c&&!e.defaultPrevented&&e.key===` `&&(e.preventBaseUIHandler(),WD(e.currentTarget,e))}},onPointerDown(e){if(t){e.preventDefault();return}s?.(e)}},i?{type:`button`}:{role:`button`},l,u)},[t,l,c,i]),buttonRef:Q(e=>{o.current=e,u()})}}function KD(e){return Uv(e)&&e.tagName===`BUTTON`}function qD(e){return Uv(e)&&e.tagName===`A`&&!!e.href}var JD=`data-popup-side`,YD=400,XD={...Ny,...$E,popupSide:e=>e?{[JD]:e}:null,value:()=>null},ZD=W.forwardRef(function(e,t){let{render:n,className:r,id:i,disabled:a=!1,nativeButton:o=!0,style:s,...c}=e,{setTouched:l,setFocused:u,validationMode:d,validation:f,state:p,disabled:m}=nD(),{labelId:h}=aD(),g=KE(),{readOnly:_,required:v,disabled:y}=qE(),b=m||y||a,x=g.useState(`open`),S=g.useState(`mounted`),C=g.useState(`value`),w=g.useState(`triggerProps`),T=g.useState(`positionerElement`),E=g.useState(`listElement`),D=g.useState(`popupSide`),O=g.useState(`id`),k=g.useState(`labelId`),A=g.useState(`hasSelectedValue`),j=S&&T?D:null,M=i??O,N=LD(h,k);oD({id:i});let P=Tb(T),F=W.useRef(null),{getButtonProps:I,buttonRef:L}=GD({disabled:b,native:o}),R=g.useStateSetter(`triggerElement`),ee=gv(),z=gv(),te=gv();W.useEffect(()=>{if(x)return te.start(YD,()=>{g.context.selectionRef.current.allowUnselectedMouseUp=!0,g.context.selectionRef.current.allowSelectedMouseUp=!0}),()=>{te.clear()};g.context.selectionRef.current={allowSelectedMouseUp:!1,allowUnselectedMouseUp:!1,dragY:0},z.clear()},[x,g,z,te]);let ne=xS(w,{id:M,role:`combobox`,"aria-expanded":x,"aria-haspopup":`listbox`,"aria-controls":x?E?.id??Wy(T)?.id:void 0,"aria-labelledby":N,"aria-readonly":_||void 0,"aria-required":v||void 0,tabIndex:b?-1:0,onFocus(e){u(!0),x&&g.context.alignItemWithTriggerActiveRef.current&&g.context.setOpen(!1,pb(Xy,e.nativeEvent)),ee.start(0,()=>{g.set(`forceMount`,!0)})},onBlur(e){ly(T,e.relatedTarget)||(l(!0),u(!1),d===`onBlur`&&f.commit(C))},onMouseDown(e){if(x)return;let t=Ib(e.currentTarget);function n(e){if(!F.current)return;let t=e.target;ly(F.current,t)||ly(P.current,t)||zD(e,F.current)||g.context.setOpen(!1,pb(sb,e))}z.start(0,()=>{t.addEventListener(`mouseup`,n,{once:!0})})}},c,I),re=f.getValidationProps(b,ne);re.role=`combobox`;let B={...p,open:x,disabled:b,value:C,readOnly:_,popupSide:j,placeholder:!A};return FS(`button`,e,{ref:[t,F,L,R],state:B,stateAttributesMapping:XD,props:re})}),QD={value:()=>null},$D=W.forwardRef(function(e,t){let{className:n,render:r,children:i,placeholder:a,style:o,...s}=e,c=KE(),l=c.useState(`value`),u=c.useState(`items`),d=c.useState(`itemToStringLabel`),f=c.useState(`hasSelectedValue`),p=!f&&a!=null&&i==null,m=c.useState(`hasNullItemLabel`,p),h={value:l,placeholder:!f},g=null;return g=typeof i==`function`?i(l):i??(p&&!m?a:Array.isArray(l)?TD(l,u,d):wD(l,u,d)),FS(`span`,e,{state:h,ref:[t,c.context.valueRef],props:[{children:g},s],stateAttributesMapping:QD})}),eO=W.forwardRef(function(e,t){let n=KE(),r=n.useState(`mounted`),i=n.useState(`forceMount`);return r||i?(0,Z.jsx)(tC,{ref:t,...e}):null}),tO=W.createContext({register:()=>{},unregister:()=>{},subscribeMapChange:()=>()=>{},nextIndexRef:{current:0}});function nO(){return W.useContext(tO)}function rO(e){let{children:t,elementsRef:n,labelsRef:r,onMapChange:i}=e,a=Q(i),[,o]=W.useState(!1),s=Q_(aO).current,c=Q_(iO).current,l=W.useRef(0),u=W.useRef(!0),d=W.useRef(null),f=W.useRef(null),p=Q(()=>{u.current||(u.current=!0,o(e=>!e))}),m=Q((e,t)=>{c.set(e,t),p()}),h=Q(e=>{c.delete(e),p()}),g=Q(e=>{let t=new Map;return n.current.length=0,r&&(r.current.length=0),e.forEach(e=>{t.set(e.element,{...e.registration.metadata??{},index:e.index}),n.current[e.index]=e.element,r&&(r.current[e.index]=e.registration.label===void 0?e.registration.textRef?.current?.textContent??e.element.textContent:e.registration.label)}),l.current=n.current.length,t});function _(e){if(f.current?.disconnect(),f.current=null,typeof MutationObserver!=`function`||e.length<2)return;let t=new MutationObserver(n=>{if(!cO(n))return;let r=null;for(let n of e)if(n.isConnected){if(r&&lO(r,n)>0){t.disconnect(),p();return}r=n}});f.current=t;let n=new Set;for(let t=1;t<e.length;t+=1){let r=sO(e[t-1],e[t]);r&&n.add(r)}n.forEach(e=>t.observe(e,{childList:!0}))}let v=Q(()=>{let[e,t]=oO(c),n=g(e),r=d.current,i=!r||r.length!==e.length||e.some((e,t)=>{let n=r[t];return e.index!==n.index||e.element!==n.element||e.registration.index!==n.registration.index||e.registration.metadata!==n.registration.metadata});_(t),d.current=e,u.current=!1,i&&(s.forEach(e=>e(n)),a(n))});X(()=>(!u.current&&d.current&&g(d.current),()=>{n.current=[],r&&(r.current=[])}),[n,r,g]),X(()=>{u.current&&v()}),X(()=>()=>{f.current?.disconnect(),u.current=!0},[]);let y=Q(e=>(s.add(e),()=>{s.delete(e)})),b=W.useMemo(()=>({register:m,unregister:h,subscribeMapChange:y,nextIndexRef:l}),[m,h,y,l]);return(0,Z.jsx)(tO.Provider,{value:b,children:t})}function iO(){return new Map}function aO(){return new Set}function oO(e){let t=new Set,n=[],r=[];e.forEach((e,i)=>{if(!i.isConnected)return;let a=e.index,o={index:a??-1,element:i,registration:e};a===null?r.push(o):a>=0&&(t.add(a),n.push(o))});let i=0;return r.sort((e,t)=>lO(e.element,t.element)),r.forEach(e=>{for(;t.has(i);)i+=1;e.index=i,n.push(e),i+=1}),t.size>0&&n.sort((e,t)=>e.index-t.index),[n,r.map(e=>e.element)]}function sO(e,t){let n=e.parentElement;for(;n&&!n.contains(t);)n=n.parentElement;return n}function cO(e){for(let t of e)for(let e=0;e<t.removedNodes.length;e+=1)if(t.removedNodes[e].isConnected)return!0;return!1}function lO(e,t){return e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1}var uO=W.createContext(void 0);function dO(){let e=W.useContext(uO);if(!e)throw Error(uv(59));return e}var fO=W.forwardRef(function(e,t){let{cutout:n,...r}=e,i;if(n){let e=n.getBoundingClientRect();i=`polygon(0% 0%,100% 0%,100% 100%,0% 100%,0% 0%,${e.left}px ${e.top}px,${e.left}px ${e.bottom}px,${e.right}px ${e.bottom}px,${e.right}px ${e.top}px,${e.left}px ${e.top}px)`}return(0,Z.jsx)(`div`,{ref:t,role:`presentation`,"data-base-ui-inert":``,...r,style:{position:`fixed`,inset:0,userSelect:`none`,WebkitUserSelect:`none`,clipPath:i}})});function pO(e,t){e&&Object.assign(e.style,t)}var mO={position:`relative`,maxHeight:`100%`,overflowX:`hidden`,overflowY:`auto`},hO={},gO={},_O=``;function vO(e,t){return Gv(e)?e:t}function yO(e,t,n){return/hidden|clip/.test(e.getComputedStyle(vO(t,n)).overflowY)}function bO(e){if(typeof document>`u`)return!1;let t=Ib(e);return zv(t).innerWidth-t.documentElement.clientWidth>0}function xO(e){if(!(typeof CSS<`u`&&CSS.supports&&CSS.supports(`scrollbar-gutter`,`stable`))||typeof document>`u`)return!1;let t=Ib(e),n=t.documentElement,r=t.body,i=vO(n,r),a=i.style.overflowY,o=n.style.scrollbarGutter;n.style.scrollbarGutter=`stable`,i.style.overflowY=`scroll`;let s=i.offsetWidth;i.style.overflowY=`hidden`;let c=i.offsetWidth;return i.style.overflowY=a,n.style.scrollbarGutter=o,s===c}function SO(e){let t=Ib(e),n=t.documentElement,r=t.body,i=vO(n,r),a={overflowY:i.style.overflowY,overflowX:i.style.overflowX};return Object.assign(i.style,{overflowY:`hidden`,overflowX:`hidden`}),()=>{Object.assign(i.style,a)}}function CO(e){let t=Ib(e),n=t.documentElement,r=t.body,i=zv(n),a=0,o=0,s=!1,c=Pb.create();if(Ov&&(i.visualViewport?.scale??1)!==1)return()=>{};function l(){let t=i.getComputedStyle(n),c=i.getComputedStyle(r),l=(t.scrollbarGutter||``).includes(`both-edges`)?`stable both-edges`:`stable`;a=n.scrollTop,o=n.scrollLeft,hO={scrollbarGutter:n.style.scrollbarGutter,overflowY:n.style.overflowY,overflowX:n.style.overflowX},_O=n.style.scrollBehavior,gO={position:r.style.position,height:r.style.height,width:r.style.width,boxSizing:r.style.boxSizing,overflowY:r.style.overflowY,overflowX:r.style.overflowX,scrollBehavior:r.style.scrollBehavior};let u=n.scrollHeight>n.clientHeight,d=n.scrollWidth>n.clientWidth,f=t.overflowY===`scroll`||c.overflowY===`scroll`,p=t.overflowX===`scroll`||c.overflowX===`scroll`,m=Math.max(0,i.innerWidth-r.clientWidth),h=Math.max(0,i.innerHeight-r.clientHeight),g=parseFloat(c.marginTop)+parseFloat(c.marginBottom),_=parseFloat(c.marginLeft)+parseFloat(c.marginRight),v=vO(n,r);if(s=xO(e),s){n.style.scrollbarGutter=l,v.style.overflowY=`hidden`,v.style.overflowX=`hidden`;return}Object.assign(n.style,{scrollbarGutter:l,overflowY:`hidden`,overflowX:`hidden`}),(u||f)&&(n.style.overflowY=`scroll`),(d||p)&&(n.style.overflowX=`scroll`),Object.assign(r.style,{position:`relative`,height:g||h?`calc(100dvh - ${g+h}px)`:`100dvh`,width:_||m?`calc(100vw - ${_+m}px)`:`100vw`,boxSizing:`border-box`,overflowY:`hidden`,overflowX:`hidden`,scrollBehavior:`unset`}),r.scrollTop=a,r.scrollLeft=o,n.setAttribute(`data-base-ui-scroll-locked`,``),n.style.scrollBehavior=`unset`}function u(){Object.assign(n.style,hO),Object.assign(r.style,gO),s||(n.scrollTop=a,n.scrollLeft=o,n.removeAttribute(`data-base-ui-scroll-locked`),n.style.scrollBehavior=_O)}function d(){u(),c.request(l)}l();let f=_b(i,`resize`,d);return()=>{c.cancel(),u(),typeof i.removeEventListener==`function`&&f()}}var wO=new class{lockCount=0;restore=null;timeoutLock=hv.create();timeoutUnlock=hv.create();acquire(e){return this.lockCount+=1,this.lockCount===1&&this.restore===null&&this.timeoutLock.start(0,()=>this.lock(e)),this.release}release=()=>{--this.lockCount,this.lockCount===0&&this.restore&&this.timeoutUnlock.start(0,this.unlock)};unlock=()=>{this.lockCount===0&&this.restore&&(this.restore?.(),this.restore=null)};lock(e){if(this.lockCount===0||this.restore!==null)return;let t=Ib(e),n=t.documentElement,r=t.body,i=zv(n);if(yO(i,n,r)){let t=new i.MutationObserver(()=>{yO(i,n,r)||(t.disconnect(),this.restore=null,this.lock(e))}),a={attributes:!0};t.observe(n,a),t.observe(r,a),this.restore=()=>t.disconnect();return}let a=Cv||!bO(e);this.restore=a?SO(e):CO(e)}};function TO(e=!0,t=null){X(()=>{if(e)return wO.acquire(t)},[e,t])}var EO=20;function DO(e,t,n,r){let[i,a]=W.useState(!1);X(()=>{if(!e||!t||n==null){a(!1);return}let r=Ib(n).documentElement.clientWidth,i=n.offsetWidth;a(r>0&&i>0&&i>=r-EO)},[e,t,n]),TO(e&&(!t||i),r)}var OO={position:`fixed`},kO=W.forwardRef(function(e,t){let{anchor:n,className:r,render:i,positionMethod:a,side:o,align:s,sideOffset:c,alignOffset:l,collisionBoundary:u=`clipping-ancestors`,collisionPadding:d,arrowPadding:f,sticky:p,disableAnchorTracking:m,alignItemWithTrigger:h=!0,collisionAvoidance:g=qS,style:_,...v}=e,y=KE(),b=JE(),x=y.useState(`open`),S=y.useState(`mounted`),C=y.useState(`modal`),w=y.useState(`value`),T=y.useState(`openMethod`),E=y.useState(`positionerElement`),D=y.useState(`triggerElement`),O=y.useState(`isItemEqualToValue`),k=y.useState(`transitionStatus`),A=W.useRef(null),j=W.useRef(null),[M,N]=W.useState(h),P=S&&M&&T!==`touch`;!S&&M!==h&&N(h),W.useImperativeHandle(y.context.alignItemWithTriggerActiveRef,()=>P),DO((P||C)&&x,T===`touch`,E,D);let F=jE({anchor:n,floatingRootContext:b,positionMethod:a,mounted:S,side:o,sideOffset:c,align:s,alignOffset:l,arrowPadding:f,collisionBoundary:u,collisionPadding:d,sticky:p,disableAnchorTracking:m??P,collisionAvoidance:g,keepMounted:!0}),I=P?`none`:F.side,L=P?OO:F.positionerStyles,R={open:x,side:I,align:F.align,anchorHidden:F.anchorHidden};X(()=>{y.set(`popupSide`,F.side)},[y,F.side]);let ee=FE(e,R,{styles:L,transitionStatus:k,props:v,refs:[t,y.useStateSetter(`positionerElement`)],hidden:!S,inert:!x}),z=W.useRef(0),te=Q(e=>{if(y.context.valuesRef.current.length===0)return;let t=z.current;z.current=e.size;let n=pb(Xy);if(t!==0&&!y.state.multiple&&w!==null&&fD(y.context.valuesRef.current,w,O)===-1){let e=y.context.initialValueRef.current,t=e!=null&&fD(y.context.valuesRef.current,e,O)!==-1?e:null;y.context.setValue(t,n),t===null&&(y.set(`selectedIndex`,null),y.context.selectedItemTextRef.current=null)}if(t!==0&&y.state.multiple&&Array.isArray(w)){let e=w.filter(e=>fD(y.context.valuesRef.current,e,O)!==-1);e.length!==w.length&&(y.context.setValue(e,n),e.length===0&&(y.set(`selectedIndex`,null),y.context.selectedItemTextRef.current=null))}if(x&&P){y.update({scrollUpArrowVisible:!1,scrollDownArrowVisible:!1});let e={height:``};pO(E,e),pO(y.context.popupRef.current,e)}}),ne=W.useMemo(()=>({...F,side:I,alignItemWithTriggerActive:P,setControlledAlignItemWithTrigger:N,scrollUpArrowRef:A,scrollDownArrowRef:j}),[F,I,P,N]);return(0,Z.jsx)(rO,{elementsRef:y.context.listRef,labelsRef:y.context.labelsRef,onMapChange:te,children:(0,Z.jsxs)(uO.Provider,{value:ne,children:[S&&C&&(0,Z.jsx)(fO,{inert:RE(!x),cutout:D}),ee]})})}),AO=`base-ui-disable-scrollbar`,jO={className:AO,getElement(e){return(0,Z.jsx)(`style`,{nonce:e,href:AO,precedence:`base-ui:low`,children:`.${AO}{scrollbar-width:none}.${AO}::-webkit-scrollbar{display:none}`})}},MO=W.createContext(void 0);function NO(e){let t=W.useContext(MO);if(t===void 0&&!e)throw Error(uv(69));return t}var PO=`ArrowUp`,FO=`ArrowDown`,IO=`ArrowLeft`,LO=`ArrowRight`,RO=new Set([PO,FO,IO,LO,`Home`,`End`]),zO=[`Shift`,`Control`,`Alt`,`Meta`];function BO(e){return Uv(e)&&e.tagName===`INPUT`}function VO(e){return!!(BO(e)&&e.selectionStart!=null||Uv(e)&&e.tagName===`TEXTAREA`)}function HO(e,t,n,r){if(!e||!t||!t.scrollTo)return;let i=e.scrollLeft,a=e.scrollTop,o=e.clientWidth<e.scrollWidth,s=e.clientHeight<e.scrollHeight;if(o&&r!==`vertical`){let r=UO(e,t,`left`),a=WO(e),o=WO(t);n===`ltr`&&(r+t.offsetWidth+o.scrollMarginRight>e.scrollLeft+e.clientWidth-a.scrollPaddingRight?i=r+t.offsetWidth+o.scrollMarginRight-e.clientWidth+a.scrollPaddingRight:r-o.scrollMarginLeft<e.scrollLeft+a.scrollPaddingLeft&&(i=r-o.scrollMarginLeft-a.scrollPaddingLeft)),n===`rtl`&&(r-o.scrollMarginLeft<e.scrollLeft+a.scrollPaddingLeft?i=r-o.scrollMarginLeft-a.scrollPaddingLeft:r+t.offsetWidth+o.scrollMarginRight>e.scrollLeft+e.clientWidth-a.scrollPaddingRight&&(i=r+t.offsetWidth+o.scrollMarginRight-e.clientWidth+a.scrollPaddingRight))}if(s&&r!==`horizontal`){let n=UO(e,t,`top`),r=WO(e),i=WO(t);n-i.scrollMarginTop<e.scrollTop+r.scrollPaddingTop?a=n-i.scrollMarginTop-r.scrollPaddingTop:n+t.offsetHeight+i.scrollMarginBottom>e.scrollTop+e.clientHeight-r.scrollPaddingBottom&&(a=n+t.offsetHeight+i.scrollMarginBottom-e.clientHeight+r.scrollPaddingBottom)}e.scrollTo({left:i,top:a,behavior:`auto`})}function UO(e,t,n){let r=n===`left`?`offsetLeft`:`offsetTop`,i=0;for(;t.offsetParent&&(i+=t[r],t.offsetParent!==e);)t=t.offsetParent;return i}function WO(e){let t=getComputedStyle(e);return{scrollMarginTop:parseFloat(t.scrollMarginTop)||0,scrollMarginRight:parseFloat(t.scrollMarginRight)||0,scrollMarginBottom:parseFloat(t.scrollMarginBottom)||0,scrollMarginLeft:parseFloat(t.scrollMarginLeft)||0,scrollPaddingTop:parseFloat(t.scrollPaddingTop)||0,scrollPaddingRight:parseFloat(t.scrollPaddingRight)||0,scrollPaddingBottom:parseFloat(t.scrollPaddingBottom)||0,scrollPaddingLeft:parseFloat(t.scrollPaddingLeft)||0}}var GO=W.createContext(void 0),KO={disableStyleElements:!1};function qO(){return W.useContext(GO)??KO}var JO=`--transform-origin`,YO={...Py,...xy},XO=W.forwardRef(function(e,t){let{render:n,className:r,style:i,finalFocus:a,...o}=e,s=KE(),{multiple:c,readOnly:l,highlightItemOnHover:u}=qE(),d=JE(),{side:f,align:p,alignItemWithTriggerActive:m,isPositioned:h,setControlledAlignItemWithTrigger:g}=dO(),_=NO(!0)!=null,v=_E(),{nonce:y,disableStyleElements:b}=qO(),x=s.useState(`id`),S=s.useState(`open`),C=s.useState(`openMethod`),w=s.useState(`mounted`),T=s.useState(`popupProps`),E=s.useState(`transitionStatus`),D=s.useState(`triggerElement`),O=s.useState(`positionerElement`),k=s.useState(`listElement`),A=W.useRef(!1),j=W.useRef(!1),M=W.useRef({}),N=Fb(),P=Q(e=>{if(!O||!s.context.popupRef.current||!j.current)return;let t=O.style.top===`0px`,n=O.style.bottom===`0px`;if(A.current||!m||!t&&!n){s.context.handleScrollArrowVisibility(e);return}let r=$O(O),i=ek(O.getBoundingClientRect().height,`y`,r),a=Ib(O),o=zv(O),c=o.getComputedStyle(O),l=parseFloat(c.marginTop),u=parseFloat(c.marginBottom),d=ZO(o.getComputedStyle(s.context.popupRef.current)),f=Math.min(a.documentElement.clientHeight-l-u,d),p=e.scrollTop,h=QO(e),g=null,_=e=>{O.style.height=`${e}px`},v=t?h-p:p,y=Math.min(i+v,f);if(v<=1){let n=ND(v,0,f-i);n>0&&_(i+n),e.scrollTop=t?h:0,f-(i+n)<=1&&(A.current=!0),s.context.handleScrollArrowVisibility(e);return}f-y>1?g=t?1/0:0:n&&p<h&&(g=p-(v-(i+v-f)));let b=Math.ceil(y);if(b!==0&&_(b),g!=null){let t=ND(g,0,QO(e));Math.abs(e.scrollTop-t)>1&&(e.scrollTop=t)}b>=f-1&&(A.current=!0),s.context.handleScrollArrowVisibility(e)});W.useImperativeHandle(s.context.scrollHandlerRef,()=>P,[P]),Zw({open:S,ref:s.context.popupRef,onComplete(){S&&s.context.onOpenChangeComplete(!0)}});let F={open:S,transitionStatus:E,side:f,align:p};X(()=>{O&&s.context.popupRef.current&&!Object.keys(M.current).length&&(M.current={top:O.style.top||`0`,left:O.style.left||`0`,right:O.style.right,height:O.style.height,bottom:O.style.bottom,minHeight:O.style.minHeight,maxHeight:O.style.maxHeight,marginTop:O.style.marginTop,marginBottom:O.style.marginBottom})},[s,O]),X(()=>{S||m||(j.current=!1,A.current=!1,pO(O,M.current))},[S,m,O]),X(()=>{let e=s.context.popupRef.current;if(!S||!D||!O||!e||m&&!h||s.state.transitionStatus===`ending`)return;if(j.current=!0,e.style.removeProperty(JO),!m){N.request(()=>s.context.handleScrollArrowVisibility(k||e));return}let t=rk(e);try{let t=s.context.selectedItemTextRef.current;t?.isConnected||(t=!s.select(`hasSelectedValue`)&&s.context.firstItemTextRef.current?.isConnected?s.context.firstItemTextRef.current:null);let n=s.context.valueRef.current,r=zv(O),i=r.getComputedStyle(O),a=r.getComputedStyle(e),o=Ib(D),c=$O(D),l=tk(D.getBoundingClientRect(),c),d=tk(O.getBoundingClientRect(),c),f=l.height,p=k||e,m=p.scrollHeight,h=parseFloat(a.borderBottomWidth),_=parseFloat(i.marginTop)||10,y=parseFloat(i.marginBottom)||10,b=parseFloat(i.minHeight)||100,x=ZO(a),S=o.documentElement.clientHeight-_-y,C=o.documentElement.clientWidth,w=S-l.bottom+f,T,E=v===`rtl`?l.right-d.width:l.left,j=0;if(t&&n){let e=tk(n.getBoundingClientRect(),c);T=tk(t.getBoundingClientRect(),c),E=d.left+(v===`rtl`?e.right-T.right:e.left-T.left);let r=e.top-l.top+e.height/2;j=T.top-d.top+T.height/2-r}let N=w+j+y+h,P=Math.min(S,N),F=S-_-y,I=N-P,L=C-5;O.style.left=`${ND(E,5,L-d.width)}px`,O.style.height=`${P}px`,O.style.maxHeight=`none`,O.style.marginTop=`${_}px`,O.style.marginBottom=`${y}px`,e.style.height=`100%`;let R=QO(p),ee=I>=R-1;ee&&(P=Math.min(S,d.height)-(I-R));let z=l.top<20||l.bottom>S-20||Math.ceil(P)+1<Math.min(m,b),te=(r.visualViewport?.scale??1)!==1&&Ov;if(z||te){pO(O,M.current),g(!1);return}let ne=Math.max(b,P);if(ee){let e=Math.max(0,S-N);O.style.top=d.height>=F?`0`:`${e}px`,O.style.height=`${P}px`,p.scrollTop=QO(p)}else O.style.bottom=`0`,p.scrollTop=I;if(T){let t=d.top,n=d.height,r=T.top+T.height/2,i=ND(n>0?(r-t)/n*100:50,0,100);e.style.setProperty(JO,`50% ${i}%`)}(ne===S||P>=x)&&(A.current=!0),s.context.handleScrollArrowVisibility(p),u&&s.state.selectedIndex===null&&s.state.activeIndex===null&&s.context.listRef.current[0]!=null&&s.set(`activeIndex`,0)}finally{t()}},[s,S,O,D,m,g,N,k,u,v,h]),W.useEffect(()=>{if(!m||!O||!S)return;let e=zv(O);function t(e){s.context.setOpen(!1,pb(fb,e))}return _b(e,`resize`,t)},[s,m,O,S]);let I={...k?{role:`presentation`}:{role:`listbox`,"aria-multiselectable":c||void 0,"aria-readonly":l||void 0,id:`${x}-list`},onKeyDown(e){_&&RO.has(e.key)&&e.stopPropagation()},onScroll(e){k||P(e.currentTarget)},...m&&{style:k?{height:`100%`}:mO},className:!k&&m?jO.className:void 0},L=FS(`div`,e,{ref:[t,s.context.popupRef],state:F,stateAttributesMapping:YO,props:[T,I,PE(E),o]});return(0,Z.jsxs)(W.Fragment,{children:[!b&&jO.getElement(y),(0,Z.jsx)(bC,{context:d,modal:!1,disabled:!w,openInteractionType:C,returnFocus:a,restoreFocus:!0,children:L})]})});function ZO(e){let t=e.maxHeight;return t.endsWith(`px`)&&parseFloat(t)||1/0}function QO(e){return PD(e.scrollHeight,e.clientHeight)}function $O(e){return uw.getScale(e)}function ek(e,t,n){return e/n[t]}function tk(e,t){return px({x:ek(e.x,`x`,t),y:ek(e.y,`y`,t),width:ek(e.width,`x`,t),height:ek(e.height,`y`,t)})}var nk=[[`transform`,`none`],[`scale`,`1`],[`translate`,`0 0`]];function rk(e){let{style:t}=e,n={};for(let[e,r]of nk)n[e]=t.getPropertyValue(e),t.setProperty(e,r,`important`);return()=>{for(let[e]of nk){let r=n[e];r?t.setProperty(e,r):t.removeProperty(e)}}}function ik(e={}){let{guess:t,label:n,metadata:r,textRef:i,index:a}=e,{register:o,unregister:s,subscribeMapChange:c,nextIndexRef:l}=nO(),u=W.useRef(-1),[d,f]=W.useState(a==null&&t?()=>{if(u.current===-1){let e=l.current;l.current+=1,u.current=e}return u.current}:-1),p=a??d,m=W.useRef(null),h=W.useCallback(e=>{let t=m.current;t&&s(t),m.current=e,e&&o(e,{metadata:r??null,index:a??null,label:n,textRef:i})},[a,o,s,r,n,i]);return X(()=>{if(a==null)return c(e=>{let t=m.current?e.get(m.current)?.index:null;t!=null&&f(t)})},[a,c]),{ref:h,index:p}}var ak=W.createContext(void 0);function ok(){let e=W.useContext(ak);if(!e)throw Error(uv(57));return e}var sk=W.memo(W.forwardRef(function(e,t){let{render:n,className:r,style:i,value:a=null,label:o,disabled:s=!1,nativeButton:c=!1,...l}=e,u=W.useRef(null),d=ik({guess:!0,label:o,textRef:u}),f=KE(),{itemProps:p,multiple:m,disabled:h,readOnly:g}=qE(),_=h||s,v=f.useState(`isActive`,d.index),y=f.useState(`open`),b=f.useState(`isSelected`,a),x=f.useState(`isSelectedByFocus`,d.index),S=f.useState(`isItemEqualToValue`),C=d.index,w=W.useRef(null);X(()=>{let e=f.context.valuesRef.current;return e[C]=a,()=>{delete e[C]}},[C,a,f]),X(()=>{let e=f.state.value,t=f.state.selectedIndex,n=t,r;m&&Array.isArray(e)?(n=hD(C,a,f.context.valuesRef.current,e,S,t),r=n===C,C===t&&!r&&(f.context.selectedItemTextRef.current=null)):(r=e!==void 0&&lD(a,e,S),r&&(n=C)),f.set(`selectedIndex`,n),r&&u.current&&(f.context.selectedItemTextRef.current=u.current)},[C,m,S,f,a]);let T=W.useRef(`mouse`),E=W.useRef(!1),{getButtonProps:D,buttonRef:O}=GD({disabled:_,focusableWhenDisabled:!0,native:c,composite:!0}),k={disabled:_,selected:b,highlighted:v};function A(e){if(h||g)return;let t=f.state.value;if(m){let n=Array.isArray(t)?t:[],r=b?gD(n,a,S):[...n,a];f.context.setValue(r,pb(tb,e))}else f.context.setValue(a,pb(tb,e)),f.context.setOpen(!1,pb(tb,e))}function j(){f.context.selectionRef.current.dragY=0}let M={role:`option`,"aria-selected":b,tabIndex:y&&v?0:-1,onKeyDown(e){f.set(`activeIndex`,C),e.key===` `&&f.context.typingRef.current&&e.preventDefault()},onClick(e){let t=T.current!==`touch`,n=e.nativeEvent.pointerType,r=t&&Nv(e.nativeEvent)&&(n!==void 0||v),i=t&&!r&&!E.current;E.current=!1,!(_||i)&&A(e.nativeEvent)},onPointerEnter(e){T.current=e.pointerType},onPointerMove(e){if(e.pointerType===`mouse`&&e.buttons===1){let t=f.context.selectionRef.current;t.dragY+=e.movementY,t.dragY**2>=64&&(t.allowUnselectedMouseUp=!0)}},onPointerDown(e){T.current=e.pointerType,E.current=!0,j()},onMouseUp(){if(j(),_||T.current===`touch`||E.current)return;let e=!f.context.selectionRef.current.allowSelectedMouseUp&&b,t=!f.context.selectionRef.current.allowUnselectedMouseUp&&!b;e||t||(E.current=!0,w.current?.click(),E.current=!1)}},N=FS(`div`,e,{ref:[O,t,d.ref,w],state:k,props:[p,M,l,D]}),P=W.useMemo(()=>({selected:b,index:C,textRef:u,selectedByFocus:x}),[b,C,u,x]);return(0,Z.jsx)(ak.Provider,{value:P,children:N})})),ck=W.memo(W.forwardRef(function(e,t){let{index:n,textRef:r,selectedByFocus:i}=ok(),a=KE(),{render:o,className:s,style:c,...l}=e;return FS(`div`,e,{ref:[W.useCallback(e=>{e&&(n===0&&(a.context.firstItemTextRef.current=e),i&&(a.context.selectedItemTextRef.current=e))},[a,n,i]),t,r],props:l})})),lk=e=>Symbol.iterator in e,uk=e=>`entries`in e,dk=(e,t)=>{let n=e instanceof Map?e:new Map(e.entries()),r=t instanceof Map?t:new Map(t.entries());if(n.size!==r.size)return!1;for(let[e,t]of n)if(!r.has(e)||!Object.is(t,r.get(e)))return!1;return!0},fk=(e,t)=>{let n=e[Symbol.iterator](),r=t[Symbol.iterator](),i=n.next(),a=r.next();for(;!i.done&&!a.done;){if(!Object.is(i.value,a.value))return!1;i=n.next(),a=r.next()}return!!i.done&&!!a.done};function pk(e,t){return Object.is(e,t)?!0:typeof e!=`object`||!e||typeof t!=`object`||!t||Object.getPrototypeOf(e)!==Object.getPrototypeOf(t)?!1:lk(e)&&lk(t)?uk(e)&&uk(t)?dk(e,t):fk(e,t):dk({entries:()=>Object.entries(e)},{entries:()=>Object.entries(t)})}function mk(e){let t=W.useRef(void 0);return n=>{let r=e(n);return pk(t.current,r)?t.current:t.current=r}}function hk(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`){if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=hk(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n)}return r}function gk(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=hk(e))&&(r&&(r+=` `),r+=t);return r}var _k=W.createContext(void 0);function vk(){return W.useContext(_k)}function yk(e={}){let{highlightItemOnHover:t,highlightedIndex:n,onHighlightedIndexChange:r}=HD(),{ref:i,index:a}=ik(e),o=n===a,s=W.useRef(null),c=yb(i,s);return{compositeProps:{tabIndex:o?0:-1,onFocus(){r(a)},onMouseMove(){let e=s.current;if(!t||!e)return;let n=e.hasAttribute(`disabled`)||e.ariaDisabled===`true`;!o&&!n&&e.focus()}},compositeRef:c,index:a}}function bk(e){let{render:t,className:n,style:r,state:i=cv,props:a=sv,refs:o=sv,metadata:s,stateAttributesMapping:c,tag:l=`div`,...u}=e,{compositeProps:d,compositeRef:f}=yk({metadata:s});return FS(l,e,{state:i,ref:[f,...o],props:[d,...a,u],stateAttributesMapping:c})}var xk=W.forwardRef(function(e,t){let{className:n,defaultPressed:r=!1,disabled:i=!1,form:a,onPressedChange:o,pressed:s,render:c,type:l,value:u,nativeButton:d=!0,style:f,...p}=e,m=rE(u||void 0),h=vk(),g=h?.value??[],_=(i||h?.disabled)??!1,[v,y]=HE({controlled:h?m!==void 0&&g.indexOf(m)>-1:s,default:r,name:`Toggle`,state:`pressed`}),{getButtonProps:b,buttonRef:x}=GD({disabled:_,native:d}),S={disabled:_,pressed:v},C=[x,t],w=[{"aria-pressed":v,onClick(e){let t=!v,n=pb(Xy,e.nativeEvent);o?.(t,n),!n.isCanceled&&(m&&h?.setGroupValue?.(m,t,n),!n.isCanceled&&y(t))}},p,b],T=FS(`button`,e,{enabled:!h,state:S,ref:C,props:w}),E=W.useMemo(()=>({disabled:_,focusableWhenDisabled:!1}),[_]);return h?(0,Z.jsx)(bk,{tag:`button`,render:c,className:n,style:f,metadata:E,state:S,refs:C,props:w}):T});function Sk(e){let{loopFocus:t=!0,orientation:n=`both`,grid:r,onLoop:i,direction:a,highlightedIndex:o,onHighlightedIndexChange:s,rootRef:c,enableHomeAndEndKeys:l=!1,stopEventPropagation:u,disabledIndices:d,modifierKeys:f=sv}=e,[p,m]=W.useState(0),h=r!=null,g=W.useRef(null),_=yb(g,c),v=W.useRef([]),y=W.useRef(!1),b=W.useRef(null),x=o??p,S=Q((e,t=!1)=>{if(b.current=v.current[e]??null,(s??m)(e),t){let t=v.current[e];HO(g.current,t,a,n)}}),C=Q(e=>{if(e.size===0)return;if(y.current){let e=v.current,t=e.indexOf(b.current);if(t===-1){let t=e[x];!t||vx(e,x,d)?S(Ck(e,d)):b.current=t}else t!==x&&S(t);return}y.current=!0;let t=Array.from(e.keys()),r=t.find(e=>e?.hasAttribute(`data-composite-item-active`))??null,i=r?e.get(r)?.index??-1:-1;if(i!==-1)S(i);else if(vx(t,x,d)){let e=_x(t,{disabledIndices:d});mx(t,e)||S(e)}HO(g.current,r,a,n)});X(()=>{if(d==null||o!=null||!y.current)return;let e=v.current;if(vx(e,x,d)){let t=_x(e,{disabledIndices:d});mx(e,t)||S(t)}},[d,o,x,v,S]);let w=Q((e,t,n)=>i?i(e,t,n,v):n),T=Q(e=>{let o=e.key===`Home`||e.key===`End`;if(!RO.has(e.key)||!l&&o||wk(e,f)||!g.current)return;let s=a===`rtl`,c=s?IO:LO,p=s?LO:IO,m=n===`vertical`?FO:c,_=n===`vertical`?PO:p,y=uy(e.nativeEvent);if(y!=null&&VO(y)&&!VE(y)){let t=y.selectionStart,n=y.selectionEnd,r=y.value;if(t==null||e.shiftKey||t!==n||e.key!==_&&t<r.length||e.key!==m&&t>0)return}let b=x,C=hx(v,d),T=gx(v,d);r!=null&&(b=r({disabledIndices:d,elementsRef:v,event:e,highlightedIndex:x,loopFocus:t,maxIndex:T,minIndex:C,onLoop:w,orientation:n,rtl:s}));let E=n!==`vertical`&&e.key===c||n!==`horizontal`&&e.key===`ArrowDown`,D=n!==`vertical`&&e.key===p||n!==`horizontal`&&e.key===`ArrowUp`;l&&(e.key===`Home`?b=C:e.key===`End`&&(b=T)),b===x&&(E||D)&&(t&&b===T&&E?(b=C,i&&(b=i(e,x,b,v))):t&&b===C&&D?(b=T,i&&(b=i(e,x,b,v))):b=_x(v.current,{startingIndex:b,decrement:D,disabledIndices:d})),b!==x&&!mx(v.current,b)&&(u&&e.stopPropagation(),(h||o||E||D)&&e.preventDefault(),S(b,!0),queueMicrotask(()=>{v.current[b]?.focus()}))});return{props:{ref:_,onFocus(e){let t=g.current,n=uy(e.nativeEvent);t&&n!=null&&VO(n)&&n.setSelectionRange(0,n.value.length)},onKeyDown:T},highlightedIndex:x,onHighlightedIndexChange:S,elementsRef:v,onMapChange:C,relayKeyboardEvent:T}}function Ck(e,t){let n=-1;for(let r=0;r<e.length;r+=1){let i=e[r];if(i&&!vx(e,r,t)){if(i.hasAttribute(`data-composite-item-active`))return r;n===-1&&(n=r)}}return Math.max(n,0)}function wk(e,t){for(let n of zO)if(!t.includes(n)&&e.getModifierState(n))return!0;return!1}function Tk(e){let{render:t,className:n,style:r,refs:i=sv,props:a=sv,state:o=cv,stateAttributesMapping:s,highlightedIndex:c,onHighlightedIndexChange:l,orientation:u,grid:d,loopFocus:f,onLoop:p,enableHomeAndEndKeys:m,onMapChange:h,stopEventPropagation:g=!0,rootRef:_,disabledIndices:v,modifierKeys:y,highlightItemOnHover:b=!1,tag:x=`div`,...S}=e,{props:C,highlightedIndex:w,onHighlightedIndexChange:T,elementsRef:E,onMapChange:D,relayKeyboardEvent:O}=Sk({grid:d,loopFocus:f,onLoop:p,orientation:u,highlightedIndex:c,onHighlightedIndexChange:l,rootRef:_,stopEventPropagation:g,enableHomeAndEndKeys:m,direction:_E(),disabledIndices:v,modifierKeys:y}),k=FS(x,e,{state:o,ref:i,props:[C,...a,S],stateAttributesMapping:s}),A=W.useMemo(()=>({highlightedIndex:w,onHighlightedIndexChange:T,highlightItemOnHover:b,relayKeyboardEvent:O}),[w,T,b,O]);return(0,Z.jsx)(VD.Provider,{value:A,children:(0,Z.jsx)(rO,{elementsRef:E,onMapChange:e=>{h?.(e),D(e)},children:k})})}var Ek=W.createContext(void 0);function Dk(){return W.useContext(Ek)}var Ok=W.forwardRef(function(e,t){let{defaultValue:n,disabled:r=!1,loopFocus:i=!0,onValueChange:a,orientation:o=`horizontal`,multiple:s=!1,value:c,className:l,render:u,style:d,...f}=e,p=NO(!0),m=Dk(),h=n??sv,g=c!==void 0||n!==void 0,_=(p?.disabled??!1)||(m?.disabled??!1)||r,[v,y]=HE({controlled:c,default:h,name:`ToggleGroup`,state:`value`}),b=Q((e,t,n)=>{let r;s?(r=v.slice(),t?r.push(e):r.splice(v.indexOf(e),1)):r=t?[e]:[],a?.(r,n),!n.isCanceled&&y(r)}),x={disabled:_,multiple:s,orientation:o},S=W.useMemo(()=>({disabled:_,setGroupValue:b,value:v,isValueInitialized:g}),[_,b,v,g]),C={role:`group`},w=FS(`div`,e,{enabled:!!p,state:x,ref:t,props:[C,f]});return(0,Z.jsx)(_k.Provider,{value:S,children:p?w:(0,Z.jsx)(Tk,{render:u,className:l,style:d,state:x,refs:[t],props:[C,f],loopFocus:i,enableHomeAndEndKeys:!0,orientation:o})})});function kk(e){let{open:t,defaultOpen:n=!1,onOpenChange:r,disabled:i}=e,[a,o]=HE({controlled:t,default:n,name:`Collapsible`,state:`open`}),{mounted:s,setMounted:c,transitionStatus:l}=qw(a,!0,!0),u=rE(),[d,f]=W.useState(),p=d===null?void 0:d??u,m=Q(e=>{let t=!a,n=pb(Zy,e.nativeEvent);r(t,n),!n.isCanceled&&o(t)});return W.useMemo(()=>({defaultPanelId:u,disabled:i,handleTrigger:m,mounted:s,open:a,panelId:p,setMounted:c,setOpen:o,setPanelIdState:f,transitionStatus:l}),[u,i,m,s,a,p,c,o,f,l])}var Ak=W.createContext(void 0);function jk(){let e=W.useContext(Ak);if(e===void 0)throw Error(uv(15));return e}var Mk=`data-open`,Nk=`data-closed`,Pk=_y,Fk=`data-panel-open`,Ik={[Mk]:``},Lk={[Nk]:``},Rk={open(e){return e?{[Fk]:``}:null}},zk={open(e){return e?Ik:Lk},...xy},Bk=W.forwardRef(function(e,t){let{render:n,className:r,defaultOpen:i=!1,disabled:a=!1,onOpenChange:o,open:s,style:c,...l}=e,u=Q(o),d=kk({open:s,defaultOpen:i,onOpenChange:u,disabled:a}),f=W.useMemo(()=>({open:d.open,disabled:d.disabled,transitionStatus:d.transitionStatus}),[d.open,d.disabled,d.transitionStatus]),p=W.useMemo(()=>({...d,onOpenChange:u,state:f}),[d,u,f]),m=FS(`div`,e,{state:f,ref:t,props:l,stateAttributesMapping:zk});return(0,Z.jsx)(Ak.Provider,{value:p,children:m})}),Vk={...Rk,...xy},Hk=W.forwardRef(function(e,t){let{panelId:n,open:r,handleTrigger:i,state:a,disabled:o}=jk(),{className:s,disabled:c=o,render:l,nativeButton:u=!0,style:d,...f}=e,{getButtonProps:p,buttonRef:m}=GD({disabled:c,focusableWhenDisabled:!0,native:u});return FS(`button`,e,{state:a,ref:[t,m],props:[{"aria-controls":r?n:void 0,"aria-expanded":r,onClick:i},f,p],stateAttributesMapping:Vk})}),Uk={height:void 0,width:void 0};function Wk(e){let{externalRef:t,hiddenUntilFound:n,id:r,keepMounted:i,mounted:a,onOpenChange:o,open:s,setMounted:c,setOpen:l,transitionStatus:u}=e,d=W.useRef(null),f=W.useRef(null),[p,m]=W.useState(Uk),h=W.useRef(Uk),g=W.useRef(!1),_=W.useRef(s),v=W.useRef(!1),[y,b]=W.useState(!1),x=W.useRef(null),S=yb(t,d),C=Tb(s),w=Xw(d),T=!s&&!a,E=y?`idle`:u,D=s&&(_.current||v.current),O=!s&&a&&f.current===`css-animation`&&p.height===void 0&&p.width===void 0?h.current:p,k=n&&T&&f.current!==`css-animation`,A=Q((e,t=!0)=>{t&&(h.current=e),m(e)}),j=Q(()=>{x.current?.(),x.current=null}),M=Q(e=>{j(),x.current=()=>{x.current=null,e()}}),N=Q(()=>{s&&a&&f.current===`css-animation`&&(v.current=!0)});X(()=>{y&&u!==`starting`&&b(!1)},[y,u]),W.useEffect(()=>()=>{N(),j()},[N,j]),X(()=>{let e=d.current;if(!e)return;!s&&x.current&&j();let t=Kk(e,D);if(f.current=t,s&&u===`idle`&&_.current&&t===`css-animation`){h.current=Gk(e);return}if(s&&u===`starting`){let n=g.current;if(g.current=!1,t===`none`){A(Gk(e)),b(!0);return}if(t===`css-transition`){let t=Yk(e);if(A(Gk(e)),!n)return t;let r=Jk(e,`transition-duration`,`0s`);return M(r),b(!0),t}A(Gk(e));let r=Jk(e,`animation-name`,`none`);if(!n){r();return}let i=Jk(e,`animation-duration`,`0s`);r(),M(i),b(!0);return}if(!s&&a&&(u===`idle`||u===`starting`)){if(_.current=!1,v.current=!1,t===`none`){A(Uk,!1),c(!1);return}A(Gk(e));return}if(u!==`ending`)return;if(t===`none`){c(!1);return}let n=Gk(e);if(!(n.height>0||n.width>0)){c(!1);return}A(n),t===`css-animation`&&Jk(e,`animation-name`,`none`)()},[a,s,j,A,c,M,D,u]),Zw({enabled:s&&a&&E===`idle`,open:!0,ref:d,onComplete(){s&&A(Uk,!1)}}),W.useEffect(()=>{if(s||!a||E!==`ending`||!d.current)return;let e=new AbortController,t=-1;function n(){C.current||(c(!1),A(Uk,!1))}return t=Pb.request(()=>{w(n,e.signal)}),()=>{Pb.cancel(t),e.abort()}},[C,a,s,E,w,A,c]),X(()=>{let e=d.current;e&&n&&T&&e.setAttribute(`hidden`,`until-found`)},[T,n]),W.useEffect(function(){let e=d.current;if(!e)return;function t(e){let t=pb(Xy,e);o(!0,t),!t.isCanceled&&(g.current=!0,l(!0))}return _b(e,`beforematch`,t)},[o,l]);let P=i||n||a||s;return{height:O.height,props:{...k?{[Pk]:``}:void 0,hidden:T,id:r},ref:S,shouldPreventOpenAnimation:D,shouldRender:P,transitionStatus:E,width:O.width}}function Gk(e){return{height:e.scrollHeight,width:e.scrollWidth}}function Kk(e,t){let n=zv(e).getComputedStyle(e),r=(n.animationName.split(`,`).map(e=>e.trim()).some(e=>e!==``&&e!==`none`)||t)&&qk(n.animationDuration),i=qk(n.transitionDuration);return r&&i||i?`css-transition`:r?`css-animation`:`none`}function qk(e){return e.split(`,`).map(e=>e.trim()).some(e=>e!==``&&Number.parseFloat(e)>0)}function Jk(e,t,n){let r=e.style.getPropertyValue(t),i=e.style.getPropertyPriority(t);return e.style.setProperty(t,n),()=>{if(r===``){e.style.removeProperty(t);return}e.style.setProperty(t,r,i)}}function Yk(e){let t={"justify-content":e.style.justifyContent,"align-items":e.style.alignItems,"align-content":e.style.alignContent,"justify-items":e.style.justifyItems};Object.keys(t).forEach(t=>{e.style.setProperty(t,`initial`,`important`)});function n(){Object.entries(t).forEach(([t,n])=>{if(n===``){e.style.removeProperty(t);return}e.style.setProperty(t,n)})}let r=Pb.request(n);return()=>{Pb.cancel(r),n()}}var Xk=`--collapsible-panel-height`,Zk=`--collapsible-panel-width`,Qk=W.forwardRef(function(e,t){let{className:n,hiddenUntilFound:r,keepMounted:i,render:a,id:o,style:s,...c}=e,{defaultPanelId:l,mounted:u,onOpenChange:d,open:f,setMounted:p,setPanelIdState:m,setOpen:h,state:g,transitionStatus:_}=jk(),v=r??!1,y=i??!1,b=o||void 0,x=b??l;X(()=>(m(e=>b??(e===null?void 0:e)),()=>{m(e=>e===b?null:e)}),[b,m]);let{height:S,props:C,ref:w,shouldPreventOpenAnimation:T,shouldRender:E,transitionStatus:D,width:O}=Wk({externalRef:t,hiddenUntilFound:v,id:x,keepMounted:y,mounted:u,onOpenChange:d,open:f,setMounted:p,setOpen:h,transitionStatus:_}),k={...g,transitionStatus:D},A=yS(s,k),j=FS(`div`,{...e,style:void 0},{state:k,ref:w,props:[C,{style:{[Xk]:S===void 0?`auto`:`${S}px`,[Zk]:O===void 0?`auto`:`${O}px`}},c,A?{style:A}:void 0,T?{style:{animationName:`none`}}:void 0],stateAttributesMapping:zk});return E?j:null}),$k=W.createContext(void 0);function eA(e=!0){let t=W.useContext($k);if(t===void 0&&!e)throw Error(uv(25));return t}var tA=W.createContext(void 0);function nA(e){let t=W.useContext(tA);if(t===void 0&&!e)throw Error(uv(33));return t}var rA=W.createContext(void 0);function iA(e){let t=W.useContext(rA);if(t===void 0&&!e)throw Error(uv(36));return t}function aA(e){let{closeOnClick:t,highlighted:n,id:r,nodeId:i,store:a,typingRef:o,itemRef:s,itemMetadata:c}=e,{events:l}=a.useState(`floatingTreeRoot`),u=a.useState(`open`),d=eA(!0),f=d!==void 0;return W.useMemo(()=>({id:r,role:`menuitem`,tabIndex:u&&n?0:-1,onKeyDown(e){e.key===` `&&o?.current&&e.preventDefault()},onMouseMove(e){i&&l.emit(`itemhover`,{nodeId:i,target:e.currentTarget})},onClick(e){t&&l.emit(`close`,{domEvent:e,reason:tb})},onMouseUp(e){if(d){let t=d.initialCursorPointRef.current;if(d.initialCursorPointRef.current=null,f&&t&&Math.abs(e.clientX-t.x)<=1&&Math.abs(e.clientY-t.y)<=1||f&&!Ev&&e.button===2)return}s.current&&a.context.allowMouseUpTriggerRef.current&&(!f||e.button===2)&&c.type===`regular-item`&&WD(s.current,e,{detail:1})}}),[t,n,r,l,i,u,a,o,s,d,f,c])}var oA={type:`regular-item`};function sA(e){let{closeOnClick:t,disabled:n,highlighted:r,id:i,store:a,typingRef:o=a.context.typingRef,nativeButton:s,itemMetadata:c,nodeId:l}=e,u=W.useRef(null),{getButtonProps:d,buttonRef:f}=GD({disabled:n,focusableWhenDisabled:!0,native:s,composite:!0}),p=aA({closeOnClick:t,highlighted:r,id:i,nodeId:l,store:a,typingRef:o,itemRef:u,itemMetadata:c}),m=W.useCallback(e=>xS(p,{onMouseEnter(){c.type===`submenu-trigger`&&c.setActive()}},e,d),[p,d,c]),h=yb(u,f);return W.useMemo(()=>({getItemProps:m,itemRef:h}),[m,h])}var cA=W.forwardRef(function(e,t){let{render:n,className:r,id:i,label:a,nativeButton:o=!1,disabled:s=!1,closeOnClick:c=!0,style:l,...u}=e,d=ik({guess:!0,label:a}),f=nA(!0),p=rE(i),{store:m}=iA(),h=m.useState(`disabled`),g=s||h,_=m.useState(`isActive`,d.index),v=m.useState(`itemProps`),{getItemProps:y,itemRef:b}=sA({closeOnClick:c,disabled:g,highlighted:_,id:p,store:m,nativeButton:o,nodeId:f?.context.nodeId,itemMetadata:oA});return FS(`div`,e,{state:{disabled:g,highlighted:_},props:[v,u,y],ref:[b,t,d.ref]})}),lA=W.forwardRef(function(e,t){let{render:n,className:r,style:i,finalFocus:a,...o}=e,{store:s}=iA(),{side:c,align:l}=nA(),u=NO(!0)!=null,d=s.useState(`open`),f=s.useState(`transitionStatus`),p=s.useState(`popupProps`),m=s.useState(`mounted`),h=s.useState(`instantType`),g=s.useState(`activeTriggerElement`),_=s.useState(`parent`),v=s.useState(`lastOpenChangeReason`),y=s.useState(`rootId`),b=s.useState(`floatingRootContext`),x=s.useState(`floatingTreeRoot`),S=s.useState(`closeDelay`),C=s.useState(`hoverEnabled`),w=s.useState(`disabled`),T=s.useState(`openMethod`),E=_.type===`context-menu`;Zw({open:d,ref:s.context.popupRef,onComplete(){d&&s.context.onOpenChangeComplete?.(!0)}}),W.useEffect(()=>{function e(e){s.setOpen(!1,pb(e.reason,e.domEvent))}return x.events.on(`close`,e),()=>{x.events.off(`close`,e)}},[x.events,s]),jT(b,{enabled:C&&!w&&!E&&_.type!==`menubar`,closeDelay:S});let D=s.useStateSetter(`popupElement`),O=FS(`div`,e,{state:{transitionStatus:f,side:c,align:l,open:d,nested:_.type===`menu`,instant:h},ref:[t,s.context.popupRef,D],stateAttributesMapping:Fy,props:[p,{onKeyDown(e){u&&RO.has(e.key)&&e.stopPropagation()}},PE(f),o,{"data-rootownerid":y}]}),k=_.type===void 0||E;return(g||_.type===`menubar`&&v!==`outside-press`)&&(k=!0),(0,Z.jsx)(bC,{context:b,openInteractionType:T,modal:E,disabled:!m,returnFocus:a===void 0?k:a,initialFocus:_.type!==`menu`,restoreFocus:!0,externalTree:_.type===`menubar`?void 0:x,previousFocusableElement:g,nextFocusableElement:_.type===void 0?s.context.triggerFocusTargetRef:void 0,beforeContentFocusGuardRef:_.type===void 0?s.context.beforeContentFocusGuardRef:void 0,children:O})}),uA=W.createContext(void 0);function dA(){let e=W.useContext(uA);if(e===void 0)throw Error(uv(32));return e}var fA=W.forwardRef(function(e,t){let{keepMounted:n=!1,...r}=e,{store:i,parent:a}=iA();if(!(i.useState(`mounted`)||n))return null;let o=a.type===`menu`||a.type===`menubar`?`group`:void 0;return(0,Z.jsx)(uA.Provider,{value:n,children:(0,Z.jsx)(tC,{ref:t,...r,portalOwnerRole:o})})}),pA=W.forwardRef(function(e,t){let{anchor:n,positionMethod:r=`absolute`,className:i,render:a,side:o,align:s,sideOffset:c=0,alignOffset:l=0,collisionBoundary:u=`clipping-ancestors`,collisionPadding:d=5,arrowPadding:f=5,sticky:p=!1,disableAnchorTracking:m=!1,collisionAvoidance:h=qS,style:g,..._}=e,{store:v}=iA(),y=dA(),b=eA(!0),x=v.useState(`parent`),S=v.useState(`floatingRootContext`),C=v.useState(`floatingTreeRoot`),w=v.useState(`mounted`),T=v.useState(`open`),E=v.useState(`modal`),D=v.useState(`openMethod`),O=v.useState(`activeTriggerElement`),k=v.useState(`transitionStatus`),A=v.useState(`positionerElement`),j=v.useState(`instantType`),M=v.useState(`adaptiveOrigin`),N=v.useState(`lastOpenChangeReason`),P=v.useState(`floatingNodeId`),F=v.useState(`floatingParentNodeId`),I=S.useState(`domReferenceElement`),L=W.useRef(null),R=Xw(A),ee=n,z=c,te=l,ne=s,re=h;x.type===`context-menu`&&(ee=n??x.context?.anchor,ne??=`start`,!o&&ne!==`center`&&(te=e.alignOffset??2,z=e.sideOffset??-5));let B=o,ie=ne;x.type===`menu`?(B??=`inline-end`,ie??=`start`,re=e.collisionAvoidance??JS):x.type===`menubar`&&(B??=x.context.orientation===`vertical`?`inline-end`:`bottom`,ie??=`start`);let ae=x.type===`context-menu`,oe=jE({anchor:ee,floatingRootContext:S,positionMethod:b?`fixed`:r,mounted:w,side:B,sideOffset:z,align:ie,alignOffset:te,arrowPadding:ae?0:f,collisionBoundary:u,collisionPadding:d,sticky:p,nodeId:P,keepMounted:y,disableAnchorTracking:m,collisionAvoidance:re,shift:ae?{crossAxis:!(`side`in re&&re.side===`flip`),rootBoundary:`layoutViewport`}:void 0,externalTree:C,adaptiveOrigin:M});W.useEffect(()=>{function e(e){e.open&&(e.parentNodeId===P&&v.set(`hoverEnabled`,!1),e.nodeId!==P&&e.parentNodeId===v.select(`floatingParentNodeId`)&&v.setOpen(!1,pb(cb)))}return C.events.on(`menuopenchange`,e),()=>{C.events.off(`menuopenchange`,e)}},[v,C.events,P]),W.useEffect(()=>{if(v.select(`floatingParentNodeId`)==null)return;function e(e){if(e.open||e.nodeId!==v.select(`floatingParentNodeId`))return;let t=e.reason??`sibling-open`;v.setOpen(!1,pb(t))}return C.events.on(`menuopenchange`,e),()=>{C.events.off(`menuopenchange`,e)}},[C.events,v]);let se=gv();W.useEffect(()=>{T||se.clear()},[T,se]),W.useEffect(()=>{function e(e){if(T&&e.nodeId===v.select(`floatingParentNodeId`)){if(e.target&&O&&O!==e.target){let e=v.select(`closeDelay`);e>0?se.isStarted()||se.start(e,()=>{v.setOpen(!1,pb(cb))}):v.setOpen(!1,pb(cb))}else se.clear()}}return C.events.on(`itemhover`,e),()=>{C.events.off(`itemhover`,e)}},[C.events,T,O,v,se]),W.useEffect(()=>{let e={open:T,nodeId:P,parentNodeId:F,reason:v.select(`lastOpenChangeReason`)};C.events.emit(`menuopenchange`,e)},[C.events,T,v,P,F]),X(()=>{let e=I,t=L.current;if(e&&(L.current=e),t&&e&&e!==t){v.set(`instantType`,void 0);let e=new AbortController;return R(()=>{v.set(`instantType`,`trigger-change`)},e.signal),()=>{e.abort()}}},[I,R,v]);let ce={open:T,side:oe.side,align:oe.align,anchorHidden:oe.anchorHidden,nested:x.type===`menu`,instant:j},le=x.type===`menubar`&&x.context.modal;DO(T&&(le||E&&N!==`trigger-hover`),D===`touch`,A,O);let V=FE(e,ce,{styles:oe.positionerStyles,transitionStatus:k,props:_,refs:[t,v.useStateSetter(`positionerElement`)],hidden:!w,inert:!T}),H=w&&x.type!==`menu`&&(x.type!==`menubar`&&E&&N!==`trigger-hover`||x.type===`menubar`&&x.context.modal),ue=null;return x.type===`menubar`?ue=x.context.contentElement:x.type===void 0&&(ue=O),(0,Z.jsxs)(tA.Provider,{value:oe,children:[H&&(0,Z.jsx)(fO,{ref:x.type===`context-menu`||x.type===`nested-context-menu`?x.context.internalBackdropRef:null,inert:RE(!T),cutout:ue}),(0,Z.jsx)(lC,{id:P,children:(0,Z.jsx)(rO,{elementsRef:v.context.itemDomElements,labelsRef:v.context.itemLabels,children:V})})]})}),mA=W.createContext(null);function hA(e){let t=W.useContext(mA);if(t===null&&!e)throw Error(uv(5));return t}var gA={...yT,disabled:e=>e.parent.type===`menubar`&&e.parent.context.disabled||e.disabled,modal:e=>(e.parent.type===void 0||e.parent.type===`context-menu`)&&(e.modal??!0),openMethod:e=>e.openMethod,allowMouseEnter:e=>e.allowMouseEnter,highlightItemOnHover:e=>e.highlightItemOnHover,parent:e=>e.parent,rootId:e=>e.parent.type===`menu`?e.parent.store.select(`rootId`):e.parent.type===void 0?e.rootId:e.parent.context.rootId,activeIndex:e=>e.activeIndex,isActive:(e,t)=>e.activeIndex===t,hoverEnabled:e=>e.hoverEnabled,instantType:e=>e.instantType,lastOpenChangeReason:e=>e.openChangeReason,floatingTreeRoot:e=>e.parent.type===`menu`?e.parent.store.select(`floatingTreeRoot`):e.floatingTreeRoot,floatingNodeId:e=>e.floatingNodeId,floatingParentNodeId:e=>e.floatingParentNodeId,itemProps:e=>e.itemProps,closeDelay:e=>e.closeDelay,adaptiveOrigin:e=>e.adaptiveOrigin,keyboardEventRelay:e=>{if(e.keyboardEventRelay)return e.keyboardEventRelay;if(e.parent.type===`menu`)return e.parent.store.select(`keyboardEventRelay`)}},_A=class extends Uw{constructor(e,t,n=!1){let r=new fT,i=yA(r,t,n,e);super(i,vA(r),gA),this.unsubscribeParentListener=this.observe(`parent`,e=>{if(this.unsubscribeParentListener?.(),e.type===`menu`){let t=e.store.select(`rootId`),n=e.store.select(`floatingTreeRoot`),r=e.store.select(`keyboardEventRelay`);this.unsubscribeParentListener=e.store.subscribe(()=>{let i=e.store.select(`rootId`),a=e.store.select(`floatingTreeRoot`),o=e.store.select(`keyboardEventRelay`);(t!==i||n!==a||r!==o)&&(t=i,n=a,r=o,this.notifyAll())}),this.context.allowMouseUpTriggerRef=e.store.context.allowMouseUpTriggerRef;return}e.type!==void 0&&(this.context.allowMouseUpTriggerRef=e.context.allowMouseUpTriggerRef),this.unsubscribeParentListener=null})}setOpen(e,t){this.state.floatingRootContext.context.events.emit(`setOpen`,{open:e,eventDetails:t})}unsubscribeParentListener=null};function vA(e){return{positionerRef:W.createRef(),popupRef:W.createRef(),typingRef:{current:!1},itemDomElements:{current:[]},itemLabels:{current:[]},allowMouseUpTriggerRef:{current:!1},triggerFocusTargetRef:W.createRef(),beforeContentFocusGuardRef:W.createRef(),onOpenChangeComplete:void 0,triggerElements:e}}function yA(e,t,n=!1,r){return{...pT(e,t,n),disabled:!1,modal:!0,openMethod:null,allowMouseEnter:!1,highlightItemOnHover:!0,parent:{type:void 0},rootId:void 0,activeIndex:null,hoverEnabled:!0,instantType:void 0,openChangeReason:null,floatingTreeRoot:new rC,floatingNodeId:void 0,floatingParentNodeId:null,itemProps:cv,keyboardEventRelay:void 0,closeDelay:0,adaptiveOrigin:void 0,...r}}var bA=W.createContext(void 0);function xA(){return W.useContext(bA)}var SA=rv(function(e){let{children:t,open:n,onOpenChange:r,onOpenChangeComplete:i,defaultOpen:a=!1,disabled:o=!1,modal:s,loopFocus:c=!0,orientation:l=`vertical`,actionsRef:u,closeParentOnEsc:d=!1,handle:f,triggerId:p,defaultTriggerId:m=null,highlightItemOnHover:h=!0}=e,g=eA(!0),_=iA(!0),v=hA(!0),y=xA(),b=W.useMemo(()=>y&&_?{type:`menu`,store:_.store}:v?{type:`menubar`,context:v}:g&&!_?{type:`context-menu`,context:g}:{type:void 0},[g,_,v,y]),x=fS(),S=fS(),C=oC(),w=b.type===`menu`?b.store:void 0,T=(n??a)&&w?.state.transitionStatus===`starting`,E=Q_(()=>T?w?.state.instantType:void 0).current,D=CA({open:a,openProp:n,activeTriggerId:m,triggerIdProp:p,parent:b,disabled:o,highlightItemOnHover:h,modal:b.type===void 0?s:void 0,rootId:x,instantType:E},S,C!=null);D.useControlledProp(`openProp`,n),D.useControlledProp(`triggerIdProp`,p),D.useContextCallback(`onOpenChangeComplete`,i);let O=D.useState(`floatingTreeRoot`),k=cC(O),A=D.useState(`open`),j=D.useState(`activeTriggerElement`),M=D.useState(`positionerElement`),N=D.useState(`hoverEnabled`),P=D.useState(`disabled`),F=D.useState(`lastOpenChangeReason`),I=D.useState(`parent`),L=D.useState(`activeIndex`),R=D.useState(`payload`),ee=D.useState(`floatingParentNodeId`),z=W.useRef(null),te=W.useRef(I.type!==`context-menu`),ne=gv(),re=W.useRef(!0),B=gv(),ie=ee!=null,{openMethod:ae,triggerProps:oe}=MD(A);D.useSyncedValues({disabled:o,highlightItemOnHover:h,modal:I.type===void 0?s:void 0,openMethod:ae,rootId:x}),cT(D);let{forceUnmount:se,transitionStatus:ce}=lT(A,D,()=>{D.set(`allowMouseEnter`,!1)},T),le=Xw(D.context.popupRef);W.useEffect(()=>{if(E===void 0)return;let e=()=>{D.state.instantType===E&&D.set(`instantType`,void 0)};if(!A){e();return}if(ce!==void 0)return;if(D.context.popupRef.current==null){e();return}let t=new AbortController;return le(e,t.signal),()=>{t.abort()}},[E,A,ce,le,D]),X(()=>{g&&!_?D.update({parent:{type:`context-menu`,context:g},floatingNodeId:k,floatingParentNodeId:C}):_&&D.update({floatingNodeId:k,floatingParentNodeId:C})},[g,_,k,C,D]),W.useEffect(()=>{if(A||(z.current=null),I.type===`context-menu`){if(!A){ne.clear(),te.current=!1;return}ne.start(500,()=>{te.current=!0})}},[ne,A,I.type]),X(()=>{!A&&!N&&D.set(`hoverEnabled`,!0)},[A,N,D]);let V=Q((e,t)=>{let n=t.reason;if(!e&&!D.select(`open`)||A===e&&t.trigger===j&&F===n)return;let i=aT(t);if(!e&&t.trigger==null&&(t.trigger=j??void 0),r?.(e,t),t.isCanceled)return;D.state.floatingRootContext.dispatchOpenChange(e,t);let a=t.event;if(e===!1&&a?.type===`click`&&a.pointerType===`touch`&&!re.current)return;e&&n===`trigger-focus`?(re.current=!1,B.start(300,()=>{re.current=!0})):(re.current=!0,B.clear());let o=(n===`trigger-press`||n===`item-press`)&&a.detail===0,s=!e&&(n===`escape-key`||n==null);z.current=t.event;let c=iT(D.state,e,t.trigger,i());c.openChangeReason=n,c.instantType=I.type===`menubar`&&(n===`trigger-focus`||n===`focus-out`||n===`trigger-hover`||n===`list-navigation`||n===`sibling-open`)?`group`:o||s?o?`click`:`dismiss`:void 0,D.update(c)}),H=Kw({popupStore:D,floatingRootContext:D.state.floatingRootContext,floatingId:S,nested:C!=null,onOpenChange:V}),ue=H.context.events;X(()=>{let e=({open:e,eventDetails:t})=>V(e,t);return ue.on(`setOpen`,e),()=>{ue?.off(`setOpen`,e)}},[ue,V]);let de=W.useCallback(()=>{D.setOpen(!1,pb(ub))},[D]);W.useImperativeHandle(u,()=>({unmount:se,close:de}),[se,de]);let fe;I.type===`context-menu`&&(fe=I.context),W.useImperativeHandle(fe?.positionerRef,()=>M,[M]),W.useImperativeHandle(fe?.actionsRef,()=>({setOpen:V}),[V]);let U=DC(H,{enabled:!P,bubbles:{escapeKey:d&&I.type===`menu`},outsidePress(){return I.type!==`context-menu`||z.current?.type===`contextmenu`||te.current},externalTree:ie?O:void 0}),pe=_E(),me=W.useCallback(e=>{D.select(`activeIndex`)!==e&&D.set(`activeIndex`,e)},[D]),he=VT(H,{enabled:!P,listRef:D.context.itemDomElements,activeIndex:L,nested:I.type!==void 0,loopFocus:c,orientation:l,parentOrientation:I.type===`menubar`?I.context.orientation:void 0,rtl:pe===`rtl`,disabledIndices:sv,onNavigate:me,openOnArrowKeyDown:I.type!==`context-menu`,externalTree:ie?O:void 0,focusItemOnHover:h}),ge=W.useCallback(e=>{D.context.typingRef.current=e},[D]),_e=HT(H,{enabled:!P,listRef:D.context.itemLabels,elementsRef:D.context.itemDomElements,activeIndex:L,resetMs:500,onMatch:e=>{A&&e!==L&&D.set(`activeIndex`,e)},onTyping:ge}),ve=W.useMemo(()=>{let e=xS(_e.reference,he.reference,U.reference,{onMouseMove(){D.set(`allowMouseEnter`,!0)}},oe);return e[`aria-haspopup`]=`menu`,e[`aria-expanded`]=A,e},[D,_e.reference,he.reference,U.reference,oe,A]),ye=W.useMemo(()=>{let e=xS(he.trigger,U.trigger,oe);return e[`aria-haspopup`]=`menu`,e[`aria-expanded`]=!1,e},[he.trigger,U.trigger,oe]);Q_(()=>(D.update({inactiveTriggerProps:ye}),null)),uT(D,{floatingRootContext:H,activeTriggerProps:ve,inactiveTriggerProps:ye,popupProps:W.useMemo(()=>xS(Qw,{id:S,role:`menu`,"aria-orientation":l===`horizontal`?`horizontal`:void 0,"aria-labelledby":j?.id,onMouseMove(){D.set(`allowMouseEnter`,!0),I.type===`menu`&&D.set(`hoverEnabled`,!1)},onClick(){D.select(`hoverEnabled`)&&D.set(`hoverEnabled`,!1)},onKeyDown(e){let t=D.select(`keyboardEventRelay`);t&&!e.isPropagationStopped()&&t(e)}},_e.floating,he.floating,U.floating),[j,S,l,I.type,D,_e.floating,he.floating,U.floating]),itemProps:he.item??cv});let be=W.useMemo(()=>({store:D,parent:b}),[D,b]),xe=(0,Z.jsxs)(rA.Provider,{value:be,children:[f&&(0,Z.jsx)(tT,{handle:f,store:D}),typeof t==`function`?t({payload:R}):t]});return I.type===void 0||I.type===`context-menu`?(0,Z.jsx)(uC,{externalTree:O,children:xe}):xe});function CA(e,t,n){return Q_(()=>new _A(e,t,n)).current}function wA(e){if(Uv(e)&&e.hasAttribute(`data-rootownerid`))return e.getAttribute(`data-rootownerid`);if(!ty(e))return wA(iy(e))}function TA(e,t){let n=W.useRef(null);function r(t){XS.flushSync(()=>{e.setOpen(!1,pb(rb,t.nativeEvent,t.currentTarget))}),Hx(n.current)?.focus()}function i(n){let r=e.select(`positionerElement`);if(r&&Ux(n,r))e.context.beforeContentFocusGuardRef.current?.focus();else{XS.flushSync(()=>{e.setOpen(!1,pb(rb,n.nativeEvent,n.currentTarget))});let i=Vx(e.context.triggerFocusTargetRef.current||t.current);for(;i!==null&&ly(r,i);){let e=i;if(i=Rx(i),i===e)break}i?.focus()}}return{preFocusGuardRef:n,handlePreFocusGuardFocus:r,handleFocusTargetFocus:i}}function EA(e){let[t,n]=W.useState({getBoundingClientRect(){return DOMRect.fromRect({width:0,height:0,x:0,y:0})}}),r=W.useRef(null),i=W.useRef(null),a=W.useRef(null),o=W.useRef(null),s=W.useRef(!0),c=W.useRef(null),l=fS(),u=W.useMemo(()=>({anchor:t,setAnchor:n,actionsRef:a,backdropRef:r,internalBackdropRef:i,positionerRef:o,allowMouseUpTriggerRef:s,initialCursorPointRef:c,rootId:l}),[t,l]);return(0,Z.jsx)($k.Provider,{value:u,children:(0,Z.jsx)(rA.Provider,{value:void 0,children:(0,Z.jsx)(SA,{...e})})})}var DA=500,OA=W.forwardRef(function(e,t){let{render:n,className:r,style:i,...a}=e,{setAnchor:o,actionsRef:s,internalBackdropRef:c,backdropRef:l,positionerRef:u,allowMouseUpTriggerRef:d,initialCursorPointRef:f,rootId:p}=eA(!1),{store:m}=iA(!1),h=m.useState(`open`),g=m.useState(`disabled`),_=W.useRef(null),v=W.useRef(null),y=gv(),b=gv(),x=W.useRef(!1),S=W.useRef(null);function C(e,t,n){let r=n.type.startsWith(`touch`);f.current={x:e,y:t},o({getBoundingClientRect(){return DOMRect.fromRect({width:r?10:0,height:r?10:0,x:e,y:t})}}),x.current=!1,s.current?.setOpen(!0,pb(Zy,n)),b.start(DA,()=>{x.current=!0})}function w(e){if(g)return;d.current=!0,jv(e),C(e.clientX,e.clientY,e.nativeEvent);let t=Ib(_.current);S.current?.abort();let n=new AbortController;S.current=n,t.addEventListener(`mouseup`,e=>{if(d.current=!1,!x.current)return;b.clear(),x.current=!1;let t=uy(e);ly(u.current,t)||p&&t&&wA(t)===p||s.current?.setOpen(!1,pb(sb,e))},{once:!0,signal:n.signal})}function T(){y.clear(),v.current=null}function E(e){if(g){T();return}if(d.current=!1,e.touches.length!==1){T();return}e.stopPropagation();let t=e.touches[0],n={x:t.clientX,y:t.clientY};v.current=n,y.start(DA,()=>{C(n.x,n.y,e.nativeEvent)})}function D(e){if(e.touches.length!==1){T();return}if(y.isStarted()&&v.current){let t=e.touches[0],n=Math.abs(t.clientX-v.current.x),r=Math.abs(t.clientY-v.current.y);(n>10||r>10)&&T()}}return W.useEffect(()=>()=>{S.current?.abort()},[]),W.useEffect(()=>{function e(e){if(g)return;let t=uy(e);(ly(_.current,t)||ly(c.current,t)||ly(l.current,t))&&e.preventDefault()}return _b(Ib(_.current),`contextmenu`,e)},[l,g,c]),FS(`div`,e,{state:{open:h},ref:[_,t],props:[{onContextMenu:w,onTouchStart:E,onTouchMove:D,onTouchEnd:T,onTouchCancel:T,style:{WebkitTouchCallout:`none`}},a],stateAttributesMapping:Ny})}),kA=pA,AA=W.createContext(void 0);function jA(){let e=W.useContext(AA);if(e===void 0)throw Error(uv(53));return e}function MA(e,t,n){if(!e)return 0;let r=getComputedStyle(e),i=`${t}${n===`x`?`Inline`:`Block`}`,a=parseFloat(r[`${i}Start`]);return n===`x`&&t===`margin`?a*2:a+parseFloat(r[`${i}End`])}var NA=`data-has-overflow-x`,PA=`data-has-overflow-y`,FA=`data-overflow-x-start`,IA=`data-overflow-x-end`,LA=`data-overflow-y-start`,RA=`data-overflow-y-end`,zA=e=>t=>t?{[e]:``}:null,BA={hasOverflowX:zA(NA),hasOverflowY:zA(PA),overflowXStart:zA(FA),overflowXEnd:zA(IA),overflowYStart:zA(LA),overflowYEnd:zA(RA),cornerHidden:()=>null},VA=`--scroll-area-corner-height`,HA=`--scroll-area-corner-width`,UA=`data-orientation`,WA={x:0,y:0},GA={width:0,height:0},KA={xStart:!1,xEnd:!1,yStart:!1,yEnd:!1},qA={x:!0,y:!0,corner:!0},JA=W.forwardRef(function(e,t){let{render:n,className:r,overflowEdgeThreshold:i,style:a,...o}=e,{xStart:s,xEnd:c,yStart:l,yEnd:u}=YA(i),d=rE(),f=gv(),p=gv(),{nonce:m,disableStyleElements:h}=qO(),[g,_]=W.useState(!1),[v,y]=W.useState(!1),[b,x]=W.useState(!1),[S,C]=W.useState(!1),[w,T]=W.useState(!1),[E,D]=W.useState(GA),[O,k]=W.useState(GA),[A,j]=W.useState(KA),[M,N]=W.useState(qA),P=W.useRef(null),F=W.useRef(null),I=W.useRef(null),L=W.useRef(null),R=W.useRef(null),ee=W.useRef(null),z=W.useRef(null),te=W.useRef(null),ne=W.useRef(0),re=W.useRef(0),B=W.useRef(0),ie=W.useRef(0),ae=W.useRef(`vertical`),oe=W.useRef(WA),se=W.useRef(null);function ce(e){let t=e?x:y,n=e?f:p;t(!0),n.start(500,()=>{t(!1)})}let le=Q(e=>{let t=e.x-oe.current.x,n=e.y-oe.current.y;oe.current=e,n!==0&&ce(!0),t!==0&&ce(!1)}),V=Q(()=>{let e=F.current;e&&se.current===null&&(se.current=e.style.scrollSnapType,e.style.scrollSnapType=`none`)}),H=Q(e=>{if(e.button!==0||te.current!==null&&(ae.current===`vertical`?R.current:ee.current)?.hasPointerCapture(te.current))return;te.current=e.pointerId,ne.current=e.clientY,re.current=e.clientX,ae.current=e.currentTarget.getAttribute(UA);let t=F.current;t&&(B.current=t.scrollTop,ie.current=t.scrollLeft,V()),(ae.current===`vertical`?R.current:ee.current)?.setPointerCapture(e.pointerId)}),ue=Q(e=>{if(e.pointerId!==te.current)return;te.current=null,(ae.current===`vertical`?x:y)(!1),se.current!==null&&(F.current&&(F.current.style.scrollSnapType=se.current),se.current=null);let t=ae.current===`vertical`?R.current:ee.current;t?.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId)}),de=Q(e=>{if(e.pointerId!==te.current)return;if(e.buttons%2==0){ue(e);return}let t=F.current;if(!t)return;let n=ae.current===`vertical`,r=n?R.current:ee.current,i=n?I.current:L.current;if(!r||!i)return;let a=n?`y`:`x`,o=MA(i,`padding`,a),s=MA(r,`margin`,a),c=n?r.offsetHeight:r.offsetWidth,l=(n?i.offsetHeight:i.offsetWidth)-c-o-s,u=n?e.clientY-ne.current:e.clientX-re.current,d=l<=0?0:u/l,f=n?t.scrollHeight:t.scrollWidth,p=n?t.clientHeight:t.clientWidth,m=(n?B.current:ie.current)+d*(f-p);n?t.scrollTop=m:t.scrollLeft=m,e.preventDefault(),ce(n)});function fe(e){C(e.pointerType===`touch`)}function U(e){if(fe(e),e.pointerType!==`touch`){let t=ly(P.current,e.target);_(t)}}let pe=W.useMemo(()=>({scrolling:v||b,hasOverflowX:!M.x,hasOverflowY:!M.y,overflowXStart:A.xStart,overflowXEnd:A.xEnd,overflowYStart:A.yStart,overflowYEnd:A.yEnd,cornerHidden:M.corner}),[v,b,M.x,M.y,M.corner,A]),me={role:`presentation`,onPointerEnter:U,onPointerMove:U,onPointerDown:fe,onPointerLeave(){_(!1)},style:{position:`relative`,[VA]:`${E.height}px`,[HA]:`${E.width}px`}},he=FS(`div`,e,{state:pe,ref:[t,P],props:[me,o],stateAttributesMapping:BA}),ge=W.useMemo(()=>({handlePointerDown:H,handlePointerMove:de,handlePointerUp:ue,handleScroll:le,disableViewportSnap:V,cornerSize:E,setCornerSize:D,thumbSize:O,setThumbSize:k,hasMeasuredScrollbar:w,setHasMeasuredScrollbar:T,touchModality:S,cornerRef:z,scrollingX:v,scrollingY:b,hovering:g,setHovering:_,viewportRef:F,scrollbarYRef:I,scrollbarXRef:L,thumbYRef:R,thumbXRef:ee,rootId:d,hiddenState:M,setHiddenState:N,overflowEdges:A,setOverflowEdges:j,viewportState:pe,overflowEdgeThreshold:{xStart:s,xEnd:c,yStart:l,yEnd:u}}),[H,de,ue,le,V,E,O,w,S,v,b,g,d,M,A,pe,s,c,l,u]);return(0,Z.jsxs)(AA.Provider,{value:ge,children:[!h&&jO.getElement(m),he]})});function YA(e){let t=typeof e==`number`?{xStart:e,xEnd:e,yStart:e,yEnd:e}:e;return{xStart:Math.max(0,t?.xStart||0),xEnd:Math.max(0,t?.xEnd||0),yStart:Math.max(0,t?.yStart||0),yEnd:Math.max(0,t?.yEnd||0)}}var XA=W.createContext(void 0),ZA=`--scroll-area-overflow-x-start`,QA=`--scroll-area-overflow-x-end`,$A=`--scroll-area-overflow-y-start`,ej=`--scroll-area-overflow-y-end`,tj=`--scroll-area-thumb-height`,nj=`--scroll-area-thumb-width`,rj=[ZA,QA,$A,ej],ij=!1;function aj(){ij||Ov||(typeof CSS<`u`&&`registerProperty`in CSS&&rj.forEach(e=>{try{CSS.registerProperty({name:e,syntax:`<length>`,inherits:!1,initialValue:`0px`})}catch{}}),ij=!0)}var oj=W.forwardRef(function(e,t){let{render:n,className:r,style:i,...a}=e,{viewportRef:o,scrollbarYRef:s,scrollbarXRef:c,thumbYRef:l,thumbXRef:u,cornerRef:d,cornerSize:f,setCornerSize:p,setThumbSize:m,rootId:h,setHiddenState:g,hiddenState:_,setHasMeasuredScrollbar:v,handleScroll:y,touchModality:b,setHovering:x,setOverflowEdges:S,overflowEdgeThreshold:C,viewportState:w}=jA(),T=_E(),E=W.useRef(!0),D=W.useRef([NaN,NaN,NaN,NaN]),O=gv(),k=gv(),A=Q(()=>{let e=o.current,t=s.current,n=c.current,r=l.current,i=u.current,a=d.current;if(!e)return;let h=e.scrollHeight,_=e.scrollWidth,y=e.clientHeight,b=e.clientWidth,x=e.scrollTop,w=e.scrollLeft,E=D.current,O=Number.isNaN(E[0]);if(E[0]=y,E[1]=h,E[2]=b,E[3]=_,O&&v(!0),h===0||_===0)return;let k=sj(e),A=k.y,j=k.x,M=b/_,N=y/h,P=Math.max(0,_-b),F=Math.max(0,h-y),I=0,L=0;j||(I=FD(T===`rtl`?-w:w,P),L=P-I);let R=A?0:FD(x,F),ee=A?0:F-R,z=j?0:b,te=A?0:y,ne=0,re=0;!j&&!A&&(ne=t?.offsetWidth||0,re=n?.offsetHeight||0);let B=f.width===0&&f.height===0,ie=B?ne:0,ae=B?re:0,oe=MA(n,`padding`,`x`),se=MA(t,`padding`,`y`),ce=MA(i,`margin`,`x`),le=MA(r,`margin`,`y`),V=z-oe-ce,H=te-se-le,ue=n?Math.min(n.offsetWidth-ie,V):V,de=t?Math.min(t.offsetHeight-ae,H):H,fe=Math.max(16,ue*M),U=Math.max(16,de*N);if(m(e=>cj(e,{width:fe,height:U})),t&&r){let e=lj(r,tj,x,F,h,U,t.offsetHeight-U-se-le);r.style.transform=`translate3d(0,${e}px,0)`}if(n&&i){let e=n.offsetWidth-fe-oe-ce,t=lj(i,nj,T===`rtl`?-w:w,P,_,fe,e);i.style.transform=`translate3d(${T===`rtl`?-t:t}px,0,0)`}let pe=[I,L,R,ee];rj.forEach((t,n)=>{e.style.setProperty(t,`${pe[n]}px`)}),a&&p(e=>cj(e,{width:ne,height:re})),g(e=>cj(e,k));let me={xStart:!j&&I>C.xStart,xEnd:!j&&L>C.xEnd,yStart:!A&&R>C.yStart,yEnd:!A&&ee>C.yEnd};S(e=>cj(e,me))});X(()=>{aj()},[]),X(()=>{queueMicrotask(A)},[A,_,T,C.xStart,C.xEnd,C.yStart,C.yEnd]),X(()=>{o.current?.matches(`:hover`)&&x(!0)},[o,x]),X(()=>{let e=o.current;if(typeof ResizeObserver>`u`||!e)return;let t=!1,n=new ResizeObserver(()=>{if(!t){t=!0;let n=D.current;if(n[0]===e.clientHeight&&n[1]===e.scrollHeight&&n[2]===e.clientWidth&&n[3]===e.scrollWidth)return}A()});return n.observe(e),k.start(0,()=>{let t=e.getAnimations({subtree:!0});t.length!==0&&Promise.allSettled(t.map(e=>e.finished)).then(A).catch(()=>{})}),()=>{n.disconnect(),k.clear()}},[A,o,k]);function j(){E.current=!1}let M={role:`presentation`,...h&&{"data-id":`${h}-viewport`},tabIndex:_.x&&_.y?-1:0,className:jO.className,style:{overflow:`scroll`},onScroll(){o.current&&(A(),(b||!E.current)&&y({x:o.current.scrollLeft,y:o.current.scrollTop}),O.start(100,()=>{E.current=!0}))},onWheel:j,onPointerMove:j,onPointerEnter:j,onKeyDown:j},N=FS(`div`,e,{ref:[t,o],state:w,props:[M,a],stateAttributesMapping:BA}),P=W.useMemo(()=>({computeThumbPosition:A}),[A]);return(0,Z.jsx)(XA.Provider,{value:P,children:N})});function sj(e){let t=e.clientHeight>=e.scrollHeight,n=e.clientWidth>=e.scrollWidth;return{y:t,x:n,corner:t||n}}function cj(e,t){for(let n in t)if(e[n]!==t[n])return t;return e}function lj(e,t,n,r,i,a,o){let s=ND(n,0,r),c=n-s,l=Math.max(16,a*i/(i+Math.abs(c)));return e.style.setProperty(t,c?`${l}px`:``),(r?s/r*o:0)+(c>0?a-l:0)}var uj=W.createContext(void 0);function dj(){let e=W.useContext(uj);if(e===void 0)throw Error(uv(54));return e}var fj=W.forwardRef(function(e,t){let{render:n,className:r,orientation:i=`vertical`,keepMounted:a=!1,style:o,...s}=e,{hovering:c,scrollingX:l,scrollingY:u,hiddenState:d,scrollbarYRef:f,scrollbarXRef:p,viewportRef:m,thumbYRef:h,thumbXRef:g,handlePointerDown:_,handlePointerUp:v,handleScroll:y,disableViewportSnap:b,rootId:x,thumbSize:S,hasMeasuredScrollbar:C,viewportState:w}=jA(),T=i===`vertical`,E={...w,hovering:c,scrolling:T?u:l,orientation:i},D=_E(),O=!C&&!a,k=T?d.y:d.x,A=a||!k;W.useEffect(()=>{if(!A)return;let e=m.current,t=T?f.current:p.current;if(!t)return;function n(t){if(!e||t.ctrlKey)return;let n=!T,r=n?`scrollLeft`:`scrollTop`,i=n?t.deltaX:t.deltaY;if(i===0)return;let a=n?e.scrollWidth-e.clientWidth:e.scrollHeight-e.clientHeight,o=n&&D===`rtl`?-a:0,s=n&&D===`rtl`?0:a,c=e[r];c<=o&&i<0||c>=s&&i>0||(t.preventDefault(),e[r]=Math.min(s,Math.max(o,c+i)),y({x:e.scrollLeft,y:e.scrollTop}))}return _b(t,`wheel`,n,{passive:!1})},[D,y,T,p,f,A,m]);let j={...x&&{"data-id":`${x}-scrollbar`},"aria-hidden":!0,onPointerDown(e){if(e.button!==0)return;let t=uy(e.nativeEvent),n=T?h.current:g.current;if(n&&ly(n,t))return;let r=m.current;if(!r)return;let i=T?f.current:p.current;if(!n||!i)return;let a=T?`y`:`x`,o=MA(n,`margin`,a),s=MA(i,`padding`,a),c=T?n.offsetHeight:n.offsetWidth,l=i.getBoundingClientRect(),u=T?e.clientY-l.top-c/2-s+o/2:e.clientX-l.left-c/2-s+o/2,d=T?r.scrollHeight:r.scrollWidth,v=T?r.clientHeight:r.clientWidth,x=(T?i.offsetHeight:i.offsetWidth)-c-s-o;if(x<=0)return;let S=u/x,C=d-v;b(),T?r.scrollTop=S*C:r.scrollLeft=D===`rtl`?-(1-S)*C:S*C,y({x:r.scrollLeft,y:r.scrollTop}),_(e)},onMouseDown(e){e.preventDefault()},onPointerUp:v,onPointerCancel:v,style:{position:`absolute`,touchAction:`none`,WebkitUserSelect:`none`,userSelect:`none`,visibility:O?`hidden`:void 0,...T?{top:0,bottom:`var(${VA})`,insetInlineEnd:0,[tj]:`${S.height}px`}:{insetInlineStart:0,insetInlineEnd:`var(${HA})`,bottom:0,[nj]:`${S.width}px`}}},M=FS(`div`,e,{ref:[t,T?f:p],state:E,props:[j,s],stateAttributesMapping:BA});return A?(0,Z.jsx)(uj.Provider,{value:i,children:M}):null}),pj=W.forwardRef(function(e,t){let{render:n,className:r,style:i,...a}=e,{thumbYRef:o,thumbXRef:s,handlePointerDown:c,handlePointerMove:l,handlePointerUp:u,scrollingX:d,scrollingY:f,hasMeasuredScrollbar:p}=jA(),m=dj(),h=m===`vertical`;return FS(`div`,e,{ref:[t,h?o:s],state:{scrolling:h?f:d,orientation:m},props:[{onPointerDown:c,onPointerMove:l,onPointerUp:u,onPointerCancel:u,style:{visibility:p?void 0:`hidden`,...h?{height:`var(--scroll-area-thumb-height)`}:{width:`var(--scroll-area-thumb-width)`}}},a]})}),mj=W.createContext(void 0);function hj(e){let t=W.useContext(mj);if(!e&&t===void 0)throw Error(uv(27));return t}var gj=W.forwardRef(function(e,t){let{render:n,className:r,style:i,forceRender:a=!1,...o}=e,s=hj(),c=s.useState(`open`),l=s.useState(`nested`),u=s.useState(`mounted`);return FS(`div`,e,{state:{open:c,transitionStatus:s.useState(`transitionStatus`)},ref:[s.context.backdropRef,t],stateAttributesMapping:Fy,props:[{role:`presentation`,hidden:!u,style:{userSelect:`none`,WebkitUserSelect:`none`}},o],enabled:a||!l})}),_j=W.forwardRef(function(e,t){let{render:n,className:r,style:i,disabled:a=!1,nativeButton:o=!0,...s}=e,c=hj(),l=c.useState(`open`),{getButtonProps:u,buttonRef:d}=GD({disabled:a,native:o}),f={disabled:a};function p(e){l&&c.setOpen(!1,pb(nb,e.nativeEvent))}return FS(`button`,e,{state:f,ref:[t,d],props:[{onClick:p},s,u]})}),vj=W.forwardRef(function(e,t){let{render:n,className:r,style:i,id:a,...o}=e,s=hj(),c=rE(a);return s.useSyncedValueWithCleanup(`descriptionElementId`,c),FS(`p`,e,{ref:t,props:[{id:c},o]})}),yj=W.createContext(void 0);function bj(){let e=W.useContext(yj);if(e===void 0)throw Error(uv(26));return e}var xj=`--nested-dialogs`,Sj=`data-nested-dialog-open`,Cj={...Py,...xy,nestedDialogOpen(e){return e?{[Sj]:``}:null}},wj=W.forwardRef(function(e,t){let{render:n,className:r,style:i,finalFocus:a,initialFocus:o,...s}=e,c=hj(),l=c.useState(`descriptionElementId`),u=c.useState(`disablePointerDismissal`),d=c.useState(`floatingRootContext`),f=c.useState(`popupProps`),p=c.useState(`modal`),m=c.useState(`mounted`),h=c.useState(`nested`),g=c.useState(`nestedOpenDialogCount`),_=c.useState(`open`),v=c.useState(`openMethod`),y=c.useState(`titleElementId`),b=c.useState(`transitionStatus`),x=c.useState(`role`),S=d.useState(`floatingId`);bj(),Zw({open:_,ref:c.context.popupRef,onComplete(){_&&c.context.onOpenChangeComplete?.(!0)}});let C=o===void 0?$w(c.context.popupRef):o,w=g>0,T=c.useStateSetter(`popupElement`),E=FS(`div`,e,{state:{open:_,nested:h,transitionStatus:b,nestedDialogOpen:w},props:[f,{id:S,"aria-labelledby":y,"aria-describedby":l,role:x,...Qw,hidden:!m,onKeyDown(e){RO.has(e.key)&&e.stopPropagation()},style:{[xj]:g}},s],ref:[t,c.context.popupRef,T],stateAttributesMapping:Cj});return(0,Z.jsx)(bC,{context:d,openInteractionType:v,disabled:!m,closeOnFocusOut:!u,initialFocus:C,returnFocus:a,modal:p!==!1,restoreFocus:`popup`,children:E})}),Tj=W.forwardRef(function(e,t){let{keepMounted:n=!1,...r}=e,i=hj(),a=i.useState(`mounted`),o=i.useState(`modal`),s=i.useState(`open`);return a||n?(0,Z.jsx)(yj.Provider,{value:n,children:(0,Z.jsxs)(tC,{ref:t,...r,children:[a&&o===!0&&(0,Z.jsx)(fO,{ref:i.context.internalBackdropRef,inert:RE(!s)}),e.children]})}):null});function Ej({store:e,parentContext:t,isDrawer:n}){let r=e.useState(`open`),i=e.useState(`disablePointerDismissal`),a=e.useState(`modal`),o=e.useState(`popupElement`),s=e.useState(`floatingRootContext`),[c,l]=W.useState(0),[u,d]=W.useState(0),f=c===0,p=DC(s,{outsidePressEvent(){return e.context.internalBackdropRef.current||e.context.backdropRef.current?`intentional`:{mouse:a===`trap-focus`?`sloppy`:`intentional`,touch:`sloppy`}},outsidePress(t){if(!e.context.outsidePressEnabledRef.current||`button`in t&&t.button!==0)return!1;if(`touches`in t){if(t.type===`touchend`){if(t.changedTouches.length!==1||t.touches.length!==0)return!1}else if(t.touches.length!==1)return!1}let n=uy(t);if(f&&!i){if(a){let t=e.context.internalBackdropRef.current,r=e.context.backdropRef.current;return t||r?t===n||r===n||ly(n,o)&&!n?.hasAttribute(`data-base-ui-portal`):!0}return!0}return!1},escapeKey:f});return TO(r&&a===!0,o),e.useContextCallback(`onNestedDialogOpen`,(e,t)=>{l(e),d(t)}),X(()=>(t?.onNestedDialogOpen&&(r?t.onNestedDialogOpen(c+1,u+ +!!n):t.onNestedDialogOpen(0,0)),()=>{t?.onNestedDialogOpen&&r&&t.onNestedDialogOpen(0,0)}),[n,r,c,u,t]),uT(e,{activeTriggerProps:p.reference,inactiveTriggerProps:p.trigger,popupProps:p.floating,nestedOpenDialogCount:c,nestedOpenDrawerCount:u}),null}var Dj={...yT,modal:e=>e.modal,nested:e=>e.nested,nestedOpenDialogCount:e=>e.nestedOpenDialogCount,nestedOpenDrawerCount:e=>e.nestedOpenDrawerCount,disablePointerDismissal:e=>e.disablePointerDismissal,openMethod:e=>e.openMethod,descriptionElementId:e=>e.descriptionElementId,titleElementId:e=>e.titleElementId,viewportElement:e=>e.viewportElement,role:e=>e.role},Oj=class extends Uw{constructor(e,t,n){let r=new fT,i=kj(e,r,t,n);super(i,Aj(r),Dj)}setOpen=(e,t)=>{t.preventUnmountOnClose=()=>{this.set(`preventUnmountingOnClose`,!0)},!e&&t.trigger==null&&this.state.activeTriggerId!=null&&(t.trigger=this.state.activeTriggerElement??void 0),this.context.onOpenChange?.(e,t),!t.isCanceled&&(this.state.floatingRootContext.dispatchOpenChange(e,t),this.update(iT(this.state,e,t.trigger)))}};function kj(e,t,n,r=!1){return{...pT(t,n,r),modal:!0,disablePointerDismissal:!1,viewportElement:null,descriptionElementId:void 0,titleElementId:void 0,openMethod:null,nested:!1,nestedOpenDialogCount:0,nestedOpenDrawerCount:0,role:`dialog`,...e}}function Aj(e){return{popupRef:W.createRef(),backdropRef:W.createRef(),internalBackdropRef:W.createRef(),outsidePressEnabledRef:{current:!0},triggerElements:e,onOpenChange:void 0,onOpenChangeComplete:void 0}}function jj(e,t){let{children:n,open:r,defaultOpen:i=!1,onOpenChange:a,onOpenChangeComplete:o,disablePointerDismissal:s=!1,modal:c=!0,actionsRef:l,handle:u,triggerId:d,defaultTriggerId:f=null}=t,p=e===`drawer`,m=e===`alert-dialog`,h=m?!0:c,g=m||s,_=m?`alertdialog`:`dialog`,v=hj(!0),y={modal:h,disablePointerDismissal:g,nested:v!=null,role:_},b=eT((e,t)=>new Oj({open:i,openProp:r,activeTriggerId:f,triggerIdProp:d,...y},e,t),!0);b.useControlledProp(`openProp`,r),b.useControlledProp(`triggerIdProp`,d),b.useSyncedValues(y),b.useContextCallback(`onOpenChange`,a),b.useContextCallback(`onOpenChangeComplete`,o);let x=b.useState(`open`),S=b.useState(`mounted`),C=b.useState(`payload`);dT(b,x),cT(b);let{forceUnmount:w}=lT(x,b);W.useImperativeHandle(l,()=>({unmount:w,close:()=>b.setOpen(!1,pb(ub))}),[w,b]);let T=x||S;return(0,Z.jsxs)(mj.Provider,{value:b,children:[u&&(0,Z.jsx)(tT,{handle:u,store:b}),T&&(0,Z.jsx)(Ej,{store:b,parentContext:v?.context,isDrawer:p}),typeof n==`function`?n({payload:C}):n]})}var Mj=rv(function(e){return jj(`dialog`,e)}),Nj=W.forwardRef(function(e,t){let{render:n,className:r,style:i,children:a,...o}=e,s=bj(),c=hj(),l=c.useState(`open`),u=c.useState(`nested`),d=c.useState(`transitionStatus`),f=c.useState(`nestedOpenDialogCount`),p=c.useState(`mounted`),m=c.useStateSetter(`viewportElement`);return FS(`div`,e,{enabled:s||p,state:{open:l,nested:u,transitionStatus:d,nestedDialogOpen:f>0},ref:[t,m],stateAttributesMapping:Cj,props:[{role:`presentation`,hidden:!p,style:{pointerEvents:l?void 0:`none`},children:a},o]})}),Pj=W.forwardRef(function(e,t){let{render:n,className:r,style:i,id:a,...o}=e,s=hj(),c=rE(a);return s.useSyncedValueWithCleanup(`titleElementId`,c),FS(`h2`,e,{ref:t,props:[{id:c},o]})}),Fj=iv(function(e,t){let{render:n,className:r,style:i,disabled:a=!1,nativeButton:o=!0,id:s,payload:c,handle:l,...u}=e,d=hj(!0),f=bT(l)??d;if(!f)throw Error(uv(79));let p=rE(s),m=f.useState(`floatingRootContext`),h=f.useState(`isOpenedByTrigger`,p),g=f.useState(`triggerPopupId`,p),_=W.useRef(null),{registerTrigger:v,isMountedByThisTrigger:y}=sT(p,_,f,{payload:c}),{getButtonProps:b,buttonRef:x}=GD({disabled:a,native:o}),S=xC(m),C=jD(()=>f.select(`open`),e=>{f.set(`openMethod`,e)}),w={disabled:a,open:h},T=f.useState(`triggerProps`,y);return FS(`button`,e,{state:w,ref:[x,t,v,_],props:[S.reference,T,C,{[US]:``,id:p,"aria-haspopup":`dialog`,"aria-expanded":h,"aria-controls":g},u,b],stateAttributesMapping:My})}),Ij=`--nested-drawers`,Lj=`--drawer-height`,Rj=`--drawer-frontmost-height`,zj=`--drawer-swipe-movement-x`,Bj=`--drawer-swipe-movement-y`,Vj=`--drawer-snap-point-offset`,Hj=`--drawer-swipe-strength`,Uj=`--drawer-swipe-progress`,Wj=W.forwardRef(function(e,t){let{render:n,className:r,style:i,forceRender:a=!1,...o}=e,s=hj(),c=s.useState(`open`),l=s.useState(`nested`),u=s.useState(`mounted`);return FS(`div`,e,{state:{open:c,transitionStatus:s.useState(`transitionStatus`)},ref:[s.context.backdropRef,t],stateAttributesMapping:Fy,props:[{role:`presentation`,hidden:!u,style:{pointerEvents:c?void 0:`none`,userSelect:`none`,WebkitUserSelect:`none`,[Uj]:`0`,[Hj]:`1`}},o],enabled:a||!l})}),Gj=_j,Kj=`data-drawer-content`,qj=vj,Jj=W.createContext(void 0);function Yj(){return W.useContext(Jj)}var Xj=`data-expanded`,Zj=`data-nested-drawer-open`,Qj=`data-nested-drawer-swiping`,$j=`data-swipe-dismiss`,eM=`data-swipe-direction`,tM=`data-swiping`,nM=W.createContext(void 0);function rM(e){let t=W.useContext(nM);if(e!==!0&&t===void 0)throw Error(uv(90));return t}function iM(e,t){let n=e+t;return n>=0?t:-Math.sqrt(-n)-e}function aM(e,t,n){if(!Number.isFinite(t)||t<=0)return null;if(typeof e==`number`)return Number.isFinite(e)?e<=1?ND(e,0,1)*t:e:null;let r=e.trim();if(r.endsWith(`px`)){let e=Number.parseFloat(r);return Number.isFinite(e)?e:null}if(r.endsWith(`rem`)){let e=Number.parseFloat(r);return Number.isFinite(e)?e*n:null}return null}function oM(e,t){let n=-1,r=1/0;for(let i=0;i<e.length;i+=1){let a=Math.abs(e[i]-t);a<r&&(r=a,n=i)}return n}function sM(){let e=hj(),{snapPoints:t,activeSnapPoint:n,setActiveSnapPoint:r,popupHeight:i}=rM(),a=e.useState(`viewportElement`),[o,s]=W.useState(0),[c,l]=W.useState(16),u=Q(()=>{let e=Ib(a).documentElement;s(a?a.offsetHeight:e.clientHeight);let t=parseFloat(getComputedStyle(e).fontSize);Number.isFinite(t)&&l(t)});X(()=>{if(u(),!a||typeof ResizeObserver!=`function`)return;let e=new ResizeObserver(u);return e.observe(a),()=>{e.disconnect()}},[u,a]);let d=W.useMemo(()=>{if(!t||t.length===0||o<=0||i<=0)return[];let e=Math.min(i,o),n=t.map(t=>{let n=aM(t,o,c);if(n===null)return null;let r=ND(n,0,e);return{value:t,height:r,offset:Math.max(0,i-r)}}).filter(e=>!!e);if(n.length<=1)return n;let r=[],a=[];for(let e=n.length-1;e>=0;--e){let t=n[e];a.some(e=>Math.abs(e-t.height)<=1)||(a.push(t.height),r.push(t))}return r.reverse(),r},[i,c,t,o]);return{snapPoints:t,activeSnapPoint:n,setActiveSnapPoint:r,popupHeight:i,viewportHeight:o,resolvedSnapPoints:d,activeSnapPointOffset:W.useMemo(()=>{if(n===null)return;let e=d.find(e=>Object.is(e.value,n));if(e)return e;let t=Math.min(i,o),r=aM(n,o,c);if(r===null)return;let a=ND(r,0,t);return d[oM(d.map(e=>e.height),a)]},[n,i,d,c,o])?.offset??null}}var cM=W.createContext(null);function lM(){return W.useContext(cM)}var uM=!1;function dM(){uM||=(typeof CSS<`u`&&`registerProperty`in CSS&&([zj,Bj,Vj].forEach(e=>{try{CSS.registerProperty({name:e,syntax:`<length>`,inherits:!1,initialValue:`0px`})}catch{}}),[{name:Uj,initialValue:`0`},{name:Hj,initialValue:`1`}].forEach(({name:e,initialValue:t})=>{try{CSS.registerProperty({name:e,syntax:`<number>`,inherits:!1,initialValue:t})}catch{}})),!0)}var fM={...Fy,expanded(e){return e?{[Xj]:``}:null},nestedDrawerOpen(e){return e?{[Zj]:``}:null},nestedDrawerSwiping(e){return e?{[Qj]:``}:null},swipeDirection(e){return{[eM]:e}},swiping(e){return e?{[tM]:``}:null}},pM=W.forwardRef(function(e,t){let{render:n,className:r,style:i,finalFocus:a,initialFocus:o,...s}=e,c=hj(),l=c.context.popupRef,{swipeDirection:u,frontmostHeight:d,hasNestedDrawer:f,nestedSwiping:p,nestedSwipeProgressStore:m,onPopupHeightChange:h,notifyParentFrontmostHeight:g,notifyParentHasNestedDrawer:_}=rM(),v=c.useState(`descriptionElementId`),y=c.useState(`disablePointerDismissal`),b=c.useState(`floatingRootContext`),x=c.useState(`popupProps`),S=c.useState(`modal`),C=c.useState(`mounted`),w=c.useState(`nested`),T=c.useState(`nestedOpenDrawerCount`),E=c.useState(`transitionStatus`),D=c.useState(`open`),O=c.useState(`openMethod`),k=c.useState(`titleElementId`),A=c.useState(`role`),j=b.useState(`floatingId`),M=s.id??j,N=lM();bj();let{snapPoints:P,activeSnapPoint:F,activeSnapPointOffset:I}=sM(),L=T>0,R=N?.swiping??!1,ee=N?.swipeStrength??null,[z,te]=W.useState(0),ne=W.useRef(0),re=Q(()=>{let e=l.current;if(!e)return;let t=e.offsetHeight;if(ne.current>0&&d>ne.current&&t>ne.current)return;if(ne.current>0&&f){let e=ne.current;te(e),h(e);return}let n=t;n!==ne.current&&(ne.current=n,te(n),h(n))});X(()=>{if(!C){ne.current=0,te(0),h(0);return}let e=l.current;if(!e||(dM(),re(),typeof ResizeObserver!=`function`))return;let t=new ResizeObserver(re);return t.observe(e),()=>{t.disconnect()}},[re,C,L,h,l]),X(()=>{let e=()=>{let e=l.current;if(!e)return;let t=m.getSnapshot();t>0?e.style.setProperty(Uj,`${t}`):e.style.setProperty(Uj,`0`)};e();let t=m.subscribe(e),n=l.current;return()=>{t(),n&&n.style.setProperty(Uj,`0`)}},[m,l]),X(()=>{if(D)return g?.(d),()=>{g?.(0)}},[d,D,g]),X(()=>{if(_)return _(D||E===`ending`),()=>{_(!1)}},[_,D,E]),Zw({open:D,ref:l,onComplete(){D&&c.context.onOpenChangeComplete?.(!0)}});let B=o===void 0?l:o,ie=c.useStateSetter(`popupElement`),ae={open:D,nested:w,transitionStatus:E,expanded:F===1,nestedDrawerOpen:L,nestedDrawerSwiping:p,swipeDirection:u,swiping:R},oe;z&&(f||E===`ending`)&&(oe=`${z}px`);let se=P&&P.length>0&&(u===`down`||u===`up`),ce=null;se&&I!==null&&(ce=u===`up`?-I:I);let le=N?N.getDragStyles():cv;if(se&&u===`down`){let e=I??0,t=Number.parseFloat(String(le[Bj]));le=R&&Number.isFinite(t)?{...le,transform:void 0,[Bj]:`${iM(e,t)}px`}:{...le,transform:void 0}}let V=FS(`div`,e,{state:ae,props:[x,{id:M,"aria-labelledby":k,"aria-describedby":v,role:A,...Qw,hidden:!C,onKeyDown(e){RO.has(e.key)&&e.stopPropagation()},style:{...le,[Uj]:`0`,[Ij]:T,[Lj]:oe,[Vj]:typeof ce==`number`?`${ce}px`:`0px`,[Rj]:d?`${d}px`:void 0,[Hj]:typeof ee==`number`&&Number.isFinite(ee)&&ee>0?`${ee}`:`1`}},s],ref:[t,l,ie],stateAttributesMapping:fM});return(0,Z.jsx)(bC,{context:b,openInteractionType:O,disabled:!C,closeOnFocusOut:!y,initialFocus:B,returnFocus:a,modal:S!==!1,restoreFocus:`popup`,children:V})}),mM=Tj,hM,gM;function _M(e){let{children:t,open:n,defaultOpen:r=!1,onOpenChange:i,onOpenChangeComplete:a,disablePointerDismissal:o=!1,modal:s=!0,actionsRef:c,handle:l,triggerId:u,defaultTriggerId:d=null,swipeDirection:f=`down`,snapToSequentialPoints:p=!1,snapPoints:m,snapPoint:h,defaultSnapPoint:g,onSnapPointChange:_}=e,v=rM(!0),y=v?.onNestedSwipeProgressChange,b=v?.onNestedFrontmostHeightChange,x=v?.onNestedSwipingChange,S=v?.onNestedDrawerPresenceChange,[C,w]=W.useState(0),[T,E]=W.useState(0),[D,O]=W.useState(!1),[k,A]=W.useState(!1),[j]=W.useState(vM),M=g===void 0?m?.[0]??null:g,N=h!==void 0,[P,F]=HE({controlled:h,default:M,name:`Drawer`,state:`snapPoint`}),I=W.useRef(!1),L=W.useRef(!1),R=Q((e,t)=>{let n=t??pb(`none`);_?.(e,n),!n.isCanceled&&F(e)}),ee=W.useMemo(()=>N||!m||m.length===0?P:P===null||!m.some(e=>Object.is(e,P))?M:P,[P,N,M,m]),z=Q(e=>{w(e),!I.current&&e>0&&E(e)}),te=Q(e=>{if(e>0){I.current=!0,E(e);return}I.current=!1,C>0&&E(C)}),ne=Q(e=>{O(e)}),re=Q(e=>{j.set(e),y?.(e)}),B=Q(e=>{A(e),x?.(e)}),ie=Q((e,t)=>{i?.(e,t),!t.isCanceled&&!e&&m&&m.length>0&&R(M,pb(t.reason,t.event,t.trigger))}),ae=W.useMemo(()=>({swipeDirection:f,swipeAreaActiveRef:L,snapToSequentialPoints:p,snapPoints:m,activeSnapPoint:ee,setActiveSnapPoint:R,frontmostHeight:T,popupHeight:C,hasNestedDrawer:D,nestedSwiping:k,nestedSwipeProgressStore:j,onNestedDrawerPresenceChange:ne,onPopupHeightChange:z,onNestedFrontmostHeightChange:te,onNestedSwipingChange:B,onNestedSwipeProgressChange:re,notifyParentFrontmostHeight:b,notifyParentSwipingChange:x,notifyParentSwipeProgressChange:y,notifyParentHasNestedDrawer:S}),[ee,T,D,k,j,S,y,x,b,ne,te,re,B,z,C,R,m,p,L,f]),oe=jj(`drawer`,{open:n,defaultOpen:r,onOpenChange:ie,onOpenChangeComplete:a,disablePointerDismissal:o,modal:s,actionsRef:c,handle:l,triggerId:u,defaultTriggerId:d,children:typeof t==`function`?e=>(0,Z.jsxs)(W.Fragment,{children:[hM||=(0,Z.jsx)(yM,{}),t(e)]}):(0,Z.jsxs)(W.Fragment,{children:[gM||=(0,Z.jsx)(yM,{}),t]})});return(0,Z.jsx)(nM.Provider,{value:ae,children:oe})}function vM(){let e=0,t=new Set;return{getSnapshot:()=>e,set(n){let r=Number.isFinite(n)?n:0;r!==e&&(e=r,t.forEach(e=>{e()}))},subscribe(e){return t.add(e),()=>{t.delete(e)}}}}function yM(){let e=Yj(),t=hj(!1),n=e?.setDrawerOpen,r=e?.removeDrawer,i=t.useState(`open`),a=t.useState(`nestedOpenDialogCount`),o=t.useState(`popupElement`),s=a===0;return X(()=>{if(r)return()=>{r(t)}},[r,t]),X(()=>{n?.(t,i)},[i,n,t]),W.useEffect(()=>{if(!i||!s||!Tv)return;let e=zv(o).CloseWatcher;if(!e)return;function n(e){t.select(`open`)&&t.setOpen(!1,pb(ab,e))}let r=new e,a=_b(r,`close`,n);return()=>{a(),r.destroy()}},[t,s,i,o]),null}function bM(e,t=!1){let{overflowY:n}=ny(e);return n!==`auto`&&n!==`scroll`?!1:t?e.clientHeight>0:e.scrollHeight>e.clientHeight}function xM(e,t=!1){let{overflowX:n}=ny(e);return n!==`auto`&&n!==`scroll`?!1:t?e.clientWidth>0:e.scrollWidth>e.clientWidth}function SM(e,t,n=!1){return t===`vertical`?bM(e,n):xM(e,n)}function CM(e,t,n){let r=e;for(;Uv(r)&&r!==t&&!ty(r);){for(let e of n)if(SM(r,e))return!0;r=iy(r)}return!1}function wM(e,t,n=`vertical`,r=!1){let i=Uv(e)?e:null;for(;Uv(i)&&i!==t&&!ty(i);){if(SM(i,n,r))return i;i=iy(i)}return SM(t,n,r)?t:null}function TM(e,t,n){return typeof e?.elementFromPoint==`function`?e.elementFromPoint(t,n):null}function EM(e,t){let n=(t??zv(e).getComputedStyle(e)).transform,r=0,i=0,a=1;if(n&&n!==`none`){let e=n.match(/matrix(?:3d)?\(([^)]+)\)/);if(e){let t=e[1].split(`, `).map(parseFloat);t.length===6?(r=t[4],i=t[5],a=Math.sqrt(t[0]*t[0]+t[1]*t[1])):t.length===16&&(r=t[12],i=t[13],a=t[0])}}return{x:r,y:i,scale:a}}var DM=40,OM=10,kM=1,AM=50,jM=16,MM=80,NM=`button,a,input,select,textarea,label,[role="button"]`;function PM(e,t,n){switch(e){case`up`:return-n;case`down`:return n;case`left`:return-t;case`right`:return t;default:return 0}}function FM(e){return Number.isFinite(e)&&e>0?e:null}function IM(e,t){return`translate3d(${e.x}px,${e.y}px,0) scale(${t})`}function LM(e){return e%2==1}function RM(e,t,n){let r=e[n];if(typeof r==`function`)try{r.call(e,t)}catch(e){if(e&&typeof e==`object`&&`name`in e&&e.name===`NotFoundError`)return;throw e}}function zM(e){let{enabled:t,directions:n,elementRef:r,movementCssVars:i,canStart:a,ignoreSelectorWhenTouch:o=!0,ignoreScrollableAncestors:s=!1,swipeThreshold:c,onDismiss:l,onProgress:u,onCancel:d,onSwipeStart:f,onRelease:p,onSwipingChange:m,trackDrag:h=!0}=e,g=NM,_=n.length===1?n[0]:void 0,v=Math.max(0,typeof c==`number`?c:DM),y=n.includes(`left`),b=n.includes(`right`),x=n.includes(`up`),S=n.includes(`down`),C=y||b,w=x||S,T=W.useMemo(()=>{let e=[];return w&&e.push(`vertical`),C&&e.push(`horizontal`),e},[C,w]),[E,D]=W.useState(void 0),[O,k]=W.useState(!1),[A,j]=W.useState(!1),M=W.useRef({x:0,y:0}),N=W.useRef({x:0,y:0}),P=W.useRef(null),F=W.useRef({x:0,y:0,scale:1}),I=W.useRef(void 0),L=W.useRef(0),R=W.useRef(!1),ee=W.useRef({x:0,y:0}),z=W.useRef(null),te=W.useRef(!1),ne=W.useRef(!1),re=W.useRef(null),B=W.useRef(!1),ie=W.useRef(!1),ae=W.useRef({width:0,height:0}),oe=W.useRef(0),se=W.useRef(v),ce=W.useRef(null),le=W.useRef(null),V=W.useRef(null),H=W.useRef({x:0,y:0}),ue=W.useRef(null),de=W.useRef(!1),fe=W.useRef(null),U=Q(e=>{de.current!==e&&(de.current=e,k(e),m?.(e))});function pe(e){if(!e)return;let t=r.current,n=ce.current;if(!t||!n)return;let i=n({element:t,direction:e});se.current=Math.max(0,i)}let me=Q((e,t)=>{let n=Number.isFinite(e)?ND(e,0,1):0,r=n!==oe.current,i=!1;if(t){let e=ue.current;i=!e||e.deltaX!==t.deltaX||e.deltaY!==t.deltaY||e.direction!==t.direction}(r||i)&&(oe.current=n,t?ue.current=t:r&&(ue.current=null),u?.(n,t))}),he=Q(e=>{let t=r.current;if(!h||!t){e||(fe.current=null);return}let n=t.style,a=fe.current;e?(a||(fe.current=[n.transition,n.transform]),n.transition=`none`):a&&([n.transition,n.transform]=a,fe.current=null);let o=N.current,s=F.current,c=o.x-s.x,l=o.y-s.y;e&&(n.transform=IM(o,s.scale)),n.setProperty(i.x,`${c}px`),n.setProperty(i.y,`${l}px`)});function ge(e,t){if(t===null)return;let n=V.current;if(n&&t>n.time){let r=Math.max(t-n.time,jM);H.current={x:(e.x-n.x)/r,y:(e.y-n.y)/r}}V.current={x:e.x,y:e.y,time:t}}let _e=W.useCallback(()=>{D(void 0),U(!1),j(!1),me(0),se.current=v,ce.current=null,M.current={x:0,y:0},N.current={x:0,y:0},F.current={x:0,y:0,scale:1},I.current=void 0,L.current=0,R.current=!1,ee.current={x:0,y:0},z.current=null,te.current=!1,P.current=null,ne.current=!1,re.current=null,B.current=!1,ie.current=!1,ae.current={width:0,height:0},le.current=null,V.current=null,H.current={x:0,y:0},ue.current=null,he(!1)},[U,v,he,me]);function ve(e){if(`touches`in e){let t=e.touches[0];return t?{x:t.clientX,y:t.clientY}:null}return{x:e.clientX,y:e.clientY}}function ye(e){return`touches`in e||e.pointerType===`touch`}function be(e,t){let n=r.current?.getRootNode();return TM(n,e.x,e.y)??uy(t)}function xe(e,t){let n=n=>{let r=wM(e,t,n),i=Ib(r);return r===i.body||r===i.documentElement?null:r};return C&&!w?n(`horizontal`):w&&!C?n(`vertical`):n(`vertical`)??n(`horizontal`)}function Se(e,t,n){B.current=!1;let i=ye(e),a=be(t,e.nativeEvent),l=Ib(r.current).body,u=i&&l?xe(a,l):null,d=n?.ignoreScrollableTarget??!1;if(u&&!d||(B.current=!!(u&&d),a&&a.closest(g)&&(!i||o)))return!1;let p=r.current;if(s&&p&&a&&T.length>0&&!(n?.ignoreScrollableAncestors??!1)&&CM(a,p,T))return!1;if(R.current=!1,I.current=void 0,L.current=0,M.current=t,le.current=FM(e.timeStamp),ee.current=t,P.current=t,se.current=v,ce.current=typeof c==`function`?c:null,p){ae.current={width:p.offsetWidth,height:p.offsetHeight},pe(_);let t=EM(p);F.current=t,N.current={x:t.x,y:t.y},ge({x:t.x,y:t.y},le.current),`touches`in e||RM(p,e.pointerId,`setPointerCapture`)}return f?.(e.nativeEvent),U(!0),z.current=null,te.current=!0,me(0),he(!0),!0}function Ce(){we(),B.current=!1,P.current=null}function we(){ne.current=!1,re.current=null}function Te(e){if(Ce(),!de.current)return;U(!1),z.current=null;let t=F.current;N.current={x:t.x,y:t.y},D(void 0),ie.current=!1,he(!1);let n=r.current;n&&RM(n,e.pointerId,`releasePointerCapture`),me(0,{deltaX:0,deltaY:0,direction:void 0}),d?.(e.nativeEvent)}function Ee(e,t){let n=e=>Math.sign(e)*Math.abs(e)**.5,r=(e,t,r)=>!t&&e<0||!r&&e>0?n(e):e;return{x:C?r(e,y,b):n(e),y:w?r(t,x,S):n(t)}}function De(e,t,n){let r=(e,t,n,r,i)=>e>0&&t<=0&&r||e<0&&t>=Math.max(0,n)&&i,i=Math.abs(t),a=Math.abs(n);return w&&n!==0&&(!C||a>=i)?r(n,e.scrollTop,e.scrollHeight-e.clientHeight,S,x):C&&t!==0&&(!w||i>a)?r(t,e.scrollLeft,e.scrollWidth-e.clientWidth,b,y):null}let Oe=Q(e=>{if(!t||e.defaultPrevented||e.nativeEvent.defaultPrevented||!(`touches`in e)&&e.button!==0)return;let n=ve(e);n&&(ne.current=!0,re.current=n,B.current=!1,ie.current=!(`touches`in e),(!a||a(n,{nativeEvent:e.nativeEvent,direction:_}))&&Se(e,n)&&we())});function ke(e,n,r){if(!t||!de.current)return;let i=uy(e.nativeEvent);if(ye(e)&&!B.current){let t=e.currentTarget;if(xe(i,t))return}if(`touches`in e||e.preventDefault(),te.current&&(te.current=!1,h)){M.current=n;let t=FM(e.timeStamp);t!==null&&(le.current=t)}let a=n.x,o=n.y,s=r.x,c=r.y;(c<0&&o>ee.current.y||c>0&&o<ee.current.y)&&(ee.current={x:ee.current.x,y:o}),(s<0&&a>ee.current.x||s>0&&a<ee.current.x)&&(ee.current={x:a,y:ee.current.y});let l=a-M.current.x,u=o-M.current.y,d=o-ee.current.y,f=a-ee.current.x,p=z.current;p===null&&C&&w&&Math.sqrt(l*l+u*u)>=kM&&(p=Math.abs(l)>Math.abs(u)?`horizontal`:`vertical`,z.current=p);let m;if(!I.current)p===`vertical`?u>0?m=`down`:u<0&&(m=`up`):p===`horizontal`?l>0?m=`right`:l<0&&(m=`left`):m=Math.abs(l)>=Math.abs(u)?l>0?`right`:`left`:u>0?`down`:`up`,m&&(m===`left`&&y||m===`right`&&b||m===`up`&&x||m===`down`&&S)&&(I.current=m,L.current=PM(m,l,u),D(m),pe(m));else{let e=I.current,t=PM(e,f,d);t>se.current?(R.current=!1,D(e)):!(y&&b)&&!(x&&S)&&L.current-t>=OM&&(R.current=!0)}let g=Ee(l,u),v=F.current.x,T=F.current.y;p===`horizontal`?C&&(v+=g.x):(p===`vertical`||C&&(v+=g.x),w&&(T+=g.y));let E=N.current,O=v!==E.x||T!==E.y;N.current={x:v,y:T},O&&he(!0),ge({x:v,y:T},FM(e.timeStamp));let k=v-F.current.x,A=T-F.current.y,j={deltaX:k,deltaY:A,direction:I.current},P=0,ne=_??I.current;if(ne){let e=ne===`left`||ne===`right`?ae.current.width:ae.current.height,t=F.current.scale||1,n=PM(ne,k,A);e>0&&t>0&&n>0&&(P=n/(e*t))}me(P,j)}let Ae=Q(e=>{if(!t)return;let i=N.current,a=F.current,o=i.x-a.x,s=i.y-a.y,c={deltaX:o,deltaY:s,direction:I.current};if(!de.current){Ce(),me(0,c);return}U(!1),z.current=null,Ce(),ie.current=!1;let u=r.current;u&&(`touches`in e||RM(u,e.pointerId,`releasePointerCapture`));let d=o,f=s,m=le.current,h=FM(e.timeStamp),g=m!==null&&h!==null&&h>m?h-m:0,v=g>0?Math.max(g,AM):0,y=v>0?d/v:0,b=v>0?f/v:0,x=H.current.x,S=H.current.y,C=V.current;if(C&&h!==null&&h>=C.time){let e=h-C.time;if(e<=MM){let t=Math.max(e,jM),n=i.x-C.x,r=i.y-C.y,a=n/t,o=r/t;a!==0&&(x=a),o!==0&&(S=o)}else x=0,S=0}let w=p?.({event:e.nativeEvent,direction:I.current,deltaX:d,deltaY:f,velocityX:y,velocityY:b,releaseVelocityX:x,releaseVelocityY:S}),T=typeof w==`boolean`;if(R.current&&!T){N.current={x:a.x,y:a.y},D(void 0),he(!1),me(0,c);return}let E=!1,O;if(T)E=w,O=I.current??_;else for(let e of n)if(PM(e,d,f)>se.current){E=!0,O=e;break}E&&O?(D(O),j(!0),he(!1),l?.(e.nativeEvent,{direction:O})):(N.current={x:a.x,y:a.y},D(void 0),he(!1),me(0,c))}),je=Q(e=>{let t=ve(e);if(!t)return;let n=!1;if(!(`touches`in e)){let t=LM(e.buttons);if(t&&(ie.current=!0),e.buttons!==0&&!t){Te(e);return}if(e.buttons===0&&ie.current){if(!de.current){Ae(e);return}n=!0}}if(!O&&ne.current){if(!ye(e)&&(e.defaultPrevented||e.nativeEvent.defaultPrevented)){Ce();return}if(!a||a(t,{nativeEvent:e.nativeEvent,direction:_})){let n=re.current,i=!1;if(ye(e)){let a=r.current;if(n&&a){let r=be(t,e.nativeEvent),o=Ib(a).body,s=o?xe(r,o):null;if(s&&(ly(a,s)||ly(s,a))){let e=De(s,t.x-n.x,t.y-n.y);if(e===!1)return;e===!0&&(i=!0)}}}Se(e,t,{ignoreScrollableTarget:i,ignoreScrollableAncestors:i})&&(n&&i?(we(),M.current=n,ee.current=n,P.current=n,te.current=!1):(we(),B.current=!1))}}let i=P.current,o=i===null?{x:0,y:0}:{x:t.x-i.x,y:t.y-i.y};P.current=t,ke(e,t,o),n&&!(`touches`in e)&&Ae(e)}),Me=Q((e,t)=>{je({touches:e.touches,currentTarget:t,nativeEvent:e,defaultPrevented:e.defaultPrevented,timeStamp:e.timeStamp})}),Ne=W.useCallback(()=>{let e=de.current,t=N.current,n=F.current,r=t.x-n.x,a=t.y-n.y;return!e&&r===0&&a===0&&!A?{[i.x]:`0px`,[i.y]:`0px`}:{transition:e?`none`:void 0,transform:e?IM(t,n.scale):void 0,[i.x]:`${r}px`,[i.y]:`${a}px`}},[A,i]);return{swiping:O,swipeDirection:E,dragDismissed:A,getPointerProps:W.useCallback(()=>t?{onPointerDown:Oe,onPointerMove:je,onPointerUp:Ae,onPointerCancel:Ae}:{},[t,Ae,je,Oe]),getTouchProps:W.useCallback(()=>t?{onTouchStart:Oe,onTouchMove:je,onTouchEnd:Ae,onTouchCancel:Ae}:{},[t,Ae,je,Oe]),moveNative:Me,getDragStyles:Ne,reset:_e}}var BM=Pj,VM=`data-nested-dialog-open`,HM=W.createContext(void 0);function UM(){return W.useContext(HM)}var WM=10,GM=.5,KM=.5,qM=300,JM=4,YM=.2,XM=4,ZM=80,QM=360,$M=.1,eN=6,tN=2,nN=`[${Kj}]`,rN=W.forwardRef(function(e,t){let{render:n,className:r,style:i,children:a,...o}=e,s=hj(),c=s.context.popupRef,l=s.context.backdropRef,{swipeDirection:u,notifyParentSwipingChange:d,notifyParentSwipeProgressChange:f,frontmostHeight:p,snapToSequentialPoints:m,swipeAreaActiveRef:h}=rM(),g=Yj(),{snapPoints:_,resolvedSnapPoints:v,activeSnapPoint:y,activeSnapPointOffset:b,setActiveSnapPoint:x,popupHeight:S}=sM(),C=s.useState(`open`),w=s.useState(`mounted`),T=s.useState(`nested`),E=s.useState(`nestedOpenDrawerCount`),D=s.useState(`viewportElement`),O=s.useState(`popupElement`),k=g?.visualStateStore,A=E>0,j=u===`left`||u===`right`?`horizontal`:`vertical`,M=j===`vertical`,N=M?`horizontal`:`vertical`,[P,F]=W.useState(null),I=W.useRef(void 0),L=W.useRef(null),R=Fb(),ee=W.useRef(!1),z=W.useRef(!1),te=W.useRef(``),ne=W.useRef(!1),re=W.useRef(!1),B=W.useRef(null),ie=UM(),ae=W.useMemo(()=>{if(!_||_.length<2||v.length<2||u!==`down`&&u!==`up`)return null;let e=v.map(e=>e.offset).sort((e,t)=>e-t),t=e[0];return{minOffset:t,range:e[1]-t}},[v,_,u]),oe=W.useMemo(()=>!ae||b===null?null:ND((b-ae.minOffset)/ae.range,0,1),[b,ae]),se=W.useMemo(()=>_&&_.length>0&&(u===`down`||u===`up`)?u===`down`?[`down`,`up`]:[`up`,`down`]:[u],[_,u]),ce=Q(e=>{c.current?.toggleAttribute($j,e),l.current?.toggleAttribute($j,e)}),le=Q(()=>{ce(!1),c.current?.removeAttribute(vy),F(null)}),V=Q(()=>{z.current&&(z.current=!1,d?.(!1))}),H=Q((e,t,n)=>{let r=C&&!T&&t,i=r?e:0,a=C&&t?e:0;n&&f&&(f(a),a<=0&&V()),k?.set({swipeProgress:i,frontmostHeight:i>0?p:0});let o=l.current;if(!o)return;let s=r&&i>0;o.style.setProperty(Uj,s?`${i}`:`0`),s&&p>0?o.style.setProperty(Lj,`${p}px`):o.style.removeProperty(Lj)});function ue(e,t,n,r,i,a,o,s){let c=sN(e,t);if(c<=0)return null;let l=((t===`down`||t===`up`)&&_&&_.length>0?b??0:0)+PM(t,n,r),u=Math.max(0,c-l);if(u<=0)return null;let d=PM(t,o,s),f=Math.abs(d)>0?d:PM(t,i,a);return f<=YM?null:$M+(ND(u/ND(f,YM,XM),ZM,QM)-ZM)/280*.9}function de(e){if(z.current||!e)return;let t=PM(e.direction??u,e.deltaX,e.deltaY);Math.abs(t)<WM||(z.current=!0,d?.(!0))}let fe=zM({enabled:w&&!A,directions:se,elementRef:s.context.popupRef,ignoreSelectorWhenTouch:!1,ignoreScrollableAncestors:!0,movementCssVars:{x:zj,y:Bj},onSwipeStart(e){if(`touches`in e||e.pointerType===`touch`)return;let t=c.current,n=Ib(t).getSelection?.();if(!n||n.isCollapsed)return;let r=Hv(n.anchorNode)?n.anchorNode:n.anchorNode?.parentElement,i=Hv(n.focusNode)?n.focusNode:n.focusNode?.parentElement;(ly(t,r)||ly(t,i))&&n.removeAllRanges()},onSwipingChange(e){ee.current=e,iN(s.context.backdropRef.current,e),!e&&!f&&V()},swipeThreshold({element:e,direction:t}){return cN(e,t)},canStart(e,t){let n=s.context.popupRef.current;if(!n)return!1;let r=n.ownerDocument,i=TM(n.getRootNode(),e.x,e.y);if(!i||!ly(n,i))return!1;let a=t.nativeEvent;return!((`touches`in a||a.pointerType===`touch`)&&fN(r,n))},onProgress(e,t){let n=ee.current;n&&de(t);let r=!!(_&&_.length>0);if(n&&u===`down`&&r&&t){let e=s.context.popupRef.current;e&&(e.style.removeProperty(`transform`),e.style.setProperty(Bj,`${iM(b??0,t.deltaY)}px`))}let i=e;if(ae&&S>0){let e=b??ae.minOffset;n&&t&&Number.isFinite(t.deltaY)?i=(e=>ND((e-ae.minOffset)/ae.range,0,1))(ND(e+t.deltaY,0,S)):oe!==null&&(i=oe)}n||(f?.(0),V()),H(i,!0,n)},onRelease({event:e,deltaX:t,deltaY:n,direction:r,velocityX:i,velocityY:a,releaseVelocityX:o,releaseVelocityY:c}){let l=s.context.popupRef.current;if(!l){le();return}let d=l;function f(e){V(),ce(!0),d.style.removeProperty(`transition`),d.setAttribute(vy,``),XS.flushSync(()=>{F(ue(d,e,t,n,i,a,o,c))})}if(!_||_.length===0){if(!r){le();return}let e=PM(r,t,n);if(e<=0)return le(),!1;if(PM(r,i,a)>=GM)return f(r),!0;let o=e>cN(d,r);return o?f(r):le(),o}if(u!==`down`&&u!==`up`){le();return}if(!S)return le(),!1;if(v.length===0){le();return}let p=u===`down`?n:-n,h=Math.sign(p),g=u===`down`?c:-c,C=u===`down`?a:-a,w=g;if(h!==0&&Math.abs(p)>=WM){let e=Math.sign(w);e!==0&&e!==h&&(w=C)}let T=b??0,E=ND(T+p,0,S),D=Math.abs(w)>=KM?ND(w,-4,JM)*qM:0,O=m?E:ND(E+D,0,S),k=pb(db,e),A=()=>(H(0,!0,!0),le(),!1),j=e=>(x(e.value,k),A()),M=e=>r?(x(null,k),k.isCanceled?A():(I.current=y,f(u),!0)):j(e);if(m){let e=[...v].sort((e,t)=>e.offset-t.offset),t=e.map(e=>e.offset),n=oM(t,T),r=e[oM(t,O)],i=Math.sign(w),a=h!==0&&i!==0&&i===h&&Math.abs(w)>=KM,o=O;if(a){let t=ND(n+h,0,e.length-1);if(t!==n){let n=e[t];(h>0?O<n.offset:O>n.offset)&&(r=n,o=n.offset)}else if(h>0)return M(r)}return Math.abs(o-S)<Math.abs(o-r.offset)?M(r):j(r)}let N=v[oM(v.map(e=>e.offset),O)];return w>=GM&&p>0||Math.abs(O-S)<Math.abs(O-N.offset)?M(N):j(N)},onDismiss(e){k?.set({swipeProgress:0,frontmostHeight:0});let t=s.context.backdropRef.current;t&&(t.style.setProperty(Uj,`0`),t.style.removeProperty(Lj));let n=pb(db,e);if(s.setOpen(!1,n),n.isCanceled){let t=I.current;t!==void 0&&x(t,pb(db,e)),I.current=void 0,L.current?.(),le();return}if(s.select(`open`)){let t=e;R.request(()=>{if(s.select(`open`)){let e=I.current;e!==void 0&&x(e,pb(db,t)),I.current=void 0,le(),L.current?.()}else I.current=void 0});return}I.current=void 0,ce(!0)}}),U=fe.getPointerProps(),pe=fe.getTouchProps(),{moveNative:me,reset:he}=fe;L.current=he,W.useEffect(()=>{let e=D??O;if(!e)return;let t=e,n=Ib(t);function r(e,r,i){let a=M?i.clientY-r.lastY:i.clientX-r.lastX;if(e.touches.length===2||fN(n,t)||!C||!w||A||gN(r,e,i,M))return;let o=r.scrollTarget;if(!o||o===n.documentElement||o===n.body){e.cancelable&&e.preventDefault(),e.stopPropagation(),me(e,t);return}if(!_N(o,j)){e.cancelable&&e.preventDefault(),e.stopPropagation();return}if(a!==0){let t=bN(o,j,u,a);r.allowSwipe?e.cancelable&&e.preventDefault():e.cancelable&&t?(r.allowSwipe=!0,e.preventDefault()):r.allowSwipe=!1}r.allowSwipe===!0&&(e.stopPropagation(),me(e,t))}function i(e){if(ie?.onTouchMove(e),re.current)return;let t=B.current,n=e.touches[0];n&&t&&(r(e,t,n),hN(t,n))}return _b(n,`touchmove`,i,{passive:!1,capture:!0})},[w,A,C,O,M,j,u,me,D,ie]),X(()=>{ae&&!fe.swiping&&H(!C||T?0:oe??0,!0,!1)},[H,p,T,f,C,oe,ae,fe.swiping,s,k]),X(()=>{if(f)return C||f(0),()=>{f(0)}},[f,C]),X(()=>{C&&(h.current||he(),le())},[le,C,he,h]),X(()=>{let e=l.current;return()=>{k?.set({swipeProgress:0,frontmostHeight:0}),iN(e,!1);let t=l.current;t!==e&&iN(t,!1),V()}},[l,V,k]);let ge=W.useMemo(()=>({swiping:fe.swiping,getDragStyles:fe.getDragStyles,swipeStrength:P??null,setSwipeDismissed:ce}),[ce,fe.getDragStyles,fe.swiping,P]);function _e(e){re.current=e,B.current=null}function ve(){_e(!1),te.current=``,ne.current=!1}function ye(e){return te.current=``,e.pointerType!==`touch`}return(0,Z.jsx)(Nj,{ref:t,className:r,style:i,render:n,...xS(o,{onPointerDown(e){if(te.current=e.pointerType,ne.current=e.pointerType===`pen`,!C||!w||A)return;let t=TM(e.currentTarget.getRootNode(),e.clientX,e.clientY);aN(t)||oN(t)||e.pointerType!==`touch`&&U.onPointerDown?.(e)},onPointerMove(e){e.pointerType!==`touch`&&U.onPointerMove?.(e)},onPointerUp(e){ye(e)&&U.onPointerUp?.(e)},onPointerCancel(e){ye(e)&&U.onPointerCancel?.(e)},onTouchStart(e){if(te.current===`pen`&&ne.current){ne.current=!1,_e(!1);return}if(!C||!w||A){_e(!1);return}let t=e.touches[0];if(!t)return;if(mN(e)){_e(!1);return}let n=e.currentTarget,r=TM(n.getRootNode(),t.clientX,t.clientY),i=uy(e.nativeEvent),a=Hv(i)?i:n;if(!ly(n,a)){_e(!0);return}if(ie?.onTouchStart(e),aN(r)){_e(!0);return}re.current=!1;let o=wM(a,n,j),s=wM(a,n,N)!=null,c=null;o&&(c=yN(o,j,u)?null:!1),B.current={startX:t.clientX,startY:t.clientY,lastX:t.clientX,lastY:t.clientY,scrollTarget:o,hasCrossAxisScrollableContent:s,allowSwipe:c,preserveNativeCrossAxisScroll:!1,drawerAxisAttributed:!1},pe.onTouchStart?.(e)},onTouchEnd(e){ie?.onTouchEnd(e),ve(),pe.onTouchEnd?.(e)},onTouchCancel(e){ie?.onTouchCancel(),ve(),pe.onTouchCancel?.(e)},[VM]:void 0}),children:(0,Z.jsx)(cM.Provider,{value:ge,children:a})})});function iN(e,t){e?.toggleAttribute(tM,t)}function aN(e){return!!e?.closest(KS)}function oN(e){return!!e?.closest(nN)}function sN(e,t){return t===`left`||t===`right`?e.offsetWidth:e.offsetHeight}function cN(e,t){return Math.max(sN(e,t)*.5,WM)}function lN(e,t){return e instanceof t.HTMLInputElement&&e.type===`range`}function uN(e){return e.tagName===`INPUT`||e.tagName===`TEXTAREA`}function dN(e,t){let n=Hv(e.anchorNode)?e.anchorNode:e.anchorNode?.parentElement,r=Hv(e.focusNode)?e.focusNode:e.focusNode?.parentElement;return e.containsNode(t,!0)||ly(t,n)||ly(t,r)}function fN(e,t){let n=cy(e);if(n&&ly(t,n)&&uN(n)){let{selectionStart:e,selectionEnd:t}=n;if(e!=null&&t!=null&&e<t)return!0}let r=e.getSelection?.();return!r||r.isCollapsed?!1:dN(r,t)}function pN(e,t){return e.composedPath().some(e=>lN(e,t))}function mN(e){return pN(e.nativeEvent,zv(e.currentTarget))}function hN(e,t){e.lastX=t.clientX,e.lastY=t.clientY}function gN(e,t,n,r){if(e.preserveNativeCrossAxisScroll)return!0;if(e.drawerAxisAttributed||e.allowSwipe===!0||!e.hasCrossAxisScrollableContent)return!1;if(!t.cancelable)return e.preserveNativeCrossAxisScroll=!0,!0;let i=r?n.clientY-e.startY:n.clientX-e.startX,a=r?n.clientX-e.startX:n.clientY-e.startY,o=Math.abs(i),s=Math.abs(a);return s>=eN&&s>o+tN?(e.preserveNativeCrossAxisScroll=!0,!0):o>=eN?(e.drawerAxisAttributed=!0,!1):!0}function _N(e,t){return vN(e,t).max>0}function vN(e,t){if(t===`vertical`){let t=Math.max(0,e.scrollHeight-e.clientHeight);return{offset:e.scrollTop,max:t}}let n=Math.max(0,e.scrollWidth-e.clientWidth);return{offset:e.scrollLeft,max:n}}function yN(e,t,n){let r=xN(n,t),{offset:i,max:a}=vN(e,t);return r?i<=0:i>=a}function bN(e,t,n,r){return(xN(n,t)?r>0:r<0)&&yN(e,t,n)}function xN(e,t){return t===`vertical`?e===`down`:e===`right`}var SN=W.createContext(void 0);function CN(e){let t=W.useContext(SN);if(t===void 0&&!e)throw Error(uv(47));return t}var wN={...yT,disabled:e=>e.disabled,instantType:e=>e.instantType,openMethod:e=>e.openMethod,openChangeReason:e=>e.openChangeReason,modal:e=>e.modal,focusManagerModal:e=>e.focusManagerModal,stickIfOpen:e=>e.stickIfOpen,titleElementId:e=>e.titleElementId,descriptionElementId:e=>e.descriptionElementId,openOnHover:e=>e.openOnHover,closeDelay:e=>e.closeDelay,adaptiveOrigin:e=>e.adaptiveOrigin},TN=class extends Uw{constructor(e,t,n){let r=new fT;super(EN(e,r,t,n),DN(r),wN)}setOpen=(e,t)=>{let n=t.reason===Qy,r=t.reason===`trigger-press`&&t.event.detail===0,i=!e&&(t.reason===`escape-key`||t.reason==null),a=aT(t),o=this.select(`activeTriggerId`);if(!e&&t.reason===`close-press`&&t.trigger==null&&o!=null&&(t.trigger=this.context.triggerElements.getById(o)??this.select(`activeTriggerElement`)??void 0),this.context.onOpenChange?.(e,t),t.isCanceled)return;this.state.floatingRootContext.dispatchOpenChange(e,t);let s=()=>{let n=iT(this.state,e,t.trigger,a());n.openChangeReason=t.reason,this.update(n)};n?(this.set(`stickIfOpen`,!0),this.context.stickIfOpenTimeout.start(500,()=>{this.set(`stickIfOpen`,!1)}),XS.flushSync(s)):s();let c;r?c=`click`:i?c=`dismiss`:t.reason===`focus-out`&&(c=`focus`),this.set(`instantType`,c)}};function EN(e,t,n,r=!1){let i={...pT(t,n,r),disabled:!1,modal:!1,focusManagerModal:!1,instantType:void 0,openMethod:null,openChangeReason:null,titleElementId:void 0,descriptionElementId:void 0,stickIfOpen:!0,openOnHover:!1,closeDelay:0,adaptiveOrigin:void 0,...e};return i.open&&e?.mounted===void 0&&(i.mounted=!0),i}function DN(e){return{popupRef:W.createRef(),onOpenChange:void 0,onOpenChangeComplete:void 0,triggerFocusTargetRef:W.createRef(),beforeContentFocusGuardRef:W.createRef(),stickIfOpenTimeout:new hv,triggerElements:e}}var ON=rv(function({props:e}){let{children:t,open:n,defaultOpen:r=!1,onOpenChange:i,onOpenChangeComplete:a,modal:o=!1,handle:s,triggerId:c,defaultTriggerId:l=null}=e,u=AN(s,{modal:o,open:r,openProp:n,activeTriggerId:l,triggerIdProp:c});u.useControlledProp(`openProp`,n),u.useControlledProp(`triggerIdProp`,c);let d=u.useState(`open`),f=u.useState(`mounted`),p=u.useState(`payload`);u.useContextCallback(`onOpenChange`,i),u.useContextCallback(`onOpenChangeComplete`,a),dT(u,d),cT(u);let{forceUnmount:m}=lT(d,u,()=>{u.update({stickIfOpen:!0,openChangeReason:null})});u.useSyncedValues({modal:o}),W.useEffect(()=>{d||u.context.stickIfOpenTimeout.clear()},[u,d]),W.useImperativeHandle(e.actionsRef,()=>({unmount:m,close:()=>u.setOpen(!1,pb(ub))}),[m,u]);let h=d||f;return(0,Z.jsxs)(SN.Provider,{value:u,children:[s&&(0,Z.jsx)(tT,{handle:s,store:u}),h&&(0,Z.jsx)(jN,{store:u,modal:o}),typeof t==`function`?t({payload:p}):t]})});function kN(e){return CN(!0)?(0,Z.jsx)(ON,{props:e}):(0,Z.jsx)(uC,{children:(0,Z.jsx)(ON,{props:e})})}function AN(e,t){let n=eT((e,n)=>new TN(t,e,n));return W.useEffect(()=>n.context.stickIfOpenTimeout.disposeEffect(),[n]),n}function jN({store:e,modal:t}){let n=DC(e.useState(`floatingRootContext`),{outsidePressEvent:{mouse:t===`trap-focus`?`sloppy`:`intentional`,touch:`sloppy`}}),r=n.reference,i=n.floating;return uT(e,{activeTriggerProps:r,inactiveTriggerProps:r,popupProps:i}),null}var MN=iv(function(e,t){let{render:n,className:r,style:i,disabled:a=!1,nativeButton:o=!0,handle:s,payload:c,openOnHover:l=!1,delay:u=300,closeDelay:d=0,id:f,...p}=e,m=CN(!0),h=bT(s)??m;if(!h)throw Error(uv(74));let g=rE(f),_=h.useState(`isTriggerActive`,g),v=h.useState(`floatingRootContext`),y=h.useState(`isOpenedByTrigger`,g),b=h.useState(`triggerPopupId`,g),x=W.useRef(null),{registerTrigger:S,isMountedByThisTrigger:C}=sT(g,x,h,{payload:c,disabled:a,openOnHover:l,closeDelay:d}),w=h.useState(`openChangeReason`),T=h.useState(`stickIfOpen`),E=h.useState(`openMethod`),D=h.useState(`focusManagerModal`),O=NT(v,{enabled:!a&&l&&(E!==`touch`||w!==`trigger-press`),mouseOnly:!0,move:!1,handleClose:XT(),restMs:u,delay:{close:d},triggerElementRef:x,isActiveTrigger:_,isClosing:()=>h.select(`transitionStatus`)===`ending`}),k=xC(v,{stickIfOpen:T}),A=jD(()=>h.select(`open`),e=>{h.set(`openMethod`,e)}),j=h.useState(`triggerProps`,C),{getButtonProps:M,buttonRef:N}=GD({disabled:a,native:o}),P={open(e){return e&&w===`trigger-press`?Ny.open(e):My.open(e)}},{preFocusGuardRef:F,handlePreFocusGuardFocus:I,handleFocusTargetFocus:L}=TA(h,x),R=FS(`button`,e,{state:{disabled:a,open:y},ref:[N,t,S,x],props:[k.reference,O,j,A,{[US]:``,id:g,"aria-haspopup":`dialog`,"aria-expanded":y,"aria-controls":b},p,M],stateAttributesMapping:P}),ee=(0,Z.jsx)(W.Fragment,{children:R},g);return C&&!D?(0,Z.jsxs)(W.Fragment,{children:[(0,Z.jsx)(Bb,{ref:F,onFocus:I}),ee,(0,Z.jsx)(Bb,{ref:h.context.triggerFocusTargetRef,onFocus:L})]}):ee}),NN=W.createContext(void 0);function PN(){let e=W.useContext(NN);if(e===void 0)throw Error(uv(45));return e}var FN=W.forwardRef(function(e,t){let{keepMounted:n=!1,...r}=e;return CN().useState(`mounted`)||n?(0,Z.jsx)(NN.Provider,{value:n,children:(0,Z.jsx)(tC,{ref:t,...r})}):null}),IN=W.createContext(void 0);function LN(){let e=W.useContext(IN);if(!e)throw Error(uv(46));return e}var RN=W.forwardRef(function(e,t){let{render:n,className:r,style:i,anchor:a,positionMethod:o,side:s,align:c,sideOffset:l,alignOffset:u,collisionBoundary:d=`clipping-ancestors`,collisionPadding:f,arrowPadding:p,sticky:m,disableAnchorTracking:h=!1,collisionAvoidance:g=JS,..._}=e,v=CN(),y=PN(),b=cC(),x=v.useState(`floatingRootContext`),S=v.useState(`mounted`),C=v.useState(`open`),w=v.useState(`openChangeReason`),T=v.useState(`activeTriggerElement`),E=v.useState(`modal`),D=v.useState(`openMethod`),O=v.useState(`positionerElement`),k=v.useState(`instantType`),A=v.useState(`transitionStatus`),j=v.useState(`adaptiveOrigin`),M=W.useRef(null),N=Xw(O),P=jE({anchor:a,floatingRootContext:x,positionMethod:o,mounted:S,side:s,sideOffset:l,align:c,alignOffset:u,arrowPadding:p,collisionBoundary:d,collisionPadding:f,sticky:m,disableAnchorTracking:h,keepMounted:y,nodeId:b,collisionAvoidance:g,adaptiveOrigin:j}),F=x.useState(`domReferenceElement`);X(()=>{let e=F,t=M.current;if(e&&(M.current=e),t&&e&&e!==t){v.set(`instantType`,void 0);let e=new AbortController;return N(()=>{v.set(`instantType`,`trigger-change`)},e.signal),()=>{e.abort()}}},[F,N,v]);let I=E===!0&&w!==`trigger-hover`;DO(C&&I,D===`touch`,O,T);let L=v.useStateSetter(`positionerElement`),R=FE(e,{open:C,side:P.side,align:P.align,anchorHidden:P.anchorHidden,instant:k},{styles:P.positionerStyles,transitionStatus:A,props:_,refs:[t,L],hidden:!S,inert:!C});return(0,Z.jsxs)(IN.Provider,{value:P,children:[S&&I&&(0,Z.jsx)(fO,{inert:RE(!C),cutout:T}),(0,Z.jsx)(lC,{id:b,children:R})]})}),zN=W.createContext(void 0);function BN(){let[e,t]=W.useState(0),n=Q(()=>(t(e=>e+1),()=>{t(e=>Math.max(0,e-1))}));return{context:W.useMemo(()=>({register:n}),[n]),hasClosePart:e>0}}var VN=W.forwardRef(function(e,t){let{render:n,className:r,style:i,initialFocus:a,finalFocus:o,...s}=e,c=CN(),l=LN(),u=NO(!0)!=null,{context:d,hasClosePart:f}=BN(),p=c.useState(`open`),m=c.useState(`openMethod`),h=c.useState(`instantType`),g=c.useState(`transitionStatus`),_=c.useState(`popupProps`),v=c.useState(`titleElementId`),y=c.useState(`descriptionElementId`),b=c.useState(`modal`),x=c.useState(`mounted`),S=c.useState(`openChangeReason`),C=c.useState(`activeTriggerElement`),w=c.useState(`floatingRootContext`),T=w.useState(`floatingId`),E=c.useState(`disabled`),D=c.useState(`openOnHover`),O=c.useState(`closeDelay`);Zw({open:p,ref:c.context.popupRef,onComplete(){p&&c.context.onOpenChangeComplete?.(!0)}}),jT(w,{enabled:D&&!E,closeDelay:O});let k=a===void 0?$w(c.context.popupRef):a,A=b!==!1&&f;c.useSyncedValue(`focusManagerModal`,A);let j=c.useStateSetter(`popupElement`),M=FS(`div`,e,{state:{open:p,side:l.side,align:l.align,instant:h,transitionStatus:g},ref:[t,c.context.popupRef,j],props:[_,{id:T,role:`dialog`,...Qw,"aria-labelledby":v,"aria-describedby":y,onKeyDown(e){u&&RO.has(e.key)&&e.stopPropagation()}},PE(g),s],stateAttributesMapping:Fy});return(0,Z.jsx)(bC,{context:w,openInteractionType:m,modal:A,disabled:!x||S===`trigger-hover`,initialFocus:k,returnFocus:o,restoreFocus:`popup`,previousFocusableElement:Uv(C)?C:void 0,nextFocusableElement:c.context.triggerFocusTargetRef,beforeContentFocusGuardRef:c.context.beforeContentFocusGuardRef,children:(0,Z.jsx)(zN.Provider,{value:d,children:M})})}),HN=(0,W.createContext)(void 0),UN=e=>({className:t})=>(0,W.createElement)($o,{icon:e,"aria-hidden":!0,...t===void 0?{}:{className:t}}),WN={arrowLeft:UN(bo),arrowsExpand:UN(vo),arrowsToCenter:UN(So),bulletList:UN(Io),buttonCursor:UN(Do),chatBubble:UN(wo),chevronDown:UN(_o),chevronLeft:UN(yo),chevronRight:UN(xo),chevronUp:UN(Co),dividerY:UN(Ko),download:UN(Oo),envelope:UN(Lo),eye:UN(Zo),files:UN(ko),frame:UN(Ao),gridLayoutRows:UN(Fo),heading1:UN(jo),image:UN(Mo),layers:UN(No),message:UN(Ro),mobile:UN(Jo),monitor:UN(Eo),moon:UN(zo),palette:UN(Bo),paragraph:UN(Go),sidebarLeft:UN(Ho),sidebarLeftHide:UN(Vo),sidebarRight:UN(Wo),sidebarRightHide:UN(Uo),sliders:UN(qo),sparkle:UN(Yo),sun:UN(Xo),textColumns:UN(Po),xmark:UN(To)},GN=(0,W.createContext)(WN),KN=GN.Provider,qN=()=>(0,W.useContext)(GN),JN=(0,W.createContext)(null);function YN(){let e=(0,W.useContext)(JN);if(e===null)throw Error(`useEditorBundle must be used within an EditorProvider`);return e}function $(e){return rs(YN().store,e)}function XN(){return YN().store}var ZN=e=>`${e.fileName}:${e.lineNumber}:${e.columnNumber}`,QN=e=>e.occurrences>1?`${e.tag} ${e.occurrence} of ${e.occurrences}`:e.tag,$N=(e,t)=>{let n=e.origins[0];if(n===void 0)return QN(e);let r=t.split(`
30
+ `)[n.lineNumber-1];return r===void 0?QN(e):r.slice(Math.max(0,n.columnNumber-1)).match(/<([A-Za-z][A-Za-z0-9_.:-]*)/)?.[1]??QN(e)},eP=(e,t)=>{let n=t.slice(e.start,e.end).replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,` `).replace(/<[^>]+>/g,` `).replace(/&nbsp;/gi,` `).replace(/&amp;/gi,`&`).replace(/&lt;/gi,`<`).replace(/&gt;/gi,`>`).replace(/&quot;/gi,`"`).replace(/&#39;/gi,`'`).replace(/\s+/g,` `).trim();if(n!==``)return n.length>72?`${n.slice(0,69).trimEnd()}…`:n},tP=e=>{let t=[],n=(e,r)=>{t.push({depth:r,node:e});for(let t of e.children)n(t,r+1)};for(let t of e.roots)n(t,0);return t},nP=e=>{let t=Jc(e),n=new Map,r=new Map,i=[];for(let t of e){let e=[];n.set(t.instancePath,e);let a={instancePath:t.instancePath,selection:t,children:e};r.set(t.instancePath,a);let o=t.parentPath===void 0?void 0:n.get(t.parentPath);o===void 0?i.push(a):o.push(a)}return{roots:i,index:t,nodes:r}},rP=(e,t)=>{let n=[],r=e.index.get(t)?.parentPath;for(;r!==void 0;)n.unshift(r),r=e.index.get(r)?.parentPath;return n},iP=(e,t)=>[...rP(e,t),t].flatMap(t=>{let n=e.index.get(t);return n===void 0?[]:[{instancePath:t,label:QN(n)}]}),aP=e=>{let t=new Set;if(e===null)return t;for(let n of e.roots){t.add(n.instancePath);for(let e of n.children)e.children.length>0&&t.add(e.instancePath)}return t},oP={kind:`document`},sP={kind:`envelope`},cP=e=>new TextEncoder().encode(e).length,lP=e=>Math.max(1,Math.round(e/1024)),uP=e=>e.render===null?0:e.channel===`email`?lP(cP(e.render.html)):e.channel===`sms`?lP(cP(e.render.text)):lP(cP(JSON.stringify(e.render))),dP=(e,t)=>({outline:e.channel===`email`&&e.render!==null?nP(e.render.selections):null,sizeKb:uP(e),checks:CP(e,t)}),fP=(e,t)=>e.origins.length===t.origins.length&&e.origins.every((e,n)=>{let r=t.origins[n];return r!==void 0&&r.fileName===e.fileName&&r.lineNumber===e.lineNumber&&r.columnNumber===e.columnNumber}),pP=(e,t)=>e.tag===t.tag&&e.authored===t.authored&&e.occurrence===t.occurrence&&e.occurrences===t.occurrences&&fP(e,t),mP=(e,t,n)=>{if(e.kind!==`element`)return e;if(t===null||t.channel!==`email`)return oP;let{render:r,fixture:i}=t;if(r===null||i===null)return oP;let a=r.selections.find(t=>t.instancePath===e.instancePath);if(a===void 0)return oP;if(e.revision===r.revision&&e.fixture===i)return e;let o=n?.index.get(e.instancePath);return o===void 0||!pP(o,a)?oP:{kind:`element`,instancePath:e.instancePath,revision:r.revision,fixture:i}},hP=(e,t,n)=>{let r=t.authoredSource!==void 0&&(n===null||n===t.authoredSource)?t.authoredSource:e.origin.authoredSource,i={...e.origin,authoredSource:r};if(t.channel!==e.channel)throw Error(`Host sent a ${t.channel} change for a ${e.channel} document`);return{...e,rev:t.rev,origin:i,fixtures:t.fixtures,fixture:t.fixture,preview:t.preview,render:t.render,diagnostics:t.diagnostics,...t.channel===`email`?{incompatibilities:t.incompatibilities}:{}}},gP=104448,_P=e=>e.severity===`error`?`error`:e.severity===`warning`?`warn`:`info`,vP=e=>e===`caniemail/system-ui-ui-serif-ui-sans-serif-ui-rounded-ui-monospace`?`System fonts`:e===`caniemail/media`?`Media queries`:e===`caniemail/color-scheme-meta-tag`?`Color scheme metadata`:e.startsWith(`caniemail/`)?e.slice(10).replace(/-property$/,``).replace(/-attribute$/,` attribute`).replace(/-element$/,` element`):e.replaceAll(`-`,` `),yP=(e,t)=>{let n=new Map;for(let t of e){let e=n.get(t.code)??new Map,r=JSON.stringify([t.severity,t.compatibility?.assessment,t.compatibility?.title,t.message,[...t.clients??[]].sort(),t.notes,t.provenance]),i=e.get(r),a=new Map;for(let e of i===void 0?[t]:[i,t])for(let t of e.occurrences??[e.origins])t.length>0&&a.set(JSON.stringify(t),t);e.set(r,{...t,origins:i?.origins??t.origins,fixtures:[...new Set([...i?.fixtures??[],...t.fixtures??[]])].sort(),occurrences:[...a.values()]}),n.set(t.code,e)}return[...n].map(([e,n])=>bP(`${t}:${e}`,[...n.values()]))},bP=(e,t)=>{let n=e=>e.compatibility?.assessment===`unverified`?0:e.compatibility?.assessment===`degradation`?1:2,r=[...t].sort((e,t)=>n(e)-n(t)),i=r.find(e=>e.severity===`error`)??r.find(e=>e.severity===`warning`)??r[0],a=new Set(r.flatMap(e=>e.fixtures??[])),o=new Set(r.flatMap(e=>e.clients??[]));return{id:e,severity:_P(i),label:i.compatibility?.title??vP(i.code),detail:[`${r.length} finding${r.length===1?``:`s`}`,...o.size===0?[]:[`${o.size} client${o.size===1?``:`s`}`],...a.size===0?[]:[`${a.size} fixture${a.size===1?``:`s`}`]].join(` · `),diagnostics:r}},xP=e=>{let t=cP(e.html);return t<=gP?{id:`size:gmail-clip`,severity:`ok`,label:`Gmail clipping`,detail:`HTML is ${Math.ceil(t/1024)} KB, under Gmail's 102 KB clipping threshold.`}:{id:`size:gmail-clip`,severity:`warn`,label:`Gmail clipping risk`,detail:`HTML is ${Math.ceil(t/1024)} KB, above Gmail's 102 KB clipping threshold.`}},SP={id:`build:no-render`,severity:`error`,label:`No render`,detail:`The template entry did not produce a render at this revision.`},CP=(e,t)=>{let n=[...yP(e.diagnostics,`diagnostic`),...e.channel===`email`?yP(e.incompatibilities,`compat`):[]];return e.render===null?[...n.length===0?[SP]:n,...t]:e.channel===`email`?[...n,xP(e.render),...t]:[...n,...t]},wP=e=>{let t=[],n=[],r=[],i=[];for(let a of e)a.severity===`error`?t.push(a):a.severity===`warn`?n.push(a):a.severity===`info`?r.push(a):i.push(a);return{actionable:[...t,...n],info:r,ok:i,errorCount:t.length,warnCount:n.length,badgeCount:t.length+n.length}},TP=e=>j(e,`_tag`)&&e._tag===`DocumentUnavailable`&&j(e,`reason`)&&typeof e.reason==`string`,EP=e=>TP(e)?e.reason:e instanceof Error?e.message:`The document session failed.`,DP=(e,t)=>{let n=``,r=[],i=!1,a,o=!1,s=!1,c,l=[],u=0,d=()=>{let e=l;l=[];for(let t of e)t.resolve(n)},f=e=>{let t=l;l=[];for(let n of t)n.reject(e)},p=()=>{if(a!==void 0&&(clearTimeout(a),a=void 0),e.access!==`editable`)return;let s=e.writer;if(i)return;i=!0;let c=u;(async()=>{for(;r.length>0&&!o;){let e=r[0],a={kind:`authoredSource`,baseRev:n,authoredSource:e.authoredSource};try{let e=await s.save(a);if(u!==c)return;n=e.rev,t.onPersistedRevision(n),r.shift(),t.onStorageError(null)}catch(e){if(u!==c)return;if(TP(e)){t.onStorageError(e.reason),i=!1,f(e);return}r=[],o=!0,t.onConflict();break}}u===c&&(i=!1,d())})()},m=()=>{u+=1,i=!1,s=!1;let a=u,l=!1,d=[],f=e=>{if(u!==a)return;if(e.origin===`self`){t.onSelfAck(e);return}let i=r.length>0;i&&(o=!0),n=e.rev,t.onForeignChange(e,i)};e.document.open(e=>{l?f(e):d.push(e)},e=>{u===a&&(s=!1,t.onSessionError(EP(e)))}).then(({initial:e,close:i})=>{if(u!==a){i();return}c=i,l=!0,s=!0,n=e.rev,t.onInitial(e);for(let e of d)f(e);d.length=0,r.length>0&&p()}).catch(e=>{u===a&&t.onSessionError(EP(e))})};return{open:m,dispose:()=>{u+=1,a!==void 0&&clearTimeout(a),a=void 0,s=!1,c?.(),c=void 0},reload:()=>{o=!1,r=[],i=!1,a!==void 0&&clearTimeout(a),a=void 0,d(),c?.(),c=void 0,m()},enqueueAuthoredSource:(t,n)=>{if(e.access!==`editable`)return;let o={kind:`authoredSource`,authoredSource:t,coalesceKey:n?.coalesceKey},s=r.length-1,c=r[s],l=s>=+!!i;o.coalesceKey!==void 0&&l&&c?.kind===`authoredSource`&&c.coalesceKey===o.coalesceKey?r[s]=o:r.push(o),a!==void 0&&clearTimeout(a),a=setTimeout(p,300)},flushSaves:()=>(a!==void 0&&p(),r.length===0&&!i?Promise.resolve(n):new Promise((e,t)=>{l.push({resolve:e,reject:t})})),retrySave:()=>{if(e.access===`editable`){if(t.onStorageError(null),!s){c?.(),c=void 0,m();return}p()}},adoptRev:e=>{n=e,o=!1}}},OP={desktop:600,mobile:375},kP=`samva.editor.leftWidth`,AP=`samva.editor.assistantWidth`,jP=`samva.editor.rightWidth`,MP=260,NP=360,PP=320,FP=200,IP=420,LP=300,RP=520,zP=260,BP=440,VP=(e,t)=>{try{let n=localStorage.getItem(e);if(n===null)return t;let r=Number(n);return Number.isFinite(r)?r:t}catch{return t}},HP=(e,t)=>{try{localStorage.setItem(e,String(t))}catch{}},UP=e=>e!==null&&e.channel===`email`?e.render:null,WP=(e,t)=>{let n,r,i=t=>e.access!==`editable`||t.doc?.access.kind===`readonly`||t.lifecycleBusy,a=t=>t!==null&&e.access===`editable`&&e.sourceAccess===`editable`&&t.access.kind!==`readonly`,o=(e,t,n)=>{let r=dP(t,e.hostChecks),i=!e.layersSeeded&&r.outline!==null;return{doc:t,pendingAuthoredSource:n,...r,render:UP(t),expandedLayers:i?aP(r.outline):e.expandedLayers,layersSeeded:e.layersSeeded||i,selection:mP(e.selection,t,e.outline)}},s=ts((s,c)=>{let l=(e,t)=>{let r=c();r.doc!==null&&(s({doc:{...r.doc,origin:{...r.doc.origin,authoredSource:e}},pendingAuthoredSource:e,sourceEditError:null}),n.enqueueAuthoredSource(e,{coalesceKey:t?.coalesceKey??`authored-source`}))},u=e=>{let t=c();if(i(t)||!t.sourceEditable||t.conflict||t.doc===null)return;let n=e===`undo`?t.undoHistory:t.redoHistory,r=n.at(-1);if(r!==void 0){if(t.doc.origin.authoredSource!==(e===`undo`?r.after:r.before)){s({sourceEditError:`History conflicts with a newer change. Your current work is kept. Review the saved versions.`});return}s(e===`undo`?{undoHistory:n.slice(0,-1),redoHistory:[...t.redoHistory,r]}:{redoHistory:n.slice(0,-1),undoHistory:[...t.undoHistory,r]}),l(e===`undo`?r.before:r.after)}};return{sourceEditError:null,assistantOriginIndex:0,undoHistory:[],redoHistory:[],workspaceView:`visual`,doc:null,pendingAuthoredSource:null,editable:e.access===`editable`,sourceEditable:e.access===`editable`&&e.sourceAccess===`editable`,metadataEditable:e.access===`editable`&&e.metadataAccess!==`readonly`,readonlyReason:null,render:null,outline:null,sizeKb:0,checks:t.hostChecks,hostChecks:t.hostChecks,lifecycleCapability:e.lifecycle,versionsCapability:e.versions,telemetry:e.telemetry,assetsCapability:e.assets,fixtureCapability:e.fixtures,fixtureBusy:!1,fixtureError:null,diagnosticAssistance:null,selection:oP,renameActive:!1,expandedLayers:new Set,layersSeeded:!1,leftCollapsed:!1,rightCollapsed:!1,designView:`layers`,focusedPane:`assistant`,leftWidth:VP(kP,MP),assistantWidth:Math.min(RP,Math.max(LP,VP(AP,NP))),rightWidth:VP(jP,PP),previewDevice:`desktop`,canvasZoom:`100`,layoutMode:`wide`,metadataSaving:!1,metadataError:null,lifecycleBusy:!1,conflict:!1,storageError:null,hoveredCandidatePath:null,actions:{requestSourceAssistance:e=>s({assistantOriginIndex:e,rightCollapsed:!1}),requestDiagnosticAssistance:e=>{let t=c();t.doc===null||i(t)||t.pendingAuthoredSource!==null||t.conflict||s({diagnosticAssistance:{id:(t.diagnosticAssistance?.id??0)+1,revision:t.doc.rev,check:e},rightCollapsed:!1})},openSource:()=>s({workspaceView:`source`}),undo:()=>u(`undo`),redo:()=>u(`redo`),applySourceEdit:e=>{let t=c();if(i(t)||!t.sourceEditable||t.conflict||t.doc===null)return;if(t.doc.rev!==e.revision||t.doc.origin.authoredSource!==e.source||t.pendingAuthoredSource!==null&&e.coalesceKey===void 0){s({sourceEditError:`That edit is stale. The preview moved on. Reselect the element and try again.`});return}let n=Xg(e.source,e.edits,{profile:{entry:t.doc.origin.file}});if(!n.ok){s({sourceEditError:n.reason});return}if(n.source===e.source)return;let r=t.undoHistory.at(-1);s({undoHistory:e.coalesceKey!==void 0&&r?.key===e.coalesceKey&&r.after===e.source?[...t.undoHistory.slice(0,-1),{before:r.before,after:n.source,key:e.coalesceKey}]:[...t.undoHistory,{before:e.source,after:n.source,key:e.coalesceKey}],redoHistory:[]}),l(n.source,{coalesceKey:e.coalesceKey})},replaceAuthoredSource:e=>{let t=c();i(t)||!t.sourceEditable||t.doc===null||e===t.doc.origin.authoredSource||t.conflict||(s({undoHistory:[...t.undoHistory,{before:t.doc.origin.authoredSource,after:e}],redoHistory:[]}),l(e))},viewFixture:e=>{let t=c(),n=t.fixtureCapability;n?.status===`ready`&&t.doc!==null&&!t.fixtureBusy&&t.doc.fixtures.includes(e)&&t.doc.fixture!==e&&(s({fixtureBusy:!0,fixtureError:null}),n.api.view(e).then(()=>s({fixtureBusy:!1}),()=>s({fixtureBusy:!1,fixtureError:`Couldn't render the ${e} fixture.`})))},reload:()=>{c().lifecycleBusy||(s({conflict:!1,storageError:null,fixtureError:null}),n.reload())},flushSaves:()=>n.flushSaves(),beginLifecycle:()=>{let t=c();return t.lifecycleBusy||t.doc===null||e.access!==`editable`||t.doc.access.kind===`readonly`?!1:(s({lifecycleBusy:!0}),!0)},endLifecycle:()=>s({lifecycleBusy:!1}),adoptLifecycleSnapshot:e=>{n.adoptRev(e.rev),s(t=>{if(t.doc===null)return{conflict:!1};let n={...t.doc,rev:e.rev,origin:{...t.doc.origin,authoredSource:e.authoredSource}};return{...o(t,n,null),sourceEditable:a(n),conflict:!1}})},retrySave:()=>{i(c())||n.retrySave()},select:e=>{s(t=>{if(e===null)return{selection:oP};let{render:n,doc:r}=t;if(n===null||r?.channel!==`email`||r.fixture===null||!n.selections.some(t=>t.instancePath===e))return{selection:oP};let i=new Set(t.expandedLayers);if(t.outline!==null)for(let n of rP(t.outline,e))i.add(n);return{assistantOriginIndex:0,selection:{kind:`element`,instancePath:e,revision:n.revision,fixture:r.fixture},expandedLayers:i}});let{selection:t}=c();t.kind===`element`&&r?.({instancePath:t.instancePath,revision:t.revision,fixture:t.fixture})},selectDocument:()=>s({selection:oP}),selectEnvelope:()=>s({selection:sP}),toggleLeft:()=>s(e=>({leftCollapsed:!e.leftCollapsed})),toggleRight:()=>s(e=>({rightCollapsed:!e.rightCollapsed})),setDesignView:e=>{c().designView!==e&&s({designView:e})},setFocusedPane:e=>{c().focusedPane!==e&&s({focusedPane:e})},openReview:()=>s(e=>({designView:`review`,focusedPane:e.layoutMode===`narrow`?`assistant`:`design`})),setWorkspaceView:e=>s({workspaceView:e}),setLeftWidth:e=>{let t=Math.min(IP,Math.max(FP,Math.round(e)));HP(kP,t),s({leftWidth:t})},setAssistantWidth:e=>{let t=Math.min(RP,Math.max(LP,Math.round(e)));HP(AP,t),s({assistantWidth:t})},setRightWidth:e=>{let t=Math.min(BP,Math.max(zP,Math.round(e)));HP(jP,t),s({rightWidth:t})},setPreviewDevice:e=>s({previewDevice:e}),setCanvasZoom:e=>s({canvasZoom:e}),setLayoutMode:e=>{if(c().layoutMode!==e){if(e===`wide`){s({layoutMode:e,leftCollapsed:!1,rightCollapsed:!1,canvasZoom:`100`});return}if(e===`standard`){s({layoutMode:e,leftCollapsed:!1,rightCollapsed:!0,canvasZoom:`fit`});return}s({layoutMode:e,leftCollapsed:!0,rightCollapsed:!0,canvasZoom:`fit`})}},setRenameActive:e=>s({renameActive:e}),rename:t=>{let n=c();if(i(n)||e.access!==`editable`||e.metadataAccess===`readonly`)return;let r=e.writer,a=n.doc;if(a===null)return;let o=t.trim()||`Untitled template`;o!==a.name&&(s(e=>e.doc===null?e:{doc:{...e.doc,name:o},metadataSaving:!0,metadataError:null}),r.save({kind:`metadata`,patch:{name:o}}).then(()=>s({metadataSaving:!1}),()=>{s(e=>({doc:e.doc===null?e.doc:{...e.doc,name:a.name},metadataSaving:!1,metadataError:`Couldn't save the template name.`}))}))},saveMetadata:t=>{let n=c();if(i(n)||e.access!==`editable`||e.metadataAccess===`readonly`)return;let r=e.writer,a=n.doc;a!==null&&(s(e=>e.doc===null?e:{doc:{...e.doc,metadata:{fromDefault:t.fromDefault===void 0?e.doc.metadata.fromDefault:t.fromDefault??void 0,replyToDefault:t.replyToDefault===void 0?e.doc.metadata.replyToDefault:t.replyToDefault??void 0}},metadataSaving:!0,metadataError:null}),r.save({kind:`metadata`,patch:t}).then(()=>s({metadataSaving:!1}),()=>{s(e=>({doc:e.doc===null?e.doc:{...e.doc,metadata:a.metadata},metadataSaving:!1,metadataError:`Couldn't save the sender defaults.`}))}))},toggleLayerExpand:e=>s(t=>{let n=new Set(t.expandedLayers);return n.has(e)?n.delete(e):n.add(e),{expandedLayers:n}}),ancestryOf:e=>{let{outline:t}=c();return t===null?[]:rP(t,e)},breadcrumbOf:e=>{let{outline:t}=c();return t===null?[]:iP(t,e)},setHovered:e=>s({hoveredCandidatePath:e}),setHostChecks:e=>{Object.is(c().hostChecks,e)||s(t=>({hostChecks:e,checks:t.doc===null?e:CP(t.doc,e)}))}}}}),c=(e,t)=>{s.setState(n=>{if(n.doc===null)return n;let r=t?n.pendingAuthoredSource:null,i=hP(n.doc,e,r),a=e.authoredSource!==void 0&&e.authoredSource===i.origin.authoredSource;return o(n,i,a?null:r)})};return n=DP(e,{onInitial:t=>{s.setState(n=>({...o(n,t,null),editable:e.access===`editable`&&t.access.kind!==`readonly`,sourceEditable:a(t),readonlyReason:t.access.kind===`readonly`?t.access.reason:null}))},onPersistedRevision:e=>{s.setState(t=>t.doc===null?t:{doc:{...t.doc,rev:e}})},onSelfAck:e=>c(e,!0),onForeignChange:(e,t)=>{if(t){s.setState(t=>t.doc===null?t:{doc:{...t.doc,rev:e.rev},sourceEditable:!1,conflict:!0});return}c(e,!1),s.setState(e=>({sourceEditable:a(e.doc)}))},onConflict:()=>s.setState({conflict:!0,sourceEditable:!1}),onStorageError:e=>s.setState({storageError:e}),onSessionError:e=>s.setState({storageError:e})}),{host:e,store:s,spine:n,setUserSelectListener:e=>{r=e}}},GP=[];function KP({host:e,checks:t=GP,icons:n,onSelectElement:r,preparePreviewDocument:i,children:a}){let[o,s]=(0,W.useState)(()=>WP(e,{hostChecks:t}));o.host!==e&&s(WP(e,{hostChecks:t})),(0,W.useEffect)(()=>(o.spine.open(),()=>o.spine.dispose()),[o]),(0,W.useEffect)(()=>{o.store.getState().actions.setHostChecks(t)},[o,t]),(0,W.useLayoutEffect)(()=>(o.setUserSelectListener(r),()=>o.setUserSelectListener(void 0)),[o,r]);let c=(0,W.useMemo)(()=>n===void 0?WN:{...WN,...n},[n]);return(0,Z.jsx)(JN.Provider,{value:o,children:(0,Z.jsx)(HN.Provider,{value:i,children:(0,Z.jsx)(KN,{value:c,children:a})})})}var qP=e=>{let t=({className:t})=>{let n=qN()[e];return(0,Z.jsx)(n,{...t===void 0?{}:{className:t}})};return t.displayName=`EditorIcon(${e})`,t},JP=qP(`arrowsExpand`),YP=qP(`arrowsToCenter`),XP=qP(`bulletList`),ZP=qP(`buttonCursor`),QP=qP(`chevronDown`),$P=qP(`chevronLeft`),eF=qP(`chevronRight`),tF=qP(`chevronUp`),nF=qP(`dividerY`),rF=qP(`download`),iF=qP(`envelope`),aF=qP(`eye`),oF=qP(`files`),sF=qP(`frame`),cF=qP(`gridLayoutRows`),lF=qP(`heading1`),uF=qP(`image`),dF=qP(`layers`),fF=qP(`mobile`),pF=qP(`monitor`),mF=qP(`palette`),hF=qP(`paragraph`),gF=qP(`sidebarLeft`),_F=qP(`sidebarLeftHide`),vF=qP(`sidebarRight`),yF=qP(`sidebarRightHide`),bF=qP(`sliders`),xF=qP(`sparkle`),SF=qP(`textColumns`),CF=qP(`xmark`);function wF(...e){return gk(e)}var TF=`focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`,EF=wF(`inline-flex items-center justify-center gap-1.5 rounded-[7px] font-medium transition-all outline-none disabled:pointer-events-none disabled:opacity-50`,`bg-[var(--editor-raised-bg)] text-[color:var(--editor-raised-fg)] shadow-[var(--editor-raised-shadow)]`,`hover:bg-[var(--editor-raised-bg-hover)] aria-expanded:bg-[var(--editor-raised-bg-hover)] data-popup-open:bg-[var(--editor-raised-bg-hover)]`,`active:translate-y-px active:shadow-[var(--editor-raised-shadow-pressed)] disabled:shadow-none data-disabled:shadow-none`,TF),DF=wF(`inline-flex items-center justify-center gap-1.5 rounded-md border border-transparent font-medium whitespace-nowrap text-muted-foreground outline-none`,`hover:bg-muted hover:text-foreground`,`transition-[color,background-color,border-color,box-shadow] duration-150 ease-out`,TF,`data-[pressed]:border-[color:var(--editor-chip-border)] data-[pressed]:bg-[var(--editor-chip-bg)] data-[pressed]:text-[color:var(--editor-chip-fg)] data-[pressed]:shadow-[var(--editor-chip-shadow)]`,`data-active:border-[color:var(--editor-chip-border)] data-active:bg-[var(--editor-chip-bg)] data-active:text-[color:var(--editor-chip-fg)] data-active:shadow-[var(--editor-chip-shadow)]`,`aria-pressed:border-[color:var(--editor-chip-border)] aria-pressed:bg-[var(--editor-chip-bg)] aria-pressed:text-[color:var(--editor-chip-fg)] aria-pressed:shadow-[var(--editor-chip-shadow)]`),OF=wF(`min-h-9 w-full rounded-lg border border-border bg-background px-2.5 text-[13px] text-foreground outline-none disabled:cursor-not-allowed disabled:bg-surface-inset disabled:text-muted-foreground`,TF),kF=new Set([`frame.start`,`document.switcher`,`rail.assistant`,`rail.review`,`statusbar.headline`]),AF=e=>{let t=new Set,n=new Map;for(let r of e){if(t.has(r.id))throw Error(`Editor contribution id "${r.id}" is used twice.`);t.add(r.id);let e=n.get(r.slot)??[];if(kF.has(r.slot)&&e.length>0)throw Error(`Editor region "${r.slot}" holds one contribution; "${e[0].id}" and "${r.id}" both target it.`);e.push(r),n.set(r.slot,e)}let r=n.get(`toolbar.actions`);if(r!==void 0){let e=e=>e.slot===`toolbar.actions`?e.order:void 0;n.set(`toolbar.actions`,r.toSorted((t,n)=>{let r=e(t),i=e(n);return r===void 0||i===void 0?r===i?0:r===void 0?1:-1:r-i}))}let i=e=>(n.get(e)??[]).filter(t=>t.slot===e);return{all:i,one:e=>i(e)[0]}},jF=(0,W.createContext)(AF([])),MF=jF.Provider,NF=e=>(0,W.useContext)(jF).one(e),PF=e=>(0,W.useContext)(jF).all(e),FF=(0,W.createContext)(null),IF=FF.Provider;function LF(){let e=NF(`rail.assistant`),t=NF(`rail.review`),n=(0,W.useContext)(FF),r=XN(),{doc:i,render:a,outline:o,selection:s,originIndex:c,checks:l,diagnosticAssistance:u,layout:d,canFix:f}=$(mk(e=>({doc:e.doc,render:e.render,outline:e.outline,selection:e.selection,originIndex:e.assistantOriginIndex,checks:e.checks,diagnosticAssistance:e.diagnosticAssistance,layout:e.layoutMode,canFix:e.sourceEditable&&!e.conflict&&e.pendingAuthoredSource===null&&!e.lifecycleBusy})));if(e===void 0||n===null)return null;let p=wP(l),m=s.kind===`element`?o?.index.get(s.instancePath)??null:null,h=m===null||s.kind!==`element`?null:{originIndex:c,instancePath:m.instancePath,fixture:s.fixture,label:QN(m)},g=i?.channel===`email`?i.fixture:null,_=o===null||g===null||a===null||i===null?[]:tP(o).map(({depth:e,node:t})=>{let n=eP(t.selection,a.html);return{instancePath:t.instancePath,fixture:g,...t.selection.origins[c]===void 0?{}:{originIndex:c},label:$N(t.selection,i.origin.authoredSource),...n===void 0?{}:{detail:n},depth:e,active:s.kind===`element`&&s.instancePath===t.instancePath}});return{panel:e.render({flushSaves:()=>r.getState().actions.flushSaves(),exportHtml:n.exportHtml,canExport:n.canExport,openReview:t===void 0?void 0:()=>r.getState().actions.openReview(),workspace:{draftRevision:i?.rev??null,saveVersionStatus:n.saveVersionStatus,checks:{errors:p.errorCount,warnings:p.warnCount,findings:p.actionable,canFix:f},diagnosticAssistance:u,pointedElement:h,availableInstancePaths:o===null?[]:[...o.index.keys()],layout:d,layers:_}}),header:e.header??null}}function RF({hidden:e=!1}){let t=LF(),n=$(e=>e.assistantWidth),r=$(e=>e.layoutMode),i=r===`compact`||r===`narrow`;return t===null?null:(0,Z.jsx)(`aside`,{"aria-label":`Assistant`,hidden:e,"data-editor-rail":`left`,"data-testid":`agent-column`,style:i?void 0:{width:n},className:wF(`min-h-0 min-w-0 flex-col overflow-hidden bg-background`,e?`hidden`:`flex`,i&&`h-full w-full flex-1`,!i&&`h-full shrink-0 border-r border-border`),children:(0,Z.jsxs)(`div`,{className:`flex h-full min-h-0 min-w-0 flex-col`,style:i?void 0:{width:n,maxWidth:`100%`},children:[(0,Z.jsxs)(`div`,{className:`border-border-subtle flex min-h-11 shrink-0 items-center gap-2 border-b px-3 py-2`,children:[(0,Z.jsx)(xF,{className:`text-accent-orange size-[15px] shrink-0`}),(0,Z.jsx)(`p`,{className:`text-foreground truncate text-[13px] leading-none font-semibold`,children:`Assistant`}),t.header!==null&&(0,Z.jsx)(`div`,{className:`ml-auto shrink-0`,children:t.header})]}),(0,Z.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:t.panel})]})})}function zF(){let e=LF(),{rightCollapsed:t,rightWidth:n,layoutMode:r}=$(mk(e=>({rightCollapsed:e.rightCollapsed,rightWidth:e.rightWidth,layoutMode:e.layoutMode})));if(e===null)return null;let i=r===`compact`||r===`narrow`;return(0,Z.jsx)(`aside`,{"aria-label":`Assistant`,"aria-hidden":t||void 0,inert:t||void 0,"data-editor-rail":`right`,style:{width:t?0:n,maxWidth:i?`calc(100% - 48px)`:void 0},className:wF(`flex h-full shrink-0 flex-col overflow-hidden border-l border-border bg-background transition-[width,transform,box-shadow] duration-180 ease-out`,i&&`absolute inset-y-0 right-0 z-40 shadow-[var(--shadow-floating)]`,t&&`border-l-0`),children:(0,Z.jsx)(`div`,{className:`flex h-full min-w-0 flex-col`,style:{width:n,maxWidth:`100%`},children:(0,Z.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:e.panel})})})}var BF=(0,W.createContext)(void 0),VF=()=>(0,W.useContext)(BF);function HF({label:e,source:t,editable:n,onChange:r,testId:i}){return(0,Z.jsxs)(`section`,{className:`flex min-h-0 min-w-0 flex-1 flex-col`,children:[(0,Z.jsx)(`div`,{className:`border-border-subtle bg-surface-inset text-muted-foreground border-b px-4 py-2 font-mono text-[11px] font-medium`,children:e}),(0,Z.jsx)(`textarea`,{"aria-label":e,"data-testid":i,readOnly:!n,spellCheck:!1,value:t,onChange:e=>r?.(e.target.value),className:wF(`border border-[color:var(--editor-well-border)] bg-[var(--editor-well-bg)] shadow-[var(--editor-well-shadow)]`,`samva-editor-scroll text-foreground min-h-0 flex-1 resize-none border-t-0 p-4 font-mono text-[12.5px] leading-5 outline-none`,`read-only:bg-muted read-only:shadow-none dark:read-only:bg-muted/40`)})]})}function UF(){let e=$(e=>e.doc),t=$(e=>e.sourceEditable),{replaceAuthoredSource:n}=$(e=>e.actions);return e===null?(0,Z.jsx)(`div`,{className:`text-muted-foreground grid flex-1 place-items-center text-sm`,children:`Loading…`}):(0,Z.jsx)(`div`,{className:`flex min-h-0 min-w-0 flex-1`,children:(0,Z.jsx)(HF,{label:`Authored TSX · ${e.origin.file}`,source:e.origin.authoredSource,editable:t,testId:`source-workspace.authored-tsx`,onChange:t?n:void 0})})}function WF(e){let t=XN(),{applySourceEdit:n}=$(e=>e.actions);return(0,W.useCallback)((r,i)=>{let{doc:a}=t.getState();if(a===null)return;let o=a.origin.authoredSource,s=e(o,r);if(!s.ok){t.setState({sourceEditError:s.reason});return}s.edits.length!==0&&n({revision:a.rev,source:o,edits:s.edits,coalesceKey:i})},[n,e,t])}function GF(e,t){return`${e}-view-tab-${t}`}var KF=wF(DF,`h-7 px-2.5 text-[12px] capitalize`);function qF({value:e,onChange:t,children:n,panelId:r,idBase:i}){let a=(0,W.useId)(),o=i??a,s=`${o}-view-panel`;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(Ok,{role:`tablist`,"aria-label":`Workspace view`,value:[e],onValueChange:e=>{let n=e[0];(n===`visual`||n===`source`)&&t(n)},className:`border-border bg-background flex h-10 shrink-0 items-center gap-1 border-b px-3`,children:[`visual`,`source`].map(t=>(0,Z.jsx)(xk,{id:GF(o,t),type:`button`,role:`tab`,"aria-selected":e===t,"aria-controls":r??s,"aria-pressed":void 0,value:t,"data-testid":`workspace.tab.${t}`,className:KF,children:t},t))}),r===void 0&&(0,Z.jsx)(`div`,{role:`tabpanel`,id:s,"aria-labelledby":GF(o,e),className:`flex min-h-0 min-w-0 flex-1 flex-col`,children:n})]})}function JF({label:e,children:t}){return(0,Z.jsxs)(`label`,{className:`grid gap-1.5 text-[12.5px]`,children:[(0,Z.jsx)(`span`,{className:`text-foreground font-medium`,children:e}),t]})}function YF({summary:e}){return(0,Z.jsxs)(`div`,{className:`border-border bg-surface-inset rounded-lg border border-dashed px-3 py-2`,children:[(0,Z.jsx)(`p`,{className:`text-foreground truncate font-mono text-[11.5px]`,children:e}),(0,Z.jsx)(`p`,{className:`text-muted-foreground mt-0.5 text-[11px]`,children:`Locked structure. Preserved as is. Edit it in Source.`})]})}function XF({summary:e}){return(0,Z.jsx)(`span`,{title:`Locked expression. Edit it in Source.`,"data-testid":`channel-workspace.locked-chip`,className:`border-border bg-surface-inset text-muted-foreground inline-flex max-w-full shrink-0 truncate rounded-md border border-dashed px-1.5 py-0.5 font-mono text-[11.5px]`,children:e})}function ZF({diagnostics:e}){return e.length===0?null:(0,Z.jsx)(`ul`,{className:`grid gap-2`,children:e.map((e,t)=>(0,Z.jsx)(`li`,{className:`border-status-error/30 bg-status-error/5 text-status-error rounded-lg border px-3 py-2 text-[12px]`,children:e.message},`${e.code}-${t}`))})}function QF({variables:e}){return e.length===0?null:(0,Z.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:e.map(e=>(0,Z.jsx)(`span`,{className:`border-border-subtle bg-surface-inset rounded-full border px-2 py-0.5 font-mono text-[11px]`,children:e},e))})}function $F({text:e,className:t}){let n=J_(e);return(0,Z.jsxs)(`p`,{"data-testid":`sms-counter`,className:wF(`text-muted-foreground`,t),children:[n.encoding.toUpperCase(),` · `,n.characterCount,` character`,n.characterCount===1?``:`s`,` · `,n.segmentCount,` segment`,n.segmentCount===1?``:`s`]})}function eI({reason:e}){return e===null?null:(0,Z.jsx)(`p`,{role:`alert`,"data-testid":`channel-workspace.edit-refusal`,className:`border-status-error/30 bg-status-error/5 text-status-error rounded-lg border px-3 py-2 text-[12px]`,children:e})}var tI=`none`;function nI({segments:e,editable:t,onChange:n}){let r=(0,W.useRef)(!1);return(0,Z.jsx)(`div`,{className:`bg-muted text-foreground rounded-[18px] px-4 py-3 text-[14px] whitespace-pre-wrap`,children:e.map((e,i)=>e.kind===`locked`?(0,Z.jsx)(`span`,{contentEditable:!1,title:`Locked structure — edit in Source`,"data-testid":`sms-workspace.locked-segment`,className:`border-border bg-surface-inset text-muted-foreground mx-0.5 inline-flex rounded-md border border-dashed px-1.5 py-0.5 font-mono text-[11.5px]`,children:e.summary},`locked-${i}`):(0,Z.jsx)(`span`,{role:`textbox`,"aria-label":`SMS message preview segment ${i+1}`,"data-testid":`sms-workspace.preview-segment.${i+1}`,"aria-multiline":`true`,contentEditable:t?`plaintext-only`:!1,suppressContentEditableWarning:!0,onCompositionStart:()=>{r.current=!0},onCompositionEnd:e=>{r.current=!1,n(i,e.currentTarget.textContent??``)},onInput:e=>{r.current||n(i,e.currentTarget.textContent??``)},className:`focus:bg-background focus-visible:ring-ring/50 rounded-sm outline-none focus-visible:ring-[3px]`,children:e.text},`text-${i}`))})}function rI({form:e,editable:t,onEdit:n}){let r=VF(),i=e.category.kind===`literal`?e.category.value:void 0;return(0,Z.jsxs)(`div`,{className:`grid gap-4`,children:[(0,Z.jsx)(JF,{label:`Category`,children:(0,Z.jsxs)(ID,{value:i??tI,disabled:!t||e.category.kind===`expression`,onValueChange:e=>n({kind:`category`,value:po.find(t=>t.value===e)?.value}),children:[(0,Z.jsx)(ZD,{"data-testid":`sms-workspace.category`,className:OF,children:(0,Z.jsx)($D,{})}),(0,Z.jsx)(eO,{container:r,children:(0,Z.jsx)(kO,{sideOffset:4,className:`z-[120]`,children:(0,Z.jsxs)(XO,{className:`samva-editor-shell border-border bg-surface-elevated min-w-[var(--anchor-width)] rounded-lg border p-1 shadow-[var(--shadow-lg)]`,children:[(0,Z.jsx)(sk,{value:tI,"data-testid":`sms-workspace.category-option.none`,className:`data-highlighted:bg-muted rounded-md px-2.5 py-1.5 text-[13px] outline-none`,children:(0,Z.jsx)(ck,{children:`Not set`})}),po.map(e=>(0,Z.jsx)(sk,{value:e.value,"data-testid":`sms-workspace.category-option.${e.value}`,className:`data-highlighted:bg-muted rounded-md px-2.5 py-1.5 text-[13px] outline-none`,children:(0,Z.jsx)(ck,{children:e.label})},e.value))]})})})]})}),(0,Z.jsxs)(`div`,{className:`grid gap-2`,children:[(0,Z.jsx)(`span`,{className:`text-[12.5px] font-medium`,children:`Message body`}),e.segments.map((e,r)=>e.kind===`locked`?(0,Z.jsx)(YF,{summary:e.summary},`locked-${r}`):(0,Z.jsx)(`textarea`,{"aria-label":`Message body segment ${r+1}`,"data-testid":`sms-workspace.body-segment.${r+1}`,value:e.text,disabled:!t,onChange:e=>n({kind:`text`,segment:r,text:e.target.value},`sms-${r}`),rows:5,className:`${OF} resize-y py-2`},`text-${r}`))]}),(0,Z.jsx)(QF,{variables:e.variables})]})}function iI(){let e=$(e=>e.doc),t=$(e=>e.sourceEditable),n=$(e=>e.sourceEditError),[r,i]=(0,W.useState)(`visual`),a=WF(P_),o=e?.origin.authoredSource??``,s=(0,W.useMemo)(()=>N_(o),[o]),c=e?.channel===`sms`?e.render:null;return(0,Z.jsx)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col`,children:(0,Z.jsx)(qF,{value:r,onChange:i,children:r===`source`?(0,Z.jsx)(UF,{}):(0,Z.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1`,children:[(0,Z.jsx)(`aside`,{className:`samva-editor-scroll border-border bg-background w-[380px] shrink-0 overflow-y-auto border-r p-4`,children:(0,Z.jsxs)(`div`,{className:`grid gap-4`,children:[(0,Z.jsx)(ZF,{diagnostics:e?.diagnostics??[]}),(0,Z.jsx)(eI,{reason:n}),s===null?(0,Z.jsxs)(`p`,{className:`text-muted-foreground text-[12.5px]`,children:[`The SMS body is not a `,(0,Z.jsx)(`code`,{children:`<Sms>`}),` written in place, so it is edited in Source.`]}):(0,Z.jsx)(rI,{form:s,editable:t,onEdit:a})]})}),(0,Z.jsx)(`main`,{className:`samva-editor-workspace samva-editor-scroll min-w-0 flex-1 overflow-auto p-8`,children:(0,Z.jsxs)(`div`,{className:`border-border bg-background mx-auto max-w-[420px] rounded-[28px] border p-5 shadow-[var(--shadow-lg)]`,children:[(0,Z.jsx)(`div`,{"data-testid":`sms-workspace.preview-heading`,className:`border-border-subtle text-muted-foreground mb-5 border-b pb-3 text-center text-[12px] font-medium`,children:`SMS preview`}),s===null?(0,Z.jsx)(`div`,{className:`bg-muted text-muted-foreground rounded-[18px] px-4 py-3 text-[14px] whitespace-pre-wrap`,children:c?.text||`Message preview`}):(0,Z.jsx)(nI,{segments:s.segments,editable:t,onChange:(e,t)=>a({kind:`text`,segment:e,text:t},`sms-${e}`)}),c!==null&&(0,Z.jsx)($F,{text:c.text,className:`mt-4 text-center text-[11.5px]`})]})}),(0,Z.jsx)(zF,{})]})})})}var aI=[{kind:`text`,text:``,start:0,end:0}],oI=e=>e.kind===`literal`?e.value:e.kind===`expression`?e.source:``;function sI({value:e,options:t,disabled:n,ariaLabel:r,onChange:i}){let a=VF();return(0,Z.jsxs)(ID,{value:e,disabled:n,onValueChange:e=>{let n=t.find(t=>t.value===e);n!==void 0&&i(n.value)},children:[(0,Z.jsx)(ZD,{"aria-label":r,className:OF,children:(0,Z.jsx)($D,{})}),(0,Z.jsx)(eO,{container:a,children:(0,Z.jsx)(kO,{sideOffset:4,className:`z-[120]`,children:(0,Z.jsx)(XO,{className:`samva-editor-shell border-border bg-surface-elevated min-w-[var(--anchor-width)] rounded-lg border p-1 shadow-[var(--shadow-lg)]`,children:t.map(e=>(0,Z.jsx)(sk,{value:e.value,className:`data-highlighted:bg-muted rounded-md px-2.5 py-1.5 text-[13px] outline-none`,children:(0,Z.jsx)(ck,{children:e.label})},e.value))})})})]})}function cI({label:e,part:t,segments:n,editable:r,onEdit:i}){let a=n??aI,o=`whatsapp-workspace.slot.${e.toLowerCase()}`;return(0,Z.jsxs)(`div`,{className:`grid gap-1.5 text-[12.5px]`,children:[(0,Z.jsx)(`span`,{className:`text-foreground font-medium`,children:e}),(0,Z.jsx)(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:a.map((n,a)=>n.kind===`locked`?(0,Z.jsx)(XF,{summary:n.summary},`locked-${a}`):(0,Z.jsx)(`input`,{"aria-label":a===0?e:`${e} ${a+1}`,value:n.text,disabled:!r,"data-testid":a===0?o:`${o}.${a+1}`,onChange:e=>i({kind:`text`,part:t,segment:a,text:e.target.value},`whatsapp-${t}-${a}`),className:`${OF} min-w-[8ch] flex-1`},`text-${a}`))})]})}function lI({ariaLabel:e,state:t,editable:n,onChange:r,testId:i}){return(0,Z.jsx)(`input`,{"aria-label":e,"data-testid":i,value:oI(t),disabled:!n||t.kind===`expression`,title:t.kind===`expression`?`Read from the input. Edit it in Source.`:void 0,onChange:e=>r(e.target.value),className:OF})}function uI({buttons:e,editable:t,onEdit:n}){let[r,i]=(0,W.useState)(`quick-reply`);return(0,Z.jsxs)(`div`,{className:`grid gap-2`,children:[(0,Z.jsx)(`span`,{className:`text-[12.5px] font-medium`,children:`Buttons`}),e.map((e,r)=>e.kind===`locked`?(0,Z.jsx)(YF,{summary:e.summary},`locked-${r}`):(0,Z.jsxs)(`div`,{className:`border-border grid gap-2 rounded-lg border p-3`,children:[(0,Z.jsx)(sI,{value:e.type,options:go,disabled:!t,ariaLabel:`Button ${r+1} type`,onChange:e=>n({kind:`buttonType`,button:r,type:e})}),(0,Z.jsx)(`input`,{"aria-label":`Button ${r+1} label`,value:e.text,disabled:!t,onChange:e=>n({kind:`buttonText`,button:r,text:e.target.value},`whatsapp-button-${r}-text`),className:OF}),e.type===`url`&&(0,Z.jsx)(lI,{ariaLabel:`Button ${r+1} URL`,state:e.url,editable:t,onChange:e=>n({kind:`buttonAttribute`,button:r,name:`url`,value:e},`whatsapp-button-${r}-url`)}),e.type===`phone`&&(0,Z.jsx)(lI,{ariaLabel:`Button ${r+1} phone`,state:e.phone,editable:t,onChange:e=>n({kind:`buttonAttribute`,button:r,name:`phone`,value:e},`whatsapp-button-${r}-phone`)}),t&&(0,Z.jsx)(`button`,{type:`button`,"aria-label":`Remove button ${r+1}`,onClick:()=>n({kind:`buttonRemove`,button:r}),className:`text-muted-foreground hover:text-status-error justify-self-end text-[11.5px]`,children:`Remove`})]},`button-${r}`)),t&&(0,Z.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Z.jsx)(sI,{value:r,options:go,disabled:!1,ariaLabel:`New button type`,onChange:i}),(0,Z.jsx)(`button`,{type:`button`,"data-testid":`whatsapp-workspace.add-button`,onClick:()=>n({kind:`buttonAdd`,type:r}),className:`border-border hover:bg-muted shrink-0 rounded-lg border px-3 text-[12px]`,children:`Add`})]})]})}function dI({form:e,editable:t,onEdit:n}){let r=oI(e.category),i=e.headerType.kind===`literal`?e.headerType.value:`text`;return(0,Z.jsxs)(`div`,{className:`grid gap-4`,children:[(0,Z.jsx)(JF,{label:`Language`,children:(0,Z.jsx)(lI,{ariaLabel:`Language`,state:e.language,editable:t,onChange:e=>n({kind:`attribute`,name:`language`,value:e},`whatsapp-language`)})}),(0,Z.jsx)(JF,{label:`Category`,children:(0,Z.jsx)(sI,{value:r,options:mo,disabled:!t||e.category.kind!==`literal`,onChange:e=>n({kind:`attribute`,name:`category`,value:e})})}),(0,Z.jsx)(JF,{label:`Header type`,children:(0,Z.jsx)(sI,{value:i,options:ho,disabled:!t||e.header===null||e.headerType.kind===`expression`,onChange:e=>n({kind:`headerType`,value:e})})}),(0,Z.jsx)(cI,{label:`Header`,part:`header`,segments:e.header,editable:t,onEdit:n}),(0,Z.jsxs)(`div`,{className:`grid gap-2`,children:[(0,Z.jsx)(`span`,{className:`text-[12.5px] font-medium`,children:`Body`}),e.body.map((e,r)=>e.kind===`locked`?(0,Z.jsx)(YF,{summary:e.summary},`body-locked-${r}`):(0,Z.jsx)(`textarea`,{"aria-label":`Body segment ${r+1}`,"data-testid":`whatsapp-workspace.body.${r+1}`,value:e.text,disabled:!t,onChange:e=>n({kind:`text`,part:`body`,segment:r,text:e.target.value},`whatsapp-body-${r}`),rows:4,className:`${OF} resize-y py-2`},`body-text-${r}`))]}),(0,Z.jsx)(cI,{label:`Footer`,part:`footer`,segments:e.footer,editable:t,onEdit:n}),(0,Z.jsx)(uI,{buttons:e.buttons,editable:t,onEdit:n}),(0,Z.jsx)(QF,{variables:e.variables})]})}function fI({label:e,part:t,segments:n,editable:r,placeholder:i,className:a,onEdit:o}){return(0,Z.jsx)(`div`,{className:`flex flex-wrap items-center gap-1`,children:(n??aI).map((n,s)=>n.kind===`locked`?(0,Z.jsx)(XF,{summary:n.summary},`locked-${s}`):(0,Z.jsx)(`input`,{"aria-label":s===0?`${e} preview`:`${e} preview ${s+1}`,"data-testid":s===0?`whatsapp-workspace.preview.${e.toLowerCase()}`:`whatsapp-workspace.preview.${e.toLowerCase()}.${s+1}`,value:n.text,readOnly:!r,placeholder:i,onChange:e=>o({kind:`text`,part:t,segment:s,text:e.target.value},`whatsapp-${t}-${s}`),className:`placeholder:text-muted-foreground/60 min-w-0 flex-1 bg-transparent outline-none ${a} ${r?`focus-visible:ring-ring/50 rounded-sm focus-visible:ring-2`:`cursor-default`}`},`text-${s}`))})}var pI=e=>e.type===`copy-code`?`Copy code`:e.text;function mI({form:e,editable:t,render:n,onEdit:r}){let i=e.headerType.kind===`literal`?e.headerType.value:`text`;return(0,Z.jsxs)(`div`,{className:`border-border mx-auto max-w-[420px] rounded-[28px] border bg-[#e9e2d8] p-5 shadow-[var(--shadow-lg)] dark:bg-[#0b141a]`,children:[(0,Z.jsx)(`div`,{"data-testid":`whatsapp-workspace.preview-heading`,className:`text-muted-foreground mb-4 text-center text-[12px] font-medium`,children:`WhatsApp business preview`}),(0,Z.jsxs)(`div`,{className:`bg-background rounded-xl px-3.5 py-3 shadow-[var(--shadow-sm)]`,children:[(0,Z.jsx)(fI,{label:`Header`,part:`header`,segments:e.header,editable:t&&i===`text`,placeholder:i===`text`?`Add header`:`${i} header`,className:`mb-1 font-semibold`,onEdit:r}),(0,Z.jsx)(`div`,{className:`grid gap-1`,children:e.body.map((e,n)=>e.kind===`locked`?(0,Z.jsx)(XF,{summary:e.summary},`body-locked-${n}`):(0,Z.jsx)(`textarea`,{"aria-label":`Body preview segment ${n+1}`,"data-testid":`whatsapp-workspace.body-preview.${n+1}`,value:e.text,readOnly:!t,placeholder:`Write your message`,rows:Math.max(1,e.text.split(`
31
+ `).length),onChange:e=>r({kind:`text`,part:`body`,segment:n,text:e.target.value},`whatsapp-body-${n}`),className:`placeholder:text-muted-foreground/60 min-h-5 w-full resize-none overflow-hidden bg-transparent text-[14px] whitespace-pre-wrap outline-none ${t?`focus-visible:ring-ring/50 rounded-sm focus-visible:ring-2`:`cursor-default`}`},`body-text-${n}`))}),(0,Z.jsx)(fI,{label:`Footer`,part:`footer`,segments:e.footer,editable:t,placeholder:`Add footer`,className:`text-muted-foreground mt-2 text-[11.5px]`,onEdit:r}),(n?.buttons??[]).map((e,t)=>(0,Z.jsx)(`div`,{className:`border-border-subtle text-accent-email mt-2 border-t pt-2 text-center text-[12px]`,children:pI(e)},`${pI(e)}-${t}`))]}),(0,Z.jsxs)(`p`,{className:`text-muted-foreground mt-4 text-center text-[11.5px] capitalize`,children:[n?.category??(oI(e.category)||`utility`),` template`]})]})}function hI(){let e=$(e=>e.doc),t=$(e=>e.sourceEditable),n=$(e=>e.sourceEditError),[r,i]=(0,W.useState)(`visual`),a=WF(W_),o=e?.origin.authoredSource??``,s=(0,W.useMemo)(()=>B_(o),[o]),c=e?.channel===`whatsapp`?e.render:null;return(0,Z.jsx)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col`,children:(0,Z.jsx)(qF,{value:r,onChange:i,children:r===`source`?(0,Z.jsx)(UF,{}):(0,Z.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1`,children:[(0,Z.jsx)(`aside`,{className:`samva-editor-scroll border-border bg-background w-[400px] shrink-0 overflow-y-auto border-r p-4`,children:(0,Z.jsxs)(`div`,{className:`grid gap-4`,children:[(0,Z.jsx)(ZF,{diagnostics:e?.diagnostics??[]}),(0,Z.jsx)(eI,{reason:n}),s===null?(0,Z.jsxs)(`p`,{className:`text-muted-foreground text-[12.5px]`,children:[`The WhatsApp body is not a `,(0,Z.jsx)(`code`,{children:`<WhatsApp>`}),` written in place with a body, so it is edited in Source.`]}):(0,Z.jsx)(dI,{form:s,editable:t,onEdit:a})]})}),(0,Z.jsx)(`main`,{className:`samva-editor-workspace samva-editor-scroll min-w-0 flex-1 overflow-auto p-8`,children:s!==null&&(0,Z.jsx)(mI,{form:s,editable:t,render:c,onEdit:a})}),(0,Z.jsx)(zF,{})]})})})}var gI=e=>({top:e.top,left:e.left,width:e.width,height:e.height}),_I=(e,t)=>{let n=e.querySelectorAll(`[${Gc}="${CSS.escape(t)}"]`),r=null;for(let e of n){let t=gI(e.getBoundingClientRect());if(r??=t,t.width>0&&t.height>0)return t}return r},vI=`a[href],button,input[type="button"],input[type="submit"],input[type="image"]`,yI=e=>e!==null&&`closest`in e&&typeof e.closest==`function`,bI=e=>yI(e)&&e.closest(vI)!==null,xI=e=>yI(e)?e.closest(`[data-samva-instance]`)?.getAttribute(`data-samva-instance`)??null:null,SI=`html,body{margin:0;padding:0;overflow:hidden}`,CI={"--editor-canvas-hover":`#93c5fd`,"--editor-canvas-selected":`#2563eb`,"--editor-canvas-selected-fg":`#fff`,"--editor-canvas-generated":`#a855f7`},wI=e=>`:root{${Object.entries(CI).map(([t,n])=>`${t}:${e[t]?.trim()||n}`).join(`;`)}}`,TI=e=>{let t=e.parentElement;if(t===null)return{};let n=document.createElement(`span`);n.hidden=!0,t.appendChild(n);let r=Object.fromEntries(Object.keys(CI).map(e=>(n.style.color=`var(${e})`,[e,getComputedStyle(n).color])));return n.remove(),r},EI=/@media\s*\(\s*prefers-color-scheme:\s*dark\s*\)/g,DI=(e,t)=>e.replace(EI,t===`dark`?`@media all`:`@media not all`),OI=e=>e.metaKey||e.ctrlKey||e.altKey||e.shiftKey||e.button!==0,kI=e=>{let t=e.contentDocument;if(t===null)return null;let n=t.body.getBoundingClientRect(),r=Math.max(n.height,t.body.offsetHeight),i=Math.ceil(r>0?r:Math.max(t.body.scrollHeight,t.documentElement.scrollHeight));return e.style.height=`${i}px`,i},AI=({document_:e,mount:t,width:n,dark:r,overlay:i,onSelect:a,onHover:o,onContextMenu:s})=>{let c=(0,W.useRef)(null),[l,u]=(0,W.useState)(null),d=(0,W.useRef)({onSelect:a,onHover:o,onContextMenu:s});return(0,W.useLayoutEffect)(()=>{d.current={onSelect:a,onHover:o,onContextMenu:s}},[a,o,s]),(0,W.useLayoutEffect)(()=>{let n=c.current;if(n===null)return;let r=n.contentDocument;if(r===null)return;let i,a=null,o=()=>{a===null&&(a=requestAnimationFrame(()=>{a=null,kI(n)}))},s=new ResizeObserver(o),l=new MutationObserver(o),f=()=>{let e=r.head.querySelector(`style[data-samva-editor-chrome]`);e===null&&(e=r.createElement(`style`),e.dataset.samvaEditorChrome=``,r.head.appendChild(e)),e.textContent=`${SI}${wI(TI(n))}`},p=()=>{r.open(),r.write(e),r.close(),i=t?.(r),f(),u(r.body),s.disconnect(),s.observe(r.body),l.disconnect(),l.observe(r.body,{childList:!0,subtree:!0}),kI(n)},m=e=>{!OI(e)&&bI(e.target)&&e.preventDefault(),d.current.onSelect?.(xI(e.target))},h=e=>d.current.onHover?.(xI(e.target)),g=()=>d.current.onHover?.(null),_=e=>{let t=d.current.onContextMenu;if(t===void 0)return;e.preventDefault();let r=n.getBoundingClientRect(),i=n.clientWidth===0?1:r.width/n.clientWidth,a=n.clientHeight===0?1:r.height/n.clientHeight;t({instancePath:xI(e.target),clientX:r.left+e.clientX*i,clientY:r.top+e.clientY*a})},v=()=>{r.addEventListener(`click`,m),r.addEventListener(`mousemove`,h),r.addEventListener(`mouseleave`,g),r.addEventListener(`contextmenu`,_)},y=()=>{r.removeEventListener(`click`,m),r.removeEventListener(`mousemove`,h),r.removeEventListener(`mouseleave`,g),r.removeEventListener(`contextmenu`,_)};p(),v();let b=new MutationObserver(f);return b.observe(document.documentElement,{attributes:!0,attributeFilter:[`class`]}),()=>{y(),s.disconnect(),l.disconnect(),b.disconnect(),a!==null&&cancelAnimationFrame(a),i?.()}},[e,t]),(0,Z.jsx)(`iframe`,{ref:c,"data-testid":`canvas.frame`,title:`Email canvas`,sandbox:`allow-same-origin`,style:{width:n,height:0,display:`block`,border:`none`,background:r?`#0a0a0a`:`var(--editor-canvas-document-bg, #fff)`,colorScheme:r?`dark`:`light`},children:l!==null&&i!==void 0?(0,XS.createPortal)(i,l):null})},jI=({html:e,forceColorScheme:t,...n})=>{let r=(0,W.useContext)(HN),i=t===void 0?e:DI(e,t),a=(0,W.useMemo)(()=>r?.(i),[i,r]),[o,s]=(0,W.useState)({prepare:r,generation:0});o.prepare!==r&&s({prepare:r,generation:o.generation+1});let c=a?.html??i;return(0,Z.jsx)(AI,{document_:c,mount:a?.mount,dark:t===`dark`,...n},`${o.generation}:${t??``}:${e}`)},MI=(e,t,n)=>({position:`fixed`,top:e.top,left:e.left,width:e.width,height:e.height,outline:`${n}px solid ${t}`,outlineOffset:-n,pointerEvents:`none`,zIndex:2147483646}),NI=({renderRevision:e,selected:t,hovered:n})=>{let r=(0,W.useRef)(null),[i,a]=(0,W.useState)(null),[o,s]=(0,W.useState)(null),c=t?.instancePath??null,l=n?.instancePath??null;return(0,W.useLayoutEffect)(()=>{let e=r.current?.ownerDocument;e!==void 0&&(a(c===null?null:_I(e,c)),s(l===null||l===c?null:_I(e,l)))},[e,c,l]),(0,Z.jsxs)(`div`,{ref:r,"data-samva-overlay":!0,style:{position:`fixed`,inset:0,pointerEvents:`none`},children:[o===null?null:(0,Z.jsx)(`div`,{style:MI(o,`var(--editor-canvas-hover)`,1)}),i!==null&&t!==null?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{style:MI(i,t.authored?`var(--editor-canvas-selected)`:`var(--editor-canvas-generated)`,2)}),(0,Z.jsx)(`div`,{"data-samva-chip":!0,style:{position:`fixed`,top:Math.max(0,i.top-18),left:i.left,padding:`1px 6px`,borderRadius:4,background:t.authored?`var(--editor-canvas-selected)`:`var(--editor-canvas-generated)`,color:`var(--editor-canvas-selected-fg)`,font:`11px/1.4 ui-sans-serif, system-ui, sans-serif`,pointerEvents:`none`,zIndex:2147483647},children:t.authored?QN(t):`${QN(t)} · generated`})]}):null]})},PI=(e,t,n)=>{let r=new Map;for(let i of e.diagnostics??[])if(i.code===`caniemail/target-attribute`&&i.severity===`warning`)for(let e of i.occurrences??[i.origins]){let i=e[0];if(i===void 0)continue;let a=Gg(t,n,i);if(a===null||a.tag!==`a`||a.hasSpread)continue;let o=a.properties.filter(e=>e.name===`target`),s=o[0];if(o.length!==1||s===void 0||s.kind!==`literal`||![`_self`,`_parent`,`_top`].includes(s.value))continue;let c=qg(t,s,`_blank`);c!==null&&r.set(c.start,c)}return[...r.values()].sort((e,t)=>e.start-t.start)};function FI({check:e}){let t=NF(`rail.assistant`)!==void 0,{doc:n,sourceEditable:r,pending:i,conflict:a,lifecycleBusy:o}=$(mk(e=>({doc:e.doc,sourceEditable:e.sourceEditable,pending:e.pendingAuthoredSource!==null,conflict:e.conflict,lifecycleBusy:e.lifecycleBusy}))),s=$(e=>e.actions.applySourceEdit),c=$(e=>e.actions.requestDiagnosticAssistance);if(n===null||!r)return null;let l=PI(e,n.origin.authoredSource,n.origin.file);if(l.length===0&&!t)return null;let u=e.diagnostics?.some(e=>Cs(e.code)),d=i||a||o;return(0,Z.jsxs)(`div`,{className:`mt-2 space-y-1`,children:[l.length>0&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`p`,{className:`text-muted-foreground text-[11.5px]`,children:[`Set `,l.length,` local link target`,l.length===1?``:`s`,` to _blank to match these clients.`]}),(0,Z.jsx)(`button`,{type:`button`,"data-testid":`check.fix-target`,disabled:d,className:`border-border hover:bg-muted rounded border px-2 py-1 text-[11.5px] disabled:opacity-50`,onClick:()=>s({revision:n.rev,source:n.origin.authoredSource,edits:l}),children:`Use new-window links`})]}),t&&(0,Z.jsx)(`button`,{type:`button`,"data-testid":u?`check.upgrade-with-assistant`:`check.fix-with-assistant`,disabled:d,className:`border-border hover:bg-muted rounded border px-2 py-1 text-[11.5px] disabled:opacity-50`,onClick:()=>c(e),children:u?`Upgrade with Assistant`:`Fix with Assistant`})]})}var II={risk:`Known risk`,unverified:`Needs verification`,degradation:`Expected differences`,"not-applicable":`Not affected`};function LI({check:e,actions:t}){return e.diagnostics===void 0?(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`p`,{className:`text-foreground text-[12.5px]`,children:e.label}),(0,Z.jsx)(`p`,{className:`text-muted-foreground text-[11.5px]`,children:e.detail})]}):(0,Z.jsxs)(`details`,{className:`min-w-0 flex-1`,"data-testid":`check.${e.id}`,children:[(0,Z.jsxs)(`summary`,{className:`text-foreground cursor-pointer text-[12.5px] break-words`,children:[e.label,(0,Z.jsx)(`span`,{className:`text-muted-foreground mt-0.5 block text-[11.5px]`,children:e.detail})]}),(0,Z.jsxs)(`div`,{className:`mt-2 space-y-3 text-[11.5px] break-words`,children:[e.diagnostics.map((e,t)=>(0,Z.jsxs)(`div`,{className:`border-border-subtle border-l pl-2`,children:[e.compatibility!==void 0&&(0,Z.jsxs)(`p`,{className:`mb-1 font-medium`,children:[e.compatibility.title,` ·`,` `,II[e.compatibility.assessment]]}),(0,Z.jsx)(`p`,{children:e.message}),e.clients!==void 0&&!e.clients.every(t=>e.message.includes(t))&&(0,Z.jsxs)(`p`,{className:`mt-1`,children:[`Clients: `,e.clients.join(`, `)]}),e.notes!==void 0&&(0,Z.jsx)(`p`,{className:`text-muted-foreground mt-1`,children:e.notes}),(e.fixtures?.length??0)>0&&(0,Z.jsxs)(`p`,{className:`mt-1`,children:[`Fixtures: `,e.fixtures.join(`, `)]}),(e.occurrences??[e.origins]).map((e,t)=>e.length===0?null:(0,Z.jsx)(`p`,{className:`text-muted-foreground mt-1 break-all`,children:e.map(ZN).join(` → `)},t)),e.provenance!==void 0&&(0,Z.jsx)(`p`,{className:`text-muted-foreground mt-1`,children:e.provenance})]},t)),(0,Z.jsx)(`p`,{className:`text-muted-foreground font-mono break-all`,children:e.diagnostics[0]?.code}),t]})]})}var RI=e=>e===void 0?`No default sender`:e.name?`${e.name} <${e.email}>`:e.email;function zI(){return(0,Z.jsx)(`span`,{title:`Overridable per send`,className:`border-border-subtle text-placeholder shrink-0 rounded-full border px-2 py-px text-[10px]`,children:`default`})}function BI({value:e,placeholder:t,testId:n}){return(0,Z.jsx)(`span`,{"data-testid":n,className:`text-foreground min-w-0 flex-1 truncate`,children:e.length>0?e:(0,Z.jsx)(`span`,{className:`text-placeholder`,children:t})})}function VI(){let{doc:e,render:t,selected:n,layoutMode:r}=$(mk(e=>({doc:e.doc,render:e.render,selected:e.selection.kind===`envelope`,layoutMode:e.layoutMode}))),{selectEnvelope:i}=$(e=>e.actions),[a,o]=(0,W.useState)(!1),s=(0,W.useRef)(null),c=(0,W.useRef)(!1),l=e?.metadata.fromDefault,u=e?.metadata.replyToDefault??[],d=t?.subject??``,f=t?.preheader??``,p=r===`compact`||r===`narrow`;return(0,W.useEffect)(()=>{p&&!a&&c.current&&(c.current=!1,s.current?.focus())},[p,a]),(0,Z.jsxs)(Bk,{open:!p||a,onOpenChange:e=>{e||(c.current=!0),o(e)},children:[p&&!a&&(0,Z.jsxs)(Hk,{ref:s,"aria-label":`Expand envelope`,"data-testid":`envelope.expand`,onClick:e=>{e.stopPropagation(),i()},className:wF(`mb-4 flex h-11 w-full items-center gap-3 rounded-xl border bg-background px-3 text-left shadow-[var(--shadow-xs)] transition-[border-color,box-shadow] hover:border-sel-mid`,n&&`border-accent-email shadow-[0_0_0_1px_var(--accent-email)]`),children:[(0,Z.jsx)(`span`,{className:`text-muted-foreground text-[10px] font-semibold tracking-[0.08em] uppercase`,children:`Envelope`}),(0,Z.jsx)(`span`,{className:`text-foreground min-w-0 flex-1 truncate text-[12px]`,children:d===``?`No subject`:d}),(0,Z.jsx)(QP,{className:`text-muted-foreground size-4 shrink-0`})]}),(0,Z.jsx)(Qk,{children:(0,Z.jsxs)(`div`,{onClick:e=>{e.stopPropagation(),i()},className:wF(`mb-6 cursor-pointer overflow-hidden rounded-2xl border transition-shadow`,n?`border-accent-email shadow-[0_0_0_1px_var(--accent-email)]`:`border-border/80 hover:border-sel-mid`),children:[(0,Z.jsxs)(`div`,{className:`border-border-subtle bg-surface-inset/80 flex items-center justify-between border-b px-3 py-1.5`,children:[(0,Z.jsx)(`button`,{type:`button`,"aria-label":`Select envelope`,"data-testid":`envelope.select`,onClick:e=>{e.stopPropagation(),i()},className:`text-muted-foreground hover:bg-muted hover:text-foreground rounded px-1 py-0.5 text-[10px] font-semibold tracking-[0.08em] uppercase`,children:`Envelope`}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(`span`,{className:`text-placeholder text-[10px]`,children:`defaults muted · subject & preview rendered`}),p&&(0,Z.jsx)(Hk,{"aria-label":`Collapse envelope`,"data-testid":`envelope.collapse`,onClick:e=>{e.stopPropagation()},className:`text-muted-foreground hover:bg-muted hover:text-foreground rounded p-1`,children:(0,Z.jsx)(tF,{className:`size-3.5`})})]})]}),(0,Z.jsxs)(`div`,{className:`border-border-subtle bg-surface-inset/40 border-b`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center gap-3 px-4 py-2 text-[12.5px]`,children:[(0,Z.jsx)(`span`,{className:`text-placeholder w-16 shrink-0 text-[11px] font-medium tracking-wide uppercase`,children:`From`}),(0,Z.jsx)(`span`,{className:`text-muted-foreground min-w-0 flex-1 truncate`,children:RI(l)}),(0,Z.jsx)(zI,{})]}),(0,Z.jsxs)(`div`,{"data-testid":`envelope.reply-to-row`,className:`flex items-center gap-3 px-4 py-2 text-[12.5px]`,children:[(0,Z.jsx)(`span`,{className:`text-placeholder w-16 shrink-0 text-[11px] font-medium tracking-wide uppercase`,children:`Reply-To`}),(0,Z.jsx)(`span`,{className:`text-muted-foreground min-w-0 flex-1 truncate`,children:u.length>0?u.join(`, `):`None`}),(0,Z.jsx)(zI,{})]})]}),(0,Z.jsxs)(`div`,{className:`bg-background`,children:[(0,Z.jsxs)(`div`,{className:`border-border-subtle flex items-center gap-3 border-b px-4 py-2.5 text-[12.5px]`,children:[(0,Z.jsx)(`span`,{className:`text-muted-foreground w-16 shrink-0 text-[11px] font-medium tracking-wide uppercase`,children:`Subject`}),(0,Z.jsx)(BI,{value:d,placeholder:`No subject`,testId:`envelope.subject-value`})]}),(0,Z.jsxs)(`div`,{className:`flex items-center gap-3 px-4 py-2.5 text-[12.5px]`,children:[(0,Z.jsx)(`span`,{className:`text-muted-foreground w-16 shrink-0 text-[11px] font-medium tracking-wide uppercase`,children:`Preview`}),(0,Z.jsx)(BI,{value:f,placeholder:`No preview text`,testId:`envelope.preview-value`})]})]})]})})]})}var HI=wF(`samva-editor-context-item`,`grid min-h-8 grid-cols-[1fr_auto] items-center gap-5 rounded-md px-2.5 text-[12.5px] text-foreground outline-none`,`data-[highlighted]:bg-sel-soft data-[highlighted]:text-accent-email`);function UI({children:e,ancestors:t,onSelect:n,onOpenChange:r,portalContainer:i,open:a,anchor:o}){return(0,Z.jsxs)(EA,{open:a,onOpenChange:r,children:[(0,Z.jsx)(OA,{render:e}),(0,Z.jsx)(fA,{container:i,children:(0,Z.jsx)(kA,{anchor:o,sideOffset:2,children:(0,Z.jsxs)(lA,{"aria-label":`Select element`,"data-testid":`node-context-menu.popup`,className:`samva-editor-context-popup samva-editor-shell border-border bg-surface-elevated z-50 min-w-52 rounded-lg border p-1 shadow-[var(--shadow-lg)] outline-none`,children:[(0,Z.jsx)(`div`,{className:`text-muted-foreground px-2.5 py-1 text-[11px]`,children:`Select`}),t.map(e=>(0,Z.jsxs)(cA,{className:HI,"data-testid":`node-context-menu.item.${e.instancePath}`,onClick:()=>n(e.instancePath),children:[(0,Z.jsx)(`span`,{children:e.label}),e.generated?(0,Z.jsx)(`span`,{className:`text-muted-foreground text-[11px]`,children:`generated`}):null]},e.instancePath))]})})})]})}function WI({name:e,className:t}){return(0,Z.jsx)(`span`,{className:wF(`inline-flex items-baseline rounded-md bg-accent-teal/20 px-1.5 py-px font-mono text-[0.82em] font-medium text-foreground ring-1 ring-inset ring-accent-teal/20`,t),children:`{{${e}}}`})}function GI({children:e}){return(0,Z.jsx)(`div`,{className:`text-muted-foreground mb-2 flex items-center justify-between text-[10.5px] font-semibold tracking-[0.06em] uppercase`,children:e})}function KI({children:e,className:t,title:n,help:r=n,pressed:i,onClick:a,disabled:o,testId:s}){let c=VF();return(0,Z.jsxs)(tE,{disabled:o,children:[(0,Z.jsx)(lE,{render:(0,Z.jsx)(`button`,{type:`button`,"aria-label":n,"aria-pressed":i,disabled:o,"data-testid":s,onClick:a,className:wF(`inline-flex h-7.5 items-center gap-1.5 rounded-[7px] px-2.5 text-muted-foreground outline-none transition-all hover:bg-muted hover:text-foreground active:translate-y-px disabled:opacity-40`,`aria-pressed:bg-[var(--editor-pressed-bg)] aria-pressed:shadow-[var(--editor-pressed-shadow)]`,`aria-pressed:text-accent-foreground`,TF,t)}),children:e}),(0,Z.jsx)(pE,{container:c,children:(0,Z.jsx)(IE,{side:`bottom`,sideOffset:5,className:`z-[200]`,children:(0,Z.jsx)(LE,{role:`tooltip`,className:`bg-foreground text-background rounded-md px-2 py-1 text-[11px] shadow-[var(--shadow-md)]`,children:r})})})]})}function qI({ariaLabel:e,options:t,value:n,onChange:r,size:i=`md`,testId:a}){let o=VF();return(0,Z.jsx)(Ok,{"aria-label":e,value:[n],"data-testid":a,onValueChange:e=>{let t=e[0];t!==void 0&&r(t)},className:wF(`bg-muted inline-flex gap-0.5 rounded-lg p-0.5`,i===`sm`&&`rounded-[7px]`),children:t.map(e=>{let t=(0,Z.jsx)(xk,{type:`button`,"aria-label":e.title,"data-testid":e.testId,value:e.value,className:wF(DF,i===`sm`?`h-6 px-2 text-xs`:`h-7 px-2.5 text-xs`),children:e.label},e.value);return e.title===void 0?t:(0,Z.jsxs)(tE,{children:[(0,Z.jsx)(lE,{render:t}),(0,Z.jsx)(pE,{container:o,children:(0,Z.jsx)(IE,{side:`bottom`,sideOffset:5,className:`z-[200]`,children:(0,Z.jsx)(LE,{role:`tooltip`,className:`bg-foreground text-background rounded-md px-2 py-1 text-[11px] shadow-[var(--shadow-md)]`,children:e.title})})})]},e.value)})})}function JI({children:e,className:t,overridden:n,testId:r}){return(0,Z.jsxs)(`span`,{"data-testid":r,className:wF(`inline-flex h-7 max-w-[170px] items-center gap-1.5 overflow-hidden rounded-[7px] border border-border bg-background px-2.5 font-mono text-xs whitespace-nowrap text-foreground`,n&&`border-accent-email/40 bg-sel-soft ring-1 ring-accent-email/20`,t),title:n?`Overridden on mobile`:void 0,children:[e,n&&(0,Z.jsx)(`span`,{className:`text-accent-email ml-auto text-[9px] font-semibold tracking-wide uppercase`,children:`M`})]})}function YI({pointing:e=!1}){let{doc:t,render:n,outline:r,selection:i,previewDevice:a,canvasZoom:o}=$(mk(e=>({doc:e.doc,render:e.render,outline:e.outline,selection:e.selection,previewDevice:e.previewDevice,canvasZoom:e.canvasZoom}))),{select:s,selectDocument:c,setHovered:l,setPreviewDevice:u,setCanvasZoom:d}=$(e=>e.actions),f=$(e=>e.hoveredCandidatePath===null?null:e.outline?.index.get(e.hoveredCandidatePath)??null),p=VF(),m=PF(`canvas.overlay`),h=(0,W.useRef)(null),[g,_]=(0,W.useState)(1),[v,y]=(0,W.useState)([]),[b,x]=(0,W.useState)(!1),[S,C]=(0,W.useState)(null),w=i.kind===`element`?r?.index.get(i.instancePath)??null:null,T=a===`mobile`?375:600;(0,W.useLayoutEffect)(()=>{let e=h.current;if(e===null||typeof ResizeObserver>`u`)return;let t=()=>{let t=Math.max(240,e.clientWidth-80);_(Math.min(1,Math.max(.5,t/T)))};t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[T]);let E=o===`fit`?g:1,D=(0,W.useCallback)(t=>{if(e||r===null||t.instancePath===null){x(!1);return}let n=[...rP(r,t.instancePath),t.instancePath].toReversed().flatMap(e=>{let t=r.index.get(e);return t===void 0?[]:[{instancePath:e,label:QN(t),generated:!t.authored}]});if(n.length===0){x(!1);return}s(t.instancePath),y(n);let{clientX:i,clientY:a}=t;C({getBoundingClientRect:()=>DOMRect.fromRect({x:i,y:a})}),queueMicrotask(()=>x(!0))},[r,e,s]),O=n===null?null:(0,Z.jsx)(jI,{html:n.html,width:T,onSelect:s,onHover:l,onContextMenu:e?void 0:D,overlay:(0,Z.jsx)(NI,{renderRevision:n.revision,selected:w,hovered:f})});return(0,Z.jsxs)(`div`,{className:`samva-editor-workspace relative flex min-w-0 flex-1 flex-col`,children:[m.length>0&&(0,Z.jsx)(`div`,{"data-samva-canvas-status":!0,className:`pointer-events-none absolute inset-x-0 top-3 z-10 flex justify-center`,children:m.map(e=>(0,Z.jsx)(W.Fragment,{children:e.render()},e.id))}),(0,Z.jsx)(`div`,{ref:h,"data-samva-canvas-viewport":!0,className:`samva-editor-scroll relative flex-1 [scrollbar-gutter:stable] overflow-auto px-10 pt-10 pb-24 [overflow-anchor:none]`,onClick:c,children:t===null?(0,Z.jsx)(`div`,{className:`text-muted-foreground grid h-full place-items-center text-[12.5px]`,children:`Loading document…`}):(0,Z.jsxs)(`div`,{className:`mx-auto`,"data-canvas-zoom":o,style:{width:T,zoom:E},onClick:e=>e.stopPropagation(),children:[t.channel===`email`&&t.preview.status===`stale`&&(0,Z.jsxs)(`div`,{"data-testid":`canvas.preview-stale`,className:`border-warning/35 bg-warning/10 text-foreground mb-3 rounded-[9px] border px-3 py-2 text-[12px] shadow-sm`,children:[`Showing the last preview that worked. Your latest edit has a problem:`,` `,t.preview.reason]}),(0,Z.jsx)(VI,{}),O===null?(0,Z.jsx)(XI,{}):e?O:(0,Z.jsx)(UI,{ancestors:v,onSelect:s,portalContainer:p,anchor:S??void 0,open:b,onOpenChange:e=>x(e&&v.length>0),children:O})]})}),t!==null&&(0,Z.jsxs)(`div`,{className:`border-border bg-background/95 absolute bottom-3 left-1/2 z-20 flex -translate-x-1/2 items-center gap-1 rounded-[9px] border p-1 shadow-[var(--shadow-lg)] backdrop-blur-md`,children:[(0,Z.jsx)(qI,{ariaLabel:`Canvas preview width`,value:a,onChange:e=>u(e),size:`sm`,options:[{value:`desktop`,title:`Preview desktop width`,testId:`canvas.device.desktop`,label:(0,Z.jsx)(pF,{className:`size-[13px]`})},{value:`mobile`,title:`Preview mobile width`,testId:`canvas.device.mobile`,label:(0,Z.jsx)(fF,{className:`size-[13px]`})}]}),(0,Z.jsxs)(`button`,{type:`button`,"data-testid":`canvas.zoom`,title:o===`fit`?`Show canvas at 100%`:`Fit canvas to workspace`,"aria-label":o===`fit`?`Show canvas at 100%`:`Fit canvas to workspace`,onClick:()=>d(o===`fit`?`100`:`fit`),className:wF(`text-muted-foreground hover:bg-muted hover:text-foreground inline-flex h-7 items-center gap-1.5 rounded-[6px] px-2 text-[11.5px] transition-colors`,o===`fit`&&`bg-sel-soft text-accent-email`),children:[(0,Z.jsx)(YP,{className:`size-[14px]`}),o===`fit`?`Fit`:`100%`]})]})]})}function XI(){let e=$(mk(e=>e.checks.filter(e=>e.severity===`error`))),t=e.length>0;return(0,Z.jsxs)(`div`,{"data-testid":`canvas.unbuilt`,"data-unbuilt-reason":t?`failed`:`not-built`,className:`border-border bg-surface-inset text-foreground rounded-xl border border-dashed p-6 text-[12.5px]`,children:[(0,Z.jsx)(`p`,{className:`font-medium`,children:t?`No preview`:`No preview yet`}),(0,Z.jsx)(`p`,{className:`text-muted-foreground mt-1`,children:t?`The current draft broke the preview. Fix the source and it will come back.`:`Nothing has run this entry yet. The next pass puts the preview here.`}),t&&(0,Z.jsx)(`ul`,{className:`mt-4 space-y-2`,children:e.map(e=>(0,Z.jsx)(`li`,{children:(0,Z.jsx)(LI,{check:e,actions:(0,Z.jsx)(FI,{check:e})})},e.id))})]})}function ZI({checks:e,editable:t=!1}){let{actionable:n}=wP(e),r=e.filter(e=>e.diagnostics?.some(e=>e.compatibility?.assessment===`unverified`)).length;return(0,Z.jsxs)(`section`,{className:`space-y-3`,"aria-label":`Needs attention`,children:[(0,Z.jsxs)(`h3`,{className:`text-foreground text-[13px] font-semibold`,children:[`Needs attention`,n.length>0?` · ${n.length}`:``]}),n.length===0?(0,Z.jsx)(`p`,{className:`text-muted-foreground text-xs`,children:e.length===0?`No checks yet.`:`No known risks found.`}):n.map(e=>(0,Z.jsx)(LI,{check:e,actions:t?(0,Z.jsx)(FI,{check:e}):void 0},e.id)),(0,Z.jsx)(QI,{checks:e,editable:t}),(0,Z.jsx)(`p`,{className:`text-muted-foreground text-[11.5px]`,children:r>0?`${r} finding group${r===1?` needs`:`s need`} client verification.`:`These checks do not confirm rendering in every inbox.`})]})}function QI({checks:e,editable:t=!1}){let n=VF(),r=Object.fromEntries(Object.keys(II).map(t=>[t,e.filter(e=>e.diagnostics?.some(e=>e.compatibility?.assessment===t)).length])),[i,a]=(0,W.useState)(`all`),[o,s]=(0,W.useState)(`all`),c=[...new Set(e.flatMap(e=>e.diagnostics?.flatMap(e=>e.clients??[])??[]))].sort(),l=e.flatMap(e=>{if(e.diagnostics===void 0)return i===`all`&&o===`all`?[e]:[];let t=e.diagnostics.filter(e=>(i===`all`||e.compatibility?.assessment===i)&&(o===`all`||e.clients?.includes(o)));return t.length===0?[]:[bP(e.id,t)]}),u=e=>e.severity===`error`||e.severity===`warn`?0:e.diagnostics?.some(e=>e.compatibility?.assessment===`unverified`)?1:e.diagnostics?.some(e=>e.compatibility?.assessment===`degradation`)?2:3;return l.sort((e,t)=>u(e)-u(t)),(0,Z.jsxs)(Mj,{onOpenChange:e=>{e&&(a(r.unverified>0?`unverified`:`all`),s(`all`))},children:[(0,Z.jsx)(Fj,{"data-testid":`checks.compatibility-report`,className:`border-border text-foreground hover:bg-muted rounded-md border px-2.5 py-1.5 text-xs`,children:`Compatibility report`}),(0,Z.jsxs)(Tj,{container:n,children:[(0,Z.jsx)(gj,{className:`fixed inset-0 z-[130] bg-black/30`}),(0,Z.jsxs)(wj,{"data-testid":`checks.report`,className:`samva-editor-shell border-border bg-surface-elevated text-foreground fixed top-1/2 left-1/2 z-[131] flex max-h-[85dvh] w-[min(840px,calc(100vw-32px))] -translate-x-1/2 -translate-y-1/2 flex-col rounded-xl border p-5 shadow-xl`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,Z.jsx)(Pj,{className:`text-lg font-semibold`,children:`Compatibility report`}),(0,Z.jsx)(_j,{"data-testid":`checks.report.close`,"aria-label":`Close compatibility report`,className:`hover:bg-muted rounded border px-2 py-1 text-xs`,children:`Close`})]}),(0,Z.jsx)(vj,{className:`text-muted-foreground mt-2 text-sm`,children:`Client verification remains. Review known risks, unverified behavior and fallbacks before testing in your recipients’ inboxes.`}),(0,Z.jsxs)(`p`,{className:`text-muted-foreground mt-2 text-xs`,children:[Object.entries(II).map(([e,t])=>`${r[e]} ${t.toLowerCase()}`).join(` · `),`. Groups can appear in more than one category.`]}),(0,Z.jsxs)(`div`,{className:`my-4 flex flex-wrap gap-3 text-xs`,children:[(0,Z.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[`Assessment`,(0,Z.jsxs)(`select`,{"data-testid":`checks.report.assessment`,"aria-label":`Assessment`,value:i,onChange:e=>a(e.target.value),className:`border-border bg-background rounded border p-2`,children:[(0,Z.jsx)(`option`,{value:`all`,children:`All assessments`}),Object.entries(II).map(([e,t])=>(0,Z.jsxs)(`option`,{value:e,children:[t,` (`,r[e],`)`]},e))]})]}),(0,Z.jsxs)(`label`,{className:`flex flex-col gap-1`,children:[`Client`,(0,Z.jsxs)(`select`,{"data-testid":`checks.report.client`,"aria-label":`Client`,value:o,onChange:e=>s(e.target.value),className:`border-border bg-background rounded border p-2`,children:[(0,Z.jsx)(`option`,{value:`all`,children:`All clients`}),c.map(e=>(0,Z.jsx)(`option`,{children:e},e))]})]})]}),(0,Z.jsx)(`div`,{className:`samva-editor-scroll min-h-0 space-y-4 overflow-y-auto`,children:l.length===0?(0,Z.jsx)(`p`,{className:`text-muted-foreground text-sm`,children:`No evidence matches these filters.`}):l.map(e=>(0,Z.jsx)(`div`,{className:`border-border-subtle border-t pt-3`,children:(0,Z.jsx)(LI,{check:e,actions:t?(0,Z.jsx)(FI,{check:e}):void 0})},e.id))})]})]})]})}var $I=wF(`border-border bg-background text-foreground w-full rounded border px-2 py-1.5 text-xs`,TF),eL=wF(`border-border hover:bg-muted rounded border px-2 py-1 text-xs disabled:opacity-50`,TF);function tL({field:e,source:t,propose:n,apply:r}){let[i,a]=(0,W.useState)(e.value),[o,s]=(0,W.useState)(e.kind===`literal`&&e.literalType===`string`?JSON.stringify(e.value):e.value);return(0,Z.jsxs)(`div`,{className:`mt-3 space-y-1.5`,children:[(0,Z.jsxs)(`label`,{className:`block text-xs`,children:[nL(e.name),` · `,e.kind,e.kind===`literal`?(0,Z.jsx)(`input`,{"aria-label":`${e.name} literal`,"data-testid":`source.property.${e.name}.literal`,type:e.literalType===`number`?`number`:`text`,className:$I,value:i,onChange:e=>a(e.target.value)}):(0,Z.jsx)(`code`,{className:`bg-muted mt-1 block rounded p-2 break-all`,children:e.value})]}),e.kind===`literal`&&(0,Z.jsx)(`button`,{"data-testid":`source.property.${e.name}.apply`,type:`button`,className:eL,disabled:qg(t,e,i)===null,onClick:()=>{let n=qg(t,e,i);n!==null&&r(n)},children:`Apply literal`}),(0,Z.jsxs)(`details`,{children:[(0,Z.jsx)(`summary`,{"data-testid":`source.property.${e.name}.expression-toggle`,className:`cursor-pointer text-xs`,children:e.kind===`literal`?`Change to a binding or expression`:`Review a binding or expression change`}),(0,Z.jsx)(`p`,{className:`text-muted-foreground my-1 text-xs`,children:`This changes template logic. Fixture values are edited separately.`}),(0,Z.jsx)(`textarea`,{"aria-label":`${e.name} expression`,"data-testid":`source.property.${e.name}.expression`,className:$I,value:o,onChange:e=>s(e.target.value)}),(0,Z.jsx)(`button`,{"data-testid":`source.property.${e.name}.review`,type:`button`,className:eL,onClick:()=>n(Jg(t,e,o)),children:`Review expression diff`})]})]})}var nL=e=>e===`children`||e.startsWith(`text.`)?`Text`:e===`className`?`Style classes`:e,rL=e=>e instanceof Error&&e.message!==``?e.message:`The host could not save this.`;function iL(e){let t=$(e=>e.lifecycleCapability),{flushSaves:n}=$(e=>e.actions),[r,i]=(0,W.useState)(null);return(0,W.useEffect)(()=>{if(e===null||t?.status!==`ready`)return;let r=!1;return n().then(()=>t.api.inspect()).then(e=>{if(r)return;let t={};for(let n of e.files)n.binary!==!0&&n.status!==`deleted`&&n.content!==null&&(t[n.path]=n.content);i(t)}).catch(()=>{r||i(`failed`)}),()=>{r=!0}},[e,t,n]),e===null?{status:`entry`}:t?.status===`ready`?r===null?{status:`loading`}:r===`failed`?{status:`unavailable`}:{status:`ready`,files:r,api:t.api}:{status:`unavailable`}}function aL(e){return e.busy?`Waiting for the latest source to render.`:e.file!==null&&e.project===`loading`?`Reading ${e.file}.`:e.file!==null&&e.project===`unavailable`?`This element is written in ${e.file}, outside the template entry, and this host cannot edit project files from here. Open Source or ask the agent.`:e.resolved?`This source is read-only.`:`This origin cannot be resolved in its file. Open its source or ask the agent.`}function oL(e,t){return`${e.occurrences>1?`This element renders ${e.occurrences} times here (a loop or a repeated component), so one edit changes all ${e.occurrences}.`:`This changes this element.`}${t?` It is written in a partial, so every template that uses the partial changes too.`:``} Fixture items remain separate data.`}function sL({selection:e}){let{doc:t,pending:n,revision:r,editable:i,storeError:a,lifecycleBusy:o}=$(mk(e=>({doc:e.doc,pending:e.pendingAuthoredSource,revision:e.render?.revision,editable:e.sourceEditable,storeError:e.sourceEditError,lifecycleBusy:e.lifecycleBusy}))),{applySourceEdit:s,openSource:c,requestSourceAssistance:l,beginLifecycle:u,endLifecycle:d}=$(e=>e.actions),{flushSaves:f}=$(e=>e.actions),p=NF(`rail.assistant`)!==void 0,[m,h]=(0,W.useState)(0),[g,_]=(0,W.useState)(null),[v,y]=(0,W.useState)(null),[b,x]=(0,W.useState)(!1),[S,C]=(0,W.useState)(``),[w,T]=(0,W.useState)(`<p>New content</p>`),[E,D]=(0,W.useState)(``),[O,k]=(0,W.useState)(null),[A,j]=(0,W.useState)(null),M=e.origins[m],N=t?.origin.file,P=M!==void 0&&M.fileName!==N,F=iL(P?M.fileName:null);if(t===null||N===void 0)return null;let I=t.origin.authoredSource,L=P&&M!==void 0?F.status===`ready`?F.files[M.fileName]??null:null:I,R=M===void 0||L===null?null:Gg(L,M.fileName,M),ee=P?{entry:N,file:M.fileName,files:{...F.status===`ready`?F.files:{},[N]:I}}:{entry:N},z=i&&n===null&&!o&&!b&&r===t.rev&&R!==null&&L!==null,te=e=>{let t=Xg(L??``,e,{profile:ee});return{edits:e,refusal:t.ok?null:t.reason}},ne=e=>{if(L===null)return;if(y(null),_(null),!P){s({revision:r??``,source:L,edits:e});return}let t=Xg(L,e,{profile:ee});if(!t.ok){y(t.reason);return}F.status===`ready`&&u()&&(x(!0),f().then(e=>F.api.updateFile({path:M.fileName,baseRev:e,content:t.source})).catch(e=>y(rL(e))).finally(()=>{d(),x(!1)}))},re=e=>{ne([e]),j(null)},B=v??a,ie=R?.properties.find(e=>e.name===`className`),ae=R===null||L===null||ie?.kind===`literal`?null:(()=>{let e=r_(L,R,{kind:`add`,tokens:`x`});return e.ok?null:e.reason})(),oe=e.origins.length>1;return(0,Z.jsxs)(`div`,{className:`border-border-subtle border-b py-3`,children:[(0,Z.jsx)(GI,{children:`Source properties`}),oe&&(0,Z.jsxs)(`label`,{className:`block text-xs`,children:[`Edit scope`,(0,Z.jsx)(`select`,{"aria-label":`Edit scope`,"data-testid":`source.scope`,className:$I,value:m,onChange:e=>{h(Number(e.target.value)),j(null)},children:e.origins.map((e,t)=>(0,Z.jsxs)(`option`,{value:t,children:[t===0?`Element`:`Call site ${t}`,` · `,ZN(e)]},t))})]}),(0,Z.jsx)(`p`,{"data-testid":`source.scope-note`,className:`text-muted-foreground mt-2 text-xs`,children:oe&&m>0?`Changes this call site, including every loop iteration it produces. Fixture items remain separate data.`:oL(e,P)}),P&&(0,Z.jsxs)(`p`,{"data-testid":`source.partial-warning`,className:`border-border bg-muted mt-2 rounded border p-2 text-xs`,children:[`Edits apply to every template that uses this partial (`,M.fileName,`).`]}),z?(0,Z.jsxs)(Z.Fragment,{children:[R.properties.length===0&&(0,Z.jsx)(`p`,{className:`text-muted-foreground mt-2 text-xs`,children:`No unambiguous scalar properties here. Use source or the agent for this shape.`}),R.hasSpread&&(0,Z.jsx)(`p`,{className:`text-muted-foreground mt-2 text-xs`,children:`Spread properties can override attributes here. Edit attributes in Source or ask the agent.`}),R.properties.filter(e=>!R.hasSpread||e.syntax===`child`).map(e=>(0,Z.jsx)(tL,{field:e,source:L,apply:re,propose:e=>j(te([e]))},`${t.rev}:${L}:${m}:${e.name}`)),ae!==null&&(0,Z.jsx)(`p`,{"data-testid":`source.class-refusal`,className:`text-muted-foreground mt-3 text-xs`,children:ae}),ae===null&&(0,Z.jsxs)(`div`,{className:`mt-3`,children:[(0,Z.jsxs)(`label`,{className:`block text-xs`,children:[ie===void 0?`Style classes · literal`:`Add style classes`,(0,Z.jsx)(`input`,{"aria-label":`Style classes`,"data-testid":`source.classes`,className:$I,value:S,onChange:e=>C(e.target.value)})]}),(0,Z.jsx)(`button`,{"data-testid":`source.classes-add`,type:`button`,className:eL,disabled:S.trim()===``,onClick:()=>{let e=r_(L,R,{kind:`add`,tokens:S});e.ok?ne(e.edits):y(e.reason),C(``)},children:ie===void 0?`Apply styles`:`Add classes`})]}),(0,Z.jsxs)(`details`,{className:`mt-3`,children:[(0,Z.jsx)(`summary`,{"data-testid":`source.structure-toggle`,className:`cursor-pointer text-xs`,children:`Structure · authored block`}),(0,Z.jsx)(`p`,{className:`text-muted-foreground my-2 text-xs`,children:`This changes the whole source block at the scope above. A rendered loop instance has no independent source block. Change fixture items separately; edit loop or conditional logic in Source.`}),(0,Z.jsx)(`textarea`,{"aria-label":`Insert TSX`,"data-testid":`source.insert`,value:w,className:$I,onChange:e=>T(e.target.value)}),(0,Z.jsx)(`button`,{"data-testid":`source.review-insert`,type:`button`,className:eL,disabled:R.contentEnd===null,onClick:()=>{let e=$g(L,R,{kind:`insert`,tsx:w});k(e===null?null:te(e))},children:`Review insert`}),` `,(0,Z.jsx)(`button`,{"data-testid":`source.review-delete`,type:`button`,className:eL,disabled:!R.structural,onClick:()=>{let e=$g(L,R,{kind:`delete`});k(e===null?null:te(e))},children:`Review delete`}),` `,(0,Z.jsx)(`button`,{"data-testid":`source.review-duplicate`,type:`button`,className:eL,disabled:!R.structural,onClick:()=>{let e=$g(L,R,{kind:`duplicate`});k(e===null?null:te(e))},children:`Review duplicate`}),` `,(0,Z.jsx)(`button`,{"data-testid":`source.review-move-up`,type:`button`,className:eL,disabled:R.previous===null,onClick:()=>{let e=$g(L,R,{kind:`reorder`,direction:`before`});k(e===null?null:te(e))},children:`Move earlier`}),` `,(0,Z.jsx)(`button`,{"data-testid":`source.review-move-down`,type:`button`,className:eL,disabled:R.next===null,onClick:()=>{let e=$g(L,R,{kind:`reorder`,direction:`after`});k(e===null?null:te(e))},children:`Move later`}),!P&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`label`,{className:`mt-2 block text-xs`,children:[`Move into shared source container`,(0,Z.jsxs)(`select`,{"aria-label":`Move destination`,"data-testid":`source.destination`,value:E,className:$I,onChange:e=>D(e.target.value),children:[(0,Z.jsx)(`option`,{value:``,children:`Choose destination`}),t.channel===`email`&&t.render?.selections.map(e=>(0,Z.jsxs)(`option`,{value:e.instancePath,children:[e.tag,` · `,e.instancePath,` ·`,` `,e.origins[0]===void 0?`generated`:ZN(e.origins[0])]},e.instancePath))]})]}),(0,Z.jsx)(`button`,{"data-testid":`source.review-move`,type:`button`,className:eL,disabled:!R.structural||E===``,onClick:()=>{let e=(t.channel===`email`?t.render?.selections.find(e=>e.instancePath===E):void 0)?.origins[0],n=e===void 0?null:Gg(L,N,e),r=n===null?null:$g(L,R,{kind:`move`,destination:n});k(r===null?null:te(r)),_(r===null?`This destination cannot accept the selected block. Choose another source container or use Source.`:null)},children:`Review move`})]}),g!==null&&(0,Z.jsx)(`p`,{role:`alert`,className:`text-status-error text-xs`,children:g}),O!==null&&(0,Z.jsxs)(`div`,{role:`region`,"aria-label":`Structural source diff`,className:`mt-2`,children:[(0,Z.jsx)(`pre`,{className:`bg-muted overflow-auto p-2 text-xs`,children:O.edits.map(e=>`- ${e.before}\n+ ${e.after}`).join(`
32
+ `)}),O.refusal!==null&&(0,Z.jsx)(`p`,{"data-testid":`source.structure-refusal`,className:`text-status-error text-xs`,children:O.refusal}),(0,Z.jsx)(`button`,{"data-testid":`source.apply-structure`,type:`button`,className:eL,disabled:O.refusal!==null,onClick:()=>{ne(O.edits),k(null)},children:`Apply structural change`}),` `,(0,Z.jsx)(`button`,{type:`button`,className:eL,onClick:()=>k(null),children:`Cancel`})]})]}),A!==null&&(0,Z.jsxs)(`div`,{role:`region`,"aria-label":`Proposed source diff`,className:`mt-3 space-y-2`,children:[(0,Z.jsx)(`p`,{className:`text-xs`,children:`Review the exact source change`}),(0,Z.jsx)(`pre`,{className:`bg-muted overflow-auto p-2 text-xs`,children:A.edits.map(e=>`- ${e.before}\n+ ${e.after}`).join(`
33
+ `)}),A.refusal!==null&&(0,Z.jsx)(`p`,{"data-testid":`source.proposal-refusal`,className:`text-status-error text-xs`,children:A.refusal}),(0,Z.jsx)(`button`,{"data-testid":`source.apply-reviewed`,type:`button`,className:eL,disabled:A.refusal!==null,onClick:()=>{ne(A.edits),j(null)},children:`Apply reviewed change`}),` `,(0,Z.jsx)(`button`,{type:`button`,className:eL,onClick:()=>j(null),children:`Cancel`})]})]}):(0,Z.jsx)(`p`,{"data-testid":`source.unavailable`,className:`text-muted-foreground mt-2 text-xs`,children:aL({busy:n!==null||b||o,file:P?M.fileName:null,project:F.status,resolved:R!==null})}),B!==null&&(0,Z.jsx)(`p`,{"data-testid":`source.edit-error`,className:`text-status-error mt-2 text-xs`,children:B}),(0,Z.jsxs)(`div`,{className:`mt-3 flex gap-2`,children:[(0,Z.jsx)(`button`,{type:`button`,className:eL,onClick:c,children:`Open source`}),p&&(0,Z.jsx)(`button`,{type:`button`,className:eL,onClick:()=>l(m),children:`Ask agent`})]})]})}function cL(){let{undo:e,redo:t,error:n,editable:r}=$(mk(e=>({undo:e.undoHistory.length,redo:e.redoHistory.length,error:e.sourceEditError,editable:e.sourceEditable}))),i=$(e=>e.actions);return(0,Z.jsxs)(`div`,{className:`border-border border-b px-3 py-1.5`,children:[(0,Z.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Z.jsx)(`button`,{"data-testid":`source.undo`,type:`button`,className:eL,disabled:!r||e===0,onClick:i.undo,children:`Undo`}),(0,Z.jsx)(`button`,{"data-testid":`source.redo`,type:`button`,className:eL,disabled:!r||t===0,onClick:i.redo,children:`Redo`})]}),n!==null&&(0,Z.jsx)(`p`,{role:`alert`,className:`text-status-error mt-1 text-xs`,children:n})]})}function lL(){let e=$(e=>e.doc),t=$(e=>e.pendingAuthoredSource),n=$(e=>e.sourceEditable),{applySourceEdit:r,openSource:i}=$(e=>e.actions),[a,o]=(0,W.useState)(null),[s,c]=(0,W.useState)(!1);if(e?.channel!==`email`)return null;let l=t_(e.origin.authoredSource).find(t=>t.name===e.fixture);return(0,Z.jsxs)(`div`,{className:`border-border-subtle border-b py-3`,children:[(0,Z.jsxs)(GI,{children:[`Fixture data · `,e.fixture]}),(0,Z.jsx)(`p`,{className:`text-muted-foreground text-xs`,children:`Example input for this fixture. Changes do not replace template bindings or change other fixtures.`}),l===void 0?(0,Z.jsx)(`button`,{type:`button`,className:eL,onClick:i,children:`Open fixture source`}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`textarea`,{"aria-label":`Fixture data source`,"data-testid":`source.fixture-data`,className:$I,value:a??l.source,onChange:e=>{o(e.target.value),c(!1)},disabled:!n||t!==null}),(0,Z.jsx)(`button`,{"data-testid":`source.fixture-review`,type:`button`,className:eL,disabled:!n||t!==null||a===null,onClick:()=>c(!0),children:`Review fixture change`}),s&&a!==null&&(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`pre`,{className:`bg-muted overflow-auto p-2 text-xs`,children:`- ${l.source}\n+ ${a}`}),(0,Z.jsx)(`button`,{"data-testid":`source.fixture-apply`,type:`button`,className:eL,onClick:()=>{r({revision:e.rev,source:e.origin.authoredSource,edits:[{start:l.start,end:l.end,before:l.source,after:a}]}),o(null),c(!1)},children:`Apply fixture change`}),` `,(0,Z.jsx)(`button`,{type:`button`,className:eL,onClick:()=>{o(null),c(!1)},children:`Cancel`})]})]})]})}function uL({selection:e}){let t=$(e=>`${e.doc?.rev}:${e.doc?.origin.authoredSource}:${e.doc?.channel===`email`?e.doc.fixture:``}`);return(0,Z.jsx)(sL,{selection:e},t)}function dL(){let e=$(e=>`${e.doc?.rev}:${e.doc?.origin.authoredSource}:${e.doc?.channel===`email`?e.doc.fixture:``}`);return(0,Z.jsx)(lL,{},e)}var fL=[],pL=[],mL=[];function hL({label:e,title:t,children:n}){return(0,Z.jsxs)(`div`,{title:t,className:`mt-1.5 flex items-center justify-between gap-2 first:mt-0`,children:[(0,Z.jsx)(`span`,{className:`text-muted-foreground shrink-0 text-xs`,children:e}),n]})}function gL(){let e=$(e=>e.doc?.variables??pL);return e.length===0?null:(0,Z.jsxs)(`div`,{className:`border-border-subtle border-b py-3`,children:[(0,Z.jsx)(GI,{children:`Variables`}),(0,Z.jsx)(`div`,{className:`flex flex-col gap-2`,children:e.map(e=>(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 text-[12.5px]`,children:[(0,Z.jsx)(WI,{name:e.name,className:`shrink-0`}),(0,Z.jsx)(`span`,{className:`text-placeholder ml-auto text-[11px]`,children:e.required?`required`:`optional`})]},e.name))}),(0,Z.jsx)(`p`,{className:`text-muted-foreground mt-2.5 text-[11.5px]`,children:`The canvas shows the values of the fixture selected in the toolbar.`})]})}function _L(){let e=$(e=>e.checks),t=$(e=>e.sourceEditable);return(0,Z.jsx)(`div`,{className:`py-3`,children:(0,Z.jsx)(ZI,{checks:e,editable:t})})}function vL(){let{deviceWidth:e,entryFile:t,fixture:n,fixtures:r}=$(mk(e=>({deviceWidth:OP[e.previewDevice],entryFile:e.doc?.origin.file??null,fixture:e.doc?.channel===`email`?e.doc.fixture:null,fixtures:e.doc?.channel===`email`?e.doc.fixtures:fL})));return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`div`,{className:`border-border-subtle border-b py-3`,children:[(0,Z.jsx)(GI,{children:`Document`}),(0,Z.jsx)(hL,{label:`Width`,children:(0,Z.jsxs)(JI,{children:[e,` `,(0,Z.jsx)(`span`,{className:`text-placeholder text-[10.5px]`,children:`px`})]})}),t!==null&&(0,Z.jsx)(hL,{label:`Entry`,children:(0,Z.jsx)(JI,{children:t})}),n!==null&&(0,Z.jsx)(hL,{label:`Fixture`,title:`${r.length} declared`,children:(0,Z.jsx)(JI,{children:n})})]}),(0,Z.jsx)(dL,{},`${n}:${t}`),(0,Z.jsx)(gL,{}),(0,Z.jsx)(_L,{})]})}function yL({value:e,onChange:t,onCommit:n,placeholder:r,type:i=`text`,testId:a}){return(0,Z.jsx)(`input`,{type:i,value:e,placeholder:r,"data-testid":a,spellCheck:!1,onChange:e=>t(e.target.value),onBlur:n,onKeyDown:e=>{e.key===`Enter`&&e.currentTarget.blur()},className:wF(`border-border bg-background text-foreground placeholder:text-placeholder h-7 max-w-none min-w-0 flex-1 rounded-[5px] border px-2.5 text-xs outline-none`,TF)})}function bL(){let e=$(e=>e.doc),t=$(e=>e.metadataError),{saveMetadata:n}=$(e=>e.actions),r=e?.metadata.fromDefault,[i,a]=(0,W.useState)(r?.name??``),[o,s]=(0,W.useState)(r?.email??``),[c,l]=(0,W.useState)((e?.metadata.replyToDefault??[]).join(`, `)),u=()=>{let e=o.trim();n({fromDefault:e.length===0?null:{email:e,name:i.trim()||void 0}})};return(0,Z.jsxs)(`div`,{className:`py-3`,children:[(0,Z.jsx)(GI,{children:`Defaults · per send`}),(0,Z.jsx)(hL,{label:`From name`,children:(0,Z.jsx)(yL,{value:i,onChange:a,onCommit:u,placeholder:`Sender name`})}),(0,Z.jsx)(hL,{label:`From email`,children:(0,Z.jsx)(yL,{type:`email`,value:o,onChange:s,onCommit:u,placeholder:`you@domain.com`,testId:`inspector.envelope.from-email`})}),(0,Z.jsx)(hL,{label:`Reply-To`,children:(0,Z.jsx)(yL,{type:`email`,value:c,onChange:l,onCommit:()=>{let e=c.split(`,`).map(e=>e.trim()).filter(e=>e.length>0);n({replyToDefault:e.length===0?null:e})},placeholder:`Comma-separated`})}),t!==null&&(0,Z.jsx)(`p`,{role:`alert`,className:`text-status-error mt-2 text-[11.5px]`,children:t})]})}function xL(){let e=$(e=>e.metadataEditable),t=$(e=>e.render);return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{className:`border-border-subtle text-muted-foreground border-b py-2.5 text-[11px] leading-relaxed`,children:`Subject and preview text come from the template code and the fixture on screen. From / Reply-To are template defaults, overridden per send.`}),(0,Z.jsxs)(`div`,{className:`border-border-subtle border-b py-3`,children:[(0,Z.jsx)(GI,{children:`Rendered`}),(0,Z.jsx)(hL,{label:`Subject`,children:(0,Z.jsx)(JI,{children:t?.subject??`No subject`})}),(0,Z.jsx)(hL,{label:`Preview`,children:(0,Z.jsx)(JI,{children:t?.preheader??`No preview text`})})]}),e?(0,Z.jsx)(bL,{}):(0,Z.jsx)(`p`,{className:`text-muted-foreground py-3 text-xs`,children:`This host does not edit sender defaults.`})]})}function SL({selection:e}){let t=$(e=>e.render?.selections??mL),{select:n}=$(e=>e.actions),r=e.origins[0],i=e.origins.slice(1),a=Yc(t,e),o=Xc(t,e);return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`div`,{className:`border-border-subtle border-b py-3`,children:[(0,Z.jsx)(GI,{children:`Element`}),(0,Z.jsx)(hL,{label:`Tag`,children:(0,Z.jsx)(JI,{testId:`inspector.element.tag`,children:e.tag})}),(0,Z.jsx)(hL,{label:`Source`,title:e.authored?`This element was written in the template.`:`A compiler primitive produced this element; the authoring below is the call that asked for it.`,children:(0,Z.jsx)(JI,{testId:`inspector.element.provenance`,children:e.authored?`Authored`:`Generated`})}),(0,Z.jsx)(hL,{label:`Instance`,children:(0,Z.jsx)(JI,{testId:`inspector.element.instance`,children:e.instancePath})})]}),(0,Z.jsxs)(`div`,{className:`border-border-subtle border-b py-3`,children:[(0,Z.jsx)(GI,{children:`Authoring`}),r===void 0?(0,Z.jsx)(`p`,{className:`text-muted-foreground text-[11.5px]`,children:`The renderer produced this element with no authoring on the stack, so nothing in the template points at it.`}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(hL,{label:`Written at`,children:(0,Z.jsx)(JI,{testId:`inspector.authoring.origin`,children:ZN(r)})}),(0,Z.jsx)(`p`,{"data-testid":`inspector.authoring.occurrence`,className:`text-muted-foreground mt-2 text-[11.5px]`,children:e.occurrences>1?`This authoring renders ${e.occurrences} elements here; this is number ${e.occurrence}.`:`This authoring renders one element here.`}),o.length>a.length&&(0,Z.jsxs)(`p`,{"data-testid":`inspector.authoring.definition-scope`,className:`text-muted-foreground mt-1 text-[11.5px]`,children:[o.length,` elements across the whole render come from it, through more than one call site.`]})]})]}),(0,Z.jsx)(uL,{selection:e},`${e.instancePath}:${e.start}:${e.end}`),i.length>0&&(0,Z.jsxs)(`div`,{className:`border-border-subtle border-b py-3`,children:[(0,Z.jsx)(GI,{children:`Call sites`}),(0,Z.jsx)(`ol`,{className:`m-0 flex list-none flex-col gap-1.5 p-0`,children:i.map((e,t)=>(0,Z.jsx)(`li`,{"data-testid":`inspector.call-site.${t}`,className:`text-foreground font-mono text-[11.5px] break-all`,children:ZN(e)},`${ZN(e)}:${t}`))}),(0,Z.jsx)(`p`,{className:`text-muted-foreground mt-2 text-[11.5px]`,children:`Innermost call first.`})]}),a.length>1&&(0,Z.jsxs)(`div`,{className:`py-3`,children:[(0,Z.jsx)(GI,{children:`Iterations`}),(0,Z.jsx)(`ul`,{className:`m-0 flex list-none flex-col gap-1 p-0`,children:a.map((t,r)=>(0,Z.jsx)(`li`,{children:(0,Z.jsxs)(`button`,{type:`button`,"data-testid":`inspector.iteration.${t.instancePath}`,onClick:()=>n(t.instancePath),className:wF(`hover:bg-muted w-full rounded px-1.5 py-1 text-left font-mono text-[11.5px]`,t.instancePath===e.instancePath&&`bg-sel-soft text-accent-email`),children:[r+1,`. `,t.instancePath]})},t.instancePath))})]})]})}function CL({embedded:e=!1}={}){let t=VF(),{outline:n,selection:r,rightCollapsed:i,rightWidth:a,layoutMode:o}=$(mk(e=>({outline:e.outline,selection:e.selection,rightCollapsed:e.rightCollapsed,rightWidth:e.rightWidth,layoutMode:e.layoutMode}))),{select:s,selectDocument:c,breadcrumbOf:l,toggleRight:u}=$(e=>e.actions),d=r.kind===`element`?n?.index.get(r.instancePath)??null:null,f=r.kind===`envelope`?`envelope`:d===null?`document`:`element`,p=d===null?[]:l(d.instancePath),m=!e&&(o===`compact`||o===`narrow`);return(0,Z.jsx)(`aside`,{"aria-label":`Inspector`,"data-testid":`inspector`,"aria-hidden":!e&&i?!0:void 0,inert:!e&&i?!0:void 0,"data-editor-rail":`right`,style:{width:e?`100%`:i?0:a,maxWidth:m?`calc(100% - 48px)`:void 0},className:wF(`flex h-full shrink-0 flex-col overflow-hidden bg-background transition-[width,transform,box-shadow] duration-180 ease-out`,!e&&`border-l border-border`,m&&`absolute inset-y-0 right-0 z-40 shadow-[var(--shadow-floating)]`,!e&&i&&`border-l-0`),children:(0,Z.jsxs)(`div`,{className:`flex h-full min-w-0 flex-col`,style:{width:e?`100%`:a,maxWidth:`100%`},children:[(0,Z.jsx)(`div`,{className:`border-border bg-background/95 sticky top-0 z-10 border-b backdrop-blur-md`,children:(0,Z.jsxs)(`div`,{className:`flex min-h-10 items-center gap-2 px-3 py-2`,children:[(0,Z.jsx)(`div`,{className:`text-muted-foreground flex min-w-0 flex-1 items-center gap-0.5 overflow-hidden text-xs`,children:f===`document`?(0,Z.jsx)(`span`,{className:`text-foreground truncate px-1 font-semibold`,children:`Document`}):f===`envelope`?(0,Z.jsx)(`span`,{className:`text-foreground truncate px-1 font-semibold`,children:`Envelope`}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`button`,{type:`button`,onClick:c,"data-testid":`inspector.document`,className:`hover:bg-muted hover:text-foreground shrink-0 rounded px-1`,children:`Email`}),p.map((e,t)=>(0,Z.jsxs)(`span`,{className:`contents`,children:[(0,Z.jsx)(`span`,{className:`text-placeholder`,children:`/`}),t===p.length-1?(0,Z.jsx)(`span`,{className:`text-foreground truncate px-1 font-semibold`,children:e.label}):(0,Z.jsx)(`button`,{type:`button`,onClick:()=>s(e.instancePath),className:`hover:bg-muted hover:text-foreground max-w-[72px] truncate rounded px-1`,children:e.label})]},e.instancePath))]})}),d!==null&&(0,Z.jsx)(`span`,{"data-testid":`inspector.selection-badge`,className:`bg-muted text-muted-foreground shrink-0 rounded-md px-1.5 py-0.5 text-[10px] font-medium tracking-wide uppercase`,children:d.authored?QN(d):`${d.tag} · generated`}),!e&&(0,Z.jsxs)(tE,{children:[(0,Z.jsx)(lE,{render:(0,Z.jsx)(`button`,{type:`button`,"aria-label":`Collapse inspector`,"data-testid":`inspector.collapse`,onClick:u,className:`text-muted-foreground hover:bg-muted hover:text-foreground shrink-0 rounded-md p-1.5`}),children:(0,Z.jsx)(yF,{className:`size-[15px]`})}),(0,Z.jsx)(pE,{container:t,children:(0,Z.jsx)(IE,{side:`bottom`,sideOffset:5,className:`z-[200]`,children:(0,Z.jsx)(LE,{role:`tooltip`,className:`bg-foreground text-background rounded-md px-2 py-1 text-[11px] shadow-[var(--shadow-md)]`,children:`Collapse inspector`})})})]})]})}),(0,Z.jsxs)(JA,{"data-samva-scroll-area":`inspector`,className:`relative min-h-0 flex-1`,children:[(0,Z.jsx)(oj,{className:`size-full`,children:(0,Z.jsxs)(`div`,{className:`samva-inspector-content pb-4`,children:[f===`document`&&(0,Z.jsx)(vL,{}),f===`envelope`&&(0,Z.jsx)(xL,{}),d!==null&&(0,Z.jsx)(SL,{selection:d})]})}),(0,Z.jsx)(fj,{orientation:`vertical`,className:`absolute top-0 right-0 bottom-0 flex w-2.5 touch-none p-0.5 select-none`,children:(0,Z.jsx)(pj,{className:`relative flex-1 rounded-full bg-[var(--editor-scrollbar-thumb)] hover:bg-[var(--editor-scrollbar-thumb-hover)]`})})]})]})})}var wL={body:iF,div:sF,table:cF,tbody:cF,tr:cF,td:SF,th:SF,h1:lF,h2:lF,h3:lF,h4:lF,h5:lF,h6:lF,p:hF,span:hF,a:ZP,button:ZP,img:uF,hr:nF,br:JP,ul:XP,ol:XP,li:XP},TL=e=>wL[e.toLowerCase()]??sF;function EL({node:e,depth:t}){let{selectedPath:n,expandedLayers:r}=$(mk(e=>({selectedPath:e.selection.kind===`element`?e.selection.instancePath:null,expandedLayers:e.expandedLayers}))),{select:i,toggleLayerExpand:a,setHovered:o}=$(e=>e.actions),s=e.children.length>0,c=r.has(e.instancePath),l=n===e.instancePath,{selection:u}=e;return(0,Z.jsxs)(`li`,{children:[(0,Z.jsx)(`div`,{className:`group relative`,style:{paddingLeft:t*12},onMouseEnter:()=>o(e.instancePath),onMouseLeave:()=>o(null),children:(0,Z.jsxs)(`div`,{className:wF(`flex h-[30px] w-full items-center gap-1.5 rounded-[7px] pr-2 pl-1.5 text-left transition-colors`,l?`bg-sel-soft text-accent-email`:`text-foreground hover:bg-muted`),children:[s?(0,Z.jsx)(`button`,{type:`button`,"aria-expanded":c,"data-testid":`left-rail.layer.toggle`,"aria-label":`${c?`Collapse`:`Expand`} ${QN(u)}`,className:wF(`grid size-3.5 shrink-0 place-items-center text-muted-foreground transition-transform`,c&&`rotate-90`),onClick:t=>{t.stopPropagation(),a(e.instancePath)},children:(0,Z.jsx)(eF,{className:`size-[11px]`})}):(0,Z.jsx)(`span`,{"aria-hidden":!0,className:`size-3.5 shrink-0`}),(0,Z.jsxs)(`button`,{"data-layer-instance-path":e.instancePath,"data-testid":`layers.node.${e.instancePath}`,type:`button`,onClick:()=>i(e.instancePath),className:`flex min-w-0 flex-1 items-center gap-1.5 text-left`,children:[(0,W.createElement)(TL(u.tag),{className:wF(`size-[15px] shrink-0`,l?`text-accent-email`:`text-muted-foreground`)}),(0,Z.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[12.5px]`,children:QN(u)}),!u.authored&&(0,Z.jsx)(`span`,{className:`text-placeholder shrink-0 text-[10px]`,children:`generated`})]})]})}),s&&c&&(0,Z.jsx)(`ul`,{className:`m-0 list-none p-0`,children:e.children.map(e=>(0,Z.jsx)(EL,{node:e,depth:t+1},e.instancePath))})]})}function DL(){let e=$(e=>e.outline);return e===null?(0,Z.jsx)(`div`,{className:`text-placeholder px-3 py-8 text-center text-xs`,children:`There is no preview yet, so there are no layers to show.`}):(0,Z.jsx)(`ul`,{className:`m-0 list-none p-0`,children:e.roots.map(e=>(0,Z.jsx)(EL,{node:e,depth:0},e.instancePath))})}function OL(){let e=VF(),{leftCollapsed:t,leftWidth:n,layoutMode:r}=$(mk(e=>({leftCollapsed:e.leftCollapsed,leftWidth:e.leftWidth,layoutMode:e.layoutMode}))),{toggleLeft:i}=$(e=>e.actions),a=r===`compact`||r===`narrow`;return(0,Z.jsx)(`aside`,{"aria-label":`Layers`,"aria-hidden":t||void 0,inert:t||void 0,"data-editor-rail":`left`,style:{width:t?0:n,maxWidth:a?`calc(100% - 48px)`:void 0},className:wF(`flex h-full shrink-0 flex-col overflow-hidden border-r border-border bg-background transition-[width,transform,box-shadow] duration-180 ease-out`,a&&`absolute inset-y-0 left-0 z-40 shadow-[var(--shadow-floating)]`,t&&`border-r-0`),children:(0,Z.jsxs)(`div`,{className:`flex h-full min-w-0 flex-col`,style:{width:n,maxWidth:`100%`},children:[(0,Z.jsxs)(`div`,{className:`border-border-subtle flex items-center gap-0.5 border-b px-3 py-2`,children:[(0,Z.jsx)(`span`,{className:`text-foreground text-[12.5px] font-medium`,children:`Layers`}),(0,Z.jsxs)(tE,{children:[(0,Z.jsx)(lE,{render:(0,Z.jsx)(`button`,{type:`button`,"aria-label":`Collapse layers`,"data-testid":`left-rail.collapse`,onClick:i,className:`text-muted-foreground hover:bg-muted hover:text-foreground ml-auto rounded-md p-1.5`}),children:(0,Z.jsx)(_F,{className:`size-[15px]`})}),(0,Z.jsx)(pE,{container:e,children:(0,Z.jsx)(IE,{side:`bottom`,sideOffset:5,className:`z-[200]`,children:(0,Z.jsx)(LE,{role:`tooltip`,className:`bg-foreground text-background rounded-md px-2 py-1 text-[11px] shadow-[var(--shadow-md)]`,children:`Collapse layers`})})})]})]}),(0,Z.jsxs)(JA,{"data-samva-scroll-area":`layers`,className:`relative min-h-0 flex-1`,children:[(0,Z.jsx)(oj,{className:`size-full`,children:(0,Z.jsx)(`div`,{className:`px-2 pt-2.5 pb-5`,children:(0,Z.jsx)(DL,{})})}),(0,Z.jsx)(fj,{orientation:`vertical`,className:`absolute top-0 right-0 bottom-0 flex w-2.5 touch-none p-0.5 select-none`,children:(0,Z.jsx)(pj,{className:`relative flex-1 rounded-full bg-[var(--editor-scrollbar-thumb)] hover:bg-[var(--editor-scrollbar-thumb-hover)]`})})]})]})})}function kL({embedded:e=!1}={}){let t=VF(),{checks:n,doc:r,readonlyReason:i,rightCollapsed:a,rightWidth:o}=$(mk(e=>({checks:e.checks,doc:e.doc,readonlyReason:e.readonlyReason,rightCollapsed:e.rightCollapsed,rightWidth:e.rightWidth}))),{toggleRight:s}=$(e=>e.actions);return!e&&a?null:(0,Z.jsxs)(`aside`,{"data-editor-rail":`right`,style:{width:e?`100%`:o},className:e?`bg-background flex h-full shrink-0 flex-col overflow-hidden`:`border-border bg-background flex h-full shrink-0 flex-col overflow-hidden border-l`,children:[(0,Z.jsxs)(`div`,{className:`border-border-subtle flex h-11 items-center border-b px-3`,children:[(0,Z.jsx)(`span`,{className:`text-[12.5px] font-medium`,children:`Template details`}),!e&&(0,Z.jsxs)(tE,{children:[(0,Z.jsx)(lE,{render:(0,Z.jsx)(`button`,{type:`button`,"aria-label":`Collapse inspector`,onClick:s,className:`text-muted-foreground hover:bg-muted hover:text-foreground ml-auto rounded-md p-1.5`}),children:(0,Z.jsx)(yF,{className:`size-[15px]`})}),(0,Z.jsx)(pE,{container:t,children:(0,Z.jsx)(IE,{side:`bottom`,sideOffset:5,className:`z-[200]`,children:(0,Z.jsx)(LE,{role:`tooltip`,className:`bg-foreground text-background rounded-md px-2 py-1 text-[11px] shadow-[var(--shadow-md)]`,children:`Collapse inspector`})})})]})]}),(0,Z.jsxs)(`div`,{className:`samva-editor-scroll min-h-0 flex-1 overflow-y-auto p-4 text-[12.5px]`,children:[(0,Z.jsx)(`p`,{className:`font-medium`,children:`Read-only`}),(0,Z.jsx)(`p`,{className:`text-muted-foreground mt-1`,children:i}),r!==null&&(0,Z.jsx)(`p`,{className:`text-muted-foreground mt-3 font-mono text-[11.5px] break-all`,children:r.origin.file}),(0,Z.jsx)(`div`,{className:`border-border-subtle mt-5 border-t pt-4`,children:(0,Z.jsx)(ZI,{checks:n})})]})]})}var AL=wF(`flex flex-1 items-center justify-center gap-1.5 px-2 text-[12px]`,DF),jL={layers:{label:`Layers`,Icon:dF},inspector:{label:`Inspector`,Icon:bF},review:{label:`Review`,Icon:oF}},ML=[`layers`,`inspector`,`review`];function NL({view:e,sourceEditable:t,review:n}){return e===`layers`?(0,Z.jsx)(`div`,{className:`samva-editor-scroll h-full overflow-y-auto px-2 pt-2.5 pb-5`,children:(0,Z.jsx)(DL,{})}):e===`review`&&n!==null?(0,Z.jsx)(`div`,{className:`samva-editor-scroll h-full overflow-y-auto px-2 pt-2.5 pb-5`,children:n.content}):t?(0,Z.jsx)(CL,{embedded:!0}):(0,Z.jsx)(kL,{embedded:!0})}function PL({focused:e=!1}){let t=$(e=>e.sourceEditable),n=$(e=>e.rightWidth),r=$(e=>e.designView),i=$(e=>e.actions.setDesignView),a=NF(`rail.review`)??null,o=r===`review`&&a===null?`layers`:r,s=(0,W.useId)(),c=`${s}-panel`;return(0,Z.jsxs)(`aside`,{"aria-label":`Design`,"data-testid":`design-rail`,"data-editor-rail":`right`,style:e?void 0:{width:n},className:wF(`bg-background flex h-full min-h-0 min-w-0 flex-col overflow-hidden`,e?`w-full flex-1`:`shrink-0 border-l border-border`),children:[(0,Z.jsx)(`div`,{className:`border-border-subtle flex min-h-11 shrink-0 items-center border-b px-2 py-1.5`,children:(0,Z.jsx)(Ok,{role:`tablist`,"aria-label":`Design view`,value:[o],onValueChange:e=>{let t=e[0];(t===`layers`||t===`inspector`)&&i(t),t===`review`&&a!==null&&i(`review`)},className:`bg-muted flex flex-1 gap-0.5 rounded-lg p-0.5`,children:ML.filter(e=>e!==`review`||a!==null).map(e=>{let{Icon:t,label:n}=jL[e];return(0,Z.jsxs)(xk,{id:`${s}-tab-${e}`,type:`button`,role:`tab`,"aria-selected":o===e,"aria-controls":c,"aria-pressed":void 0,value:e,"data-testid":`design.tab.${e}`,className:AL,children:[(0,Z.jsx)(t,{className:`size-[14px]`}),n,e===`review`&&a?.badge]},e)})})}),(0,Z.jsx)(`div`,{role:`tabpanel`,id:c,"aria-labelledby":`${s}-tab-${o}`,className:`min-h-0 flex-1`,children:(0,Z.jsx)(NL,{view:o,sourceEditable:t,review:a})})]})}function FL({side:e}){let t=$(e=>e.leftWidth),n=$(e=>e.assistantWidth),r=$(e=>e.rightWidth),{setAssistantWidth:i,setLeftWidth:a,setRightWidth:o}=$(e=>e.actions),s=(0,W.useRef)(!1);return(0,W.useEffect)(()=>{let t=t=>{s.current&&(e===`assistant`?i(t.clientX):e===`assistant-end`?i(window.innerWidth-t.clientX):e===`left`?a(t.clientX):o(window.innerWidth-t.clientX))},n=()=>{s.current&&(s.current=!1,document.body.style.cursor=``,document.body.style.userSelect=``)};return window.addEventListener(`mousemove`,t),window.addEventListener(`mouseup`,n),()=>{window.removeEventListener(`mousemove`,t),window.removeEventListener(`mouseup`,n)}},[e,i,a,o]),(0,Z.jsx)(`div`,{"data-editor-resize":e,role:`separator`,"aria-orientation":`vertical`,"aria-valuenow":e===`assistant`||e===`assistant-end`?n:e===`left`?t:r,"aria-label":e===`assistant`||e===`assistant-end`?`Resize Assistant`:e===`left`?`Resize layers panel`:`Resize inspector`,"data-testid":e===`assistant`||e===`assistant-end`?`agent-column.resize`:e===`left`?`left-rail.resize`:`inspector.resize`,tabIndex:0,onMouseDown:e=>{e.preventDefault(),s.current=!0,document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`},onKeyDown:s=>{let c=s.shiftKey?24:8;(s.key===`ArrowLeft`||s.key===`ArrowRight`)&&(s.preventDefault(),e===`assistant`?(s.key===`ArrowLeft`&&i(n-c),s.key===`ArrowRight`&&i(n+c)):e===`assistant-end`?(s.key===`ArrowLeft`&&i(n+c),s.key===`ArrowRight`&&i(n-c)):e===`left`?(s.key===`ArrowLeft`&&a(t-c),s.key===`ArrowRight`&&a(t+c)):(s.key===`ArrowLeft`&&o(r+c),s.key===`ArrowRight`&&o(r-c)))},className:wF(`group relative z-10 w-2 shrink-0 cursor-col-resize`,`before:absolute before:inset-y-0 before:left-1/2 before:w-px before:-translate-x-1/2 before:bg-border before:transition-colors`,`hover:before:w-0.5 hover:before:bg-accent-email active:before:bg-accent-email`,`after:absolute after:top-1/2 after:left-1/2 after:h-10 after:w-1 after:-translate-x-1/2 after:-translate-y-1/2 after:rounded-full after:bg-muted-foreground/35 after:opacity-60 after:transition-opacity`,`hover:after:opacity-100 hover:after:bg-accent-email`)})}var IL={assistant:{label:`Assistant`,tip:`Show the assistant`,Icon:xF},preview:{label:`Preview`,tip:`Show the preview`,Icon:aF},design:{label:`Design`,tip:`Show designs, layers, and inspector`,Icon:dF}};function LL(){let e=$(e=>e.sourceEditable),t=$(e=>e.leftCollapsed),n=$(e=>e.rightCollapsed),r=$(e=>e.layoutMode),i=NF(`rail.assistant`)!==void 0,a=NF(`rail.review`),o=$(e=>e.workspaceView),s=$(e=>e.focusedPane),c=$(e=>e.actions.setFocusedPane),l=XN(),u=e=>l.setState({workspaceView:e}),d=(0,W.useId)(),f=i&&r===`compact`,p=i&&r===`narrow`,m=f||p,h=f?[`assistant`,`preview`,`design`]:[`assistant`,`preview`],g=o===`source`?`preview`:h.includes(s)?s:`assistant`;return i?(0,Z.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col`,children:[(0,Z.jsx)(qF,{value:o,onChange:e=>{u(e),m&&c(`preview`)},idBase:d,panelId:`${d}-view-panel`}),m&&(0,Z.jsx)(Ok,{role:`tablist`,value:[g],onValueChange:e=>{let t=e[0];h.some(e=>e===t)&&(c(t),t!==`preview`&&o===`source`&&u(`visual`))},"aria-label":`Editor pane`,className:`border-border bg-background flex h-11 shrink-0 items-center gap-1 border-b p-1.5`,children:h.map(e=>{let{Icon:t,label:n,tip:r}=IL[e];return(0,Z.jsxs)(xk,{id:`${d}-tab-${e}`,type:`button`,role:`tab`,"aria-selected":g===e,"aria-controls":`${d}-pane-${e}`,"aria-pressed":void 0,value:e,title:r,"data-testid":`agent-workspace.tab.${e}`,className:wF(DF,`h-8 flex-1 px-2.5 text-[12px]`),children:[(0,Z.jsx)(t,{className:`size-3.5 shrink-0`}),n,e===`design`&&a?.badge]},e)})}),(0,Z.jsxs)(`div`,{className:`relative flex min-h-0 min-w-0 flex-1`,"data-agent-workspace-layout":m?`focused`:`split`,children:[(0,Z.jsx)(`div`,{id:`${d}-pane-assistant`,role:m?`tabpanel`:void 0,"aria-labelledby":m?`${d}-tab-assistant`:void 0,hidden:m&&g!==`assistant`,className:wF(!m&&`contents`,m&&g===`assistant`&&`flex h-full min-h-0 min-w-0 flex-1`),children:(0,Z.jsx)(RF,{hidden:m&&g!==`assistant`})}),!m&&(0,Z.jsx)(FL,{side:`assistant`}),(0,Z.jsx)(`div`,{id:`${d}-pane-preview`,role:m?`tabpanel`:void 0,"aria-labelledby":m?`${d}-tab-preview`:void 0,hidden:m&&g!==`preview`,className:wF(`min-h-0 min-w-0 flex-1`,(!m||g===`preview`)&&`flex`),children:(0,Z.jsx)(`div`,{id:`${d}-view-panel`,role:`tabpanel`,"aria-labelledby":GF(d,o),className:`flex min-h-0 min-w-0 flex-1`,children:o===`source`?(0,Z.jsx)(UF,{}):(0,Z.jsx)(YI,{pointing:!0})})}),!m&&(0,Z.jsx)(FL,{side:`right`}),(0,Z.jsx)(`div`,{id:`${d}-pane-design`,role:f?`tabpanel`:void 0,"aria-labelledby":f?`${d}-tab-design`:void 0,hidden:m&&g!==`design`,className:wF(!m&&`contents`,m&&g===`design`&&`flex h-full min-h-0 min-w-0 flex-1`),children:p?null:(0,Z.jsx)(PL,{focused:m})})]})]}):(0,Z.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col`,children:[(0,Z.jsx)(cL,{}),(0,Z.jsx)(qF,{value:o,onChange:u,children:o===`source`?(0,Z.jsx)(UF,{}):(0,Z.jsxs)(`div`,{className:`relative flex min-h-0 min-w-0 flex-1`,children:[(0,Z.jsx)(OL,{}),!t&&(0,Z.jsx)(FL,{side:`left`}),(0,Z.jsx)(YI,{}),!n&&(0,Z.jsx)(FL,{side:`right`}),e?(0,Z.jsx)(CL,{}):(0,Z.jsx)(kL,{})]})})]})}var RL=RegExp(`\\s${Gc}="[^"]*"`,`g`),zL=e=>e.replace(RL,``),BL=e=>{let t=e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``);return t===``?`email`:t},VL=(e,t)=>{let n=new Blob([zL(e)],{type:`text/html;charset=utf-8`}),r=URL.createObjectURL(n),i=document.createElement(`a`);i.href=r,i.download=`${BL(t)}.html`,document.body.appendChild(i),i.click(),i.remove(),URL.revokeObjectURL(r)},HL=`image/png,image/jpeg,image/gif,image/webp,.woff2`,UL=1048576,WL=(e,t)=>{let n=e?.lastIndexOf(`/`)??-1;return`${e===void 0||n<0?``:e.slice(0,n+1)}assets/${t}`},GL=e=>{let t=e.lastIndexOf(`.`);return t>e.lastIndexOf(`/`)?e.slice(t):``},KL=e=>j(e,`_tag`)&&e._tag===`ProjectFileExists`,qL=e=>j(e,`reason`)&&typeof e.reason==`string`?e.reason:`The template project operation failed.`,JL=e=>e.isPublished?`Published`:e.isHead?`Current saved version`:`Saved version`;function YL({file:e,content:t,busy:n,onChange:r,onApply:i,onReplace:a}){let o=e.status===`conflicted`;return(0,Z.jsxs)(`div`,{className:`border-border space-y-3 rounded-lg border p-3`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,Z.jsx)(`h4`,{className:`truncate font-mono text-xs font-semibold`,children:e.path}),(0,Z.jsx)(`span`,{className:`text-muted-foreground shrink-0 text-xs`,children:e.status})]}),e.binary===!0?(0,Z.jsx)(`div`,{className:`space-y-3`,"data-testid":`lifecycle-sheet.binary-file`,children:e.status===`deleted`?(0,Z.jsx)(`p`,{className:`text-muted-foreground text-xs`,children:`Removed from the draft. Save a version to keep this change.`}):(0,Z.jsxs)(Z.Fragment,{children:[(e.status===`added`||e.status===`modified`)&&(0,Z.jsx)(`p`,{className:`text-muted-foreground text-xs`,children:`Unsaved until you save a version.`}),(0,Z.jsx)(`button`,{type:`button`,disabled:n,"data-testid":`lifecycle-sheet.replace-file`,onClick:a,className:wF(`border-border hover:bg-muted rounded-md border px-3 py-2 text-xs disabled:opacity-50`,TF),children:`Replace file`})]})}):o?(0,Z.jsx)(`p`,{className:`text-muted-foreground text-xs`,children:`Resolve this file below before editing its workspace source.`}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`textarea`,{"aria-label":`Project source for ${e.path}`,"data-testid":`lifecycle-sheet.file-source.${e.path}`,value:t,onChange:e=>r(e.target.value),disabled:n,spellCheck:!1,className:`border-border bg-surface-inset text-foreground min-h-52 w-full resize-y rounded-md border p-3 font-mono text-xs outline-none disabled:opacity-60`}),(0,Z.jsx)(`button`,{type:`button`,disabled:n||t===e.content,"data-testid":`lifecycle-sheet.apply-file.${e.path}`,onClick:()=>i(t),className:wF(`bg-primary text-primary-foreground rounded-md px-3 py-2 text-xs font-medium disabled:opacity-50`,TF),children:`Apply file`})]})]})}function XL({conflict:e,busy:t,onResolve:n}){let[r,i]=(0,W.useState)(e.draft??e.main??``);return(0,Z.jsxs)(`article`,{className:`border-status-warning/45 space-y-3 rounded-lg border p-4`,children:[(0,Z.jsx)(`h4`,{className:`font-mono text-xs font-semibold`,children:e.path}),(0,Z.jsxs)(`details`,{className:`border-border rounded-md border`,children:[(0,Z.jsx)(`summary`,{className:`hover:bg-muted cursor-pointer px-3 py-2 text-xs font-medium`,children:`Compare base, draft, and main`}),(0,Z.jsx)(`div`,{className:`divide-border border-border divide-y border-t`,children:[[`Base`,e.base],[`Draft`,e.draft],[`Latest saved version`,e.main]].map(([e,t])=>(0,Z.jsxs)(`div`,{className:`space-y-1 p-3`,children:[(0,Z.jsx)(`p`,{className:`text-muted-foreground text-[11px] font-medium`,children:e}),(0,Z.jsx)(`pre`,{className:`samva-editor-scroll max-h-32 overflow-auto font-mono text-xs whitespace-pre-wrap`,children:t??`File does not exist`})]},e))})]}),(0,Z.jsx)(`textarea`,{"aria-label":`Resolved source for ${e.path}`,"data-testid":`lifecycle-sheet.conflict-source.${e.path}`,value:r,onChange:e=>i(e.target.value),spellCheck:!1,className:`border-border bg-surface-inset text-foreground min-h-40 w-full resize-y rounded-md border p-3 font-mono text-xs outline-none`}),(0,Z.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,Z.jsx)(`button`,{type:`button`,disabled:t,onClick:()=>n(`draft`),"data-testid":`lifecycle-sheet.keep-draft`,className:wF(`border-border hover:bg-muted rounded-md border px-3 py-2 text-xs`,TF),children:`Keep draft`}),(0,Z.jsx)(`button`,{type:`button`,disabled:t,onClick:()=>n(`main`),className:wF(`border-border hover:bg-muted rounded-md border px-3 py-2 text-xs`,TF),children:`Use saved version`}),(0,Z.jsx)(`button`,{type:`button`,disabled:t,"data-testid":`lifecycle-sheet.resolve-edited.${e.path}`,onClick:()=>n({content:r}),className:wF(`bg-primary text-primary-foreground rounded-md px-3 py-2 text-xs font-medium`,TF),children:`Use edited source`})]})]})}function ZL({open:e,onClose:t,onLockedAction:n}){return e?(0,Z.jsx)(QL,{onClose:t,onLockedAction:n}):null}function QL({onClose:e,onLockedAction:t}){let n=VF(),r=$(e=>e.doc),i=$(e=>e.lifecycleCapability),{beginLifecycle:a,endLifecycle:o,flushSaves:s,adoptLifecycleSnapshot:c}=$(e=>e.actions),l=r!==null&&i?.status===`ready`,[u,d]=(0,W.useState)(null),[f,p]=(0,W.useState)(null),[m,h]=(0,W.useState)(null),[g,_]=(0,W.useState)({}),[v,y]=(0,W.useState)(()=>l?`loading`:null),b=(0,W.useRef)(null),x=(0,W.useRef)(null),[S,C]=(0,W.useState)(null),[w,T]=(0,W.useState)(null),[E,D]=(0,W.useState)(null),[O,k]=(0,W.useState)(l);if(l!==O&&(k(l),l&&(y(`loading`),d(null),T(null),D(null),p(null),h(null),_({}),C(null))),(0,W.useEffect)(()=>{if(i?.status!==`ready`)return;let e=!1;return s().then(()=>i.api.inspect()).then(t=>{if(e)return;d(t);let n=r?.origin.kind===`tsx`?r.origin.file:void 0;h(e=>e!==null&&t.files.some(({path:t})=>t===e)?e:n!==void 0&&t.files.some(({path:e})=>e===n)?n:t.files[0]?.path??null)}).catch(t=>{e||T(qL(t))}).finally(()=>{e||y(null)}),()=>{e=!0}},[r,s,i]),i===void 0)return null;if(i.status===`locked`)return(0,Z.jsx)(Mj,{open:!0,onOpenChange:t=>!t&&e(),children:(0,Z.jsxs)(Tj,{container:n,children:[(0,Z.jsx)(gj,{className:`fixed inset-0 z-[110] bg-[var(--editor-backdrop,rgb(0_0_0/0.28))]`}),(0,Z.jsx)(Nj,{className:`fixed inset-0 z-[111] grid place-items-center p-4`,children:(0,Z.jsxs)(wj,{className:`border-border bg-popover w-full max-w-lg rounded-xl border p-5 shadow-[var(--shadow-floating)]`,children:[(0,Z.jsx)(Pj,{className:`text-base font-semibold`,children:`Publishing is unavailable`}),(0,Z.jsx)(vj,{className:`text-muted-foreground mt-2 text-sm`,"data-testid":`lifecycle-sheet.locked-reason`,children:i.upsell.reason}),(0,Z.jsx)(`a`,{"data-testid":`lifecycle-sheet.upsell-cta`,className:wF(`bg-primary text-primary-foreground mt-4 inline-flex rounded-md px-3 py-2 text-sm font-medium`,TF),href:i.upsell.cta.href,onClick:e=>{t!==void 0&&(e.preventDefault(),t())},children:i.upsell.cta.label}),(0,Z.jsx)(_j,{className:wF(`border-border hover:bg-muted mt-4 ml-2 inline-flex rounded-md border px-3 py-2 text-sm font-medium`,TF),children:`Close`})]})})]})});let A=u?.commits.find(({commit:e})=>e===f),j=u?.files.find(({path:e})=>e===m),M=j?.content??``,N=j===void 0?void 0:g[j.path],P=N?.baseContent===M?N.content:M,F=u?.files.some(e=>{let t=g[e.path],n=e.content??``;return t?.baseContent===n&&t.content!==n})??!1,I=u!==null&&!u.dirty&&u.conflicts.length===0&&!F,L=u?.commits.find(({commit:e})=>e===u.baseCommit),R=I&&u?.baseCommit===u.remoteHead,ee=async()=>d(await i.api.inspect()),z=()=>{u!==null&&R&&v===null&&a()&&(y(`publish`),T(null),i.api.publish({baseRev:u.rev,commit:u.baseCommit}).then(async()=>{await ee(),D(`Published the current saved version.`)}).catch(e=>T(qL(e))).finally(()=>{o(),y(null)}))},te=()=>{u!==null&&A!==void 0&&!A.isHead&&I&&v===null&&a()&&(y(`restore`),T(null),s().then(e=>i.api.restore({commit:A.commit,baseRev:e})).then(async e=>{c(e),await ee(),p(null),D(`Restored the saved version to the draft. Save a version to keep this restore.`)}).catch(e=>T(qL(e))).finally(()=>{o(),y(null)}))},ne=(e,t)=>{u!==null&&v===null&&a()&&(y(`resolve`),T(null),s().then(n=>i.api.resolveConflict({path:e.path,baseRev:n,resolution:t})).then(t=>{d(t),D(`Resolved ${e.path}.`)}).catch(e=>T(qL(e))).finally(()=>{o(),y(null)}))},re=(e,t)=>{u!==null&&v===null&&(y(`file`),T(null),i.api.updateFile({path:e.path,baseRev:u.rev,content:t}).then(t=>{d(t),_(t=>{let{[e.path]:n,...r}=t;return r}),D(`Updated ${e.path}.`)}).catch(e=>T(qL(e))).finally(()=>y(null)))},B=(e,t,n)=>{u!==null&&v===null&&(y(`file`),T(null),D(null),C(null),i.api.putAsset({path:e,baseRev:u.rev,bytes:t,replace:n}).then(t=>{d(t),h(e),D(`${n?`Replaced`:`Added`} ${e}. Save a version to keep this change.`)}).catch(n=>{KL(n)?C({path:e,bytes:t}):T(qL(n))}).finally(()=>y(null)))},ie=e=>{let t=b.current;t!==null&&(x.current=e===null?null:{replacePath:e},t.accept=e===null?HL:GL(e),t.value=``,t.click())},ae=e=>{let t=x.current;if(x.current=null,e===void 0||u===null)return;if(e.size>UL){D(null),T(`${e.name} is larger than 1 MB. Choose a smaller file.`);return}let n=r?.origin.kind===`tsx`?r.origin.file:void 0,i=t?.replacePath??WL(n,e.name);e.arrayBuffer().then(e=>{let n=new Uint8Array(e);if(t===null&&u.files.some(e=>e.path===i)){T(null),D(null),C({path:i,bytes:n});return}B(i,n,t!==null)}).catch(e=>T(qL(e)))};return(0,Z.jsx)(_M,{open:!0,onOpenChange:t=>!t&&e(),swipeDirection:`right`,children:(0,Z.jsxs)(mM,{container:n,children:[(0,Z.jsx)(Wj,{className:`fixed inset-0 z-[110] bg-[var(--editor-backdrop,rgb(0_0_0/0.28))]`}),(0,Z.jsx)(rN,{className:`pointer-events-none fixed inset-0 z-[111] flex justify-end`,children:(0,Z.jsxs)(pM,{className:`border-border bg-popover pointer-events-auto flex h-full w-full max-w-2xl flex-col border-l shadow-[var(--shadow-floating)]`,children:[(0,Z.jsxs)(`header`,{className:`border-border flex items-center justify-between border-b px-5 py-4`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(BM,{className:`text-base font-semibold`,children:`Publish and saved versions`}),(0,Z.jsx)(qj,{className:`text-muted-foreground mt-0.5 text-xs`,children:`Save keeps a named version. Restore brings an older version into your draft.`})]}),(0,Z.jsx)(Gj,{"data-testid":`lifecycle-sheet.close`,className:wF(`hover:bg-muted rounded-md px-2 py-1 text-sm`,TF),children:`Close`})]}),(0,Z.jsxs)(`div`,{className:`samva-editor-scroll min-h-0 flex-1 space-y-6 overflow-y-auto p-5`,children:[v===`loading`&&(0,Z.jsx)(`p`,{className:`text-muted-foreground text-sm`,children:`Loading saved versions…`}),w!==null&&(0,Z.jsx)(`p`,{className:`text-status-error text-sm`,role:`alert`,children:w}),E!==null&&(0,Z.jsx)(`p`,{className:`text-status-success text-sm`,role:`status`,"data-testid":`lifecycle-sheet.notice`,children:E}),u!==null&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`section`,{className:`border-border bg-muted/30 space-y-3 rounded-lg border p-4`,children:[(0,Z.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h3`,{className:`text-sm font-semibold`,children:`Current saved version`}),(0,Z.jsx)(`p`,{className:`text-muted-foreground mt-1 text-xs`,children:L?.message??`Current saved version`})]}),(0,Z.jsx)(`button`,{type:`button`,onClick:z,disabled:!R||v!==null,"data-testid":`lifecycle-sheet.confirm-publish`,className:wF(`bg-primary text-primary-foreground rounded-md px-3 py-2 text-sm font-medium disabled:opacity-50`,`focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`),children:v===`publish`?`Publishing…`:`Publish saved version`})]}),!I&&(0,Z.jsx)(`p`,{className:`text-muted-foreground text-xs`,"data-testid":`lifecycle-sheet.cleanliness-warning`,children:u.conflicts.length>0?`Resolve workspace conflicts before Save or Publish.`:`The draft has unsaved changes. Save a version before publishing or restoring.`}),I&&u.baseCommit!==u.remoteHead&&(0,Z.jsx)(`p`,{className:`text-muted-foreground text-xs`,children:`The saved version changed elsewhere. Refresh before publishing.`})]}),(0,Z.jsxs)(`section`,{className:`space-y-2`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,Z.jsx)(`h3`,{className:`text-sm font-semibold`,children:`Project files`}),(0,Z.jsx)(`button`,{type:`button`,disabled:v!==null,"data-testid":`lifecycle-sheet.add-file`,onClick:()=>ie(null),className:wF(`border-border hover:bg-muted rounded-md border px-3 py-1.5 text-xs disabled:opacity-50`,`focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`),children:`Add file`}),(0,Z.jsx)(`input`,{ref:b,type:`file`,accept:HL,hidden:!0,"data-testid":`lifecycle-sheet.add-file-input`,onChange:e=>ae(e.target.files?.[0])})]}),(0,Z.jsx)(`p`,{className:`text-muted-foreground text-xs`,children:`Add PNG, JPEG, GIF, or WebP images and WOFF2 fonts up to 1 MB.`}),S!==null&&(0,Z.jsxs)(`div`,{className:`border-status-warning/45 space-y-3 rounded-lg border p-3`,"data-testid":`lifecycle-sheet.replace-prompt`,children:[(0,Z.jsxs)(`p`,{className:`text-xs`,children:[(0,Z.jsx)(`span`,{className:`font-mono`,children:S.path}),` already exists. Replace it with the file you chose?`]}),(0,Z.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Z.jsx)(`button`,{type:`button`,disabled:v!==null,"data-testid":`lifecycle-sheet.confirm-replace`,onClick:()=>B(S.path,S.bytes,!0),className:wF(`bg-primary text-primary-foreground rounded-md px-3 py-2 text-xs font-medium disabled:opacity-50`,`focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`),children:`Replace file`}),(0,Z.jsx)(`button`,{type:`button`,disabled:v!==null,onClick:()=>C(null),className:wF(`border-border hover:bg-muted rounded-md border px-3 py-2 text-xs`,`focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`),children:`Cancel`})]})]}),(0,Z.jsx)(`div`,{className:`border-border divide-border divide-y rounded-lg border`,children:u.files.map(e=>(0,Z.jsxs)(`button`,{type:`button`,"data-testid":`lifecycle-sheet.file.${e.path}`,onClick:()=>h(e.path),className:wF(`hover:bg-muted flex w-full items-center justify-between gap-4 px-3 py-2 text-left`,`focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`,m===e.path&&`bg-muted`),children:[(0,Z.jsx)(`span`,{className:`truncate font-mono text-xs`,children:e.path}),(0,Z.jsx)(`span`,{className:`text-muted-foreground shrink-0 text-xs`,children:e.status})]},e.path))}),j!==void 0&&(0,Z.jsx)(YL,{file:j,content:P,busy:v!==null,onChange:e=>_(t=>{if(e===M){let{[j.path]:e,...n}=t;return n}return{...t,[j.path]:{baseContent:M,content:e}}}),onApply:e=>re(j,e),onReplace:()=>ie(j.path)},`${j.path}:${j.content??``}`)]}),u.conflicts.length>0&&(0,Z.jsxs)(`section`,{className:`space-y-3`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h3`,{className:`text-sm font-semibold`,children:`Resolve conflicts`}),(0,Z.jsx)(`p`,{className:`text-muted-foreground mt-1 text-xs`,children:`Choose either side or edit the final file. Save remains blocked until every path is resolved.`})]}),u.conflicts.map(e=>(0,Z.jsx)(XL,{conflict:e,busy:v!==null,onResolve:t=>ne(e,t)},e.path))]}),(0,Z.jsxs)(`section`,{className:`space-y-2`,children:[(0,Z.jsx)(`h3`,{className:`text-sm font-semibold`,children:`Saved versions`}),(0,Z.jsx)(`div`,{className:`space-y-2`,children:u.commits.map(e=>(0,Z.jsxs)(`button`,{type:`button`,"data-testid":`lifecycle-sheet.commit.${e.commit}`,onClick:()=>p(e.commit),className:wF(`border-border hover:bg-muted flex w-full items-start justify-between gap-4 rounded-lg border p-3 text-left`,f===e.commit&&`ring-primary ring-2`,`focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`),children:[(0,Z.jsxs)(`span`,{className:`min-w-0`,children:[(0,Z.jsx)(`span`,{className:`block truncate text-sm font-medium`,children:e.message}),(0,Z.jsx)(`span`,{className:`text-muted-foreground mt-1 block text-xs`,children:e.committedAt.toLocaleString()})]}),(0,Z.jsx)(`span`,{className:`text-muted-foreground shrink-0 text-xs`,children:JL(e)})]},e.commit))})]}),A!==void 0&&!A.isHead&&(0,Z.jsxs)(`section`,{className:`border-border space-y-3 rounded-lg border p-4`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h3`,{className:`text-sm font-semibold`,children:`Restore saved version`}),(0,Z.jsxs)(`p`,{className:`text-muted-foreground mt-1 text-xs`,children:[`Bring “`,A.message,`” into the current draft. Save a version when you want to keep the restored draft.`]})]}),(0,Z.jsx)(`button`,{type:`button`,onClick:te,disabled:!I||v!==null,"data-testid":`lifecycle-sheet.restore`,className:wF(`border-border hover:bg-muted rounded-md border px-3 py-2 text-sm`,`focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`),children:v===`restore`?`Restoring…`:`Restore this version`})]})]})]})]})})]})})}function $L({container:e,children:t}){return(0,Z.jsx)(BF,{value:e,children:t})}var eR={desktop:600,mobile:375},tR=`▤`,nR=`Copy code`;function rR({open:e,onClose:t}){return e?(0,Z.jsx)(iR,{onClose:t}):null}function iR({onClose:e}){let t=VF(),{doc:n,render:r,checks:i,previewDevice:a}=$(mk(e=>({doc:e.doc,render:e.render,checks:e.checks,previewDevice:e.previewDevice}))),[o,s]=(0,W.useState)(`preview`),[c,l]=(0,W.useState)(a),[u,d]=(0,W.useState)(`light`),[f,p]=(0,W.useState)(n?.channel);n?.channel!==f&&(p(n?.channel),s(`preview`));let[m,h]=(0,W.useState)(a);if(a!==m&&(h(a),s(`preview`),l(a),d(`light`)),n===null)return null;let g=n.metadata.fromDefault,_=(e,t)=>({value:e,label:t,testId:`preview-overlay.view.${e}`}),v=n.channel===`email`?[_(`preview`,`Preview`),_(`html`,`HTML`),_(`text`,`Text`),_(`source`,`TSX`)]:n.channel===`sms`?[_(`preview`,`Preview`),_(`text`,`Text`),_(`source`,`TSX`)]:[_(`preview`,`Preview`),_(`payload`,`Payload`),_(`source`,`TSX`)],y=o===`source`?n.origin.authoredSource:o===`html`&&r!==null?r.html:o===`text`&&r!==null?r.text:o===`text`&&n.channel===`sms`&&n.render!==null?n.render.text:o===`payload`&&n.channel===`whatsapp`&&n.render!==null?JSON.stringify(n.render,null,2):``;return(0,Z.jsx)(Mj,{open:!0,onOpenChange:t=>!t&&e(),children:(0,Z.jsx)(Tj,{container:t,children:(0,Z.jsxs)(wj,{className:`samva-editor-shell fixed inset-0 z-[100] flex flex-col bg-[var(--editor-canvas-bg)] outline-none`,children:[(0,Z.jsx)(Pj,{className:`sr-only`,children:`Template preview`}),(0,Z.jsx)(vj,{className:`sr-only`,children:`Preview the rendered template and inspect its generated output.`}),(0,Z.jsxs)(`div`,{"data-testid":`preview-overlay.toolbar`,className:`border-border-subtle flex shrink-0 flex-wrap items-center gap-2 border-b px-3 py-2.5 sm:gap-2.5 sm:px-4`,children:[(0,Z.jsx)(`span`,{className:`text-[13px] font-semibold`,children:`Preview`}),(0,Z.jsx)(`span`,{className:`text-muted-foreground hidden text-xs sm:inline`,children:`rendered message, exactly what ships`}),(0,Z.jsx)(qI,{ariaLabel:`Preview format`,testId:`preview-overlay.format-group`,value:o,onChange:e=>s(e),options:v}),(0,Z.jsx)(`span`,{className:`hidden flex-1 sm:block`}),n.channel===`email`&&o===`preview`&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(qI,{ariaLabel:`Preview width`,testId:`preview-overlay.width-group`,value:c,onChange:e=>l(e),options:[{value:`desktop`,label:`Desktop`,testId:`preview-overlay.device.desktop`},{value:`mobile`,label:`Mobile`,testId:`preview-overlay.device.mobile`}]}),(0,Z.jsx)(qI,{ariaLabel:`Preview color scheme`,testId:`preview-overlay.color-scheme-group`,value:u,onChange:e=>d(e),options:[{value:`light`,label:`Light`,testId:`preview-overlay.scheme.light`},{value:`dark`,label:`Dark`,testId:`preview-overlay.scheme.dark`}]}),(0,Z.jsx)(QI,{checks:i})]}),(0,Z.jsxs)(_j,{"data-testid":`preview-overlay.close`,className:`border-border text-foreground hover:bg-muted focus-visible:border-ring focus-visible:ring-ring/50 ml-auto inline-flex h-[30px] items-center gap-1.5 rounded-[7px] border px-2.5 outline-none focus-visible:ring-[3px]`,children:[`Close`,(0,Z.jsx)(`kbd`,{className:`text-muted-foreground text-[10px]`,children:`⎋`})]})]}),o===`preview`?n.channel===`email`?(0,Z.jsxs)(`div`,{className:`samva-editor-scroll flex-1 overflow-auto px-6 pt-3 pb-12`,children:[(0,Z.jsxs)(`div`,{"data-testid":`preview-overlay.device-frame`,className:wF(`mx-auto mb-3.5 max-w-full truncate text-[12.5px] text-muted-foreground transition-[width] duration-180`,c===`mobile`?`w-[375px]`:`w-[600px]`),children:[g!==void 0&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`b`,{className:`text-foreground font-semibold`,children:g.name??g.email}),g.name===void 0?null:(0,Z.jsxs)(Z.Fragment,{children:[` <`,g.email,`>`]}),` ·`,` `]}),(0,Z.jsx)(`b`,{className:`text-foreground font-semibold`,children:r?.subject??``}),r?.preheader!==void 0&&(0,Z.jsxs)(`span`,{className:`opacity-70`,children:[` — `,r.preheader]})]}),(0,Z.jsx)(`div`,{className:wF(`mx-auto h-[calc(100%-2rem)] max-w-full transition-[width] duration-180 ease-out`,c===`mobile`?`w-[375px]`:`w-[600px]`),children:r===null?(0,Z.jsx)(`pre`,{className:`border-status-error/40 bg-background text-status-error rounded-lg border p-4 font-mono text-xs whitespace-pre-wrap`,children:`The current draft did not build, so there is nothing to preview.`}):(0,Z.jsx)(jI,{html:r.html,width:eR[c],forceColorScheme:u})})]}):(0,Z.jsx)(`div`,{className:`samva-editor-scroll flex-1 overflow-auto p-8`,children:(0,Z.jsx)(`div`,{className:`border-border bg-background mx-auto max-w-[460px] rounded-[28px] border p-5 shadow-[var(--shadow-lg)]`,children:n.channel===`sms`&&n.render!==null?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{"data-testid":`preview-overlay.sms-body`,className:`bg-muted rounded-[18px] px-4 py-3 text-[14px] whitespace-pre-wrap`,children:n.render.text}),(0,Z.jsx)($F,{text:n.render.text,className:`mt-4 text-center text-xs`})]}):n.channel===`whatsapp`&&n.render!==null?(0,Z.jsxs)(`div`,{className:`bg-surface-inset rounded-xl p-3.5`,children:[n.render.header!==void 0&&n.render.header.text!==``&&(0,Z.jsx)(`p`,{className:`mb-1 font-semibold`,children:n.render.header.text}),(0,Z.jsx)(`p`,{className:`whitespace-pre-wrap`,children:n.render.body}),n.render.footer!==void 0&&n.render.footer!==``&&(0,Z.jsx)(`p`,{className:`text-muted-foreground mt-2 text-xs`,children:n.render.footer}),n.render.buttons.map((e,t)=>(0,Z.jsx)(`div`,{className:`border-border-subtle text-accent-email mt-2 border-t pt-2 text-center text-xs`,children:e.type===`copy-code`?nR:e.type===`flow`?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`span`,{"aria-hidden":`true`,children:[tR,` `]}),e.text]}):e.text},`${e.type}-${t}`))]}):(0,Z.jsx)(`pre`,{className:`text-status-error whitespace-pre-wrap`,children:`The current draft did not build, so there is nothing to preview.`})})}):(0,Z.jsx)(`div`,{className:`samva-editor-scroll flex-1 overflow-auto p-6`,children:(0,Z.jsx)(`pre`,{className:`border-border bg-background text-foreground mx-auto min-h-full max-w-[1100px] rounded-lg border p-5 font-mono text-[12px] leading-5 whitespace-pre-wrap`,children:y})})]})})})}function aR({saveVersionStatus:e,saveVersionState:t,onSaveVersion:n,saveVersionBusy:r,saveVersionBlocked:i,guestHeadline:a}){let o=VF(),{doc:s,checks:c,sizeKb:l,deviceWidth:u,layoutMode:d}=$(mk(e=>({doc:e.doc,checks:e.checks,sizeKb:e.sizeKb,deviceWidth:OP[e.previewDevice],layoutMode:e.layoutMode}))),{selectDocument:f}=$(e=>e.actions),p=$(e=>e.sourceEditable),m=$(e=>e.pendingAuthoredSource),h=$(mk(e=>({storageError:e.storageError,conflict:e.conflict}))),[g,_]=(0,W.useState)(!1),{errorCount:v,warnCount:y}=wP(c),b=d===`compact`||d===`narrow`,x=c.filter(e=>e.diagnostics?.some(e=>e.compatibility?.assessment===`unverified`)).length,S=`No known risks found`;x>0&&(S=`No known risks · ${x} need verification`),y>0&&(S=`${y} warning${y>1?`s`:``}`),v>0&&(S=`${v} check${v>1?`s`:``} failing`),c.length===0&&(S=`No checks yet`);let C=t===`error`||h.storageError!==null||h.conflict?`Couldn't save version`:m!==null||r===!0?`Saving…`:void 0;return(0,Z.jsxs)(`footer`,{className:`border-border bg-background text-muted-foreground z-30 flex min-h-8 items-center gap-4 border-t px-3.5 py-1 text-[11.5px]`,children:[(0,Z.jsxs)(kN,{open:g,onOpenChange:_,children:[(0,Z.jsxs)(MN,{"data-testid":`statusbar.checks-trigger`,"aria-label":d===`narrow`?S:void 0,onClick:()=>f(),className:wF(`inline-flex shrink-0 items-center gap-1.5 rounded-md px-1.5 py-0.5 transition-colors hover:bg-muted hover:text-foreground`,a===void 0&&(d===`narrow`?`w-6`:`w-[clamp(96px,18vw,240px)]`),g&&`bg-muted text-foreground`),children:[(0,Z.jsx)(`span`,{className:wF(`size-[7px] shrink-0 rounded-full`,v>0?`bg-status-error`:y>0?`bg-status-warning`:`bg-muted-foreground`)}),a===void 0&&d!==`narrow`?(0,Z.jsx)(`span`,{className:`truncate`,children:S}):null]}),(0,Z.jsx)(FN,{container:o,children:(0,Z.jsx)(RN,{side:`top`,align:`start`,sideOffset:8,collisionPadding:12,className:`z-[80] outline-none`,children:(0,Z.jsx)(VN,{"data-testid":`statusbar.checks-popup`,className:`samva-editor-shell border-border bg-surface-elevated max-h-[min(560px,70vh)] w-[360px] origin-[var(--transform-origin)] overflow-y-auto rounded-xl border p-3.5 shadow-[var(--shadow-xl)] transition-[transform,scale,opacity] data-[ending-style]:scale-95 data-[ending-style]:opacity-0 data-[starting-style]:scale-95 data-[starting-style]:opacity-0`,children:(0,Z.jsx)(ZI,{checks:c,editable:p})})})})]}),a===void 0?!b&&(0,Z.jsx)(`span`,{className:`w-[52px] shrink-0`,children:s===null?`Loading…`:`Draft`}):(0,Z.jsx)(`span`,{"data-testid":`statusbar.guest`,className:`min-w-0 truncate`,children:C??a}),a===void 0?(0,Z.jsx)(`span`,{"aria-live":`polite`,"data-testid":`statusbar.save-version`,"data-save-version-state":t??`unavailable`,className:wF(`truncate`,d===`narrow`?`min-w-0 flex-1`:`w-[150px] shrink-0`),children:e??`Autosaved just now`}):(0,Z.jsx)(`span`,{className:`sr-only`,"aria-live":`polite`,"data-testid":`statusbar.save-version`,"data-save-version-state":t??`unavailable`,children:C??e??a}),n!==void 0&&(0,Z.jsx)(`button`,{type:`button`,onClick:n,disabled:r===!0||i===!0,"data-testid":`topbar.save-version`,"aria-label":`Save the current draft as a version`,title:`Save this draft as a version (⌘/Ctrl+S)`,className:`hover:bg-muted hover:text-foreground w-[82px] shrink-0 rounded-md px-1.5 py-0.5 text-left transition-colors`,children:r===!0?`Saving…`:e===`Couldn’t save version`?`Retry`:`Save version`}),(0,Z.jsx)(`span`,{className:`flex-1`}),!b&&(0,Z.jsxs)(`span`,{className:`w-10 shrink-0 text-right`,children:[l,` KB`]}),d!==`narrow`&&(0,Z.jsx)(`span`,{className:`w-[42px] shrink-0 text-right`,children:s?.channel===`email`?`${u}px`:s?.channel.toUpperCase()??``})]})}var oR=`theme.css`,sR=`starter.css`,cR=`samva:brand`,lR=`@import "./${sR}";`,uR=`@import "${cR}";`,dR=/@import(?![\w-])/iy,fR=(e,t)=>{let n=e[t],r=t+1;for(;r<e.length;){let t=e[r];if(t===`\\`)r+=2;else if(t===n||t===`
34
+ `)return r+1;else r+=1}return e.length},pR=(e,t)=>{let n=e.indexOf(`*/`,t+2);return n===-1?e.length:n+2},mR=e=>{let t=``,n=0;for(;n<e.length;)if(e.startsWith(`/*`,n))n=pR(e,n),t+=` `;else if(e[n]===`"`||e[n]===`'`){let r=fR(e,n);t+=e.slice(n,r),n=r}else t+=e[n],n+=1;return t},hR=e=>{let t=e[0];if(!(t!==`"`&&t!==`'`||e.length<2||e.at(-1)!==t))return e.slice(1,-1)},gR=e=>{let t=mR(e).trim(),n=/^url\(\s*(.*?)\s*\)$/is.exec(t);if(n!==null){let e=n[1]??``;return hR(e)??(/^[^\s"'()]+$/.test(e)?e:void 0)}return hR(t)},_R=e=>{let t=[],n=0,r=0;for(;r<e.length;){let i=e[r];if(i===`/`&&e[r+1]===`*`){r=pR(e,r);continue}if(i===`"`||i===`'`){r=fR(e,r);continue}if(i===`{`)n+=1;else if(i===`}`)n=Math.max(0,n-1);else if(i===`@`&&n===0&&(dR.lastIndex=r,dR.test(e))){let n=dR.lastIndex,i=n;for(;i<e.length&&e[i]!==`;`;)e.startsWith(`/*`,i)?i=pR(e,i):e[i]===`"`||e[i]===`'`?i=fR(e,i):i+=1;let a=Math.min(i+1,e.length);t.push({target:gR(e.slice(n,i)),end:a}),r=a;continue}r+=1}return t},vR=e=>{if(e===cR)return{slug:null};let t=`${cR}/`;if(e===void 0||!e.startsWith(t))return;let n=e.slice(t.length);return n.length===0?void 0:{slug:n}},yR=e=>{let t=e?.replace(/[?#].*$/,``);return t===`./starter.css`||t===`/starter.css`},bR=e=>{for(let{target:t}of _R(e)){let e=vR(t);if(e!==void 0)return e}return null},xR=e=>{let t=e.theme??``;if(bR(t)!==null)return t;let n=_R(t).find(({target:e})=>yR(e));if(n!==void 0)return`${t.slice(0,n.end)}\n${uR}${t.slice(n.end)}`;let r=[...e.starter?[lR]:[],uR].join(`
35
35
  `);return t.length===0?`${r}\n`:`${r}\n${t.startsWith(`
36
36
  `)?``:`
37
- `}${t}`},gR=(e,t)=>{if(e===void 0)return{kind:`pending`};let n=t?.find(({isDefault:e})=>e)??null;if(e===null)return{kind:`none`,defaultBrand:n};if(t===null)return{kind:`pending`};let r=e.slug===null?n:t.find(({slug:t})=>t===e.slug);return r==null?{kind:`missing`,slug:e.slug}:{kind:`brand`,brand:r}},_R=yF(`border-border-subtle bg-surface-inset text-muted-foreground inline-flex h-[22px] min-w-0 max-w-[180px] items-center gap-1 rounded-md border px-2 text-[11.5px] font-medium outline-none`,bF),vR=e=>e.button===0&&!e.metaKey&&!e.ctrlKey&&!e.shiftKey&&!e.altKey;function yR({source:e,onUseDefault:t}){let n=$(e=>e.doc?.rev??null),r=$(e=>e.editable&&e.lifecycleCapability?.status===`ready`),i=(0,W.useRef)(e.readTheme);(0,W.useEffect)(()=>{i.current=e.readTheme});let[a,o]=(0,W.useState)(void 0),[s,c]=(0,W.useState)(`idle`);(0,W.useEffect)(()=>{if(n===null)return;let e=!1;return i.current().then(t=>{e||o(mR(t.theme??``))},()=>void 0),()=>{e=!0}},[n]);let l=gR(a,e.brands);if(l.kind===`pending`)return e.status??null;let u;if(l.kind===`brand`){let{name:t,slug:n}=l.brand,r=e.brandLink(n);u=(0,Z.jsxs)(`a`,{href:r.href,"aria-label":`Brand: ${t}`,title:`Open ${t}`,"data-testid":`topbar.brand`,onClick:e=>{r.navigate!==void 0&&vR(e)&&(e.preventDefault(),r.navigate())},className:yF(_R,`hover:bg-muted hover:text-foreground`),children:[(0,Z.jsx)(lF,{className:`size-3.5 shrink-0`}),(0,Z.jsx)(`span`,{className:`truncate`,children:t})]})}else if(l.kind===`missing`)u=(0,Z.jsxs)(`span`,{"data-testid":`topbar.brand-missing`,title:l.slug===null?`This organization has no default brand.`:`This organization has no brand “${l.slug}”.`,className:yF(_R,`text-status-warning`),children:[(0,Z.jsx)(lF,{className:`size-3.5 shrink-0`}),(0,Z.jsx)(`span`,{className:`truncate`,children:`Brand not found`})]});else{let e=l.defaultBrand,n=r&&t!==void 0&&e!==null?()=>{c(`busy`),t().then(()=>c(`idle`),()=>c(`error`))}:void 0;u=(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`span`,{"data-testid":`topbar.brand-none`,className:_R,children:[(0,Z.jsx)(lF,{className:`size-3.5 shrink-0`}),(0,Z.jsx)(`span`,{className:`truncate`,children:`No brand`})]}),n!==void 0&&e!==null&&(0,Z.jsx)(`button`,{type:`button`,"data-testid":`topbar.brand-use`,onClick:n,disabled:s===`busy`,"aria-busy":s===`busy`,title:`Theme this template with ${e.name}`,className:yF(`text-foreground hover:bg-muted inline-flex h-[22px] max-w-[180px] items-center rounded-md px-1.5 text-[11.5px] font-medium outline-none disabled:opacity-50`,`focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`),children:(0,Z.jsxs)(`span`,{className:`truncate`,children:[`Use `,e.name]})}),s===`error`&&e!==null&&(0,Z.jsxs)(`span`,{role:`alert`,className:`text-status-error truncate text-[11.5px]`,children:[`Couldn’t use `,e.name]})]})}return(0,Z.jsxs)(`div`,{className:`flex min-w-0 shrink items-center gap-1`,children:[u,e.status]})}var bR=[];function xR(){let{doc:e,fixtures:t,fixture:n,busy:r,available:i}=$(lk(e=>({doc:e.doc,fixtures:e.doc?.fixtures??bR,fixture:e.doc?.fixture??null,busy:e.fixtureBusy,available:e.fixtureCapability?.status===`ready`}))),{viewFixture:a}=$(e=>e.actions);if(!i)return null;let o=n!==null&&t.length>=2;return e!==null&&!o?null:(0,Z.jsx)(`div`,{className:`w-[116px] shrink-0`,"data-testid":`topbar.fixture-slot`,children:o&&(0,Z.jsxs)(`label`,{className:`text-muted-foreground flex items-center text-[12px]`,children:[(0,Z.jsx)(`span`,{className:`sr-only`,children:`Fixture`}),(0,Z.jsx)(`select`,{"data-testid":`topbar.fixture`,value:n,disabled:r,onChange:e=>a(e.target.value),title:`Render another declared fixture`,className:yF(`border-border bg-background text-foreground h-[30px] w-full rounded-[7px] border px-2 text-[12px] outline-none`,`focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`),children:t.map(e=>(0,Z.jsx)(`option`,{value:e,children:e},e))})]})})}function SR({leading:e,extraActions:t,onBack:n,onUndo:r,onRedo:i,canUndo:a=!1,canRedo:o=!1,onPreview:s,onLifecycle:c,channelSwitcher:l,exportEnabled:u,onExport:d,renameEnabled:f=!0,brand:p,onUseDefaultBrand:m}){let{doc:h,render:g,pendingAuthoredSource:_,lifecycleCapability:v,editable:y,readonlyReason:b,renameActive:x,metadataError:S,layoutMode:C}=$(lk(e=>({doc:e.doc,render:e.render,pendingAuthoredSource:e.pendingAuthoredSource,lifecycleCapability:e.lifecycleCapability,editable:e.editable,readonlyReason:e.readonlyReason,renameActive:e.renameActive,metadataError:e.metadataError,layoutMode:e.layoutMode}))),{rename:w,setRenameActive:T}=$(e=>e.actions),E=(0,W.useRef)(null),D=h?.name??`Untitled template`;(0,W.useEffect)(()=>{if(x&&E.current){E.current.focus();let e=document.createRange();e.selectNodeContents(E.current);let t=window.getSelection();t?.removeAllRanges(),t?.addRange(e)}},[x]);let O=u===!0&&h?.channel===`email`&&g!==null&&_===null,k=C===`compact`||C===`narrow`,A=C===`standard`,j=()=>{O&&h!==null&&g!==null&&(IL(g.html,h.name),d?.())};return(0,Z.jsxs)(`header`,{className:yF(`z-30 flex min-w-0 flex-col border-b border-border bg-background/92 px-3 backdrop-blur-md`,k?`h-[92px]`:`h-12`),children:[(0,Z.jsxs)(`div`,{className:`flex h-12 min-w-0 shrink-0 items-center gap-2`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-1`,children:[e!==void 0&&(0,Z.jsx)(`div`,{className:`mr-1 shrink-0`,children:e}),n!==void 0&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(VI,{title:`Back to templates`,className:`gap-1.5`,onClick:n,testId:`topbar.back`,children:[(0,Z.jsx)(JP,{className:`size-[15px]`}),`Templates`]}),(0,Z.jsx)(`div`,{className:`bg-border mx-1 h-[18px] w-px`})]}),(0,Z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Z.jsx)(`span`,{ref:E,"data-testid":`topbar.name`,contentEditable:y&&f,suppressContentEditableWarning:!0,spellCheck:!1,title:y&&f?`Click to rename`:b??`This template name is fixed.`,className:yF(`min-w-[128px] max-w-[280px] truncate rounded-md border border-transparent px-[7px] py-[3px] text-[13.5px] font-medium outline-none`,`hover:bg-muted focus-visible:bg-background`,bF),onFocus:()=>{y&&f&&T(!0)},onBlur:e=>{y&&f&&(T(!1),w(e.currentTarget.textContent??``))},onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),e.currentTarget.blur()),e.key===`Escape`&&(e.currentTarget.textContent=D,e.currentTarget.blur())},children:D}),S!==null&&(0,Z.jsx)(`span`,{role:`alert`,className:`text-status-error truncate text-[11.5px]`,children:S}),l===void 0?(0,Z.jsx)(`span`,{className:`border-border-subtle bg-surface-inset text-muted-foreground inline-flex items-center rounded-md border px-2 py-0.5 text-[10.5px] font-medium tracking-[0.04em] uppercase`,children:h?.channel??`Template`}):(0,Z.jsx)(`div`,{className:yF(`min-w-0 shrink-0`,k&&`[&_[data-channel-button]]:px-1.5 [&_[data-channel-label]]:hidden`),children:l}),!y&&h!==null&&(0,Z.jsx)(`span`,{title:b??`This template is read-only.`,"data-testid":`topbar.readonly-badge`,className:`border-border-subtle bg-surface-inset text-muted-foreground inline-flex items-center rounded-md border px-2 py-0.5 text-[10.5px] font-medium`,children:`Read-only`}),p!==void 0&&h?.channel===`email`&&(0,Z.jsx)(yR,{source:p,onUseDefault:m})]})]}),(0,Z.jsxs)(`div`,{className:`flex shrink-0 items-center justify-end gap-1`,children:[!k&&r!==void 0&&(0,Z.jsx)(VI,{title:`Undo`,testId:`topbar.undo`,onClick:r,disabled:!a,className:`h-[30px] px-2.5`,children:`Undo`}),!k&&i!==void 0&&(0,Z.jsx)(VI,{title:`Redo`,testId:`topbar.redo`,onClick:i,disabled:!o,className:`h-[30px] px-2.5`,children:`Redo`}),!k&&(0,Z.jsx)(xR,{}),!k&&(0,Z.jsx)(`div`,{className:`bg-border mx-1 h-[18px] w-px`}),!k&&(0,Z.jsxs)(VI,{title:`Preview template`,testId:`topbar.preview`,onClick:s,className:`h-[30px] px-2.5`,children:[(0,Z.jsx)(eF,{className:`size-[15px]`}),A?null:`Preview`]}),u===!0&&!k&&(0,Z.jsxs)(VI,{title:O?`Export rendered HTML`:`Export waits for the latest render`,testId:`topbar.export`,onClick:j,disabled:!O,className:`h-[30px] px-2.5`,children:[(0,Z.jsx)(QP,{className:`size-[15px]`}),A?null:`Export HTML`]}),!k&&t,!k&&y&&v!==void 0&&(0,Z.jsx)(`button`,{type:`button`,onClick:c,"data-testid":`topbar.publish`,title:v.status===`locked`?v.upsell.reason:`Publish and view history`,className:yF(xF,`ml-0.5 h-[30px] px-3`),children:`Publish`})]})]}),k&&(0,Z.jsxs)(`div`,{className:`samva-editor-scroll border-border-subtle flex h-11 min-w-0 items-center gap-1 overflow-x-auto border-t`,children:[t,r!==void 0&&(0,Z.jsx)(VI,{title:`Undo`,testId:`topbar.undo`,onClick:r,disabled:!a,className:`h-10 shrink-0 px-2`,children:`Undo`}),i!==void 0&&(0,Z.jsx)(VI,{title:`Redo`,testId:`topbar.redo`,onClick:i,disabled:!o,className:`h-10 shrink-0 px-2`,children:`Redo`}),(0,Z.jsx)(xR,{}),(0,Z.jsxs)(VI,{title:`Preview template`,testId:`topbar.preview`,onClick:s,className:`h-10 shrink-0 px-2`,children:[(0,Z.jsx)(eF,{className:`size-[15px]`}),`Preview`]}),u===!0&&(0,Z.jsxs)(VI,{title:O?`Export rendered HTML`:`Export waits for the latest render`,testId:`topbar.export`,onClick:j,disabled:!O,className:`h-10 shrink-0 px-2`,children:[(0,Z.jsx)(QP,{className:`size-[15px]`}),`Export`]}),y&&v!==void 0&&(0,Z.jsx)(`button`,{type:`button`,onClick:c,"data-testid":`topbar.publish`,title:v.status===`locked`?v.upsell.reason:`Publish and view history`,className:yF(xF,`h-10 shrink-0 px-2.5`),children:`Publish`})]})]})}var CR=[],wR=e=>e>=1280?`wide`:e>=980?`standard`:e>=720?`compact`:`narrow`;function TR(){let e=$(e=>e.conflict),{reload:t}=$(e=>e.actions);return!$(e=>e.editable)||!e?null:(0,Z.jsxs)(`div`,{className:`border-border bg-surface-elevated text-foreground absolute inset-x-0 top-3 z-30 mx-auto flex w-fit items-center gap-3 rounded-lg border px-3.5 py-2 text-[13px] shadow-[var(--shadow-md)]`,children:[(0,Z.jsx)(`span`,{children:`Document changed elsewhere — your recent edits weren’t saved.`}),(0,Z.jsx)(`button`,{type:`button`,onClick:t,className:`bg-primary text-primary-foreground rounded-md px-2.5 py-1 font-medium transition-opacity hover:opacity-90`,children:`Reload`})]})}function ER(){let e=$(e=>e.storageError),t=$(e=>e.conflict),{retrySave:n}=$(e=>e.actions);return!$(e=>e.editable)||e===null||t?null:(0,Z.jsxs)(`div`,{className:`border-status-warning/45 bg-surface-elevated text-foreground absolute inset-x-0 top-3 z-30 mx-auto flex w-fit items-center gap-3 rounded-lg border px-3.5 py-2 text-[13px] shadow-[var(--shadow-md)]`,children:[(0,Z.jsxs)(`span`,{children:[e,` Your work is kept here; export a copy or retry.`]}),(0,Z.jsx)(`button`,{type:`button`,onClick:n,className:`border-border hover:bg-muted rounded-md border px-2.5 py-1 font-medium transition-colors`,children:`Retry`})]})}function DR(){let e=$(e=>e.doc);return e===null||e.channel===`email`?(0,Z.jsx)(ML,{}):e.channel===`sms`?(0,Z.jsx)($F,{}):(0,Z.jsx)(uI,{})}function OR({height:e=`100dvh`,contributions:t=CR,brand:n,onBack:r,exportable:i,renameEnabled:a,onLockedLifecycle:o}){let s=$(e=>e.leftCollapsed),c=$(e=>e.rightCollapsed),l=$(e=>e.layoutMode),u=$(e=>e.doc?.rev??null),d=$(e=>e.undoHistory.length),f=$(e=>e.redoHistory.length),p=$(e=>e.sourceEditable),m=$(e=>e.doc),h=$(e=>e.render),g=$(e=>e.pendingAuthoredSource),_=$(e=>e.lifecycleBusy),v=$(e=>e.conflict),y=$(e=>e.storageError),b=(0,W.useMemo)(()=>TF(t),[t]),x=b.one(`frame.start`),S=b.one(`statusbar.headline`),C=b.one(`rail.assistant`)!==void 0,{flushSaves:w,beginLifecycle:T,endLifecycle:E,adoptLifecycleSnapshot:D,toggleLeft:O,toggleRight:k,setLayoutMode:A,undo:j,redo:M}=$(e=>e.actions),N=$(e=>e.versionsCapability),P=$(e=>e.telemetry),F=N?.status===`ready`?N.api:void 0,I=(0,W.useMemo)(()=>F===void 0?void 0:e=>F.save(e),[F]),L=(0,W.useMemo)(()=>F===void 0?void 0:()=>F.savedRevision(),[F]),R=()=>P?.({name:`preview`}),ee=()=>P?.({name:`export`}),[z,te]=(0,W.useState)(!1),[ne,re]=(0,W.useState)(!1),[B,ie]=(0,W.useState)(`idle`),[ae,oe]=(0,W.useState)(null),[se,ce]=(0,W.useState)(null),le=GN();(0,W.useEffect)(()=>{if(L===void 0||u===null)return;let e=!0;return L().then(t=>{e&&ce(t===u?t:null)}).catch(()=>{e&&ce(null)}),()=>{e=!1}},[u,L]);let V=(0,W.useRef)(null),H=(0,W.useRef)(()=>{}),ue=(0,W.useRef)(null),de=(0,W.useRef)(null),fe=i===!0&&m?.channel===`email`&&h!==null&&g===null,U=()=>{fe&&m!==null&&h!==null&&(IL(h.html,m.name),ee?.())},pe=()=>{if(I===void 0)return Promise.resolve();if(V.current!==null)return V.current;if(!T())return Promise.resolve();let e=()=>{},t=new Promise(t=>{e=t});return V.current=t,ie(`saving`),le.getState().actions.flushSaves().then(async e=>{let t=le.getState().doc,n=await I(e),r=le.getState().doc;t!==null&&(r?.rev===e||r?.rev===n)&&r.origin.authoredSource===t.origin.authoredSource&&le.getState().actions.adoptLifecycleSnapshot({rev:n,authoredSource:t.origin.authoredSource}),oe(n),ie(`idle`)}).catch(()=>ie(`error`)).finally(()=>{E(),V.current===t&&(V.current=null),e()}),t};(0,W.useEffect)(()=>{H.current=pe});let me=n===void 0||I===void 0?void 0:async()=>{let e=le.getState().lifecycleCapability;if(e?.status!==`ready`)return;let t=await le.getState().actions.flushSaves(),r=await n.readTheme(),i=hR(r);i!==r.theme&&await e.api.updateFile({path:eR,baseRev:t,content:i}),await pe()},he=`idle`;B===`saving`?he=`saving`:B===`error`?he=`error`:u!==null&&(ae===u||se===u)&&g===null&&!v&&y===null&&(he=`saved`);let ge;I!==void 0&&(ge=`Unsaved changes`,he===`saving`?ge=`Saving version…`:he===`saved`?ge=`Saved version`:he===`error`&&(ge=`Couldn’t save version`));let _e={flushSaves:w,beginLifecycle:T,endLifecycle:E,adoptLifecycleSnapshot:D,undo:j,redo:M,canUndo:p&&d>0,canRedo:p&&f>0,preview:()=>{te(!0),R?.()},exportHtml:U,canExport:fe},ve=b.all(`toolbar.leading`).map(e=>(0,Z.jsx)(W.Fragment,{children:e.render()},e.id)),ye=b.all(`toolbar.actions`).map(e=>(0,Z.jsx)(W.Fragment,{children:e.render(_e)},e.id)),be=b.one(`document.switcher`)?.render(_e);(0,W.useEffect)(()=>{if(I===void 0)return;let e=e=>{(e.metaKey||e.ctrlKey)&&e.key.toLowerCase()===`s`&&e.target instanceof HTMLElement&&e.target.closest(`[data-samva-editor-theme]`)!==null&&e.target.closest(`[role="menu"], [role="dialog"], [data-base-ui-portal]`)===null&&(e.preventDefault(),H.current())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[I]),(0,W.useLayoutEffect)(()=>{let e=ue.current;if(e===null||typeof ResizeObserver>`u`)return;let t,n=e=>{let n=wR(e);n!==t&&(t=n,A(n))};n(e.getBoundingClientRect().width);let r=new ResizeObserver(([e])=>{e!==void 0&&n(e.contentRect.width)});return r.observe(e),()=>r.disconnect()},[A]);let xe=(l===`compact`||l===`narrow`)&&(!s||!c);return(0,W.useEffect)(()=>{if(!xe)return;let e=e=>{e.key===`Escape`&&(s||O(),c||k())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[s,xe,c,O,k]),(0,Z.jsx)(DF,{value:b,children:(0,Z.jsx)(jF,{value:{exportHtml:U,canExport:fe,saveVersionStatus:I===void 0?`unavailable`:he},children:(0,Z.jsx)(JL,{container:de,children:(0,Z.jsxs)(`div`,{ref:ue,className:`samva-editor-frame flex`,style:{height:e},children:[x?.render(),(0,Z.jsxs)(`div`,{"data-samva-editor-theme":`host`,"data-layout":l,inert:_,"aria-busy":_,className:`samva-editor-shell grid min-w-0 flex-1 grid-rows-[auto_minmax(0,1fr)_auto] overflow-hidden`,children:[(0,Z.jsx)(SR,{leading:ve.length===0?void 0:ve,extraActions:ye.length===0?void 0:ye,onBack:x===void 0?r:void 0,onPreview:()=>{te(!0),R?.()},onLifecycle:()=>re(!0),onUndo:j,onRedo:M,canUndo:p&&d>0,canRedo:p&&f>0,channelSwitcher:be,exportEnabled:i,renameEnabled:a,onExport:ee,brand:n,onUseDefaultBrand:me}),(0,Z.jsxs)(`div`,{className:`samva-editor-body relative flex min-h-0 min-w-0 overflow-hidden`,children:[xe&&(0,Z.jsx)(`button`,{type:`button`,"aria-label":`Close editor panel`,className:`bg-background/45 absolute inset-0 z-30 cursor-default backdrop-blur-[1px]`,onClick:()=>{s||O(),c||k()}}),s&&!C&&(0,Z.jsxs)(XT,{children:[(0,Z.jsx)(iE,{render:(0,Z.jsx)(`button`,{type:`button`,"aria-label":`Show layers and blocks`,"data-testid":`shell.show-left`,onClick:O,className:`border-border bg-background/92 text-muted-foreground hover:bg-muted hover:text-foreground absolute top-3 left-3 z-20 rounded-md border p-1.5 shadow-[var(--shadow-md)] backdrop-blur-md transition-colors`}),children:(0,Z.jsx)(dF,{className:`size-[15px]`})}),(0,Z.jsx)(cE,{container:de,children:(0,Z.jsx)(jE,{side:`right`,sideOffset:5,className:`z-[200]`,children:(0,Z.jsx)(ME,{role:`tooltip`,className:`bg-foreground text-background rounded-md px-2 py-1 text-[11px] shadow-[var(--shadow-md)]`,children:`Show layers and blocks`})})})]}),c&&!C&&(0,Z.jsxs)(XT,{children:[(0,Z.jsx)(iE,{render:(0,Z.jsx)(`button`,{type:`button`,"aria-label":`Show inspector`,"data-testid":`shell.show-right`,onClick:k,className:`border-border bg-background/92 text-muted-foreground hover:bg-muted hover:text-foreground absolute top-3 right-3 z-20 rounded-md border p-1.5 shadow-[var(--shadow-md)] backdrop-blur-md transition-colors`}),children:(0,Z.jsx)(pF,{className:`size-[15px]`})}),(0,Z.jsx)(cE,{container:de,children:(0,Z.jsx)(jE,{side:`left`,sideOffset:5,className:`z-[200]`,children:(0,Z.jsx)(ME,{role:`tooltip`,className:`bg-foreground text-background rounded-md px-2 py-1 text-[11px] shadow-[var(--shadow-md)]`,children:`Show inspector`})})})]}),(0,Z.jsx)(DR,{}),(0,Z.jsx)(TR,{}),(0,Z.jsx)(ER,{})]}),(0,Z.jsx)($L,{saveVersionStatus:S!==void 0&&!S.saveVersion?void 0:ge,saveVersionState:I===void 0?void 0:he,onSaveVersion:S!==void 0&&!S.saveVersion||I===void 0?void 0:pe,saveVersionBusy:he===`saving`,saveVersionBlocked:_,guestHeadline:S?.headline})]}),(0,Z.jsx)(ZL,{open:z,onClose:()=>te(!1)}),(0,Z.jsx)(KL,{open:ne,onClose:()=>re(!1),onLockedAction:o}),(0,Z.jsx)(`div`,{ref:de,"data-samva-editor-portal-root":!0,className:`samva-editor-shell`})]})})})})}function kR({name:e,className:t}){let n=HN()[e];return(0,Z.jsx)(n,{...t===void 0?{}:{className:t}})}function AR({label:e,icon:t,title:n,upsell:r,onAction:i,testId:a}){let[o,s]=(0,W.useState)(!1),c=IF();return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(VI,{title:e,help:r.reason,testId:a,onClick:()=>s(!0),className:`h-[30px] px-2.5`,children:[t,e]}),(0,Z.jsx)(fM,{open:o,onOpenChange:s,swipeDirection:`right`,children:(0,Z.jsxs)(lM,{container:c,children:[(0,Z.jsx)(zj,{className:`fixed inset-0 z-[110] bg-[var(--editor-backdrop,rgb(0_0_0/0.28))]`}),(0,Z.jsx)(QM,{className:`pointer-events-none fixed inset-0 z-[111] flex justify-end`,children:(0,Z.jsxs)(cM,{className:`samva-editor-shell border-border bg-background pointer-events-auto flex h-full w-[420px] max-w-[92vw] flex-col border-l shadow-[var(--shadow-floating)] outline-none`,children:[(0,Z.jsx)(Hj,{className:`sr-only`,children:r.reason}),(0,Z.jsxs)(`div`,{className:`flex items-center justify-between px-5 pt-4 pb-3`,children:[(0,Z.jsx)(FM,{className:`text-[15px] font-semibold`,children:n}),(0,Z.jsx)(Bj,{type:`button`,"aria-label":`Close ${e.toLowerCase()} panel`,"data-testid":a===void 0?void 0:`${a}.close`,className:`text-muted-foreground hover:bg-muted hover:text-foreground rounded-md p-1.5`,children:(0,Z.jsx)(vF,{className:`size-[15px]`})})]}),(0,Z.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col items-start gap-4 px-5 pt-6 pb-8`,children:[(0,Z.jsx)(`div`,{className:`border-border-subtle bg-surface-inset text-muted-foreground rounded-lg border px-3.5 py-3 text-[13px]`,children:r.reason}),(0,Z.jsx)(`a`,{href:r.cta.href,onClick:e=>{i!==void 0&&(e.preventDefault(),i())},"data-testid":a===void 0?void 0:`${a}.cta`,className:`bg-primary text-primary-foreground inline-flex h-9 items-center rounded-[7px] px-4 font-medium transition-opacity hover:opacity-90`,children:r.cta.label})]})]})})]})})]})}var jR=`2026-10-03.1`,MR=class extends Hn(`DocumentConflict`){},NR=class extends Hn(`DocumentUnavailable`){};Hn(`LifecycleUnavailable`),Hn(`ProjectFileExists`);var PR=(e,t)=>{let n=new URL(`api/${e}`,window.location.href);for(let[e,r]of Object.entries(t))n.searchParams.set(e,r);return n.toString()},FR=e=>e.fixture,IR=(e,t,n,r)=>({rev:t,origin:n,...r===void 0?{}:{authoredSource:r},...e}),LR=(e,t,n)=>ca(function*(){let r=yield*Fa(),i=new EventSource(PR(`events`,{id:e,client:t}));yield*ha(()=>aa(()=>i.close())),i.addEventListener(`samva:change`,t=>{let i=JSON.parse(t.data);i.id===e&&(n.rev=i.rev,n.fixture=FR(i),i.authoredSource!==void 0&&(n.authoredSource=i.authoredSource),Ia(r,IR(i,i.rev,i.origin,i.authoredSource)))});let a=()=>fetch(PR(`document`,{id:e,client:t})).then(e=>e.ok?e.json():void 0).then(e=>{if(e===void 0)return;let t=e.origin.authoredSource;(e.rev!==n.rev||t!==n.authoredSource||FR(e)!==n.fixture)&&(n.rev=e.rev,n.authoredSource=t,n.fixture=FR(e),Ia(r,IR(e,e.rev,`external`,t)))}).catch(()=>{}),o=!1,s;i.addEventListener(`open`,()=>{if(!o){o=!0,s?.(oa);return}a()}),i.addEventListener(`error`,()=>{!o&&i.readyState!==EventSource.OPEN&&s?.(new NR({reason:`editor event stream failed to open`}))}),yield*sa(e=>{if(i.readyState===EventSource.OPEN)return o=!0,e(oa);s=e});let c=yield*na({try:()=>fetch(PR(`document`,{id:e,client:t})),catch:e=>new NR({reason:String(e)})});if(!c.ok)return yield*new NR({reason:`open failed (${c.status})`});let l=yield*na({try:()=>c.json(),catch:e=>new NR({reason:String(e)})});return n.rev=l.rev,n.authoredSource=l.origin.authoredSource,n.fixture=FR(l),{initial:l,changes:oo(r)}}),RR=(e,t)=>({view:n=>ca(function*(){let r=yield*na({try:()=>fetch(PR(`fixture`,{id:e,client:t}),{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({fixture:n})}),catch:e=>new NR({reason:String(e)})});if(r.ok)return;let i=`view fixture failed (${r.status})`;return yield*new NR({reason:yield*na({try:()=>r.json(),catch:()=>new NR({reason:i})}).pipe(fa(e=>e.error??i))})})}),zR=(e,t)=>({save:n=>ca(function*(){if(n.kind!==`authoredSource`)return yield*new NR({reason:`Local metadata is declared in source.`});let r=yield*na({try:()=>fetch(PR(`document`,{id:e,client:t}),{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify(n)}),catch:e=>new NR({reason:String(e)})}),i=yield*na({try:()=>r.json(),catch:e=>new NR({reason:String(e)})});return r.status===409?yield*new MR({expectedRev:n.baseRev,actualRev:i.actualRev??n.baseRev}):!r.ok||i.rev===void 0?yield*new NR({reason:i.error??`Local source save failed.`}):{rev:i.rev}})}),BR=({id:e})=>{let t=crypto.randomUUID();return{contractVersion:jR,access:`editable`,sourceAccess:`editable`,metadataAccess:`readonly`,writer:zR(e,t),document:{open:LR(e,t,{rev:``})},fixtures:{status:`ready`,api:RR(e,t)}}},VR=e=>new URL(`api/${e}`,window.location.href).toString(),HR=async e=>{let t=await fetch(VR(e));if(!t.ok)throw Error(`${e} failed (${t.status})`);return t.json()},UR=()=>{let[e,t]=(0,W.useState)(()=>typeof window<`u`&&window.matchMedia(`(prefers-color-scheme: dark)`).matches);return(0,W.useEffect)(()=>{document.documentElement.classList.toggle(`dark`,e)},[e]),()=>t(e=>!e)};function WR({onBack:e,onToggleTheme:t}){return(0,Z.jsxs)(`nav`,{"aria-label":`Samva editor`,className:`border-border bg-background z-30 flex w-12 flex-none flex-col items-center gap-1 border-r py-3`,children:[(0,Z.jsx)(`span`,{className:`bg-primary text-primary-foreground mb-2 grid size-7 place-items-center rounded-lg text-[13px] font-bold`,children:`S`}),e?(0,Z.jsx)(`button`,{type:`button`,title:`Back to templates`,onClick:e,className:`text-muted-foreground hover:bg-muted hover:text-foreground grid size-8 place-items-center rounded-lg transition-colors`,children:(0,Z.jsx)(kR,{name:`arrowLeft`,className:`size-[16px]`})}):null,(0,Z.jsx)(`div`,{className:`flex-1`}),(0,Z.jsx)(`button`,{type:`button`,title:`Toggle theme`,onClick:t,className:`text-muted-foreground hover:bg-muted hover:text-foreground grid size-8 place-items-center rounded-lg transition-colors dark:hidden`,children:(0,Z.jsx)(kR,{name:`moon`,className:`size-[16px]`})}),(0,Z.jsx)(`button`,{type:`button`,title:`Toggle theme`,onClick:t,className:`text-muted-foreground hover:bg-muted hover:text-foreground hidden size-8 place-items-center rounded-lg transition-colors dark:grid`,children:(0,Z.jsx)(kR,{name:`sun`,className:`size-[16px]`})})]})}var GR={authenticatedLabel:`Authenticated`,authenticatedTitle:`The host provides authenticated capabilities.`};function KR({template:e,authenticated:t,editorAffordances:n,onBack:r,onToggleTheme:i}){let a=n.publishingInstructions,o=(0,W.useMemo)(()=>fo(BR({id:e.id})),[e.id]);return(0,Z.jsx)(VP,{host:o,children:(0,Z.jsx)(`div`,{className:`relative h-dvh`,children:(0,Z.jsx)(OR,{contributions:[{slot:`frame.start`,id:`project-rail`,render:()=>(0,Z.jsx)(WR,{onBack:r,onToggleTheme:i})},...t&&a!==void 0?[{slot:`toolbar.actions`,id:`send`,render:()=>(0,Z.jsx)(AR,{label:`Send`,title:`Send “${e.name}”`,upsell:a,testId:`vite-editor.send`})}]:[]],onBack:r,renameEnabled:!1})})},`${e.id}:${e.channel}`)}var qR={email:{icon:`envelope`,label:`Email`,className:`bg-sel-soft text-accent-email`},sms:{icon:`message`,label:`SMS`,className:`bg-muted text-primary`},whatsapp:{icon:`chatBubble`,label:`WhatsApp`,className:`bg-status-success/10 text-status-success`}};function JR({catalog:e,authenticated:t,editorAffordances:n,onOpen:r,onToggleTheme:i}){return(0,Z.jsxs)(`div`,{className:`flex h-dvh`,children:[(0,Z.jsx)(WR,{onToggleTheme:i}),(0,Z.jsx)(`div`,{className:`bg-surface-inset min-w-0 flex-1 overflow-y-auto`,children:(0,Z.jsxs)(`div`,{className:`mx-auto max-w-[720px] px-6 py-16`,children:[(0,Z.jsxs)(`div`,{className:`flex items-baseline justify-between`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h1`,{className:`text-foreground text-lg font-semibold`,children:`Templates`}),(0,Z.jsx)(`p`,{className:`text-muted-foreground mt-1 text-[13px]`,children:`Preview your templates and fixtures. Source edits save to your project.`})]}),(0,Z.jsx)(`span`,{className:t?`bg-status-success/12 text-status-success rounded-full px-2.5 py-1 text-[11px] font-medium`:`bg-muted text-muted-foreground rounded-full px-2.5 py-1 text-[11px] font-medium`,title:t?n.authenticatedTitle:`Local editing only.`,children:t?n.authenticatedLabel:`Local only`})]}),e.diagnostics.length>0?(0,Z.jsx)(`section`,{"aria-label":`Catalog diagnostics`,className:`border-border bg-surface-elevated mt-6 overflow-hidden rounded-xl border`,children:e.diagnostics.map((e,t)=>(0,Z.jsxs)(`div`,{className:`px-4 py-3 text-[12px]`+(t>0?` border-border-subtle border-t`:``),children:[(0,Z.jsxs)(`p`,{className:e.severity===`error`?`text-status-error`:`text-status-warning`,children:[e.file,` · `,e.code]}),(0,Z.jsx)(`p`,{className:`text-muted-foreground mt-0.5`,children:e.message})]},`${e.file}:${e.code}:${t}`))}):null,(0,Z.jsxs)(`ul`,{className:`border-border bg-surface-elevated mt-8 overflow-hidden rounded-xl border shadow-md`,children:[e.templates.length===0?(0,Z.jsxs)(`li`,{className:`text-muted-foreground px-4 py-10 text-center text-[13px]`,children:[`No valid templates found. Add a `,(0,Z.jsx)(`code`,{className:`text-foreground`,children:`.tsx`}),` file with a Samva template as its default export.`]}):null,e.templates.map((e,t)=>{let n=qR[e.channel];return(0,Z.jsx)(`li`,{children:(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>r(e),"data-testid":`template-card.${e.id}`,className:`hover:bg-muted flex w-full items-center gap-3 px-4 py-3 text-left transition-colors`+(t>0?` border-border-subtle border-t`:``),children:[(0,Z.jsx)(`span`,{className:`grid size-8 flex-none place-items-center rounded-lg ${n.className}`,children:(0,Z.jsx)(kR,{name:n.icon,className:`size-[16px]`})}),(0,Z.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,Z.jsx)(`span`,{className:`text-foreground block truncate text-[13px] font-medium`,children:e.name}),(0,Z.jsx)(`span`,{className:`text-muted-foreground block truncate text-[12px]`,children:e.id})]}),(0,Z.jsxs)(`span`,{className:`text-muted-foreground text-right text-[11px]`,children:[(0,Z.jsx)(`span`,{className:`block`,children:n.label}),(0,Z.jsx)(`span`,{className:`block`,children:`Editable source`})]})]})},e.id)})]})]})})]})}function YR(){let e=UR(),[t,n]=(0,W.useState)(!1),[r,i]=(0,W.useState)(GR),[a,o]=(0,W.useState)(null),[s,c]=(0,W.useState)(null),[l,u]=(0,W.useState)(null);(0,W.useEffect)(()=>{let e=!0,t=()=>HR(`templates`).then(t=>{e&&(o(t),c(null))});Promise.all([HR(`capabilities`).then(t=>{e&&(n(!!t.authenticated),i(t.editorAffordances??GR))}),t()]).catch(t=>{e&&c(String(t))});let r=new EventSource(VR(`catalog-events`));return r.addEventListener(`samva:catalog`,()=>{t().catch(t=>{e&&c(String(t))})}),()=>{e=!1,r.close()}},[]);let d=a?.templates.find(e=>e.id===l)??null;return l!==null&&a!==null&&d===null&&u(null),s===null?a===null?(0,Z.jsx)(`div`,{className:`text-muted-foreground grid h-dvh place-items-center text-[13px]`,children:`Loading templates…`}):d===null?(0,Z.jsx)(JR,{catalog:a,authenticated:t,editorAffordances:r,onOpen:e=>u(e.id),onToggleTheme:e}):(0,Z.jsx)(KR,{template:d,authenticated:t,editorAffordances:r,onBack:()=>u(null),onToggleTheme:e}):(0,Z.jsxs)(`div`,{className:`text-status-error grid h-dvh place-items-center px-6 text-center text-[13px]`,children:[`Couldn’t reach the Samva editor dev server: `,s]})}(0,co.createRoot)(document.getElementById(`root`)).render((0,Z.jsx)(W.StrictMode,{children:(0,Z.jsx)(YR,{})}));
37
+ `}${t}`},SR=(e,t)=>{if(e===void 0)return{kind:`pending`};let n=t?.find(({isDefault:e})=>e)??null;if(e===null)return{kind:`none`,defaultBrand:n};if(t===null)return{kind:`pending`};let r=e.slug===null?n:t.find(({slug:t})=>t===e.slug);return r==null?{kind:`missing`,slug:e.slug}:{kind:`brand`,brand:r}},CR=wF(`border-border-subtle bg-surface-inset text-muted-foreground inline-flex h-[22px] min-w-0 max-w-[180px] items-center gap-1 rounded-md border px-2 text-[11.5px] font-medium outline-none`,TF),wR=e=>e.button===0&&!e.metaKey&&!e.ctrlKey&&!e.shiftKey&&!e.altKey;function TR({source:e,onUseDefault:t}){let n=$(e=>e.doc?.rev??null),r=$(e=>e.editable&&e.lifecycleCapability?.status===`ready`),i=(0,W.useRef)(e.readTheme);(0,W.useEffect)(()=>{i.current=e.readTheme});let[a,o]=(0,W.useState)(void 0),[s,c]=(0,W.useState)(`idle`);(0,W.useEffect)(()=>{if(n===null)return;let e=!1;return i.current().then(t=>{e||o(bR(t.theme??``))},()=>void 0),()=>{e=!0}},[n]);let l=SR(a,e.brands);if(l.kind===`pending`)return e.status??null;let u;if(l.kind===`brand`){let{name:t,slug:n}=l.brand,r=e.brandLink(n);u=(0,Z.jsxs)(`a`,{href:r.href,"aria-label":`Brand: ${t}`,title:`Open ${t}`,"data-testid":`topbar.brand`,onClick:e=>{r.navigate!==void 0&&wR(e)&&(e.preventDefault(),r.navigate())},className:wF(CR,`hover:bg-muted hover:text-foreground`),children:[(0,Z.jsx)(mF,{className:`size-3.5 shrink-0`}),(0,Z.jsx)(`span`,{className:`truncate`,children:t})]})}else if(l.kind===`missing`)u=(0,Z.jsxs)(`span`,{"data-testid":`topbar.brand-missing`,title:l.slug===null?`This organization has no default brand.`:`This organization has no brand “${l.slug}”.`,className:wF(CR,`text-status-warning`),children:[(0,Z.jsx)(mF,{className:`size-3.5 shrink-0`}),(0,Z.jsx)(`span`,{className:`truncate`,children:`Brand not found`})]});else{let e=l.defaultBrand,n=r&&t!==void 0&&e!==null?()=>{c(`busy`),t().then(()=>c(`idle`),()=>c(`error`))}:void 0;u=(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`span`,{"data-testid":`topbar.brand-none`,className:CR,children:[(0,Z.jsx)(mF,{className:`size-3.5 shrink-0`}),(0,Z.jsx)(`span`,{className:`truncate`,children:`No brand`})]}),n!==void 0&&e!==null&&(0,Z.jsx)(`button`,{type:`button`,"data-testid":`topbar.brand-use`,onClick:n,disabled:s===`busy`,"aria-busy":s===`busy`,title:`Theme this template with ${e.name}`,className:wF(`text-foreground hover:bg-muted inline-flex h-[22px] max-w-[180px] items-center rounded-md px-1.5 text-[11.5px] font-medium outline-none disabled:opacity-50`,`focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`),children:(0,Z.jsxs)(`span`,{className:`truncate`,children:[`Use `,e.name]})}),s===`error`&&e!==null&&(0,Z.jsxs)(`span`,{role:`alert`,className:`text-status-error truncate text-[11.5px]`,children:[`Couldn’t use `,e.name]})]})}return(0,Z.jsxs)(`div`,{className:`flex min-w-0 shrink items-center gap-1`,children:[u,e.status]})}var ER=[];function DR(){let{doc:e,fixtures:t,fixture:n,busy:r,available:i}=$(mk(e=>({doc:e.doc,fixtures:e.doc?.fixtures??ER,fixture:e.doc?.fixture??null,busy:e.fixtureBusy,available:e.fixtureCapability?.status===`ready`}))),{viewFixture:a}=$(e=>e.actions);if(!i)return null;let o=n!==null&&t.length>=2;return e!==null&&!o?null:(0,Z.jsx)(`div`,{className:`w-[116px] shrink-0`,"data-testid":`topbar.fixture-slot`,children:o&&(0,Z.jsxs)(`label`,{className:`text-muted-foreground flex items-center text-[12px]`,children:[(0,Z.jsx)(`span`,{className:`sr-only`,children:`Fixture`}),(0,Z.jsx)(`select`,{"data-testid":`topbar.fixture`,value:n,disabled:r,onChange:e=>a(e.target.value),title:`Render another declared fixture`,className:wF(`border-border bg-background text-foreground h-[30px] w-full rounded-[7px] border px-2 text-[12px] outline-none`,`focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`),children:t.map(e=>(0,Z.jsx)(`option`,{value:e,children:e},e))})]})})}function OR({leading:e,extraActions:t,onBack:n,onUndo:r,onRedo:i,canUndo:a=!1,canRedo:o=!1,onPreview:s,onLifecycle:c,channelSwitcher:l,exportEnabled:u,onExport:d,renameEnabled:f=!0,brand:p,onUseDefaultBrand:m}){let{doc:h,render:g,pendingAuthoredSource:_,lifecycleCapability:v,editable:y,readonlyReason:b,renameActive:x,metadataError:S,layoutMode:C}=$(mk(e=>({doc:e.doc,render:e.render,pendingAuthoredSource:e.pendingAuthoredSource,lifecycleCapability:e.lifecycleCapability,editable:e.editable,readonlyReason:e.readonlyReason,renameActive:e.renameActive,metadataError:e.metadataError,layoutMode:e.layoutMode}))),{rename:w,setRenameActive:T}=$(e=>e.actions),E=(0,W.useRef)(null),D=h?.name??`Untitled template`;(0,W.useEffect)(()=>{if(x&&E.current){E.current.focus();let e=document.createRange();e.selectNodeContents(E.current);let t=window.getSelection();t?.removeAllRanges(),t?.addRange(e)}},[x]);let O=u===!0&&h?.channel===`email`&&g!==null&&_===null,k=C===`compact`||C===`narrow`,A=C===`standard`,j=()=>{O&&h!==null&&g!==null&&(VL(g.html,h.name),d?.())};return(0,Z.jsxs)(`header`,{className:wF(`z-30 flex min-w-0 flex-col border-b border-border bg-background/92 px-3 backdrop-blur-md`,k?`h-[92px]`:`h-12`),children:[(0,Z.jsxs)(`div`,{className:`flex h-12 min-w-0 shrink-0 items-center gap-2`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-1`,children:[e!==void 0&&(0,Z.jsx)(`div`,{className:`mr-1 shrink-0`,children:e}),n!==void 0&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(KI,{title:`Back to templates`,className:`gap-1.5`,onClick:n,testId:`topbar.back`,children:[(0,Z.jsx)($P,{className:`size-[15px]`}),`Templates`]}),(0,Z.jsx)(`div`,{className:`bg-border mx-1 h-[18px] w-px`})]}),(0,Z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Z.jsx)(`span`,{ref:E,"data-testid":`topbar.name`,contentEditable:y&&f,suppressContentEditableWarning:!0,spellCheck:!1,title:y&&f?`Click to rename`:b??`This template name is fixed.`,className:wF(`min-w-[128px] max-w-[280px] truncate rounded-md border border-transparent px-[7px] py-[3px] text-[13.5px] font-medium outline-none`,`hover:bg-muted focus-visible:bg-background`,TF),onFocus:()=>{y&&f&&T(!0)},onBlur:e=>{y&&f&&(T(!1),w(e.currentTarget.textContent??``))},onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),e.currentTarget.blur()),e.key===`Escape`&&(e.currentTarget.textContent=D,e.currentTarget.blur())},children:D}),S!==null&&(0,Z.jsx)(`span`,{role:`alert`,className:`text-status-error truncate text-[11.5px]`,children:S}),l===void 0?(0,Z.jsx)(`span`,{className:`border-border-subtle bg-surface-inset text-muted-foreground inline-flex items-center rounded-md border px-2 py-0.5 text-[10.5px] font-medium tracking-[0.04em] uppercase`,children:h?.channel??`Template`}):(0,Z.jsx)(`div`,{className:wF(`min-w-0 shrink-0`,k&&`[&_[data-channel-button]]:px-1.5 [&_[data-channel-label]]:hidden`),children:l}),!y&&h!==null&&(0,Z.jsx)(`span`,{title:b??`This template is read-only.`,"data-testid":`topbar.readonly-badge`,className:`border-border-subtle bg-surface-inset text-muted-foreground inline-flex items-center rounded-md border px-2 py-0.5 text-[10.5px] font-medium`,children:`Read-only`}),p!==void 0&&h?.channel===`email`&&(0,Z.jsx)(TR,{source:p,onUseDefault:m})]})]}),(0,Z.jsxs)(`div`,{className:`flex shrink-0 items-center justify-end gap-1`,children:[!k&&r!==void 0&&(0,Z.jsx)(KI,{title:`Undo`,testId:`topbar.undo`,onClick:r,disabled:!a,className:`h-[30px] px-2.5`,children:`Undo`}),!k&&i!==void 0&&(0,Z.jsx)(KI,{title:`Redo`,testId:`topbar.redo`,onClick:i,disabled:!o,className:`h-[30px] px-2.5`,children:`Redo`}),!k&&(0,Z.jsx)(DR,{}),!k&&(0,Z.jsx)(`div`,{className:`bg-border mx-1 h-[18px] w-px`}),!k&&(0,Z.jsxs)(KI,{title:`Preview template`,testId:`topbar.preview`,onClick:s,className:`h-[30px] px-2.5`,children:[(0,Z.jsx)(aF,{className:`size-[15px]`}),A?null:`Preview`]}),u===!0&&!k&&(0,Z.jsxs)(KI,{title:O?`Export rendered HTML`:`Export waits for the latest render`,testId:`topbar.export`,onClick:j,disabled:!O,className:`h-[30px] px-2.5`,children:[(0,Z.jsx)(rF,{className:`size-[15px]`}),A?null:`Export HTML`]}),!k&&t,!k&&y&&v!==void 0&&(0,Z.jsx)(`button`,{type:`button`,onClick:c,"data-testid":`topbar.publish`,title:v.status===`locked`?v.upsell.reason:`Publish and view history`,className:wF(EF,`ml-0.5 h-[30px] px-3`),children:`Publish`})]})]}),k&&(0,Z.jsxs)(`div`,{className:`samva-editor-scroll border-border-subtle flex h-11 min-w-0 items-center gap-1 overflow-x-auto border-t`,children:[t,r!==void 0&&(0,Z.jsx)(KI,{title:`Undo`,testId:`topbar.undo`,onClick:r,disabled:!a,className:`h-10 shrink-0 px-2`,children:`Undo`}),i!==void 0&&(0,Z.jsx)(KI,{title:`Redo`,testId:`topbar.redo`,onClick:i,disabled:!o,className:`h-10 shrink-0 px-2`,children:`Redo`}),(0,Z.jsx)(DR,{}),(0,Z.jsxs)(KI,{title:`Preview template`,testId:`topbar.preview`,onClick:s,className:`h-10 shrink-0 px-2`,children:[(0,Z.jsx)(aF,{className:`size-[15px]`}),`Preview`]}),u===!0&&(0,Z.jsxs)(KI,{title:O?`Export rendered HTML`:`Export waits for the latest render`,testId:`topbar.export`,onClick:j,disabled:!O,className:`h-10 shrink-0 px-2`,children:[(0,Z.jsx)(rF,{className:`size-[15px]`}),`Export`]}),y&&v!==void 0&&(0,Z.jsx)(`button`,{type:`button`,onClick:c,"data-testid":`topbar.publish`,title:v.status===`locked`?v.upsell.reason:`Publish and view history`,className:wF(EF,`h-10 shrink-0 px-2.5`),children:`Publish`})]})]})}var kR=[],AR=e=>e>=1280?`wide`:e>=980?`standard`:e>=720?`compact`:`narrow`;function jR(){let e=$(e=>e.conflict),{reload:t}=$(e=>e.actions);return!$(e=>e.editable)||!e?null:(0,Z.jsxs)(`div`,{className:`border-border bg-surface-elevated text-foreground absolute inset-x-0 top-3 z-30 mx-auto flex w-fit items-center gap-3 rounded-lg border px-3.5 py-2 text-[13px] shadow-[var(--shadow-md)]`,children:[(0,Z.jsx)(`span`,{children:`Document changed elsewhere — your recent edits weren’t saved.`}),(0,Z.jsx)(`button`,{type:`button`,onClick:t,className:`bg-primary text-primary-foreground rounded-md px-2.5 py-1 font-medium transition-opacity hover:opacity-90`,children:`Reload`})]})}function MR(){let e=$(e=>e.storageError),t=$(e=>e.conflict),{retrySave:n}=$(e=>e.actions);return!$(e=>e.editable)||e===null||t?null:(0,Z.jsxs)(`div`,{className:`border-status-warning/45 bg-surface-elevated text-foreground absolute inset-x-0 top-3 z-30 mx-auto flex w-fit items-center gap-3 rounded-lg border px-3.5 py-2 text-[13px] shadow-[var(--shadow-md)]`,children:[(0,Z.jsxs)(`span`,{children:[e,` Your work is kept here; export a copy or retry.`]}),(0,Z.jsx)(`button`,{type:`button`,onClick:n,className:`border-border hover:bg-muted rounded-md border px-2.5 py-1 font-medium transition-colors`,children:`Retry`})]})}function NR(){let e=$(e=>e.doc);return e===null||e.channel===`email`?(0,Z.jsx)(LL,{}):e.channel===`sms`?(0,Z.jsx)(iI,{}):(0,Z.jsx)(hI,{})}function PR({height:e=`100dvh`,contributions:t=kR,brand:n,onBack:r,exportable:i,renameEnabled:a,onLockedLifecycle:o}){let s=$(e=>e.leftCollapsed),c=$(e=>e.rightCollapsed),l=$(e=>e.layoutMode),u=$(e=>e.doc?.rev??null),d=$(e=>e.undoHistory.length),f=$(e=>e.redoHistory.length),p=$(e=>e.sourceEditable),m=$(e=>e.doc),h=$(e=>e.render),g=$(e=>e.pendingAuthoredSource),_=$(e=>e.lifecycleBusy),v=$(e=>e.conflict),y=$(e=>e.storageError),b=(0,W.useMemo)(()=>AF(t),[t]),x=b.one(`frame.start`),S=b.one(`statusbar.headline`),C=b.one(`rail.assistant`)!==void 0,{flushSaves:w,beginLifecycle:T,endLifecycle:E,adoptLifecycleSnapshot:D,toggleLeft:O,toggleRight:k,setLayoutMode:A,undo:j,redo:M}=$(e=>e.actions),N=$(e=>e.versionsCapability),P=$(e=>e.telemetry),F=N?.status===`ready`?N.api:void 0,I=(0,W.useMemo)(()=>F===void 0?void 0:e=>F.save(e),[F]),L=(0,W.useMemo)(()=>F===void 0?void 0:()=>F.savedRevision(),[F]),R=()=>P?.({name:`preview`}),ee=()=>P?.({name:`export`}),[z,te]=(0,W.useState)(!1),[ne,re]=(0,W.useState)(!1),[B,ie]=(0,W.useState)(`idle`),[ae,oe]=(0,W.useState)(null),[se,ce]=(0,W.useState)(null),le=XN();(0,W.useEffect)(()=>{if(L===void 0||u===null)return;let e=!0;return L().then(t=>{e&&ce(t===u?t:null)}).catch(()=>{e&&ce(null)}),()=>{e=!1}},[u,L]);let V=(0,W.useRef)(null),H=(0,W.useRef)(()=>{}),ue=(0,W.useRef)(null),de=(0,W.useRef)(null),fe=i===!0&&m?.channel===`email`&&h!==null&&g===null,U=()=>{fe&&m!==null&&h!==null&&(VL(h.html,m.name),ee?.())},pe=()=>{if(I===void 0)return Promise.resolve();if(V.current!==null)return V.current;if(!T())return Promise.resolve();let e=()=>{},t=new Promise(t=>{e=t});return V.current=t,ie(`saving`),le.getState().actions.flushSaves().then(async e=>{let t=le.getState().doc,n=await I(e),r=le.getState().doc;t!==null&&(r?.rev===e||r?.rev===n)&&r.origin.authoredSource===t.origin.authoredSource&&le.getState().actions.adoptLifecycleSnapshot({rev:n,authoredSource:t.origin.authoredSource}),oe(n),ie(`idle`)}).catch(()=>ie(`error`)).finally(()=>{E(),V.current===t&&(V.current=null),e()}),t};(0,W.useEffect)(()=>{H.current=pe});let me=n===void 0||I===void 0?void 0:async()=>{let e=le.getState().lifecycleCapability;if(e?.status!==`ready`)return;let t=await le.getState().actions.flushSaves(),r=await n.readTheme(),i=xR(r);i!==r.theme&&await e.api.updateFile({path:oR,baseRev:t,content:i}),await pe()},he=`idle`;B===`saving`?he=`saving`:B===`error`?he=`error`:u!==null&&(ae===u||se===u)&&g===null&&!v&&y===null&&(he=`saved`);let ge;I!==void 0&&(ge=`Unsaved changes`,he===`saving`?ge=`Saving version…`:he===`saved`?ge=`Saved version`:he===`error`&&(ge=`Couldn’t save version`));let _e={flushSaves:w,beginLifecycle:T,endLifecycle:E,adoptLifecycleSnapshot:D,undo:j,redo:M,canUndo:p&&d>0,canRedo:p&&f>0,preview:()=>{te(!0),R?.()},exportHtml:U,canExport:fe},ve=b.all(`toolbar.leading`).map(e=>(0,Z.jsx)(W.Fragment,{children:e.render()},e.id)),ye=b.all(`toolbar.actions`).map(e=>(0,Z.jsx)(W.Fragment,{children:e.render(_e)},e.id)),be=b.one(`document.switcher`)?.render(_e);(0,W.useEffect)(()=>{if(I===void 0)return;let e=e=>{(e.metaKey||e.ctrlKey)&&e.key.toLowerCase()===`s`&&e.target instanceof HTMLElement&&e.target.closest(`[data-samva-editor-theme]`)!==null&&e.target.closest(`[role="menu"], [role="dialog"], [data-base-ui-portal]`)===null&&(e.preventDefault(),H.current())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[I]),(0,W.useLayoutEffect)(()=>{let e=ue.current;if(e===null||typeof ResizeObserver>`u`)return;let t,n=e=>{let n=AR(e);n!==t&&(t=n,A(n))};n(e.getBoundingClientRect().width);let r=new ResizeObserver(([e])=>{e!==void 0&&n(e.contentRect.width)});return r.observe(e),()=>r.disconnect()},[A]);let xe=(l===`compact`||l===`narrow`)&&(!s||!c);return(0,W.useEffect)(()=>{if(!xe)return;let e=e=>{e.key===`Escape`&&(s||O(),c||k())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[s,xe,c,O,k]),(0,Z.jsx)(MF,{value:b,children:(0,Z.jsx)(IF,{value:{exportHtml:U,canExport:fe,saveVersionStatus:I===void 0?`unavailable`:he},children:(0,Z.jsx)($L,{container:de,children:(0,Z.jsxs)(`div`,{ref:ue,className:`samva-editor-frame flex`,style:{height:e},children:[x?.render(),(0,Z.jsxs)(`div`,{"data-samva-editor-theme":`host`,"data-layout":l,inert:_,"aria-busy":_,className:`samva-editor-shell grid min-w-0 flex-1 grid-rows-[auto_minmax(0,1fr)_auto] overflow-hidden`,children:[(0,Z.jsx)(OR,{leading:ve.length===0?void 0:ve,extraActions:ye.length===0?void 0:ye,onBack:x===void 0?r:void 0,onPreview:()=>{te(!0),R?.()},onLifecycle:()=>re(!0),onUndo:j,onRedo:M,canUndo:p&&d>0,canRedo:p&&f>0,channelSwitcher:be,exportEnabled:i,renameEnabled:a,onExport:ee,brand:n,onUseDefaultBrand:me}),(0,Z.jsxs)(`div`,{className:`samva-editor-body relative flex min-h-0 min-w-0 overflow-hidden`,children:[xe&&(0,Z.jsx)(`button`,{type:`button`,"aria-label":`Close editor panel`,className:`bg-background/45 absolute inset-0 z-30 cursor-default backdrop-blur-[1px]`,onClick:()=>{s||O(),c||k()}}),s&&!C&&(0,Z.jsxs)(tE,{children:[(0,Z.jsx)(lE,{render:(0,Z.jsx)(`button`,{type:`button`,"aria-label":`Show layers and blocks`,"data-testid":`shell.show-left`,onClick:O,className:`border-border bg-background/92 text-muted-foreground hover:bg-muted hover:text-foreground absolute top-3 left-3 z-20 rounded-md border p-1.5 shadow-[var(--shadow-md)] backdrop-blur-md transition-colors`}),children:(0,Z.jsx)(gF,{className:`size-[15px]`})}),(0,Z.jsx)(pE,{container:de,children:(0,Z.jsx)(IE,{side:`right`,sideOffset:5,className:`z-[200]`,children:(0,Z.jsx)(LE,{role:`tooltip`,className:`bg-foreground text-background rounded-md px-2 py-1 text-[11px] shadow-[var(--shadow-md)]`,children:`Show layers and blocks`})})})]}),c&&!C&&(0,Z.jsxs)(tE,{children:[(0,Z.jsx)(lE,{render:(0,Z.jsx)(`button`,{type:`button`,"aria-label":`Show inspector`,"data-testid":`shell.show-right`,onClick:k,className:`border-border bg-background/92 text-muted-foreground hover:bg-muted hover:text-foreground absolute top-3 right-3 z-20 rounded-md border p-1.5 shadow-[var(--shadow-md)] backdrop-blur-md transition-colors`}),children:(0,Z.jsx)(vF,{className:`size-[15px]`})}),(0,Z.jsx)(pE,{container:de,children:(0,Z.jsx)(IE,{side:`left`,sideOffset:5,className:`z-[200]`,children:(0,Z.jsx)(LE,{role:`tooltip`,className:`bg-foreground text-background rounded-md px-2 py-1 text-[11px] shadow-[var(--shadow-md)]`,children:`Show inspector`})})})]}),(0,Z.jsx)(NR,{}),(0,Z.jsx)(jR,{}),(0,Z.jsx)(MR,{})]}),(0,Z.jsx)(aR,{saveVersionStatus:S!==void 0&&!S.saveVersion?void 0:ge,saveVersionState:I===void 0?void 0:he,onSaveVersion:S!==void 0&&!S.saveVersion||I===void 0?void 0:pe,saveVersionBusy:he===`saving`,saveVersionBlocked:_,guestHeadline:S?.headline})]}),(0,Z.jsx)(rR,{open:z,onClose:()=>te(!1)}),(0,Z.jsx)(ZL,{open:ne,onClose:()=>re(!1),onLockedAction:o}),(0,Z.jsx)(`div`,{ref:de,"data-samva-editor-portal-root":!0,className:`samva-editor-shell`})]})})})})}function FR({name:e,className:t}){let n=qN()[e];return(0,Z.jsx)(n,{...t===void 0?{}:{className:t}})}function IR({label:e,icon:t,title:n,upsell:r,onAction:i,testId:a}){let[o,s]=(0,W.useState)(!1),c=VF();return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(KI,{title:e,help:r.reason,testId:a,onClick:()=>s(!0),className:`h-[30px] px-2.5`,children:[t,e]}),(0,Z.jsx)(_M,{open:o,onOpenChange:s,swipeDirection:`right`,children:(0,Z.jsxs)(mM,{container:c,children:[(0,Z.jsx)(Wj,{className:`fixed inset-0 z-[110] bg-[var(--editor-backdrop,rgb(0_0_0/0.28))]`}),(0,Z.jsx)(rN,{className:`pointer-events-none fixed inset-0 z-[111] flex justify-end`,children:(0,Z.jsxs)(pM,{className:`samva-editor-shell border-border bg-background pointer-events-auto flex h-full w-[420px] max-w-[92vw] flex-col border-l shadow-[var(--shadow-floating)] outline-none`,children:[(0,Z.jsx)(qj,{className:`sr-only`,children:r.reason}),(0,Z.jsxs)(`div`,{className:`flex items-center justify-between px-5 pt-4 pb-3`,children:[(0,Z.jsx)(BM,{className:`text-[15px] font-semibold`,children:n}),(0,Z.jsx)(Gj,{type:`button`,"aria-label":`Close ${e.toLowerCase()} panel`,"data-testid":a===void 0?void 0:`${a}.close`,className:`text-muted-foreground hover:bg-muted hover:text-foreground rounded-md p-1.5`,children:(0,Z.jsx)(CF,{className:`size-[15px]`})})]}),(0,Z.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col items-start gap-4 px-5 pt-6 pb-8`,children:[(0,Z.jsx)(`div`,{className:`border-border-subtle bg-surface-inset text-muted-foreground rounded-lg border px-3.5 py-3 text-[13px]`,children:r.reason}),(0,Z.jsx)(`a`,{href:r.cta.href,onClick:e=>{i!==void 0&&(e.preventDefault(),i())},"data-testid":a===void 0?void 0:`${a}.cta`,className:`bg-primary text-primary-foreground inline-flex h-9 items-center rounded-[7px] px-4 font-medium transition-opacity hover:opacity-90`,children:r.cta.label})]})]})})]})})]})}var LR=`2026-10-03.1`,RR=class extends Hn(`DocumentConflict`){},zR=class extends Hn(`DocumentUnavailable`){};Hn(`LifecycleUnavailable`),Hn(`ProjectFileExists`);var BR=(e,t)=>{let n=new URL(`api/${e}`,window.location.href);for(let[e,r]of Object.entries(t))n.searchParams.set(e,r);return n.toString()},VR=e=>e.fixture,HR=(e,t,n,r)=>({rev:t,origin:n,...r===void 0?{}:{authoredSource:r},...e}),UR=(e,t,n)=>ca(function*(){let r=yield*Fa(),i=new EventSource(BR(`events`,{id:e,client:t}));yield*ha(()=>aa(()=>i.close())),i.addEventListener(`samva:change`,t=>{let i=JSON.parse(t.data);i.id===e&&(n.rev=i.rev,n.fixture=VR(i),i.authoredSource!==void 0&&(n.authoredSource=i.authoredSource),Ia(r,HR(i,i.rev,i.origin,i.authoredSource)))});let a=()=>fetch(BR(`document`,{id:e,client:t})).then(e=>e.ok?e.json():void 0).then(e=>{if(e===void 0)return;let t=e.origin.authoredSource;(e.rev!==n.rev||t!==n.authoredSource||VR(e)!==n.fixture)&&(n.rev=e.rev,n.authoredSource=t,n.fixture=VR(e),Ia(r,HR(e,e.rev,`external`,t)))}).catch(()=>{}),o=!1,s;i.addEventListener(`open`,()=>{if(!o){o=!0,s?.(oa);return}a()}),i.addEventListener(`error`,()=>{!o&&i.readyState!==EventSource.OPEN&&s?.(new zR({reason:`editor event stream failed to open`}))}),yield*sa(e=>{if(i.readyState===EventSource.OPEN)return o=!0,e(oa);s=e});let c=yield*na({try:()=>fetch(BR(`document`,{id:e,client:t})),catch:e=>new zR({reason:String(e)})});if(!c.ok)return yield*new zR({reason:`open failed (${c.status})`});let l=yield*na({try:()=>c.json(),catch:e=>new zR({reason:String(e)})});return n.rev=l.rev,n.authoredSource=l.origin.authoredSource,n.fixture=VR(l),{initial:l,changes:oo(r)}}),WR=(e,t)=>({view:n=>ca(function*(){let r=yield*na({try:()=>fetch(BR(`fixture`,{id:e,client:t}),{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({fixture:n})}),catch:e=>new zR({reason:String(e)})});if(r.ok)return;let i=`view fixture failed (${r.status})`;return yield*new zR({reason:yield*na({try:()=>r.json(),catch:()=>new zR({reason:i})}).pipe(fa(e=>e.error??i))})})}),GR=(e,t)=>({save:n=>ca(function*(){if(n.kind!==`authoredSource`)return yield*new zR({reason:`Local metadata is declared in source.`});let r=yield*na({try:()=>fetch(BR(`document`,{id:e,client:t}),{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify(n)}),catch:e=>new zR({reason:String(e)})}),i=yield*na({try:()=>r.json(),catch:e=>new zR({reason:String(e)})});return r.status===409?yield*new RR({expectedRev:n.baseRev,actualRev:i.actualRev??n.baseRev}):!r.ok||i.rev===void 0?yield*new zR({reason:i.error??`Local source save failed.`}):{rev:i.rev}})}),KR=({id:e})=>{let t=crypto.randomUUID();return{contractVersion:LR,access:`editable`,sourceAccess:`editable`,metadataAccess:`readonly`,writer:GR(e,t),document:{open:UR(e,t,{rev:``})},fixtures:{status:`ready`,api:WR(e,t)}}},qR=e=>new URL(`api/${e}`,window.location.href).toString(),JR=async e=>{let t=await fetch(qR(e));if(!t.ok)throw Error(`${e} failed (${t.status})`);return t.json()},YR=()=>{let[e,t]=(0,W.useState)(()=>typeof window<`u`&&window.matchMedia(`(prefers-color-scheme: dark)`).matches);return(0,W.useEffect)(()=>{document.documentElement.classList.toggle(`dark`,e)},[e]),()=>t(e=>!e)};function XR({onBack:e,onToggleTheme:t}){return(0,Z.jsxs)(`nav`,{"aria-label":`Samva editor`,className:`border-border bg-background z-30 flex w-12 flex-none flex-col items-center gap-1 border-r py-3`,children:[(0,Z.jsx)(`span`,{className:`bg-primary text-primary-foreground mb-2 grid size-7 place-items-center rounded-lg text-[13px] font-bold`,children:`S`}),e?(0,Z.jsx)(`button`,{type:`button`,title:`Back to templates`,onClick:e,className:`text-muted-foreground hover:bg-muted hover:text-foreground grid size-8 place-items-center rounded-lg transition-colors`,children:(0,Z.jsx)(FR,{name:`arrowLeft`,className:`size-[16px]`})}):null,(0,Z.jsx)(`div`,{className:`flex-1`}),(0,Z.jsx)(`button`,{type:`button`,title:`Toggle theme`,onClick:t,className:`text-muted-foreground hover:bg-muted hover:text-foreground grid size-8 place-items-center rounded-lg transition-colors dark:hidden`,children:(0,Z.jsx)(FR,{name:`moon`,className:`size-[16px]`})}),(0,Z.jsx)(`button`,{type:`button`,title:`Toggle theme`,onClick:t,className:`text-muted-foreground hover:bg-muted hover:text-foreground hidden size-8 place-items-center rounded-lg transition-colors dark:grid`,children:(0,Z.jsx)(FR,{name:`sun`,className:`size-[16px]`})})]})}var ZR={authenticatedLabel:`Authenticated`,authenticatedTitle:`The host provides authenticated capabilities.`};function QR({template:e,authenticated:t,editorAffordances:n,onBack:r,onToggleTheme:i}){let a=n.publishingInstructions,o=(0,W.useMemo)(()=>fo(KR({id:e.id})),[e.id]);return(0,Z.jsx)(KP,{host:o,children:(0,Z.jsx)(`div`,{className:`relative h-dvh`,children:(0,Z.jsx)(PR,{contributions:[{slot:`frame.start`,id:`project-rail`,render:()=>(0,Z.jsx)(XR,{onBack:r,onToggleTheme:i})},...t&&a!==void 0?[{slot:`toolbar.actions`,id:`send`,render:()=>(0,Z.jsx)(IR,{label:`Send`,title:`Send “${e.name}”`,upsell:a,testId:`vite-editor.send`})}]:[]],onBack:r,renameEnabled:!1})})},`${e.id}:${e.channel}`)}var $R={email:{icon:`envelope`,label:`Email`,className:`bg-sel-soft text-accent-email`},sms:{icon:`message`,label:`SMS`,className:`bg-muted text-primary`},whatsapp:{icon:`chatBubble`,label:`WhatsApp`,className:`bg-status-success/10 text-status-success`}};function ez({catalog:e,authenticated:t,editorAffordances:n,onOpen:r,onToggleTheme:i}){return(0,Z.jsxs)(`div`,{className:`flex h-dvh`,children:[(0,Z.jsx)(XR,{onToggleTheme:i}),(0,Z.jsx)(`div`,{className:`bg-surface-inset min-w-0 flex-1 overflow-y-auto`,children:(0,Z.jsxs)(`div`,{className:`mx-auto max-w-[720px] px-6 py-16`,children:[(0,Z.jsxs)(`div`,{className:`flex items-baseline justify-between`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h1`,{className:`text-foreground text-lg font-semibold`,children:`Templates`}),(0,Z.jsx)(`p`,{className:`text-muted-foreground mt-1 text-[13px]`,children:`Preview your templates and fixtures. Source edits save to your project.`})]}),(0,Z.jsx)(`span`,{className:t?`bg-status-success/12 text-status-success rounded-full px-2.5 py-1 text-[11px] font-medium`:`bg-muted text-muted-foreground rounded-full px-2.5 py-1 text-[11px] font-medium`,title:t?n.authenticatedTitle:`Local editing only.`,children:t?n.authenticatedLabel:`Local only`})]}),e.diagnostics.length>0?(0,Z.jsx)(`section`,{"aria-label":`Catalog diagnostics`,className:`border-border bg-surface-elevated mt-6 overflow-hidden rounded-xl border`,children:e.diagnostics.map((e,t)=>(0,Z.jsxs)(`div`,{className:`px-4 py-3 text-[12px]`+(t>0?` border-border-subtle border-t`:``),children:[(0,Z.jsxs)(`p`,{className:e.severity===`error`?`text-status-error`:`text-status-warning`,children:[e.file,` · `,e.code]}),(0,Z.jsx)(`p`,{className:`text-muted-foreground mt-0.5`,children:e.message})]},`${e.file}:${e.code}:${t}`))}):null,(0,Z.jsxs)(`ul`,{className:`border-border bg-surface-elevated mt-8 overflow-hidden rounded-xl border shadow-md`,children:[e.templates.length===0?(0,Z.jsxs)(`li`,{className:`text-muted-foreground px-4 py-10 text-center text-[13px]`,children:[`No valid templates found. Add a `,(0,Z.jsx)(`code`,{className:`text-foreground`,children:`.tsx`}),` file with a Samva template as its default export.`]}):null,e.templates.map((e,t)=>{let n=$R[e.channel];return(0,Z.jsx)(`li`,{children:(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>r(e),"data-testid":`template-card.${e.id}`,className:`hover:bg-muted flex w-full items-center gap-3 px-4 py-3 text-left transition-colors`+(t>0?` border-border-subtle border-t`:``),children:[(0,Z.jsx)(`span`,{className:`grid size-8 flex-none place-items-center rounded-lg ${n.className}`,children:(0,Z.jsx)(FR,{name:n.icon,className:`size-[16px]`})}),(0,Z.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,Z.jsx)(`span`,{className:`text-foreground block truncate text-[13px] font-medium`,children:e.name}),(0,Z.jsx)(`span`,{className:`text-muted-foreground block truncate text-[12px]`,children:e.id})]}),(0,Z.jsxs)(`span`,{className:`text-muted-foreground text-right text-[11px]`,children:[(0,Z.jsx)(`span`,{className:`block`,children:n.label}),(0,Z.jsx)(`span`,{className:`block`,children:`Editable source`})]})]})},e.id)})]})]})})]})}function tz(){let e=YR(),[t,n]=(0,W.useState)(!1),[r,i]=(0,W.useState)(ZR),[a,o]=(0,W.useState)(null),[s,c]=(0,W.useState)(null),[l,u]=(0,W.useState)(null);(0,W.useEffect)(()=>{let e=!0,t=()=>JR(`templates`).then(t=>{e&&(o(t),c(null))});Promise.all([JR(`capabilities`).then(t=>{e&&(n(!!t.authenticated),i(t.editorAffordances??ZR))}),t()]).catch(t=>{e&&c(String(t))});let r=new EventSource(qR(`catalog-events`));return r.addEventListener(`samva:catalog`,()=>{t().catch(t=>{e&&c(String(t))})}),()=>{e=!1,r.close()}},[]);let d=a?.templates.find(e=>e.id===l)??null;return l!==null&&a!==null&&d===null&&u(null),s===null?a===null?(0,Z.jsx)(`div`,{className:`text-muted-foreground grid h-dvh place-items-center text-[13px]`,children:`Loading templates…`}):d===null?(0,Z.jsx)(ez,{catalog:a,authenticated:t,editorAffordances:r,onOpen:e=>u(e.id),onToggleTheme:e}):(0,Z.jsx)(QR,{template:d,authenticated:t,editorAffordances:r,onBack:()=>u(null),onToggleTheme:e}):(0,Z.jsxs)(`div`,{className:`text-status-error grid h-dvh place-items-center px-6 text-center text-[13px]`,children:[`Couldn’t reach the Samva editor dev server: `,s]})}(0,co.createRoot)(document.getElementById(`root`)).render((0,Z.jsx)(W.StrictMode,{children:(0,Z.jsx)(tz,{})}));