@select-org/select-post-builder 1.2.9 → 1.3.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.
@@ -104,7 +104,7 @@ ${I}
104
104
  `);S+=E.type==="paragraph"?`
105
105
 
106
106
  ${A}`:`
107
- ${A}`}}),S}function updateMarkViewAttributes(u,n,d={}){const{state:p}=n,{doc:m,tr:g}=p,y=u;m.descendants((b,S)=>{const E=g.mapping.map(S),T=g.mapping.map(S)+b.nodeSize;let _=null;if(b.marks.forEach(C=>{if(C!==y)return!1;_=C}),!_)return;let R=!1;if(Object.keys(d).forEach(C=>{d[C]!==_.attrs[C]&&(R=!0)}),R){const C=u.type.create({...u.attrs,...d});g.removeMark(E,T,u.type),g.addMark(E,T,C)}}),g.docChanged&&n.view.dispatch(g)}var MarkView=class{constructor(u,n,d){this.component=u,this.editor=n.editor,this.options={...d},this.mark=n.mark,this.HTMLAttributes=n.HTMLAttributes}get dom(){return this.editor.view.dom}get contentDOM(){return null}updateAttributes(u,n){updateMarkViewAttributes(n||this.mark,this.editor,u)}ignoreMutation(u){return!this.dom||!this.contentDOM?!0:typeof this.options.ignoreMutation=="function"?this.options.ignoreMutation({mutation:u}):u.type==="selection"||this.dom.contains(u.target)&&u.type==="childList"&&(isiOS()||isAndroid())&&this.editor.isFocused&&[...Array.from(u.addedNodes),...Array.from(u.removedNodes)].every(d=>d.isContentEditable)?!1:this.contentDOM===u.target&&u.type==="attributes"?!0:!this.contentDOM.contains(u.target)}},Node3=class Ut extends Extendable{constructor(){super(...arguments),this.type="node"}static create(n={}){const d=typeof n=="function"?n():n;return new Ut(d)}configure(n){return super.configure(n)}extend(n){const d=typeof n=="function"?n():n;return super.extend(d)}},NodeView=class{constructor(u,n,d){this.isDragging=!1,this.component=u,this.editor=n.editor,this.options={stopEvent:null,ignoreMutation:null,...d},this.extension=n.extension,this.node=n.node,this.decorations=n.decorations,this.innerDecorations=n.innerDecorations,this.view=n.view,this.HTMLAttributes=n.HTMLAttributes,this.getPos=n.getPos,this.mount()}mount(){}get dom(){return this.editor.view.dom}get contentDOM(){return null}onDragStart(u){var n,d,p,m,g,y,b;const{view:S}=this.editor,E=u.target,T=E.nodeType===3?(n=E.parentElement)==null?void 0:n.closest("[data-drag-handle]"):E.closest("[data-drag-handle]");if(!this.dom||(d=this.contentDOM)!=null&&d.contains(E)||!T)return;let _=0,R=0;if(this.dom!==T){const D=this.dom.getBoundingClientRect(),O=T.getBoundingClientRect(),N=(m=u.offsetX)!=null?m:(p=u.nativeEvent)==null?void 0:p.offsetX,F=(y=u.offsetY)!=null?y:(g=u.nativeEvent)==null?void 0:g.offsetY;_=O.x-D.x+N,R=O.y-D.y+F}const C=this.dom.cloneNode(!0);try{const D=this.dom.getBoundingClientRect();C.style.width=`${Math.round(D.width)}px`,C.style.height=`${Math.round(D.height)}px`,C.style.boxSizing="border-box",C.style.pointerEvents="none"}catch{}let A=null;try{A=document.createElement("div"),A.style.position="absolute",A.style.top="-9999px",A.style.left="-9999px",A.style.pointerEvents="none",A.appendChild(C),document.body.appendChild(A),(b=u.dataTransfer)==null||b.setDragImage(C,_,R)}finally{A&&setTimeout(()=>{try{A?.remove()}catch{}},0)}const k=this.getPos();if(typeof k!="number")return;const I=NodeSelection.create(S.state.doc,k),P=S.state.tr.setSelection(I);S.dispatch(P)}stopEvent(u){var n;if(!this.dom)return!1;if(typeof this.options.stopEvent=="function")return this.options.stopEvent({event:u});const d=u.target;if(!(this.dom.contains(d)&&!((n=this.contentDOM)!=null&&n.contains(d))))return!1;const m=u.type.startsWith("drag"),g=u.type==="drop";if((["INPUT","BUTTON","SELECT","TEXTAREA"].includes(d.tagName)||d.isContentEditable)&&!g&&!m)return!0;const{isEditable:b}=this.editor,{isDragging:S}=this,E=!!this.node.type.spec.draggable,T=NodeSelection.isSelectable(this.node),_=u.type==="copy",R=u.type==="paste",C=u.type==="cut",A=u.type==="mousedown";if(!E&&T&&m&&u.target===this.dom&&u.preventDefault(),E&&m&&!S&&u.target===this.dom)return u.preventDefault(),!1;if(E&&b&&!S&&A){const k=d.closest("[data-drag-handle]");k&&(this.dom===k||this.dom.contains(k))&&(this.isDragging=!0,document.addEventListener("dragend",()=>{this.isDragging=!1},{once:!0}),document.addEventListener("drop",()=>{this.isDragging=!1},{once:!0}),document.addEventListener("mouseup",()=>{this.isDragging=!1},{once:!0}))}return!(S||g||_||R||C||A&&T)}ignoreMutation(u){return!this.dom||!this.contentDOM?!0:typeof this.options.ignoreMutation=="function"?this.options.ignoreMutation({mutation:u}):this.node.isLeaf||this.node.isAtom?!0:u.type==="selection"||this.dom.contains(u.target)&&u.type==="childList"&&(isiOS()||isAndroid())&&this.editor.isFocused&&[...Array.from(u.addedNodes),...Array.from(u.removedNodes)].every(d=>d.isContentEditable)?!1:this.contentDOM===u.target&&u.type==="attributes"?!0:!this.contentDOM.contains(u.target)}updateAttributes(u){this.editor.commands.command(({tr:n})=>{const d=this.getPos();return typeof d!="number"?!1:(n.setNodeMarkup(d,void 0,{...this.node.attrs,...u}),!0)})}deleteNode(){const u=this.getPos();if(typeof u!="number")return;const n=u+this.node.nodeSize;this.editor.commands.deleteRange({from:u,to:n})}};function markPasteRule(u){return new PasteRule({find:u.find,handler:({state:n,range:d,match:p,pasteEvent:m})=>{const g=callOrReturn(u.getAttributes,void 0,p,m);if(g===!1||g===null)return null;const{tr:y}=n,b=p[p.length-1],S=p[0];let E=d.to;if(b){const T=S.search(/\S/),_=d.from+S.indexOf(b),R=_+b.length;if(getMarksBetween(d.from,d.to,n.doc).filter(A=>A.mark.type.excluded.find(I=>I===u.type&&I!==A.mark.type)).filter(A=>A.to>_).length)return null;R<d.to&&y.delete(R,d.to),_>d.from&&y.delete(d.from+T,_),E=d.from+T+b.length,y.addMark(d.from+T,E,u.type.create(g||{})),y.removeStoredMark(u.type)}}})}function traverse(u,n,d={}){const{order:p="depth-first",includeRoot:m=!0,maxDepth:g=-1}=d,y=typeof n!="function";function b(E,T,_,R){if(g!==-1&&R>g)return!0;let C=!0;if(y){const A=n[E.type];A&&A(E,T,_,R)===!1&&(C=!1)}else n(E,T,_,R)===!1&&(C=!1);if(!C)return!1;if(E.content&&Array.isArray(E.content))for(let A=0;A<E.content.length;A++){const k=E.content[A];if(p==="depth-first"){if(!b(k,E,A,R+1))return!1}else if(!b(k,E,A,R+1))return!1}return!0}const S=m?0:1;m?b(u,null,0,0):u.content&&u.content.forEach((E,T)=>{b(E,u,T,S)})}function findByType(u,n,d={}){const p=[],m=d.findAll??!0;return traverse(u,g=>{if(g.type===n&&(p.push(g),!m))return!1},d),p}function findFirstByType(u,n,d={}){return findByType(u,n,{...d,findAll:!1})[0]||null}function find$2(u,n,d={}){const p=[],m=d.findAll??!0;return traverse(u,g=>{if(n(g)&&(p.push(g),!m))return!1},d),p}function filterNodes(u,n){if(!n(u))return null;if(!u.content)return u;const d=u.content.map(p=>filterNodes(p,n)).filter(p=>p!==null);return{...u,content:d.length>0?d:void 0}}function isOnlyContentNode(u,n,d={}){const{containerTypes:p=["doc","paragraph","blockquote","bulletList","orderedList","listItem","table","tableRow","tableCell","tableHeader","mediaGroup"],ignoreEmptyText:m=!0}=d;let g=!1,y=!1;function b(S){if(y)return;const E=S.type;if(p.includes(E)){S.content&&S.content.forEach(b);return}if(E==="text"){const T=S.text??"";m&&T.trim()===""||(y=!0);return}if(E===n){g=!0,S.content&&S.content.forEach(b);return}y=!0}return b(u),g&&!y}function r$1(u){var n,d,p="";if(typeof u=="string"||typeof u=="number")p+=u;else if(typeof u=="object")if(Array.isArray(u)){var m=u.length;for(n=0;n<m;n++)u[n]&&(d=r$1(u[n]))&&(p&&(p+=" "),p+=d)}else for(d in u)u[d]&&(p&&(p+=" "),p+=d);return p}function clsx(){for(var u,n,d=0,p="",m=arguments.length;d<m;d++)(u=arguments[d])&&(n=r$1(u))&&(p&&(p+=" "),p+=n);return p}const concatArrays=(u,n)=>{const d=new Array(u.length+n.length);for(let p=0;p<u.length;p++)d[p]=u[p];for(let p=0;p<n.length;p++)d[u.length+p]=n[p];return d},createClassValidatorObject=(u,n)=>({classGroupId:u,validator:n}),createClassPartObject=(u=new Map,n=null,d)=>({nextPart:u,validators:n,classGroupId:d}),CLASS_PART_SEPARATOR="-",EMPTY_CONFLICTS=[],ARBITRARY_PROPERTY_PREFIX="arbitrary..",createClassGroupUtils=u=>{const n=createClassMap(u),{conflictingClassGroups:d,conflictingClassGroupModifiers:p}=u;return{getClassGroupId:y=>{if(y.startsWith("[")&&y.endsWith("]"))return getGroupIdForArbitraryProperty(y);const b=y.split(CLASS_PART_SEPARATOR),S=b[0]===""&&b.length>1?1:0;return getGroupRecursive(b,S,n)},getConflictingClassGroupIds:(y,b)=>{if(b){const S=p[y],E=d[y];return S?E?concatArrays(E,S):S:E||EMPTY_CONFLICTS}return d[y]||EMPTY_CONFLICTS}}},getGroupRecursive=(u,n,d)=>{if(u.length-n===0)return d.classGroupId;const m=u[n],g=d.nextPart.get(m);if(g){const E=getGroupRecursive(u,n+1,g);if(E)return E}const y=d.validators;if(y===null)return;const b=n===0?u.join(CLASS_PART_SEPARATOR):u.slice(n).join(CLASS_PART_SEPARATOR),S=y.length;for(let E=0;E<S;E++){const T=y[E];if(T.validator(b))return T.classGroupId}},getGroupIdForArbitraryProperty=u=>u.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const n=u.slice(1,-1),d=n.indexOf(":"),p=n.slice(0,d);return p?ARBITRARY_PROPERTY_PREFIX+p:void 0})(),createClassMap=u=>{const{theme:n,classGroups:d}=u;return processClassGroups(d,n)},processClassGroups=(u,n)=>{const d=createClassPartObject();for(const p in u){const m=u[p];processClassesRecursively(m,d,p,n)}return d},processClassesRecursively=(u,n,d,p)=>{const m=u.length;for(let g=0;g<m;g++){const y=u[g];processClassDefinition(y,n,d,p)}},processClassDefinition=(u,n,d,p)=>{if(typeof u=="string"){processStringDefinition(u,n,d);return}if(typeof u=="function"){processFunctionDefinition(u,n,d,p);return}processObjectDefinition(u,n,d,p)},processStringDefinition=(u,n,d)=>{const p=u===""?n:getPart(n,u);p.classGroupId=d},processFunctionDefinition=(u,n,d,p)=>{if(isThemeGetter(u)){processClassesRecursively(u(p),n,d,p);return}n.validators===null&&(n.validators=[]),n.validators.push(createClassValidatorObject(d,u))},processObjectDefinition=(u,n,d,p)=>{const m=Object.entries(u),g=m.length;for(let y=0;y<g;y++){const[b,S]=m[y];processClassesRecursively(S,getPart(n,b),d,p)}},getPart=(u,n)=>{let d=u;const p=n.split(CLASS_PART_SEPARATOR),m=p.length;for(let g=0;g<m;g++){const y=p[g];let b=d.nextPart.get(y);b||(b=createClassPartObject(),d.nextPart.set(y,b)),d=b}return d},isThemeGetter=u=>"isThemeGetter"in u&&u.isThemeGetter===!0,createLruCache=u=>{if(u<1)return{get:()=>{},set:()=>{}};let n=0,d=Object.create(null),p=Object.create(null);const m=(g,y)=>{d[g]=y,n++,n>u&&(n=0,p=d,d=Object.create(null))};return{get(g){let y=d[g];if(y!==void 0)return y;if((y=p[g])!==void 0)return m(g,y),y},set(g,y){g in d?d[g]=y:m(g,y)}}},IMPORTANT_MODIFIER="!",MODIFIER_SEPARATOR=":",EMPTY_MODIFIERS=[],createResultObject=(u,n,d,p,m)=>({modifiers:u,hasImportantModifier:n,baseClassName:d,maybePostfixModifierPosition:p,isExternal:m}),createParseClassName=u=>{const{prefix:n,experimentalParseClassName:d}=u;let p=m=>{const g=[];let y=0,b=0,S=0,E;const T=m.length;for(let k=0;k<T;k++){const I=m[k];if(y===0&&b===0){if(I===MODIFIER_SEPARATOR){g.push(m.slice(S,k)),S=k+1;continue}if(I==="/"){E=k;continue}}I==="["?y++:I==="]"?y--:I==="("?b++:I===")"&&b--}const _=g.length===0?m:m.slice(S);let R=_,C=!1;_.endsWith(IMPORTANT_MODIFIER)?(R=_.slice(0,-1),C=!0):_.startsWith(IMPORTANT_MODIFIER)&&(R=_.slice(1),C=!0);const A=E&&E>S?E-S:void 0;return createResultObject(g,C,R,A)};if(n){const m=n+MODIFIER_SEPARATOR,g=p;p=y=>y.startsWith(m)?g(y.slice(m.length)):createResultObject(EMPTY_MODIFIERS,!1,y,void 0,!0)}if(d){const m=p;p=g=>d({className:g,parseClassName:m})}return p},createSortModifiers=u=>{const n=new Map;return u.orderSensitiveModifiers.forEach((d,p)=>{n.set(d,1e6+p)}),d=>{const p=[];let m=[];for(let g=0;g<d.length;g++){const y=d[g],b=y[0]==="[",S=n.has(y);b||S?(m.length>0&&(m.sort(),p.push(...m),m=[]),p.push(y)):m.push(y)}return m.length>0&&(m.sort(),p.push(...m)),p}},createConfigUtils=u=>({cache:createLruCache(u.cacheSize),parseClassName:createParseClassName(u),sortModifiers:createSortModifiers(u),...createClassGroupUtils(u)}),SPLIT_CLASSES_REGEX=/\s+/,mergeClassList=(u,n)=>{const{parseClassName:d,getClassGroupId:p,getConflictingClassGroupIds:m,sortModifiers:g}=n,y=[],b=u.trim().split(SPLIT_CLASSES_REGEX);let S="";for(let E=b.length-1;E>=0;E-=1){const T=b[E],{isExternal:_,modifiers:R,hasImportantModifier:C,baseClassName:A,maybePostfixModifierPosition:k}=d(T);if(_){S=T+(S.length>0?" "+S:S);continue}let I=!!k,P=p(I?A.substring(0,k):A);if(!P){if(!I){S=T+(S.length>0?" "+S:S);continue}if(P=p(A),!P){S=T+(S.length>0?" "+S:S);continue}I=!1}const D=R.length===0?"":R.length===1?R[0]:g(R).join(":"),O=C?D+IMPORTANT_MODIFIER:D,N=O+P;if(y.indexOf(N)>-1)continue;y.push(N);const F=m(P,I);for(let L=0;L<F.length;++L){const V=F[L];y.push(O+V)}S=T+(S.length>0?" "+S:S)}return S},twJoin=(...u)=>{let n=0,d,p,m="";for(;n<u.length;)(d=u[n++])&&(p=toValue(d))&&(m&&(m+=" "),m+=p);return m},toValue=u=>{if(typeof u=="string")return u;let n,d="";for(let p=0;p<u.length;p++)u[p]&&(n=toValue(u[p]))&&(d&&(d+=" "),d+=n);return d},createTailwindMerge=(u,...n)=>{let d,p,m,g;const y=S=>{const E=n.reduce((T,_)=>_(T),u());return d=createConfigUtils(E),p=d.cache.get,m=d.cache.set,g=b,b(S)},b=S=>{const E=p(S);if(E)return E;const T=mergeClassList(S,d);return m(S,T),T};return g=y,(...S)=>g(twJoin(...S))},fallbackThemeArr=[],fromTheme=u=>{const n=d=>d[u]||fallbackThemeArr;return n.isThemeGetter=!0,n},arbitraryValueRegex=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,arbitraryVariableRegex=/^\((?:(\w[\w-]*):)?(.+)\)$/i,fractionRegex=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,tshirtUnitRegex=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,lengthUnitRegex=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,colorFunctionRegex=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,shadowRegex=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,imageRegex=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,isFraction=u=>fractionRegex.test(u),isNumber$1=u=>!!u&&!Number.isNaN(Number(u)),isInteger$1=u=>!!u&&Number.isInteger(Number(u)),isPercent=u=>u.endsWith("%")&&isNumber$1(u.slice(0,-1)),isTshirtSize=u=>tshirtUnitRegex.test(u),isAny=()=>!0,isLengthOnly=u=>lengthUnitRegex.test(u)&&!colorFunctionRegex.test(u),isNever=()=>!1,isShadow=u=>shadowRegex.test(u),isImage=u=>imageRegex.test(u),isAnyNonArbitrary=u=>!isArbitraryValue(u)&&!isArbitraryVariable(u),isArbitrarySize=u=>getIsArbitraryValue(u,isLabelSize,isNever),isArbitraryValue=u=>arbitraryValueRegex.test(u),isArbitraryLength=u=>getIsArbitraryValue(u,isLabelLength,isLengthOnly),isArbitraryNumber=u=>getIsArbitraryValue(u,isLabelNumber,isNumber$1),isArbitraryWeight=u=>getIsArbitraryValue(u,isLabelWeight,isAny),isArbitraryFamilyName=u=>getIsArbitraryValue(u,isLabelFamilyName,isNever),isArbitraryPosition=u=>getIsArbitraryValue(u,isLabelPosition,isNever),isArbitraryImage=u=>getIsArbitraryValue(u,isLabelImage,isImage),isArbitraryShadow=u=>getIsArbitraryValue(u,isLabelShadow,isShadow),isArbitraryVariable=u=>arbitraryVariableRegex.test(u),isArbitraryVariableLength=u=>getIsArbitraryVariable(u,isLabelLength),isArbitraryVariableFamilyName=u=>getIsArbitraryVariable(u,isLabelFamilyName),isArbitraryVariablePosition=u=>getIsArbitraryVariable(u,isLabelPosition),isArbitraryVariableSize=u=>getIsArbitraryVariable(u,isLabelSize),isArbitraryVariableImage=u=>getIsArbitraryVariable(u,isLabelImage),isArbitraryVariableShadow=u=>getIsArbitraryVariable(u,isLabelShadow,!0),isArbitraryVariableWeight=u=>getIsArbitraryVariable(u,isLabelWeight,!0),getIsArbitraryValue=(u,n,d)=>{const p=arbitraryValueRegex.exec(u);return p?p[1]?n(p[1]):d(p[2]):!1},getIsArbitraryVariable=(u,n,d=!1)=>{const p=arbitraryVariableRegex.exec(u);return p?p[1]?n(p[1]):d:!1},isLabelPosition=u=>u==="position"||u==="percentage",isLabelImage=u=>u==="image"||u==="url",isLabelSize=u=>u==="length"||u==="size"||u==="bg-size",isLabelLength=u=>u==="length",isLabelNumber=u=>u==="number",isLabelFamilyName=u=>u==="family-name",isLabelWeight=u=>u==="number"||u==="weight",isLabelShadow=u=>u==="shadow",getDefaultConfig=()=>{const u=fromTheme("color"),n=fromTheme("font"),d=fromTheme("text"),p=fromTheme("font-weight"),m=fromTheme("tracking"),g=fromTheme("leading"),y=fromTheme("breakpoint"),b=fromTheme("container"),S=fromTheme("spacing"),E=fromTheme("radius"),T=fromTheme("shadow"),_=fromTheme("inset-shadow"),R=fromTheme("text-shadow"),C=fromTheme("drop-shadow"),A=fromTheme("blur"),k=fromTheme("perspective"),I=fromTheme("aspect"),P=fromTheme("ease"),D=fromTheme("animate"),O=()=>["auto","avoid","all","avoid-page","page","left","right","column"],N=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],F=()=>[...N(),isArbitraryVariable,isArbitraryValue],L=()=>["auto","hidden","clip","visible","scroll"],V=()=>["auto","contain","none"],j=()=>[isArbitraryVariable,isArbitraryValue,S],Y=()=>[isFraction,"full","auto",...j()],te=()=>[isInteger$1,"none","subgrid",isArbitraryVariable,isArbitraryValue],ee=()=>["auto",{span:["full",isInteger$1,isArbitraryVariable,isArbitraryValue]},isInteger$1,isArbitraryVariable,isArbitraryValue],J=()=>[isInteger$1,"auto",isArbitraryVariable,isArbitraryValue],se=()=>["auto","min","max","fr",isArbitraryVariable,isArbitraryValue],Z=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],re=()=>["start","end","center","stretch","center-safe","end-safe"],B=()=>["auto",...j()],q=()=>[isFraction,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...j()],H=()=>[isFraction,"screen","full","dvw","lvw","svw","min","max","fit",...j()],W=()=>[isFraction,"screen","full","lh","dvh","lvh","svh","min","max","fit",...j()],Q=()=>[u,isArbitraryVariable,isArbitraryValue],ne=()=>[...N(),isArbitraryVariablePosition,isArbitraryPosition,{position:[isArbitraryVariable,isArbitraryValue]}],le=()=>["no-repeat",{repeat:["","x","y","space","round"]}],ce=()=>["auto","cover","contain",isArbitraryVariableSize,isArbitrarySize,{size:[isArbitraryVariable,isArbitraryValue]}],ae=()=>[isPercent,isArbitraryVariableLength,isArbitraryLength],oe=()=>["","none","full",E,isArbitraryVariable,isArbitraryValue],de=()=>["",isNumber$1,isArbitraryVariableLength,isArbitraryLength],fe=()=>["solid","dashed","dotted","double"],pe=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],ge=()=>[isNumber$1,isPercent,isArbitraryVariablePosition,isArbitraryPosition],ve=()=>["","none",A,isArbitraryVariable,isArbitraryValue],be=()=>["none",isNumber$1,isArbitraryVariable,isArbitraryValue],ye=()=>["none",isNumber$1,isArbitraryVariable,isArbitraryValue],Se=()=>[isNumber$1,isArbitraryVariable,isArbitraryValue],me=()=>[isFraction,"full",...j()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[isTshirtSize],breakpoint:[isTshirtSize],color:[isAny],container:[isTshirtSize],"drop-shadow":[isTshirtSize],ease:["in","out","in-out"],font:[isAnyNonArbitrary],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[isTshirtSize],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[isTshirtSize],shadow:[isTshirtSize],spacing:["px",isNumber$1],text:[isTshirtSize],"text-shadow":[isTshirtSize],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",isFraction,isArbitraryValue,isArbitraryVariable,I]}],container:["container"],columns:[{columns:[isNumber$1,isArbitraryValue,isArbitraryVariable,b]}],"break-after":[{"break-after":O()}],"break-before":[{"break-before":O()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:F()}],overflow:[{overflow:L()}],"overflow-x":[{"overflow-x":L()}],"overflow-y":[{"overflow-y":L()}],overscroll:[{overscroll:V()}],"overscroll-x":[{"overscroll-x":V()}],"overscroll-y":[{"overscroll-y":V()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:Y()}],"inset-x":[{"inset-x":Y()}],"inset-y":[{"inset-y":Y()}],start:[{"inset-s":Y(),start:Y()}],end:[{"inset-e":Y(),end:Y()}],"inset-bs":[{"inset-bs":Y()}],"inset-be":[{"inset-be":Y()}],top:[{top:Y()}],right:[{right:Y()}],bottom:[{bottom:Y()}],left:[{left:Y()}],visibility:["visible","invisible","collapse"],z:[{z:[isInteger$1,"auto",isArbitraryVariable,isArbitraryValue]}],basis:[{basis:[isFraction,"full","auto",b,...j()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[isNumber$1,isFraction,"auto","initial","none",isArbitraryValue]}],grow:[{grow:["",isNumber$1,isArbitraryVariable,isArbitraryValue]}],shrink:[{shrink:["",isNumber$1,isArbitraryVariable,isArbitraryValue]}],order:[{order:[isInteger$1,"first","last","none",isArbitraryVariable,isArbitraryValue]}],"grid-cols":[{"grid-cols":te()}],"col-start-end":[{col:ee()}],"col-start":[{"col-start":J()}],"col-end":[{"col-end":J()}],"grid-rows":[{"grid-rows":te()}],"row-start-end":[{row:ee()}],"row-start":[{"row-start":J()}],"row-end":[{"row-end":J()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":se()}],"auto-rows":[{"auto-rows":se()}],gap:[{gap:j()}],"gap-x":[{"gap-x":j()}],"gap-y":[{"gap-y":j()}],"justify-content":[{justify:[...Z(),"normal"]}],"justify-items":[{"justify-items":[...re(),"normal"]}],"justify-self":[{"justify-self":["auto",...re()]}],"align-content":[{content:["normal",...Z()]}],"align-items":[{items:[...re(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...re(),{baseline:["","last"]}]}],"place-content":[{"place-content":Z()}],"place-items":[{"place-items":[...re(),"baseline"]}],"place-self":[{"place-self":["auto",...re()]}],p:[{p:j()}],px:[{px:j()}],py:[{py:j()}],ps:[{ps:j()}],pe:[{pe:j()}],pbs:[{pbs:j()}],pbe:[{pbe:j()}],pt:[{pt:j()}],pr:[{pr:j()}],pb:[{pb:j()}],pl:[{pl:j()}],m:[{m:B()}],mx:[{mx:B()}],my:[{my:B()}],ms:[{ms:B()}],me:[{me:B()}],mbs:[{mbs:B()}],mbe:[{mbe:B()}],mt:[{mt:B()}],mr:[{mr:B()}],mb:[{mb:B()}],ml:[{ml:B()}],"space-x":[{"space-x":j()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":j()}],"space-y-reverse":["space-y-reverse"],size:[{size:q()}],"inline-size":[{inline:["auto",...H()]}],"min-inline-size":[{"min-inline":["auto",...H()]}],"max-inline-size":[{"max-inline":["none",...H()]}],"block-size":[{block:["auto",...W()]}],"min-block-size":[{"min-block":["auto",...W()]}],"max-block-size":[{"max-block":["none",...W()]}],w:[{w:[b,"screen",...q()]}],"min-w":[{"min-w":[b,"screen","none",...q()]}],"max-w":[{"max-w":[b,"screen","none","prose",{screen:[y]},...q()]}],h:[{h:["screen","lh",...q()]}],"min-h":[{"min-h":["screen","lh","none",...q()]}],"max-h":[{"max-h":["screen","lh",...q()]}],"font-size":[{text:["base",d,isArbitraryVariableLength,isArbitraryLength]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[p,isArbitraryVariableWeight,isArbitraryWeight]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",isPercent,isArbitraryValue]}],"font-family":[{font:[isArbitraryVariableFamilyName,isArbitraryFamilyName,n]}],"font-features":[{"font-features":[isArbitraryValue]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[m,isArbitraryVariable,isArbitraryValue]}],"line-clamp":[{"line-clamp":[isNumber$1,"none",isArbitraryVariable,isArbitraryNumber]}],leading:[{leading:[g,...j()]}],"list-image":[{"list-image":["none",isArbitraryVariable,isArbitraryValue]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",isArbitraryVariable,isArbitraryValue]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:Q()}],"text-color":[{text:Q()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...fe(),"wavy"]}],"text-decoration-thickness":[{decoration:[isNumber$1,"from-font","auto",isArbitraryVariable,isArbitraryLength]}],"text-decoration-color":[{decoration:Q()}],"underline-offset":[{"underline-offset":[isNumber$1,"auto",isArbitraryVariable,isArbitraryValue]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:j()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",isArbitraryVariable,isArbitraryValue]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",isArbitraryVariable,isArbitraryValue]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:ne()}],"bg-repeat":[{bg:le()}],"bg-size":[{bg:ce()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},isInteger$1,isArbitraryVariable,isArbitraryValue],radial:["",isArbitraryVariable,isArbitraryValue],conic:[isInteger$1,isArbitraryVariable,isArbitraryValue]},isArbitraryVariableImage,isArbitraryImage]}],"bg-color":[{bg:Q()}],"gradient-from-pos":[{from:ae()}],"gradient-via-pos":[{via:ae()}],"gradient-to-pos":[{to:ae()}],"gradient-from":[{from:Q()}],"gradient-via":[{via:Q()}],"gradient-to":[{to:Q()}],rounded:[{rounded:oe()}],"rounded-s":[{"rounded-s":oe()}],"rounded-e":[{"rounded-e":oe()}],"rounded-t":[{"rounded-t":oe()}],"rounded-r":[{"rounded-r":oe()}],"rounded-b":[{"rounded-b":oe()}],"rounded-l":[{"rounded-l":oe()}],"rounded-ss":[{"rounded-ss":oe()}],"rounded-se":[{"rounded-se":oe()}],"rounded-ee":[{"rounded-ee":oe()}],"rounded-es":[{"rounded-es":oe()}],"rounded-tl":[{"rounded-tl":oe()}],"rounded-tr":[{"rounded-tr":oe()}],"rounded-br":[{"rounded-br":oe()}],"rounded-bl":[{"rounded-bl":oe()}],"border-w":[{border:de()}],"border-w-x":[{"border-x":de()}],"border-w-y":[{"border-y":de()}],"border-w-s":[{"border-s":de()}],"border-w-e":[{"border-e":de()}],"border-w-bs":[{"border-bs":de()}],"border-w-be":[{"border-be":de()}],"border-w-t":[{"border-t":de()}],"border-w-r":[{"border-r":de()}],"border-w-b":[{"border-b":de()}],"border-w-l":[{"border-l":de()}],"divide-x":[{"divide-x":de()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":de()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...fe(),"hidden","none"]}],"divide-style":[{divide:[...fe(),"hidden","none"]}],"border-color":[{border:Q()}],"border-color-x":[{"border-x":Q()}],"border-color-y":[{"border-y":Q()}],"border-color-s":[{"border-s":Q()}],"border-color-e":[{"border-e":Q()}],"border-color-bs":[{"border-bs":Q()}],"border-color-be":[{"border-be":Q()}],"border-color-t":[{"border-t":Q()}],"border-color-r":[{"border-r":Q()}],"border-color-b":[{"border-b":Q()}],"border-color-l":[{"border-l":Q()}],"divide-color":[{divide:Q()}],"outline-style":[{outline:[...fe(),"none","hidden"]}],"outline-offset":[{"outline-offset":[isNumber$1,isArbitraryVariable,isArbitraryValue]}],"outline-w":[{outline:["",isNumber$1,isArbitraryVariableLength,isArbitraryLength]}],"outline-color":[{outline:Q()}],shadow:[{shadow:["","none",T,isArbitraryVariableShadow,isArbitraryShadow]}],"shadow-color":[{shadow:Q()}],"inset-shadow":[{"inset-shadow":["none",_,isArbitraryVariableShadow,isArbitraryShadow]}],"inset-shadow-color":[{"inset-shadow":Q()}],"ring-w":[{ring:de()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:Q()}],"ring-offset-w":[{"ring-offset":[isNumber$1,isArbitraryLength]}],"ring-offset-color":[{"ring-offset":Q()}],"inset-ring-w":[{"inset-ring":de()}],"inset-ring-color":[{"inset-ring":Q()}],"text-shadow":[{"text-shadow":["none",R,isArbitraryVariableShadow,isArbitraryShadow]}],"text-shadow-color":[{"text-shadow":Q()}],opacity:[{opacity:[isNumber$1,isArbitraryVariable,isArbitraryValue]}],"mix-blend":[{"mix-blend":[...pe(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":pe()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[isNumber$1]}],"mask-image-linear-from-pos":[{"mask-linear-from":ge()}],"mask-image-linear-to-pos":[{"mask-linear-to":ge()}],"mask-image-linear-from-color":[{"mask-linear-from":Q()}],"mask-image-linear-to-color":[{"mask-linear-to":Q()}],"mask-image-t-from-pos":[{"mask-t-from":ge()}],"mask-image-t-to-pos":[{"mask-t-to":ge()}],"mask-image-t-from-color":[{"mask-t-from":Q()}],"mask-image-t-to-color":[{"mask-t-to":Q()}],"mask-image-r-from-pos":[{"mask-r-from":ge()}],"mask-image-r-to-pos":[{"mask-r-to":ge()}],"mask-image-r-from-color":[{"mask-r-from":Q()}],"mask-image-r-to-color":[{"mask-r-to":Q()}],"mask-image-b-from-pos":[{"mask-b-from":ge()}],"mask-image-b-to-pos":[{"mask-b-to":ge()}],"mask-image-b-from-color":[{"mask-b-from":Q()}],"mask-image-b-to-color":[{"mask-b-to":Q()}],"mask-image-l-from-pos":[{"mask-l-from":ge()}],"mask-image-l-to-pos":[{"mask-l-to":ge()}],"mask-image-l-from-color":[{"mask-l-from":Q()}],"mask-image-l-to-color":[{"mask-l-to":Q()}],"mask-image-x-from-pos":[{"mask-x-from":ge()}],"mask-image-x-to-pos":[{"mask-x-to":ge()}],"mask-image-x-from-color":[{"mask-x-from":Q()}],"mask-image-x-to-color":[{"mask-x-to":Q()}],"mask-image-y-from-pos":[{"mask-y-from":ge()}],"mask-image-y-to-pos":[{"mask-y-to":ge()}],"mask-image-y-from-color":[{"mask-y-from":Q()}],"mask-image-y-to-color":[{"mask-y-to":Q()}],"mask-image-radial":[{"mask-radial":[isArbitraryVariable,isArbitraryValue]}],"mask-image-radial-from-pos":[{"mask-radial-from":ge()}],"mask-image-radial-to-pos":[{"mask-radial-to":ge()}],"mask-image-radial-from-color":[{"mask-radial-from":Q()}],"mask-image-radial-to-color":[{"mask-radial-to":Q()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":N()}],"mask-image-conic-pos":[{"mask-conic":[isNumber$1]}],"mask-image-conic-from-pos":[{"mask-conic-from":ge()}],"mask-image-conic-to-pos":[{"mask-conic-to":ge()}],"mask-image-conic-from-color":[{"mask-conic-from":Q()}],"mask-image-conic-to-color":[{"mask-conic-to":Q()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:ne()}],"mask-repeat":[{mask:le()}],"mask-size":[{mask:ce()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",isArbitraryVariable,isArbitraryValue]}],filter:[{filter:["","none",isArbitraryVariable,isArbitraryValue]}],blur:[{blur:ve()}],brightness:[{brightness:[isNumber$1,isArbitraryVariable,isArbitraryValue]}],contrast:[{contrast:[isNumber$1,isArbitraryVariable,isArbitraryValue]}],"drop-shadow":[{"drop-shadow":["","none",C,isArbitraryVariableShadow,isArbitraryShadow]}],"drop-shadow-color":[{"drop-shadow":Q()}],grayscale:[{grayscale:["",isNumber$1,isArbitraryVariable,isArbitraryValue]}],"hue-rotate":[{"hue-rotate":[isNumber$1,isArbitraryVariable,isArbitraryValue]}],invert:[{invert:["",isNumber$1,isArbitraryVariable,isArbitraryValue]}],saturate:[{saturate:[isNumber$1,isArbitraryVariable,isArbitraryValue]}],sepia:[{sepia:["",isNumber$1,isArbitraryVariable,isArbitraryValue]}],"backdrop-filter":[{"backdrop-filter":["","none",isArbitraryVariable,isArbitraryValue]}],"backdrop-blur":[{"backdrop-blur":ve()}],"backdrop-brightness":[{"backdrop-brightness":[isNumber$1,isArbitraryVariable,isArbitraryValue]}],"backdrop-contrast":[{"backdrop-contrast":[isNumber$1,isArbitraryVariable,isArbitraryValue]}],"backdrop-grayscale":[{"backdrop-grayscale":["",isNumber$1,isArbitraryVariable,isArbitraryValue]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[isNumber$1,isArbitraryVariable,isArbitraryValue]}],"backdrop-invert":[{"backdrop-invert":["",isNumber$1,isArbitraryVariable,isArbitraryValue]}],"backdrop-opacity":[{"backdrop-opacity":[isNumber$1,isArbitraryVariable,isArbitraryValue]}],"backdrop-saturate":[{"backdrop-saturate":[isNumber$1,isArbitraryVariable,isArbitraryValue]}],"backdrop-sepia":[{"backdrop-sepia":["",isNumber$1,isArbitraryVariable,isArbitraryValue]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":j()}],"border-spacing-x":[{"border-spacing-x":j()}],"border-spacing-y":[{"border-spacing-y":j()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",isArbitraryVariable,isArbitraryValue]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[isNumber$1,"initial",isArbitraryVariable,isArbitraryValue]}],ease:[{ease:["linear","initial",P,isArbitraryVariable,isArbitraryValue]}],delay:[{delay:[isNumber$1,isArbitraryVariable,isArbitraryValue]}],animate:[{animate:["none",D,isArbitraryVariable,isArbitraryValue]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[k,isArbitraryVariable,isArbitraryValue]}],"perspective-origin":[{"perspective-origin":F()}],rotate:[{rotate:be()}],"rotate-x":[{"rotate-x":be()}],"rotate-y":[{"rotate-y":be()}],"rotate-z":[{"rotate-z":be()}],scale:[{scale:ye()}],"scale-x":[{"scale-x":ye()}],"scale-y":[{"scale-y":ye()}],"scale-z":[{"scale-z":ye()}],"scale-3d":["scale-3d"],skew:[{skew:Se()}],"skew-x":[{"skew-x":Se()}],"skew-y":[{"skew-y":Se()}],transform:[{transform:[isArbitraryVariable,isArbitraryValue,"","none","gpu","cpu"]}],"transform-origin":[{origin:F()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:me()}],"translate-x":[{"translate-x":me()}],"translate-y":[{"translate-y":me()}],"translate-z":[{"translate-z":me()}],"translate-none":["translate-none"],accent:[{accent:Q()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:Q()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",isArbitraryVariable,isArbitraryValue]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":j()}],"scroll-mx":[{"scroll-mx":j()}],"scroll-my":[{"scroll-my":j()}],"scroll-ms":[{"scroll-ms":j()}],"scroll-me":[{"scroll-me":j()}],"scroll-mbs":[{"scroll-mbs":j()}],"scroll-mbe":[{"scroll-mbe":j()}],"scroll-mt":[{"scroll-mt":j()}],"scroll-mr":[{"scroll-mr":j()}],"scroll-mb":[{"scroll-mb":j()}],"scroll-ml":[{"scroll-ml":j()}],"scroll-p":[{"scroll-p":j()}],"scroll-px":[{"scroll-px":j()}],"scroll-py":[{"scroll-py":j()}],"scroll-ps":[{"scroll-ps":j()}],"scroll-pe":[{"scroll-pe":j()}],"scroll-pbs":[{"scroll-pbs":j()}],"scroll-pbe":[{"scroll-pbe":j()}],"scroll-pt":[{"scroll-pt":j()}],"scroll-pr":[{"scroll-pr":j()}],"scroll-pb":[{"scroll-pb":j()}],"scroll-pl":[{"scroll-pl":j()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",isArbitraryVariable,isArbitraryValue]}],fill:[{fill:["none",...Q()]}],"stroke-w":[{stroke:[isNumber$1,isArbitraryVariableLength,isArbitraryLength,isArbitraryNumber]}],stroke:[{stroke:["none",...Q()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},twMerge=createTailwindMerge(getDefaultConfig);function cn(...u){return twMerge(clsx(u))}const enumToOptions=u=>Object.entries(u).filter(([n])=>isNaN(Number(n))).map(([n,d])=>({key:n,label:d,value:d})),isFileOrBlob=u=>u instanceof File||u instanceof Blob,isUrlString=u=>typeof u=="string"&&(u.startsWith("http://")||u.startsWith("https://")),validateFile=(u,n,d)=>{if(u.size>n)return{valid:!1,error:`File size exceeds ${n/1024/1024}MB limit`};if(u instanceof File&&d.length>0){const p=u.type;if(!d.some(g=>g.endsWith("/*")?p.startsWith(g.replace("/*","")):p===g))return{valid:!1,error:"File type not allowed"}}return{valid:!0}},getEditorMetrics=u=>{if(!u)return null;const n=u.getJSON(),d=u.getText(),p=E=>!!E.marks?.some(T=>T.type==="customLink"),m=d.trim().split(/\s+/).filter(Boolean).length,g=d.length,y=findByType(n,"media")?.filter(E=>!E.attrs?.uploading)?.length,b=find$2(n,E=>p(E))?.length,S=findByType(n,"poll")?.[0]?.attrs?.choices?.length??0;return{wordCount:m,characterCount:g,mediaCount:y,linkCount:b,pollCount:S,isEmpty:u.isEmpty,hasUnsavedChanges:u.state.doc.content.size>2}};function Tabs({className:u,...n}){return jsxRuntime.jsx(Root2$4,{"data-slot":"tabs",className:cn("flex flex-col gap-2",u),...n})}function TabsList({className:u,...n}){return jsxRuntime.jsx(List$1,{"data-slot":"tabs-list",className:cn("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]",u),...n})}function TabsTrigger({className:u,...n}){return jsxRuntime.jsx(Trigger$5,{"data-slot":"tabs-trigger",className:cn("data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",u),...n})}function TabsContent({className:u,...n}){return jsxRuntime.jsx(Content$2,{"data-slot":"tabs-content",className:cn("flex-1 outline-none",u),...n})}const AnalyticsSessionContext=React.createContext(null);function useAnalyticsSession(){const u=React.useContext(AnalyticsSessionContext);if(!u)throw new Error("useAnalyticsSession must be used within AnalyticsSessionProvider");return u}const createStoreImpl=u=>{let n;const d=new Set,p=(E,T)=>{const _=typeof E=="function"?E(n):E;if(!Object.is(_,n)){const R=n;n=T??(typeof _!="object"||_===null)?_:Object.assign({},n,_),d.forEach(C=>C(n,R))}},m=()=>n,b={setState:p,getState:m,getInitialState:()=>S,subscribe:E=>(d.add(E),()=>d.delete(E))},S=n=u(p,m,b);return b},createStore=(u=>u?createStoreImpl(u):createStoreImpl),identity$1=u=>u;function useStore(u,n=identity$1){const d=React__namespace.default.useSyncExternalStore(u.subscribe,React__namespace.default.useCallback(()=>n(u.getState()),[u,n]),React__namespace.default.useCallback(()=>n(u.getInitialState()),[u,n]));return React__namespace.default.useDebugValue(d),d}const ANALYTICS_EVENTS={SESSION:{STARTED:"post_builder_session_started",COMPLETED:"post_builder_session_completed",ABANDONED:"post_builder_session_abandoned"},EDITOR:{FOCUSED:"post_builder_editor_focused",TAB_SWITCHED:"post_builder_editor_tab_switched"},FEATURE:{DISCOVERED:"post_builder_feature_discovered",REUSED:"post_builder_feature_reused"},MEDIA:{ADDED:"post_builder_media_added",UPLOAD_FAILED:"post_builder_media_upload_failed",REMOVED:"post_builder_media_removed"},LINK:{ADDED:"post_builder_link_added",UNFURL_FAILED:"post_builder_link_unfurl_failed"},POLL:{OPTION_ADDED:"post_builder_poll_option_added",OPTION_REMOVED:"post_builder_poll_option_removed"},CONTENT:{CREATED:"post_builder_content_created"},PUBLISH:{ATTEMPTED:"post_builder_publish_attempted",SUCCESS:"post_builder_publish_success",FAILED:"post_builder_publish_failed"},VALIDATION:{ERROR:"post_builder_validation_error"}},FEATURE_NAME_MAP={undo:"undo",redo:"redo",paragraph:"paragraph",bold:"bold",italic:"italic",strike:"strikethrough",code:"code",customLink:"customLink",bulletList:"bullet_list",orderedList:"ordered_list",blockquote:"blockquote",codeBlock:"code_block",image:"image",video:"video",audio:"audio"},HEADING_FEATURE_MAP={1:"heading_1",2:"heading_2",3:"heading_3"};class SessionManager{sessions=new Map;createSession(n,d=EditorPlacement.Feed){const p=`pb_${v4()}`;return this.sessions.set(p,{id:p,editorType:n,placement:d,startTime:Date.now(),lastErrorType:null,hasUserFocused:!1,focusTime:null,contentCreatedFired:!1,featureUsageCounts:new Map}),p}getSession(n){return this.sessions.get(n)}deleteSession(n){this.sessions.delete(n)}markFocused(n){const d=this.getSession(n);d&&!d.hasUserFocused&&(d.hasUserFocused=!0,d.focusTime=Date.now())}setLastError(n,d){const p=this.getSession(n);p&&(p.lastErrorType=d)}markContentCreated(n){const d=this.getSession(n);d&&(d.contentCreatedFired=!0)}trackFeature(n,d){const p=this.getSession(n);if(!p)return{isFirstUse:!0,usageCount:1};const g=(p.featureUsageCounts.get(d)||0)+1;return p.featureUsageCounts.set(d,g),{isFirstUse:g===1,usageCount:g}}}class FeatureTracker{discoveredFeatures;usageCounts;constructor(){if(typeof window>"u"){this.discoveredFeatures=new Set,this.usageCounts=new Map;return}const n=localStorage?.getItem("pb_feature_tracker");if(n)try{const d=JSON.parse(n);this.discoveredFeatures=new Set(d?.discovered||[]),this.usageCounts=new Map(Object.entries(d?.counts||{}))}catch{this.discoveredFeatures=new Set,this.usageCounts=new Map}else this.discoveredFeatures=new Set,this.usageCounts=new Map}isFirstUse(n){return!this.discoveredFeatures.has(n)}trackUsage(n){const d=this.isFirstUse(n);d&&this.discoveredFeatures.add(n);const m=(this.usageCounts.get(n)||0)+1;return this.usageCounts.set(n,m),this.save(),{isFirstUse:d,usageCount:m}}getUsageCount(n){return this.usageCounts.get(n)||0}save(){const n={discovered:Array.from(this.discoveredFeatures),counts:Object.fromEntries(this.usageCounts)};typeof window<"u"&&localStorage?.setItem("pb_feature_tracker",JSON.stringify(n))}}var freeGlobal=typeof global=="object"&&global&&global.Object===Object&&global,freeSelf=typeof self=="object"&&self&&self.Object===Object&&self,root=freeGlobal||freeSelf||Function("return this")(),Symbol$1=root.Symbol,objectProto$g=Object.prototype,hasOwnProperty$f=objectProto$g.hasOwnProperty,nativeObjectToString$1=objectProto$g.toString,symToStringTag$1=Symbol$1?Symbol$1.toStringTag:void 0;function getRawTag(u){var n=hasOwnProperty$f.call(u,symToStringTag$1),d=u[symToStringTag$1];try{u[symToStringTag$1]=void 0;var p=!0}catch{}var m=nativeObjectToString$1.call(u);return p&&(n?u[symToStringTag$1]=d:delete u[symToStringTag$1]),m}var objectProto$f=Object.prototype,nativeObjectToString=objectProto$f.toString;function objectToString(u){return nativeObjectToString.call(u)}var nullTag="[object Null]",undefinedTag="[object Undefined]",symToStringTag=Symbol$1?Symbol$1.toStringTag:void 0;function baseGetTag(u){return u==null?u===void 0?undefinedTag:nullTag:symToStringTag&&symToStringTag in Object(u)?getRawTag(u):objectToString(u)}function isObjectLike(u){return u!=null&&typeof u=="object"}var symbolTag$3="[object Symbol]";function isSymbol(u){return typeof u=="symbol"||isObjectLike(u)&&baseGetTag(u)==symbolTag$3}function arrayMap(u,n){for(var d=-1,p=u==null?0:u.length,m=Array(p);++d<p;)m[d]=n(u[d],d,u);return m}var isArray$1=Array.isArray,symbolProto$2=Symbol$1?Symbol$1.prototype:void 0,symbolToString=symbolProto$2?symbolProto$2.toString:void 0;function baseToString(u){if(typeof u=="string")return u;if(isArray$1(u))return arrayMap(u,baseToString)+"";if(isSymbol(u))return symbolToString?symbolToString.call(u):"";var n=u+"";return n=="0"&&1/u==-1/0?"-0":n}var reWhitespace=/\s/;function trimmedEndIndex(u){for(var n=u.length;n--&&reWhitespace.test(u.charAt(n)););return n}var reTrimStart=/^\s+/;function baseTrim(u){return u&&u.slice(0,trimmedEndIndex(u)+1).replace(reTrimStart,"")}function isObject$2(u){var n=typeof u;return u!=null&&(n=="object"||n=="function")}var NAN=NaN,reIsBadHex=/^[-+]0x[0-9a-f]+$/i,reIsBinary=/^0b[01]+$/i,reIsOctal=/^0o[0-7]+$/i,freeParseInt=parseInt;function toNumber(u){if(typeof u=="number")return u;if(isSymbol(u))return NAN;if(isObject$2(u)){var n=typeof u.valueOf=="function"?u.valueOf():u;u=isObject$2(n)?n+"":n}if(typeof u!="string")return u===0?u:+u;u=baseTrim(u);var d=reIsBinary.test(u);return d||reIsOctal.test(u)?freeParseInt(u.slice(2),d?2:8):reIsBadHex.test(u)?NAN:+u}function identity(u){return u}var asyncTag="[object AsyncFunction]",funcTag$2="[object Function]",genTag$1="[object GeneratorFunction]",proxyTag="[object Proxy]";function isFunction(u){if(!isObject$2(u))return!1;var n=baseGetTag(u);return n==funcTag$2||n==genTag$1||n==asyncTag||n==proxyTag}var coreJsData=root["__core-js_shared__"],maskSrcKey=(function(){var u=/[^.]+$/.exec(coreJsData&&coreJsData.keys&&coreJsData.keys.IE_PROTO||"");return u?"Symbol(src)_1."+u:""})();function isMasked(u){return!!maskSrcKey&&maskSrcKey in u}var funcProto$2=Function.prototype,funcToString$2=funcProto$2.toString;function toSource(u){if(u!=null){try{return funcToString$2.call(u)}catch{}try{return u+""}catch{}}return""}var reRegExpChar=/[\\^$.*+?()[\]{}|]/g,reIsHostCtor=/^\[object .+?Constructor\]$/,funcProto$1=Function.prototype,objectProto$e=Object.prototype,funcToString$1=funcProto$1.toString,hasOwnProperty$e=objectProto$e.hasOwnProperty,reIsNative=RegExp("^"+funcToString$1.call(hasOwnProperty$e).replace(reRegExpChar,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function baseIsNative(u){if(!isObject$2(u)||isMasked(u))return!1;var n=isFunction(u)?reIsNative:reIsHostCtor;return n.test(toSource(u))}function getValue(u,n){return u?.[n]}function getNative(u,n){var d=getValue(u,n);return baseIsNative(d)?d:void 0}var WeakMap$1=getNative(root,"WeakMap");function apply$1(u,n,d){switch(d.length){case 0:return u.call(n);case 1:return u.call(n,d[0]);case 2:return u.call(n,d[0],d[1]);case 3:return u.call(n,d[0],d[1],d[2])}return u.apply(n,d)}var HOT_COUNT=800,HOT_SPAN=16,nativeNow=Date.now;function shortOut(u){var n=0,d=0;return function(){var p=nativeNow(),m=HOT_SPAN-(p-d);if(d=p,m>0){if(++n>=HOT_COUNT)return arguments[0]}else n=0;return u.apply(void 0,arguments)}}function constant(u){return function(){return u}}var defineProperty=(function(){try{var u=getNative(Object,"defineProperty");return u({},"",{}),u}catch{}})(),baseSetToString=defineProperty?function(u,n){return defineProperty(u,"toString",{configurable:!0,enumerable:!1,value:constant(n),writable:!0})}:identity,setToString=shortOut(baseSetToString);function arrayEach(u,n){for(var d=-1,p=u==null?0:u.length;++d<p&&n(u[d],d,u)!==!1;);return u}var MAX_SAFE_INTEGER$2=9007199254740991,reIsUint=/^(?:0|[1-9]\d*)$/;function isIndex(u,n){var d=typeof u;return n=n??MAX_SAFE_INTEGER$2,!!n&&(d=="number"||d!="symbol"&&reIsUint.test(u))&&u>-1&&u%1==0&&u<n}function baseAssignValue(u,n,d){n=="__proto__"&&defineProperty?defineProperty(u,n,{configurable:!0,enumerable:!0,value:d,writable:!0}):u[n]=d}function eq(u,n){return u===n||u!==u&&n!==n}var objectProto$d=Object.prototype,hasOwnProperty$d=objectProto$d.hasOwnProperty;function assignValue(u,n,d){var p=u[n];(!(hasOwnProperty$d.call(u,n)&&eq(p,d))||d===void 0&&!(n in u))&&baseAssignValue(u,n,d)}function copyObject(u,n,d,p){var m=!d;d||(d={});for(var g=-1,y=n.length;++g<y;){var b=n[g],S=void 0;S===void 0&&(S=u[b]),m?baseAssignValue(d,b,S):assignValue(d,b,S)}return d}var nativeMax$1=Math.max;function overRest(u,n,d){return n=nativeMax$1(n===void 0?u.length-1:n,0),function(){for(var p=arguments,m=-1,g=nativeMax$1(p.length-n,0),y=Array(g);++m<g;)y[m]=p[n+m];m=-1;for(var b=Array(n+1);++m<n;)b[m]=p[m];return b[n]=d(y),apply$1(u,this,b)}}var MAX_SAFE_INTEGER$1=9007199254740991;function isLength(u){return typeof u=="number"&&u>-1&&u%1==0&&u<=MAX_SAFE_INTEGER$1}function isArrayLike(u){return u!=null&&isLength(u.length)&&!isFunction(u)}var objectProto$c=Object.prototype;function isPrototype(u){var n=u&&u.constructor,d=typeof n=="function"&&n.prototype||objectProto$c;return u===d}function baseTimes(u,n){for(var d=-1,p=Array(u);++d<u;)p[d]=n(d);return p}var argsTag$3="[object Arguments]";function baseIsArguments(u){return isObjectLike(u)&&baseGetTag(u)==argsTag$3}var objectProto$b=Object.prototype,hasOwnProperty$c=objectProto$b.hasOwnProperty,propertyIsEnumerable$1=objectProto$b.propertyIsEnumerable,isArguments=baseIsArguments((function(){return arguments})())?baseIsArguments:function(u){return isObjectLike(u)&&hasOwnProperty$c.call(u,"callee")&&!propertyIsEnumerable$1.call(u,"callee")};function stubFalse(){return!1}var freeExports$2=typeof exports=="object"&&exports&&!exports.nodeType&&exports,freeModule$2=freeExports$2&&typeof module=="object"&&module&&!module.nodeType&&module,moduleExports$2=freeModule$2&&freeModule$2.exports===freeExports$2,Buffer$2=moduleExports$2?root.Buffer:void 0,nativeIsBuffer=Buffer$2?Buffer$2.isBuffer:void 0,isBuffer=nativeIsBuffer||stubFalse,argsTag$2="[object Arguments]",arrayTag$2="[object Array]",boolTag$3="[object Boolean]",dateTag$3="[object Date]",errorTag$2="[object Error]",funcTag$1="[object Function]",mapTag$5="[object Map]",numberTag$3="[object Number]",objectTag$4="[object Object]",regexpTag$3="[object RegExp]",setTag$5="[object Set]",stringTag$3="[object String]",weakMapTag$2="[object WeakMap]",arrayBufferTag$3="[object ArrayBuffer]",dataViewTag$4="[object DataView]",float32Tag$2="[object Float32Array]",float64Tag$2="[object Float64Array]",int8Tag$2="[object Int8Array]",int16Tag$2="[object Int16Array]",int32Tag$2="[object Int32Array]",uint8Tag$2="[object Uint8Array]",uint8ClampedTag$2="[object Uint8ClampedArray]",uint16Tag$2="[object Uint16Array]",uint32Tag$2="[object Uint32Array]",typedArrayTags={};typedArrayTags[float32Tag$2]=typedArrayTags[float64Tag$2]=typedArrayTags[int8Tag$2]=typedArrayTags[int16Tag$2]=typedArrayTags[int32Tag$2]=typedArrayTags[uint8Tag$2]=typedArrayTags[uint8ClampedTag$2]=typedArrayTags[uint16Tag$2]=typedArrayTags[uint32Tag$2]=!0;typedArrayTags[argsTag$2]=typedArrayTags[arrayTag$2]=typedArrayTags[arrayBufferTag$3]=typedArrayTags[boolTag$3]=typedArrayTags[dataViewTag$4]=typedArrayTags[dateTag$3]=typedArrayTags[errorTag$2]=typedArrayTags[funcTag$1]=typedArrayTags[mapTag$5]=typedArrayTags[numberTag$3]=typedArrayTags[objectTag$4]=typedArrayTags[regexpTag$3]=typedArrayTags[setTag$5]=typedArrayTags[stringTag$3]=typedArrayTags[weakMapTag$2]=!1;function baseIsTypedArray(u){return isObjectLike(u)&&isLength(u.length)&&!!typedArrayTags[baseGetTag(u)]}function baseUnary(u){return function(n){return u(n)}}var freeExports$1=typeof exports=="object"&&exports&&!exports.nodeType&&exports,freeModule$1=freeExports$1&&typeof module=="object"&&module&&!module.nodeType&&module,moduleExports$1=freeModule$1&&freeModule$1.exports===freeExports$1,freeProcess=moduleExports$1&&freeGlobal.process,nodeUtil=(function(){try{var u=freeModule$1&&freeModule$1.require&&freeModule$1.require("util").types;return u||freeProcess&&freeProcess.binding&&freeProcess.binding("util")}catch{}})(),nodeIsTypedArray=nodeUtil&&nodeUtil.isTypedArray,isTypedArray=nodeIsTypedArray?baseUnary(nodeIsTypedArray):baseIsTypedArray,objectProto$a=Object.prototype,hasOwnProperty$b=objectProto$a.hasOwnProperty;function arrayLikeKeys(u,n){var d=isArray$1(u),p=!d&&isArguments(u),m=!d&&!p&&isBuffer(u),g=!d&&!p&&!m&&isTypedArray(u),y=d||p||m||g,b=y?baseTimes(u.length,String):[],S=b.length;for(var E in u)(n||hasOwnProperty$b.call(u,E))&&!(y&&(E=="length"||m&&(E=="offset"||E=="parent")||g&&(E=="buffer"||E=="byteLength"||E=="byteOffset")||isIndex(E,S)))&&b.push(E);return b}function overArg(u,n){return function(d){return u(n(d))}}var nativeKeys=overArg(Object.keys,Object),objectProto$9=Object.prototype,hasOwnProperty$a=objectProto$9.hasOwnProperty;function baseKeys(u){if(!isPrototype(u))return nativeKeys(u);var n=[];for(var d in Object(u))hasOwnProperty$a.call(u,d)&&d!="constructor"&&n.push(d);return n}function keys$2(u){return isArrayLike(u)?arrayLikeKeys(u):baseKeys(u)}function nativeKeysIn(u){var n=[];if(u!=null)for(var d in Object(u))n.push(d);return n}var objectProto$8=Object.prototype,hasOwnProperty$9=objectProto$8.hasOwnProperty;function baseKeysIn(u){if(!isObject$2(u))return nativeKeysIn(u);var n=isPrototype(u),d=[];for(var p in u)p=="constructor"&&(n||!hasOwnProperty$9.call(u,p))||d.push(p);return d}function keysIn(u){return isArrayLike(u)?arrayLikeKeys(u,!0):baseKeysIn(u)}var reIsDeepProp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,reIsPlainProp=/^\w*$/;function isKey(u,n){if(isArray$1(u))return!1;var d=typeof u;return d=="number"||d=="symbol"||d=="boolean"||u==null||isSymbol(u)?!0:reIsPlainProp.test(u)||!reIsDeepProp.test(u)||n!=null&&u in Object(n)}var nativeCreate=getNative(Object,"create");function hashClear(){this.__data__=nativeCreate?nativeCreate(null):{},this.size=0}function hashDelete(u){var n=this.has(u)&&delete this.__data__[u];return this.size-=n?1:0,n}var HASH_UNDEFINED$2="__lodash_hash_undefined__",objectProto$7=Object.prototype,hasOwnProperty$8=objectProto$7.hasOwnProperty;function hashGet(u){var n=this.__data__;if(nativeCreate){var d=n[u];return d===HASH_UNDEFINED$2?void 0:d}return hasOwnProperty$8.call(n,u)?n[u]:void 0}var objectProto$6=Object.prototype,hasOwnProperty$7=objectProto$6.hasOwnProperty;function hashHas(u){var n=this.__data__;return nativeCreate?n[u]!==void 0:hasOwnProperty$7.call(n,u)}var HASH_UNDEFINED$1="__lodash_hash_undefined__";function hashSet(u,n){var d=this.__data__;return this.size+=this.has(u)?0:1,d[u]=nativeCreate&&n===void 0?HASH_UNDEFINED$1:n,this}function Hash(u){var n=-1,d=u==null?0:u.length;for(this.clear();++n<d;){var p=u[n];this.set(p[0],p[1])}}Hash.prototype.clear=hashClear;Hash.prototype.delete=hashDelete;Hash.prototype.get=hashGet;Hash.prototype.has=hashHas;Hash.prototype.set=hashSet;function listCacheClear(){this.__data__=[],this.size=0}function assocIndexOf(u,n){for(var d=u.length;d--;)if(eq(u[d][0],n))return d;return-1}var arrayProto=Array.prototype,splice=arrayProto.splice;function listCacheDelete(u){var n=this.__data__,d=assocIndexOf(n,u);if(d<0)return!1;var p=n.length-1;return d==p?n.pop():splice.call(n,d,1),--this.size,!0}function listCacheGet(u){var n=this.__data__,d=assocIndexOf(n,u);return d<0?void 0:n[d][1]}function listCacheHas(u){return assocIndexOf(this.__data__,u)>-1}function listCacheSet(u,n){var d=this.__data__,p=assocIndexOf(d,u);return p<0?(++this.size,d.push([u,n])):d[p][1]=n,this}function ListCache(u){var n=-1,d=u==null?0:u.length;for(this.clear();++n<d;){var p=u[n];this.set(p[0],p[1])}}ListCache.prototype.clear=listCacheClear;ListCache.prototype.delete=listCacheDelete;ListCache.prototype.get=listCacheGet;ListCache.prototype.has=listCacheHas;ListCache.prototype.set=listCacheSet;var Map$1=getNative(root,"Map");function mapCacheClear(){this.size=0,this.__data__={hash:new Hash,map:new(Map$1||ListCache),string:new Hash}}function isKeyable(u){var n=typeof u;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?u!=="__proto__":u===null}function getMapData(u,n){var d=u.__data__;return isKeyable(n)?d[typeof n=="string"?"string":"hash"]:d.map}function mapCacheDelete(u){var n=getMapData(this,u).delete(u);return this.size-=n?1:0,n}function mapCacheGet(u){return getMapData(this,u).get(u)}function mapCacheHas(u){return getMapData(this,u).has(u)}function mapCacheSet(u,n){var d=getMapData(this,u),p=d.size;return d.set(u,n),this.size+=d.size==p?0:1,this}function MapCache(u){var n=-1,d=u==null?0:u.length;for(this.clear();++n<d;){var p=u[n];this.set(p[0],p[1])}}MapCache.prototype.clear=mapCacheClear;MapCache.prototype.delete=mapCacheDelete;MapCache.prototype.get=mapCacheGet;MapCache.prototype.has=mapCacheHas;MapCache.prototype.set=mapCacheSet;var FUNC_ERROR_TEXT$2="Expected a function";function memoize(u,n){if(typeof u!="function"||n!=null&&typeof n!="function")throw new TypeError(FUNC_ERROR_TEXT$2);var d=function(){var p=arguments,m=n?n.apply(this,p):p[0],g=d.cache;if(g.has(m))return g.get(m);var y=u.apply(this,p);return d.cache=g.set(m,y)||g,y};return d.cache=new(memoize.Cache||MapCache),d}memoize.Cache=MapCache;var MAX_MEMOIZE_SIZE=500;function memoizeCapped(u){var n=memoize(u,function(p){return d.size===MAX_MEMOIZE_SIZE&&d.clear(),p}),d=n.cache;return n}var rePropName=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,reEscapeChar=/\\(\\)?/g,stringToPath=memoizeCapped(function(u){var n=[];return u.charCodeAt(0)===46&&n.push(""),u.replace(rePropName,function(d,p,m,g){n.push(m?g.replace(reEscapeChar,"$1"):p||d)}),n});function toString$1(u){return u==null?"":baseToString(u)}function castPath(u,n){return isArray$1(u)?u:isKey(u,n)?[u]:stringToPath(toString$1(u))}function toKey(u){if(typeof u=="string"||isSymbol(u))return u;var n=u+"";return n=="0"&&1/u==-1/0?"-0":n}function baseGet(u,n){n=castPath(n,u);for(var d=0,p=n.length;u!=null&&d<p;)u=u[toKey(n[d++])];return d&&d==p?u:void 0}function get(u,n,d){var p=u==null?void 0:baseGet(u,n);return p===void 0?d:p}function arrayPush$1(u,n){for(var d=-1,p=n.length,m=u.length;++d<p;)u[m+d]=n[d];return u}var spreadableSymbol=Symbol$1?Symbol$1.isConcatSpreadable:void 0;function isFlattenable(u){return isArray$1(u)||isArguments(u)||!!(spreadableSymbol&&u&&u[spreadableSymbol])}function baseFlatten(u,n,d,p,m){var g=-1,y=u.length;for(d||(d=isFlattenable),m||(m=[]);++g<y;){var b=u[g];d(b)?arrayPush$1(m,b):m[m.length]=b}return m}function flatten(u){var n=u==null?0:u.length;return n?baseFlatten(u):[]}function flatRest(u){return setToString(overRest(u,void 0,flatten),u+"")}var getPrototype=overArg(Object.getPrototypeOf,Object),objectTag$3="[object Object]",funcProto=Function.prototype,objectProto$5=Object.prototype,funcToString=funcProto.toString,hasOwnProperty$6=objectProto$5.hasOwnProperty,objectCtorString=funcToString.call(Object);function isPlainObject(u){if(!isObjectLike(u)||baseGetTag(u)!=objectTag$3)return!1;var n=getPrototype(u);if(n===null)return!0;var d=hasOwnProperty$6.call(n,"constructor")&&n.constructor;return typeof d=="function"&&d instanceof d&&funcToString.call(d)==objectCtorString}function baseSlice(u,n,d){var p=-1,m=u.length;n<0&&(n=-n>m?0:m+n),d=d>m?m:d,d<0&&(d+=m),m=n>d?0:d-n>>>0,n>>>=0;for(var g=Array(m);++p<m;)g[p]=u[p+n];return g}function stackClear(){this.__data__=new ListCache,this.size=0}function stackDelete(u){var n=this.__data__,d=n.delete(u);return this.size=n.size,d}function stackGet(u){return this.__data__.get(u)}function stackHas(u){return this.__data__.has(u)}var LARGE_ARRAY_SIZE=200;function stackSet(u,n){var d=this.__data__;if(d instanceof ListCache){var p=d.__data__;if(!Map$1||p.length<LARGE_ARRAY_SIZE-1)return p.push([u,n]),this.size=++d.size,this;d=this.__data__=new MapCache(p)}return d.set(u,n),this.size=d.size,this}function Stack(u){var n=this.__data__=new ListCache(u);this.size=n.size}Stack.prototype.clear=stackClear;Stack.prototype.delete=stackDelete;Stack.prototype.get=stackGet;Stack.prototype.has=stackHas;Stack.prototype.set=stackSet;var freeExports=typeof exports=="object"&&exports&&!exports.nodeType&&exports,freeModule=freeExports&&typeof module=="object"&&module&&!module.nodeType&&module,moduleExports=freeModule&&freeModule.exports===freeExports,Buffer$1=moduleExports?root.Buffer:void 0;Buffer$1&&Buffer$1.allocUnsafe;function cloneBuffer(u,n){return u.slice()}function arrayFilter(u,n){for(var d=-1,p=u==null?0:u.length,m=0,g=[];++d<p;){var y=u[d];n(y,d,u)&&(g[m++]=y)}return g}function stubArray(){return[]}var objectProto$4=Object.prototype,propertyIsEnumerable=objectProto$4.propertyIsEnumerable,nativeGetSymbols$1=Object.getOwnPropertySymbols,getSymbols=nativeGetSymbols$1?function(u){return u==null?[]:(u=Object(u),arrayFilter(nativeGetSymbols$1(u),function(n){return propertyIsEnumerable.call(u,n)}))}:stubArray,nativeGetSymbols=Object.getOwnPropertySymbols,getSymbolsIn=nativeGetSymbols?function(u){for(var n=[];u;)arrayPush$1(n,getSymbols(u)),u=getPrototype(u);return n}:stubArray;function baseGetAllKeys(u,n,d){var p=n(u);return isArray$1(u)?p:arrayPush$1(p,d(u))}function getAllKeys(u){return baseGetAllKeys(u,keys$2,getSymbols)}function getAllKeysIn(u){return baseGetAllKeys(u,keysIn,getSymbolsIn)}var DataView$1=getNative(root,"DataView"),Promise$1=getNative(root,"Promise"),Set$1=getNative(root,"Set"),mapTag$4="[object Map]",objectTag$2="[object Object]",promiseTag="[object Promise]",setTag$4="[object Set]",weakMapTag$1="[object WeakMap]",dataViewTag$3="[object DataView]",dataViewCtorString=toSource(DataView$1),mapCtorString=toSource(Map$1),promiseCtorString=toSource(Promise$1),setCtorString=toSource(Set$1),weakMapCtorString=toSource(WeakMap$1),getTag=baseGetTag;(DataView$1&&getTag(new DataView$1(new ArrayBuffer(1)))!=dataViewTag$3||Map$1&&getTag(new Map$1)!=mapTag$4||Promise$1&&getTag(Promise$1.resolve())!=promiseTag||Set$1&&getTag(new Set$1)!=setTag$4||WeakMap$1&&getTag(new WeakMap$1)!=weakMapTag$1)&&(getTag=function(u){var n=baseGetTag(u),d=n==objectTag$2?u.constructor:void 0,p=d?toSource(d):"";if(p)switch(p){case dataViewCtorString:return dataViewTag$3;case mapCtorString:return mapTag$4;case promiseCtorString:return promiseTag;case setCtorString:return setTag$4;case weakMapCtorString:return weakMapTag$1}return n});var objectProto$3=Object.prototype,hasOwnProperty$5=objectProto$3.hasOwnProperty;function initCloneArray(u){var n=u.length,d=new u.constructor(n);return n&&typeof u[0]=="string"&&hasOwnProperty$5.call(u,"index")&&(d.index=u.index,d.input=u.input),d}var Uint8Array$1=root.Uint8Array;function cloneArrayBuffer(u){var n=new u.constructor(u.byteLength);return new Uint8Array$1(n).set(new Uint8Array$1(u)),n}function cloneDataView(u,n){var d=cloneArrayBuffer(u.buffer);return new u.constructor(d,u.byteOffset,u.byteLength)}var reFlags=/\w*$/;function cloneRegExp(u){var n=new u.constructor(u.source,reFlags.exec(u));return n.lastIndex=u.lastIndex,n}var symbolProto$1=Symbol$1?Symbol$1.prototype:void 0,symbolValueOf$1=symbolProto$1?symbolProto$1.valueOf:void 0;function cloneSymbol(u){return symbolValueOf$1?Object(symbolValueOf$1.call(u)):{}}function cloneTypedArray(u,n){var d=cloneArrayBuffer(u.buffer);return new u.constructor(d,u.byteOffset,u.length)}var boolTag$2="[object Boolean]",dateTag$2="[object Date]",mapTag$3="[object Map]",numberTag$2="[object Number]",regexpTag$2="[object RegExp]",setTag$3="[object Set]",stringTag$2="[object String]",symbolTag$2="[object Symbol]",arrayBufferTag$2="[object ArrayBuffer]",dataViewTag$2="[object DataView]",float32Tag$1="[object Float32Array]",float64Tag$1="[object Float64Array]",int8Tag$1="[object Int8Array]",int16Tag$1="[object Int16Array]",int32Tag$1="[object Int32Array]",uint8Tag$1="[object Uint8Array]",uint8ClampedTag$1="[object Uint8ClampedArray]",uint16Tag$1="[object Uint16Array]",uint32Tag$1="[object Uint32Array]";function initCloneByTag(u,n,d){var p=u.constructor;switch(n){case arrayBufferTag$2:return cloneArrayBuffer(u);case boolTag$2:case dateTag$2:return new p(+u);case dataViewTag$2:return cloneDataView(u);case float32Tag$1:case float64Tag$1:case int8Tag$1:case int16Tag$1:case int32Tag$1:case uint8Tag$1:case uint8ClampedTag$1:case uint16Tag$1:case uint32Tag$1:return cloneTypedArray(u);case mapTag$3:return new p;case numberTag$2:case stringTag$2:return new p(u);case regexpTag$2:return cloneRegExp(u);case setTag$3:return new p;case symbolTag$2:return cloneSymbol(u)}}var mapTag$2="[object Map]";function baseIsMap(u){return isObjectLike(u)&&getTag(u)==mapTag$2}var nodeIsMap=nodeUtil&&nodeUtil.isMap,isMap=nodeIsMap?baseUnary(nodeIsMap):baseIsMap,setTag$2="[object Set]";function baseIsSet(u){return isObjectLike(u)&&getTag(u)==setTag$2}var nodeIsSet=nodeUtil&&nodeUtil.isSet,isSet=nodeIsSet?baseUnary(nodeIsSet):baseIsSet,argsTag$1="[object Arguments]",arrayTag$1="[object Array]",boolTag$1="[object Boolean]",dateTag$1="[object Date]",errorTag$1="[object Error]",funcTag="[object Function]",genTag="[object GeneratorFunction]",mapTag$1="[object Map]",numberTag$1="[object Number]",objectTag$1="[object Object]",regexpTag$1="[object RegExp]",setTag$1="[object Set]",stringTag$1="[object String]",symbolTag$1="[object Symbol]",weakMapTag="[object WeakMap]",arrayBufferTag$1="[object ArrayBuffer]",dataViewTag$1="[object DataView]",float32Tag="[object Float32Array]",float64Tag="[object Float64Array]",int8Tag="[object Int8Array]",int16Tag="[object Int16Array]",int32Tag="[object Int32Array]",uint8Tag="[object Uint8Array]",uint8ClampedTag="[object Uint8ClampedArray]",uint16Tag="[object Uint16Array]",uint32Tag="[object Uint32Array]",cloneableTags={};cloneableTags[argsTag$1]=cloneableTags[arrayTag$1]=cloneableTags[arrayBufferTag$1]=cloneableTags[dataViewTag$1]=cloneableTags[boolTag$1]=cloneableTags[dateTag$1]=cloneableTags[float32Tag]=cloneableTags[float64Tag]=cloneableTags[int8Tag]=cloneableTags[int16Tag]=cloneableTags[int32Tag]=cloneableTags[mapTag$1]=cloneableTags[numberTag$1]=cloneableTags[objectTag$1]=cloneableTags[regexpTag$1]=cloneableTags[setTag$1]=cloneableTags[stringTag$1]=cloneableTags[symbolTag$1]=cloneableTags[uint8Tag]=cloneableTags[uint8ClampedTag]=cloneableTags[uint16Tag]=cloneableTags[uint32Tag]=!0;cloneableTags[errorTag$1]=cloneableTags[funcTag]=cloneableTags[weakMapTag]=!1;function baseClone(u,n,d,p,m,g){var y;if(d&&(y=m?d(u,p,m,g):d(u)),y!==void 0)return y;if(!isObject$2(u))return u;var b=isArray$1(u);if(b)y=initCloneArray(u);else{var S=getTag(u),E=S==funcTag||S==genTag;if(isBuffer(u))return cloneBuffer(u);if(S==objectTag$1||S==argsTag$1||E&&!m)y={};else{if(!cloneableTags[S])return m?u:{};y=initCloneByTag(u,S)}}g||(g=new Stack);var T=g.get(u);if(T)return T;g.set(u,y),isSet(u)?u.forEach(function(C){y.add(baseClone(C,n,d,C,u,g))}):isMap(u)&&u.forEach(function(C,A){y.set(A,baseClone(C,n,d,A,u,g))});var _=getAllKeysIn,R=b?void 0:_(u);return arrayEach(R||u,function(C,A){R&&(A=C,C=u[A]),assignValue(y,A,baseClone(C,n,d,A,u,g))}),y}var HASH_UNDEFINED="__lodash_hash_undefined__";function setCacheAdd(u){return this.__data__.set(u,HASH_UNDEFINED),this}function setCacheHas(u){return this.__data__.has(u)}function SetCache(u){var n=-1,d=u==null?0:u.length;for(this.__data__=new MapCache;++n<d;)this.add(u[n])}SetCache.prototype.add=SetCache.prototype.push=setCacheAdd;SetCache.prototype.has=setCacheHas;function arraySome(u,n){for(var d=-1,p=u==null?0:u.length;++d<p;)if(n(u[d],d,u))return!0;return!1}function cacheHas(u,n){return u.has(n)}var COMPARE_PARTIAL_FLAG$5=1,COMPARE_UNORDERED_FLAG$3=2;function equalArrays(u,n,d,p,m,g){var y=d&COMPARE_PARTIAL_FLAG$5,b=u.length,S=n.length;if(b!=S&&!(y&&S>b))return!1;var E=g.get(u),T=g.get(n);if(E&&T)return E==n&&T==u;var _=-1,R=!0,C=d&COMPARE_UNORDERED_FLAG$3?new SetCache:void 0;for(g.set(u,n),g.set(n,u);++_<b;){var A=u[_],k=n[_];if(p)var I=y?p(k,A,_,n,u,g):p(A,k,_,u,n,g);if(I!==void 0){if(I)continue;R=!1;break}if(C){if(!arraySome(n,function(P,D){if(!cacheHas(C,D)&&(A===P||m(A,P,d,p,g)))return C.push(D)})){R=!1;break}}else if(!(A===k||m(A,k,d,p,g))){R=!1;break}}return g.delete(u),g.delete(n),R}function mapToArray(u){var n=-1,d=Array(u.size);return u.forEach(function(p,m){d[++n]=[m,p]}),d}function setToArray(u){var n=-1,d=Array(u.size);return u.forEach(function(p){d[++n]=p}),d}var COMPARE_PARTIAL_FLAG$4=1,COMPARE_UNORDERED_FLAG$2=2,boolTag="[object Boolean]",dateTag="[object Date]",errorTag="[object Error]",mapTag="[object Map]",numberTag="[object Number]",regexpTag="[object RegExp]",setTag="[object Set]",stringTag="[object String]",symbolTag="[object Symbol]",arrayBufferTag="[object ArrayBuffer]",dataViewTag="[object DataView]",symbolProto=Symbol$1?Symbol$1.prototype:void 0,symbolValueOf=symbolProto?symbolProto.valueOf:void 0;function equalByTag(u,n,d,p,m,g,y){switch(d){case dataViewTag:if(u.byteLength!=n.byteLength||u.byteOffset!=n.byteOffset)return!1;u=u.buffer,n=n.buffer;case arrayBufferTag:return!(u.byteLength!=n.byteLength||!g(new Uint8Array$1(u),new Uint8Array$1(n)));case boolTag:case dateTag:case numberTag:return eq(+u,+n);case errorTag:return u.name==n.name&&u.message==n.message;case regexpTag:case stringTag:return u==n+"";case mapTag:var b=mapToArray;case setTag:var S=p&COMPARE_PARTIAL_FLAG$4;if(b||(b=setToArray),u.size!=n.size&&!S)return!1;var E=y.get(u);if(E)return E==n;p|=COMPARE_UNORDERED_FLAG$2,y.set(u,n);var T=equalArrays(b(u),b(n),p,m,g,y);return y.delete(u),T;case symbolTag:if(symbolValueOf)return symbolValueOf.call(u)==symbolValueOf.call(n)}return!1}var COMPARE_PARTIAL_FLAG$3=1,objectProto$2=Object.prototype,hasOwnProperty$4=objectProto$2.hasOwnProperty;function equalObjects(u,n,d,p,m,g){var y=d&COMPARE_PARTIAL_FLAG$3,b=getAllKeys(u),S=b.length,E=getAllKeys(n),T=E.length;if(S!=T&&!y)return!1;for(var _=S;_--;){var R=b[_];if(!(y?R in n:hasOwnProperty$4.call(n,R)))return!1}var C=g.get(u),A=g.get(n);if(C&&A)return C==n&&A==u;var k=!0;g.set(u,n),g.set(n,u);for(var I=y;++_<S;){R=b[_];var P=u[R],D=n[R];if(p)var O=y?p(D,P,R,n,u,g):p(P,D,R,u,n,g);if(!(O===void 0?P===D||m(P,D,d,p,g):O)){k=!1;break}I||(I=R=="constructor")}if(k&&!I){var N=u.constructor,F=n.constructor;N!=F&&"constructor"in u&&"constructor"in n&&!(typeof N=="function"&&N instanceof N&&typeof F=="function"&&F instanceof F)&&(k=!1)}return g.delete(u),g.delete(n),k}var COMPARE_PARTIAL_FLAG$2=1,argsTag="[object Arguments]",arrayTag="[object Array]",objectTag="[object Object]",objectProto$1=Object.prototype,hasOwnProperty$3=objectProto$1.hasOwnProperty;function baseIsEqualDeep(u,n,d,p,m,g){var y=isArray$1(u),b=isArray$1(n),S=y?arrayTag:getTag(u),E=b?arrayTag:getTag(n);S=S==argsTag?objectTag:S,E=E==argsTag?objectTag:E;var T=S==objectTag,_=E==objectTag,R=S==E;if(R&&isBuffer(u)){if(!isBuffer(n))return!1;y=!0,T=!1}if(R&&!T)return g||(g=new Stack),y||isTypedArray(u)?equalArrays(u,n,d,p,m,g):equalByTag(u,n,S,d,p,m,g);if(!(d&COMPARE_PARTIAL_FLAG$2)){var C=T&&hasOwnProperty$3.call(u,"__wrapped__"),A=_&&hasOwnProperty$3.call(n,"__wrapped__");if(C||A){var k=C?u.value():u,I=A?n.value():n;return g||(g=new Stack),m(k,I,d,p,g)}}return R?(g||(g=new Stack),equalObjects(u,n,d,p,m,g)):!1}function baseIsEqual(u,n,d,p,m){return u===n?!0:u==null||n==null||!isObjectLike(u)&&!isObjectLike(n)?u!==u&&n!==n:baseIsEqualDeep(u,n,d,p,baseIsEqual,m)}var COMPARE_PARTIAL_FLAG$1=1,COMPARE_UNORDERED_FLAG$1=2;function baseIsMatch(u,n,d,p){var m=d.length,g=m;if(u==null)return!g;for(u=Object(u);m--;){var y=d[m];if(y[2]?y[1]!==u[y[0]]:!(y[0]in u))return!1}for(;++m<g;){y=d[m];var b=y[0],S=u[b],E=y[1];if(y[2]){if(S===void 0&&!(b in u))return!1}else{var T=new Stack,_;if(!(_===void 0?baseIsEqual(E,S,COMPARE_PARTIAL_FLAG$1|COMPARE_UNORDERED_FLAG$1,p,T):_))return!1}}return!0}function isStrictComparable(u){return u===u&&!isObject$2(u)}function getMatchData(u){for(var n=keys$2(u),d=n.length;d--;){var p=n[d],m=u[p];n[d]=[p,m,isStrictComparable(m)]}return n}function matchesStrictComparable(u,n){return function(d){return d==null?!1:d[u]===n&&(n!==void 0||u in Object(d))}}function baseMatches(u){var n=getMatchData(u);return n.length==1&&n[0][2]?matchesStrictComparable(n[0][0],n[0][1]):function(d){return d===u||baseIsMatch(d,u,n)}}function baseHasIn(u,n){return u!=null&&n in Object(u)}function hasPath(u,n,d){n=castPath(n,u);for(var p=-1,m=n.length,g=!1;++p<m;){var y=toKey(n[p]);if(!(g=u!=null&&d(u,y)))break;u=u[y]}return g||++p!=m?g:(m=u==null?0:u.length,!!m&&isLength(m)&&isIndex(y,m)&&(isArray$1(u)||isArguments(u)))}function hasIn(u,n){return u!=null&&hasPath(u,n,baseHasIn)}var COMPARE_PARTIAL_FLAG=1,COMPARE_UNORDERED_FLAG=2;function baseMatchesProperty(u,n){return isKey(u)&&isStrictComparable(n)?matchesStrictComparable(toKey(u),n):function(d){var p=get(d,u);return p===void 0&&p===n?hasIn(d,u):baseIsEqual(n,p,COMPARE_PARTIAL_FLAG|COMPARE_UNORDERED_FLAG)}}function baseProperty(u){return function(n){return n?.[u]}}function basePropertyDeep(u){return function(n){return baseGet(n,u)}}function property(u){return isKey(u)?baseProperty(toKey(u)):basePropertyDeep(u)}function baseIteratee(u){return typeof u=="function"?u:u==null?identity:typeof u=="object"?isArray$1(u)?baseMatchesProperty(u[0],u[1]):baseMatches(u):property(u)}var now=function(){return root.Date.now()},FUNC_ERROR_TEXT$1="Expected a function",nativeMax=Math.max,nativeMin=Math.min;function debounce$2(u,n,d){var p,m,g,y,b,S,E=0,T=!1,_=!1,R=!0;if(typeof u!="function")throw new TypeError(FUNC_ERROR_TEXT$1);n=toNumber(n)||0,isObject$2(d)&&(T=!!d.leading,_="maxWait"in d,g=_?nativeMax(toNumber(d.maxWait)||0,n):g,R="trailing"in d?!!d.trailing:R);function C(L){var V=p,j=m;return p=m=void 0,E=L,y=u.apply(j,V),y}function A(L){return E=L,b=setTimeout(P,n),T?C(L):y}function k(L){var V=L-S,j=L-E,Y=n-V;return _?nativeMin(Y,g-j):Y}function I(L){var V=L-S,j=L-E;return S===void 0||V>=n||V<0||_&&j>=g}function P(){var L=now();if(I(L))return D(L);b=setTimeout(P,k(L))}function D(L){return b=void 0,R&&p?C(L):(p=m=void 0,y)}function O(){b!==void 0&&clearTimeout(b),E=0,p=S=m=b=void 0}function N(){return b===void 0?y:D(now())}function F(){var L=now(),V=I(L);if(p=arguments,m=this,S=L,V){if(b===void 0)return A(S);if(_)return clearTimeout(b),b=setTimeout(P,n),C(S)}return b===void 0&&(b=setTimeout(P,n)),y}return F.cancel=O,F.flush=N,F}function last$1(u){var n=u==null?0:u.length;return n?u[n-1]:void 0}function parent(u,n){return n.length<2?u:baseGet(u,baseSlice(n,0,-1))}function isNil(u){return u==null}var FUNC_ERROR_TEXT="Expected a function";function negate(u){if(typeof u!="function")throw new TypeError(FUNC_ERROR_TEXT);return function(){var n=arguments;switch(n.length){case 0:return!u.call(this);case 1:return!u.call(this,n[0]);case 2:return!u.call(this,n[0],n[1]);case 3:return!u.call(this,n[0],n[1],n[2])}return!u.apply(this,n)}}var objectProto=Object.prototype,hasOwnProperty$2=objectProto.hasOwnProperty;function baseUnset(u,n){n=castPath(n,u);var d=-1,p=n.length;if(!p)return!0;for(var m=u==null||typeof u!="object"&&typeof u!="function";++d<p;){var g=n[d];if(typeof g=="string"){if(g==="__proto__"&&!hasOwnProperty$2.call(u,"__proto__"))return!1;if(g==="constructor"&&d+1<p&&typeof n[d+1]=="string"&&n[d+1]==="prototype"){if(m&&d===0)continue;return!1}}}var y=parent(u,n);return y==null||delete y[toKey(last$1(n))]}function customOmitClone(u){return isPlainObject(u)?void 0:u}var CLONE_DEEP_FLAG=1,CLONE_FLAT_FLAG=2,CLONE_SYMBOLS_FLAG=4,omit=flatRest(function(u,n){var d={};if(u==null)return d;var p=!1;n=arrayMap(n,function(g){return g=castPath(g,u),p||(p=g.length>1),g}),copyObject(u,getAllKeysIn(u),d),p&&(d=baseClone(d,CLONE_DEEP_FLAG|CLONE_FLAT_FLAG|CLONE_SYMBOLS_FLAG,customOmitClone));for(var m=n.length;m--;)baseUnset(d,n[m]);return d});function baseSet(u,n,d,p){if(!isObject$2(u))return u;n=castPath(n,u);for(var m=-1,g=n.length,y=g-1,b=u;b!=null&&++m<g;){var S=toKey(n[m]),E=d;if(S==="__proto__"||S==="constructor"||S==="prototype")return u;if(m!=y){var T=b[S];E=void 0,E===void 0&&(E=isObject$2(T)?T:isIndex(n[m+1])?[]:{})}assignValue(b,S,E),b=b[S]}return u}function basePickBy(u,n,d){for(var p=-1,m=n.length,g={};++p<m;){var y=n[p],b=baseGet(u,y);d(b,y)&&baseSet(g,castPath(y,u),b)}return g}function pickBy(u,n){if(u==null)return{};var d=arrayMap(getAllKeysIn(u),function(p){return[p]});return n=baseIteratee(n),basePickBy(u,d,function(p,m){return n(p,m[0])})}function omitBy(u,n){return pickBy(u,negate(baseIteratee(n)))}const analyticsStore=createStore((u,n)=>({sessionManager:new SessionManager,featureUsage:new FeatureTracker,enabled:!1,debug:!1,logEventFn:null,publishCrosspost:new Map,initialize:(d,p={})=>{u({logEventFn:d,enabled:p.enabled??!1,debug:p.debug??!1}),p.debug},createSession:(d,p)=>{const{sessionManager:m,logEventFn:g,enabled:y,debug:b}=n(),S=m.createSession(d,p);if(y&&g){const E={session_id:S,timestamp:Date.now(),editor_type:d,editor_placement:p};g(ANALYTICS_EVENTS.SESSION.STARTED,E)}return S},deleteSession:d=>{const{sessionManager:p,trackEvent:m}=n(),g=p.getSession(d);g&&(m(d,ANALYTICS_EVENTS.SESSION.COMPLETED,{session_duration_ms:Date.now()-g.startTime}),p.deleteSession(d))},trackEvent:(d,p,m={})=>{const{sessionManager:g,logEventFn:y,enabled:b,debug:S}=n();if(!b||!y)return;const E=g.getSession(d);if(!E)return;const T={session_id:d,timestamp:Date.now(),editor_type:E.editorType,editor_placement:E.placement,...m},_=pickBy(T,R=>R!=null);y(p,_)},trackPublish:(d,p)=>{const{trackEvent:m,sessionManager:g,publishCrosspost:y}=n(),b=g.getSession(d),S=p.isCrosspost??y.get(p.postId)??!1;p.status==="attempted"?(y.set(p.postId,S),m(d,ANALYTICS_EVENTS.PUBLISH.ATTEMPTED,{editor_type:p.editorType,post_id:p.postId,group_id:p.groupId,post_type:p.postType,is_crosspost:S,word_count:p.wordCount,media_count:p.mediaCount,link_count:p.linkCount,formatting_features:p.formattingFeatures})):p.status==="success"?(y.delete(p.postId),m(d,ANALYTICS_EVENTS.PUBLISH.SUCCESS,{editor_type:p.editorType,post_id:p.postId,group_id:p.groupId,post_type:p.postType,is_crosspost:S,word_count:p.wordCount,media_count:p.mediaCount,link_count:p.linkCount,formatting_features:p.formattingFeatures,session_duration_ms:b?Date.now()-b.startTime:void 0})):(y.delete(p.postId),g.setLastError(d,p.failureReason||"unknown"),m(d,ANALYTICS_EVENTS.PUBLISH.FAILED,{editor_type:p.editorType,post_id:p.postId,group_id:p.groupId,post_type:p.postType,is_crosspost:S,error_type:p.failureReason,word_count:p.wordCount,media_count:p.mediaCount,link_count:p.linkCount,formatting_features:p.formattingFeatures}))},trackExplicitAbandon:(d,p)=>{const{trackEvent:m,sessionManager:g}=n(),y=g.getSession(d);m(d,ANALYTICS_EVENTS.SESSION.ABANDONED,{session_duration_ms:y?Date.now()-y.startTime:0,content_length:p.contentLength,has_unsaved_changes:p.hasUnsavedChanges,abandon_reason:p.abandonReason,last_error_type:y?.lastErrorType||void 0})},trackFeature:(d,p)=>{const{sessionManager:m,trackEvent:g}=n(),{isFirstUse:y,usageCount:b}=m.trackFeature(d,p);g(d,y?ANALYTICS_EVENTS.FEATURE.DISCOVERED:ANALYTICS_EVENTS.FEATURE.REUSED,{feature_name:p,...y?{}:{usage_count:b}})},trackEditorFocus:d=>{const{sessionManager:p,trackEvent:m}=n();p.markFocused(d);const g=p.getSession(d),y=g?.focusTime?g.focusTime-g.startTime:null;m(d,ANALYTICS_EVENTS.EDITOR.FOCUSED,{time_to_focus_ms:y||void 0})},trackTabSwitch:(d,p,m)=>{const{trackEvent:g}=n();g(d,ANALYTICS_EVENTS.EDITOR.TAB_SWITCHED,{from_tab:p,to_tab:m})},trackContentCreated:(d,p)=>{const{sessionManager:m,trackEvent:g}=n(),y=m.getSession(d);!y||y.contentCreatedFired||(m.markContentCreated(d),g(d,ANALYTICS_EVENTS.CONTENT.CREATED,{editor_type:p.editorType,word_count:p.wordCount,media_count:p.mediaCount,link_count:p.linkCount,time_to_first_content_ms:Date.now()-y.startTime}))},trackMediaUploadSuccess:(d,p)=>{const{trackEvent:m}=n();m(d,ANALYTICS_EVENTS.MEDIA.ADDED,{editor_type:p.editorType,media_type:p.mediaType,upload_source:p.source,file_size_mb:p.fileSizeMB})},trackMediaUploadFailed:(d,p)=>{const{sessionManager:m,trackEvent:g}=n();m.setLastError(d,p.errorType),g(d,ANALYTICS_EVENTS.MEDIA.UPLOAD_FAILED,{editor_type:p.editorType,media_type:p.mediaType,upload_source:p.source,file_size_mb:p.fileSizeMB,error_type:p.errorType})},trackMediaRemoved:(d,p)=>{const{trackEvent:m}=n();m(d,ANALYTICS_EVENTS.MEDIA.REMOVED,{editor_type:p.editorType,media_type:p.mediaType})},trackLinkAdded:(d,p)=>{const{trackEvent:m}=n();m(d,ANALYTICS_EVENTS.LINK.ADDED,{editor_type:p?.editorType})},trackLinkUnfurlFailed:(d,p)=>{const{sessionManager:m,trackEvent:g}=n();m.setLastError(d,"link_unfurl_failed"),g(d,ANALYTICS_EVENTS.LINK.UNFURL_FAILED,{editor_type:p?.editorType})},trackPollOptionAdded:(d,p)=>{const{trackEvent:m}=n();m(d,ANALYTICS_EVENTS.POLL.OPTION_ADDED,{option_count:p.option_count,option_type:p.option_type})},trackPollOptionRemoved:(d,p)=>{const{trackEvent:m}=n();m(d,ANALYTICS_EVENTS.POLL.OPTION_REMOVED,{option_count:p.option_count,option_type:p.option_type})},trackValidationError:(d,p)=>{const{trackEvent:m}=n();m(d,ANALYTICS_EVENTS.VALIDATION.ERROR,{field:p.field,error_type:p.errorType,error_message:p.errorMessage})}}));function useAnalyticsStore(u){return useStore(analyticsStore,u)}const getAnalyticsStore=()=>analyticsStore.getState();function useAnalyticsTracking(){const{sessionId:u}=useAnalyticsSession(),n=useAnalyticsStore();return React.useMemo(()=>({trackPublish:d=>n.trackPublish(u,d),trackAbandon:d=>n.trackExplicitAbandon(u,d),trackFeature:d=>n.trackFeature(u,d),trackEditorFocus:()=>n.trackEditorFocus(u),trackTabSwitch:(d,p)=>n.trackTabSwitch(u,d,p),trackContentCreated:d=>n.trackContentCreated(u,d),trackMediaUploadSuccess:d=>n.trackMediaUploadSuccess(u,d),trackMediaUploadFailed:d=>n.trackMediaUploadFailed(u,d),trackMediaRemoved:d=>n.trackMediaRemoved(u,d),trackLinkAdded:d=>n.trackLinkAdded(u,d),trackLinkUnfurlFailed:d=>n.trackLinkUnfurlFailed(u,d),trackPollOptionAdded:d=>n.trackPollOptionAdded(u,d),trackPollOptionRemoved:d=>n.trackPollOptionRemoved(u,d),trackValidationError:d=>n.trackValidationError(u,d),sessionId:u}),[n,u])}const editorTypes=enumToOptions(EditorTypes),EditorTypeTabs=({editorTab:u,onSwitchEditorTab:n})=>{const{t:d,unauthenticatedMode:p}=usePostBuilder(),{trackTabSwitch:m}=useAnalyticsTracking(),g=p?editorTypes.filter(S=>S.key!==EditorTypes.Poll):editorTypes,y=S=>{m(u,S),n(S)},b=S=>{switch(S){case EditorTypes.Media:return"postTabKey";case EditorTypes.Blog:return"blogTabKey";case EditorTypes.Poll:return"pollTabKey";default:return"postTabKey"}};return jsxRuntime.jsx(Tabs,{defaultValue:EditorTypes.Media,value:u,onValueChange:y,className:"w-full",children:jsxRuntime.jsx(TabsList,{className:"w-full rounded-none border-b",children:g.map(S=>jsxRuntime.jsx(TabsTrigger,{value:S.value.toString(),children:d(b(S.key),S.value)},S.value))})})};function clamp$1(u,[n,d]){return Math.min(d,Math.max(n,u))}function useEscapeKeydown(u,n=globalThis?.document){const d=useCallbackRef$1(u);React__namespace.useEffect(()=>{const p=m=>{m.key==="Escape"&&d(m)};return n.addEventListener("keydown",p,{capture:!0}),()=>n.removeEventListener("keydown",p,{capture:!0})},[d,n])}var DISMISSABLE_LAYER_NAME="DismissableLayer",CONTEXT_UPDATE="dismissableLayer.update",POINTER_DOWN_OUTSIDE="dismissableLayer.pointerDownOutside",FOCUS_OUTSIDE="dismissableLayer.focusOutside",originalBodyPointerEvents,DismissableLayerContext=React__namespace.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),DismissableLayer=React__namespace.forwardRef((u,n)=>{const{disableOutsidePointerEvents:d=!1,onEscapeKeyDown:p,onPointerDownOutside:m,onFocusOutside:g,onInteractOutside:y,onDismiss:b,...S}=u,E=React__namespace.useContext(DismissableLayerContext),[T,_]=React__namespace.useState(null),R=T?.ownerDocument??globalThis?.document,[,C]=React__namespace.useState({}),A=useComposedRefs(n,V=>_(V)),k=Array.from(E.layers),[I]=[...E.layersWithOutsidePointerEventsDisabled].slice(-1),P=k.indexOf(I),D=T?k.indexOf(T):-1,O=E.layersWithOutsidePointerEventsDisabled.size>0,N=D>=P,F=usePointerDownOutside(V=>{const j=V.target,Y=[...E.branches].some(te=>te.contains(j));!N||Y||(m?.(V),y?.(V),V.defaultPrevented||b?.())},R),L=useFocusOutside(V=>{const j=V.target;[...E.branches].some(te=>te.contains(j))||(g?.(V),y?.(V),V.defaultPrevented||b?.())},R);return useEscapeKeydown(V=>{D===E.layers.size-1&&(p?.(V),!V.defaultPrevented&&b&&(V.preventDefault(),b()))},R),React__namespace.useEffect(()=>{if(T)return d&&(E.layersWithOutsidePointerEventsDisabled.size===0&&(originalBodyPointerEvents=R.body.style.pointerEvents,R.body.style.pointerEvents="none"),E.layersWithOutsidePointerEventsDisabled.add(T)),E.layers.add(T),dispatchUpdate(),()=>{d&&E.layersWithOutsidePointerEventsDisabled.size===1&&(R.body.style.pointerEvents=originalBodyPointerEvents)}},[T,R,d,E]),React__namespace.useEffect(()=>()=>{T&&(E.layers.delete(T),E.layersWithOutsidePointerEventsDisabled.delete(T),dispatchUpdate())},[T,E]),React__namespace.useEffect(()=>{const V=()=>C({});return document.addEventListener(CONTEXT_UPDATE,V),()=>document.removeEventListener(CONTEXT_UPDATE,V)},[]),jsxRuntime.jsx(Primitive$5.div,{...S,ref:A,style:{pointerEvents:O?N?"auto":"none":void 0,...u.style},onFocusCapture:composeEventHandlers(u.onFocusCapture,L.onFocusCapture),onBlurCapture:composeEventHandlers(u.onBlurCapture,L.onBlurCapture),onPointerDownCapture:composeEventHandlers(u.onPointerDownCapture,F.onPointerDownCapture)})});DismissableLayer.displayName=DISMISSABLE_LAYER_NAME;var BRANCH_NAME="DismissableLayerBranch",DismissableLayerBranch=React__namespace.forwardRef((u,n)=>{const d=React__namespace.useContext(DismissableLayerContext),p=React__namespace.useRef(null),m=useComposedRefs(n,p);return React__namespace.useEffect(()=>{const g=p.current;if(g)return d.branches.add(g),()=>{d.branches.delete(g)}},[d.branches]),jsxRuntime.jsx(Primitive$5.div,{...u,ref:m})});DismissableLayerBranch.displayName=BRANCH_NAME;function usePointerDownOutside(u,n=globalThis?.document){const d=useCallbackRef$1(u),p=React__namespace.useRef(!1),m=React__namespace.useRef(()=>{});return React__namespace.useEffect(()=>{const g=b=>{if(b.target&&!p.current){let S=function(){handleAndDispatchCustomEvent(POINTER_DOWN_OUTSIDE,d,E,{discrete:!0})};const E={originalEvent:b};b.pointerType==="touch"?(n.removeEventListener("click",m.current),m.current=S,n.addEventListener("click",m.current,{once:!0})):S()}else n.removeEventListener("click",m.current);p.current=!1},y=window.setTimeout(()=>{n.addEventListener("pointerdown",g)},0);return()=>{window.clearTimeout(y),n.removeEventListener("pointerdown",g),n.removeEventListener("click",m.current)}},[n,d]),{onPointerDownCapture:()=>p.current=!0}}function useFocusOutside(u,n=globalThis?.document){const d=useCallbackRef$1(u),p=React__namespace.useRef(!1);return React__namespace.useEffect(()=>{const m=g=>{g.target&&!p.current&&handleAndDispatchCustomEvent(FOCUS_OUTSIDE,d,{originalEvent:g},{discrete:!1})};return n.addEventListener("focusin",m),()=>n.removeEventListener("focusin",m)},[n,d]),{onFocusCapture:()=>p.current=!0,onBlurCapture:()=>p.current=!1}}function dispatchUpdate(){const u=new CustomEvent(CONTEXT_UPDATE);document.dispatchEvent(u)}function handleAndDispatchCustomEvent(u,n,d,{discrete:p}){const m=d.originalEvent.target,g=new CustomEvent(u,{bubbles:!1,cancelable:!0,detail:d});n&&m.addEventListener(u,n,{once:!0}),p?dispatchDiscreteCustomEvent(m,g):m.dispatchEvent(g)}var count=0;function useFocusGuards(){React__namespace.useEffect(()=>{const u=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",u[0]??createFocusGuard()),document.body.insertAdjacentElement("beforeend",u[1]??createFocusGuard()),count++,()=>{count===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(n=>n.remove()),count--}},[])}function createFocusGuard(){const u=document.createElement("span");return u.setAttribute("data-radix-focus-guard",""),u.tabIndex=0,u.style.outline="none",u.style.opacity="0",u.style.position="fixed",u.style.pointerEvents="none",u}var AUTOFOCUS_ON_MOUNT="focusScope.autoFocusOnMount",AUTOFOCUS_ON_UNMOUNT="focusScope.autoFocusOnUnmount",EVENT_OPTIONS={bubbles:!1,cancelable:!0},FOCUS_SCOPE_NAME="FocusScope",FocusScope=React__namespace.forwardRef((u,n)=>{const{loop:d=!1,trapped:p=!1,onMountAutoFocus:m,onUnmountAutoFocus:g,...y}=u,[b,S]=React__namespace.useState(null),E=useCallbackRef$1(m),T=useCallbackRef$1(g),_=React__namespace.useRef(null),R=useComposedRefs(n,k=>S(k)),C=React__namespace.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;React__namespace.useEffect(()=>{if(p){let k=function(O){if(C.paused||!b)return;const N=O.target;b.contains(N)?_.current=N:focus(_.current,{select:!0})},I=function(O){if(C.paused||!b)return;const N=O.relatedTarget;N!==null&&(b.contains(N)||focus(_.current,{select:!0}))},P=function(O){if(document.activeElement===document.body)for(const F of O)F.removedNodes.length>0&&focus(b)};document.addEventListener("focusin",k),document.addEventListener("focusout",I);const D=new MutationObserver(P);return b&&D.observe(b,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",k),document.removeEventListener("focusout",I),D.disconnect()}}},[p,b,C.paused]),React__namespace.useEffect(()=>{if(b){focusScopesStack.add(C);const k=document.activeElement;if(!b.contains(k)){const P=new CustomEvent(AUTOFOCUS_ON_MOUNT,EVENT_OPTIONS);b.addEventListener(AUTOFOCUS_ON_MOUNT,E),b.dispatchEvent(P),P.defaultPrevented||(focusFirst$1(removeLinks(getTabbableCandidates(b)),{select:!0}),document.activeElement===k&&focus(b))}return()=>{b.removeEventListener(AUTOFOCUS_ON_MOUNT,E),setTimeout(()=>{const P=new CustomEvent(AUTOFOCUS_ON_UNMOUNT,EVENT_OPTIONS);b.addEventListener(AUTOFOCUS_ON_UNMOUNT,T),b.dispatchEvent(P),P.defaultPrevented||focus(k??document.body,{select:!0}),b.removeEventListener(AUTOFOCUS_ON_UNMOUNT,T),focusScopesStack.remove(C)},0)}}},[b,E,T,C]);const A=React__namespace.useCallback(k=>{if(!d&&!p||C.paused)return;const I=k.key==="Tab"&&!k.altKey&&!k.ctrlKey&&!k.metaKey,P=document.activeElement;if(I&&P){const D=k.currentTarget,[O,N]=getTabbableEdges(D);O&&N?!k.shiftKey&&P===N?(k.preventDefault(),d&&focus(O,{select:!0})):k.shiftKey&&P===O&&(k.preventDefault(),d&&focus(N,{select:!0})):P===D&&k.preventDefault()}},[d,p,C.paused]);return jsxRuntime.jsx(Primitive$5.div,{tabIndex:-1,...y,ref:R,onKeyDown:A})});FocusScope.displayName=FOCUS_SCOPE_NAME;function focusFirst$1(u,{select:n=!1}={}){const d=document.activeElement;for(const p of u)if(focus(p,{select:n}),document.activeElement!==d)return}function getTabbableEdges(u){const n=getTabbableCandidates(u),d=findVisible(n,u),p=findVisible(n.reverse(),u);return[d,p]}function getTabbableCandidates(u){const n=[],d=document.createTreeWalker(u,NodeFilter.SHOW_ELEMENT,{acceptNode:p=>{const m=p.tagName==="INPUT"&&p.type==="hidden";return p.disabled||p.hidden||m?NodeFilter.FILTER_SKIP:p.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;d.nextNode();)n.push(d.currentNode);return n}function findVisible(u,n){for(const d of u)if(!isHidden(d,{upTo:n}))return d}function isHidden(u,{upTo:n}){if(getComputedStyle(u).visibility==="hidden")return!0;for(;u;){if(n!==void 0&&u===n)return!1;if(getComputedStyle(u).display==="none")return!0;u=u.parentElement}return!1}function isSelectableInput(u){return u instanceof HTMLInputElement&&"select"in u}function focus(u,{select:n=!1}={}){if(u&&u.focus){const d=document.activeElement;u.focus({preventScroll:!0}),u!==d&&isSelectableInput(u)&&n&&u.select()}}var focusScopesStack=createFocusScopesStack();function createFocusScopesStack(){let u=[];return{add(n){const d=u[0];n!==d&&d?.pause(),u=arrayRemove(u,n),u.unshift(n)},remove(n){u=arrayRemove(u,n),u[0]?.resume()}}}function arrayRemove(u,n){const d=[...u],p=d.indexOf(n);return p!==-1&&d.splice(p,1),d}function removeLinks(u){return u.filter(n=>n.tagName!=="A")}const sides=["top","right","bottom","left"],min$2=Math.min,max$2=Math.max,round$1=Math.round,floor$1=Math.floor,createCoords=u=>({x:u,y:u}),oppositeSideMap={left:"right",right:"left",bottom:"top",top:"bottom"};function clamp(u,n,d){return max$2(u,min$2(n,d))}function evaluate(u,n){return typeof u=="function"?u(n):u}function getSide(u){return u.split("-")[0]}function getAlignment(u){return u.split("-")[1]}function getOppositeAxis(u){return u==="x"?"y":"x"}function getAxisLength(u){return u==="y"?"height":"width"}function getSideAxis(u){const n=u[0];return n==="t"||n==="b"?"y":"x"}function getAlignmentAxis(u){return getOppositeAxis(getSideAxis(u))}function getAlignmentSides(u,n,d){d===void 0&&(d=!1);const p=getAlignment(u),m=getAlignmentAxis(u),g=getAxisLength(m);let y=m==="x"?p===(d?"end":"start")?"right":"left":p==="start"?"bottom":"top";return n.reference[g]>n.floating[g]&&(y=getOppositePlacement$1(y)),[y,getOppositePlacement$1(y)]}function getExpandedPlacements(u){const n=getOppositePlacement$1(u);return[getOppositeAlignmentPlacement(u),n,getOppositeAlignmentPlacement(n)]}function getOppositeAlignmentPlacement(u){return u.includes("start")?u.replace("start","end"):u.replace("end","start")}const lrPlacement=["left","right"],rlPlacement=["right","left"],tbPlacement=["top","bottom"],btPlacement=["bottom","top"];function getSideList(u,n,d){switch(u){case"top":case"bottom":return d?n?rlPlacement:lrPlacement:n?lrPlacement:rlPlacement;case"left":case"right":return n?tbPlacement:btPlacement;default:return[]}}function getOppositeAxisPlacements(u,n,d,p){const m=getAlignment(u);let g=getSideList(getSide(u),d==="start",p);return m&&(g=g.map(y=>y+"-"+m),n&&(g=g.concat(g.map(getOppositeAlignmentPlacement)))),g}function getOppositePlacement$1(u){const n=getSide(u);return oppositeSideMap[n]+u.slice(n.length)}function expandPaddingObject(u){return{top:0,right:0,bottom:0,left:0,...u}}function getPaddingObject(u){return typeof u!="number"?expandPaddingObject(u):{top:u,right:u,bottom:u,left:u}}function rectToClientRect$1(u){const{x:n,y:d,width:p,height:m}=u;return{width:p,height:m,top:d,left:n,right:n+p,bottom:d+m,x:n,y:d}}function computeCoordsFromPlacement(u,n,d){let{reference:p,floating:m}=u;const g=getSideAxis(n),y=getAlignmentAxis(n),b=getAxisLength(y),S=getSide(n),E=g==="y",T=p.x+p.width/2-m.width/2,_=p.y+p.height/2-m.height/2,R=p[b]/2-m[b]/2;let C;switch(S){case"top":C={x:T,y:p.y-m.height};break;case"bottom":C={x:T,y:p.y+p.height};break;case"right":C={x:p.x+p.width,y:_};break;case"left":C={x:p.x-m.width,y:_};break;default:C={x:p.x,y:p.y}}switch(getAlignment(n)){case"start":C[y]-=R*(d&&E?-1:1);break;case"end":C[y]+=R*(d&&E?-1:1);break}return C}async function detectOverflow$1(u,n){var d;n===void 0&&(n={});const{x:p,y:m,platform:g,rects:y,elements:b,strategy:S}=u,{boundary:E="clippingAncestors",rootBoundary:T="viewport",elementContext:_="floating",altBoundary:R=!1,padding:C=0}=evaluate(n,u),A=getPaddingObject(C),I=b[R?_==="floating"?"reference":"floating":_],P=rectToClientRect$1(await g.getClippingRect({element:(d=await(g.isElement==null?void 0:g.isElement(I)))==null||d?I:I.contextElement||await(g.getDocumentElement==null?void 0:g.getDocumentElement(b.floating)),boundary:E,rootBoundary:T,strategy:S})),D=_==="floating"?{x:p,y:m,width:y.floating.width,height:y.floating.height}:y.reference,O=await(g.getOffsetParent==null?void 0:g.getOffsetParent(b.floating)),N=await(g.isElement==null?void 0:g.isElement(O))?await(g.getScale==null?void 0:g.getScale(O))||{x:1,y:1}:{x:1,y:1},F=rectToClientRect$1(g.convertOffsetParentRelativeRectToViewportRelativeRect?await g.convertOffsetParentRelativeRectToViewportRelativeRect({elements:b,rect:D,offsetParent:O,strategy:S}):D);return{top:(P.top-F.top+A.top)/N.y,bottom:(F.bottom-P.bottom+A.bottom)/N.y,left:(P.left-F.left+A.left)/N.x,right:(F.right-P.right+A.right)/N.x}}const MAX_RESET_COUNT=50,computePosition$1=async(u,n,d)=>{const{placement:p="bottom",strategy:m="absolute",middleware:g=[],platform:y}=d,b=y.detectOverflow?y:{...y,detectOverflow:detectOverflow$1},S=await(y.isRTL==null?void 0:y.isRTL(n));let E=await y.getElementRects({reference:u,floating:n,strategy:m}),{x:T,y:_}=computeCoordsFromPlacement(E,p,S),R=p,C=0;const A={};for(let k=0;k<g.length;k++){const I=g[k];if(!I)continue;const{name:P,fn:D}=I,{x:O,y:N,data:F,reset:L}=await D({x:T,y:_,initialPlacement:p,placement:R,strategy:m,middlewareData:A,rects:E,platform:b,elements:{reference:u,floating:n}});T=O??T,_=N??_,A[P]={...A[P],...F},L&&C<MAX_RESET_COUNT&&(C++,typeof L=="object"&&(L.placement&&(R=L.placement),L.rects&&(E=L.rects===!0?await y.getElementRects({reference:u,floating:n,strategy:m}):L.rects),{x:T,y:_}=computeCoordsFromPlacement(E,R,S)),k=-1)}return{x:T,y:_,placement:R,strategy:m,middlewareData:A}},arrow$5=u=>({name:"arrow",options:u,async fn(n){const{x:d,y:p,placement:m,rects:g,platform:y,elements:b,middlewareData:S}=n,{element:E,padding:T=0}=evaluate(u,n)||{};if(E==null)return{};const _=getPaddingObject(T),R={x:d,y:p},C=getAlignmentAxis(m),A=getAxisLength(C),k=await y.getDimensions(E),I=C==="y",P=I?"top":"left",D=I?"bottom":"right",O=I?"clientHeight":"clientWidth",N=g.reference[A]+g.reference[C]-R[C]-g.floating[A],F=R[C]-g.reference[C],L=await(y.getOffsetParent==null?void 0:y.getOffsetParent(E));let V=L?L[O]:0;(!V||!await(y.isElement==null?void 0:y.isElement(L)))&&(V=b.floating[O]||g.floating[A]);const j=N/2-F/2,Y=V/2-k[A]/2-1,te=min$2(_[P],Y),ee=min$2(_[D],Y),J=te,se=V-k[A]-ee,Z=V/2-k[A]/2+j,re=clamp(J,Z,se),B=!S.arrow&&getAlignment(m)!=null&&Z!==re&&g.reference[A]/2-(Z<J?te:ee)-k[A]/2<0,q=B?Z<J?Z-J:Z-se:0;return{[C]:R[C]+q,data:{[C]:re,centerOffset:Z-re-q,...B&&{alignmentOffset:q}},reset:B}}}),flip$4=function(u){return u===void 0&&(u={}),{name:"flip",options:u,async fn(n){var d,p;const{placement:m,middlewareData:g,rects:y,initialPlacement:b,platform:S,elements:E}=n,{mainAxis:T=!0,crossAxis:_=!0,fallbackPlacements:R,fallbackStrategy:C="bestFit",fallbackAxisSideDirection:A="none",flipAlignment:k=!0,...I}=evaluate(u,n);if((d=g.arrow)!=null&&d.alignmentOffset)return{};const P=getSide(m),D=getSideAxis(b),O=getSide(b)===b,N=await(S.isRTL==null?void 0:S.isRTL(E.floating)),F=R||(O||!k?[getOppositePlacement$1(b)]:getExpandedPlacements(b)),L=A!=="none";!R&&L&&F.push(...getOppositeAxisPlacements(b,k,A,N));const V=[b,...F],j=await S.detectOverflow(n,I),Y=[];let te=((p=g.flip)==null?void 0:p.overflows)||[];if(T&&Y.push(j[P]),_){const Z=getAlignmentSides(m,y,N);Y.push(j[Z[0]],j[Z[1]])}if(te=[...te,{placement:m,overflows:Y}],!Y.every(Z=>Z<=0)){var ee,J;const Z=(((ee=g.flip)==null?void 0:ee.index)||0)+1,re=V[Z];if(re&&(!(_==="alignment"?D!==getSideAxis(re):!1)||te.every(H=>getSideAxis(H.placement)===D?H.overflows[0]>0:!0)))return{data:{index:Z,overflows:te},reset:{placement:re}};let B=(J=te.filter(q=>q.overflows[0]<=0).sort((q,H)=>q.overflows[1]-H.overflows[1])[0])==null?void 0:J.placement;if(!B)switch(C){case"bestFit":{var se;const q=(se=te.filter(H=>{if(L){const W=getSideAxis(H.placement);return W===D||W==="y"}return!0}).map(H=>[H.placement,H.overflows.filter(W=>W>0).reduce((W,Q)=>W+Q,0)]).sort((H,W)=>H[1]-W[1])[0])==null?void 0:se[0];q&&(B=q);break}case"initialPlacement":B=b;break}if(m!==B)return{reset:{placement:B}}}return{}}}};function getSideOffsets$1(u,n){return{top:u.top-n.height,right:u.right-n.width,bottom:u.bottom-n.height,left:u.left-n.width}}function isAnySideFullyClipped$1(u){return sides.some(n=>u[n]>=0)}const hide$4=function(u){return u===void 0&&(u={}),{name:"hide",options:u,async fn(n){const{rects:d,platform:p}=n,{strategy:m="referenceHidden",...g}=evaluate(u,n);switch(m){case"referenceHidden":{const y=await p.detectOverflow(n,{...g,elementContext:"reference"}),b=getSideOffsets$1(y,d.reference);return{data:{referenceHiddenOffsets:b,referenceHidden:isAnySideFullyClipped$1(b)}}}case"escaped":{const y=await p.detectOverflow(n,{...g,altBoundary:!0}),b=getSideOffsets$1(y,d.floating);return{data:{escapedOffsets:b,escaped:isAnySideFullyClipped$1(b)}}}default:return{}}}}},originSides=new Set(["left","top"]);async function convertValueToCoords(u,n){const{placement:d,platform:p,elements:m}=u,g=await(p.isRTL==null?void 0:p.isRTL(m.floating)),y=getSide(d),b=getAlignment(d),S=getSideAxis(d)==="y",E=originSides.has(y)?-1:1,T=g&&S?-1:1,_=evaluate(n,u);let{mainAxis:R,crossAxis:C,alignmentAxis:A}=typeof _=="number"?{mainAxis:_,crossAxis:0,alignmentAxis:null}:{mainAxis:_.mainAxis||0,crossAxis:_.crossAxis||0,alignmentAxis:_.alignmentAxis};return b&&typeof A=="number"&&(C=b==="end"?A*-1:A),S?{x:C*T,y:R*E}:{x:R*E,y:C*T}}const offset$4=function(u){return u===void 0&&(u=0),{name:"offset",options:u,async fn(n){var d,p;const{x:m,y:g,placement:y,middlewareData:b}=n,S=await convertValueToCoords(n,u);return y===((d=b.offset)==null?void 0:d.placement)&&(p=b.arrow)!=null&&p.alignmentOffset?{}:{x:m+S.x,y:g+S.y,data:{...S,placement:y}}}}},shift$2=function(u){return u===void 0&&(u={}),{name:"shift",options:u,async fn(n){const{x:d,y:p,placement:m,platform:g}=n,{mainAxis:y=!0,crossAxis:b=!1,limiter:S={fn:P=>{let{x:D,y:O}=P;return{x:D,y:O}}},...E}=evaluate(u,n),T={x:d,y:p},_=await g.detectOverflow(n,E),R=getSideAxis(getSide(m)),C=getOppositeAxis(R);let A=T[C],k=T[R];if(y){const P=C==="y"?"top":"left",D=C==="y"?"bottom":"right",O=A+_[P],N=A-_[D];A=clamp(O,A,N)}if(b){const P=R==="y"?"top":"left",D=R==="y"?"bottom":"right",O=k+_[P],N=k-_[D];k=clamp(O,k,N)}const I=S.fn({...n,[C]:A,[R]:k});return{...I,data:{x:I.x-d,y:I.y-p,enabled:{[C]:y,[R]:b}}}}}},limitShift$2=function(u){return u===void 0&&(u={}),{options:u,fn(n){const{x:d,y:p,placement:m,rects:g,middlewareData:y}=n,{offset:b=0,mainAxis:S=!0,crossAxis:E=!0}=evaluate(u,n),T={x:d,y:p},_=getSideAxis(m),R=getOppositeAxis(_);let C=T[R],A=T[_];const k=evaluate(b,n),I=typeof k=="number"?{mainAxis:k,crossAxis:0}:{mainAxis:0,crossAxis:0,...k};if(S){const O=R==="y"?"height":"width",N=g.reference[R]-g.floating[O]+I.mainAxis,F=g.reference[R]+g.reference[O]-I.mainAxis;C<N?C=N:C>F&&(C=F)}if(E){var P,D;const O=R==="y"?"width":"height",N=originSides.has(getSide(m)),F=g.reference[_]-g.floating[O]+(N&&((P=y.offset)==null?void 0:P[_])||0)+(N?0:I.crossAxis),L=g.reference[_]+g.reference[O]+(N?0:((D=y.offset)==null?void 0:D[_])||0)-(N?I.crossAxis:0);A<F?A=F:A>L&&(A=L)}return{[R]:C,[_]:A}}}},size$3=function(u){return u===void 0&&(u={}),{name:"size",options:u,async fn(n){var d,p;const{placement:m,rects:g,platform:y,elements:b}=n,{apply:S=()=>{},...E}=evaluate(u,n),T=await y.detectOverflow(n,E),_=getSide(m),R=getAlignment(m),C=getSideAxis(m)==="y",{width:A,height:k}=g.floating;let I,P;_==="top"||_==="bottom"?(I=_,P=R===(await(y.isRTL==null?void 0:y.isRTL(b.floating))?"start":"end")?"left":"right"):(P=_,I=R==="end"?"top":"bottom");const D=k-T.top-T.bottom,O=A-T.left-T.right,N=min$2(k-T[I],D),F=min$2(A-T[P],O),L=!n.middlewareData.shift;let V=N,j=F;if((d=n.middlewareData.shift)!=null&&d.enabled.x&&(j=O),(p=n.middlewareData.shift)!=null&&p.enabled.y&&(V=D),L&&!R){const te=max$2(T.left,0),ee=max$2(T.right,0),J=max$2(T.top,0),se=max$2(T.bottom,0);C?j=A-2*(te!==0||ee!==0?te+ee:max$2(T.left,T.right)):V=k-2*(J!==0||se!==0?J+se:max$2(T.top,T.bottom))}await S({...n,availableWidth:j,availableHeight:V});const Y=await y.getDimensions(b.floating);return A!==Y.width||k!==Y.height?{reset:{rects:!0}}:{}}}};function hasWindow(){return typeof window<"u"}function getNodeName$1(u){return isNode$1(u)?(u.nodeName||"").toLowerCase():"#document"}function getWindow$1(u){var n;return(u==null||(n=u.ownerDocument)==null?void 0:n.defaultView)||window}function getDocumentElement$1(u){var n;return(n=(isNode$1(u)?u.ownerDocument:u.document)||window.document)==null?void 0:n.documentElement}function isNode$1(u){return hasWindow()?u instanceof Node||u instanceof getWindow$1(u).Node:!1}function isElement$2(u){return hasWindow()?u instanceof Element||u instanceof getWindow$1(u).Element:!1}function isHTMLElement$1(u){return hasWindow()?u instanceof HTMLElement||u instanceof getWindow$1(u).HTMLElement:!1}function isShadowRoot$1(u){return!hasWindow()||typeof ShadowRoot>"u"?!1:u instanceof ShadowRoot||u instanceof getWindow$1(u).ShadowRoot}function isOverflowElement(u){const{overflow:n,overflowX:d,overflowY:p,display:m}=getComputedStyle$2(u);return/auto|scroll|overlay|hidden|clip/.test(n+p+d)&&m!=="inline"&&m!=="contents"}function isTableElement$1(u){return/^(table|td|th)$/.test(getNodeName$1(u))}function isTopLayer(u){try{if(u.matches(":popover-open"))return!0}catch{}try{return u.matches(":modal")}catch{return!1}}const willChangeRe=/transform|translate|scale|rotate|perspective|filter/,containRe=/paint|layout|strict|content/,isNotNone=u=>!!u&&u!=="none";let isWebKitValue;function isContainingBlock(u){const n=isElement$2(u)?getComputedStyle$2(u):u;return isNotNone(n.transform)||isNotNone(n.translate)||isNotNone(n.scale)||isNotNone(n.rotate)||isNotNone(n.perspective)||!isWebKit()&&(isNotNone(n.backdropFilter)||isNotNone(n.filter))||willChangeRe.test(n.willChange||"")||containRe.test(n.contain||"")}function getContainingBlock$1(u){let n=getParentNode$1(u);for(;isHTMLElement$1(n)&&!isLastTraversableNode(n);){if(isContainingBlock(n))return n;if(isTopLayer(n))return null;n=getParentNode$1(n)}return null}function isWebKit(){return isWebKitValue==null&&(isWebKitValue=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),isWebKitValue}function isLastTraversableNode(u){return/^(html|body|#document)$/.test(getNodeName$1(u))}function getComputedStyle$2(u){return getWindow$1(u).getComputedStyle(u)}function getNodeScroll$1(u){return isElement$2(u)?{scrollLeft:u.scrollLeft,scrollTop:u.scrollTop}:{scrollLeft:u.scrollX,scrollTop:u.scrollY}}function getParentNode$1(u){if(getNodeName$1(u)==="html")return u;const n=u.assignedSlot||u.parentNode||isShadowRoot$1(u)&&u.host||getDocumentElement$1(u);return isShadowRoot$1(n)?n.host:n}function getNearestOverflowAncestor(u){const n=getParentNode$1(u);return isLastTraversableNode(n)?u.ownerDocument?u.ownerDocument.body:u.body:isHTMLElement$1(n)&&isOverflowElement(n)?n:getNearestOverflowAncestor(n)}function getOverflowAncestors(u,n,d){var p;n===void 0&&(n=[]),d===void 0&&(d=!0);const m=getNearestOverflowAncestor(u),g=m===((p=u.ownerDocument)==null?void 0:p.body),y=getWindow$1(m);if(g){const b=getFrameElement(y);return n.concat(y,y.visualViewport||[],isOverflowElement(m)?m:[],b&&d?getOverflowAncestors(b):[])}else return n.concat(m,getOverflowAncestors(m,[],d))}function getFrameElement(u){return u.parent&&Object.getPrototypeOf(u.parent)?u.frameElement:null}function getCssDimensions(u){const n=getComputedStyle$2(u);let d=parseFloat(n.width)||0,p=parseFloat(n.height)||0;const m=isHTMLElement$1(u),g=m?u.offsetWidth:d,y=m?u.offsetHeight:p,b=round$1(d)!==g||round$1(p)!==y;return b&&(d=g,p=y),{width:d,height:p,$:b}}function unwrapElement(u){return isElement$2(u)?u:u.contextElement}function getScale(u){const n=unwrapElement(u);if(!isHTMLElement$1(n))return createCoords(1);const d=n.getBoundingClientRect(),{width:p,height:m,$:g}=getCssDimensions(n);let y=(g?round$1(d.width):d.width)/p,b=(g?round$1(d.height):d.height)/m;return(!y||!Number.isFinite(y))&&(y=1),(!b||!Number.isFinite(b))&&(b=1),{x:y,y:b}}const noOffsets=createCoords(0);function getVisualOffsets(u){const n=getWindow$1(u);return!isWebKit()||!n.visualViewport?noOffsets:{x:n.visualViewport.offsetLeft,y:n.visualViewport.offsetTop}}function shouldAddVisualOffsets(u,n,d){return n===void 0&&(n=!1),!d||n&&d!==getWindow$1(u)?!1:n}function getBoundingClientRect$1(u,n,d,p){n===void 0&&(n=!1),d===void 0&&(d=!1);const m=u.getBoundingClientRect(),g=unwrapElement(u);let y=createCoords(1);n&&(p?isElement$2(p)&&(y=getScale(p)):y=getScale(u));const b=shouldAddVisualOffsets(g,d,p)?getVisualOffsets(g):createCoords(0);let S=(m.left+b.x)/y.x,E=(m.top+b.y)/y.y,T=m.width/y.x,_=m.height/y.y;if(g){const R=getWindow$1(g),C=p&&isElement$2(p)?getWindow$1(p):p;let A=R,k=getFrameElement(A);for(;k&&p&&C!==A;){const I=getScale(k),P=k.getBoundingClientRect(),D=getComputedStyle$2(k),O=P.left+(k.clientLeft+parseFloat(D.paddingLeft))*I.x,N=P.top+(k.clientTop+parseFloat(D.paddingTop))*I.y;S*=I.x,E*=I.y,T*=I.x,_*=I.y,S+=O,E+=N,A=getWindow$1(k),k=getFrameElement(A)}}return rectToClientRect$1({width:T,height:_,x:S,y:E})}function getWindowScrollBarX$1(u,n){const d=getNodeScroll$1(u).scrollLeft;return n?n.left+d:getBoundingClientRect$1(getDocumentElement$1(u)).left+d}function getHTMLOffset(u,n){const d=u.getBoundingClientRect(),p=d.left+n.scrollLeft-getWindowScrollBarX$1(u,d),m=d.top+n.scrollTop;return{x:p,y:m}}function convertOffsetParentRelativeRectToViewportRelativeRect(u){let{elements:n,rect:d,offsetParent:p,strategy:m}=u;const g=m==="fixed",y=getDocumentElement$1(p),b=n?isTopLayer(n.floating):!1;if(p===y||b&&g)return d;let S={scrollLeft:0,scrollTop:0},E=createCoords(1);const T=createCoords(0),_=isHTMLElement$1(p);if((_||!_&&!g)&&((getNodeName$1(p)!=="body"||isOverflowElement(y))&&(S=getNodeScroll$1(p)),_)){const C=getBoundingClientRect$1(p);E=getScale(p),T.x=C.x+p.clientLeft,T.y=C.y+p.clientTop}const R=y&&!_&&!g?getHTMLOffset(y,S):createCoords(0);return{width:d.width*E.x,height:d.height*E.y,x:d.x*E.x-S.scrollLeft*E.x+T.x+R.x,y:d.y*E.y-S.scrollTop*E.y+T.y+R.y}}function getClientRects(u){return Array.from(u.getClientRects())}function getDocumentRect$1(u){const n=getDocumentElement$1(u),d=getNodeScroll$1(u),p=u.ownerDocument.body,m=max$2(n.scrollWidth,n.clientWidth,p.scrollWidth,p.clientWidth),g=max$2(n.scrollHeight,n.clientHeight,p.scrollHeight,p.clientHeight);let y=-d.scrollLeft+getWindowScrollBarX$1(u);const b=-d.scrollTop;return getComputedStyle$2(p).direction==="rtl"&&(y+=max$2(n.clientWidth,p.clientWidth)-m),{width:m,height:g,x:y,y:b}}const SCROLLBAR_MAX=25;function getViewportRect$1(u,n){const d=getWindow$1(u),p=getDocumentElement$1(u),m=d.visualViewport;let g=p.clientWidth,y=p.clientHeight,b=0,S=0;if(m){g=m.width,y=m.height;const T=isWebKit();(!T||T&&n==="fixed")&&(b=m.offsetLeft,S=m.offsetTop)}const E=getWindowScrollBarX$1(p);if(E<=0){const T=p.ownerDocument,_=T.body,R=getComputedStyle(_),C=T.compatMode==="CSS1Compat"&&parseFloat(R.marginLeft)+parseFloat(R.marginRight)||0,A=Math.abs(p.clientWidth-_.clientWidth-C);A<=SCROLLBAR_MAX&&(g-=A)}else E<=SCROLLBAR_MAX&&(g+=E);return{width:g,height:y,x:b,y:S}}function getInnerBoundingClientRect$1(u,n){const d=getBoundingClientRect$1(u,!0,n==="fixed"),p=d.top+u.clientTop,m=d.left+u.clientLeft,g=isHTMLElement$1(u)?getScale(u):createCoords(1),y=u.clientWidth*g.x,b=u.clientHeight*g.y,S=m*g.x,E=p*g.y;return{width:y,height:b,x:S,y:E}}function getClientRectFromClippingAncestor(u,n,d){let p;if(n==="viewport")p=getViewportRect$1(u,d);else if(n==="document")p=getDocumentRect$1(getDocumentElement$1(u));else if(isElement$2(n))p=getInnerBoundingClientRect$1(n,d);else{const m=getVisualOffsets(u);p={x:n.x-m.x,y:n.y-m.y,width:n.width,height:n.height}}return rectToClientRect$1(p)}function hasFixedPositionAncestor(u,n){const d=getParentNode$1(u);return d===n||!isElement$2(d)||isLastTraversableNode(d)?!1:getComputedStyle$2(d).position==="fixed"||hasFixedPositionAncestor(d,n)}function getClippingElementAncestors(u,n){const d=n.get(u);if(d)return d;let p=getOverflowAncestors(u,[],!1).filter(b=>isElement$2(b)&&getNodeName$1(b)!=="body"),m=null;const g=getComputedStyle$2(u).position==="fixed";let y=g?getParentNode$1(u):u;for(;isElement$2(y)&&!isLastTraversableNode(y);){const b=getComputedStyle$2(y),S=isContainingBlock(y);!S&&b.position==="fixed"&&(m=null),(g?!S&&!m:!S&&b.position==="static"&&!!m&&(m.position==="absolute"||m.position==="fixed")||isOverflowElement(y)&&!S&&hasFixedPositionAncestor(u,y))?p=p.filter(T=>T!==y):m=b,y=getParentNode$1(y)}return n.set(u,p),p}function getClippingRect$1(u){let{element:n,boundary:d,rootBoundary:p,strategy:m}=u;const y=[...d==="clippingAncestors"?isTopLayer(n)?[]:getClippingElementAncestors(n,this._c):[].concat(d),p],b=getClientRectFromClippingAncestor(n,y[0],m);let S=b.top,E=b.right,T=b.bottom,_=b.left;for(let R=1;R<y.length;R++){const C=getClientRectFromClippingAncestor(n,y[R],m);S=max$2(C.top,S),E=min$2(C.right,E),T=min$2(C.bottom,T),_=max$2(C.left,_)}return{width:E-_,height:T-S,x:_,y:S}}function getDimensions(u){const{width:n,height:d}=getCssDimensions(u);return{width:n,height:d}}function getRectRelativeToOffsetParent(u,n,d){const p=isHTMLElement$1(n),m=getDocumentElement$1(n),g=d==="fixed",y=getBoundingClientRect$1(u,!0,g,n);let b={scrollLeft:0,scrollTop:0};const S=createCoords(0);function E(){S.x=getWindowScrollBarX$1(m)}if(p||!p&&!g)if((getNodeName$1(n)!=="body"||isOverflowElement(m))&&(b=getNodeScroll$1(n)),p){const C=getBoundingClientRect$1(n,!0,g,n);S.x=C.x+n.clientLeft,S.y=C.y+n.clientTop}else m&&E();g&&!p&&m&&E();const T=m&&!p&&!g?getHTMLOffset(m,b):createCoords(0),_=y.left+b.scrollLeft-S.x-T.x,R=y.top+b.scrollTop-S.y-T.y;return{x:_,y:R,width:y.width,height:y.height}}function isStaticPositioned(u){return getComputedStyle$2(u).position==="static"}function getTrueOffsetParent$1(u,n){if(!isHTMLElement$1(u)||getComputedStyle$2(u).position==="fixed")return null;if(n)return n(u);let d=u.offsetParent;return getDocumentElement$1(u)===d&&(d=d.ownerDocument.body),d}function getOffsetParent$1(u,n){const d=getWindow$1(u);if(isTopLayer(u))return d;if(!isHTMLElement$1(u)){let m=getParentNode$1(u);for(;m&&!isLastTraversableNode(m);){if(isElement$2(m)&&!isStaticPositioned(m))return m;m=getParentNode$1(m)}return d}let p=getTrueOffsetParent$1(u,n);for(;p&&isTableElement$1(p)&&isStaticPositioned(p);)p=getTrueOffsetParent$1(p,n);return p&&isLastTraversableNode(p)&&isStaticPositioned(p)&&!isContainingBlock(p)?d:p||getContainingBlock$1(u)||d}const getElementRects=async function(u){const n=this.getOffsetParent||getOffsetParent$1,d=this.getDimensions,p=await d(u.floating);return{reference:getRectRelativeToOffsetParent(u.reference,await n(u.floating),u.strategy),floating:{x:0,y:0,width:p.width,height:p.height}}};function isRTL(u){return getComputedStyle$2(u).direction==="rtl"}const platform={convertOffsetParentRelativeRectToViewportRelativeRect,getDocumentElement:getDocumentElement$1,getClippingRect:getClippingRect$1,getOffsetParent:getOffsetParent$1,getElementRects,getClientRects,getDimensions,getScale,isElement:isElement$2,isRTL};function rectsAreEqual(u,n){return u.x===n.x&&u.y===n.y&&u.width===n.width&&u.height===n.height}function observeMove(u,n){let d=null,p;const m=getDocumentElement$1(u);function g(){var b;clearTimeout(p),(b=d)==null||b.disconnect(),d=null}function y(b,S){b===void 0&&(b=!1),S===void 0&&(S=1),g();const E=u.getBoundingClientRect(),{left:T,top:_,width:R,height:C}=E;if(b||n(),!R||!C)return;const A=floor$1(_),k=floor$1(m.clientWidth-(T+R)),I=floor$1(m.clientHeight-(_+C)),P=floor$1(T),O={rootMargin:-A+"px "+-k+"px "+-I+"px "+-P+"px",threshold:max$2(0,min$2(1,S))||1};let N=!0;function F(L){const V=L[0].intersectionRatio;if(V!==S){if(!N)return y();V?y(!1,V):p=setTimeout(()=>{y(!1,1e-7)},1e3)}V===1&&!rectsAreEqual(E,u.getBoundingClientRect())&&y(),N=!1}try{d=new IntersectionObserver(F,{...O,root:m.ownerDocument})}catch{d=new IntersectionObserver(F,O)}d.observe(u)}return y(!0),g}function autoUpdate(u,n,d,p){p===void 0&&(p={});const{ancestorScroll:m=!0,ancestorResize:g=!0,elementResize:y=typeof ResizeObserver=="function",layoutShift:b=typeof IntersectionObserver=="function",animationFrame:S=!1}=p,E=unwrapElement(u),T=m||g?[...E?getOverflowAncestors(E):[],...n?getOverflowAncestors(n):[]]:[];T.forEach(P=>{m&&P.addEventListener("scroll",d,{passive:!0}),g&&P.addEventListener("resize",d)});const _=E&&b?observeMove(E,d):null;let R=-1,C=null;y&&(C=new ResizeObserver(P=>{let[D]=P;D&&D.target===E&&C&&n&&(C.unobserve(n),cancelAnimationFrame(R),R=requestAnimationFrame(()=>{var O;(O=C)==null||O.observe(n)})),d()}),E&&!S&&C.observe(E),n&&C.observe(n));let A,k=S?getBoundingClientRect$1(u):null;S&&I();function I(){const P=getBoundingClientRect$1(u);k&&!rectsAreEqual(k,P)&&d(),k=P,A=requestAnimationFrame(I)}return d(),()=>{var P;T.forEach(D=>{m&&D.removeEventListener("scroll",d),g&&D.removeEventListener("resize",d)}),_?.(),(P=C)==null||P.disconnect(),C=null,S&&cancelAnimationFrame(A)}}const offset$3=offset$4,shift$1=shift$2,flip$3=flip$4,size$2=size$3,hide$3=hide$4,arrow$4=arrow$5,limitShift$1=limitShift$2,computePosition=(u,n,d)=>{const p=new Map,m={platform,...d},g={...m.platform,_c:p};return computePosition$1(u,n,{...m,platform:g})};var isClient=typeof document<"u",noop$1=function(){},index=isClient?React.useLayoutEffect:noop$1;function deepEqual$1(u,n){if(u===n)return!0;if(typeof u!=typeof n)return!1;if(typeof u=="function"&&u.toString()===n.toString())return!0;let d,p,m;if(u&&n&&typeof u=="object"){if(Array.isArray(u)){if(d=u.length,d!==n.length)return!1;for(p=d;p--!==0;)if(!deepEqual$1(u[p],n[p]))return!1;return!0}if(m=Object.keys(u),d=m.length,d!==Object.keys(n).length)return!1;for(p=d;p--!==0;)if(!{}.hasOwnProperty.call(n,m[p]))return!1;for(p=d;p--!==0;){const g=m[p];if(!(g==="_owner"&&u.$$typeof)&&!deepEqual$1(u[g],n[g]))return!1}return!0}return u!==u&&n!==n}function getDPR(u){return typeof window>"u"?1:(u.ownerDocument.defaultView||window).devicePixelRatio||1}function roundByDPR(u,n){const d=getDPR(u);return Math.round(n*d)/d}function useLatestRef(u){const n=React__namespace.useRef(u);return index(()=>{n.current=u}),n}function useFloating(u){u===void 0&&(u={});const{placement:n="bottom",strategy:d="absolute",middleware:p=[],platform:m,elements:{reference:g,floating:y}={},transform:b=!0,whileElementsMounted:S,open:E}=u,[T,_]=React__namespace.useState({x:0,y:0,strategy:d,placement:n,middlewareData:{},isPositioned:!1}),[R,C]=React__namespace.useState(p);deepEqual$1(R,p)||C(p);const[A,k]=React__namespace.useState(null),[I,P]=React__namespace.useState(null),D=React__namespace.useCallback(H=>{H!==L.current&&(L.current=H,k(H))},[]),O=React__namespace.useCallback(H=>{H!==V.current&&(V.current=H,P(H))},[]),N=g||A,F=y||I,L=React__namespace.useRef(null),V=React__namespace.useRef(null),j=React__namespace.useRef(T),Y=S!=null,te=useLatestRef(S),ee=useLatestRef(m),J=useLatestRef(E),se=React__namespace.useCallback(()=>{if(!L.current||!V.current)return;const H={placement:n,strategy:d,middleware:R};ee.current&&(H.platform=ee.current),computePosition(L.current,V.current,H).then(W=>{const Q={...W,isPositioned:J.current!==!1};Z.current&&!deepEqual$1(j.current,Q)&&(j.current=Q,ReactDOM__namespace.flushSync(()=>{_(Q)}))})},[R,n,d,ee,J]);index(()=>{E===!1&&j.current.isPositioned&&(j.current.isPositioned=!1,_(H=>({...H,isPositioned:!1})))},[E]);const Z=React__namespace.useRef(!1);index(()=>(Z.current=!0,()=>{Z.current=!1}),[]),index(()=>{if(N&&(L.current=N),F&&(V.current=F),N&&F){if(te.current)return te.current(N,F,se);se()}},[N,F,se,te,Y]);const re=React__namespace.useMemo(()=>({reference:L,floating:V,setReference:D,setFloating:O}),[D,O]),B=React__namespace.useMemo(()=>({reference:N,floating:F}),[N,F]),q=React__namespace.useMemo(()=>{const H={position:d,left:0,top:0};if(!B.floating)return H;const W=roundByDPR(B.floating,T.x),Q=roundByDPR(B.floating,T.y);return b?{...H,transform:"translate("+W+"px, "+Q+"px)",...getDPR(B.floating)>=1.5&&{willChange:"transform"}}:{position:d,left:W,top:Q}},[d,b,B.floating,T.x,T.y]);return React__namespace.useMemo(()=>({...T,update:se,refs:re,elements:B,floatingStyles:q}),[T,se,re,B,q])}const arrow$1$1=u=>{function n(d){return{}.hasOwnProperty.call(d,"current")}return{name:"arrow",options:u,fn(d){const{element:p,padding:m}=typeof u=="function"?u(d):u;return p&&n(p)?p.current!=null?arrow$4({element:p.current,padding:m}).fn(d):{}:p?arrow$4({element:p,padding:m}).fn(d):{}}}},offset$2=(u,n)=>{const d=offset$3(u);return{name:d.name,fn:d.fn,options:[u,n]}},shift=(u,n)=>{const d=shift$1(u);return{name:d.name,fn:d.fn,options:[u,n]}},limitShift=(u,n)=>({fn:limitShift$1(u).fn,options:[u,n]}),flip$2=(u,n)=>{const d=flip$3(u);return{name:d.name,fn:d.fn,options:[u,n]}},size$1=(u,n)=>{const d=size$2(u);return{name:d.name,fn:d.fn,options:[u,n]}},hide$2=(u,n)=>{const d=hide$3(u);return{name:d.name,fn:d.fn,options:[u,n]}},arrow$3=(u,n)=>{const d=arrow$1$1(u);return{name:d.name,fn:d.fn,options:[u,n]}};var NAME$4="Arrow",Arrow$1=React__namespace.forwardRef((u,n)=>{const{children:d,width:p=10,height:m=5,...g}=u;return jsxRuntime.jsx(Primitive$5.svg,{...g,ref:n,width:p,height:m,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:u.asChild?d:jsxRuntime.jsx("polygon",{points:"0,0 30,0 15,10"})})});Arrow$1.displayName=NAME$4;var Root$8=Arrow$1;function useSize(u){const[n,d]=React__namespace.useState(void 0);return useLayoutEffect2(()=>{if(u){d({width:u.offsetWidth,height:u.offsetHeight});const p=new ResizeObserver(m=>{if(!Array.isArray(m)||!m.length)return;const g=m[0];let y,b;if("borderBoxSize"in g){const S=g.borderBoxSize,E=Array.isArray(S)?S[0]:S;y=E.inlineSize,b=E.blockSize}else y=u.offsetWidth,b=u.offsetHeight;d({width:y,height:b})});return p.observe(u,{box:"border-box"}),()=>p.unobserve(u)}else d(void 0)},[u]),n}var POPPER_NAME="Popper",[createPopperContext,createPopperScope]=createContextScope$2(POPPER_NAME),[PopperProvider,usePopperContext]=createPopperContext(POPPER_NAME),Popper=u=>{const{__scopePopper:n,children:d}=u,[p,m]=React__namespace.useState(null);return jsxRuntime.jsx(PopperProvider,{scope:n,anchor:p,onAnchorChange:m,children:d})};Popper.displayName=POPPER_NAME;var ANCHOR_NAME$2="PopperAnchor",PopperAnchor=React__namespace.forwardRef((u,n)=>{const{__scopePopper:d,virtualRef:p,...m}=u,g=usePopperContext(ANCHOR_NAME$2,d),y=React__namespace.useRef(null),b=useComposedRefs(n,y),S=React__namespace.useRef(null);return React__namespace.useEffect(()=>{const E=S.current;S.current=p?.current||y.current,E!==S.current&&g.onAnchorChange(S.current)}),p?null:jsxRuntime.jsx(Primitive$5.div,{...m,ref:b})});PopperAnchor.displayName=ANCHOR_NAME$2;var CONTENT_NAME$6="PopperContent",[PopperContentProvider,useContentContext]=createPopperContext(CONTENT_NAME$6),PopperContent=React__namespace.forwardRef((u,n)=>{const{__scopePopper:d,side:p="bottom",sideOffset:m=0,align:g="center",alignOffset:y=0,arrowPadding:b=0,avoidCollisions:S=!0,collisionBoundary:E=[],collisionPadding:T=0,sticky:_="partial",hideWhenDetached:R=!1,updatePositionStrategy:C="optimized",onPlaced:A,...k}=u,I=usePopperContext(CONTENT_NAME$6,d),[P,D]=React__namespace.useState(null),O=useComposedRefs(n,fe=>D(fe)),[N,F]=React__namespace.useState(null),L=useSize(N),V=L?.width??0,j=L?.height??0,Y=p+(g!=="center"?"-"+g:""),te=typeof T=="number"?T:{top:0,right:0,bottom:0,left:0,...T},ee=Array.isArray(E)?E:[E],J=ee.length>0,se={padding:te,boundary:ee.filter(isNotNull),altBoundary:J},{refs:Z,floatingStyles:re,placement:B,isPositioned:q,middlewareData:H}=useFloating({strategy:"fixed",placement:Y,whileElementsMounted:(...fe)=>autoUpdate(...fe,{animationFrame:C==="always"}),elements:{reference:I.anchor},middleware:[offset$2({mainAxis:m+j,alignmentAxis:y}),S&&shift({mainAxis:!0,crossAxis:!1,limiter:_==="partial"?limitShift():void 0,...se}),S&&flip$2({...se}),size$1({...se,apply:({elements:fe,rects:pe,availableWidth:ge,availableHeight:ve})=>{const{width:be,height:ye}=pe.reference,Se=fe.floating.style;Se.setProperty("--radix-popper-available-width",`${ge}px`),Se.setProperty("--radix-popper-available-height",`${ve}px`),Se.setProperty("--radix-popper-anchor-width",`${be}px`),Se.setProperty("--radix-popper-anchor-height",`${ye}px`)}}),N&&arrow$3({element:N,padding:b}),transformOrigin({arrowWidth:V,arrowHeight:j}),R&&hide$2({strategy:"referenceHidden",...se})]}),[W,Q]=getSideAndAlignFromPlacement(B),ne=useCallbackRef$1(A);useLayoutEffect2(()=>{q&&ne?.()},[q,ne]);const le=H.arrow?.x,ce=H.arrow?.y,ae=H.arrow?.centerOffset!==0,[oe,de]=React__namespace.useState();return useLayoutEffect2(()=>{P&&de(window.getComputedStyle(P).zIndex)},[P]),jsxRuntime.jsx("div",{ref:Z.setFloating,"data-radix-popper-content-wrapper":"",style:{...re,transform:q?re.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:oe,"--radix-popper-transform-origin":[H.transformOrigin?.x,H.transformOrigin?.y].join(" "),...H.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:u.dir,children:jsxRuntime.jsx(PopperContentProvider,{scope:d,placedSide:W,onArrowChange:F,arrowX:le,arrowY:ce,shouldHideArrow:ae,children:jsxRuntime.jsx(Primitive$5.div,{"data-side":W,"data-align":Q,...k,ref:O,style:{...k.style,animation:q?void 0:"none"}})})})});PopperContent.displayName=CONTENT_NAME$6;var ARROW_NAME$5="PopperArrow",OPPOSITE_SIDE={top:"bottom",right:"left",bottom:"top",left:"right"},PopperArrow=React__namespace.forwardRef(function(n,d){const{__scopePopper:p,...m}=n,g=useContentContext(ARROW_NAME$5,p),y=OPPOSITE_SIDE[g.placedSide];return jsxRuntime.jsx("span",{ref:g.onArrowChange,style:{position:"absolute",left:g.arrowX,top:g.arrowY,[y]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[g.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[g.placedSide],visibility:g.shouldHideArrow?"hidden":void 0},children:jsxRuntime.jsx(Root$8,{...m,ref:d,style:{...m.style,display:"block"}})})});PopperArrow.displayName=ARROW_NAME$5;function isNotNull(u){return u!==null}var transformOrigin=u=>({name:"transformOrigin",options:u,fn(n){const{placement:d,rects:p,middlewareData:m}=n,y=m.arrow?.centerOffset!==0,b=y?0:u.arrowWidth,S=y?0:u.arrowHeight,[E,T]=getSideAndAlignFromPlacement(d),_={start:"0%",center:"50%",end:"100%"}[T],R=(m.arrow?.x??0)+b/2,C=(m.arrow?.y??0)+S/2;let A="",k="";return E==="bottom"?(A=y?_:`${R}px`,k=`${-S}px`):E==="top"?(A=y?_:`${R}px`,k=`${p.floating.height+S}px`):E==="right"?(A=`${-S}px`,k=y?_:`${C}px`):E==="left"&&(A=`${p.floating.width+S}px`,k=y?_:`${C}px`),{data:{x:A,y:k}}}});function getSideAndAlignFromPlacement(u){const[n,d="center"]=u.split("-");return[n,d]}var Root2$3=Popper,Anchor=PopperAnchor,Content$1=PopperContent,Arrow=PopperArrow,PORTAL_NAME$6="Portal",Portal$5=React__namespace.forwardRef((u,n)=>{const{container:d,...p}=u,[m,g]=React__namespace.useState(!1);useLayoutEffect2(()=>g(!0),[]);const y=d||m&&globalThis?.document?.body;return y?ReactDOM__namespace.default.createPortal(jsxRuntime.jsx(Primitive$5.div,{...p,ref:n}),y):null});Portal$5.displayName=PORTAL_NAME$6;function createSlot$4(u){const n=createSlotClone$4(u),d=React__namespace.forwardRef((p,m)=>{const{children:g,...y}=p,b=React__namespace.Children.toArray(g),S=b.find(isSlottable$4);if(S){const E=S.props.children,T=b.map(_=>_===S?React__namespace.Children.count(E)>1?React__namespace.Children.only(null):React__namespace.isValidElement(E)?E.props.children:null:_);return jsxRuntime.jsx(n,{...y,ref:m,children:React__namespace.isValidElement(E)?React__namespace.cloneElement(E,void 0,T):null})}return jsxRuntime.jsx(n,{...y,ref:m,children:g})});return d.displayName=`${u}.Slot`,d}function createSlotClone$4(u){const n=React__namespace.forwardRef((d,p)=>{const{children:m,...g}=d;if(React__namespace.isValidElement(m)){const y=getElementRef$4(m),b=mergeProps$4(g,m.props);return m.type!==React__namespace.Fragment&&(b.ref=p?composeRefs(p,y):y),React__namespace.cloneElement(m,b)}return React__namespace.Children.count(m)>1?React__namespace.Children.only(null):null});return n.displayName=`${u}.SlotClone`,n}var SLOTTABLE_IDENTIFIER$5=Symbol("radix.slottable");function isSlottable$4(u){return React__namespace.isValidElement(u)&&typeof u.type=="function"&&"__radixId"in u.type&&u.type.__radixId===SLOTTABLE_IDENTIFIER$5}function mergeProps$4(u,n){const d={...n};for(const p in n){const m=u[p],g=n[p];/^on[A-Z]/.test(p)?m&&g?d[p]=(...b)=>{const S=g(...b);return m(...b),S}:m&&(d[p]=m):p==="style"?d[p]={...m,...g}:p==="className"&&(d[p]=[m,g].filter(Boolean).join(" "))}return{...u,...d}}function getElementRef$4(u){let n=Object.getOwnPropertyDescriptor(u.props,"ref")?.get,d=n&&"isReactWarning"in n&&n.isReactWarning;return d?u.ref:(n=Object.getOwnPropertyDescriptor(u,"ref")?.get,d=n&&"isReactWarning"in n&&n.isReactWarning,d?u.props.ref:u.props.ref||u.ref)}function usePrevious(u){const n=React__namespace.useRef({value:u,previous:u});return React__namespace.useMemo(()=>(n.current.value!==u&&(n.current.previous=n.current.value,n.current.value=u),n.current.previous),[u])}var VISUALLY_HIDDEN_STYLES=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),NAME$3="VisuallyHidden",VisuallyHidden=React__namespace.forwardRef((u,n)=>jsxRuntime.jsx(Primitive$5.span,{...u,ref:n,style:{...VISUALLY_HIDDEN_STYLES,...u.style}}));VisuallyHidden.displayName=NAME$3;var Root$7=VisuallyHidden,getDefaultParent=function(u){if(typeof document>"u")return null;var n=Array.isArray(u)?u[0]:u;return n.ownerDocument.body},counterMap=new WeakMap,uncontrolledNodes=new WeakMap,markerMap={},lockCount=0,unwrapHost=function(u){return u&&(u.host||unwrapHost(u.parentNode))},correctTargets=function(u,n){return n.map(function(d){if(u.contains(d))return d;var p=unwrapHost(d);return p&&u.contains(p)?p:null}).filter(function(d){return!!d})},applyAttributeToOthers=function(u,n,d,p){var m=correctTargets(n,Array.isArray(u)?u:[u]);markerMap[d]||(markerMap[d]=new WeakMap);var g=markerMap[d],y=[],b=new Set,S=new Set(m),E=function(_){!_||b.has(_)||(b.add(_),E(_.parentNode))};m.forEach(E);var T=function(_){!_||S.has(_)||Array.prototype.forEach.call(_.children,function(R){if(b.has(R))T(R);else try{var C=R.getAttribute(p),A=C!==null&&C!=="false",k=(counterMap.get(R)||0)+1,I=(g.get(R)||0)+1;counterMap.set(R,k),g.set(R,I),y.push(R),k===1&&A&&uncontrolledNodes.set(R,!0),I===1&&R.setAttribute(d,"true"),A||R.setAttribute(p,"true")}catch{}})};return T(n),b.clear(),lockCount++,function(){y.forEach(function(_){var R=counterMap.get(_)-1,C=g.get(_)-1;counterMap.set(_,R),g.set(_,C),R||(uncontrolledNodes.has(_)||_.removeAttribute(p),uncontrolledNodes.delete(_)),C||_.removeAttribute(d)}),lockCount--,lockCount||(counterMap=new WeakMap,counterMap=new WeakMap,uncontrolledNodes=new WeakMap,markerMap={})}},hideOthers=function(u,n,d){d===void 0&&(d="data-aria-hidden");var p=Array.from(Array.isArray(u)?u:[u]),m=getDefaultParent(u);return m?(p.push.apply(p,Array.from(m.querySelectorAll("[aria-live], script"))),applyAttributeToOthers(p,m,d,"aria-hidden")):function(){return null}},__assign$1=function(){return __assign$1=Object.assign||function(n){for(var d,p=1,m=arguments.length;p<m;p++){d=arguments[p];for(var g in d)Object.prototype.hasOwnProperty.call(d,g)&&(n[g]=d[g])}return n},__assign$1.apply(this,arguments)};function __rest(u,n){var d={};for(var p in u)Object.prototype.hasOwnProperty.call(u,p)&&n.indexOf(p)<0&&(d[p]=u[p]);if(u!=null&&typeof Object.getOwnPropertySymbols=="function")for(var m=0,p=Object.getOwnPropertySymbols(u);m<p.length;m++)n.indexOf(p[m])<0&&Object.prototype.propertyIsEnumerable.call(u,p[m])&&(d[p[m]]=u[p[m]]);return d}function __spreadArray(u,n,d){if(d||arguments.length===2)for(var p=0,m=n.length,g;p<m;p++)(g||!(p in n))&&(g||(g=Array.prototype.slice.call(n,0,p)),g[p]=n[p]);return u.concat(g||Array.prototype.slice.call(n))}typeof SuppressedError=="function"&&SuppressedError;var zeroRightClassName="right-scroll-bar-position",fullWidthClassName="width-before-scroll-bar",noScrollbarsClassName="with-scroll-bars-hidden",removedBarSizeVariable="--removed-body-scroll-bar-size";function assignRef(u,n){return typeof u=="function"?u(n):u&&(u.current=n),u}function useCallbackRef(u,n){var d=React.useState(function(){return{value:u,callback:n,facade:{get current(){return d.value},set current(p){var m=d.value;m!==p&&(d.value=p,d.callback(p,m))}}}})[0];return d.callback=n,d.facade}var useIsomorphicLayoutEffect$1=typeof window<"u"?React__namespace.useLayoutEffect:React__namespace.useEffect,currentValues=new WeakMap;function useMergeRefs(u,n){var d=useCallbackRef(null,function(p){return u.forEach(function(m){return assignRef(m,p)})});return useIsomorphicLayoutEffect$1(function(){var p=currentValues.get(d);if(p){var m=new Set(p),g=new Set(u),y=d.current;m.forEach(function(b){g.has(b)||assignRef(b,null)}),g.forEach(function(b){m.has(b)||assignRef(b,y)})}currentValues.set(d,u)},[u]),d}function ItoI(u){return u}function innerCreateMedium(u,n){n===void 0&&(n=ItoI);var d=[],p=!1,m={read:function(){if(p)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return d.length?d[d.length-1]:u},useMedium:function(g){var y=n(g,p);return d.push(y),function(){d=d.filter(function(b){return b!==y})}},assignSyncMedium:function(g){for(p=!0;d.length;){var y=d;d=[],y.forEach(g)}d={push:function(b){return g(b)},filter:function(){return d}}},assignMedium:function(g){p=!0;var y=[];if(d.length){var b=d;d=[],b.forEach(g),y=d}var S=function(){var T=y;y=[],T.forEach(g)},E=function(){return Promise.resolve().then(S)};E(),d={push:function(T){y.push(T),E()},filter:function(T){return y=y.filter(T),d}}}};return m}function createSidecarMedium(u){u===void 0&&(u={});var n=innerCreateMedium(null);return n.options=__assign$1({async:!0,ssr:!1},u),n}var SideCar$1=function(u){var n=u.sideCar,d=__rest(u,["sideCar"]);if(!n)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var p=n.read();if(!p)throw new Error("Sidecar medium not found");return React__namespace.createElement(p,__assign$1({},d))};SideCar$1.isSideCarExport=!0;function exportSidecar(u,n){return u.useMedium(n),SideCar$1}var effectCar=createSidecarMedium(),nothing=function(){},RemoveScroll=React__namespace.forwardRef(function(u,n){var d=React__namespace.useRef(null),p=React__namespace.useState({onScrollCapture:nothing,onWheelCapture:nothing,onTouchMoveCapture:nothing}),m=p[0],g=p[1],y=u.forwardProps,b=u.children,S=u.className,E=u.removeScrollBar,T=u.enabled,_=u.shards,R=u.sideCar,C=u.noRelative,A=u.noIsolation,k=u.inert,I=u.allowPinchZoom,P=u.as,D=P===void 0?"div":P,O=u.gapMode,N=__rest(u,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),F=R,L=useMergeRefs([d,n]),V=__assign$1(__assign$1({},N),m);return React__namespace.createElement(React__namespace.Fragment,null,T&&React__namespace.createElement(F,{sideCar:effectCar,removeScrollBar:E,shards:_,noRelative:C,noIsolation:A,inert:k,setCallbacks:g,allowPinchZoom:!!I,lockRef:d,gapMode:O}),y?React__namespace.cloneElement(React__namespace.Children.only(b),__assign$1(__assign$1({},V),{ref:L})):React__namespace.createElement(D,__assign$1({},V,{className:S,ref:L}),b))});RemoveScroll.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};RemoveScroll.classNames={fullWidth:fullWidthClassName,zeroRight:zeroRightClassName};var getNonce=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function makeStyleTag(){if(!document)return null;var u=document.createElement("style");u.type="text/css";var n=getNonce();return n&&u.setAttribute("nonce",n),u}function injectStyles(u,n){u.styleSheet?u.styleSheet.cssText=n:u.appendChild(document.createTextNode(n))}function insertStyleTag(u){var n=document.head||document.getElementsByTagName("head")[0];n.appendChild(u)}var stylesheetSingleton=function(){var u=0,n=null;return{add:function(d){u==0&&(n=makeStyleTag())&&(injectStyles(n,d),insertStyleTag(n)),u++},remove:function(){u--,!u&&n&&(n.parentNode&&n.parentNode.removeChild(n),n=null)}}},styleHookSingleton=function(){var u=stylesheetSingleton();return function(n,d){React__namespace.useEffect(function(){return u.add(n),function(){u.remove()}},[n&&d])}},styleSingleton=function(){var u=styleHookSingleton(),n=function(d){var p=d.styles,m=d.dynamic;return u(p,m),null};return n},zeroGap={left:0,top:0,right:0,gap:0},parse=function(u){return parseInt(u||"",10)||0},getOffset=function(u){var n=window.getComputedStyle(document.body),d=n[u==="padding"?"paddingLeft":"marginLeft"],p=n[u==="padding"?"paddingTop":"marginTop"],m=n[u==="padding"?"paddingRight":"marginRight"];return[parse(d),parse(p),parse(m)]},getGapWidth=function(u){if(u===void 0&&(u="margin"),typeof window>"u")return zeroGap;var n=getOffset(u),d=document.documentElement.clientWidth,p=window.innerWidth;return{left:n[0],top:n[1],right:n[2],gap:Math.max(0,p-d+n[2]-n[0])}},Style=styleSingleton(),lockAttribute="data-scroll-locked",getStyles=function(u,n,d,p){var m=u.left,g=u.top,y=u.right,b=u.gap;return d===void 0&&(d="margin"),`
107
+ ${A}`}}),S}function updateMarkViewAttributes(u,n,d={}){const{state:p}=n,{doc:m,tr:g}=p,y=u;m.descendants((b,S)=>{const E=g.mapping.map(S),T=g.mapping.map(S)+b.nodeSize;let _=null;if(b.marks.forEach(C=>{if(C!==y)return!1;_=C}),!_)return;let R=!1;if(Object.keys(d).forEach(C=>{d[C]!==_.attrs[C]&&(R=!0)}),R){const C=u.type.create({...u.attrs,...d});g.removeMark(E,T,u.type),g.addMark(E,T,C)}}),g.docChanged&&n.view.dispatch(g)}var MarkView=class{constructor(u,n,d){this.component=u,this.editor=n.editor,this.options={...d},this.mark=n.mark,this.HTMLAttributes=n.HTMLAttributes}get dom(){return this.editor.view.dom}get contentDOM(){return null}updateAttributes(u,n){updateMarkViewAttributes(n||this.mark,this.editor,u)}ignoreMutation(u){return!this.dom||!this.contentDOM?!0:typeof this.options.ignoreMutation=="function"?this.options.ignoreMutation({mutation:u}):u.type==="selection"||this.dom.contains(u.target)&&u.type==="childList"&&(isiOS()||isAndroid())&&this.editor.isFocused&&[...Array.from(u.addedNodes),...Array.from(u.removedNodes)].every(d=>d.isContentEditable)?!1:this.contentDOM===u.target&&u.type==="attributes"?!0:!this.contentDOM.contains(u.target)}},Node3=class Ut extends Extendable{constructor(){super(...arguments),this.type="node"}static create(n={}){const d=typeof n=="function"?n():n;return new Ut(d)}configure(n){return super.configure(n)}extend(n){const d=typeof n=="function"?n():n;return super.extend(d)}},NodeView=class{constructor(u,n,d){this.isDragging=!1,this.component=u,this.editor=n.editor,this.options={stopEvent:null,ignoreMutation:null,...d},this.extension=n.extension,this.node=n.node,this.decorations=n.decorations,this.innerDecorations=n.innerDecorations,this.view=n.view,this.HTMLAttributes=n.HTMLAttributes,this.getPos=n.getPos,this.mount()}mount(){}get dom(){return this.editor.view.dom}get contentDOM(){return null}onDragStart(u){var n,d,p,m,g,y,b;const{view:S}=this.editor,E=u.target,T=E.nodeType===3?(n=E.parentElement)==null?void 0:n.closest("[data-drag-handle]"):E.closest("[data-drag-handle]");if(!this.dom||(d=this.contentDOM)!=null&&d.contains(E)||!T)return;let _=0,R=0;if(this.dom!==T){const D=this.dom.getBoundingClientRect(),O=T.getBoundingClientRect(),N=(m=u.offsetX)!=null?m:(p=u.nativeEvent)==null?void 0:p.offsetX,F=(y=u.offsetY)!=null?y:(g=u.nativeEvent)==null?void 0:g.offsetY;_=O.x-D.x+N,R=O.y-D.y+F}const C=this.dom.cloneNode(!0);try{const D=this.dom.getBoundingClientRect();C.style.width=`${Math.round(D.width)}px`,C.style.height=`${Math.round(D.height)}px`,C.style.boxSizing="border-box",C.style.pointerEvents="none"}catch{}let A=null;try{A=document.createElement("div"),A.style.position="absolute",A.style.top="-9999px",A.style.left="-9999px",A.style.pointerEvents="none",A.appendChild(C),document.body.appendChild(A),(b=u.dataTransfer)==null||b.setDragImage(C,_,R)}finally{A&&setTimeout(()=>{try{A?.remove()}catch{}},0)}const k=this.getPos();if(typeof k!="number")return;const I=NodeSelection.create(S.state.doc,k),P=S.state.tr.setSelection(I);S.dispatch(P)}stopEvent(u){var n;if(!this.dom)return!1;if(typeof this.options.stopEvent=="function")return this.options.stopEvent({event:u});const d=u.target;if(!(this.dom.contains(d)&&!((n=this.contentDOM)!=null&&n.contains(d))))return!1;const m=u.type.startsWith("drag"),g=u.type==="drop";if((["INPUT","BUTTON","SELECT","TEXTAREA"].includes(d.tagName)||d.isContentEditable)&&!g&&!m)return!0;const{isEditable:b}=this.editor,{isDragging:S}=this,E=!!this.node.type.spec.draggable,T=NodeSelection.isSelectable(this.node),_=u.type==="copy",R=u.type==="paste",C=u.type==="cut",A=u.type==="mousedown";if(!E&&T&&m&&u.target===this.dom&&u.preventDefault(),E&&m&&!S&&u.target===this.dom)return u.preventDefault(),!1;if(E&&b&&!S&&A){const k=d.closest("[data-drag-handle]");k&&(this.dom===k||this.dom.contains(k))&&(this.isDragging=!0,document.addEventListener("dragend",()=>{this.isDragging=!1},{once:!0}),document.addEventListener("drop",()=>{this.isDragging=!1},{once:!0}),document.addEventListener("mouseup",()=>{this.isDragging=!1},{once:!0}))}return!(S||g||_||R||C||A&&T)}ignoreMutation(u){return!this.dom||!this.contentDOM?!0:typeof this.options.ignoreMutation=="function"?this.options.ignoreMutation({mutation:u}):this.node.isLeaf||this.node.isAtom?!0:u.type==="selection"||this.dom.contains(u.target)&&u.type==="childList"&&(isiOS()||isAndroid())&&this.editor.isFocused&&[...Array.from(u.addedNodes),...Array.from(u.removedNodes)].every(d=>d.isContentEditable)?!1:this.contentDOM===u.target&&u.type==="attributes"?!0:!this.contentDOM.contains(u.target)}updateAttributes(u){this.editor.commands.command(({tr:n})=>{const d=this.getPos();return typeof d!="number"?!1:(n.setNodeMarkup(d,void 0,{...this.node.attrs,...u}),!0)})}deleteNode(){const u=this.getPos();if(typeof u!="number")return;const n=u+this.node.nodeSize;this.editor.commands.deleteRange({from:u,to:n})}};function markPasteRule(u){return new PasteRule({find:u.find,handler:({state:n,range:d,match:p,pasteEvent:m})=>{const g=callOrReturn(u.getAttributes,void 0,p,m);if(g===!1||g===null)return null;const{tr:y}=n,b=p[p.length-1],S=p[0];let E=d.to;if(b){const T=S.search(/\S/),_=d.from+S.indexOf(b),R=_+b.length;if(getMarksBetween(d.from,d.to,n.doc).filter(A=>A.mark.type.excluded.find(I=>I===u.type&&I!==A.mark.type)).filter(A=>A.to>_).length)return null;R<d.to&&y.delete(R,d.to),_>d.from&&y.delete(d.from+T,_),E=d.from+T+b.length,y.addMark(d.from+T,E,u.type.create(g||{})),y.removeStoredMark(u.type)}}})}function traverse(u,n,d={}){const{order:p="depth-first",includeRoot:m=!0,maxDepth:g=-1}=d,y=typeof n!="function";function b(E,T,_,R){if(g!==-1&&R>g)return!0;let C=!0;if(y){const A=n[E.type];A&&A(E,T,_,R)===!1&&(C=!1)}else n(E,T,_,R)===!1&&(C=!1);if(!C)return!1;if(E.content&&Array.isArray(E.content))for(let A=0;A<E.content.length;A++){const k=E.content[A];if(p==="depth-first"){if(!b(k,E,A,R+1))return!1}else if(!b(k,E,A,R+1))return!1}return!0}const S=m?0:1;m?b(u,null,0,0):u.content&&u.content.forEach((E,T)=>{b(E,u,T,S)})}function findByType(u,n,d={}){const p=[],m=d.findAll??!0;return traverse(u,g=>{if(g.type===n&&(p.push(g),!m))return!1},d),p}function findFirstByType(u,n,d={}){return findByType(u,n,{...d,findAll:!1})[0]||null}function find$2(u,n,d={}){const p=[],m=d.findAll??!0;return traverse(u,g=>{if(n(g)&&(p.push(g),!m))return!1},d),p}function filterNodes(u,n){if(!n(u))return null;if(!u.content)return u;const d=u.content.map(p=>filterNodes(p,n)).filter(p=>p!==null);return{...u,content:d.length>0?d:void 0}}function isOnlyContentNode(u,n,d={}){const{containerTypes:p=["doc","paragraph","blockquote","bulletList","orderedList","listItem","table","tableRow","tableCell","tableHeader","mediaGroup"],ignoreEmptyText:m=!0}=d;let g=!1,y=!1;function b(S){if(y)return;const E=S.type;if(p.includes(E)){S.content&&S.content.forEach(b);return}if(E==="text"){const T=S.text??"";m&&T.trim()===""||(y=!0);return}if(E===n){g=!0,S.content&&S.content.forEach(b);return}y=!0}return b(u),g&&!y}function r$1(u){var n,d,p="";if(typeof u=="string"||typeof u=="number")p+=u;else if(typeof u=="object")if(Array.isArray(u)){var m=u.length;for(n=0;n<m;n++)u[n]&&(d=r$1(u[n]))&&(p&&(p+=" "),p+=d)}else for(d in u)u[d]&&(p&&(p+=" "),p+=d);return p}function clsx(){for(var u,n,d=0,p="",m=arguments.length;d<m;d++)(u=arguments[d])&&(n=r$1(u))&&(p&&(p+=" "),p+=n);return p}const concatArrays=(u,n)=>{const d=new Array(u.length+n.length);for(let p=0;p<u.length;p++)d[p]=u[p];for(let p=0;p<n.length;p++)d[u.length+p]=n[p];return d},createClassValidatorObject=(u,n)=>({classGroupId:u,validator:n}),createClassPartObject=(u=new Map,n=null,d)=>({nextPart:u,validators:n,classGroupId:d}),CLASS_PART_SEPARATOR="-",EMPTY_CONFLICTS=[],ARBITRARY_PROPERTY_PREFIX="arbitrary..",createClassGroupUtils=u=>{const n=createClassMap(u),{conflictingClassGroups:d,conflictingClassGroupModifiers:p}=u;return{getClassGroupId:y=>{if(y.startsWith("[")&&y.endsWith("]"))return getGroupIdForArbitraryProperty(y);const b=y.split(CLASS_PART_SEPARATOR),S=b[0]===""&&b.length>1?1:0;return getGroupRecursive(b,S,n)},getConflictingClassGroupIds:(y,b)=>{if(b){const S=p[y],E=d[y];return S?E?concatArrays(E,S):S:E||EMPTY_CONFLICTS}return d[y]||EMPTY_CONFLICTS}}},getGroupRecursive=(u,n,d)=>{if(u.length-n===0)return d.classGroupId;const m=u[n],g=d.nextPart.get(m);if(g){const E=getGroupRecursive(u,n+1,g);if(E)return E}const y=d.validators;if(y===null)return;const b=n===0?u.join(CLASS_PART_SEPARATOR):u.slice(n).join(CLASS_PART_SEPARATOR),S=y.length;for(let E=0;E<S;E++){const T=y[E];if(T.validator(b))return T.classGroupId}},getGroupIdForArbitraryProperty=u=>u.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const n=u.slice(1,-1),d=n.indexOf(":"),p=n.slice(0,d);return p?ARBITRARY_PROPERTY_PREFIX+p:void 0})(),createClassMap=u=>{const{theme:n,classGroups:d}=u;return processClassGroups(d,n)},processClassGroups=(u,n)=>{const d=createClassPartObject();for(const p in u){const m=u[p];processClassesRecursively(m,d,p,n)}return d},processClassesRecursively=(u,n,d,p)=>{const m=u.length;for(let g=0;g<m;g++){const y=u[g];processClassDefinition(y,n,d,p)}},processClassDefinition=(u,n,d,p)=>{if(typeof u=="string"){processStringDefinition(u,n,d);return}if(typeof u=="function"){processFunctionDefinition(u,n,d,p);return}processObjectDefinition(u,n,d,p)},processStringDefinition=(u,n,d)=>{const p=u===""?n:getPart(n,u);p.classGroupId=d},processFunctionDefinition=(u,n,d,p)=>{if(isThemeGetter(u)){processClassesRecursively(u(p),n,d,p);return}n.validators===null&&(n.validators=[]),n.validators.push(createClassValidatorObject(d,u))},processObjectDefinition=(u,n,d,p)=>{const m=Object.entries(u),g=m.length;for(let y=0;y<g;y++){const[b,S]=m[y];processClassesRecursively(S,getPart(n,b),d,p)}},getPart=(u,n)=>{let d=u;const p=n.split(CLASS_PART_SEPARATOR),m=p.length;for(let g=0;g<m;g++){const y=p[g];let b=d.nextPart.get(y);b||(b=createClassPartObject(),d.nextPart.set(y,b)),d=b}return d},isThemeGetter=u=>"isThemeGetter"in u&&u.isThemeGetter===!0,createLruCache=u=>{if(u<1)return{get:()=>{},set:()=>{}};let n=0,d=Object.create(null),p=Object.create(null);const m=(g,y)=>{d[g]=y,n++,n>u&&(n=0,p=d,d=Object.create(null))};return{get(g){let y=d[g];if(y!==void 0)return y;if((y=p[g])!==void 0)return m(g,y),y},set(g,y){g in d?d[g]=y:m(g,y)}}},IMPORTANT_MODIFIER="!",MODIFIER_SEPARATOR=":",EMPTY_MODIFIERS=[],createResultObject=(u,n,d,p,m)=>({modifiers:u,hasImportantModifier:n,baseClassName:d,maybePostfixModifierPosition:p,isExternal:m}),createParseClassName=u=>{const{prefix:n,experimentalParseClassName:d}=u;let p=m=>{const g=[];let y=0,b=0,S=0,E;const T=m.length;for(let k=0;k<T;k++){const I=m[k];if(y===0&&b===0){if(I===MODIFIER_SEPARATOR){g.push(m.slice(S,k)),S=k+1;continue}if(I==="/"){E=k;continue}}I==="["?y++:I==="]"?y--:I==="("?b++:I===")"&&b--}const _=g.length===0?m:m.slice(S);let R=_,C=!1;_.endsWith(IMPORTANT_MODIFIER)?(R=_.slice(0,-1),C=!0):_.startsWith(IMPORTANT_MODIFIER)&&(R=_.slice(1),C=!0);const A=E&&E>S?E-S:void 0;return createResultObject(g,C,R,A)};if(n){const m=n+MODIFIER_SEPARATOR,g=p;p=y=>y.startsWith(m)?g(y.slice(m.length)):createResultObject(EMPTY_MODIFIERS,!1,y,void 0,!0)}if(d){const m=p;p=g=>d({className:g,parseClassName:m})}return p},createSortModifiers=u=>{const n=new Map;return u.orderSensitiveModifiers.forEach((d,p)=>{n.set(d,1e6+p)}),d=>{const p=[];let m=[];for(let g=0;g<d.length;g++){const y=d[g],b=y[0]==="[",S=n.has(y);b||S?(m.length>0&&(m.sort(),p.push(...m),m=[]),p.push(y)):m.push(y)}return m.length>0&&(m.sort(),p.push(...m)),p}},createConfigUtils=u=>({cache:createLruCache(u.cacheSize),parseClassName:createParseClassName(u),sortModifiers:createSortModifiers(u),...createClassGroupUtils(u)}),SPLIT_CLASSES_REGEX=/\s+/,mergeClassList=(u,n)=>{const{parseClassName:d,getClassGroupId:p,getConflictingClassGroupIds:m,sortModifiers:g}=n,y=[],b=u.trim().split(SPLIT_CLASSES_REGEX);let S="";for(let E=b.length-1;E>=0;E-=1){const T=b[E],{isExternal:_,modifiers:R,hasImportantModifier:C,baseClassName:A,maybePostfixModifierPosition:k}=d(T);if(_){S=T+(S.length>0?" "+S:S);continue}let I=!!k,P=p(I?A.substring(0,k):A);if(!P){if(!I){S=T+(S.length>0?" "+S:S);continue}if(P=p(A),!P){S=T+(S.length>0?" "+S:S);continue}I=!1}const D=R.length===0?"":R.length===1?R[0]:g(R).join(":"),O=C?D+IMPORTANT_MODIFIER:D,N=O+P;if(y.indexOf(N)>-1)continue;y.push(N);const F=m(P,I);for(let L=0;L<F.length;++L){const V=F[L];y.push(O+V)}S=T+(S.length>0?" "+S:S)}return S},twJoin=(...u)=>{let n=0,d,p,m="";for(;n<u.length;)(d=u[n++])&&(p=toValue(d))&&(m&&(m+=" "),m+=p);return m},toValue=u=>{if(typeof u=="string")return u;let n,d="";for(let p=0;p<u.length;p++)u[p]&&(n=toValue(u[p]))&&(d&&(d+=" "),d+=n);return d},createTailwindMerge=(u,...n)=>{let d,p,m,g;const y=S=>{const E=n.reduce((T,_)=>_(T),u());return d=createConfigUtils(E),p=d.cache.get,m=d.cache.set,g=b,b(S)},b=S=>{const E=p(S);if(E)return E;const T=mergeClassList(S,d);return m(S,T),T};return g=y,(...S)=>g(twJoin(...S))},fallbackThemeArr=[],fromTheme=u=>{const n=d=>d[u]||fallbackThemeArr;return n.isThemeGetter=!0,n},arbitraryValueRegex=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,arbitraryVariableRegex=/^\((?:(\w[\w-]*):)?(.+)\)$/i,fractionRegex=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,tshirtUnitRegex=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,lengthUnitRegex=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,colorFunctionRegex=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,shadowRegex=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,imageRegex=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,isFraction=u=>fractionRegex.test(u),isNumber$1=u=>!!u&&!Number.isNaN(Number(u)),isInteger$1=u=>!!u&&Number.isInteger(Number(u)),isPercent=u=>u.endsWith("%")&&isNumber$1(u.slice(0,-1)),isTshirtSize=u=>tshirtUnitRegex.test(u),isAny=()=>!0,isLengthOnly=u=>lengthUnitRegex.test(u)&&!colorFunctionRegex.test(u),isNever=()=>!1,isShadow=u=>shadowRegex.test(u),isImage=u=>imageRegex.test(u),isAnyNonArbitrary=u=>!isArbitraryValue(u)&&!isArbitraryVariable(u),isArbitrarySize=u=>getIsArbitraryValue(u,isLabelSize,isNever),isArbitraryValue=u=>arbitraryValueRegex.test(u),isArbitraryLength=u=>getIsArbitraryValue(u,isLabelLength,isLengthOnly),isArbitraryNumber=u=>getIsArbitraryValue(u,isLabelNumber,isNumber$1),isArbitraryWeight=u=>getIsArbitraryValue(u,isLabelWeight,isAny),isArbitraryFamilyName=u=>getIsArbitraryValue(u,isLabelFamilyName,isNever),isArbitraryPosition=u=>getIsArbitraryValue(u,isLabelPosition,isNever),isArbitraryImage=u=>getIsArbitraryValue(u,isLabelImage,isImage),isArbitraryShadow=u=>getIsArbitraryValue(u,isLabelShadow,isShadow),isArbitraryVariable=u=>arbitraryVariableRegex.test(u),isArbitraryVariableLength=u=>getIsArbitraryVariable(u,isLabelLength),isArbitraryVariableFamilyName=u=>getIsArbitraryVariable(u,isLabelFamilyName),isArbitraryVariablePosition=u=>getIsArbitraryVariable(u,isLabelPosition),isArbitraryVariableSize=u=>getIsArbitraryVariable(u,isLabelSize),isArbitraryVariableImage=u=>getIsArbitraryVariable(u,isLabelImage),isArbitraryVariableShadow=u=>getIsArbitraryVariable(u,isLabelShadow,!0),isArbitraryVariableWeight=u=>getIsArbitraryVariable(u,isLabelWeight,!0),getIsArbitraryValue=(u,n,d)=>{const p=arbitraryValueRegex.exec(u);return p?p[1]?n(p[1]):d(p[2]):!1},getIsArbitraryVariable=(u,n,d=!1)=>{const p=arbitraryVariableRegex.exec(u);return p?p[1]?n(p[1]):d:!1},isLabelPosition=u=>u==="position"||u==="percentage",isLabelImage=u=>u==="image"||u==="url",isLabelSize=u=>u==="length"||u==="size"||u==="bg-size",isLabelLength=u=>u==="length",isLabelNumber=u=>u==="number",isLabelFamilyName=u=>u==="family-name",isLabelWeight=u=>u==="number"||u==="weight",isLabelShadow=u=>u==="shadow",getDefaultConfig=()=>{const u=fromTheme("color"),n=fromTheme("font"),d=fromTheme("text"),p=fromTheme("font-weight"),m=fromTheme("tracking"),g=fromTheme("leading"),y=fromTheme("breakpoint"),b=fromTheme("container"),S=fromTheme("spacing"),E=fromTheme("radius"),T=fromTheme("shadow"),_=fromTheme("inset-shadow"),R=fromTheme("text-shadow"),C=fromTheme("drop-shadow"),A=fromTheme("blur"),k=fromTheme("perspective"),I=fromTheme("aspect"),P=fromTheme("ease"),D=fromTheme("animate"),O=()=>["auto","avoid","all","avoid-page","page","left","right","column"],N=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],F=()=>[...N(),isArbitraryVariable,isArbitraryValue],L=()=>["auto","hidden","clip","visible","scroll"],V=()=>["auto","contain","none"],j=()=>[isArbitraryVariable,isArbitraryValue,S],Y=()=>[isFraction,"full","auto",...j()],te=()=>[isInteger$1,"none","subgrid",isArbitraryVariable,isArbitraryValue],ee=()=>["auto",{span:["full",isInteger$1,isArbitraryVariable,isArbitraryValue]},isInteger$1,isArbitraryVariable,isArbitraryValue],J=()=>[isInteger$1,"auto",isArbitraryVariable,isArbitraryValue],se=()=>["auto","min","max","fr",isArbitraryVariable,isArbitraryValue],Z=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],re=()=>["start","end","center","stretch","center-safe","end-safe"],B=()=>["auto",...j()],q=()=>[isFraction,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...j()],H=()=>[isFraction,"screen","full","dvw","lvw","svw","min","max","fit",...j()],W=()=>[isFraction,"screen","full","lh","dvh","lvh","svh","min","max","fit",...j()],Q=()=>[u,isArbitraryVariable,isArbitraryValue],ne=()=>[...N(),isArbitraryVariablePosition,isArbitraryPosition,{position:[isArbitraryVariable,isArbitraryValue]}],le=()=>["no-repeat",{repeat:["","x","y","space","round"]}],ce=()=>["auto","cover","contain",isArbitraryVariableSize,isArbitrarySize,{size:[isArbitraryVariable,isArbitraryValue]}],ae=()=>[isPercent,isArbitraryVariableLength,isArbitraryLength],oe=()=>["","none","full",E,isArbitraryVariable,isArbitraryValue],de=()=>["",isNumber$1,isArbitraryVariableLength,isArbitraryLength],fe=()=>["solid","dashed","dotted","double"],pe=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],ge=()=>[isNumber$1,isPercent,isArbitraryVariablePosition,isArbitraryPosition],ve=()=>["","none",A,isArbitraryVariable,isArbitraryValue],be=()=>["none",isNumber$1,isArbitraryVariable,isArbitraryValue],ye=()=>["none",isNumber$1,isArbitraryVariable,isArbitraryValue],Se=()=>[isNumber$1,isArbitraryVariable,isArbitraryValue],me=()=>[isFraction,"full",...j()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[isTshirtSize],breakpoint:[isTshirtSize],color:[isAny],container:[isTshirtSize],"drop-shadow":[isTshirtSize],ease:["in","out","in-out"],font:[isAnyNonArbitrary],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[isTshirtSize],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[isTshirtSize],shadow:[isTshirtSize],spacing:["px",isNumber$1],text:[isTshirtSize],"text-shadow":[isTshirtSize],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",isFraction,isArbitraryValue,isArbitraryVariable,I]}],container:["container"],columns:[{columns:[isNumber$1,isArbitraryValue,isArbitraryVariable,b]}],"break-after":[{"break-after":O()}],"break-before":[{"break-before":O()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:F()}],overflow:[{overflow:L()}],"overflow-x":[{"overflow-x":L()}],"overflow-y":[{"overflow-y":L()}],overscroll:[{overscroll:V()}],"overscroll-x":[{"overscroll-x":V()}],"overscroll-y":[{"overscroll-y":V()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:Y()}],"inset-x":[{"inset-x":Y()}],"inset-y":[{"inset-y":Y()}],start:[{"inset-s":Y(),start:Y()}],end:[{"inset-e":Y(),end:Y()}],"inset-bs":[{"inset-bs":Y()}],"inset-be":[{"inset-be":Y()}],top:[{top:Y()}],right:[{right:Y()}],bottom:[{bottom:Y()}],left:[{left:Y()}],visibility:["visible","invisible","collapse"],z:[{z:[isInteger$1,"auto",isArbitraryVariable,isArbitraryValue]}],basis:[{basis:[isFraction,"full","auto",b,...j()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[isNumber$1,isFraction,"auto","initial","none",isArbitraryValue]}],grow:[{grow:["",isNumber$1,isArbitraryVariable,isArbitraryValue]}],shrink:[{shrink:["",isNumber$1,isArbitraryVariable,isArbitraryValue]}],order:[{order:[isInteger$1,"first","last","none",isArbitraryVariable,isArbitraryValue]}],"grid-cols":[{"grid-cols":te()}],"col-start-end":[{col:ee()}],"col-start":[{"col-start":J()}],"col-end":[{"col-end":J()}],"grid-rows":[{"grid-rows":te()}],"row-start-end":[{row:ee()}],"row-start":[{"row-start":J()}],"row-end":[{"row-end":J()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":se()}],"auto-rows":[{"auto-rows":se()}],gap:[{gap:j()}],"gap-x":[{"gap-x":j()}],"gap-y":[{"gap-y":j()}],"justify-content":[{justify:[...Z(),"normal"]}],"justify-items":[{"justify-items":[...re(),"normal"]}],"justify-self":[{"justify-self":["auto",...re()]}],"align-content":[{content:["normal",...Z()]}],"align-items":[{items:[...re(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...re(),{baseline:["","last"]}]}],"place-content":[{"place-content":Z()}],"place-items":[{"place-items":[...re(),"baseline"]}],"place-self":[{"place-self":["auto",...re()]}],p:[{p:j()}],px:[{px:j()}],py:[{py:j()}],ps:[{ps:j()}],pe:[{pe:j()}],pbs:[{pbs:j()}],pbe:[{pbe:j()}],pt:[{pt:j()}],pr:[{pr:j()}],pb:[{pb:j()}],pl:[{pl:j()}],m:[{m:B()}],mx:[{mx:B()}],my:[{my:B()}],ms:[{ms:B()}],me:[{me:B()}],mbs:[{mbs:B()}],mbe:[{mbe:B()}],mt:[{mt:B()}],mr:[{mr:B()}],mb:[{mb:B()}],ml:[{ml:B()}],"space-x":[{"space-x":j()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":j()}],"space-y-reverse":["space-y-reverse"],size:[{size:q()}],"inline-size":[{inline:["auto",...H()]}],"min-inline-size":[{"min-inline":["auto",...H()]}],"max-inline-size":[{"max-inline":["none",...H()]}],"block-size":[{block:["auto",...W()]}],"min-block-size":[{"min-block":["auto",...W()]}],"max-block-size":[{"max-block":["none",...W()]}],w:[{w:[b,"screen",...q()]}],"min-w":[{"min-w":[b,"screen","none",...q()]}],"max-w":[{"max-w":[b,"screen","none","prose",{screen:[y]},...q()]}],h:[{h:["screen","lh",...q()]}],"min-h":[{"min-h":["screen","lh","none",...q()]}],"max-h":[{"max-h":["screen","lh",...q()]}],"font-size":[{text:["base",d,isArbitraryVariableLength,isArbitraryLength]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[p,isArbitraryVariableWeight,isArbitraryWeight]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",isPercent,isArbitraryValue]}],"font-family":[{font:[isArbitraryVariableFamilyName,isArbitraryFamilyName,n]}],"font-features":[{"font-features":[isArbitraryValue]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[m,isArbitraryVariable,isArbitraryValue]}],"line-clamp":[{"line-clamp":[isNumber$1,"none",isArbitraryVariable,isArbitraryNumber]}],leading:[{leading:[g,...j()]}],"list-image":[{"list-image":["none",isArbitraryVariable,isArbitraryValue]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",isArbitraryVariable,isArbitraryValue]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:Q()}],"text-color":[{text:Q()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...fe(),"wavy"]}],"text-decoration-thickness":[{decoration:[isNumber$1,"from-font","auto",isArbitraryVariable,isArbitraryLength]}],"text-decoration-color":[{decoration:Q()}],"underline-offset":[{"underline-offset":[isNumber$1,"auto",isArbitraryVariable,isArbitraryValue]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:j()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",isArbitraryVariable,isArbitraryValue]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",isArbitraryVariable,isArbitraryValue]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:ne()}],"bg-repeat":[{bg:le()}],"bg-size":[{bg:ce()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},isInteger$1,isArbitraryVariable,isArbitraryValue],radial:["",isArbitraryVariable,isArbitraryValue],conic:[isInteger$1,isArbitraryVariable,isArbitraryValue]},isArbitraryVariableImage,isArbitraryImage]}],"bg-color":[{bg:Q()}],"gradient-from-pos":[{from:ae()}],"gradient-via-pos":[{via:ae()}],"gradient-to-pos":[{to:ae()}],"gradient-from":[{from:Q()}],"gradient-via":[{via:Q()}],"gradient-to":[{to:Q()}],rounded:[{rounded:oe()}],"rounded-s":[{"rounded-s":oe()}],"rounded-e":[{"rounded-e":oe()}],"rounded-t":[{"rounded-t":oe()}],"rounded-r":[{"rounded-r":oe()}],"rounded-b":[{"rounded-b":oe()}],"rounded-l":[{"rounded-l":oe()}],"rounded-ss":[{"rounded-ss":oe()}],"rounded-se":[{"rounded-se":oe()}],"rounded-ee":[{"rounded-ee":oe()}],"rounded-es":[{"rounded-es":oe()}],"rounded-tl":[{"rounded-tl":oe()}],"rounded-tr":[{"rounded-tr":oe()}],"rounded-br":[{"rounded-br":oe()}],"rounded-bl":[{"rounded-bl":oe()}],"border-w":[{border:de()}],"border-w-x":[{"border-x":de()}],"border-w-y":[{"border-y":de()}],"border-w-s":[{"border-s":de()}],"border-w-e":[{"border-e":de()}],"border-w-bs":[{"border-bs":de()}],"border-w-be":[{"border-be":de()}],"border-w-t":[{"border-t":de()}],"border-w-r":[{"border-r":de()}],"border-w-b":[{"border-b":de()}],"border-w-l":[{"border-l":de()}],"divide-x":[{"divide-x":de()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":de()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...fe(),"hidden","none"]}],"divide-style":[{divide:[...fe(),"hidden","none"]}],"border-color":[{border:Q()}],"border-color-x":[{"border-x":Q()}],"border-color-y":[{"border-y":Q()}],"border-color-s":[{"border-s":Q()}],"border-color-e":[{"border-e":Q()}],"border-color-bs":[{"border-bs":Q()}],"border-color-be":[{"border-be":Q()}],"border-color-t":[{"border-t":Q()}],"border-color-r":[{"border-r":Q()}],"border-color-b":[{"border-b":Q()}],"border-color-l":[{"border-l":Q()}],"divide-color":[{divide:Q()}],"outline-style":[{outline:[...fe(),"none","hidden"]}],"outline-offset":[{"outline-offset":[isNumber$1,isArbitraryVariable,isArbitraryValue]}],"outline-w":[{outline:["",isNumber$1,isArbitraryVariableLength,isArbitraryLength]}],"outline-color":[{outline:Q()}],shadow:[{shadow:["","none",T,isArbitraryVariableShadow,isArbitraryShadow]}],"shadow-color":[{shadow:Q()}],"inset-shadow":[{"inset-shadow":["none",_,isArbitraryVariableShadow,isArbitraryShadow]}],"inset-shadow-color":[{"inset-shadow":Q()}],"ring-w":[{ring:de()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:Q()}],"ring-offset-w":[{"ring-offset":[isNumber$1,isArbitraryLength]}],"ring-offset-color":[{"ring-offset":Q()}],"inset-ring-w":[{"inset-ring":de()}],"inset-ring-color":[{"inset-ring":Q()}],"text-shadow":[{"text-shadow":["none",R,isArbitraryVariableShadow,isArbitraryShadow]}],"text-shadow-color":[{"text-shadow":Q()}],opacity:[{opacity:[isNumber$1,isArbitraryVariable,isArbitraryValue]}],"mix-blend":[{"mix-blend":[...pe(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":pe()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[isNumber$1]}],"mask-image-linear-from-pos":[{"mask-linear-from":ge()}],"mask-image-linear-to-pos":[{"mask-linear-to":ge()}],"mask-image-linear-from-color":[{"mask-linear-from":Q()}],"mask-image-linear-to-color":[{"mask-linear-to":Q()}],"mask-image-t-from-pos":[{"mask-t-from":ge()}],"mask-image-t-to-pos":[{"mask-t-to":ge()}],"mask-image-t-from-color":[{"mask-t-from":Q()}],"mask-image-t-to-color":[{"mask-t-to":Q()}],"mask-image-r-from-pos":[{"mask-r-from":ge()}],"mask-image-r-to-pos":[{"mask-r-to":ge()}],"mask-image-r-from-color":[{"mask-r-from":Q()}],"mask-image-r-to-color":[{"mask-r-to":Q()}],"mask-image-b-from-pos":[{"mask-b-from":ge()}],"mask-image-b-to-pos":[{"mask-b-to":ge()}],"mask-image-b-from-color":[{"mask-b-from":Q()}],"mask-image-b-to-color":[{"mask-b-to":Q()}],"mask-image-l-from-pos":[{"mask-l-from":ge()}],"mask-image-l-to-pos":[{"mask-l-to":ge()}],"mask-image-l-from-color":[{"mask-l-from":Q()}],"mask-image-l-to-color":[{"mask-l-to":Q()}],"mask-image-x-from-pos":[{"mask-x-from":ge()}],"mask-image-x-to-pos":[{"mask-x-to":ge()}],"mask-image-x-from-color":[{"mask-x-from":Q()}],"mask-image-x-to-color":[{"mask-x-to":Q()}],"mask-image-y-from-pos":[{"mask-y-from":ge()}],"mask-image-y-to-pos":[{"mask-y-to":ge()}],"mask-image-y-from-color":[{"mask-y-from":Q()}],"mask-image-y-to-color":[{"mask-y-to":Q()}],"mask-image-radial":[{"mask-radial":[isArbitraryVariable,isArbitraryValue]}],"mask-image-radial-from-pos":[{"mask-radial-from":ge()}],"mask-image-radial-to-pos":[{"mask-radial-to":ge()}],"mask-image-radial-from-color":[{"mask-radial-from":Q()}],"mask-image-radial-to-color":[{"mask-radial-to":Q()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":N()}],"mask-image-conic-pos":[{"mask-conic":[isNumber$1]}],"mask-image-conic-from-pos":[{"mask-conic-from":ge()}],"mask-image-conic-to-pos":[{"mask-conic-to":ge()}],"mask-image-conic-from-color":[{"mask-conic-from":Q()}],"mask-image-conic-to-color":[{"mask-conic-to":Q()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:ne()}],"mask-repeat":[{mask:le()}],"mask-size":[{mask:ce()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",isArbitraryVariable,isArbitraryValue]}],filter:[{filter:["","none",isArbitraryVariable,isArbitraryValue]}],blur:[{blur:ve()}],brightness:[{brightness:[isNumber$1,isArbitraryVariable,isArbitraryValue]}],contrast:[{contrast:[isNumber$1,isArbitraryVariable,isArbitraryValue]}],"drop-shadow":[{"drop-shadow":["","none",C,isArbitraryVariableShadow,isArbitraryShadow]}],"drop-shadow-color":[{"drop-shadow":Q()}],grayscale:[{grayscale:["",isNumber$1,isArbitraryVariable,isArbitraryValue]}],"hue-rotate":[{"hue-rotate":[isNumber$1,isArbitraryVariable,isArbitraryValue]}],invert:[{invert:["",isNumber$1,isArbitraryVariable,isArbitraryValue]}],saturate:[{saturate:[isNumber$1,isArbitraryVariable,isArbitraryValue]}],sepia:[{sepia:["",isNumber$1,isArbitraryVariable,isArbitraryValue]}],"backdrop-filter":[{"backdrop-filter":["","none",isArbitraryVariable,isArbitraryValue]}],"backdrop-blur":[{"backdrop-blur":ve()}],"backdrop-brightness":[{"backdrop-brightness":[isNumber$1,isArbitraryVariable,isArbitraryValue]}],"backdrop-contrast":[{"backdrop-contrast":[isNumber$1,isArbitraryVariable,isArbitraryValue]}],"backdrop-grayscale":[{"backdrop-grayscale":["",isNumber$1,isArbitraryVariable,isArbitraryValue]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[isNumber$1,isArbitraryVariable,isArbitraryValue]}],"backdrop-invert":[{"backdrop-invert":["",isNumber$1,isArbitraryVariable,isArbitraryValue]}],"backdrop-opacity":[{"backdrop-opacity":[isNumber$1,isArbitraryVariable,isArbitraryValue]}],"backdrop-saturate":[{"backdrop-saturate":[isNumber$1,isArbitraryVariable,isArbitraryValue]}],"backdrop-sepia":[{"backdrop-sepia":["",isNumber$1,isArbitraryVariable,isArbitraryValue]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":j()}],"border-spacing-x":[{"border-spacing-x":j()}],"border-spacing-y":[{"border-spacing-y":j()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",isArbitraryVariable,isArbitraryValue]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[isNumber$1,"initial",isArbitraryVariable,isArbitraryValue]}],ease:[{ease:["linear","initial",P,isArbitraryVariable,isArbitraryValue]}],delay:[{delay:[isNumber$1,isArbitraryVariable,isArbitraryValue]}],animate:[{animate:["none",D,isArbitraryVariable,isArbitraryValue]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[k,isArbitraryVariable,isArbitraryValue]}],"perspective-origin":[{"perspective-origin":F()}],rotate:[{rotate:be()}],"rotate-x":[{"rotate-x":be()}],"rotate-y":[{"rotate-y":be()}],"rotate-z":[{"rotate-z":be()}],scale:[{scale:ye()}],"scale-x":[{"scale-x":ye()}],"scale-y":[{"scale-y":ye()}],"scale-z":[{"scale-z":ye()}],"scale-3d":["scale-3d"],skew:[{skew:Se()}],"skew-x":[{"skew-x":Se()}],"skew-y":[{"skew-y":Se()}],transform:[{transform:[isArbitraryVariable,isArbitraryValue,"","none","gpu","cpu"]}],"transform-origin":[{origin:F()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:me()}],"translate-x":[{"translate-x":me()}],"translate-y":[{"translate-y":me()}],"translate-z":[{"translate-z":me()}],"translate-none":["translate-none"],accent:[{accent:Q()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:Q()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",isArbitraryVariable,isArbitraryValue]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":j()}],"scroll-mx":[{"scroll-mx":j()}],"scroll-my":[{"scroll-my":j()}],"scroll-ms":[{"scroll-ms":j()}],"scroll-me":[{"scroll-me":j()}],"scroll-mbs":[{"scroll-mbs":j()}],"scroll-mbe":[{"scroll-mbe":j()}],"scroll-mt":[{"scroll-mt":j()}],"scroll-mr":[{"scroll-mr":j()}],"scroll-mb":[{"scroll-mb":j()}],"scroll-ml":[{"scroll-ml":j()}],"scroll-p":[{"scroll-p":j()}],"scroll-px":[{"scroll-px":j()}],"scroll-py":[{"scroll-py":j()}],"scroll-ps":[{"scroll-ps":j()}],"scroll-pe":[{"scroll-pe":j()}],"scroll-pbs":[{"scroll-pbs":j()}],"scroll-pbe":[{"scroll-pbe":j()}],"scroll-pt":[{"scroll-pt":j()}],"scroll-pr":[{"scroll-pr":j()}],"scroll-pb":[{"scroll-pb":j()}],"scroll-pl":[{"scroll-pl":j()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",isArbitraryVariable,isArbitraryValue]}],fill:[{fill:["none",...Q()]}],"stroke-w":[{stroke:[isNumber$1,isArbitraryVariableLength,isArbitraryLength,isArbitraryNumber]}],stroke:[{stroke:["none",...Q()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},twMerge=createTailwindMerge(getDefaultConfig);function cn(...u){return twMerge(clsx(u))}const enumToOptions=u=>Object.entries(u).filter(([n])=>isNaN(Number(n))).map(([n,d])=>({key:n,label:d,value:d})),isFileOrBlob=u=>u instanceof File||u instanceof Blob,isUrlString=u=>typeof u=="string"&&(u.startsWith("http://")||u.startsWith("https://")),validateFile=(u,n,d)=>{if(u.size>n)return{valid:!1,error:`File size exceeds ${n/1024/1024}MB limit`};if(u instanceof File&&d.length>0){const p=u.type;if(!d.some(g=>g.endsWith("/*")?p.startsWith(g.replace("/*","")):p===g))return{valid:!1,error:"File type not allowed"}}return{valid:!0}},getEditorMetrics=u=>{if(!u)return null;const n=u.getJSON(),d=u.getText(),p=E=>!!E.marks?.some(T=>T.type==="customLink"),m=d.trim().split(/\s+/).filter(Boolean).length,g=d.length,y=findByType(n,"media")?.filter(E=>!E.attrs?.uploading)?.length,b=find$2(n,E=>p(E))?.length,S=findByType(n,"poll")?.[0]?.attrs?.choices?.length??0;return{wordCount:m,characterCount:g,mediaCount:y,linkCount:b,pollCount:S,isEmpty:u.isEmpty,hasUnsavedChanges:u.state.doc.content.size>2}};function Tabs({className:u,...n}){return jsxRuntime.jsx(Root2$4,{"data-slot":"tabs",className:cn("flex flex-col gap-2",u),...n})}function TabsList({className:u,...n}){return jsxRuntime.jsx(List$1,{"data-slot":"tabs-list",className:cn("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]",u),...n})}function TabsTrigger({className:u,...n}){return jsxRuntime.jsx(Trigger$5,{"data-slot":"tabs-trigger",className:cn("data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",u),...n})}function TabsContent({className:u,...n}){return jsxRuntime.jsx(Content$2,{"data-slot":"tabs-content",className:cn("flex-1 outline-none",u),...n})}const AnalyticsSessionContext=React.createContext(null);function useAnalyticsSession(){const u=React.useContext(AnalyticsSessionContext);if(!u)throw new Error("useAnalyticsSession must be used within AnalyticsSessionProvider");return u}const createStoreImpl=u=>{let n;const d=new Set,p=(E,T)=>{const _=typeof E=="function"?E(n):E;if(!Object.is(_,n)){const R=n;n=T??(typeof _!="object"||_===null)?_:Object.assign({},n,_),d.forEach(C=>C(n,R))}},m=()=>n,b={setState:p,getState:m,getInitialState:()=>S,subscribe:E=>(d.add(E),()=>d.delete(E))},S=n=u(p,m,b);return b},createStore=(u=>u?createStoreImpl(u):createStoreImpl),identity$1=u=>u;function useStore(u,n=identity$1){const d=React__namespace.default.useSyncExternalStore(u.subscribe,React__namespace.default.useCallback(()=>n(u.getState()),[u,n]),React__namespace.default.useCallback(()=>n(u.getInitialState()),[u,n]));return React__namespace.default.useDebugValue(d),d}const ANALYTICS_EVENTS={SESSION:{STARTED:"post_builder_session_started",COMPLETED:"post_builder_session_completed",ABANDONED:"post_builder_session_abandoned"},EDITOR:{FOCUSED:"post_builder_focused",TAB_SWITCHED:"post_builder_tab_switched"},FEATURE:{DISCOVERED:"post_builder_feature_discovered",REUSED:"post_builder_feature_reused"},MEDIA:{ADDED:"post_builder_media_added",UPLOAD_FAILED:"post_builder_media_upload_failed",REMOVED:"post_builder_media_removed"},LINK:{ADDED:"post_builder_link_added",UNFURL_FAILED:"post_builder_link_unfurl_failed"},POLL:{OPTION_ADDED:"post_builder_poll_option_added",OPTION_REMOVED:"post_builder_poll_option_removed"},CONTENT:{CREATED:"post_builder_content_created"},PUBLISH:{ATTEMPTED:"post_builder_publish_attempted",SUCCESS:"post_builder_publish_success",FAILED:"post_builder_publish_failed"}},FEATURE_NAME_MAP={undo:"undo",redo:"redo",paragraph:"paragraph",bold:"bold",italic:"italic",strike:"strikethrough",code:"code",customLink:"customLink",bulletList:"bullet_list",orderedList:"ordered_list",blockquote:"blockquote",codeBlock:"code_block",image:"image",video:"video",audio:"audio"},HEADING_FEATURE_MAP={1:"heading_1",2:"heading_2",3:"heading_3"};class SessionManager{sessions=new Map;createSession(n,d=EditorPlacement.Feed){const p=`pb_${v4()}`;return this.sessions.set(p,{id:p,editorType:n,placement:d,startTime:Date.now(),lastErrorType:null,focusSources:new Set,contentCreatedFired:!1,featureUsageCounts:new Map}),p}getSession(n){return this.sessions.get(n)}deleteSession(n){this.sessions.delete(n)}markFocused(n,d){const p=this.getSession(n);return!p||p.focusSources.has(d)?!1:(p.focusSources.add(d),!0)}setLastError(n,d){const p=this.getSession(n);p&&(p.lastErrorType=d)}markContentCreated(n){const d=this.getSession(n);d&&(d.contentCreatedFired=!0)}trackFeature(n,d){const p=this.getSession(n);if(!p)return{isFirstUse:!0,usageCount:1};const g=(p.featureUsageCounts.get(d)||0)+1;return p.featureUsageCounts.set(d,g),{isFirstUse:g===1,usageCount:g}}}class FeatureTracker{discoveredFeatures;usageCounts;constructor(){if(typeof window>"u"){this.discoveredFeatures=new Set,this.usageCounts=new Map;return}const n=localStorage?.getItem("pb_feature_tracker");if(n)try{const d=JSON.parse(n);this.discoveredFeatures=new Set(d?.discovered||[]),this.usageCounts=new Map(Object.entries(d?.counts||{}))}catch{this.discoveredFeatures=new Set,this.usageCounts=new Map}else this.discoveredFeatures=new Set,this.usageCounts=new Map}isFirstUse(n){return!this.discoveredFeatures.has(n)}trackUsage(n){const d=this.isFirstUse(n);d&&this.discoveredFeatures.add(n);const m=(this.usageCounts.get(n)||0)+1;return this.usageCounts.set(n,m),this.save(),{isFirstUse:d,usageCount:m}}getUsageCount(n){return this.usageCounts.get(n)||0}save(){const n={discovered:Array.from(this.discoveredFeatures),counts:Object.fromEntries(this.usageCounts)};typeof window<"u"&&localStorage?.setItem("pb_feature_tracker",JSON.stringify(n))}}var freeGlobal=typeof global=="object"&&global&&global.Object===Object&&global,freeSelf=typeof self=="object"&&self&&self.Object===Object&&self,root=freeGlobal||freeSelf||Function("return this")(),Symbol$1=root.Symbol,objectProto$g=Object.prototype,hasOwnProperty$f=objectProto$g.hasOwnProperty,nativeObjectToString$1=objectProto$g.toString,symToStringTag$1=Symbol$1?Symbol$1.toStringTag:void 0;function getRawTag(u){var n=hasOwnProperty$f.call(u,symToStringTag$1),d=u[symToStringTag$1];try{u[symToStringTag$1]=void 0;var p=!0}catch{}var m=nativeObjectToString$1.call(u);return p&&(n?u[symToStringTag$1]=d:delete u[symToStringTag$1]),m}var objectProto$f=Object.prototype,nativeObjectToString=objectProto$f.toString;function objectToString(u){return nativeObjectToString.call(u)}var nullTag="[object Null]",undefinedTag="[object Undefined]",symToStringTag=Symbol$1?Symbol$1.toStringTag:void 0;function baseGetTag(u){return u==null?u===void 0?undefinedTag:nullTag:symToStringTag&&symToStringTag in Object(u)?getRawTag(u):objectToString(u)}function isObjectLike(u){return u!=null&&typeof u=="object"}var symbolTag$3="[object Symbol]";function isSymbol(u){return typeof u=="symbol"||isObjectLike(u)&&baseGetTag(u)==symbolTag$3}function arrayMap(u,n){for(var d=-1,p=u==null?0:u.length,m=Array(p);++d<p;)m[d]=n(u[d],d,u);return m}var isArray$1=Array.isArray,symbolProto$2=Symbol$1?Symbol$1.prototype:void 0,symbolToString=symbolProto$2?symbolProto$2.toString:void 0;function baseToString(u){if(typeof u=="string")return u;if(isArray$1(u))return arrayMap(u,baseToString)+"";if(isSymbol(u))return symbolToString?symbolToString.call(u):"";var n=u+"";return n=="0"&&1/u==-1/0?"-0":n}var reWhitespace=/\s/;function trimmedEndIndex(u){for(var n=u.length;n--&&reWhitespace.test(u.charAt(n)););return n}var reTrimStart=/^\s+/;function baseTrim(u){return u&&u.slice(0,trimmedEndIndex(u)+1).replace(reTrimStart,"")}function isObject$2(u){var n=typeof u;return u!=null&&(n=="object"||n=="function")}var NAN=NaN,reIsBadHex=/^[-+]0x[0-9a-f]+$/i,reIsBinary=/^0b[01]+$/i,reIsOctal=/^0o[0-7]+$/i,freeParseInt=parseInt;function toNumber(u){if(typeof u=="number")return u;if(isSymbol(u))return NAN;if(isObject$2(u)){var n=typeof u.valueOf=="function"?u.valueOf():u;u=isObject$2(n)?n+"":n}if(typeof u!="string")return u===0?u:+u;u=baseTrim(u);var d=reIsBinary.test(u);return d||reIsOctal.test(u)?freeParseInt(u.slice(2),d?2:8):reIsBadHex.test(u)?NAN:+u}function identity(u){return u}var asyncTag="[object AsyncFunction]",funcTag$2="[object Function]",genTag$1="[object GeneratorFunction]",proxyTag="[object Proxy]";function isFunction(u){if(!isObject$2(u))return!1;var n=baseGetTag(u);return n==funcTag$2||n==genTag$1||n==asyncTag||n==proxyTag}var coreJsData=root["__core-js_shared__"],maskSrcKey=(function(){var u=/[^.]+$/.exec(coreJsData&&coreJsData.keys&&coreJsData.keys.IE_PROTO||"");return u?"Symbol(src)_1."+u:""})();function isMasked(u){return!!maskSrcKey&&maskSrcKey in u}var funcProto$2=Function.prototype,funcToString$2=funcProto$2.toString;function toSource(u){if(u!=null){try{return funcToString$2.call(u)}catch{}try{return u+""}catch{}}return""}var reRegExpChar=/[\\^$.*+?()[\]{}|]/g,reIsHostCtor=/^\[object .+?Constructor\]$/,funcProto$1=Function.prototype,objectProto$e=Object.prototype,funcToString$1=funcProto$1.toString,hasOwnProperty$e=objectProto$e.hasOwnProperty,reIsNative=RegExp("^"+funcToString$1.call(hasOwnProperty$e).replace(reRegExpChar,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function baseIsNative(u){if(!isObject$2(u)||isMasked(u))return!1;var n=isFunction(u)?reIsNative:reIsHostCtor;return n.test(toSource(u))}function getValue(u,n){return u?.[n]}function getNative(u,n){var d=getValue(u,n);return baseIsNative(d)?d:void 0}var WeakMap$1=getNative(root,"WeakMap");function apply$1(u,n,d){switch(d.length){case 0:return u.call(n);case 1:return u.call(n,d[0]);case 2:return u.call(n,d[0],d[1]);case 3:return u.call(n,d[0],d[1],d[2])}return u.apply(n,d)}var HOT_COUNT=800,HOT_SPAN=16,nativeNow=Date.now;function shortOut(u){var n=0,d=0;return function(){var p=nativeNow(),m=HOT_SPAN-(p-d);if(d=p,m>0){if(++n>=HOT_COUNT)return arguments[0]}else n=0;return u.apply(void 0,arguments)}}function constant(u){return function(){return u}}var defineProperty=(function(){try{var u=getNative(Object,"defineProperty");return u({},"",{}),u}catch{}})(),baseSetToString=defineProperty?function(u,n){return defineProperty(u,"toString",{configurable:!0,enumerable:!1,value:constant(n),writable:!0})}:identity,setToString=shortOut(baseSetToString);function arrayEach(u,n){for(var d=-1,p=u==null?0:u.length;++d<p&&n(u[d],d,u)!==!1;);return u}var MAX_SAFE_INTEGER$2=9007199254740991,reIsUint=/^(?:0|[1-9]\d*)$/;function isIndex(u,n){var d=typeof u;return n=n??MAX_SAFE_INTEGER$2,!!n&&(d=="number"||d!="symbol"&&reIsUint.test(u))&&u>-1&&u%1==0&&u<n}function baseAssignValue(u,n,d){n=="__proto__"&&defineProperty?defineProperty(u,n,{configurable:!0,enumerable:!0,value:d,writable:!0}):u[n]=d}function eq(u,n){return u===n||u!==u&&n!==n}var objectProto$d=Object.prototype,hasOwnProperty$d=objectProto$d.hasOwnProperty;function assignValue(u,n,d){var p=u[n];(!(hasOwnProperty$d.call(u,n)&&eq(p,d))||d===void 0&&!(n in u))&&baseAssignValue(u,n,d)}function copyObject(u,n,d,p){var m=!d;d||(d={});for(var g=-1,y=n.length;++g<y;){var b=n[g],S=void 0;S===void 0&&(S=u[b]),m?baseAssignValue(d,b,S):assignValue(d,b,S)}return d}var nativeMax$1=Math.max;function overRest(u,n,d){return n=nativeMax$1(n===void 0?u.length-1:n,0),function(){for(var p=arguments,m=-1,g=nativeMax$1(p.length-n,0),y=Array(g);++m<g;)y[m]=p[n+m];m=-1;for(var b=Array(n+1);++m<n;)b[m]=p[m];return b[n]=d(y),apply$1(u,this,b)}}var MAX_SAFE_INTEGER$1=9007199254740991;function isLength(u){return typeof u=="number"&&u>-1&&u%1==0&&u<=MAX_SAFE_INTEGER$1}function isArrayLike(u){return u!=null&&isLength(u.length)&&!isFunction(u)}var objectProto$c=Object.prototype;function isPrototype(u){var n=u&&u.constructor,d=typeof n=="function"&&n.prototype||objectProto$c;return u===d}function baseTimes(u,n){for(var d=-1,p=Array(u);++d<u;)p[d]=n(d);return p}var argsTag$3="[object Arguments]";function baseIsArguments(u){return isObjectLike(u)&&baseGetTag(u)==argsTag$3}var objectProto$b=Object.prototype,hasOwnProperty$c=objectProto$b.hasOwnProperty,propertyIsEnumerable$1=objectProto$b.propertyIsEnumerable,isArguments=baseIsArguments((function(){return arguments})())?baseIsArguments:function(u){return isObjectLike(u)&&hasOwnProperty$c.call(u,"callee")&&!propertyIsEnumerable$1.call(u,"callee")};function stubFalse(){return!1}var freeExports$2=typeof exports=="object"&&exports&&!exports.nodeType&&exports,freeModule$2=freeExports$2&&typeof module=="object"&&module&&!module.nodeType&&module,moduleExports$2=freeModule$2&&freeModule$2.exports===freeExports$2,Buffer$2=moduleExports$2?root.Buffer:void 0,nativeIsBuffer=Buffer$2?Buffer$2.isBuffer:void 0,isBuffer=nativeIsBuffer||stubFalse,argsTag$2="[object Arguments]",arrayTag$2="[object Array]",boolTag$3="[object Boolean]",dateTag$3="[object Date]",errorTag$2="[object Error]",funcTag$1="[object Function]",mapTag$5="[object Map]",numberTag$3="[object Number]",objectTag$4="[object Object]",regexpTag$3="[object RegExp]",setTag$5="[object Set]",stringTag$3="[object String]",weakMapTag$2="[object WeakMap]",arrayBufferTag$3="[object ArrayBuffer]",dataViewTag$4="[object DataView]",float32Tag$2="[object Float32Array]",float64Tag$2="[object Float64Array]",int8Tag$2="[object Int8Array]",int16Tag$2="[object Int16Array]",int32Tag$2="[object Int32Array]",uint8Tag$2="[object Uint8Array]",uint8ClampedTag$2="[object Uint8ClampedArray]",uint16Tag$2="[object Uint16Array]",uint32Tag$2="[object Uint32Array]",typedArrayTags={};typedArrayTags[float32Tag$2]=typedArrayTags[float64Tag$2]=typedArrayTags[int8Tag$2]=typedArrayTags[int16Tag$2]=typedArrayTags[int32Tag$2]=typedArrayTags[uint8Tag$2]=typedArrayTags[uint8ClampedTag$2]=typedArrayTags[uint16Tag$2]=typedArrayTags[uint32Tag$2]=!0;typedArrayTags[argsTag$2]=typedArrayTags[arrayTag$2]=typedArrayTags[arrayBufferTag$3]=typedArrayTags[boolTag$3]=typedArrayTags[dataViewTag$4]=typedArrayTags[dateTag$3]=typedArrayTags[errorTag$2]=typedArrayTags[funcTag$1]=typedArrayTags[mapTag$5]=typedArrayTags[numberTag$3]=typedArrayTags[objectTag$4]=typedArrayTags[regexpTag$3]=typedArrayTags[setTag$5]=typedArrayTags[stringTag$3]=typedArrayTags[weakMapTag$2]=!1;function baseIsTypedArray(u){return isObjectLike(u)&&isLength(u.length)&&!!typedArrayTags[baseGetTag(u)]}function baseUnary(u){return function(n){return u(n)}}var freeExports$1=typeof exports=="object"&&exports&&!exports.nodeType&&exports,freeModule$1=freeExports$1&&typeof module=="object"&&module&&!module.nodeType&&module,moduleExports$1=freeModule$1&&freeModule$1.exports===freeExports$1,freeProcess=moduleExports$1&&freeGlobal.process,nodeUtil=(function(){try{var u=freeModule$1&&freeModule$1.require&&freeModule$1.require("util").types;return u||freeProcess&&freeProcess.binding&&freeProcess.binding("util")}catch{}})(),nodeIsTypedArray=nodeUtil&&nodeUtil.isTypedArray,isTypedArray=nodeIsTypedArray?baseUnary(nodeIsTypedArray):baseIsTypedArray,objectProto$a=Object.prototype,hasOwnProperty$b=objectProto$a.hasOwnProperty;function arrayLikeKeys(u,n){var d=isArray$1(u),p=!d&&isArguments(u),m=!d&&!p&&isBuffer(u),g=!d&&!p&&!m&&isTypedArray(u),y=d||p||m||g,b=y?baseTimes(u.length,String):[],S=b.length;for(var E in u)(n||hasOwnProperty$b.call(u,E))&&!(y&&(E=="length"||m&&(E=="offset"||E=="parent")||g&&(E=="buffer"||E=="byteLength"||E=="byteOffset")||isIndex(E,S)))&&b.push(E);return b}function overArg(u,n){return function(d){return u(n(d))}}var nativeKeys=overArg(Object.keys,Object),objectProto$9=Object.prototype,hasOwnProperty$a=objectProto$9.hasOwnProperty;function baseKeys(u){if(!isPrototype(u))return nativeKeys(u);var n=[];for(var d in Object(u))hasOwnProperty$a.call(u,d)&&d!="constructor"&&n.push(d);return n}function keys$2(u){return isArrayLike(u)?arrayLikeKeys(u):baseKeys(u)}function nativeKeysIn(u){var n=[];if(u!=null)for(var d in Object(u))n.push(d);return n}var objectProto$8=Object.prototype,hasOwnProperty$9=objectProto$8.hasOwnProperty;function baseKeysIn(u){if(!isObject$2(u))return nativeKeysIn(u);var n=isPrototype(u),d=[];for(var p in u)p=="constructor"&&(n||!hasOwnProperty$9.call(u,p))||d.push(p);return d}function keysIn(u){return isArrayLike(u)?arrayLikeKeys(u,!0):baseKeysIn(u)}var reIsDeepProp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,reIsPlainProp=/^\w*$/;function isKey(u,n){if(isArray$1(u))return!1;var d=typeof u;return d=="number"||d=="symbol"||d=="boolean"||u==null||isSymbol(u)?!0:reIsPlainProp.test(u)||!reIsDeepProp.test(u)||n!=null&&u in Object(n)}var nativeCreate=getNative(Object,"create");function hashClear(){this.__data__=nativeCreate?nativeCreate(null):{},this.size=0}function hashDelete(u){var n=this.has(u)&&delete this.__data__[u];return this.size-=n?1:0,n}var HASH_UNDEFINED$2="__lodash_hash_undefined__",objectProto$7=Object.prototype,hasOwnProperty$8=objectProto$7.hasOwnProperty;function hashGet(u){var n=this.__data__;if(nativeCreate){var d=n[u];return d===HASH_UNDEFINED$2?void 0:d}return hasOwnProperty$8.call(n,u)?n[u]:void 0}var objectProto$6=Object.prototype,hasOwnProperty$7=objectProto$6.hasOwnProperty;function hashHas(u){var n=this.__data__;return nativeCreate?n[u]!==void 0:hasOwnProperty$7.call(n,u)}var HASH_UNDEFINED$1="__lodash_hash_undefined__";function hashSet(u,n){var d=this.__data__;return this.size+=this.has(u)?0:1,d[u]=nativeCreate&&n===void 0?HASH_UNDEFINED$1:n,this}function Hash(u){var n=-1,d=u==null?0:u.length;for(this.clear();++n<d;){var p=u[n];this.set(p[0],p[1])}}Hash.prototype.clear=hashClear;Hash.prototype.delete=hashDelete;Hash.prototype.get=hashGet;Hash.prototype.has=hashHas;Hash.prototype.set=hashSet;function listCacheClear(){this.__data__=[],this.size=0}function assocIndexOf(u,n){for(var d=u.length;d--;)if(eq(u[d][0],n))return d;return-1}var arrayProto=Array.prototype,splice=arrayProto.splice;function listCacheDelete(u){var n=this.__data__,d=assocIndexOf(n,u);if(d<0)return!1;var p=n.length-1;return d==p?n.pop():splice.call(n,d,1),--this.size,!0}function listCacheGet(u){var n=this.__data__,d=assocIndexOf(n,u);return d<0?void 0:n[d][1]}function listCacheHas(u){return assocIndexOf(this.__data__,u)>-1}function listCacheSet(u,n){var d=this.__data__,p=assocIndexOf(d,u);return p<0?(++this.size,d.push([u,n])):d[p][1]=n,this}function ListCache(u){var n=-1,d=u==null?0:u.length;for(this.clear();++n<d;){var p=u[n];this.set(p[0],p[1])}}ListCache.prototype.clear=listCacheClear;ListCache.prototype.delete=listCacheDelete;ListCache.prototype.get=listCacheGet;ListCache.prototype.has=listCacheHas;ListCache.prototype.set=listCacheSet;var Map$1=getNative(root,"Map");function mapCacheClear(){this.size=0,this.__data__={hash:new Hash,map:new(Map$1||ListCache),string:new Hash}}function isKeyable(u){var n=typeof u;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?u!=="__proto__":u===null}function getMapData(u,n){var d=u.__data__;return isKeyable(n)?d[typeof n=="string"?"string":"hash"]:d.map}function mapCacheDelete(u){var n=getMapData(this,u).delete(u);return this.size-=n?1:0,n}function mapCacheGet(u){return getMapData(this,u).get(u)}function mapCacheHas(u){return getMapData(this,u).has(u)}function mapCacheSet(u,n){var d=getMapData(this,u),p=d.size;return d.set(u,n),this.size+=d.size==p?0:1,this}function MapCache(u){var n=-1,d=u==null?0:u.length;for(this.clear();++n<d;){var p=u[n];this.set(p[0],p[1])}}MapCache.prototype.clear=mapCacheClear;MapCache.prototype.delete=mapCacheDelete;MapCache.prototype.get=mapCacheGet;MapCache.prototype.has=mapCacheHas;MapCache.prototype.set=mapCacheSet;var FUNC_ERROR_TEXT$2="Expected a function";function memoize(u,n){if(typeof u!="function"||n!=null&&typeof n!="function")throw new TypeError(FUNC_ERROR_TEXT$2);var d=function(){var p=arguments,m=n?n.apply(this,p):p[0],g=d.cache;if(g.has(m))return g.get(m);var y=u.apply(this,p);return d.cache=g.set(m,y)||g,y};return d.cache=new(memoize.Cache||MapCache),d}memoize.Cache=MapCache;var MAX_MEMOIZE_SIZE=500;function memoizeCapped(u){var n=memoize(u,function(p){return d.size===MAX_MEMOIZE_SIZE&&d.clear(),p}),d=n.cache;return n}var rePropName=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,reEscapeChar=/\\(\\)?/g,stringToPath=memoizeCapped(function(u){var n=[];return u.charCodeAt(0)===46&&n.push(""),u.replace(rePropName,function(d,p,m,g){n.push(m?g.replace(reEscapeChar,"$1"):p||d)}),n});function toString$1(u){return u==null?"":baseToString(u)}function castPath(u,n){return isArray$1(u)?u:isKey(u,n)?[u]:stringToPath(toString$1(u))}function toKey(u){if(typeof u=="string"||isSymbol(u))return u;var n=u+"";return n=="0"&&1/u==-1/0?"-0":n}function baseGet(u,n){n=castPath(n,u);for(var d=0,p=n.length;u!=null&&d<p;)u=u[toKey(n[d++])];return d&&d==p?u:void 0}function get(u,n,d){var p=u==null?void 0:baseGet(u,n);return p===void 0?d:p}function arrayPush$1(u,n){for(var d=-1,p=n.length,m=u.length;++d<p;)u[m+d]=n[d];return u}var spreadableSymbol=Symbol$1?Symbol$1.isConcatSpreadable:void 0;function isFlattenable(u){return isArray$1(u)||isArguments(u)||!!(spreadableSymbol&&u&&u[spreadableSymbol])}function baseFlatten(u,n,d,p,m){var g=-1,y=u.length;for(d||(d=isFlattenable),m||(m=[]);++g<y;){var b=u[g];d(b)?arrayPush$1(m,b):m[m.length]=b}return m}function flatten(u){var n=u==null?0:u.length;return n?baseFlatten(u):[]}function flatRest(u){return setToString(overRest(u,void 0,flatten),u+"")}var getPrototype=overArg(Object.getPrototypeOf,Object),objectTag$3="[object Object]",funcProto=Function.prototype,objectProto$5=Object.prototype,funcToString=funcProto.toString,hasOwnProperty$6=objectProto$5.hasOwnProperty,objectCtorString=funcToString.call(Object);function isPlainObject(u){if(!isObjectLike(u)||baseGetTag(u)!=objectTag$3)return!1;var n=getPrototype(u);if(n===null)return!0;var d=hasOwnProperty$6.call(n,"constructor")&&n.constructor;return typeof d=="function"&&d instanceof d&&funcToString.call(d)==objectCtorString}function baseSlice(u,n,d){var p=-1,m=u.length;n<0&&(n=-n>m?0:m+n),d=d>m?m:d,d<0&&(d+=m),m=n>d?0:d-n>>>0,n>>>=0;for(var g=Array(m);++p<m;)g[p]=u[p+n];return g}function stackClear(){this.__data__=new ListCache,this.size=0}function stackDelete(u){var n=this.__data__,d=n.delete(u);return this.size=n.size,d}function stackGet(u){return this.__data__.get(u)}function stackHas(u){return this.__data__.has(u)}var LARGE_ARRAY_SIZE=200;function stackSet(u,n){var d=this.__data__;if(d instanceof ListCache){var p=d.__data__;if(!Map$1||p.length<LARGE_ARRAY_SIZE-1)return p.push([u,n]),this.size=++d.size,this;d=this.__data__=new MapCache(p)}return d.set(u,n),this.size=d.size,this}function Stack(u){var n=this.__data__=new ListCache(u);this.size=n.size}Stack.prototype.clear=stackClear;Stack.prototype.delete=stackDelete;Stack.prototype.get=stackGet;Stack.prototype.has=stackHas;Stack.prototype.set=stackSet;var freeExports=typeof exports=="object"&&exports&&!exports.nodeType&&exports,freeModule=freeExports&&typeof module=="object"&&module&&!module.nodeType&&module,moduleExports=freeModule&&freeModule.exports===freeExports,Buffer$1=moduleExports?root.Buffer:void 0;Buffer$1&&Buffer$1.allocUnsafe;function cloneBuffer(u,n){return u.slice()}function arrayFilter(u,n){for(var d=-1,p=u==null?0:u.length,m=0,g=[];++d<p;){var y=u[d];n(y,d,u)&&(g[m++]=y)}return g}function stubArray(){return[]}var objectProto$4=Object.prototype,propertyIsEnumerable=objectProto$4.propertyIsEnumerable,nativeGetSymbols$1=Object.getOwnPropertySymbols,getSymbols=nativeGetSymbols$1?function(u){return u==null?[]:(u=Object(u),arrayFilter(nativeGetSymbols$1(u),function(n){return propertyIsEnumerable.call(u,n)}))}:stubArray,nativeGetSymbols=Object.getOwnPropertySymbols,getSymbolsIn=nativeGetSymbols?function(u){for(var n=[];u;)arrayPush$1(n,getSymbols(u)),u=getPrototype(u);return n}:stubArray;function baseGetAllKeys(u,n,d){var p=n(u);return isArray$1(u)?p:arrayPush$1(p,d(u))}function getAllKeys(u){return baseGetAllKeys(u,keys$2,getSymbols)}function getAllKeysIn(u){return baseGetAllKeys(u,keysIn,getSymbolsIn)}var DataView$1=getNative(root,"DataView"),Promise$1=getNative(root,"Promise"),Set$1=getNative(root,"Set"),mapTag$4="[object Map]",objectTag$2="[object Object]",promiseTag="[object Promise]",setTag$4="[object Set]",weakMapTag$1="[object WeakMap]",dataViewTag$3="[object DataView]",dataViewCtorString=toSource(DataView$1),mapCtorString=toSource(Map$1),promiseCtorString=toSource(Promise$1),setCtorString=toSource(Set$1),weakMapCtorString=toSource(WeakMap$1),getTag=baseGetTag;(DataView$1&&getTag(new DataView$1(new ArrayBuffer(1)))!=dataViewTag$3||Map$1&&getTag(new Map$1)!=mapTag$4||Promise$1&&getTag(Promise$1.resolve())!=promiseTag||Set$1&&getTag(new Set$1)!=setTag$4||WeakMap$1&&getTag(new WeakMap$1)!=weakMapTag$1)&&(getTag=function(u){var n=baseGetTag(u),d=n==objectTag$2?u.constructor:void 0,p=d?toSource(d):"";if(p)switch(p){case dataViewCtorString:return dataViewTag$3;case mapCtorString:return mapTag$4;case promiseCtorString:return promiseTag;case setCtorString:return setTag$4;case weakMapCtorString:return weakMapTag$1}return n});var objectProto$3=Object.prototype,hasOwnProperty$5=objectProto$3.hasOwnProperty;function initCloneArray(u){var n=u.length,d=new u.constructor(n);return n&&typeof u[0]=="string"&&hasOwnProperty$5.call(u,"index")&&(d.index=u.index,d.input=u.input),d}var Uint8Array$1=root.Uint8Array;function cloneArrayBuffer(u){var n=new u.constructor(u.byteLength);return new Uint8Array$1(n).set(new Uint8Array$1(u)),n}function cloneDataView(u,n){var d=cloneArrayBuffer(u.buffer);return new u.constructor(d,u.byteOffset,u.byteLength)}var reFlags=/\w*$/;function cloneRegExp(u){var n=new u.constructor(u.source,reFlags.exec(u));return n.lastIndex=u.lastIndex,n}var symbolProto$1=Symbol$1?Symbol$1.prototype:void 0,symbolValueOf$1=symbolProto$1?symbolProto$1.valueOf:void 0;function cloneSymbol(u){return symbolValueOf$1?Object(symbolValueOf$1.call(u)):{}}function cloneTypedArray(u,n){var d=cloneArrayBuffer(u.buffer);return new u.constructor(d,u.byteOffset,u.length)}var boolTag$2="[object Boolean]",dateTag$2="[object Date]",mapTag$3="[object Map]",numberTag$2="[object Number]",regexpTag$2="[object RegExp]",setTag$3="[object Set]",stringTag$2="[object String]",symbolTag$2="[object Symbol]",arrayBufferTag$2="[object ArrayBuffer]",dataViewTag$2="[object DataView]",float32Tag$1="[object Float32Array]",float64Tag$1="[object Float64Array]",int8Tag$1="[object Int8Array]",int16Tag$1="[object Int16Array]",int32Tag$1="[object Int32Array]",uint8Tag$1="[object Uint8Array]",uint8ClampedTag$1="[object Uint8ClampedArray]",uint16Tag$1="[object Uint16Array]",uint32Tag$1="[object Uint32Array]";function initCloneByTag(u,n,d){var p=u.constructor;switch(n){case arrayBufferTag$2:return cloneArrayBuffer(u);case boolTag$2:case dateTag$2:return new p(+u);case dataViewTag$2:return cloneDataView(u);case float32Tag$1:case float64Tag$1:case int8Tag$1:case int16Tag$1:case int32Tag$1:case uint8Tag$1:case uint8ClampedTag$1:case uint16Tag$1:case uint32Tag$1:return cloneTypedArray(u);case mapTag$3:return new p;case numberTag$2:case stringTag$2:return new p(u);case regexpTag$2:return cloneRegExp(u);case setTag$3:return new p;case symbolTag$2:return cloneSymbol(u)}}var mapTag$2="[object Map]";function baseIsMap(u){return isObjectLike(u)&&getTag(u)==mapTag$2}var nodeIsMap=nodeUtil&&nodeUtil.isMap,isMap=nodeIsMap?baseUnary(nodeIsMap):baseIsMap,setTag$2="[object Set]";function baseIsSet(u){return isObjectLike(u)&&getTag(u)==setTag$2}var nodeIsSet=nodeUtil&&nodeUtil.isSet,isSet=nodeIsSet?baseUnary(nodeIsSet):baseIsSet,argsTag$1="[object Arguments]",arrayTag$1="[object Array]",boolTag$1="[object Boolean]",dateTag$1="[object Date]",errorTag$1="[object Error]",funcTag="[object Function]",genTag="[object GeneratorFunction]",mapTag$1="[object Map]",numberTag$1="[object Number]",objectTag$1="[object Object]",regexpTag$1="[object RegExp]",setTag$1="[object Set]",stringTag$1="[object String]",symbolTag$1="[object Symbol]",weakMapTag="[object WeakMap]",arrayBufferTag$1="[object ArrayBuffer]",dataViewTag$1="[object DataView]",float32Tag="[object Float32Array]",float64Tag="[object Float64Array]",int8Tag="[object Int8Array]",int16Tag="[object Int16Array]",int32Tag="[object Int32Array]",uint8Tag="[object Uint8Array]",uint8ClampedTag="[object Uint8ClampedArray]",uint16Tag="[object Uint16Array]",uint32Tag="[object Uint32Array]",cloneableTags={};cloneableTags[argsTag$1]=cloneableTags[arrayTag$1]=cloneableTags[arrayBufferTag$1]=cloneableTags[dataViewTag$1]=cloneableTags[boolTag$1]=cloneableTags[dateTag$1]=cloneableTags[float32Tag]=cloneableTags[float64Tag]=cloneableTags[int8Tag]=cloneableTags[int16Tag]=cloneableTags[int32Tag]=cloneableTags[mapTag$1]=cloneableTags[numberTag$1]=cloneableTags[objectTag$1]=cloneableTags[regexpTag$1]=cloneableTags[setTag$1]=cloneableTags[stringTag$1]=cloneableTags[symbolTag$1]=cloneableTags[uint8Tag]=cloneableTags[uint8ClampedTag]=cloneableTags[uint16Tag]=cloneableTags[uint32Tag]=!0;cloneableTags[errorTag$1]=cloneableTags[funcTag]=cloneableTags[weakMapTag]=!1;function baseClone(u,n,d,p,m,g){var y;if(d&&(y=m?d(u,p,m,g):d(u)),y!==void 0)return y;if(!isObject$2(u))return u;var b=isArray$1(u);if(b)y=initCloneArray(u);else{var S=getTag(u),E=S==funcTag||S==genTag;if(isBuffer(u))return cloneBuffer(u);if(S==objectTag$1||S==argsTag$1||E&&!m)y={};else{if(!cloneableTags[S])return m?u:{};y=initCloneByTag(u,S)}}g||(g=new Stack);var T=g.get(u);if(T)return T;g.set(u,y),isSet(u)?u.forEach(function(C){y.add(baseClone(C,n,d,C,u,g))}):isMap(u)&&u.forEach(function(C,A){y.set(A,baseClone(C,n,d,A,u,g))});var _=getAllKeysIn,R=b?void 0:_(u);return arrayEach(R||u,function(C,A){R&&(A=C,C=u[A]),assignValue(y,A,baseClone(C,n,d,A,u,g))}),y}var HASH_UNDEFINED="__lodash_hash_undefined__";function setCacheAdd(u){return this.__data__.set(u,HASH_UNDEFINED),this}function setCacheHas(u){return this.__data__.has(u)}function SetCache(u){var n=-1,d=u==null?0:u.length;for(this.__data__=new MapCache;++n<d;)this.add(u[n])}SetCache.prototype.add=SetCache.prototype.push=setCacheAdd;SetCache.prototype.has=setCacheHas;function arraySome(u,n){for(var d=-1,p=u==null?0:u.length;++d<p;)if(n(u[d],d,u))return!0;return!1}function cacheHas(u,n){return u.has(n)}var COMPARE_PARTIAL_FLAG$5=1,COMPARE_UNORDERED_FLAG$3=2;function equalArrays(u,n,d,p,m,g){var y=d&COMPARE_PARTIAL_FLAG$5,b=u.length,S=n.length;if(b!=S&&!(y&&S>b))return!1;var E=g.get(u),T=g.get(n);if(E&&T)return E==n&&T==u;var _=-1,R=!0,C=d&COMPARE_UNORDERED_FLAG$3?new SetCache:void 0;for(g.set(u,n),g.set(n,u);++_<b;){var A=u[_],k=n[_];if(p)var I=y?p(k,A,_,n,u,g):p(A,k,_,u,n,g);if(I!==void 0){if(I)continue;R=!1;break}if(C){if(!arraySome(n,function(P,D){if(!cacheHas(C,D)&&(A===P||m(A,P,d,p,g)))return C.push(D)})){R=!1;break}}else if(!(A===k||m(A,k,d,p,g))){R=!1;break}}return g.delete(u),g.delete(n),R}function mapToArray(u){var n=-1,d=Array(u.size);return u.forEach(function(p,m){d[++n]=[m,p]}),d}function setToArray(u){var n=-1,d=Array(u.size);return u.forEach(function(p){d[++n]=p}),d}var COMPARE_PARTIAL_FLAG$4=1,COMPARE_UNORDERED_FLAG$2=2,boolTag="[object Boolean]",dateTag="[object Date]",errorTag="[object Error]",mapTag="[object Map]",numberTag="[object Number]",regexpTag="[object RegExp]",setTag="[object Set]",stringTag="[object String]",symbolTag="[object Symbol]",arrayBufferTag="[object ArrayBuffer]",dataViewTag="[object DataView]",symbolProto=Symbol$1?Symbol$1.prototype:void 0,symbolValueOf=symbolProto?symbolProto.valueOf:void 0;function equalByTag(u,n,d,p,m,g,y){switch(d){case dataViewTag:if(u.byteLength!=n.byteLength||u.byteOffset!=n.byteOffset)return!1;u=u.buffer,n=n.buffer;case arrayBufferTag:return!(u.byteLength!=n.byteLength||!g(new Uint8Array$1(u),new Uint8Array$1(n)));case boolTag:case dateTag:case numberTag:return eq(+u,+n);case errorTag:return u.name==n.name&&u.message==n.message;case regexpTag:case stringTag:return u==n+"";case mapTag:var b=mapToArray;case setTag:var S=p&COMPARE_PARTIAL_FLAG$4;if(b||(b=setToArray),u.size!=n.size&&!S)return!1;var E=y.get(u);if(E)return E==n;p|=COMPARE_UNORDERED_FLAG$2,y.set(u,n);var T=equalArrays(b(u),b(n),p,m,g,y);return y.delete(u),T;case symbolTag:if(symbolValueOf)return symbolValueOf.call(u)==symbolValueOf.call(n)}return!1}var COMPARE_PARTIAL_FLAG$3=1,objectProto$2=Object.prototype,hasOwnProperty$4=objectProto$2.hasOwnProperty;function equalObjects(u,n,d,p,m,g){var y=d&COMPARE_PARTIAL_FLAG$3,b=getAllKeys(u),S=b.length,E=getAllKeys(n),T=E.length;if(S!=T&&!y)return!1;for(var _=S;_--;){var R=b[_];if(!(y?R in n:hasOwnProperty$4.call(n,R)))return!1}var C=g.get(u),A=g.get(n);if(C&&A)return C==n&&A==u;var k=!0;g.set(u,n),g.set(n,u);for(var I=y;++_<S;){R=b[_];var P=u[R],D=n[R];if(p)var O=y?p(D,P,R,n,u,g):p(P,D,R,u,n,g);if(!(O===void 0?P===D||m(P,D,d,p,g):O)){k=!1;break}I||(I=R=="constructor")}if(k&&!I){var N=u.constructor,F=n.constructor;N!=F&&"constructor"in u&&"constructor"in n&&!(typeof N=="function"&&N instanceof N&&typeof F=="function"&&F instanceof F)&&(k=!1)}return g.delete(u),g.delete(n),k}var COMPARE_PARTIAL_FLAG$2=1,argsTag="[object Arguments]",arrayTag="[object Array]",objectTag="[object Object]",objectProto$1=Object.prototype,hasOwnProperty$3=objectProto$1.hasOwnProperty;function baseIsEqualDeep(u,n,d,p,m,g){var y=isArray$1(u),b=isArray$1(n),S=y?arrayTag:getTag(u),E=b?arrayTag:getTag(n);S=S==argsTag?objectTag:S,E=E==argsTag?objectTag:E;var T=S==objectTag,_=E==objectTag,R=S==E;if(R&&isBuffer(u)){if(!isBuffer(n))return!1;y=!0,T=!1}if(R&&!T)return g||(g=new Stack),y||isTypedArray(u)?equalArrays(u,n,d,p,m,g):equalByTag(u,n,S,d,p,m,g);if(!(d&COMPARE_PARTIAL_FLAG$2)){var C=T&&hasOwnProperty$3.call(u,"__wrapped__"),A=_&&hasOwnProperty$3.call(n,"__wrapped__");if(C||A){var k=C?u.value():u,I=A?n.value():n;return g||(g=new Stack),m(k,I,d,p,g)}}return R?(g||(g=new Stack),equalObjects(u,n,d,p,m,g)):!1}function baseIsEqual(u,n,d,p,m){return u===n?!0:u==null||n==null||!isObjectLike(u)&&!isObjectLike(n)?u!==u&&n!==n:baseIsEqualDeep(u,n,d,p,baseIsEqual,m)}var COMPARE_PARTIAL_FLAG$1=1,COMPARE_UNORDERED_FLAG$1=2;function baseIsMatch(u,n,d,p){var m=d.length,g=m;if(u==null)return!g;for(u=Object(u);m--;){var y=d[m];if(y[2]?y[1]!==u[y[0]]:!(y[0]in u))return!1}for(;++m<g;){y=d[m];var b=y[0],S=u[b],E=y[1];if(y[2]){if(S===void 0&&!(b in u))return!1}else{var T=new Stack,_;if(!(_===void 0?baseIsEqual(E,S,COMPARE_PARTIAL_FLAG$1|COMPARE_UNORDERED_FLAG$1,p,T):_))return!1}}return!0}function isStrictComparable(u){return u===u&&!isObject$2(u)}function getMatchData(u){for(var n=keys$2(u),d=n.length;d--;){var p=n[d],m=u[p];n[d]=[p,m,isStrictComparable(m)]}return n}function matchesStrictComparable(u,n){return function(d){return d==null?!1:d[u]===n&&(n!==void 0||u in Object(d))}}function baseMatches(u){var n=getMatchData(u);return n.length==1&&n[0][2]?matchesStrictComparable(n[0][0],n[0][1]):function(d){return d===u||baseIsMatch(d,u,n)}}function baseHasIn(u,n){return u!=null&&n in Object(u)}function hasPath(u,n,d){n=castPath(n,u);for(var p=-1,m=n.length,g=!1;++p<m;){var y=toKey(n[p]);if(!(g=u!=null&&d(u,y)))break;u=u[y]}return g||++p!=m?g:(m=u==null?0:u.length,!!m&&isLength(m)&&isIndex(y,m)&&(isArray$1(u)||isArguments(u)))}function hasIn(u,n){return u!=null&&hasPath(u,n,baseHasIn)}var COMPARE_PARTIAL_FLAG=1,COMPARE_UNORDERED_FLAG=2;function baseMatchesProperty(u,n){return isKey(u)&&isStrictComparable(n)?matchesStrictComparable(toKey(u),n):function(d){var p=get(d,u);return p===void 0&&p===n?hasIn(d,u):baseIsEqual(n,p,COMPARE_PARTIAL_FLAG|COMPARE_UNORDERED_FLAG)}}function baseProperty(u){return function(n){return n?.[u]}}function basePropertyDeep(u){return function(n){return baseGet(n,u)}}function property(u){return isKey(u)?baseProperty(toKey(u)):basePropertyDeep(u)}function baseIteratee(u){return typeof u=="function"?u:u==null?identity:typeof u=="object"?isArray$1(u)?baseMatchesProperty(u[0],u[1]):baseMatches(u):property(u)}var now=function(){return root.Date.now()},FUNC_ERROR_TEXT$1="Expected a function",nativeMax=Math.max,nativeMin=Math.min;function debounce$2(u,n,d){var p,m,g,y,b,S,E=0,T=!1,_=!1,R=!0;if(typeof u!="function")throw new TypeError(FUNC_ERROR_TEXT$1);n=toNumber(n)||0,isObject$2(d)&&(T=!!d.leading,_="maxWait"in d,g=_?nativeMax(toNumber(d.maxWait)||0,n):g,R="trailing"in d?!!d.trailing:R);function C(L){var V=p,j=m;return p=m=void 0,E=L,y=u.apply(j,V),y}function A(L){return E=L,b=setTimeout(P,n),T?C(L):y}function k(L){var V=L-S,j=L-E,Y=n-V;return _?nativeMin(Y,g-j):Y}function I(L){var V=L-S,j=L-E;return S===void 0||V>=n||V<0||_&&j>=g}function P(){var L=now();if(I(L))return D(L);b=setTimeout(P,k(L))}function D(L){return b=void 0,R&&p?C(L):(p=m=void 0,y)}function O(){b!==void 0&&clearTimeout(b),E=0,p=S=m=b=void 0}function N(){return b===void 0?y:D(now())}function F(){var L=now(),V=I(L);if(p=arguments,m=this,S=L,V){if(b===void 0)return A(S);if(_)return clearTimeout(b),b=setTimeout(P,n),C(S)}return b===void 0&&(b=setTimeout(P,n)),y}return F.cancel=O,F.flush=N,F}function last$1(u){var n=u==null?0:u.length;return n?u[n-1]:void 0}function parent(u,n){return n.length<2?u:baseGet(u,baseSlice(n,0,-1))}function isNil(u){return u==null}var FUNC_ERROR_TEXT="Expected a function";function negate(u){if(typeof u!="function")throw new TypeError(FUNC_ERROR_TEXT);return function(){var n=arguments;switch(n.length){case 0:return!u.call(this);case 1:return!u.call(this,n[0]);case 2:return!u.call(this,n[0],n[1]);case 3:return!u.call(this,n[0],n[1],n[2])}return!u.apply(this,n)}}var objectProto=Object.prototype,hasOwnProperty$2=objectProto.hasOwnProperty;function baseUnset(u,n){n=castPath(n,u);var d=-1,p=n.length;if(!p)return!0;for(var m=u==null||typeof u!="object"&&typeof u!="function";++d<p;){var g=n[d];if(typeof g=="string"){if(g==="__proto__"&&!hasOwnProperty$2.call(u,"__proto__"))return!1;if(g==="constructor"&&d+1<p&&typeof n[d+1]=="string"&&n[d+1]==="prototype"){if(m&&d===0)continue;return!1}}}var y=parent(u,n);return y==null||delete y[toKey(last$1(n))]}function customOmitClone(u){return isPlainObject(u)?void 0:u}var CLONE_DEEP_FLAG=1,CLONE_FLAT_FLAG=2,CLONE_SYMBOLS_FLAG=4,omit=flatRest(function(u,n){var d={};if(u==null)return d;var p=!1;n=arrayMap(n,function(g){return g=castPath(g,u),p||(p=g.length>1),g}),copyObject(u,getAllKeysIn(u),d),p&&(d=baseClone(d,CLONE_DEEP_FLAG|CLONE_FLAT_FLAG|CLONE_SYMBOLS_FLAG,customOmitClone));for(var m=n.length;m--;)baseUnset(d,n[m]);return d});function baseSet(u,n,d,p){if(!isObject$2(u))return u;n=castPath(n,u);for(var m=-1,g=n.length,y=g-1,b=u;b!=null&&++m<g;){var S=toKey(n[m]),E=d;if(S==="__proto__"||S==="constructor"||S==="prototype")return u;if(m!=y){var T=b[S];E=void 0,E===void 0&&(E=isObject$2(T)?T:isIndex(n[m+1])?[]:{})}assignValue(b,S,E),b=b[S]}return u}function basePickBy(u,n,d){for(var p=-1,m=n.length,g={};++p<m;){var y=n[p],b=baseGet(u,y);d(b,y)&&baseSet(g,castPath(y,u),b)}return g}function pickBy(u,n){if(u==null)return{};var d=arrayMap(getAllKeysIn(u),function(p){return[p]});return n=baseIteratee(n),basePickBy(u,d,function(p,m){return n(p,m[0])})}function omitBy(u,n){return pickBy(u,negate(baseIteratee(n)))}const analyticsStore=createStore((u,n)=>({sessionManager:new SessionManager,featureUsage:new FeatureTracker,enabled:!1,debug:!1,logEventFn:null,publishCrosspost:new Map,initialize:(d,p={})=>{u({logEventFn:d,enabled:p.enabled??!1,debug:p.debug??!1}),p.debug},createSession:(d,p=EditorPlacement.Feed)=>{const{sessionManager:m,logEventFn:g,enabled:y,debug:b}=n(),S=m.createSession(d,p);if(y&&g){const E=pickBy({compose_session_id:S,timestamp:Date.now(),editor_type:d,editor_placement:p},T=>T!=null);g(ANALYTICS_EVENTS.SESSION.STARTED,E)}return S},deleteSession:d=>{const{sessionManager:p,trackEvent:m}=n(),g=p.getSession(d);g&&(m(d,ANALYTICS_EVENTS.SESSION.COMPLETED,{session_duration_ms:Date.now()-g.startTime}),p.deleteSession(d))},trackEvent:(d,p,m={})=>{const{sessionManager:g,logEventFn:y,enabled:b,debug:S}=n();if(!b||!y)return;const E=g.getSession(d);if(!E)return;const T={compose_session_id:d,timestamp:Date.now(),editor_type:E.editorType,editor_placement:E.placement,...m},_=pickBy(T,R=>R!=null);y(p,_)},trackPublish:(d,p)=>{const{trackEvent:m,sessionManager:g,publishCrosspost:y}=n(),b=g.getSession(d),S=p.isCrosspost??y.get(p.postId)??!1;p.status==="attempted"?(y.set(p.postId,S),m(d,ANALYTICS_EVENTS.PUBLISH.ATTEMPTED,{editor_type:p.editorType,post_id:p.postId,group_id:p.groupId,post_type:p.postType,is_crosspost:S,word_count:p.wordCount,media_count:p.mediaCount,link_count:p.linkCount,formatting_features:p.formattingFeatures})):p.status==="success"?(y.delete(p.postId),m(d,ANALYTICS_EVENTS.PUBLISH.SUCCESS,{editor_type:p.editorType,post_id:p.postId,group_id:p.groupId,post_type:p.postType,is_crosspost:S,word_count:p.wordCount,media_count:p.mediaCount,link_count:p.linkCount,formatting_features:p.formattingFeatures,session_duration_ms:b?Date.now()-b.startTime:void 0})):(y.delete(p.postId),g.setLastError(d,p.failureReason||"unknown"),m(d,ANALYTICS_EVENTS.PUBLISH.FAILED,{editor_type:p.editorType,post_id:p.postId,group_id:p.groupId,post_type:p.postType,is_crosspost:S,error_type:p.failureReason,word_count:p.wordCount,media_count:p.mediaCount,link_count:p.linkCount,formatting_features:p.formattingFeatures}))},trackExplicitAbandon:(d,p)=>{const{trackEvent:m,sessionManager:g}=n(),y=g.getSession(d);m(d,ANALYTICS_EVENTS.SESSION.ABANDONED,{session_duration_ms:y?Date.now()-y.startTime:0,content_length:p.contentLength,has_unsaved_changes:p.hasUnsavedChanges,abandon_reason:p.abandonReason,last_error_type:y?.lastErrorType||void 0})},trackFeature:(d,p)=>{const{sessionManager:m,trackEvent:g}=n(),{isFirstUse:y,usageCount:b}=m.trackFeature(d,p);g(d,y?ANALYTICS_EVENTS.FEATURE.DISCOVERED:ANALYTICS_EVENTS.FEATURE.REUSED,{feature_name:p,...y?{}:{usage_count:b}})},trackEditorFocus:(d,p)=>{const{sessionManager:m,trackEvent:g}=n();if(!m.markFocused(d,p))return;const y=m.getSession(d);g(d,ANALYTICS_EVENTS.EDITOR.FOCUSED,{surface:"editor",focus_source:p,time_to_focus_ms:y?Date.now()-y.startTime:void 0})},trackTabSwitch:(d,p,m)=>{const{trackEvent:g}=n();g(d,ANALYTICS_EVENTS.EDITOR.TAB_SWITCHED,{surface:"editor",from_tab:p,to_tab:m})},trackContentCreated:(d,p)=>{const{sessionManager:m,trackEvent:g}=n(),y=m.getSession(d);!y||y.contentCreatedFired||(m.markContentCreated(d),g(d,ANALYTICS_EVENTS.CONTENT.CREATED,{editor_type:p.editorType,word_count:p.wordCount,media_count:p.mediaCount,link_count:p.linkCount,time_to_first_content_ms:Date.now()-y.startTime}))},trackMediaUploadSuccess:(d,p)=>{const{trackEvent:m}=n();m(d,ANALYTICS_EVENTS.MEDIA.ADDED,{editor_type:p.editorType,media_type:p.mediaType,upload_source:p.source,file_size_mb:p.fileSizeMB})},trackMediaUploadFailed:(d,p)=>{const{sessionManager:m,trackEvent:g}=n();m.setLastError(d,p.errorType),g(d,ANALYTICS_EVENTS.MEDIA.UPLOAD_FAILED,{editor_type:p.editorType,media_type:p.mediaType,upload_source:p.source,file_size_mb:p.fileSizeMB,error_type:p.errorType})},trackMediaRemoved:(d,p)=>{const{trackEvent:m}=n();m(d,ANALYTICS_EVENTS.MEDIA.REMOVED,{editor_type:p.editorType,media_type:p.mediaType})},trackLinkAdded:(d,p)=>{const{trackEvent:m}=n();m(d,ANALYTICS_EVENTS.LINK.ADDED,{editor_type:p?.editorType})},trackLinkUnfurlFailed:(d,p)=>{const{sessionManager:m,trackEvent:g}=n();m.setLastError(d,"link_unfurl_failed"),g(d,ANALYTICS_EVENTS.LINK.UNFURL_FAILED,{editor_type:p?.editorType})},trackPollOptionAdded:(d,p)=>{const{trackEvent:m}=n();m(d,ANALYTICS_EVENTS.POLL.OPTION_ADDED,{option_count:p.option_count,option_type:p.option_type})},trackPollOptionRemoved:(d,p)=>{const{trackEvent:m}=n();m(d,ANALYTICS_EVENTS.POLL.OPTION_REMOVED,{option_count:p.option_count,option_type:p.option_type})}}));function useAnalyticsStore(u){return useStore(analyticsStore,u)}const getAnalyticsStore=()=>analyticsStore.getState();function useAnalyticsTracking(){const{sessionId:u}=useAnalyticsSession(),n=useAnalyticsStore();return React.useMemo(()=>({trackPublish:d=>n.trackPublish(u,d),trackAbandon:d=>n.trackExplicitAbandon(u,d),trackFeature:d=>n.trackFeature(u,d),trackEditorFocus:d=>n.trackEditorFocus(u,d),trackTabSwitch:(d,p)=>n.trackTabSwitch(u,d,p),trackContentCreated:d=>n.trackContentCreated(u,d),trackMediaUploadSuccess:d=>n.trackMediaUploadSuccess(u,d),trackMediaUploadFailed:d=>n.trackMediaUploadFailed(u,d),trackMediaRemoved:d=>n.trackMediaRemoved(u,d),trackLinkAdded:d=>n.trackLinkAdded(u,d),trackLinkUnfurlFailed:d=>n.trackLinkUnfurlFailed(u,d),trackPollOptionAdded:d=>n.trackPollOptionAdded(u,d),trackPollOptionRemoved:d=>n.trackPollOptionRemoved(u,d),sessionId:u}),[n,u])}const editorTypes=enumToOptions(EditorTypes),EditorTypeTabs=({editorTab:u,onSwitchEditorTab:n})=>{const{t:d,unauthenticatedMode:p}=usePostBuilder(),{trackTabSwitch:m}=useAnalyticsTracking(),g=p?editorTypes.filter(S=>S.key!==EditorTypes.Poll):editorTypes,y=S=>{m(u,S),n(S)},b=S=>{switch(S){case EditorTypes.Media:return"postTabKey";case EditorTypes.Blog:return"blogTabKey";case EditorTypes.Poll:return"pollTabKey";default:return"postTabKey"}};return jsxRuntime.jsx(Tabs,{defaultValue:EditorTypes.Media,value:u,onValueChange:y,className:"w-full",children:jsxRuntime.jsx(TabsList,{className:"w-full rounded-none border-b",children:g.map(S=>jsxRuntime.jsx(TabsTrigger,{value:S.value.toString(),children:d(b(S.key),S.value)},S.value))})})};function clamp$1(u,[n,d]){return Math.min(d,Math.max(n,u))}function useEscapeKeydown(u,n=globalThis?.document){const d=useCallbackRef$1(u);React__namespace.useEffect(()=>{const p=m=>{m.key==="Escape"&&d(m)};return n.addEventListener("keydown",p,{capture:!0}),()=>n.removeEventListener("keydown",p,{capture:!0})},[d,n])}var DISMISSABLE_LAYER_NAME="DismissableLayer",CONTEXT_UPDATE="dismissableLayer.update",POINTER_DOWN_OUTSIDE="dismissableLayer.pointerDownOutside",FOCUS_OUTSIDE="dismissableLayer.focusOutside",originalBodyPointerEvents,DismissableLayerContext=React__namespace.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),DismissableLayer=React__namespace.forwardRef((u,n)=>{const{disableOutsidePointerEvents:d=!1,onEscapeKeyDown:p,onPointerDownOutside:m,onFocusOutside:g,onInteractOutside:y,onDismiss:b,...S}=u,E=React__namespace.useContext(DismissableLayerContext),[T,_]=React__namespace.useState(null),R=T?.ownerDocument??globalThis?.document,[,C]=React__namespace.useState({}),A=useComposedRefs(n,V=>_(V)),k=Array.from(E.layers),[I]=[...E.layersWithOutsidePointerEventsDisabled].slice(-1),P=k.indexOf(I),D=T?k.indexOf(T):-1,O=E.layersWithOutsidePointerEventsDisabled.size>0,N=D>=P,F=usePointerDownOutside(V=>{const j=V.target,Y=[...E.branches].some(te=>te.contains(j));!N||Y||(m?.(V),y?.(V),V.defaultPrevented||b?.())},R),L=useFocusOutside(V=>{const j=V.target;[...E.branches].some(te=>te.contains(j))||(g?.(V),y?.(V),V.defaultPrevented||b?.())},R);return useEscapeKeydown(V=>{D===E.layers.size-1&&(p?.(V),!V.defaultPrevented&&b&&(V.preventDefault(),b()))},R),React__namespace.useEffect(()=>{if(T)return d&&(E.layersWithOutsidePointerEventsDisabled.size===0&&(originalBodyPointerEvents=R.body.style.pointerEvents,R.body.style.pointerEvents="none"),E.layersWithOutsidePointerEventsDisabled.add(T)),E.layers.add(T),dispatchUpdate(),()=>{d&&E.layersWithOutsidePointerEventsDisabled.size===1&&(R.body.style.pointerEvents=originalBodyPointerEvents)}},[T,R,d,E]),React__namespace.useEffect(()=>()=>{T&&(E.layers.delete(T),E.layersWithOutsidePointerEventsDisabled.delete(T),dispatchUpdate())},[T,E]),React__namespace.useEffect(()=>{const V=()=>C({});return document.addEventListener(CONTEXT_UPDATE,V),()=>document.removeEventListener(CONTEXT_UPDATE,V)},[]),jsxRuntime.jsx(Primitive$5.div,{...S,ref:A,style:{pointerEvents:O?N?"auto":"none":void 0,...u.style},onFocusCapture:composeEventHandlers(u.onFocusCapture,L.onFocusCapture),onBlurCapture:composeEventHandlers(u.onBlurCapture,L.onBlurCapture),onPointerDownCapture:composeEventHandlers(u.onPointerDownCapture,F.onPointerDownCapture)})});DismissableLayer.displayName=DISMISSABLE_LAYER_NAME;var BRANCH_NAME="DismissableLayerBranch",DismissableLayerBranch=React__namespace.forwardRef((u,n)=>{const d=React__namespace.useContext(DismissableLayerContext),p=React__namespace.useRef(null),m=useComposedRefs(n,p);return React__namespace.useEffect(()=>{const g=p.current;if(g)return d.branches.add(g),()=>{d.branches.delete(g)}},[d.branches]),jsxRuntime.jsx(Primitive$5.div,{...u,ref:m})});DismissableLayerBranch.displayName=BRANCH_NAME;function usePointerDownOutside(u,n=globalThis?.document){const d=useCallbackRef$1(u),p=React__namespace.useRef(!1),m=React__namespace.useRef(()=>{});return React__namespace.useEffect(()=>{const g=b=>{if(b.target&&!p.current){let S=function(){handleAndDispatchCustomEvent(POINTER_DOWN_OUTSIDE,d,E,{discrete:!0})};const E={originalEvent:b};b.pointerType==="touch"?(n.removeEventListener("click",m.current),m.current=S,n.addEventListener("click",m.current,{once:!0})):S()}else n.removeEventListener("click",m.current);p.current=!1},y=window.setTimeout(()=>{n.addEventListener("pointerdown",g)},0);return()=>{window.clearTimeout(y),n.removeEventListener("pointerdown",g),n.removeEventListener("click",m.current)}},[n,d]),{onPointerDownCapture:()=>p.current=!0}}function useFocusOutside(u,n=globalThis?.document){const d=useCallbackRef$1(u),p=React__namespace.useRef(!1);return React__namespace.useEffect(()=>{const m=g=>{g.target&&!p.current&&handleAndDispatchCustomEvent(FOCUS_OUTSIDE,d,{originalEvent:g},{discrete:!1})};return n.addEventListener("focusin",m),()=>n.removeEventListener("focusin",m)},[n,d]),{onFocusCapture:()=>p.current=!0,onBlurCapture:()=>p.current=!1}}function dispatchUpdate(){const u=new CustomEvent(CONTEXT_UPDATE);document.dispatchEvent(u)}function handleAndDispatchCustomEvent(u,n,d,{discrete:p}){const m=d.originalEvent.target,g=new CustomEvent(u,{bubbles:!1,cancelable:!0,detail:d});n&&m.addEventListener(u,n,{once:!0}),p?dispatchDiscreteCustomEvent(m,g):m.dispatchEvent(g)}var count=0;function useFocusGuards(){React__namespace.useEffect(()=>{const u=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",u[0]??createFocusGuard()),document.body.insertAdjacentElement("beforeend",u[1]??createFocusGuard()),count++,()=>{count===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(n=>n.remove()),count--}},[])}function createFocusGuard(){const u=document.createElement("span");return u.setAttribute("data-radix-focus-guard",""),u.tabIndex=0,u.style.outline="none",u.style.opacity="0",u.style.position="fixed",u.style.pointerEvents="none",u}var AUTOFOCUS_ON_MOUNT="focusScope.autoFocusOnMount",AUTOFOCUS_ON_UNMOUNT="focusScope.autoFocusOnUnmount",EVENT_OPTIONS={bubbles:!1,cancelable:!0},FOCUS_SCOPE_NAME="FocusScope",FocusScope=React__namespace.forwardRef((u,n)=>{const{loop:d=!1,trapped:p=!1,onMountAutoFocus:m,onUnmountAutoFocus:g,...y}=u,[b,S]=React__namespace.useState(null),E=useCallbackRef$1(m),T=useCallbackRef$1(g),_=React__namespace.useRef(null),R=useComposedRefs(n,k=>S(k)),C=React__namespace.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;React__namespace.useEffect(()=>{if(p){let k=function(O){if(C.paused||!b)return;const N=O.target;b.contains(N)?_.current=N:focus(_.current,{select:!0})},I=function(O){if(C.paused||!b)return;const N=O.relatedTarget;N!==null&&(b.contains(N)||focus(_.current,{select:!0}))},P=function(O){if(document.activeElement===document.body)for(const F of O)F.removedNodes.length>0&&focus(b)};document.addEventListener("focusin",k),document.addEventListener("focusout",I);const D=new MutationObserver(P);return b&&D.observe(b,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",k),document.removeEventListener("focusout",I),D.disconnect()}}},[p,b,C.paused]),React__namespace.useEffect(()=>{if(b){focusScopesStack.add(C);const k=document.activeElement;if(!b.contains(k)){const P=new CustomEvent(AUTOFOCUS_ON_MOUNT,EVENT_OPTIONS);b.addEventListener(AUTOFOCUS_ON_MOUNT,E),b.dispatchEvent(P),P.defaultPrevented||(focusFirst$1(removeLinks(getTabbableCandidates(b)),{select:!0}),document.activeElement===k&&focus(b))}return()=>{b.removeEventListener(AUTOFOCUS_ON_MOUNT,E),setTimeout(()=>{const P=new CustomEvent(AUTOFOCUS_ON_UNMOUNT,EVENT_OPTIONS);b.addEventListener(AUTOFOCUS_ON_UNMOUNT,T),b.dispatchEvent(P),P.defaultPrevented||focus(k??document.body,{select:!0}),b.removeEventListener(AUTOFOCUS_ON_UNMOUNT,T),focusScopesStack.remove(C)},0)}}},[b,E,T,C]);const A=React__namespace.useCallback(k=>{if(!d&&!p||C.paused)return;const I=k.key==="Tab"&&!k.altKey&&!k.ctrlKey&&!k.metaKey,P=document.activeElement;if(I&&P){const D=k.currentTarget,[O,N]=getTabbableEdges(D);O&&N?!k.shiftKey&&P===N?(k.preventDefault(),d&&focus(O,{select:!0})):k.shiftKey&&P===O&&(k.preventDefault(),d&&focus(N,{select:!0})):P===D&&k.preventDefault()}},[d,p,C.paused]);return jsxRuntime.jsx(Primitive$5.div,{tabIndex:-1,...y,ref:R,onKeyDown:A})});FocusScope.displayName=FOCUS_SCOPE_NAME;function focusFirst$1(u,{select:n=!1}={}){const d=document.activeElement;for(const p of u)if(focus(p,{select:n}),document.activeElement!==d)return}function getTabbableEdges(u){const n=getTabbableCandidates(u),d=findVisible(n,u),p=findVisible(n.reverse(),u);return[d,p]}function getTabbableCandidates(u){const n=[],d=document.createTreeWalker(u,NodeFilter.SHOW_ELEMENT,{acceptNode:p=>{const m=p.tagName==="INPUT"&&p.type==="hidden";return p.disabled||p.hidden||m?NodeFilter.FILTER_SKIP:p.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;d.nextNode();)n.push(d.currentNode);return n}function findVisible(u,n){for(const d of u)if(!isHidden(d,{upTo:n}))return d}function isHidden(u,{upTo:n}){if(getComputedStyle(u).visibility==="hidden")return!0;for(;u;){if(n!==void 0&&u===n)return!1;if(getComputedStyle(u).display==="none")return!0;u=u.parentElement}return!1}function isSelectableInput(u){return u instanceof HTMLInputElement&&"select"in u}function focus(u,{select:n=!1}={}){if(u&&u.focus){const d=document.activeElement;u.focus({preventScroll:!0}),u!==d&&isSelectableInput(u)&&n&&u.select()}}var focusScopesStack=createFocusScopesStack();function createFocusScopesStack(){let u=[];return{add(n){const d=u[0];n!==d&&d?.pause(),u=arrayRemove(u,n),u.unshift(n)},remove(n){u=arrayRemove(u,n),u[0]?.resume()}}}function arrayRemove(u,n){const d=[...u],p=d.indexOf(n);return p!==-1&&d.splice(p,1),d}function removeLinks(u){return u.filter(n=>n.tagName!=="A")}const sides=["top","right","bottom","left"],min$2=Math.min,max$2=Math.max,round$1=Math.round,floor$1=Math.floor,createCoords=u=>({x:u,y:u}),oppositeSideMap={left:"right",right:"left",bottom:"top",top:"bottom"};function clamp(u,n,d){return max$2(u,min$2(n,d))}function evaluate(u,n){return typeof u=="function"?u(n):u}function getSide(u){return u.split("-")[0]}function getAlignment(u){return u.split("-")[1]}function getOppositeAxis(u){return u==="x"?"y":"x"}function getAxisLength(u){return u==="y"?"height":"width"}function getSideAxis(u){const n=u[0];return n==="t"||n==="b"?"y":"x"}function getAlignmentAxis(u){return getOppositeAxis(getSideAxis(u))}function getAlignmentSides(u,n,d){d===void 0&&(d=!1);const p=getAlignment(u),m=getAlignmentAxis(u),g=getAxisLength(m);let y=m==="x"?p===(d?"end":"start")?"right":"left":p==="start"?"bottom":"top";return n.reference[g]>n.floating[g]&&(y=getOppositePlacement$1(y)),[y,getOppositePlacement$1(y)]}function getExpandedPlacements(u){const n=getOppositePlacement$1(u);return[getOppositeAlignmentPlacement(u),n,getOppositeAlignmentPlacement(n)]}function getOppositeAlignmentPlacement(u){return u.includes("start")?u.replace("start","end"):u.replace("end","start")}const lrPlacement=["left","right"],rlPlacement=["right","left"],tbPlacement=["top","bottom"],btPlacement=["bottom","top"];function getSideList(u,n,d){switch(u){case"top":case"bottom":return d?n?rlPlacement:lrPlacement:n?lrPlacement:rlPlacement;case"left":case"right":return n?tbPlacement:btPlacement;default:return[]}}function getOppositeAxisPlacements(u,n,d,p){const m=getAlignment(u);let g=getSideList(getSide(u),d==="start",p);return m&&(g=g.map(y=>y+"-"+m),n&&(g=g.concat(g.map(getOppositeAlignmentPlacement)))),g}function getOppositePlacement$1(u){const n=getSide(u);return oppositeSideMap[n]+u.slice(n.length)}function expandPaddingObject(u){return{top:0,right:0,bottom:0,left:0,...u}}function getPaddingObject(u){return typeof u!="number"?expandPaddingObject(u):{top:u,right:u,bottom:u,left:u}}function rectToClientRect$1(u){const{x:n,y:d,width:p,height:m}=u;return{width:p,height:m,top:d,left:n,right:n+p,bottom:d+m,x:n,y:d}}function computeCoordsFromPlacement(u,n,d){let{reference:p,floating:m}=u;const g=getSideAxis(n),y=getAlignmentAxis(n),b=getAxisLength(y),S=getSide(n),E=g==="y",T=p.x+p.width/2-m.width/2,_=p.y+p.height/2-m.height/2,R=p[b]/2-m[b]/2;let C;switch(S){case"top":C={x:T,y:p.y-m.height};break;case"bottom":C={x:T,y:p.y+p.height};break;case"right":C={x:p.x+p.width,y:_};break;case"left":C={x:p.x-m.width,y:_};break;default:C={x:p.x,y:p.y}}switch(getAlignment(n)){case"start":C[y]-=R*(d&&E?-1:1);break;case"end":C[y]+=R*(d&&E?-1:1);break}return C}async function detectOverflow$1(u,n){var d;n===void 0&&(n={});const{x:p,y:m,platform:g,rects:y,elements:b,strategy:S}=u,{boundary:E="clippingAncestors",rootBoundary:T="viewport",elementContext:_="floating",altBoundary:R=!1,padding:C=0}=evaluate(n,u),A=getPaddingObject(C),I=b[R?_==="floating"?"reference":"floating":_],P=rectToClientRect$1(await g.getClippingRect({element:(d=await(g.isElement==null?void 0:g.isElement(I)))==null||d?I:I.contextElement||await(g.getDocumentElement==null?void 0:g.getDocumentElement(b.floating)),boundary:E,rootBoundary:T,strategy:S})),D=_==="floating"?{x:p,y:m,width:y.floating.width,height:y.floating.height}:y.reference,O=await(g.getOffsetParent==null?void 0:g.getOffsetParent(b.floating)),N=await(g.isElement==null?void 0:g.isElement(O))?await(g.getScale==null?void 0:g.getScale(O))||{x:1,y:1}:{x:1,y:1},F=rectToClientRect$1(g.convertOffsetParentRelativeRectToViewportRelativeRect?await g.convertOffsetParentRelativeRectToViewportRelativeRect({elements:b,rect:D,offsetParent:O,strategy:S}):D);return{top:(P.top-F.top+A.top)/N.y,bottom:(F.bottom-P.bottom+A.bottom)/N.y,left:(P.left-F.left+A.left)/N.x,right:(F.right-P.right+A.right)/N.x}}const MAX_RESET_COUNT=50,computePosition$1=async(u,n,d)=>{const{placement:p="bottom",strategy:m="absolute",middleware:g=[],platform:y}=d,b=y.detectOverflow?y:{...y,detectOverflow:detectOverflow$1},S=await(y.isRTL==null?void 0:y.isRTL(n));let E=await y.getElementRects({reference:u,floating:n,strategy:m}),{x:T,y:_}=computeCoordsFromPlacement(E,p,S),R=p,C=0;const A={};for(let k=0;k<g.length;k++){const I=g[k];if(!I)continue;const{name:P,fn:D}=I,{x:O,y:N,data:F,reset:L}=await D({x:T,y:_,initialPlacement:p,placement:R,strategy:m,middlewareData:A,rects:E,platform:b,elements:{reference:u,floating:n}});T=O??T,_=N??_,A[P]={...A[P],...F},L&&C<MAX_RESET_COUNT&&(C++,typeof L=="object"&&(L.placement&&(R=L.placement),L.rects&&(E=L.rects===!0?await y.getElementRects({reference:u,floating:n,strategy:m}):L.rects),{x:T,y:_}=computeCoordsFromPlacement(E,R,S)),k=-1)}return{x:T,y:_,placement:R,strategy:m,middlewareData:A}},arrow$5=u=>({name:"arrow",options:u,async fn(n){const{x:d,y:p,placement:m,rects:g,platform:y,elements:b,middlewareData:S}=n,{element:E,padding:T=0}=evaluate(u,n)||{};if(E==null)return{};const _=getPaddingObject(T),R={x:d,y:p},C=getAlignmentAxis(m),A=getAxisLength(C),k=await y.getDimensions(E),I=C==="y",P=I?"top":"left",D=I?"bottom":"right",O=I?"clientHeight":"clientWidth",N=g.reference[A]+g.reference[C]-R[C]-g.floating[A],F=R[C]-g.reference[C],L=await(y.getOffsetParent==null?void 0:y.getOffsetParent(E));let V=L?L[O]:0;(!V||!await(y.isElement==null?void 0:y.isElement(L)))&&(V=b.floating[O]||g.floating[A]);const j=N/2-F/2,Y=V/2-k[A]/2-1,te=min$2(_[P],Y),ee=min$2(_[D],Y),J=te,se=V-k[A]-ee,Z=V/2-k[A]/2+j,re=clamp(J,Z,se),B=!S.arrow&&getAlignment(m)!=null&&Z!==re&&g.reference[A]/2-(Z<J?te:ee)-k[A]/2<0,q=B?Z<J?Z-J:Z-se:0;return{[C]:R[C]+q,data:{[C]:re,centerOffset:Z-re-q,...B&&{alignmentOffset:q}},reset:B}}}),flip$4=function(u){return u===void 0&&(u={}),{name:"flip",options:u,async fn(n){var d,p;const{placement:m,middlewareData:g,rects:y,initialPlacement:b,platform:S,elements:E}=n,{mainAxis:T=!0,crossAxis:_=!0,fallbackPlacements:R,fallbackStrategy:C="bestFit",fallbackAxisSideDirection:A="none",flipAlignment:k=!0,...I}=evaluate(u,n);if((d=g.arrow)!=null&&d.alignmentOffset)return{};const P=getSide(m),D=getSideAxis(b),O=getSide(b)===b,N=await(S.isRTL==null?void 0:S.isRTL(E.floating)),F=R||(O||!k?[getOppositePlacement$1(b)]:getExpandedPlacements(b)),L=A!=="none";!R&&L&&F.push(...getOppositeAxisPlacements(b,k,A,N));const V=[b,...F],j=await S.detectOverflow(n,I),Y=[];let te=((p=g.flip)==null?void 0:p.overflows)||[];if(T&&Y.push(j[P]),_){const Z=getAlignmentSides(m,y,N);Y.push(j[Z[0]],j[Z[1]])}if(te=[...te,{placement:m,overflows:Y}],!Y.every(Z=>Z<=0)){var ee,J;const Z=(((ee=g.flip)==null?void 0:ee.index)||0)+1,re=V[Z];if(re&&(!(_==="alignment"?D!==getSideAxis(re):!1)||te.every(H=>getSideAxis(H.placement)===D?H.overflows[0]>0:!0)))return{data:{index:Z,overflows:te},reset:{placement:re}};let B=(J=te.filter(q=>q.overflows[0]<=0).sort((q,H)=>q.overflows[1]-H.overflows[1])[0])==null?void 0:J.placement;if(!B)switch(C){case"bestFit":{var se;const q=(se=te.filter(H=>{if(L){const W=getSideAxis(H.placement);return W===D||W==="y"}return!0}).map(H=>[H.placement,H.overflows.filter(W=>W>0).reduce((W,Q)=>W+Q,0)]).sort((H,W)=>H[1]-W[1])[0])==null?void 0:se[0];q&&(B=q);break}case"initialPlacement":B=b;break}if(m!==B)return{reset:{placement:B}}}return{}}}};function getSideOffsets$1(u,n){return{top:u.top-n.height,right:u.right-n.width,bottom:u.bottom-n.height,left:u.left-n.width}}function isAnySideFullyClipped$1(u){return sides.some(n=>u[n]>=0)}const hide$4=function(u){return u===void 0&&(u={}),{name:"hide",options:u,async fn(n){const{rects:d,platform:p}=n,{strategy:m="referenceHidden",...g}=evaluate(u,n);switch(m){case"referenceHidden":{const y=await p.detectOverflow(n,{...g,elementContext:"reference"}),b=getSideOffsets$1(y,d.reference);return{data:{referenceHiddenOffsets:b,referenceHidden:isAnySideFullyClipped$1(b)}}}case"escaped":{const y=await p.detectOverflow(n,{...g,altBoundary:!0}),b=getSideOffsets$1(y,d.floating);return{data:{escapedOffsets:b,escaped:isAnySideFullyClipped$1(b)}}}default:return{}}}}},originSides=new Set(["left","top"]);async function convertValueToCoords(u,n){const{placement:d,platform:p,elements:m}=u,g=await(p.isRTL==null?void 0:p.isRTL(m.floating)),y=getSide(d),b=getAlignment(d),S=getSideAxis(d)==="y",E=originSides.has(y)?-1:1,T=g&&S?-1:1,_=evaluate(n,u);let{mainAxis:R,crossAxis:C,alignmentAxis:A}=typeof _=="number"?{mainAxis:_,crossAxis:0,alignmentAxis:null}:{mainAxis:_.mainAxis||0,crossAxis:_.crossAxis||0,alignmentAxis:_.alignmentAxis};return b&&typeof A=="number"&&(C=b==="end"?A*-1:A),S?{x:C*T,y:R*E}:{x:R*E,y:C*T}}const offset$4=function(u){return u===void 0&&(u=0),{name:"offset",options:u,async fn(n){var d,p;const{x:m,y:g,placement:y,middlewareData:b}=n,S=await convertValueToCoords(n,u);return y===((d=b.offset)==null?void 0:d.placement)&&(p=b.arrow)!=null&&p.alignmentOffset?{}:{x:m+S.x,y:g+S.y,data:{...S,placement:y}}}}},shift$2=function(u){return u===void 0&&(u={}),{name:"shift",options:u,async fn(n){const{x:d,y:p,placement:m,platform:g}=n,{mainAxis:y=!0,crossAxis:b=!1,limiter:S={fn:P=>{let{x:D,y:O}=P;return{x:D,y:O}}},...E}=evaluate(u,n),T={x:d,y:p},_=await g.detectOverflow(n,E),R=getSideAxis(getSide(m)),C=getOppositeAxis(R);let A=T[C],k=T[R];if(y){const P=C==="y"?"top":"left",D=C==="y"?"bottom":"right",O=A+_[P],N=A-_[D];A=clamp(O,A,N)}if(b){const P=R==="y"?"top":"left",D=R==="y"?"bottom":"right",O=k+_[P],N=k-_[D];k=clamp(O,k,N)}const I=S.fn({...n,[C]:A,[R]:k});return{...I,data:{x:I.x-d,y:I.y-p,enabled:{[C]:y,[R]:b}}}}}},limitShift$2=function(u){return u===void 0&&(u={}),{options:u,fn(n){const{x:d,y:p,placement:m,rects:g,middlewareData:y}=n,{offset:b=0,mainAxis:S=!0,crossAxis:E=!0}=evaluate(u,n),T={x:d,y:p},_=getSideAxis(m),R=getOppositeAxis(_);let C=T[R],A=T[_];const k=evaluate(b,n),I=typeof k=="number"?{mainAxis:k,crossAxis:0}:{mainAxis:0,crossAxis:0,...k};if(S){const O=R==="y"?"height":"width",N=g.reference[R]-g.floating[O]+I.mainAxis,F=g.reference[R]+g.reference[O]-I.mainAxis;C<N?C=N:C>F&&(C=F)}if(E){var P,D;const O=R==="y"?"width":"height",N=originSides.has(getSide(m)),F=g.reference[_]-g.floating[O]+(N&&((P=y.offset)==null?void 0:P[_])||0)+(N?0:I.crossAxis),L=g.reference[_]+g.reference[O]+(N?0:((D=y.offset)==null?void 0:D[_])||0)-(N?I.crossAxis:0);A<F?A=F:A>L&&(A=L)}return{[R]:C,[_]:A}}}},size$3=function(u){return u===void 0&&(u={}),{name:"size",options:u,async fn(n){var d,p;const{placement:m,rects:g,platform:y,elements:b}=n,{apply:S=()=>{},...E}=evaluate(u,n),T=await y.detectOverflow(n,E),_=getSide(m),R=getAlignment(m),C=getSideAxis(m)==="y",{width:A,height:k}=g.floating;let I,P;_==="top"||_==="bottom"?(I=_,P=R===(await(y.isRTL==null?void 0:y.isRTL(b.floating))?"start":"end")?"left":"right"):(P=_,I=R==="end"?"top":"bottom");const D=k-T.top-T.bottom,O=A-T.left-T.right,N=min$2(k-T[I],D),F=min$2(A-T[P],O),L=!n.middlewareData.shift;let V=N,j=F;if((d=n.middlewareData.shift)!=null&&d.enabled.x&&(j=O),(p=n.middlewareData.shift)!=null&&p.enabled.y&&(V=D),L&&!R){const te=max$2(T.left,0),ee=max$2(T.right,0),J=max$2(T.top,0),se=max$2(T.bottom,0);C?j=A-2*(te!==0||ee!==0?te+ee:max$2(T.left,T.right)):V=k-2*(J!==0||se!==0?J+se:max$2(T.top,T.bottom))}await S({...n,availableWidth:j,availableHeight:V});const Y=await y.getDimensions(b.floating);return A!==Y.width||k!==Y.height?{reset:{rects:!0}}:{}}}};function hasWindow(){return typeof window<"u"}function getNodeName$1(u){return isNode$1(u)?(u.nodeName||"").toLowerCase():"#document"}function getWindow$1(u){var n;return(u==null||(n=u.ownerDocument)==null?void 0:n.defaultView)||window}function getDocumentElement$1(u){var n;return(n=(isNode$1(u)?u.ownerDocument:u.document)||window.document)==null?void 0:n.documentElement}function isNode$1(u){return hasWindow()?u instanceof Node||u instanceof getWindow$1(u).Node:!1}function isElement$2(u){return hasWindow()?u instanceof Element||u instanceof getWindow$1(u).Element:!1}function isHTMLElement$1(u){return hasWindow()?u instanceof HTMLElement||u instanceof getWindow$1(u).HTMLElement:!1}function isShadowRoot$1(u){return!hasWindow()||typeof ShadowRoot>"u"?!1:u instanceof ShadowRoot||u instanceof getWindow$1(u).ShadowRoot}function isOverflowElement(u){const{overflow:n,overflowX:d,overflowY:p,display:m}=getComputedStyle$2(u);return/auto|scroll|overlay|hidden|clip/.test(n+p+d)&&m!=="inline"&&m!=="contents"}function isTableElement$1(u){return/^(table|td|th)$/.test(getNodeName$1(u))}function isTopLayer(u){try{if(u.matches(":popover-open"))return!0}catch{}try{return u.matches(":modal")}catch{return!1}}const willChangeRe=/transform|translate|scale|rotate|perspective|filter/,containRe=/paint|layout|strict|content/,isNotNone=u=>!!u&&u!=="none";let isWebKitValue;function isContainingBlock(u){const n=isElement$2(u)?getComputedStyle$2(u):u;return isNotNone(n.transform)||isNotNone(n.translate)||isNotNone(n.scale)||isNotNone(n.rotate)||isNotNone(n.perspective)||!isWebKit()&&(isNotNone(n.backdropFilter)||isNotNone(n.filter))||willChangeRe.test(n.willChange||"")||containRe.test(n.contain||"")}function getContainingBlock$1(u){let n=getParentNode$1(u);for(;isHTMLElement$1(n)&&!isLastTraversableNode(n);){if(isContainingBlock(n))return n;if(isTopLayer(n))return null;n=getParentNode$1(n)}return null}function isWebKit(){return isWebKitValue==null&&(isWebKitValue=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),isWebKitValue}function isLastTraversableNode(u){return/^(html|body|#document)$/.test(getNodeName$1(u))}function getComputedStyle$2(u){return getWindow$1(u).getComputedStyle(u)}function getNodeScroll$1(u){return isElement$2(u)?{scrollLeft:u.scrollLeft,scrollTop:u.scrollTop}:{scrollLeft:u.scrollX,scrollTop:u.scrollY}}function getParentNode$1(u){if(getNodeName$1(u)==="html")return u;const n=u.assignedSlot||u.parentNode||isShadowRoot$1(u)&&u.host||getDocumentElement$1(u);return isShadowRoot$1(n)?n.host:n}function getNearestOverflowAncestor(u){const n=getParentNode$1(u);return isLastTraversableNode(n)?u.ownerDocument?u.ownerDocument.body:u.body:isHTMLElement$1(n)&&isOverflowElement(n)?n:getNearestOverflowAncestor(n)}function getOverflowAncestors(u,n,d){var p;n===void 0&&(n=[]),d===void 0&&(d=!0);const m=getNearestOverflowAncestor(u),g=m===((p=u.ownerDocument)==null?void 0:p.body),y=getWindow$1(m);if(g){const b=getFrameElement(y);return n.concat(y,y.visualViewport||[],isOverflowElement(m)?m:[],b&&d?getOverflowAncestors(b):[])}else return n.concat(m,getOverflowAncestors(m,[],d))}function getFrameElement(u){return u.parent&&Object.getPrototypeOf(u.parent)?u.frameElement:null}function getCssDimensions(u){const n=getComputedStyle$2(u);let d=parseFloat(n.width)||0,p=parseFloat(n.height)||0;const m=isHTMLElement$1(u),g=m?u.offsetWidth:d,y=m?u.offsetHeight:p,b=round$1(d)!==g||round$1(p)!==y;return b&&(d=g,p=y),{width:d,height:p,$:b}}function unwrapElement(u){return isElement$2(u)?u:u.contextElement}function getScale(u){const n=unwrapElement(u);if(!isHTMLElement$1(n))return createCoords(1);const d=n.getBoundingClientRect(),{width:p,height:m,$:g}=getCssDimensions(n);let y=(g?round$1(d.width):d.width)/p,b=(g?round$1(d.height):d.height)/m;return(!y||!Number.isFinite(y))&&(y=1),(!b||!Number.isFinite(b))&&(b=1),{x:y,y:b}}const noOffsets=createCoords(0);function getVisualOffsets(u){const n=getWindow$1(u);return!isWebKit()||!n.visualViewport?noOffsets:{x:n.visualViewport.offsetLeft,y:n.visualViewport.offsetTop}}function shouldAddVisualOffsets(u,n,d){return n===void 0&&(n=!1),!d||n&&d!==getWindow$1(u)?!1:n}function getBoundingClientRect$1(u,n,d,p){n===void 0&&(n=!1),d===void 0&&(d=!1);const m=u.getBoundingClientRect(),g=unwrapElement(u);let y=createCoords(1);n&&(p?isElement$2(p)&&(y=getScale(p)):y=getScale(u));const b=shouldAddVisualOffsets(g,d,p)?getVisualOffsets(g):createCoords(0);let S=(m.left+b.x)/y.x,E=(m.top+b.y)/y.y,T=m.width/y.x,_=m.height/y.y;if(g){const R=getWindow$1(g),C=p&&isElement$2(p)?getWindow$1(p):p;let A=R,k=getFrameElement(A);for(;k&&p&&C!==A;){const I=getScale(k),P=k.getBoundingClientRect(),D=getComputedStyle$2(k),O=P.left+(k.clientLeft+parseFloat(D.paddingLeft))*I.x,N=P.top+(k.clientTop+parseFloat(D.paddingTop))*I.y;S*=I.x,E*=I.y,T*=I.x,_*=I.y,S+=O,E+=N,A=getWindow$1(k),k=getFrameElement(A)}}return rectToClientRect$1({width:T,height:_,x:S,y:E})}function getWindowScrollBarX$1(u,n){const d=getNodeScroll$1(u).scrollLeft;return n?n.left+d:getBoundingClientRect$1(getDocumentElement$1(u)).left+d}function getHTMLOffset(u,n){const d=u.getBoundingClientRect(),p=d.left+n.scrollLeft-getWindowScrollBarX$1(u,d),m=d.top+n.scrollTop;return{x:p,y:m}}function convertOffsetParentRelativeRectToViewportRelativeRect(u){let{elements:n,rect:d,offsetParent:p,strategy:m}=u;const g=m==="fixed",y=getDocumentElement$1(p),b=n?isTopLayer(n.floating):!1;if(p===y||b&&g)return d;let S={scrollLeft:0,scrollTop:0},E=createCoords(1);const T=createCoords(0),_=isHTMLElement$1(p);if((_||!_&&!g)&&((getNodeName$1(p)!=="body"||isOverflowElement(y))&&(S=getNodeScroll$1(p)),_)){const C=getBoundingClientRect$1(p);E=getScale(p),T.x=C.x+p.clientLeft,T.y=C.y+p.clientTop}const R=y&&!_&&!g?getHTMLOffset(y,S):createCoords(0);return{width:d.width*E.x,height:d.height*E.y,x:d.x*E.x-S.scrollLeft*E.x+T.x+R.x,y:d.y*E.y-S.scrollTop*E.y+T.y+R.y}}function getClientRects(u){return Array.from(u.getClientRects())}function getDocumentRect$1(u){const n=getDocumentElement$1(u),d=getNodeScroll$1(u),p=u.ownerDocument.body,m=max$2(n.scrollWidth,n.clientWidth,p.scrollWidth,p.clientWidth),g=max$2(n.scrollHeight,n.clientHeight,p.scrollHeight,p.clientHeight);let y=-d.scrollLeft+getWindowScrollBarX$1(u);const b=-d.scrollTop;return getComputedStyle$2(p).direction==="rtl"&&(y+=max$2(n.clientWidth,p.clientWidth)-m),{width:m,height:g,x:y,y:b}}const SCROLLBAR_MAX=25;function getViewportRect$1(u,n){const d=getWindow$1(u),p=getDocumentElement$1(u),m=d.visualViewport;let g=p.clientWidth,y=p.clientHeight,b=0,S=0;if(m){g=m.width,y=m.height;const T=isWebKit();(!T||T&&n==="fixed")&&(b=m.offsetLeft,S=m.offsetTop)}const E=getWindowScrollBarX$1(p);if(E<=0){const T=p.ownerDocument,_=T.body,R=getComputedStyle(_),C=T.compatMode==="CSS1Compat"&&parseFloat(R.marginLeft)+parseFloat(R.marginRight)||0,A=Math.abs(p.clientWidth-_.clientWidth-C);A<=SCROLLBAR_MAX&&(g-=A)}else E<=SCROLLBAR_MAX&&(g+=E);return{width:g,height:y,x:b,y:S}}function getInnerBoundingClientRect$1(u,n){const d=getBoundingClientRect$1(u,!0,n==="fixed"),p=d.top+u.clientTop,m=d.left+u.clientLeft,g=isHTMLElement$1(u)?getScale(u):createCoords(1),y=u.clientWidth*g.x,b=u.clientHeight*g.y,S=m*g.x,E=p*g.y;return{width:y,height:b,x:S,y:E}}function getClientRectFromClippingAncestor(u,n,d){let p;if(n==="viewport")p=getViewportRect$1(u,d);else if(n==="document")p=getDocumentRect$1(getDocumentElement$1(u));else if(isElement$2(n))p=getInnerBoundingClientRect$1(n,d);else{const m=getVisualOffsets(u);p={x:n.x-m.x,y:n.y-m.y,width:n.width,height:n.height}}return rectToClientRect$1(p)}function hasFixedPositionAncestor(u,n){const d=getParentNode$1(u);return d===n||!isElement$2(d)||isLastTraversableNode(d)?!1:getComputedStyle$2(d).position==="fixed"||hasFixedPositionAncestor(d,n)}function getClippingElementAncestors(u,n){const d=n.get(u);if(d)return d;let p=getOverflowAncestors(u,[],!1).filter(b=>isElement$2(b)&&getNodeName$1(b)!=="body"),m=null;const g=getComputedStyle$2(u).position==="fixed";let y=g?getParentNode$1(u):u;for(;isElement$2(y)&&!isLastTraversableNode(y);){const b=getComputedStyle$2(y),S=isContainingBlock(y);!S&&b.position==="fixed"&&(m=null),(g?!S&&!m:!S&&b.position==="static"&&!!m&&(m.position==="absolute"||m.position==="fixed")||isOverflowElement(y)&&!S&&hasFixedPositionAncestor(u,y))?p=p.filter(T=>T!==y):m=b,y=getParentNode$1(y)}return n.set(u,p),p}function getClippingRect$1(u){let{element:n,boundary:d,rootBoundary:p,strategy:m}=u;const y=[...d==="clippingAncestors"?isTopLayer(n)?[]:getClippingElementAncestors(n,this._c):[].concat(d),p],b=getClientRectFromClippingAncestor(n,y[0],m);let S=b.top,E=b.right,T=b.bottom,_=b.left;for(let R=1;R<y.length;R++){const C=getClientRectFromClippingAncestor(n,y[R],m);S=max$2(C.top,S),E=min$2(C.right,E),T=min$2(C.bottom,T),_=max$2(C.left,_)}return{width:E-_,height:T-S,x:_,y:S}}function getDimensions(u){const{width:n,height:d}=getCssDimensions(u);return{width:n,height:d}}function getRectRelativeToOffsetParent(u,n,d){const p=isHTMLElement$1(n),m=getDocumentElement$1(n),g=d==="fixed",y=getBoundingClientRect$1(u,!0,g,n);let b={scrollLeft:0,scrollTop:0};const S=createCoords(0);function E(){S.x=getWindowScrollBarX$1(m)}if(p||!p&&!g)if((getNodeName$1(n)!=="body"||isOverflowElement(m))&&(b=getNodeScroll$1(n)),p){const C=getBoundingClientRect$1(n,!0,g,n);S.x=C.x+n.clientLeft,S.y=C.y+n.clientTop}else m&&E();g&&!p&&m&&E();const T=m&&!p&&!g?getHTMLOffset(m,b):createCoords(0),_=y.left+b.scrollLeft-S.x-T.x,R=y.top+b.scrollTop-S.y-T.y;return{x:_,y:R,width:y.width,height:y.height}}function isStaticPositioned(u){return getComputedStyle$2(u).position==="static"}function getTrueOffsetParent$1(u,n){if(!isHTMLElement$1(u)||getComputedStyle$2(u).position==="fixed")return null;if(n)return n(u);let d=u.offsetParent;return getDocumentElement$1(u)===d&&(d=d.ownerDocument.body),d}function getOffsetParent$1(u,n){const d=getWindow$1(u);if(isTopLayer(u))return d;if(!isHTMLElement$1(u)){let m=getParentNode$1(u);for(;m&&!isLastTraversableNode(m);){if(isElement$2(m)&&!isStaticPositioned(m))return m;m=getParentNode$1(m)}return d}let p=getTrueOffsetParent$1(u,n);for(;p&&isTableElement$1(p)&&isStaticPositioned(p);)p=getTrueOffsetParent$1(p,n);return p&&isLastTraversableNode(p)&&isStaticPositioned(p)&&!isContainingBlock(p)?d:p||getContainingBlock$1(u)||d}const getElementRects=async function(u){const n=this.getOffsetParent||getOffsetParent$1,d=this.getDimensions,p=await d(u.floating);return{reference:getRectRelativeToOffsetParent(u.reference,await n(u.floating),u.strategy),floating:{x:0,y:0,width:p.width,height:p.height}}};function isRTL(u){return getComputedStyle$2(u).direction==="rtl"}const platform={convertOffsetParentRelativeRectToViewportRelativeRect,getDocumentElement:getDocumentElement$1,getClippingRect:getClippingRect$1,getOffsetParent:getOffsetParent$1,getElementRects,getClientRects,getDimensions,getScale,isElement:isElement$2,isRTL};function rectsAreEqual(u,n){return u.x===n.x&&u.y===n.y&&u.width===n.width&&u.height===n.height}function observeMove(u,n){let d=null,p;const m=getDocumentElement$1(u);function g(){var b;clearTimeout(p),(b=d)==null||b.disconnect(),d=null}function y(b,S){b===void 0&&(b=!1),S===void 0&&(S=1),g();const E=u.getBoundingClientRect(),{left:T,top:_,width:R,height:C}=E;if(b||n(),!R||!C)return;const A=floor$1(_),k=floor$1(m.clientWidth-(T+R)),I=floor$1(m.clientHeight-(_+C)),P=floor$1(T),O={rootMargin:-A+"px "+-k+"px "+-I+"px "+-P+"px",threshold:max$2(0,min$2(1,S))||1};let N=!0;function F(L){const V=L[0].intersectionRatio;if(V!==S){if(!N)return y();V?y(!1,V):p=setTimeout(()=>{y(!1,1e-7)},1e3)}V===1&&!rectsAreEqual(E,u.getBoundingClientRect())&&y(),N=!1}try{d=new IntersectionObserver(F,{...O,root:m.ownerDocument})}catch{d=new IntersectionObserver(F,O)}d.observe(u)}return y(!0),g}function autoUpdate(u,n,d,p){p===void 0&&(p={});const{ancestorScroll:m=!0,ancestorResize:g=!0,elementResize:y=typeof ResizeObserver=="function",layoutShift:b=typeof IntersectionObserver=="function",animationFrame:S=!1}=p,E=unwrapElement(u),T=m||g?[...E?getOverflowAncestors(E):[],...n?getOverflowAncestors(n):[]]:[];T.forEach(P=>{m&&P.addEventListener("scroll",d,{passive:!0}),g&&P.addEventListener("resize",d)});const _=E&&b?observeMove(E,d):null;let R=-1,C=null;y&&(C=new ResizeObserver(P=>{let[D]=P;D&&D.target===E&&C&&n&&(C.unobserve(n),cancelAnimationFrame(R),R=requestAnimationFrame(()=>{var O;(O=C)==null||O.observe(n)})),d()}),E&&!S&&C.observe(E),n&&C.observe(n));let A,k=S?getBoundingClientRect$1(u):null;S&&I();function I(){const P=getBoundingClientRect$1(u);k&&!rectsAreEqual(k,P)&&d(),k=P,A=requestAnimationFrame(I)}return d(),()=>{var P;T.forEach(D=>{m&&D.removeEventListener("scroll",d),g&&D.removeEventListener("resize",d)}),_?.(),(P=C)==null||P.disconnect(),C=null,S&&cancelAnimationFrame(A)}}const offset$3=offset$4,shift$1=shift$2,flip$3=flip$4,size$2=size$3,hide$3=hide$4,arrow$4=arrow$5,limitShift$1=limitShift$2,computePosition=(u,n,d)=>{const p=new Map,m={platform,...d},g={...m.platform,_c:p};return computePosition$1(u,n,{...m,platform:g})};var isClient=typeof document<"u",noop$1=function(){},index=isClient?React.useLayoutEffect:noop$1;function deepEqual$1(u,n){if(u===n)return!0;if(typeof u!=typeof n)return!1;if(typeof u=="function"&&u.toString()===n.toString())return!0;let d,p,m;if(u&&n&&typeof u=="object"){if(Array.isArray(u)){if(d=u.length,d!==n.length)return!1;for(p=d;p--!==0;)if(!deepEqual$1(u[p],n[p]))return!1;return!0}if(m=Object.keys(u),d=m.length,d!==Object.keys(n).length)return!1;for(p=d;p--!==0;)if(!{}.hasOwnProperty.call(n,m[p]))return!1;for(p=d;p--!==0;){const g=m[p];if(!(g==="_owner"&&u.$$typeof)&&!deepEqual$1(u[g],n[g]))return!1}return!0}return u!==u&&n!==n}function getDPR(u){return typeof window>"u"?1:(u.ownerDocument.defaultView||window).devicePixelRatio||1}function roundByDPR(u,n){const d=getDPR(u);return Math.round(n*d)/d}function useLatestRef(u){const n=React__namespace.useRef(u);return index(()=>{n.current=u}),n}function useFloating(u){u===void 0&&(u={});const{placement:n="bottom",strategy:d="absolute",middleware:p=[],platform:m,elements:{reference:g,floating:y}={},transform:b=!0,whileElementsMounted:S,open:E}=u,[T,_]=React__namespace.useState({x:0,y:0,strategy:d,placement:n,middlewareData:{},isPositioned:!1}),[R,C]=React__namespace.useState(p);deepEqual$1(R,p)||C(p);const[A,k]=React__namespace.useState(null),[I,P]=React__namespace.useState(null),D=React__namespace.useCallback(H=>{H!==L.current&&(L.current=H,k(H))},[]),O=React__namespace.useCallback(H=>{H!==V.current&&(V.current=H,P(H))},[]),N=g||A,F=y||I,L=React__namespace.useRef(null),V=React__namespace.useRef(null),j=React__namespace.useRef(T),Y=S!=null,te=useLatestRef(S),ee=useLatestRef(m),J=useLatestRef(E),se=React__namespace.useCallback(()=>{if(!L.current||!V.current)return;const H={placement:n,strategy:d,middleware:R};ee.current&&(H.platform=ee.current),computePosition(L.current,V.current,H).then(W=>{const Q={...W,isPositioned:J.current!==!1};Z.current&&!deepEqual$1(j.current,Q)&&(j.current=Q,ReactDOM__namespace.flushSync(()=>{_(Q)}))})},[R,n,d,ee,J]);index(()=>{E===!1&&j.current.isPositioned&&(j.current.isPositioned=!1,_(H=>({...H,isPositioned:!1})))},[E]);const Z=React__namespace.useRef(!1);index(()=>(Z.current=!0,()=>{Z.current=!1}),[]),index(()=>{if(N&&(L.current=N),F&&(V.current=F),N&&F){if(te.current)return te.current(N,F,se);se()}},[N,F,se,te,Y]);const re=React__namespace.useMemo(()=>({reference:L,floating:V,setReference:D,setFloating:O}),[D,O]),B=React__namespace.useMemo(()=>({reference:N,floating:F}),[N,F]),q=React__namespace.useMemo(()=>{const H={position:d,left:0,top:0};if(!B.floating)return H;const W=roundByDPR(B.floating,T.x),Q=roundByDPR(B.floating,T.y);return b?{...H,transform:"translate("+W+"px, "+Q+"px)",...getDPR(B.floating)>=1.5&&{willChange:"transform"}}:{position:d,left:W,top:Q}},[d,b,B.floating,T.x,T.y]);return React__namespace.useMemo(()=>({...T,update:se,refs:re,elements:B,floatingStyles:q}),[T,se,re,B,q])}const arrow$1$1=u=>{function n(d){return{}.hasOwnProperty.call(d,"current")}return{name:"arrow",options:u,fn(d){const{element:p,padding:m}=typeof u=="function"?u(d):u;return p&&n(p)?p.current!=null?arrow$4({element:p.current,padding:m}).fn(d):{}:p?arrow$4({element:p,padding:m}).fn(d):{}}}},offset$2=(u,n)=>{const d=offset$3(u);return{name:d.name,fn:d.fn,options:[u,n]}},shift=(u,n)=>{const d=shift$1(u);return{name:d.name,fn:d.fn,options:[u,n]}},limitShift=(u,n)=>({fn:limitShift$1(u).fn,options:[u,n]}),flip$2=(u,n)=>{const d=flip$3(u);return{name:d.name,fn:d.fn,options:[u,n]}},size$1=(u,n)=>{const d=size$2(u);return{name:d.name,fn:d.fn,options:[u,n]}},hide$2=(u,n)=>{const d=hide$3(u);return{name:d.name,fn:d.fn,options:[u,n]}},arrow$3=(u,n)=>{const d=arrow$1$1(u);return{name:d.name,fn:d.fn,options:[u,n]}};var NAME$4="Arrow",Arrow$1=React__namespace.forwardRef((u,n)=>{const{children:d,width:p=10,height:m=5,...g}=u;return jsxRuntime.jsx(Primitive$5.svg,{...g,ref:n,width:p,height:m,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:u.asChild?d:jsxRuntime.jsx("polygon",{points:"0,0 30,0 15,10"})})});Arrow$1.displayName=NAME$4;var Root$8=Arrow$1;function useSize(u){const[n,d]=React__namespace.useState(void 0);return useLayoutEffect2(()=>{if(u){d({width:u.offsetWidth,height:u.offsetHeight});const p=new ResizeObserver(m=>{if(!Array.isArray(m)||!m.length)return;const g=m[0];let y,b;if("borderBoxSize"in g){const S=g.borderBoxSize,E=Array.isArray(S)?S[0]:S;y=E.inlineSize,b=E.blockSize}else y=u.offsetWidth,b=u.offsetHeight;d({width:y,height:b})});return p.observe(u,{box:"border-box"}),()=>p.unobserve(u)}else d(void 0)},[u]),n}var POPPER_NAME="Popper",[createPopperContext,createPopperScope]=createContextScope$2(POPPER_NAME),[PopperProvider,usePopperContext]=createPopperContext(POPPER_NAME),Popper=u=>{const{__scopePopper:n,children:d}=u,[p,m]=React__namespace.useState(null);return jsxRuntime.jsx(PopperProvider,{scope:n,anchor:p,onAnchorChange:m,children:d})};Popper.displayName=POPPER_NAME;var ANCHOR_NAME$2="PopperAnchor",PopperAnchor=React__namespace.forwardRef((u,n)=>{const{__scopePopper:d,virtualRef:p,...m}=u,g=usePopperContext(ANCHOR_NAME$2,d),y=React__namespace.useRef(null),b=useComposedRefs(n,y),S=React__namespace.useRef(null);return React__namespace.useEffect(()=>{const E=S.current;S.current=p?.current||y.current,E!==S.current&&g.onAnchorChange(S.current)}),p?null:jsxRuntime.jsx(Primitive$5.div,{...m,ref:b})});PopperAnchor.displayName=ANCHOR_NAME$2;var CONTENT_NAME$6="PopperContent",[PopperContentProvider,useContentContext]=createPopperContext(CONTENT_NAME$6),PopperContent=React__namespace.forwardRef((u,n)=>{const{__scopePopper:d,side:p="bottom",sideOffset:m=0,align:g="center",alignOffset:y=0,arrowPadding:b=0,avoidCollisions:S=!0,collisionBoundary:E=[],collisionPadding:T=0,sticky:_="partial",hideWhenDetached:R=!1,updatePositionStrategy:C="optimized",onPlaced:A,...k}=u,I=usePopperContext(CONTENT_NAME$6,d),[P,D]=React__namespace.useState(null),O=useComposedRefs(n,fe=>D(fe)),[N,F]=React__namespace.useState(null),L=useSize(N),V=L?.width??0,j=L?.height??0,Y=p+(g!=="center"?"-"+g:""),te=typeof T=="number"?T:{top:0,right:0,bottom:0,left:0,...T},ee=Array.isArray(E)?E:[E],J=ee.length>0,se={padding:te,boundary:ee.filter(isNotNull),altBoundary:J},{refs:Z,floatingStyles:re,placement:B,isPositioned:q,middlewareData:H}=useFloating({strategy:"fixed",placement:Y,whileElementsMounted:(...fe)=>autoUpdate(...fe,{animationFrame:C==="always"}),elements:{reference:I.anchor},middleware:[offset$2({mainAxis:m+j,alignmentAxis:y}),S&&shift({mainAxis:!0,crossAxis:!1,limiter:_==="partial"?limitShift():void 0,...se}),S&&flip$2({...se}),size$1({...se,apply:({elements:fe,rects:pe,availableWidth:ge,availableHeight:ve})=>{const{width:be,height:ye}=pe.reference,Se=fe.floating.style;Se.setProperty("--radix-popper-available-width",`${ge}px`),Se.setProperty("--radix-popper-available-height",`${ve}px`),Se.setProperty("--radix-popper-anchor-width",`${be}px`),Se.setProperty("--radix-popper-anchor-height",`${ye}px`)}}),N&&arrow$3({element:N,padding:b}),transformOrigin({arrowWidth:V,arrowHeight:j}),R&&hide$2({strategy:"referenceHidden",...se})]}),[W,Q]=getSideAndAlignFromPlacement(B),ne=useCallbackRef$1(A);useLayoutEffect2(()=>{q&&ne?.()},[q,ne]);const le=H.arrow?.x,ce=H.arrow?.y,ae=H.arrow?.centerOffset!==0,[oe,de]=React__namespace.useState();return useLayoutEffect2(()=>{P&&de(window.getComputedStyle(P).zIndex)},[P]),jsxRuntime.jsx("div",{ref:Z.setFloating,"data-radix-popper-content-wrapper":"",style:{...re,transform:q?re.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:oe,"--radix-popper-transform-origin":[H.transformOrigin?.x,H.transformOrigin?.y].join(" "),...H.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:u.dir,children:jsxRuntime.jsx(PopperContentProvider,{scope:d,placedSide:W,onArrowChange:F,arrowX:le,arrowY:ce,shouldHideArrow:ae,children:jsxRuntime.jsx(Primitive$5.div,{"data-side":W,"data-align":Q,...k,ref:O,style:{...k.style,animation:q?void 0:"none"}})})})});PopperContent.displayName=CONTENT_NAME$6;var ARROW_NAME$5="PopperArrow",OPPOSITE_SIDE={top:"bottom",right:"left",bottom:"top",left:"right"},PopperArrow=React__namespace.forwardRef(function(n,d){const{__scopePopper:p,...m}=n,g=useContentContext(ARROW_NAME$5,p),y=OPPOSITE_SIDE[g.placedSide];return jsxRuntime.jsx("span",{ref:g.onArrowChange,style:{position:"absolute",left:g.arrowX,top:g.arrowY,[y]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[g.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[g.placedSide],visibility:g.shouldHideArrow?"hidden":void 0},children:jsxRuntime.jsx(Root$8,{...m,ref:d,style:{...m.style,display:"block"}})})});PopperArrow.displayName=ARROW_NAME$5;function isNotNull(u){return u!==null}var transformOrigin=u=>({name:"transformOrigin",options:u,fn(n){const{placement:d,rects:p,middlewareData:m}=n,y=m.arrow?.centerOffset!==0,b=y?0:u.arrowWidth,S=y?0:u.arrowHeight,[E,T]=getSideAndAlignFromPlacement(d),_={start:"0%",center:"50%",end:"100%"}[T],R=(m.arrow?.x??0)+b/2,C=(m.arrow?.y??0)+S/2;let A="",k="";return E==="bottom"?(A=y?_:`${R}px`,k=`${-S}px`):E==="top"?(A=y?_:`${R}px`,k=`${p.floating.height+S}px`):E==="right"?(A=`${-S}px`,k=y?_:`${C}px`):E==="left"&&(A=`${p.floating.width+S}px`,k=y?_:`${C}px`),{data:{x:A,y:k}}}});function getSideAndAlignFromPlacement(u){const[n,d="center"]=u.split("-");return[n,d]}var Root2$3=Popper,Anchor=PopperAnchor,Content$1=PopperContent,Arrow=PopperArrow,PORTAL_NAME$6="Portal",Portal$5=React__namespace.forwardRef((u,n)=>{const{container:d,...p}=u,[m,g]=React__namespace.useState(!1);useLayoutEffect2(()=>g(!0),[]);const y=d||m&&globalThis?.document?.body;return y?ReactDOM__namespace.default.createPortal(jsxRuntime.jsx(Primitive$5.div,{...p,ref:n}),y):null});Portal$5.displayName=PORTAL_NAME$6;function createSlot$4(u){const n=createSlotClone$4(u),d=React__namespace.forwardRef((p,m)=>{const{children:g,...y}=p,b=React__namespace.Children.toArray(g),S=b.find(isSlottable$4);if(S){const E=S.props.children,T=b.map(_=>_===S?React__namespace.Children.count(E)>1?React__namespace.Children.only(null):React__namespace.isValidElement(E)?E.props.children:null:_);return jsxRuntime.jsx(n,{...y,ref:m,children:React__namespace.isValidElement(E)?React__namespace.cloneElement(E,void 0,T):null})}return jsxRuntime.jsx(n,{...y,ref:m,children:g})});return d.displayName=`${u}.Slot`,d}function createSlotClone$4(u){const n=React__namespace.forwardRef((d,p)=>{const{children:m,...g}=d;if(React__namespace.isValidElement(m)){const y=getElementRef$4(m),b=mergeProps$4(g,m.props);return m.type!==React__namespace.Fragment&&(b.ref=p?composeRefs(p,y):y),React__namespace.cloneElement(m,b)}return React__namespace.Children.count(m)>1?React__namespace.Children.only(null):null});return n.displayName=`${u}.SlotClone`,n}var SLOTTABLE_IDENTIFIER$5=Symbol("radix.slottable");function isSlottable$4(u){return React__namespace.isValidElement(u)&&typeof u.type=="function"&&"__radixId"in u.type&&u.type.__radixId===SLOTTABLE_IDENTIFIER$5}function mergeProps$4(u,n){const d={...n};for(const p in n){const m=u[p],g=n[p];/^on[A-Z]/.test(p)?m&&g?d[p]=(...b)=>{const S=g(...b);return m(...b),S}:m&&(d[p]=m):p==="style"?d[p]={...m,...g}:p==="className"&&(d[p]=[m,g].filter(Boolean).join(" "))}return{...u,...d}}function getElementRef$4(u){let n=Object.getOwnPropertyDescriptor(u.props,"ref")?.get,d=n&&"isReactWarning"in n&&n.isReactWarning;return d?u.ref:(n=Object.getOwnPropertyDescriptor(u,"ref")?.get,d=n&&"isReactWarning"in n&&n.isReactWarning,d?u.props.ref:u.props.ref||u.ref)}function usePrevious(u){const n=React__namespace.useRef({value:u,previous:u});return React__namespace.useMemo(()=>(n.current.value!==u&&(n.current.previous=n.current.value,n.current.value=u),n.current.previous),[u])}var VISUALLY_HIDDEN_STYLES=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),NAME$3="VisuallyHidden",VisuallyHidden=React__namespace.forwardRef((u,n)=>jsxRuntime.jsx(Primitive$5.span,{...u,ref:n,style:{...VISUALLY_HIDDEN_STYLES,...u.style}}));VisuallyHidden.displayName=NAME$3;var Root$7=VisuallyHidden,getDefaultParent=function(u){if(typeof document>"u")return null;var n=Array.isArray(u)?u[0]:u;return n.ownerDocument.body},counterMap=new WeakMap,uncontrolledNodes=new WeakMap,markerMap={},lockCount=0,unwrapHost=function(u){return u&&(u.host||unwrapHost(u.parentNode))},correctTargets=function(u,n){return n.map(function(d){if(u.contains(d))return d;var p=unwrapHost(d);return p&&u.contains(p)?p:null}).filter(function(d){return!!d})},applyAttributeToOthers=function(u,n,d,p){var m=correctTargets(n,Array.isArray(u)?u:[u]);markerMap[d]||(markerMap[d]=new WeakMap);var g=markerMap[d],y=[],b=new Set,S=new Set(m),E=function(_){!_||b.has(_)||(b.add(_),E(_.parentNode))};m.forEach(E);var T=function(_){!_||S.has(_)||Array.prototype.forEach.call(_.children,function(R){if(b.has(R))T(R);else try{var C=R.getAttribute(p),A=C!==null&&C!=="false",k=(counterMap.get(R)||0)+1,I=(g.get(R)||0)+1;counterMap.set(R,k),g.set(R,I),y.push(R),k===1&&A&&uncontrolledNodes.set(R,!0),I===1&&R.setAttribute(d,"true"),A||R.setAttribute(p,"true")}catch{}})};return T(n),b.clear(),lockCount++,function(){y.forEach(function(_){var R=counterMap.get(_)-1,C=g.get(_)-1;counterMap.set(_,R),g.set(_,C),R||(uncontrolledNodes.has(_)||_.removeAttribute(p),uncontrolledNodes.delete(_)),C||_.removeAttribute(d)}),lockCount--,lockCount||(counterMap=new WeakMap,counterMap=new WeakMap,uncontrolledNodes=new WeakMap,markerMap={})}},hideOthers=function(u,n,d){d===void 0&&(d="data-aria-hidden");var p=Array.from(Array.isArray(u)?u:[u]),m=getDefaultParent(u);return m?(p.push.apply(p,Array.from(m.querySelectorAll("[aria-live], script"))),applyAttributeToOthers(p,m,d,"aria-hidden")):function(){return null}},__assign$1=function(){return __assign$1=Object.assign||function(n){for(var d,p=1,m=arguments.length;p<m;p++){d=arguments[p];for(var g in d)Object.prototype.hasOwnProperty.call(d,g)&&(n[g]=d[g])}return n},__assign$1.apply(this,arguments)};function __rest(u,n){var d={};for(var p in u)Object.prototype.hasOwnProperty.call(u,p)&&n.indexOf(p)<0&&(d[p]=u[p]);if(u!=null&&typeof Object.getOwnPropertySymbols=="function")for(var m=0,p=Object.getOwnPropertySymbols(u);m<p.length;m++)n.indexOf(p[m])<0&&Object.prototype.propertyIsEnumerable.call(u,p[m])&&(d[p[m]]=u[p[m]]);return d}function __spreadArray(u,n,d){if(d||arguments.length===2)for(var p=0,m=n.length,g;p<m;p++)(g||!(p in n))&&(g||(g=Array.prototype.slice.call(n,0,p)),g[p]=n[p]);return u.concat(g||Array.prototype.slice.call(n))}typeof SuppressedError=="function"&&SuppressedError;var zeroRightClassName="right-scroll-bar-position",fullWidthClassName="width-before-scroll-bar",noScrollbarsClassName="with-scroll-bars-hidden",removedBarSizeVariable="--removed-body-scroll-bar-size";function assignRef(u,n){return typeof u=="function"?u(n):u&&(u.current=n),u}function useCallbackRef(u,n){var d=React.useState(function(){return{value:u,callback:n,facade:{get current(){return d.value},set current(p){var m=d.value;m!==p&&(d.value=p,d.callback(p,m))}}}})[0];return d.callback=n,d.facade}var useIsomorphicLayoutEffect$1=typeof window<"u"?React__namespace.useLayoutEffect:React__namespace.useEffect,currentValues=new WeakMap;function useMergeRefs(u,n){var d=useCallbackRef(null,function(p){return u.forEach(function(m){return assignRef(m,p)})});return useIsomorphicLayoutEffect$1(function(){var p=currentValues.get(d);if(p){var m=new Set(p),g=new Set(u),y=d.current;m.forEach(function(b){g.has(b)||assignRef(b,null)}),g.forEach(function(b){m.has(b)||assignRef(b,y)})}currentValues.set(d,u)},[u]),d}function ItoI(u){return u}function innerCreateMedium(u,n){n===void 0&&(n=ItoI);var d=[],p=!1,m={read:function(){if(p)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return d.length?d[d.length-1]:u},useMedium:function(g){var y=n(g,p);return d.push(y),function(){d=d.filter(function(b){return b!==y})}},assignSyncMedium:function(g){for(p=!0;d.length;){var y=d;d=[],y.forEach(g)}d={push:function(b){return g(b)},filter:function(){return d}}},assignMedium:function(g){p=!0;var y=[];if(d.length){var b=d;d=[],b.forEach(g),y=d}var S=function(){var T=y;y=[],T.forEach(g)},E=function(){return Promise.resolve().then(S)};E(),d={push:function(T){y.push(T),E()},filter:function(T){return y=y.filter(T),d}}}};return m}function createSidecarMedium(u){u===void 0&&(u={});var n=innerCreateMedium(null);return n.options=__assign$1({async:!0,ssr:!1},u),n}var SideCar$1=function(u){var n=u.sideCar,d=__rest(u,["sideCar"]);if(!n)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var p=n.read();if(!p)throw new Error("Sidecar medium not found");return React__namespace.createElement(p,__assign$1({},d))};SideCar$1.isSideCarExport=!0;function exportSidecar(u,n){return u.useMedium(n),SideCar$1}var effectCar=createSidecarMedium(),nothing=function(){},RemoveScroll=React__namespace.forwardRef(function(u,n){var d=React__namespace.useRef(null),p=React__namespace.useState({onScrollCapture:nothing,onWheelCapture:nothing,onTouchMoveCapture:nothing}),m=p[0],g=p[1],y=u.forwardProps,b=u.children,S=u.className,E=u.removeScrollBar,T=u.enabled,_=u.shards,R=u.sideCar,C=u.noRelative,A=u.noIsolation,k=u.inert,I=u.allowPinchZoom,P=u.as,D=P===void 0?"div":P,O=u.gapMode,N=__rest(u,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),F=R,L=useMergeRefs([d,n]),V=__assign$1(__assign$1({},N),m);return React__namespace.createElement(React__namespace.Fragment,null,T&&React__namespace.createElement(F,{sideCar:effectCar,removeScrollBar:E,shards:_,noRelative:C,noIsolation:A,inert:k,setCallbacks:g,allowPinchZoom:!!I,lockRef:d,gapMode:O}),y?React__namespace.cloneElement(React__namespace.Children.only(b),__assign$1(__assign$1({},V),{ref:L})):React__namespace.createElement(D,__assign$1({},V,{className:S,ref:L}),b))});RemoveScroll.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};RemoveScroll.classNames={fullWidth:fullWidthClassName,zeroRight:zeroRightClassName};var getNonce=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function makeStyleTag(){if(!document)return null;var u=document.createElement("style");u.type="text/css";var n=getNonce();return n&&u.setAttribute("nonce",n),u}function injectStyles(u,n){u.styleSheet?u.styleSheet.cssText=n:u.appendChild(document.createTextNode(n))}function insertStyleTag(u){var n=document.head||document.getElementsByTagName("head")[0];n.appendChild(u)}var stylesheetSingleton=function(){var u=0,n=null;return{add:function(d){u==0&&(n=makeStyleTag())&&(injectStyles(n,d),insertStyleTag(n)),u++},remove:function(){u--,!u&&n&&(n.parentNode&&n.parentNode.removeChild(n),n=null)}}},styleHookSingleton=function(){var u=stylesheetSingleton();return function(n,d){React__namespace.useEffect(function(){return u.add(n),function(){u.remove()}},[n&&d])}},styleSingleton=function(){var u=styleHookSingleton(),n=function(d){var p=d.styles,m=d.dynamic;return u(p,m),null};return n},zeroGap={left:0,top:0,right:0,gap:0},parse=function(u){return parseInt(u||"",10)||0},getOffset=function(u){var n=window.getComputedStyle(document.body),d=n[u==="padding"?"paddingLeft":"marginLeft"],p=n[u==="padding"?"paddingTop":"marginTop"],m=n[u==="padding"?"paddingRight":"marginRight"];return[parse(d),parse(p),parse(m)]},getGapWidth=function(u){if(u===void 0&&(u="margin"),typeof window>"u")return zeroGap;var n=getOffset(u),d=document.documentElement.clientWidth,p=window.innerWidth;return{left:n[0],top:n[1],right:n[2],gap:Math.max(0,p-d+n[2]-n[0])}},Style=styleSingleton(),lockAttribute="data-scroll-locked",getStyles=function(u,n,d,p){var m=u.left,g=u.top,y=u.right,b=u.gap;return d===void 0&&(d="margin"),`
108
108
  .`.concat(noScrollbarsClassName,` {
109
109
  overflow: hidden `).concat(p,`;
110
110
  padding-right: `).concat(b,"px ").concat(p,`;
@@ -169,7 +169,7 @@ self.addEventListener('message', async (e) => {
169
169
 
170
170
  If you want to hide the \`${n.titleName}\`, you can wrap it with our VisuallyHidden component.
171
171
 
172
- For more information, see https://radix-ui.com/primitives/docs/components/${n.docsSlug}`;return React__namespace.useEffect(()=>{if(u){const p=document.getElementById(u)}},[d,u]),null},DESCRIPTION_WARNING_NAME="DialogDescriptionWarning",DescriptionWarning=({contentRef:u,descriptionId:n})=>{const p=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${useWarningContext(DESCRIPTION_WARNING_NAME).contentName}}.`;return React__namespace.useEffect(()=>{const m=u.current?.getAttribute("aria-describedby");if(n&&m){const g=document.getElementById(n)}},[p,u,n]),null},Root$3=Dialog$1,Trigger$1=DialogTrigger$1,Portal$1=DialogPortal$1,Overlay=DialogOverlay$1,Content=DialogContent$1,Title=DialogTitle$1,Description=DialogDescription$1,Close=DialogClose$1;function Dialog({...u}){return jsxRuntime.jsx(Root$3,{"data-slot":"dialog",...u})}const DialogTrigger=React.forwardRef((u,n)=>jsxRuntime.jsx(Trigger$1,{ref:n,"data-slot":"dialog-trigger",...u}));function DialogPortal({...u}){return jsxRuntime.jsx(Portal$1,{"data-slot":"dialog-portal",...u})}const DialogClose=React.forwardRef((u,n)=>jsxRuntime.jsx(Close,{ref:n,"data-slot":"dialog-close",...u})),DialogOverlay=React.forwardRef(({className:u,...n},d)=>jsxRuntime.jsx(Overlay,{ref:d,"data-slot":"dialog-overlay",className:cn("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",u),...n})),DialogContent=React.forwardRef(({className:u,children:n,showCloseButton:d=!0,...p},m)=>jsxRuntime.jsxs(DialogPortal,{children:[jsxRuntime.jsx("div",{"data-theme":"select-post-builder",children:jsxRuntime.jsx(DialogOverlay,{className:"z-9999 backdrop-blur-sm"})}),jsxRuntime.jsx("div",{"data-theme":"select-post-builder",children:jsxRuntime.jsxs(Content,{ref:m,"data-slot":"dialog-content","data-theme":"select-post-builder",className:cn("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-99999 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",u),...p,children:[n,d&&jsxRuntime.jsxs(Close,{"data-slot":"dialog-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[jsxRuntime.jsx(X,{}),jsxRuntime.jsx("span",{className:"sr-only",children:"Close"})]})]})})]})),DialogHeader=React.forwardRef(({className:u,...n},d)=>jsxRuntime.jsx("div",{ref:d,"data-slot":"dialog-header",className:cn("flex flex-col gap-2 text-center sm:text-left",u),...n})),DialogFooter=React.forwardRef(({className:u,...n},d)=>jsxRuntime.jsx("div",{ref:d,"data-slot":"dialog-footer",className:cn("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",u),...n})),DialogTitle=React.forwardRef((u,n)=>jsxRuntime.jsx(Title,{ref:n,"data-slot":"dialog-title",className:cn("text-lg leading-none font-semibold"),...u})),DialogDescription=React.forwardRef(({className:u,...n},d)=>jsxRuntime.jsx(Description,{ref:d,"data-slot":"dialog-description",className:cn("text-muted-foreground text-sm",u),...n}));var PostBuilderEvents=(u=>(u.POST_PUBLISH_ATTEMPTED="select:post_publish_attempted",u.POST_PUBLISH_SUCCESSFUL="select:post_publish_success",u.POST_PUBLISH_FAILED="select:post_publish_failed",u.POST_SESSION_ROTATED="select:post_session_rotated",u.DRAFT_REHYDRATE_REQUEST="select:draft_rehydrate_request",u))(PostBuilderEvents||{});function useEditorTracking({editor:u,editorType:n,idleTimeout:d=3e5}){const{sessionId:p}=useAnalyticsSession(),m=React.useRef(),g=React.useRef(!1),y=React.useRef(!1),b=getAnalyticsStore(),S=React.useCallback(()=>getEditorMetrics(u),[u]),E=React.useCallback(()=>{m.current&&clearTimeout(m.current),!(!u||!p||y.current)&&(m.current=setTimeout(()=>{const _=S();_&&!_.isEmpty&&(b.trackExplicitAbandon(p,{contentLength:_.characterCount,hasUnsavedChanges:_.hasUnsavedChanges,abandonReason:"idle_timeout"}),y.current=!0)},d))},[u,p,d,b,S]),T=React.useCallback(()=>{if(!u||!p)return;const _=S();_&&(_.wordCount>=1||_.mediaCount>0||_.linkCount>0||_?.pollCount>0)&&b.trackContentCreated(p,{editorType:n,wordCount:_.wordCount,mediaCount:_.mediaCount,linkCount:_.linkCount})},[u,p,b,n,S]);React.useEffect(()=>{if(!u||!p)return;const _=()=>{g.current||(b.trackEditorFocus(p),g.current=!0,T()),E()},R=()=>{T(),E()};return u.on("focus",_),u.on("update",R),()=>{u.off("focus",_),u.off("update",R)}},[u,p,b,E,T]),React.useEffect(()=>{if(!p)return;const _=()=>{if(y.current)return;const R=S();R&&!R.isEmpty&&(b.trackExplicitAbandon(p,{contentLength:R.characterCount,hasUnsavedChanges:R.hasUnsavedChanges,abandonReason:"navigation"}),y.current=!0)};return window.addEventListener("beforeunload",_),()=>{window.removeEventListener("beforeunload",_),m.current&&clearTimeout(m.current)}},[p,b,S]),React.useEffect(()=>()=>{m.current&&clearTimeout(m.current),b.deleteSession(p)},[b,p])}const useHostAnalyticsBridge=()=>{const{sessionId:u,editorType:n,placement:d}=useAnalyticsSession(),p=useAnalyticsStore(b=>b.trackPublish),m=useAnalyticsStore(b=>b.deleteSession),g=useAnalyticsStore(b=>b.createSession),y=React.useRef(new Set);React.useEffect(()=>{if(!u)return;const b=E=>{const{postId:T,postType:_,groupId:R}=E.detail;if(!T||y.current.has(T))return;y.current.add(T),p(u,{status:"success",editorType:n,postId:T,groupId:R,postType:_}),m(u);const C=g(n,d);window.dispatchEvent(new CustomEvent(PostBuilderEvents.POST_SESSION_ROTATED,{detail:{newSessionId:C,oldSessionId:u}}))},S=E=>{const{postId:T,postType:_,groupId:R,failureReason:C}=E.detail;if(!T||y.current.has(T))return;y.current.add(T),p(u,{status:"failed",editorType:n,postId:T,groupId:R,postType:_,failureReason:C}),m(u);const A=g(n,d);window.dispatchEvent(new CustomEvent(PostBuilderEvents.POST_SESSION_ROTATED,{detail:{newSessionId:A,oldSessionId:u}}))};return window.addEventListener(PostBuilderEvents.POST_PUBLISH_SUCCESSFUL,b),window.addEventListener(PostBuilderEvents.POST_PUBLISH_FAILED,S),()=>{window.removeEventListener(PostBuilderEvents.POST_PUBLISH_SUCCESSFUL,b),window.removeEventListener(PostBuilderEvents.POST_PUBLISH_FAILED,S)}},[u,n,d,p,m,g])},getSharedDraftKey=(u,n)=>{const d=["shared"];return u&&d.push(u),n&&d.push(n),d.join(":")+"-draft"},getPollDraftKey=(u,n)=>{const d=["Poll"];return u&&d.push(u),n&&d.push(n),d.join(":")+"-draft"},FORMATTING_MARKS=new Set(["bold","italic","strike","underline","code","superscript","subscript"]),extractTextContent=u=>{if(!u)return"";let n="";const d=p=>{p.type==="text"&&p.text&&(n+=p.text),p.content&&Array.isArray(p.content)&&p.content.forEach(m=>d(m))};return d(u),n.trim()},extractPollQuestion=u=>{if(!u?.content)return"";const n=u.content.filter(p=>p.type==="paragraph");let d="";return n.forEach(p=>{p.content&&p.content.forEach(m=>{m.type==="text"&&m.text&&(d+=m.text)})}),d.trim()},isPollEmpty=u=>{if(!u||!u.content)return!0;if(extractPollQuestion(u))return!1;const d=u.content.find(p=>p.type==="poll");return!(d?.attrs?.choices&&Array.isArray(d.attrs.choices)&&d.attrs.choices.length>0)},isSharedContentEmpty=u=>!u||!u.content?!0:!(extractTextContent(u).length>0||u.content.some(m=>m.type==="media"||m.type==="mediaGroup"&&m.content&&m.content.length>0)||u.content.some(m=>m.type==="linkPreview")),extractParagraphNodes=u=>u?.content?u.content.filter(n=>n.type==="paragraph"):[],collectMediaNodes=u=>{if(!u?.content)return[];const n=[];for(const d of u.content)d.type==="media"?n.push(d):d.type==="mediaGroup"&&d.content&&n.push(...d.content.filter(p=>p.type==="media"));return n},rewriteLinkMode=(u,n)=>{const d=p=>{const m=p.content?.map(d);if(p.type==="text"&&p.marks){const g=p.marks.map(y=>y.type==="customLink"?{...y,attrs:{...y.attrs,isLinkMode:n}}:y);return{...p,marks:g,content:m}}return m?{...p,content:m}:p};return d(u)},stripFormattingMarks=u=>u.content?{...u,content:u.content.map(n=>{if(n.type==="text"&&n.marks){const d=n.marks.filter(p=>!FORMATTING_MARKS.has(p.type??""));return{...n,marks:d.length>0?d:void 0}}return n.content?stripFormattingMarks(n):n})}:u,cleanParagraphsForPoll=u=>{const n=new Set(["linkPreview","media","mediaGroup","embed","image"]);return u.map(d=>d?.content?{...d,content:d.content.map(p=>{if(n.has(p?.type||""))return null;if(p?.type==="text"&&p?.marks){const m=p.marks.filter(g=>{const y=g?.type??"";return y==="link"||y==="customLink"||!FORMATTING_MARKS.has(y)}).map(g=>g.type==="customLink"?{...g,type:"link"}:g);return{...p,marks:m.length>0?m:void 0}}return p}).filter(p=>p!==null)}:d)},createPollContentFromNodes=(u,n)=>{const d=[];return u.length>0?d.push(...u):d.push({type:"paragraph"}),d.push(n||{type:"poll",attrs:{choices:[]}}),{type:"doc",content:d}},transformForPost=u=>{if(!u?.content)return{type:"doc",content:[{type:"paragraph"}]};const n=[],d=[];for(const m of u.content)switch(m.type){case"paragraph":n.push(stripFormattingMarks(m));break;case"media":d.push(m);break;case"mediaGroup":m.content&&d.push(...m.content.filter(g=>g.type==="media"));break;case"linkPreview":break;case"heading":n.push(stripFormattingMarks({...m,type:"paragraph",attrs:void 0}));break;case"blockquote":case"bulletList":case"orderedList":if(m.content){for(const g of m.content)if(g.type==="paragraph")n.push(stripFormattingMarks(g));else if(g.type==="listItem"&&g.content)for(const y of g.content)y.type==="paragraph"&&n.push(stripFormattingMarks(y))}break;case"codeBlock":m.content&&n.push({type:"paragraph",content:m.content});break}for(n.length===0&&n.push({type:"paragraph"});n.length>1;){const m=n[n.length-1];if(!m.content||m.content.length===0||m.content.every(y=>y.type==="text"&&!y.text?.trim()))n.pop();else break}const p=[...n];return d.length>0&&p.push({type:"mediaGroup",content:d.slice(0,MAX_FILES)}),rewriteLinkMode({type:"doc",content:p},!0)},transformForBlog=u=>{if(!u?.content)return{type:"doc",content:[{type:"paragraph"}]};const n=[];for(const d of u.content)d.type==="mediaGroup"&&d.content?n.push(...d.content.filter(p=>p.type==="media")):d.type==="linkPreview"||n.push(d);return n.length===0&&n.push({type:"paragraph"}),rewriteLinkMode({type:"doc",content:n},!1)},transformForPoll=(u,n)=>{let d=extractParagraphNodes(u);return d=cleanParagraphsForPoll(d),createPollContentFromNodes(d,n)},extractSharedTextFromPoll=u=>u?.content?u.content.filter(d=>d.type==="paragraph").map(d=>d?.content?{...d,content:d.content.map(p=>p?.type==="text"&&p?.marks?{...p,marks:p.marks.map(m=>m.type==="link"?{...m,type:"customLink"}:m)}:p)}:d):[],syncSharedToPollDraft=(u,n,d)=>{const p=getPollDraftKey(n,d),m=localStorage.getItem(p);let g;if(m)try{g=JSON.parse(m).content?.find(E=>E.type==="poll")}catch{}if(!extractTextContent(u)){if(!g||!g.attrs?.choices?.length)localStorage.removeItem(p);else{const S=createPollContentFromNodes([],g);localStorage.setItem(p,JSON.stringify(S))}return}const b=transformForPoll(u,g);localStorage.setItem(p,JSON.stringify(b))},syncPollToSharedDraft=(u,n,d)=>{const p=getSharedDraftKey(n,d),m=localStorage.getItem(p),g=extractSharedTextFromPoll(u);if(!extractTextContent({type:"doc",content:g}))return;let b=[],S=null;if(m)try{const _=JSON.parse(m);_.content&&(b=collectMediaNodes(_),S=_.content.find(R=>R.type==="linkPreview")??null)}catch{}const E=[...g];if(S&&E.push(S),b.length>0&&E.push(...b),E.length===0)return;const T={type:"doc",content:E};localStorage.setItem(p,JSON.stringify(T))},usePersistence=(u,n)=>{const d=React.useCallback(g=>{if(!n||typeof window>"u"||typeof localStorage>"u")return null;if(g===EditorTypes.Poll){const S=getPollDraftKey(u,n),E=localStorage.getItem(S);if(E)try{return JSON.parse(E)}catch{return null}const T=getSharedDraftKey(u,n),_=localStorage.getItem(T);if(_)try{const R=JSON.parse(_);if(extractTextContent(R))return transformForPoll(R)}catch{}return null}const y=getSharedDraftKey(u,n),b=localStorage.getItem(y);if(!b)return null;try{const S=JSON.parse(b);return g===EditorTypes.Media?transformForPost(S):g===EditorTypes.Blog?transformForBlog(S):S}catch{return null}},[u,n]),p=React.useCallback((g,y)=>{if(!n||typeof window>"u"||typeof localStorage>"u"||!y)return;const b=y.getJSON(),S=filterNodes(b,E=>!E?.attrs?.uploading&&!E?.attrs?.deferred);if(S)if(g===EditorTypes.Poll){if(isPollEmpty(S))return;const E=getPollDraftKey(u,n);localStorage.setItem(E,JSON.stringify(S)),syncPollToSharedDraft(S,u,n)}else{const E=y.isEmpty,T=getSharedDraftKey(u,n),_=!!localStorage.getItem(T);if(!(_||!E)||isSharedContentEmpty(S)&&!_)return;localStorage.setItem(T,JSON.stringify(S)),syncSharedToPollDraft(S,u,n)}},[u,n]),m=React.useCallback(()=>{n&&(typeof window>"u"||typeof localStorage>"u"||(localStorage.removeItem(getSharedDraftKey(u,n)),localStorage.removeItem(getPollDraftKey(u,n))))},[u,n]);return{saveCurrentTabContent:p,getTabContent:d,clearContent:m}},createPostBuilderStore=u=>{const n=u.postId&&u.groupId?"post":u.groupId?"group":"global";return createStore((d,p)=>({contextType:n,groupId:u.groupId??null,postId:u.postId??null,selectedGroupId:u.groupId??null,enableGroupSelector:!u.groupId,editor:null,editorTab:null,setEditor:(m,g=null)=>d({editor:m,editorTab:g}),setContext:m=>d({contextType:m,enableGroupSelector:m==="global"}),setGroupId:m=>d({groupId:m,selectedGroupId:m??null,enableGroupSelector:!m}),setPostId:m=>d({postId:m}),selectGroup:m=>d({selectedGroupId:m}),getMentionParams:()=>{const{contextType:m,groupId:g,postId:y,selectedGroupId:b}=p();if(m==="post"&&g&&y)return{groupId:g,postId:y};const S=b||g||void 0;return S?{groupId:S}:null}}))};var h=(u,n)=>{if(u==="slot")return 0;if(u instanceof Function)return u(n);const{children:d,...p}=n??{};if(u==="svg")throw new Error("SVG elements are not supported in the JSX syntax, use the array syntax instead");return[u,p,d]},inputRegex$3=/^\s*>\s$/,Blockquote=Node3.create({name:"blockquote",addOptions(){return{HTMLAttributes:{}}},content:"block+",group:"block",defining:!0,parseHTML(){return[{tag:"blockquote"}]},renderHTML({HTMLAttributes:u}){return h("blockquote",{...mergeAttributes(this.options.HTMLAttributes,u),children:h("slot",{})})},parseMarkdown:(u,n)=>n.createNode("blockquote",void 0,n.parseChildren(u.tokens||[])),renderMarkdown:(u,n)=>{if(!u.content)return"";const d=">",p=[];return u.content.forEach(m=>{const b=n.renderChildren([m]).split(`
172
+ For more information, see https://radix-ui.com/primitives/docs/components/${n.docsSlug}`;return React__namespace.useEffect(()=>{if(u){const p=document.getElementById(u)}},[d,u]),null},DESCRIPTION_WARNING_NAME="DialogDescriptionWarning",DescriptionWarning=({contentRef:u,descriptionId:n})=>{const p=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${useWarningContext(DESCRIPTION_WARNING_NAME).contentName}}.`;return React__namespace.useEffect(()=>{const m=u.current?.getAttribute("aria-describedby");if(n&&m){const g=document.getElementById(n)}},[p,u,n]),null},Root$3=Dialog$1,Trigger$1=DialogTrigger$1,Portal$1=DialogPortal$1,Overlay=DialogOverlay$1,Content=DialogContent$1,Title=DialogTitle$1,Description=DialogDescription$1,Close=DialogClose$1;function Dialog({...u}){return jsxRuntime.jsx(Root$3,{"data-slot":"dialog",...u})}const DialogTrigger=React.forwardRef((u,n)=>jsxRuntime.jsx(Trigger$1,{ref:n,"data-slot":"dialog-trigger",...u}));function DialogPortal({...u}){return jsxRuntime.jsx(Portal$1,{"data-slot":"dialog-portal",...u})}const DialogClose=React.forwardRef((u,n)=>jsxRuntime.jsx(Close,{ref:n,"data-slot":"dialog-close",...u})),DialogOverlay=React.forwardRef(({className:u,...n},d)=>jsxRuntime.jsx(Overlay,{ref:d,"data-slot":"dialog-overlay",className:cn("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",u),...n})),DialogContent=React.forwardRef(({className:u,children:n,showCloseButton:d=!0,...p},m)=>jsxRuntime.jsxs(DialogPortal,{children:[jsxRuntime.jsx("div",{"data-theme":"select-post-builder",children:jsxRuntime.jsx(DialogOverlay,{className:"z-9999 backdrop-blur-sm"})}),jsxRuntime.jsx("div",{"data-theme":"select-post-builder",children:jsxRuntime.jsxs(Content,{ref:m,"data-slot":"dialog-content","data-theme":"select-post-builder",className:cn("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-99999 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",u),...p,children:[n,d&&jsxRuntime.jsxs(Close,{"data-slot":"dialog-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[jsxRuntime.jsx(X,{}),jsxRuntime.jsx("span",{className:"sr-only",children:"Close"})]})]})})]})),DialogHeader=React.forwardRef(({className:u,...n},d)=>jsxRuntime.jsx("div",{ref:d,"data-slot":"dialog-header",className:cn("flex flex-col gap-2 text-center sm:text-left",u),...n})),DialogFooter=React.forwardRef(({className:u,...n},d)=>jsxRuntime.jsx("div",{ref:d,"data-slot":"dialog-footer",className:cn("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",u),...n})),DialogTitle=React.forwardRef((u,n)=>jsxRuntime.jsx(Title,{ref:n,"data-slot":"dialog-title",className:cn("text-lg leading-none font-semibold"),...u})),DialogDescription=React.forwardRef(({className:u,...n},d)=>jsxRuntime.jsx(Description,{ref:d,"data-slot":"dialog-description",className:cn("text-muted-foreground text-sm",u),...n}));var PostBuilderEvents=(u=>(u.POST_PUBLISH_ATTEMPTED="select:post_publish_attempted",u.POST_PUBLISH_SUCCESSFUL="select:post_publish_success",u.POST_PUBLISH_FAILED="select:post_publish_failed",u.POST_SESSION_ROTATED="select:post_session_rotated",u.DRAFT_REHYDRATE_REQUEST="select:draft_rehydrate_request",u))(PostBuilderEvents||{});const USER_INPUT_FOCUS_WINDOW_MS=150;function classifyFocus(u,n){return u!==null&&n-u<=USER_INPUT_FOCUS_WINDOW_MS?"user":"auto"}function useEditorTracking({editor:u,editorType:n,idleTimeout:d=3e5}){const{sessionId:p}=useAnalyticsSession(),m=React.useRef(),g=React.useRef(!1),y=getAnalyticsStore(),b=React.useCallback(()=>getEditorMetrics(u),[u]),S=React.useCallback(()=>{m.current&&clearTimeout(m.current),!(!u||!p||g.current)&&(m.current=setTimeout(()=>{const T=b();T&&!T.isEmpty&&(y.trackExplicitAbandon(p,{contentLength:T.characterCount,hasUnsavedChanges:T.hasUnsavedChanges,abandonReason:"idle_timeout"}),g.current=!0)},d))},[u,p,d,y,b]),E=React.useCallback(()=>{if(!u||!p)return;const T=b();T&&(T.wordCount>=1||T.mediaCount>0||T.linkCount>0||T?.pollCount>0)&&y.trackContentCreated(p,{editorType:n,wordCount:T.wordCount,mediaCount:T.mediaCount,linkCount:T.linkCount})},[u,p,y,n,b]);React.useEffect(()=>{if(!u||!p)return;let T=null;const _=k=>{!(k.target instanceof Node)||!u.view.dom?.contains(k.target)||(T=performance.now(),y.trackEditorFocus(p,"user"))},R=k=>{k.key==="Tab"&&(T=performance.now())},C=()=>{y.trackEditorFocus(p,classifyFocus(T,performance.now())),E(),S()},A=()=>{E(),S()};return document.addEventListener("pointerdown",_,!0),document.addEventListener("keydown",R,!0),u.on("focus",C),u.on("update",A),()=>{document.removeEventListener("pointerdown",_,!0),document.removeEventListener("keydown",R,!0),u.off("focus",C),u.off("update",A)}},[u,p,y,S,E]),React.useEffect(()=>{if(!p)return;const T=()=>{if(g.current)return;const _=b();_&&!_.isEmpty&&(y.trackExplicitAbandon(p,{contentLength:_.characterCount,hasUnsavedChanges:_.hasUnsavedChanges,abandonReason:"navigation"}),g.current=!0)};return window.addEventListener("beforeunload",T),()=>{window.removeEventListener("beforeunload",T),m.current&&clearTimeout(m.current)}},[p,y,b]),React.useEffect(()=>()=>{m.current&&clearTimeout(m.current),y.deleteSession(p)},[y,p])}const useHostAnalyticsBridge=()=>{const{sessionId:u,editorType:n,placement:d}=useAnalyticsSession(),p=useAnalyticsStore(b=>b.trackPublish),m=useAnalyticsStore(b=>b.deleteSession),g=useAnalyticsStore(b=>b.createSession),y=React.useRef(new Set);React.useEffect(()=>{if(!u)return;const b=E=>{const{postId:T,postType:_,groupId:R}=E.detail;if(!T||y.current.has(T))return;y.current.add(T),p(u,{status:"success",editorType:n,postId:T,groupId:R,postType:_}),m(u);const C=g(n,d);window.dispatchEvent(new CustomEvent(PostBuilderEvents.POST_SESSION_ROTATED,{detail:{newSessionId:C,oldSessionId:u}}))},S=E=>{const{postId:T,postType:_,groupId:R,failureReason:C}=E.detail;if(!T||y.current.has(T))return;y.current.add(T),p(u,{status:"failed",editorType:n,postId:T,groupId:R,postType:_,failureReason:C}),m(u);const A=g(n,d);window.dispatchEvent(new CustomEvent(PostBuilderEvents.POST_SESSION_ROTATED,{detail:{newSessionId:A,oldSessionId:u}}))};return window.addEventListener(PostBuilderEvents.POST_PUBLISH_SUCCESSFUL,b),window.addEventListener(PostBuilderEvents.POST_PUBLISH_FAILED,S),()=>{window.removeEventListener(PostBuilderEvents.POST_PUBLISH_SUCCESSFUL,b),window.removeEventListener(PostBuilderEvents.POST_PUBLISH_FAILED,S)}},[u,n,d,p,m,g])},getSharedDraftKey=(u,n)=>{const d=["shared"];return u&&d.push(u),n&&d.push(n),d.join(":")+"-draft"},getPollDraftKey=(u,n)=>{const d=["Poll"];return u&&d.push(u),n&&d.push(n),d.join(":")+"-draft"},FORMATTING_MARKS=new Set(["bold","italic","strike","underline","code","superscript","subscript"]),extractTextContent=u=>{if(!u)return"";let n="";const d=p=>{p.type==="text"&&p.text&&(n+=p.text),p.content&&Array.isArray(p.content)&&p.content.forEach(m=>d(m))};return d(u),n.trim()},extractPollQuestion=u=>{if(!u?.content)return"";const n=u.content.filter(p=>p.type==="paragraph");let d="";return n.forEach(p=>{p.content&&p.content.forEach(m=>{m.type==="text"&&m.text&&(d+=m.text)})}),d.trim()},isPollEmpty=u=>{if(!u||!u.content)return!0;if(extractPollQuestion(u))return!1;const d=u.content.find(p=>p.type==="poll");return!(d?.attrs?.choices&&Array.isArray(d.attrs.choices)&&d.attrs.choices.length>0)},isSharedContentEmpty=u=>!u||!u.content?!0:!(extractTextContent(u).length>0||u.content.some(m=>m.type==="media"||m.type==="mediaGroup"&&m.content&&m.content.length>0)||u.content.some(m=>m.type==="linkPreview")),extractParagraphNodes=u=>u?.content?u.content.filter(n=>n.type==="paragraph"):[],collectMediaNodes=u=>{if(!u?.content)return[];const n=[];for(const d of u.content)d.type==="media"?n.push(d):d.type==="mediaGroup"&&d.content&&n.push(...d.content.filter(p=>p.type==="media"));return n},rewriteLinkMode=(u,n)=>{const d=p=>{const m=p.content?.map(d);if(p.type==="text"&&p.marks){const g=p.marks.map(y=>y.type==="customLink"?{...y,attrs:{...y.attrs,isLinkMode:n}}:y);return{...p,marks:g,content:m}}return m?{...p,content:m}:p};return d(u)},stripFormattingMarks=u=>u.content?{...u,content:u.content.map(n=>{if(n.type==="text"&&n.marks){const d=n.marks.filter(p=>!FORMATTING_MARKS.has(p.type??""));return{...n,marks:d.length>0?d:void 0}}return n.content?stripFormattingMarks(n):n})}:u,cleanParagraphsForPoll=u=>{const n=new Set(["linkPreview","media","mediaGroup","embed","image"]);return u.map(d=>d?.content?{...d,content:d.content.map(p=>{if(n.has(p?.type||""))return null;if(p?.type==="text"&&p?.marks){const m=p.marks.filter(g=>{const y=g?.type??"";return y==="link"||y==="customLink"||!FORMATTING_MARKS.has(y)}).map(g=>g.type==="customLink"?{...g,type:"link"}:g);return{...p,marks:m.length>0?m:void 0}}return p}).filter(p=>p!==null)}:d)},createPollContentFromNodes=(u,n)=>{const d=[];return u.length>0?d.push(...u):d.push({type:"paragraph"}),d.push(n||{type:"poll",attrs:{choices:[]}}),{type:"doc",content:d}},transformForPost=u=>{if(!u?.content)return{type:"doc",content:[{type:"paragraph"}]};const n=[],d=[];for(const m of u.content)switch(m.type){case"paragraph":n.push(stripFormattingMarks(m));break;case"media":d.push(m);break;case"mediaGroup":m.content&&d.push(...m.content.filter(g=>g.type==="media"));break;case"linkPreview":break;case"heading":n.push(stripFormattingMarks({...m,type:"paragraph",attrs:void 0}));break;case"blockquote":case"bulletList":case"orderedList":if(m.content){for(const g of m.content)if(g.type==="paragraph")n.push(stripFormattingMarks(g));else if(g.type==="listItem"&&g.content)for(const y of g.content)y.type==="paragraph"&&n.push(stripFormattingMarks(y))}break;case"codeBlock":m.content&&n.push({type:"paragraph",content:m.content});break}for(n.length===0&&n.push({type:"paragraph"});n.length>1;){const m=n[n.length-1];if(!m.content||m.content.length===0||m.content.every(y=>y.type==="text"&&!y.text?.trim()))n.pop();else break}const p=[...n];return d.length>0&&p.push({type:"mediaGroup",content:d.slice(0,MAX_FILES)}),rewriteLinkMode({type:"doc",content:p},!0)},transformForBlog=u=>{if(!u?.content)return{type:"doc",content:[{type:"paragraph"}]};const n=[];for(const d of u.content)d.type==="mediaGroup"&&d.content?n.push(...d.content.filter(p=>p.type==="media")):d.type==="linkPreview"||n.push(d);return n.length===0&&n.push({type:"paragraph"}),rewriteLinkMode({type:"doc",content:n},!1)},transformForPoll=(u,n)=>{let d=extractParagraphNodes(u);return d=cleanParagraphsForPoll(d),createPollContentFromNodes(d,n)},extractSharedTextFromPoll=u=>u?.content?u.content.filter(d=>d.type==="paragraph").map(d=>d?.content?{...d,content:d.content.map(p=>p?.type==="text"&&p?.marks?{...p,marks:p.marks.map(m=>m.type==="link"?{...m,type:"customLink"}:m)}:p)}:d):[],syncSharedToPollDraft=(u,n,d)=>{const p=getPollDraftKey(n,d),m=localStorage.getItem(p);let g;if(m)try{g=JSON.parse(m).content?.find(E=>E.type==="poll")}catch{}if(!extractTextContent(u)){if(!g||!g.attrs?.choices?.length)localStorage.removeItem(p);else{const S=createPollContentFromNodes([],g);localStorage.setItem(p,JSON.stringify(S))}return}const b=transformForPoll(u,g);localStorage.setItem(p,JSON.stringify(b))},syncPollToSharedDraft=(u,n,d)=>{const p=getSharedDraftKey(n,d),m=localStorage.getItem(p),g=extractSharedTextFromPoll(u);if(!extractTextContent({type:"doc",content:g}))return;let b=[],S=null;if(m)try{const _=JSON.parse(m);_.content&&(b=collectMediaNodes(_),S=_.content.find(R=>R.type==="linkPreview")??null)}catch{}const E=[...g];if(S&&E.push(S),b.length>0&&E.push(...b),E.length===0)return;const T={type:"doc",content:E};localStorage.setItem(p,JSON.stringify(T))},usePersistence=(u,n)=>{const d=React.useCallback(g=>{if(!n||typeof window>"u"||typeof localStorage>"u")return null;if(g===EditorTypes.Poll){const S=getPollDraftKey(u,n),E=localStorage.getItem(S);if(E)try{return JSON.parse(E)}catch{return null}const T=getSharedDraftKey(u,n),_=localStorage.getItem(T);if(_)try{const R=JSON.parse(_);if(extractTextContent(R))return transformForPoll(R)}catch{}return null}const y=getSharedDraftKey(u,n),b=localStorage.getItem(y);if(!b)return null;try{const S=JSON.parse(b);return g===EditorTypes.Media?transformForPost(S):g===EditorTypes.Blog?transformForBlog(S):S}catch{return null}},[u,n]),p=React.useCallback((g,y)=>{if(!n||typeof window>"u"||typeof localStorage>"u"||!y)return;const b=y.getJSON(),S=filterNodes(b,E=>!E?.attrs?.uploading&&!E?.attrs?.deferred);if(S)if(g===EditorTypes.Poll){if(isPollEmpty(S))return;const E=getPollDraftKey(u,n);localStorage.setItem(E,JSON.stringify(S)),syncPollToSharedDraft(S,u,n)}else{const E=y.isEmpty,T=getSharedDraftKey(u,n),_=!!localStorage.getItem(T);if(!(_||!E)||isSharedContentEmpty(S)&&!_)return;localStorage.setItem(T,JSON.stringify(S)),syncSharedToPollDraft(S,u,n)}},[u,n]),m=React.useCallback(()=>{n&&(typeof window>"u"||typeof localStorage>"u"||(localStorage.removeItem(getSharedDraftKey(u,n)),localStorage.removeItem(getPollDraftKey(u,n))))},[u,n]);return{saveCurrentTabContent:p,getTabContent:d,clearContent:m}},createPostBuilderStore=u=>{const n=u.postId&&u.groupId?"post":u.groupId?"group":"global";return createStore((d,p)=>({contextType:n,groupId:u.groupId??null,postId:u.postId??null,selectedGroupId:u.groupId??null,enableGroupSelector:!u.groupId,editor:null,editorTab:null,setEditor:(m,g=null)=>d({editor:m,editorTab:g}),setContext:m=>d({contextType:m,enableGroupSelector:m==="global"}),setGroupId:m=>d({groupId:m,selectedGroupId:m??null,enableGroupSelector:!m}),setPostId:m=>d({postId:m}),selectGroup:m=>d({selectedGroupId:m}),getMentionParams:()=>{const{contextType:m,groupId:g,postId:y,selectedGroupId:b}=p();if(m==="post"&&g&&y)return{groupId:g,postId:y};const S=b||g||void 0;return S?{groupId:S}:null}}))};var h=(u,n)=>{if(u==="slot")return 0;if(u instanceof Function)return u(n);const{children:d,...p}=n??{};if(u==="svg")throw new Error("SVG elements are not supported in the JSX syntax, use the array syntax instead");return[u,p,d]},inputRegex$3=/^\s*>\s$/,Blockquote=Node3.create({name:"blockquote",addOptions(){return{HTMLAttributes:{}}},content:"block+",group:"block",defining:!0,parseHTML(){return[{tag:"blockquote"}]},renderHTML({HTMLAttributes:u}){return h("blockquote",{...mergeAttributes(this.options.HTMLAttributes,u),children:h("slot",{})})},parseMarkdown:(u,n)=>n.createNode("blockquote",void 0,n.parseChildren(u.tokens||[])),renderMarkdown:(u,n)=>{if(!u.content)return"";const d=">",p=[];return u.content.forEach(m=>{const b=n.renderChildren([m]).split(`
173
173
  `).map(S=>S.trim()===""?d:`${d} ${S}`);p.push(b.join(`
174
174
  `))}),p.join(`
175
175
  ${d}
@@ -251,4 +251,4 @@ Defaulting to \`null\`.`}var Root$1=Progress$1,Indicator=ProgressIndicator;funct
251
251
  `)}}const shapeExtends=(u,n)=>u===n?!0:u==null||n==null||u.constructor!==n.constructor?!1:u[EqualityTraitSymbol]?equals(u,n):isArray(u)?every$1(u,d=>some(n,p=>shapeExtends(d,p))):isObject$1(u)?every(u,(d,p)=>shapeExtends(d,n[p])):!1;class Schema{static _dilutes=!1;extends(n){let[d,p]=[this.shape,n.shape];return this.constructor._dilutes&&([p,d]=[d,p]),shapeExtends(d,p)}equals(n){return this.constructor===n.constructor&&equalityDeep(this.shape,n.shape)}[schemaSymbol](){return!0}[EqualityTraitSymbol](n){return this.equals(n)}validate(n){return this.check(n)}check(n,d){methodUnimplemented()}get nullable(){return $union(this,$null)}get optional(){return new $Optional(this)}cast(n){return assert(n,this),n}expect(n){return assert(n,this),n}}class $ConstructedBy extends Schema{constructor(n,d){super(),this.shape=n,this._c=d}check(n,d=void 0){const p=n?.constructor===this.shape&&(this._c==null||this._c(n));return!p&&d?.extend(null,this.shape.name,n?.constructor.name,n?.constructor!==this.shape?"Constructor match failed":"Check failed"),p}}const $constructedBy=(u,n=null)=>new $ConstructedBy(u,n);$constructedBy($ConstructedBy);class $Custom extends Schema{constructor(n){super(),this.shape=n}check(n,d){const p=this.shape(n);return!p&&d?.extend(null,"custom prop",n?.constructor.name,"failed to check custom prop"),p}}const $custom=u=>new $Custom(u);$constructedBy($Custom);class $Literal extends Schema{constructor(n){super(),this.shape=n}check(n,d){const p=this.shape.some(m=>m===n);return!p&&d?.extend(null,this.shape.join(" | "),n.toString()),p}}const $literal=(...u)=>new $Literal(u),$$literal=$constructedBy($Literal),_regexEscape=RegExp.escape||(u=>u.replace(/[().|&,$^[\]]/g,n=>"\\"+n)),_schemaStringTemplateToRegex=u=>{if($string.check(u))return[_regexEscape(u)];if($$literal.check(u))return u.shape.map(n=>n+"");if($$number.check(u))return["[+-]?\\d+.?\\d*"];if($$string.check(u))return[".*"];if($$union.check(u))return u.shape.map(_schemaStringTemplateToRegex).flat(1);unexpectedCase()};class $StringTemplate extends Schema{constructor(n){super(),this.shape=n,this._r=new RegExp("^"+n.map(_schemaStringTemplateToRegex).map(d=>`(${d.join("|")})`).join("")+"$")}check(n,d){const p=this._r.exec(n)!=null;return!p&&d?.extend(null,this._r.toString(),n.toString(),"String doesn't match string template."),p}}$constructedBy($StringTemplate);const isOptionalSymbol=Symbol("optional");class $Optional extends Schema{constructor(n){super(),this.shape=n}check(n,d){const p=n===void 0||this.shape.check(n);return!p&&d?.extend(null,"undefined (optional)","()"),p}get[isOptionalSymbol](){return!0}}const $$optional=$constructedBy($Optional);class $Never extends Schema{check(n,d){return d?.extend(null,"never",typeof n),!1}}$constructedBy($Never);class $Object extends Schema{constructor(n,d=!1){super(),this.shape=n,this._isPartial=d}static _dilutes=!0;get partial(){return new $Object(this.shape,!0)}check(n,d){return n==null?(d?.extend(null,"object","null"),!1):every(this.shape,(p,m)=>{const g=this._isPartial&&!hasProperty(n,m)||p.check(n[m],d);return!g&&d?.extend(m.toString(),p.toString(),typeof n[m],"Object property does not match"),g})}}const $object=u=>new $Object(u),$$object=$constructedBy($Object),$objectAny=$custom(u=>u!=null&&(u.constructor===Object||u.constructor==null));class $Record extends Schema{constructor(n,d){super(),this.shape={keys:n,values:d}}check(n,d){return n!=null&&every(n,(p,m)=>{const g=this.shape.keys.check(m,d);return!g&&d?.extend(m+"","Record",typeof n,g?"Key doesn't match schema":"Value doesn't match value"),g&&this.shape.values.check(p,d)})}}const $record=(u,n)=>new $Record(u,n),$$record=$constructedBy($Record);class $Tuple extends Schema{constructor(n){super(),this.shape=n}check(n,d){return n!=null&&every(this.shape,(p,m)=>{const g=p.check(n[m],d);return!g&&d?.extend(m.toString(),"Tuple",typeof p),g})}}const $tuple=(...u)=>new $Tuple(u);$constructedBy($Tuple);class $Array extends Schema{constructor(n){super(),this.shape=n.length===1?n[0]:new $Union(n)}check(n,d){const p=isArray(n)&&every$1(n,m=>this.shape.check(m));return!p&&d?.extend(null,"Array",""),p}}const $array=(...u)=>new $Array(u),$$array=$constructedBy($Array),$arrayAny=$custom(u=>isArray(u));class $InstanceOf extends Schema{constructor(n,d){super(),this.shape=n,this._c=d}check(n,d){const p=n instanceof this.shape&&(this._c==null||this._c(n));return!p&&d?.extend(null,this.shape.name,n?.constructor.name),p}}const $instanceOf=(u,n=null)=>new $InstanceOf(u,n);$constructedBy($InstanceOf);const $$schema=$instanceOf(Schema);class $Lambda extends Schema{constructor(n){super(),this.len=n.length-1,this.args=$tuple(...n.slice(-1)),this.res=n[this.len]}check(n,d){const p=n.constructor===Function&&n.length<=this.len;return!p&&d?.extend(null,"function",typeof n),p}}const $$lambda=$constructedBy($Lambda),$function=$custom(u=>typeof u=="function");class $Intersection extends Schema{constructor(n){super(),this.shape=n}check(n,d){const p=every$1(this.shape,m=>m.check(n,d));return!p&&d?.extend(null,"Intersectinon",typeof n),p}}$constructedBy($Intersection,u=>u.shape.length>0);class $Union extends Schema{static _dilutes=!0;constructor(n){super(),this.shape=n}check(n,d){const p=some(this.shape,m=>m.check(n,d));return d?.extend(null,"Union",typeof n),p}}const $union=(...u)=>u.findIndex(n=>$$union.check(n))>=0?$union(...u.map(n=>$(n)).map(n=>$$union.check(n)?n.shape:[n]).flat(1)):u.length===1?u[0]:new $Union(u),$$union=$constructedBy($Union),_t=()=>!0,$any=$custom(_t),$$any=$constructedBy($Custom,u=>u.shape===_t),$bigint=$custom(u=>typeof u=="bigint"),$$bigint=$custom(u=>u===$bigint),$symbol=$custom(u=>typeof u=="symbol");$custom(u=>u===$symbol);const $number=$custom(u=>typeof u=="number"),$$number=$custom(u=>u===$number),$string=$custom(u=>typeof u=="string"),$$string=$custom(u=>u===$string),$boolean=$custom(u=>typeof u=="boolean"),$$boolean=$custom(u=>u===$boolean),$undefined=$literal(void 0);$constructedBy($Literal,u=>u.shape.length===1&&u.shape[0]===void 0);$literal(void 0);const $null=$literal(null),$$null=$constructedBy($Literal,u=>u.shape.length===1&&u.shape[0]===null);$constructedBy(Uint8Array);$constructedBy($ConstructedBy,u=>u.shape===Uint8Array);const $primitive=$union($number,$string,$null,$undefined,$bigint,$boolean,$symbol);(()=>{const u=$array($any),n=$record($string,$any),d=$union($number,$string,$null,$boolean,u,n);return u.shape=d,n.shape.values=d,d})();const $=u=>{if($$schema.check(u))return u;if($objectAny.check(u)){const n={};for(const d in u)n[d]=$(u[d]);return $object(n)}else{if($arrayAny.check(u))return $union(...u.map($));if($primitive.check(u))return $literal(u);if($function.check(u))return $constructedBy(u)}unexpectedCase()},assert=production?()=>{}:(u,n)=>{const d=new ValidationError;if(!n.check(u,d))throw create$3(`Expected value to be of type ${n.constructor.name}.
252
252
  ${d.toString()}`)};class PatternMatcher{constructor(n){this.patterns=[],this.$state=n}if(n,d){return this.patterns.push({if:$(n),h:d}),this}else(n){return this.if($any,n)}done(){return(n,d)=>{for(let p=0;p<this.patterns.length;p++){const m=this.patterns[p];if(m.if.check(n))return m.h(n,d)}throw create$3("Unhandled pattern")}}}const match=u=>new PatternMatcher(u),_random=match($any).if($$number,(u,n)=>int53(n,MIN_SAFE_INTEGER,MAX_SAFE_INTEGER)).if($$string,(u,n)=>word(n)).if($$boolean,(u,n)=>bool(n)).if($$bigint,(u,n)=>BigInt(int53(n,MIN_SAFE_INTEGER,MAX_SAFE_INTEGER))).if($$union,(u,n)=>random(n,oneOf(n,u.shape))).if($$object,(u,n)=>{const d={};for(const p in u.shape){let m=u.shape[p];if($$optional.check(m)){if(bool(n))continue;m=m.shape}d[p]=_random(m,n)}return d}).if($$array,(u,n)=>{const d=[],p=int32(n,0,42);for(let m=0;m<p;m++)d.push(random(n,u.shape));return d}).if($$literal,(u,n)=>oneOf(n,u.shape)).if($$null,(u,n)=>null).if($$lambda,(u,n)=>{const d=random(n,u.res);return()=>d}).if($$any,(u,n)=>random(n,oneOf(n,[$number,$string,$null,$undefined,$bigint,$boolean,$array($number),$record($union("a","b","c"),$number)]))).if($$record,(u,n)=>{const d={},p=int53(n,0,3);for(let m=0;m<p;m++){const g=random(n,u.shape.keys),y=random(n,u.shape.values);d[g]=y}return d}).done(),random=(u,n)=>_random($(n),u),doc=typeof document<"u"?document:{};$custom(u=>u.nodeType===DOCUMENT_FRAGMENT_NODE);typeof DOMParser<"u"&&new DOMParser;$custom(u=>u.nodeType===ELEMENT_NODE);$custom(u=>u.nodeType===TEXT_NODE);const mapToStyleString=u=>map(u,(n,d)=>`${d}:${n};`).join(""),ELEMENT_NODE=doc.ELEMENT_NODE,TEXT_NODE=doc.TEXT_NODE,DOCUMENT_NODE=doc.DOCUMENT_NODE,DOCUMENT_FRAGMENT_NODE=doc.DOCUMENT_FRAGMENT_NODE;$custom(u=>u.nodeType===DOCUMENT_NODE);const createTimeoutClass=u=>class{constructor(d){this._=d}destroy(){u(this._)}},Timeout=createTimeoutClass(clearTimeout),timeout=(u,n)=>new Timeout(setTimeout(n,u)),create=Symbol,BOLD=create(),UNBOLD=create(),BLUE=create(),GREY=create(),GREEN=create(),RED=create(),PURPLE=create(),ORANGE=create(),UNCOLOR=create(),computeNoColorLoggingArgs=u=>{u.length===1&&u[0]?.constructor===Function&&(u=u[0]());const n=[],d=[];let p=0;for(;p<u.length;p++){const m=u[p];if(m===void 0)break;if(m.constructor===String||m.constructor===Number)n.push(m);else if(m.constructor===Object)break}for(p>0&&d.push(n.join(""));p<u.length;p++){const m=u[p];m instanceof Symbol||d.push(m)}return d},_browserStyleMap={[BOLD]:create$1("font-weight","bold"),[UNBOLD]:create$1("font-weight","normal"),[BLUE]:create$1("color","blue"),[GREEN]:create$1("color","green"),[GREY]:create$1("color","grey"),[RED]:create$1("color","red"),[PURPLE]:create$1("color","purple"),[ORANGE]:create$1("color","orange"),[UNCOLOR]:create$1("color","black")},computeBrowserLoggingArgs=u=>{u.length===1&&u[0]?.constructor===Function&&(u=u[0]());const n=[],d=[],p=create$5();let m=[],g=0;for(;g<u.length;g++){const y=u[g],b=_browserStyleMap[y];if(b!==void 0)p.set(b.left,b.right);else{if(y===void 0)break;if(y.constructor===String||y.constructor===Number){const S=mapToStyleString(p);g>0||S.length>0?(n.push("%c"+y),d.push(S)):n.push(y)}else break}}for(g>0&&(m=d,m.unshift(n.join("")));g<u.length;g++){const y=u[g];y instanceof Symbol||m.push(y)}return m},computeLoggingArgs=supportsColor?computeBrowserLoggingArgs:computeNoColorLoggingArgs,print=(...u)=>{vconsoles.forEach(n=>n.print(u))},warn=(...u)=>{u.unshift(ORANGE),vconsoles.forEach(n=>n.print(u))},vconsoles=create$4(),createIterator=u=>({[Symbol.iterator](){return this},next:u}),iteratorFilter=(u,n)=>createIterator(()=>{let d;do d=u.next();while(!d.done&&!n(d.value));return d}),iteratorMap=(u,n)=>createIterator(()=>{const{done:d,value:p}=u.next();return{done:d,value:d?void 0:n(p)}});class DeleteItem{constructor(n,d){this.clock=n,this.len=d}}class DeleteSet{constructor(){this.clients=new Map}}const iterateDeletedStructs=(u,n,d)=>n.clients.forEach((p,m)=>{const g=u.doc.store.clients.get(m);if(g!=null){const y=g[g.length-1],b=y.id.clock+y.length;for(let S=0,E=p[S];S<p.length&&E.clock<b;E=p[++S])iterateStructs(u,g,E.clock,E.len,d)}}),findIndexDS=(u,n)=>{let d=0,p=u.length-1;for(;d<=p;){const m=floor((d+p)/2),g=u[m],y=g.clock;if(y<=n){if(n<y+g.len)return m;d=m+1}else p=m-1}return null},isDeleted=(u,n)=>{const d=u.clients.get(n.client);return d!==void 0&&findIndexDS(d,n.clock)!==null},sortAndMergeDeleteSet=u=>{u.clients.forEach(n=>{n.sort((m,g)=>m.clock-g.clock);let d,p;for(d=1,p=1;d<n.length;d++){const m=n[p-1],g=n[d];m.clock+m.len>=g.clock?m.len=max(m.len,g.clock+g.len-m.clock):(p<d&&(n[p]=g),p++)}n.length=p})},mergeDeleteSets=u=>{const n=new DeleteSet;for(let d=0;d<u.length;d++)u[d].clients.forEach((p,m)=>{if(!n.clients.has(m)){const g=p.slice();for(let y=d+1;y<u.length;y++)appendTo(g,u[y].clients.get(m)||[]);n.clients.set(m,g)}});return sortAndMergeDeleteSet(n),n},addToDeleteSet=(u,n,d,p)=>{setIfUndefined(u.clients,n,()=>[]).push(new DeleteItem(d,p))},createDeleteSet=()=>new DeleteSet,createDeleteSetFromStructStore=u=>{const n=createDeleteSet();return u.clients.forEach((d,p)=>{const m=[];for(let g=0;g<d.length;g++){const y=d[g];if(y.deleted){const b=y.id.clock;let S=y.length;if(g+1<d.length)for(let E=d[g+1];g+1<d.length&&E.deleted;E=d[++g+1])S+=E.length;m.push(new DeleteItem(b,S))}}m.length>0&&n.clients.set(p,m)}),n},writeDeleteSet=(u,n)=>{writeVarUint(u.restEncoder,n.clients.size),from(n.clients.entries()).sort((d,p)=>p[0]-d[0]).forEach(([d,p])=>{u.resetDsCurVal(),writeVarUint(u.restEncoder,d);const m=p.length;writeVarUint(u.restEncoder,m);for(let g=0;g<m;g++){const y=p[g];u.writeDsClock(y.clock),u.writeDsLen(y.len)}})},readDeleteSet=u=>{const n=new DeleteSet,d=readVarUint(u.restDecoder);for(let p=0;p<d;p++){u.resetDsCurVal();const m=readVarUint(u.restDecoder),g=readVarUint(u.restDecoder);if(g>0){const y=setIfUndefined(n.clients,m,()=>[]);for(let b=0;b<g;b++)y.push(new DeleteItem(u.readDsClock(),u.readDsLen()))}}return n},readAndApplyDeleteSet=(u,n,d)=>{const p=new DeleteSet,m=readVarUint(u.restDecoder);for(let g=0;g<m;g++){u.resetDsCurVal();const y=readVarUint(u.restDecoder),b=readVarUint(u.restDecoder),S=d.clients.get(y)||[],E=getState(d,y);for(let T=0;T<b;T++){const _=u.readDsClock(),R=_+u.readDsLen();if(_<E){E<R&&addToDeleteSet(p,y,E,R-E);let C=findIndexSS(S,_),A=S[C];for(!A.deleted&&A.id.clock<_&&(S.splice(C+1,0,splitItem(n,A,_-A.id.clock)),C++);C<S.length&&(A=S[C++],A.id.clock<R);)A.deleted||(R<A.id.clock+A.length&&S.splice(C,0,splitItem(n,A,R-A.id.clock)),A.delete(n))}else addToDeleteSet(p,y,_,R-_)}}if(p.clients.size>0){const g=new UpdateEncoderV2;return writeVarUint(g.restEncoder,0),writeDeleteSet(g,p),g.toUint8Array()}return null},generateNewClientId=uint32;class Doc extends ObservableV2{constructor({guid:n=uuidv4(),collectionid:d=null,gc:p=!0,gcFilter:m=()=>!0,meta:g=null,autoLoad:y=!1,shouldLoad:b=!0}={}){super(),this.gc=p,this.gcFilter=m,this.clientID=generateNewClientId(),this.guid=n,this.collectionid=d,this.share=new Map,this.store=new StructStore,this._transaction=null,this._transactionCleanups=[],this.subdocs=new Set,this._item=null,this.shouldLoad=b,this.autoLoad=y,this.meta=g,this.isLoaded=!1,this.isSynced=!1,this.isDestroyed=!1,this.whenLoaded=create$2(E=>{this.on("load",()=>{this.isLoaded=!0,E(this)})});const S=()=>create$2(E=>{const T=_=>{(_===void 0||_===!0)&&(this.off("sync",T),E())};this.on("sync",T)});this.on("sync",E=>{E===!1&&this.isSynced&&(this.whenSynced=S()),this.isSynced=E===void 0||E===!0,this.isSynced&&!this.isLoaded&&this.emit("load",[this])}),this.whenSynced=S()}load(){const n=this._item;n!==null&&!this.shouldLoad&&transact(n.parent.doc,d=>{d.subdocsLoaded.add(this)},null,!0),this.shouldLoad=!0}getSubdocs(){return this.subdocs}getSubdocGuids(){return new Set(from(this.subdocs).map(n=>n.guid))}transact(n,d=null){return transact(this,n,d)}get(n,d=AbstractType){const p=setIfUndefined(this.share,n,()=>{const g=new d;return g._integrate(this,null),g}),m=p.constructor;if(d!==AbstractType&&m!==d)if(m===AbstractType){const g=new d;g._map=p._map,p._map.forEach(y=>{for(;y!==null;y=y.left)y.parent=g}),g._start=p._start;for(let y=g._start;y!==null;y=y.right)y.parent=g;return g._length=p._length,this.share.set(n,g),g._integrate(this,null),g}else throw new Error(`Type with the name ${n} has already been defined with a different constructor`);return p}getArray(n=""){return this.get(n,YArray)}getText(n=""){return this.get(n,YText)}getMap(n=""){return this.get(n,YMap)}getXmlElement(n=""){return this.get(n,YXmlElement)}getXmlFragment(n=""){return this.get(n,YXmlFragment)}toJSON(){const n={};return this.share.forEach((d,p)=>{n[p]=d.toJSON()}),n}destroy(){this.isDestroyed=!0,from(this.subdocs).forEach(d=>d.destroy());const n=this._item;if(n!==null){this._item=null;const d=n.content;d.doc=new Doc({guid:this.guid,...d.opts,shouldLoad:!1}),d.doc._item=n,transact(n.parent.doc,p=>{const m=d.doc;n.deleted||p.subdocsAdded.add(m),p.subdocsRemoved.add(this)},null,!0)}this.emit("destroyed",[!0]),this.emit("destroy",[this]),super.destroy()}}class DSDecoderV2{constructor(n){this.dsCurrVal=0,this.restDecoder=n}resetDsCurVal(){this.dsCurrVal=0}readDsClock(){return this.dsCurrVal+=readVarUint(this.restDecoder),this.dsCurrVal}readDsLen(){const n=readVarUint(this.restDecoder)+1;return this.dsCurrVal+=n,n}}class UpdateDecoderV2 extends DSDecoderV2{constructor(n){super(n),this.keys=[],readVarUint(n),this.keyClockDecoder=new IntDiffOptRleDecoder(readVarUint8Array(n)),this.clientDecoder=new UintOptRleDecoder(readVarUint8Array(n)),this.leftClockDecoder=new IntDiffOptRleDecoder(readVarUint8Array(n)),this.rightClockDecoder=new IntDiffOptRleDecoder(readVarUint8Array(n)),this.infoDecoder=new RleDecoder(readVarUint8Array(n),readUint8),this.stringDecoder=new StringDecoder(readVarUint8Array(n)),this.parentInfoDecoder=new RleDecoder(readVarUint8Array(n),readUint8),this.typeRefDecoder=new UintOptRleDecoder(readVarUint8Array(n)),this.lenDecoder=new UintOptRleDecoder(readVarUint8Array(n))}readLeftID(){return new ID(this.clientDecoder.read(),this.leftClockDecoder.read())}readRightID(){return new ID(this.clientDecoder.read(),this.rightClockDecoder.read())}readClient(){return this.clientDecoder.read()}readInfo(){return this.infoDecoder.read()}readString(){return this.stringDecoder.read()}readParentInfo(){return this.parentInfoDecoder.read()===1}readTypeRef(){return this.typeRefDecoder.read()}readLen(){return this.lenDecoder.read()}readAny(){return readAny(this.restDecoder)}readBuf(){return readVarUint8Array(this.restDecoder)}readJSON(){return readAny(this.restDecoder)}readKey(){const n=this.keyClockDecoder.read();if(n<this.keys.length)return this.keys[n];{const d=this.stringDecoder.read();return this.keys.push(d),d}}}class DSEncoderV1{constructor(){this.restEncoder=createEncoder()}toUint8Array(){return toUint8Array(this.restEncoder)}resetDsCurVal(){}writeDsClock(n){writeVarUint(this.restEncoder,n)}writeDsLen(n){writeVarUint(this.restEncoder,n)}}class UpdateEncoderV1 extends DSEncoderV1{writeLeftID(n){writeVarUint(this.restEncoder,n.client),writeVarUint(this.restEncoder,n.clock)}writeRightID(n){writeVarUint(this.restEncoder,n.client),writeVarUint(this.restEncoder,n.clock)}writeClient(n){writeVarUint(this.restEncoder,n)}writeInfo(n){writeUint8(this.restEncoder,n)}writeString(n){writeVarString(this.restEncoder,n)}writeParentInfo(n){writeVarUint(this.restEncoder,n?1:0)}writeTypeRef(n){writeVarUint(this.restEncoder,n)}writeLen(n){writeVarUint(this.restEncoder,n)}writeAny(n){writeAny(this.restEncoder,n)}writeBuf(n){writeVarUint8Array(this.restEncoder,n)}writeJSON(n){writeVarString(this.restEncoder,JSON.stringify(n))}writeKey(n){writeVarString(this.restEncoder,n)}}class DSEncoderV2{constructor(){this.restEncoder=createEncoder(),this.dsCurrVal=0}toUint8Array(){return toUint8Array(this.restEncoder)}resetDsCurVal(){this.dsCurrVal=0}writeDsClock(n){const d=n-this.dsCurrVal;this.dsCurrVal=n,writeVarUint(this.restEncoder,d)}writeDsLen(n){n===0&&unexpectedCase(),writeVarUint(this.restEncoder,n-1),this.dsCurrVal+=n}}class UpdateEncoderV2 extends DSEncoderV2{constructor(){super(),this.keyMap=new Map,this.keyClock=0,this.keyClockEncoder=new IntDiffOptRleEncoder,this.clientEncoder=new UintOptRleEncoder,this.leftClockEncoder=new IntDiffOptRleEncoder,this.rightClockEncoder=new IntDiffOptRleEncoder,this.infoEncoder=new RleEncoder(writeUint8),this.stringEncoder=new StringEncoder,this.parentInfoEncoder=new RleEncoder(writeUint8),this.typeRefEncoder=new UintOptRleEncoder,this.lenEncoder=new UintOptRleEncoder}toUint8Array(){const n=createEncoder();return writeVarUint(n,0),writeVarUint8Array(n,this.keyClockEncoder.toUint8Array()),writeVarUint8Array(n,this.clientEncoder.toUint8Array()),writeVarUint8Array(n,this.leftClockEncoder.toUint8Array()),writeVarUint8Array(n,this.rightClockEncoder.toUint8Array()),writeVarUint8Array(n,toUint8Array(this.infoEncoder)),writeVarUint8Array(n,this.stringEncoder.toUint8Array()),writeVarUint8Array(n,toUint8Array(this.parentInfoEncoder)),writeVarUint8Array(n,this.typeRefEncoder.toUint8Array()),writeVarUint8Array(n,this.lenEncoder.toUint8Array()),writeUint8Array(n,toUint8Array(this.restEncoder)),toUint8Array(n)}writeLeftID(n){this.clientEncoder.write(n.client),this.leftClockEncoder.write(n.clock)}writeRightID(n){this.clientEncoder.write(n.client),this.rightClockEncoder.write(n.clock)}writeClient(n){this.clientEncoder.write(n)}writeInfo(n){this.infoEncoder.write(n)}writeString(n){this.stringEncoder.write(n)}writeParentInfo(n){this.parentInfoEncoder.write(n?1:0)}writeTypeRef(n){this.typeRefEncoder.write(n)}writeLen(n){this.lenEncoder.write(n)}writeAny(n){writeAny(this.restEncoder,n)}writeBuf(n){writeVarUint8Array(this.restEncoder,n)}writeJSON(n){writeAny(this.restEncoder,n)}writeKey(n){const d=this.keyMap.get(n);d===void 0?(this.keyClockEncoder.write(this.keyClock++),this.stringEncoder.write(n)):this.keyClockEncoder.write(d)}}const writeStructs=(u,n,d,p)=>{p=max(p,n[0].id.clock);const m=findIndexSS(n,p);writeVarUint(u.restEncoder,n.length-m),u.writeClient(d),writeVarUint(u.restEncoder,p);const g=n[m];g.write(u,p-g.id.clock);for(let y=m+1;y<n.length;y++)n[y].write(u,0)},writeClientsStructs=(u,n,d)=>{const p=new Map;d.forEach((m,g)=>{getState(n,g)>m&&p.set(g,m)}),getStateVector(n).forEach((m,g)=>{d.has(g)||p.set(g,0)}),writeVarUint(u.restEncoder,p.size),from(p.entries()).sort((m,g)=>g[0]-m[0]).forEach(([m,g])=>{writeStructs(u,n.clients.get(m),m,g)})},readClientsStructRefs=(u,n)=>{const d=create$5(),p=readVarUint(u.restDecoder);for(let m=0;m<p;m++){const g=readVarUint(u.restDecoder),y=new Array(g),b=u.readClient();let S=readVarUint(u.restDecoder);d.set(b,{i:0,refs:y});for(let E=0;E<g;E++){const T=u.readInfo();switch(BITS5&T){case 0:{const _=u.readLen();y[E]=new GC(createID(b,S),_),S+=_;break}case 10:{const _=readVarUint(u.restDecoder);y[E]=new Skip(createID(b,S),_),S+=_;break}default:{const _=(T&(BIT7|BIT8))===0,R=new Item(createID(b,S),null,(T&BIT8)===BIT8?u.readLeftID():null,null,(T&BIT7)===BIT7?u.readRightID():null,_?u.readParentInfo()?n.get(u.readString()):u.readLeftID():null,_&&(T&BIT6)===BIT6?u.readString():null,readItemContent(u,T));y[E]=R,S+=R.length}}}}return d},integrateStructs=(u,n,d)=>{const p=[];let m=from(d.keys()).sort((C,A)=>C-A);if(m.length===0)return null;const g=()=>{if(m.length===0)return null;let C=d.get(m[m.length-1]);for(;C.refs.length===C.i;)if(m.pop(),m.length>0)C=d.get(m[m.length-1]);else return null;return C};let y=g();if(y===null)return null;const b=new StructStore,S=new Map,E=(C,A)=>{const k=S.get(C);(k==null||k>A)&&S.set(C,A)};let T=y.refs[y.i++];const _=new Map,R=()=>{for(const C of p){const A=C.id.client,k=d.get(A);k?(k.i--,b.clients.set(A,k.refs.slice(k.i)),d.delete(A),k.i=0,k.refs=[]):b.clients.set(A,[C]),m=m.filter(I=>I!==A)}p.length=0};for(;;){if(T.constructor!==Skip){const A=setIfUndefined(_,T.id.client,()=>getState(n,T.id.client))-T.id.clock;if(A<0)p.push(T),E(T.id.client,T.id.clock-1),R();else{const k=T.getMissing(u,n);if(k!==null){p.push(T);const I=d.get(k)||{refs:[],i:0};if(I.refs.length===I.i)E(k,getState(n,k)),R();else{T=I.refs[I.i++];continue}}else(A===0||A<T.length)&&(T.integrate(u,A),_.set(T.id.client,T.id.clock+T.length))}}if(p.length>0)T=p.pop();else if(y!==null&&y.i<y.refs.length)T=y.refs[y.i++];else{if(y=g(),y===null)break;T=y.refs[y.i++]}}if(b.clients.size>0){const C=new UpdateEncoderV2;return writeClientsStructs(C,b,new Map),writeVarUint(C.restEncoder,0),{missing:S,update:C.toUint8Array()}}return null},writeStructsFromTransaction=(u,n)=>writeClientsStructs(u,n.doc.store,n.beforeState),readUpdateV2=(u,n,d,p=new UpdateDecoderV2(u))=>transact(n,m=>{m.local=!1;let g=!1;const y=m.doc,b=y.store,S=readClientsStructRefs(p,y),E=integrateStructs(m,b,S),T=b.pendingStructs;if(T){for(const[R,C]of T.missing)if(C<getState(b,R)){g=!0;break}if(E){for(const[R,C]of E.missing){const A=T.missing.get(R);(A==null||A>C)&&T.missing.set(R,C)}T.update=mergeUpdatesV2([T.update,E.update])}}else b.pendingStructs=E;const _=readAndApplyDeleteSet(p,m,b);if(b.pendingDs){const R=new UpdateDecoderV2(createDecoder(b.pendingDs));readVarUint(R.restDecoder);const C=readAndApplyDeleteSet(R,m,b);_&&C?b.pendingDs=mergeUpdatesV2([_,C]):b.pendingDs=_||C}else b.pendingDs=_;if(g){const R=b.pendingStructs.update;b.pendingStructs=null,applyUpdateV2(m.doc,R)}},d,!1),applyUpdateV2=(u,n,d,p=UpdateDecoderV2)=>{const m=createDecoder(n);readUpdateV2(m,u,d,new p(m))};class EventHandler{constructor(){this.l=[]}}const createEventHandler=()=>new EventHandler,addEventHandlerListener=(u,n)=>u.l.push(n),removeEventHandlerListener=(u,n)=>{const d=u.l,p=d.length;u.l=d.filter(m=>n!==m),u.l.length},callEventHandlerListeners=(u,n,d)=>callAll(u.l,[n,d]);class ID{constructor(n,d){this.client=n,this.clock=d}}const compareIDs=(u,n)=>u===n||u!==null&&n!==null&&u.client===n.client&&u.clock===n.clock,createID=(u,n)=>new ID(u,n),findRootTypeKey=u=>{for(const[n,d]of u.doc.share.entries())if(d===u)return n;throw unexpectedCase()},isParentOf=(u,n)=>{for(;n!==null;){if(n.parent===u)return!0;n=n.parent._item}return!1};class RelativePosition{constructor(n,d,p,m=0){this.type=n,this.tname=d,this.item=p,this.assoc=m}}class AbsolutePosition{constructor(n,d,p=0){this.type=n,this.index=d,this.assoc=p}}const createAbsolutePosition=(u,n,d=0)=>new AbsolutePosition(u,n,d),createRelativePosition$1=(u,n,d)=>{let p=null,m=null;return u._item===null?m=findRootTypeKey(u):p=createID(u._item.id.client,u._item.id.clock),new RelativePosition(p,m,n,d)},createRelativePositionFromTypeIndex=(u,n,d=0)=>{let p=u._start;if(d<0){if(n===0)return createRelativePosition$1(u,null,d);n--}for(;p!==null;){if(!p.deleted&&p.countable){if(p.length>n)return createRelativePosition$1(u,createID(p.id.client,p.id.clock+n),d);n-=p.length}if(p.right===null&&d<0)return createRelativePosition$1(u,p.lastId,d);p=p.right}return createRelativePosition$1(u,null,d)},getItemWithOffset=(u,n)=>{const d=getItem(u,n),p=n.clock-d.id.clock;return{item:d,diff:p}},createAbsolutePositionFromRelativePosition=(u,n,d=!0)=>{const p=n.store,m=u.item,g=u.type,y=u.tname,b=u.assoc;let S=null,E=0;if(m!==null){if(getState(p,m.client)<=m.clock)return null;const T=d?followRedone(p,m):getItemWithOffset(p,m),_=T.item;if(!(_ instanceof Item))return null;if(S=_.parent,S._item===null||!S._item.deleted){E=_.deleted||!_.countable?0:T.diff+(b>=0?0:1);let R=_.left;for(;R!==null;)!R.deleted&&R.countable&&(E+=R.length),R=R.left}}else{if(y!==null)S=n.get(y);else if(g!==null){if(getState(p,g.client)<=g.clock)return null;const{item:T}=d?followRedone(p,g):{item:getItem(p,g)};if(T instanceof Item&&T.content instanceof ContentType)S=T.content.type;else return null}else throw unexpectedCase();b>=0?E=S._length:E=0}return createAbsolutePosition(S,E,u.assoc)};class Snapshot{constructor(n,d){this.ds=n,this.sv=d}}const createSnapshot=(u,n)=>new Snapshot(u,n),snapshot=u=>createSnapshot(createDeleteSetFromStructStore(u.store),getStateVector(u.store)),isVisible$1=(u,n)=>n===void 0?!u.deleted:n.sv.has(u.id.client)&&(n.sv.get(u.id.client)||0)>u.id.clock&&!isDeleted(n.ds,u.id),splitSnapshotAffectedStructs=(u,n)=>{const d=setIfUndefined(u.meta,splitSnapshotAffectedStructs,create$4),p=u.doc.store;d.has(n)||(n.sv.forEach((m,g)=>{m<getState(p,g)&&getItemCleanStart(u,createID(g,m))}),iterateDeletedStructs(u,n.ds,m=>{}),d.add(n))};class StructStore{constructor(){this.clients=new Map,this.pendingStructs=null,this.pendingDs=null}}const getStateVector=u=>{const n=new Map;return u.clients.forEach((d,p)=>{const m=d[d.length-1];n.set(p,m.id.clock+m.length)}),n},getState=(u,n)=>{const d=u.clients.get(n);if(d===void 0)return 0;const p=d[d.length-1];return p.id.clock+p.length},addStruct=(u,n)=>{let d=u.clients.get(n.id.client);if(d===void 0)d=[],u.clients.set(n.id.client,d);else{const p=d[d.length-1];if(p.id.clock+p.length!==n.id.clock)throw unexpectedCase()}d.push(n)},findIndexSS=(u,n)=>{let d=0,p=u.length-1,m=u[p],g=m.id.clock;if(g===n)return p;let y=floor(n/(g+m.length-1)*p);for(;d<=p;){if(m=u[y],g=m.id.clock,g<=n){if(n<g+m.length)return y;d=y+1}else p=y-1;y=floor((d+p)/2)}throw unexpectedCase()},find=(u,n)=>{const d=u.clients.get(n.client);return d[findIndexSS(d,n.clock)]},getItem=find,findIndexCleanStart=(u,n,d)=>{const p=findIndexSS(n,d),m=n[p];return m.id.clock<d&&m instanceof Item?(n.splice(p+1,0,splitItem(u,m,d-m.id.clock)),p+1):p},getItemCleanStart=(u,n)=>{const d=u.doc.store.clients.get(n.client);return d[findIndexCleanStart(u,d,n.clock)]},getItemCleanEnd=(u,n,d)=>{const p=n.clients.get(d.client),m=findIndexSS(p,d.clock),g=p[m];return d.clock!==g.id.clock+g.length-1&&g.constructor!==GC&&p.splice(m+1,0,splitItem(u,g,d.clock-g.id.clock+1)),g},replaceStruct=(u,n,d)=>{const p=u.clients.get(n.id.client);p[findIndexSS(p,n.id.clock)]=d},iterateStructs=(u,n,d,p,m)=>{if(p===0)return;const g=d+p;let y=findIndexCleanStart(u,n,d),b;do b=n[y++],g<b.id.clock+b.length&&findIndexCleanStart(u,n,g),m(b);while(y<n.length&&n[y].id.clock<g)};class Transaction{constructor(n,d,p){this.doc=n,this.deleteSet=new DeleteSet,this.beforeState=getStateVector(n.store),this.afterState=new Map,this.changed=new Map,this.changedParentTypes=new Map,this._mergeStructs=[],this.origin=d,this.meta=new Map,this.local=p,this.subdocsAdded=new Set,this.subdocsRemoved=new Set,this.subdocsLoaded=new Set,this._needFormattingCleanup=!1}}const writeUpdateMessageFromTransaction=(u,n)=>n.deleteSet.clients.size===0&&!any(n.afterState,(d,p)=>n.beforeState.get(p)!==d)?!1:(sortAndMergeDeleteSet(n.deleteSet),writeStructsFromTransaction(u,n),writeDeleteSet(u,n.deleteSet),!0),addChangedTypeToTransaction=(u,n,d)=>{const p=n._item;(p===null||p.id.clock<(u.beforeState.get(p.id.client)||0)&&!p.deleted)&&setIfUndefined(u.changed,n,create$4).add(d)},tryToMergeWithLefts=(u,n)=>{let d=u[n],p=u[n-1],m=n;for(;m>0;d=p,p=u[--m-1]){if(p.deleted===d.deleted&&p.constructor===d.constructor&&p.mergeWith(d)){d instanceof Item&&d.parentSub!==null&&d.parent._map.get(d.parentSub)===d&&d.parent._map.set(d.parentSub,p);continue}break}const g=n-m;return g&&u.splice(n+1-g,g),g},tryGcDeleteSet=(u,n,d)=>{for(const[p,m]of u.clients.entries()){const g=n.clients.get(p);for(let y=m.length-1;y>=0;y--){const b=m[y],S=b.clock+b.len;for(let E=findIndexSS(g,b.clock),T=g[E];E<g.length&&T.id.clock<S;T=g[++E]){const _=g[E];if(b.clock+b.len<=_.id.clock)break;_ instanceof Item&&_.deleted&&!_.keep&&d(_)&&_.gc(n,!1)}}}},tryMergeDeleteSet=(u,n)=>{u.clients.forEach((d,p)=>{const m=n.clients.get(p);for(let g=d.length-1;g>=0;g--){const y=d[g],b=min(m.length-1,1+findIndexSS(m,y.clock+y.len-1));for(let S=b,E=m[S];S>0&&E.id.clock>=y.clock;E=m[S])S-=1+tryToMergeWithLefts(m,S)}})},cleanupTransactions=(u,n)=>{if(n<u.length){const d=u[n],p=d.doc,m=p.store,g=d.deleteSet,y=d._mergeStructs;try{sortAndMergeDeleteSet(g),d.afterState=getStateVector(d.doc.store),p.emit("beforeObserverCalls",[d,p]);const b=[];d.changed.forEach((S,E)=>b.push(()=>{(E._item===null||!E._item.deleted)&&E._callObserver(d,S)})),b.push(()=>{d.changedParentTypes.forEach((S,E)=>{E._dEH.l.length>0&&(E._item===null||!E._item.deleted)&&(S=S.filter(T=>T.target._item===null||!T.target._item.deleted),S.forEach(T=>{T.currentTarget=E,T._path=null}),S.sort((T,_)=>T.path.length-_.path.length),b.push(()=>{callEventHandlerListeners(E._dEH,S,d)}))}),b.push(()=>p.emit("afterTransaction",[d,p])),b.push(()=>{d._needFormattingCleanup&&cleanupYTextAfterTransaction(d)})}),callAll(b,[])}finally{p.gc&&tryGcDeleteSet(g,m,p.gcFilter),tryMergeDeleteSet(g,m),d.afterState.forEach((T,_)=>{const R=d.beforeState.get(_)||0;if(R!==T){const C=m.clients.get(_),A=max(findIndexSS(C,R),1);for(let k=C.length-1;k>=A;)k-=1+tryToMergeWithLefts(C,k)}});for(let T=y.length-1;T>=0;T--){const{client:_,clock:R}=y[T].id,C=m.clients.get(_),A=findIndexSS(C,R);A+1<C.length&&tryToMergeWithLefts(C,A+1)>1||A>0&&tryToMergeWithLefts(C,A)}if(!d.local&&d.afterState.get(p.clientID)!==d.beforeState.get(p.clientID)&&(print(ORANGE,BOLD,"[yjs] ",UNBOLD,RED,"Changed the client-id because another client seems to be using it."),p.clientID=generateNewClientId()),p.emit("afterTransactionCleanup",[d,p]),p._observers.has("update")){const T=new UpdateEncoderV1;writeUpdateMessageFromTransaction(T,d)&&p.emit("update",[T.toUint8Array(),d.origin,p,d])}if(p._observers.has("updateV2")){const T=new UpdateEncoderV2;writeUpdateMessageFromTransaction(T,d)&&p.emit("updateV2",[T.toUint8Array(),d.origin,p,d])}const{subdocsAdded:b,subdocsLoaded:S,subdocsRemoved:E}=d;(b.size>0||E.size>0||S.size>0)&&(b.forEach(T=>{T.clientID=p.clientID,T.collectionid==null&&(T.collectionid=p.collectionid),p.subdocs.add(T)}),E.forEach(T=>p.subdocs.delete(T)),p.emit("subdocs",[{loaded:S,added:b,removed:E},p,d]),E.forEach(T=>T.destroy())),u.length<=n+1?(p._transactionCleanups=[],p.emit("afterAllTransactions",[p,u])):cleanupTransactions(u,n+1)}}},transact=(u,n,d=null,p=!0)=>{const m=u._transactionCleanups;let g=!1,y=null;u._transaction===null&&(g=!0,u._transaction=new Transaction(u,d,p),m.push(u._transaction),m.length===1&&u.emit("beforeAllTransactions",[u]),u.emit("beforeTransaction",[u._transaction,u]));try{y=n(u._transaction)}finally{if(g){const b=u._transaction===m[0];u._transaction=null,b&&cleanupTransactions(m,0)}}return y};class StackItem{constructor(n,d){this.insertions=d,this.deletions=n,this.meta=new Map}}const clearUndoManagerStackItem=(u,n,d)=>{iterateDeletedStructs(u,d.deletions,p=>{p instanceof Item&&n.scope.some(m=>m===u.doc||isParentOf(m,p))&&keepItem(p,!1)})},popStackItem=(u,n,d)=>{let p=null;const m=u.doc,g=u.scope;transact(m,b=>{for(;n.length>0&&u.currStackItem===null;){const S=m.store,E=n.pop(),T=new Set,_=[];let R=!1;iterateDeletedStructs(b,E.insertions,C=>{if(C instanceof Item){if(C.redone!==null){let{item:A,diff:k}=followRedone(S,C.id);k>0&&(A=getItemCleanStart(b,createID(A.id.client,A.id.clock+k))),C=A}!C.deleted&&g.some(A=>A===b.doc||isParentOf(A,C))&&_.push(C)}}),iterateDeletedStructs(b,E.deletions,C=>{C instanceof Item&&g.some(A=>A===b.doc||isParentOf(A,C))&&!isDeleted(E.insertions,C.id)&&T.add(C)}),T.forEach(C=>{R=redoItem(b,C,T,E.insertions,u.ignoreRemoteMapChanges,u)!==null||R});for(let C=_.length-1;C>=0;C--){const A=_[C];u.deleteFilter(A)&&(A.delete(b),R=!0)}u.currStackItem=R?E:null}b.changed.forEach((S,E)=>{S.has(null)&&E._searchMarker&&(E._searchMarker.length=0)}),p=b},u);const y=u.currStackItem;if(y!=null){const b=p.changedParentTypes;u.emit("stack-item-popped",[{stackItem:y,type:d,changedParentTypes:b,origin:u},u]),u.currStackItem=null}return y};class UndoManager extends ObservableV2{constructor(n,{captureTimeout:d=500,captureTransaction:p=S=>!0,deleteFilter:m=()=>!0,trackedOrigins:g=new Set([null]),ignoreRemoteMapChanges:y=!1,doc:b=isArray(n)?n[0].doc:n instanceof Doc?n:n.doc}={}){super(),this.scope=[],this.doc=b,this.addToScope(n),this.deleteFilter=m,g.add(this),this.trackedOrigins=g,this.captureTransaction=p,this.undoStack=[],this.redoStack=[],this.undoing=!1,this.redoing=!1,this.currStackItem=null,this.lastChange=0,this.ignoreRemoteMapChanges=y,this.captureTimeout=d,this.afterTransactionHandler=S=>{if(!this.captureTransaction(S)||!this.scope.some(I=>S.changedParentTypes.has(I)||I===this.doc)||!this.trackedOrigins.has(S.origin)&&(!S.origin||!this.trackedOrigins.has(S.origin.constructor)))return;const E=this.undoing,T=this.redoing,_=E?this.redoStack:this.undoStack;E?this.stopCapturing():T||this.clear(!1,!0);const R=new DeleteSet;S.afterState.forEach((I,P)=>{const D=S.beforeState.get(P)||0,O=I-D;O>0&&addToDeleteSet(R,P,D,O)});const C=getUnixTime();let A=!1;if(this.lastChange>0&&C-this.lastChange<this.captureTimeout&&_.length>0&&!E&&!T){const I=_[_.length-1];I.deletions=mergeDeleteSets([I.deletions,S.deleteSet]),I.insertions=mergeDeleteSets([I.insertions,R])}else _.push(new StackItem(S.deleteSet,R)),A=!0;!E&&!T&&(this.lastChange=C),iterateDeletedStructs(S,S.deleteSet,I=>{I instanceof Item&&this.scope.some(P=>P===S.doc||isParentOf(P,I))&&keepItem(I,!0)});const k=[{stackItem:_[_.length-1],origin:S.origin,type:E?"redo":"undo",changedParentTypes:S.changedParentTypes},this];A?this.emit("stack-item-added",k):this.emit("stack-item-updated",k)},this.doc.on("afterTransaction",this.afterTransactionHandler),this.doc.on("destroy",()=>{this.destroy()})}addToScope(n){const d=new Set(this.scope);n=isArray(n)?n:[n],n.forEach(p=>{d.has(p)||(d.add(p),(p instanceof AbstractType?p.doc!==this.doc:p!==this.doc)&&warn("[yjs#509] Not same Y.Doc"),this.scope.push(p))})}addTrackedOrigin(n){this.trackedOrigins.add(n)}removeTrackedOrigin(n){this.trackedOrigins.delete(n)}clear(n=!0,d=!0){(n&&this.canUndo()||d&&this.canRedo())&&this.doc.transact(p=>{n&&(this.undoStack.forEach(m=>clearUndoManagerStackItem(p,this,m)),this.undoStack=[]),d&&(this.redoStack.forEach(m=>clearUndoManagerStackItem(p,this,m)),this.redoStack=[]),this.emit("stack-cleared",[{undoStackCleared:n,redoStackCleared:d}])})}stopCapturing(){this.lastChange=0}undo(){this.undoing=!0;let n;try{n=popStackItem(this,this.undoStack,"undo")}finally{this.undoing=!1}return n}redo(){this.redoing=!0;let n;try{n=popStackItem(this,this.redoStack,"redo")}finally{this.redoing=!1}return n}canUndo(){return this.undoStack.length>0}canRedo(){return this.redoStack.length>0}destroy(){this.trackedOrigins.delete(this),this.doc.off("afterTransaction",this.afterTransactionHandler),super.destroy()}}function*lazyStructReaderGenerator(u){const n=readVarUint(u.restDecoder);for(let d=0;d<n;d++){const p=readVarUint(u.restDecoder),m=u.readClient();let g=readVarUint(u.restDecoder);for(let y=0;y<p;y++){const b=u.readInfo();if(b===10){const S=readVarUint(u.restDecoder);yield new Skip(createID(m,g),S),g+=S}else if((BITS5&b)!==0){const S=(b&(BIT7|BIT8))===0,E=new Item(createID(m,g),null,(b&BIT8)===BIT8?u.readLeftID():null,null,(b&BIT7)===BIT7?u.readRightID():null,S?u.readParentInfo()?u.readString():u.readLeftID():null,S&&(b&BIT6)===BIT6?u.readString():null,readItemContent(u,b));yield E,g+=E.length}else{const S=u.readLen();yield new GC(createID(m,g),S),g+=S}}}}class LazyStructReader{constructor(n,d){this.gen=lazyStructReaderGenerator(n),this.curr=null,this.done=!1,this.filterSkips=d,this.next()}next(){do this.curr=this.gen.next().value||null;while(this.filterSkips&&this.curr!==null&&this.curr.constructor===Skip);return this.curr}}class LazyStructWriter{constructor(n){this.currClient=0,this.startClock=0,this.written=0,this.encoder=n,this.clientStructs=[]}}const sliceStruct=(u,n)=>{if(u.constructor===GC){const{client:d,clock:p}=u.id;return new GC(createID(d,p+n),u.length-n)}else if(u.constructor===Skip){const{client:d,clock:p}=u.id;return new Skip(createID(d,p+n),u.length-n)}else{const d=u,{client:p,clock:m}=d.id;return new Item(createID(p,m+n),null,createID(p,m+n-1),null,d.rightOrigin,d.parent,d.parentSub,d.content.splice(n))}},mergeUpdatesV2=(u,n=UpdateDecoderV2,d=UpdateEncoderV2)=>{if(u.length===1)return u[0];const p=u.map(T=>new n(createDecoder(T)));let m=p.map(T=>new LazyStructReader(T,!0)),g=null;const y=new d,b=new LazyStructWriter(y);for(;m=m.filter(R=>R.curr!==null),m.sort((R,C)=>{if(R.curr.id.client===C.curr.id.client){const A=R.curr.id.clock-C.curr.id.clock;return A===0?R.curr.constructor===C.curr.constructor?0:R.curr.constructor===Skip?1:-1:A}else return C.curr.id.client-R.curr.id.client}),m.length!==0;){const T=m[0],_=T.curr.id.client;if(g!==null){let R=T.curr,C=!1;for(;R!==null&&R.id.clock+R.length<=g.struct.id.clock+g.struct.length&&R.id.client>=g.struct.id.client;)R=T.next(),C=!0;if(R===null||R.id.client!==_||C&&R.id.clock>g.struct.id.clock+g.struct.length)continue;if(_!==g.struct.id.client)writeStructToLazyStructWriter(b,g.struct,g.offset),g={struct:R,offset:0},T.next();else if(g.struct.id.clock+g.struct.length<R.id.clock)if(g.struct.constructor===Skip)g.struct.length=R.id.clock+R.length-g.struct.id.clock;else{writeStructToLazyStructWriter(b,g.struct,g.offset);const A=R.id.clock-g.struct.id.clock-g.struct.length;g={struct:new Skip(createID(_,g.struct.id.clock+g.struct.length),A),offset:0}}else{const A=g.struct.id.clock+g.struct.length-R.id.clock;A>0&&(g.struct.constructor===Skip?g.struct.length-=A:R=sliceStruct(R,A)),g.struct.mergeWith(R)||(writeStructToLazyStructWriter(b,g.struct,g.offset),g={struct:R,offset:0},T.next())}}else g={struct:T.curr,offset:0},T.next();for(let R=T.curr;R!==null&&R.id.client===_&&R.id.clock===g.struct.id.clock+g.struct.length&&R.constructor!==Skip;R=T.next())writeStructToLazyStructWriter(b,g.struct,g.offset),g={struct:R,offset:0}}g!==null&&(writeStructToLazyStructWriter(b,g.struct,g.offset),g=null),finishLazyStructWriting(b);const S=p.map(T=>readDeleteSet(T)),E=mergeDeleteSets(S);return writeDeleteSet(y,E),y.toUint8Array()},flushLazyStructWriter=u=>{u.written>0&&(u.clientStructs.push({written:u.written,restEncoder:toUint8Array(u.encoder.restEncoder)}),u.encoder.restEncoder=createEncoder(),u.written=0)},writeStructToLazyStructWriter=(u,n,d)=>{u.written>0&&u.currClient!==n.id.client&&flushLazyStructWriter(u),u.written===0&&(u.currClient=n.id.client,u.encoder.writeClient(n.id.client),writeVarUint(u.encoder.restEncoder,n.id.clock+d)),n.write(u.encoder,d),u.written++},finishLazyStructWriting=u=>{flushLazyStructWriter(u);const n=u.encoder.restEncoder;writeVarUint(n,u.clientStructs.length);for(let d=0;d<u.clientStructs.length;d++){const p=u.clientStructs[d];writeVarUint(n,p.written),writeUint8Array(n,p.restEncoder)}},errorComputeChanges="You must not compute changes after the event-handler fired.";class YEvent{constructor(n,d){this.target=n,this.currentTarget=n,this.transaction=d,this._changes=null,this._keys=null,this._delta=null,this._path=null}get path(){return this._path||(this._path=getPathTo(this.currentTarget,this.target))}deletes(n){return isDeleted(this.transaction.deleteSet,n.id)}get keys(){if(this._keys===null){if(this.transaction.doc._transactionCleanups.length===0)throw create$3(errorComputeChanges);const n=new Map,d=this.target;this.transaction.changed.get(d).forEach(m=>{if(m!==null){const g=d._map.get(m);let y,b;if(this.adds(g)){let S=g.left;for(;S!==null&&this.adds(S);)S=S.left;if(this.deletes(g))if(S!==null&&this.deletes(S))y="delete",b=last(S.content.getContent());else return;else S!==null&&this.deletes(S)?(y="update",b=last(S.content.getContent())):(y="add",b=void 0)}else if(this.deletes(g))y="delete",b=last(g.content.getContent());else return;n.set(m,{action:y,oldValue:b})}}),this._keys=n}return this._keys}get delta(){return this.changes.delta}adds(n){return n.id.clock>=(this.transaction.beforeState.get(n.id.client)||0)}get changes(){let n=this._changes;if(n===null){if(this.transaction.doc._transactionCleanups.length===0)throw create$3(errorComputeChanges);const d=this.target,p=create$4(),m=create$4(),g=[];if(n={added:p,deleted:m,delta:g,keys:this.keys},this.transaction.changed.get(d).has(null)){let b=null;const S=()=>{b&&g.push(b)};for(let E=d._start;E!==null;E=E.right)E.deleted?this.deletes(E)&&!this.adds(E)&&((b===null||b.delete===void 0)&&(S(),b={delete:0}),b.delete+=E.length,m.add(E)):this.adds(E)?((b===null||b.insert===void 0)&&(S(),b={insert:[]}),b.insert=b.insert.concat(E.content.getContent()),p.add(E)):((b===null||b.retain===void 0)&&(S(),b={retain:0}),b.retain+=E.length);b!==null&&b.retain===void 0&&S()}this._changes=n}return n}}const getPathTo=(u,n)=>{const d=[];for(;n._item!==null&&n!==u;){if(n._item.parentSub!==null)d.unshift(n._item.parentSub);else{let p=0,m=n._item.parent._start;for(;m!==n._item&&m!==null;)!m.deleted&&m.countable&&(p+=m.length),m=m.right;d.unshift(p)}n=n._item.parent}return d},warnPrematureAccess=()=>{warn("Invalid access: Add Yjs type to a document before reading data.")},maxSearchMarker=80;let globalSearchMarkerTimestamp=0;class ArraySearchMarker{constructor(n,d){n.marker=!0,this.p=n,this.index=d,this.timestamp=globalSearchMarkerTimestamp++}}const refreshMarkerTimestamp=u=>{u.timestamp=globalSearchMarkerTimestamp++},overwriteMarker=(u,n,d)=>{u.p.marker=!1,u.p=n,n.marker=!0,u.index=d,u.timestamp=globalSearchMarkerTimestamp++},markPosition=(u,n,d)=>{if(u.length>=maxSearchMarker){const p=u.reduce((m,g)=>m.timestamp<g.timestamp?m:g);return overwriteMarker(p,n,d),p}else{const p=new ArraySearchMarker(n,d);return u.push(p),p}},findMarker=(u,n)=>{if(u._start===null||n===0||u._searchMarker===null)return null;const d=u._searchMarker.length===0?null:u._searchMarker.reduce((g,y)=>abs(n-g.index)<abs(n-y.index)?g:y);let p=u._start,m=0;for(d!==null&&(p=d.p,m=d.index,refreshMarkerTimestamp(d));p.right!==null&&m<n;){if(!p.deleted&&p.countable){if(n<m+p.length)break;m+=p.length}p=p.right}for(;p.left!==null&&m>n;)p=p.left,!p.deleted&&p.countable&&(m-=p.length);for(;p.left!==null&&p.left.id.client===p.id.client&&p.left.id.clock+p.left.length===p.id.clock;)p=p.left,!p.deleted&&p.countable&&(m-=p.length);return d!==null&&abs(d.index-m)<p.parent.length/maxSearchMarker?(overwriteMarker(d,p,m),d):markPosition(u._searchMarker,p,m)},updateMarkerChanges=(u,n,d)=>{for(let p=u.length-1;p>=0;p--){const m=u[p];if(d>0){let g=m.p;for(g.marker=!1;g&&(g.deleted||!g.countable);)g=g.left,g&&!g.deleted&&g.countable&&(m.index-=g.length);if(g===null||g.marker===!0){u.splice(p,1);continue}m.p=g,g.marker=!0}(n<m.index||d>0&&n===m.index)&&(m.index=max(n,m.index+d))}},callTypeObservers=(u,n,d)=>{const p=u,m=n.changedParentTypes;for(;setIfUndefined(m,u,()=>[]).push(d),u._item!==null;)u=u._item.parent;callEventHandlerListeners(p._eH,d,n)};class AbstractType{constructor(){this._item=null,this._map=new Map,this._start=null,this.doc=null,this._length=0,this._eH=createEventHandler(),this._dEH=createEventHandler(),this._searchMarker=null}get parent(){return this._item?this._item.parent:null}_integrate(n,d){this.doc=n,this._item=d}_copy(){throw methodUnimplemented()}clone(){throw methodUnimplemented()}_write(n){}get _first(){let n=this._start;for(;n!==null&&n.deleted;)n=n.right;return n}_callObserver(n,d){!n.local&&this._searchMarker&&(this._searchMarker.length=0)}observe(n){addEventHandlerListener(this._eH,n)}observeDeep(n){addEventHandlerListener(this._dEH,n)}unobserve(n){removeEventHandlerListener(this._eH,n)}unobserveDeep(n){removeEventHandlerListener(this._dEH,n)}toJSON(){}}const typeListSlice=(u,n,d)=>{u.doc??warnPrematureAccess(),n<0&&(n=u._length+n),d<0&&(d=u._length+d);let p=d-n;const m=[];let g=u._start;for(;g!==null&&p>0;){if(g.countable&&!g.deleted){const y=g.content.getContent();if(y.length<=n)n-=y.length;else{for(let b=n;b<y.length&&p>0;b++)m.push(y[b]),p--;n=0}}g=g.right}return m},typeListToArray=u=>{u.doc??warnPrematureAccess();const n=[];let d=u._start;for(;d!==null;){if(d.countable&&!d.deleted){const p=d.content.getContent();for(let m=0;m<p.length;m++)n.push(p[m])}d=d.right}return n},typeListToArraySnapshot=(u,n)=>{const d=[];let p=u._start;for(;p!==null;){if(p.countable&&isVisible$1(p,n)){const m=p.content.getContent();for(let g=0;g<m.length;g++)d.push(m[g])}p=p.right}return d},typeListForEach=(u,n)=>{let d=0,p=u._start;for(u.doc??warnPrematureAccess();p!==null;){if(p.countable&&!p.deleted){const m=p.content.getContent();for(let g=0;g<m.length;g++)n(m[g],d++,u)}p=p.right}},typeListMap=(u,n)=>{const d=[];return typeListForEach(u,(p,m)=>{d.push(n(p,m,u))}),d},typeListCreateIterator=u=>{let n=u._start,d=null,p=0;return{[Symbol.iterator](){return this},next:()=>{if(d===null){for(;n!==null&&n.deleted;)n=n.right;if(n===null)return{done:!0,value:void 0};d=n.content.getContent(),p=0,n=n.right}const m=d[p++];return d.length<=p&&(d=null),{done:!1,value:m}}}},typeListGet=(u,n)=>{u.doc??warnPrematureAccess();const d=findMarker(u,n);let p=u._start;for(d!==null&&(p=d.p,n-=d.index);p!==null;p=p.right)if(!p.deleted&&p.countable){if(n<p.length)return p.content.getContent()[n];n-=p.length}},typeListInsertGenericsAfter=(u,n,d,p)=>{let m=d;const g=u.doc,y=g.clientID,b=g.store,S=d===null?n._start:d.right;let E=[];const T=()=>{E.length>0&&(m=new Item(createID(y,getState(b,y)),m,m&&m.lastId,S,S&&S.id,n,null,new ContentAny(E)),m.integrate(u,0),E=[])};p.forEach(_=>{if(_===null)E.push(_);else switch(_.constructor){case Number:case Object:case Boolean:case Array:case String:E.push(_);break;default:switch(T(),_.constructor){case Uint8Array:case ArrayBuffer:m=new Item(createID(y,getState(b,y)),m,m&&m.lastId,S,S&&S.id,n,null,new ContentBinary(new Uint8Array(_))),m.integrate(u,0);break;case Doc:m=new Item(createID(y,getState(b,y)),m,m&&m.lastId,S,S&&S.id,n,null,new ContentDoc(_)),m.integrate(u,0);break;default:if(_ instanceof AbstractType)m=new Item(createID(y,getState(b,y)),m,m&&m.lastId,S,S&&S.id,n,null,new ContentType(_)),m.integrate(u,0);else throw new Error("Unexpected content type in insert operation")}}}),T()},lengthExceeded=()=>create$3("Length exceeded!"),typeListInsertGenerics=(u,n,d,p)=>{if(d>n._length)throw lengthExceeded();if(d===0)return n._searchMarker&&updateMarkerChanges(n._searchMarker,d,p.length),typeListInsertGenericsAfter(u,n,null,p);const m=d,g=findMarker(n,d);let y=n._start;for(g!==null&&(y=g.p,d-=g.index,d===0&&(y=y.prev,d+=y&&y.countable&&!y.deleted?y.length:0));y!==null;y=y.right)if(!y.deleted&&y.countable){if(d<=y.length){d<y.length&&getItemCleanStart(u,createID(y.id.client,y.id.clock+d));break}d-=y.length}return n._searchMarker&&updateMarkerChanges(n._searchMarker,m,p.length),typeListInsertGenericsAfter(u,n,y,p)},typeListPushGenerics=(u,n,d)=>{let m=(n._searchMarker||[]).reduce((g,y)=>y.index>g.index?y:g,{index:0,p:n._start}).p;if(m)for(;m.right;)m=m.right;return typeListInsertGenericsAfter(u,n,m,d)},typeListDelete=(u,n,d,p)=>{if(p===0)return;const m=d,g=p,y=findMarker(n,d);let b=n._start;for(y!==null&&(b=y.p,d-=y.index);b!==null&&d>0;b=b.right)!b.deleted&&b.countable&&(d<b.length&&getItemCleanStart(u,createID(b.id.client,b.id.clock+d)),d-=b.length);for(;p>0&&b!==null;)b.deleted||(p<b.length&&getItemCleanStart(u,createID(b.id.client,b.id.clock+p)),b.delete(u),p-=b.length),b=b.right;if(p>0)throw lengthExceeded();n._searchMarker&&updateMarkerChanges(n._searchMarker,m,-g+p)},typeMapDelete=(u,n,d)=>{const p=n._map.get(d);p!==void 0&&p.delete(u)},typeMapSet=(u,n,d,p)=>{const m=n._map.get(d)||null,g=u.doc,y=g.clientID;let b;if(p==null)b=new ContentAny([p]);else switch(p.constructor){case Number:case Object:case Boolean:case Array:case String:case Date:case BigInt:b=new ContentAny([p]);break;case Uint8Array:b=new ContentBinary(p);break;case Doc:b=new ContentDoc(p);break;default:if(p instanceof AbstractType)b=new ContentType(p);else throw new Error("Unexpected content type")}new Item(createID(y,getState(g.store,y)),m,m&&m.lastId,null,null,n,d,b).integrate(u,0)},typeMapGet=(u,n)=>{u.doc??warnPrematureAccess();const d=u._map.get(n);return d!==void 0&&!d.deleted?d.content.getContent()[d.length-1]:void 0},typeMapGetAll=u=>{const n={};return u.doc??warnPrematureAccess(),u._map.forEach((d,p)=>{d.deleted||(n[p]=d.content.getContent()[d.length-1])}),n},typeMapHas=(u,n)=>{u.doc??warnPrematureAccess();const d=u._map.get(n);return d!==void 0&&!d.deleted},typeMapGetAllSnapshot=(u,n)=>{const d={};return u._map.forEach((p,m)=>{let g=p;for(;g!==null&&(!n.sv.has(g.id.client)||g.id.clock>=(n.sv.get(g.id.client)||0));)g=g.left;g!==null&&isVisible$1(g,n)&&(d[m]=g.content.getContent()[g.length-1])}),d},createMapIterator=u=>(u.doc??warnPrematureAccess(),iteratorFilter(u._map.entries(),n=>!n[1].deleted));class YArrayEvent extends YEvent{}class YArray extends AbstractType{constructor(){super(),this._prelimContent=[],this._searchMarker=[]}static from(n){const d=new YArray;return d.push(n),d}_integrate(n,d){super._integrate(n,d),this.insert(0,this._prelimContent),this._prelimContent=null}_copy(){return new YArray}clone(){const n=new YArray;return n.insert(0,this.toArray().map(d=>d instanceof AbstractType?d.clone():d)),n}get length(){return this.doc??warnPrematureAccess(),this._length}_callObserver(n,d){super._callObserver(n,d),callTypeObservers(this,n,new YArrayEvent(this,n))}insert(n,d){this.doc!==null?transact(this.doc,p=>{typeListInsertGenerics(p,this,n,d)}):this._prelimContent.splice(n,0,...d)}push(n){this.doc!==null?transact(this.doc,d=>{typeListPushGenerics(d,this,n)}):this._prelimContent.push(...n)}unshift(n){this.insert(0,n)}delete(n,d=1){this.doc!==null?transact(this.doc,p=>{typeListDelete(p,this,n,d)}):this._prelimContent.splice(n,d)}get(n){return typeListGet(this,n)}toArray(){return typeListToArray(this)}slice(n=0,d=this.length){return typeListSlice(this,n,d)}toJSON(){return this.map(n=>n instanceof AbstractType?n.toJSON():n)}map(n){return typeListMap(this,n)}forEach(n){typeListForEach(this,n)}[Symbol.iterator](){return typeListCreateIterator(this)}_write(n){n.writeTypeRef(YArrayRefID)}}const readYArray=u=>new YArray;class YMapEvent extends YEvent{constructor(n,d,p){super(n,d),this.keysChanged=p}}class YMap extends AbstractType{constructor(n){super(),this._prelimContent=null,n===void 0?this._prelimContent=new Map:this._prelimContent=new Map(n)}_integrate(n,d){super._integrate(n,d),this._prelimContent.forEach((p,m)=>{this.set(m,p)}),this._prelimContent=null}_copy(){return new YMap}clone(){const n=new YMap;return this.forEach((d,p)=>{n.set(p,d instanceof AbstractType?d.clone():d)}),n}_callObserver(n,d){callTypeObservers(this,n,new YMapEvent(this,n,d))}toJSON(){this.doc??warnPrematureAccess();const n={};return this._map.forEach((d,p)=>{if(!d.deleted){const m=d.content.getContent()[d.length-1];n[p]=m instanceof AbstractType?m.toJSON():m}}),n}get size(){return[...createMapIterator(this)].length}keys(){return iteratorMap(createMapIterator(this),n=>n[0])}values(){return iteratorMap(createMapIterator(this),n=>n[1].content.getContent()[n[1].length-1])}entries(){return iteratorMap(createMapIterator(this),n=>[n[0],n[1].content.getContent()[n[1].length-1]])}forEach(n){this.doc??warnPrematureAccess(),this._map.forEach((d,p)=>{d.deleted||n(d.content.getContent()[d.length-1],p,this)})}[Symbol.iterator](){return this.entries()}delete(n){this.doc!==null?transact(this.doc,d=>{typeMapDelete(d,this,n)}):this._prelimContent.delete(n)}set(n,d){return this.doc!==null?transact(this.doc,p=>{typeMapSet(p,this,n,d)}):this._prelimContent.set(n,d),d}get(n){return typeMapGet(this,n)}has(n){return typeMapHas(this,n)}clear(){this.doc!==null?transact(this.doc,n=>{this.forEach(function(d,p,m){typeMapDelete(n,m,p)})}):this._prelimContent.clear()}_write(n){n.writeTypeRef(YMapRefID)}}const readYMap=u=>new YMap,equalAttrs$1=(u,n)=>u===n||typeof u=="object"&&typeof n=="object"&&u&&n&&equalFlat(u,n);class ItemTextListPosition{constructor(n,d,p,m){this.left=n,this.right=d,this.index=p,this.currentAttributes=m}forward(){this.right===null&&unexpectedCase(),this.right.content.constructor===ContentFormat?this.right.deleted||updateCurrentAttributes(this.currentAttributes,this.right.content):this.right.deleted||(this.index+=this.right.length),this.left=this.right,this.right=this.right.right}}const findNextPosition=(u,n,d)=>{for(;n.right!==null&&d>0;)n.right.content.constructor===ContentFormat?n.right.deleted||updateCurrentAttributes(n.currentAttributes,n.right.content):n.right.deleted||(d<n.right.length&&getItemCleanStart(u,createID(n.right.id.client,n.right.id.clock+d)),n.index+=n.right.length,d-=n.right.length),n.left=n.right,n.right=n.right.right;return n},findPosition=(u,n,d,p)=>{const m=new Map,g=p?findMarker(n,d):null;if(g){const y=new ItemTextListPosition(g.p.left,g.p,g.index,m);return findNextPosition(u,y,d-g.index)}else{const y=new ItemTextListPosition(null,n._start,0,m);return findNextPosition(u,y,d)}},insertNegatedAttributes=(u,n,d,p)=>{for(;d.right!==null&&(d.right.deleted===!0||d.right.content.constructor===ContentFormat&&equalAttrs$1(p.get(d.right.content.key),d.right.content.value));)d.right.deleted||p.delete(d.right.content.key),d.forward();const m=u.doc,g=m.clientID;p.forEach((y,b)=>{const S=d.left,E=d.right,T=new Item(createID(g,getState(m.store,g)),S,S&&S.lastId,E,E&&E.id,n,null,new ContentFormat(b,y));T.integrate(u,0),d.right=T,d.forward()})},updateCurrentAttributes=(u,n)=>{const{key:d,value:p}=n;p===null?u.delete(d):u.set(d,p)},minimizeAttributeChanges=(u,n)=>{for(;u.right!==null;){if(!(u.right.deleted||u.right.content.constructor===ContentFormat&&equalAttrs$1(n[u.right.content.key]??null,u.right.content.value)))break;u.forward()}},insertAttributes=(u,n,d,p)=>{const m=u.doc,g=m.clientID,y=new Map;for(const b in p){const S=p[b],E=d.currentAttributes.get(b)??null;if(!equalAttrs$1(E,S)){y.set(b,E);const{left:T,right:_}=d;d.right=new Item(createID(g,getState(m.store,g)),T,T&&T.lastId,_,_&&_.id,n,null,new ContentFormat(b,S)),d.right.integrate(u,0),d.forward()}}return y},insertText=(u,n,d,p,m)=>{d.currentAttributes.forEach((R,C)=>{m[C]===void 0&&(m[C]=null)});const g=u.doc,y=g.clientID;minimizeAttributeChanges(d,m);const b=insertAttributes(u,n,d,m),S=p.constructor===String?new ContentString(p):p instanceof AbstractType?new ContentType(p):new ContentEmbed(p);let{left:E,right:T,index:_}=d;n._searchMarker&&updateMarkerChanges(n._searchMarker,d.index,S.getLength()),T=new Item(createID(y,getState(g.store,y)),E,E&&E.lastId,T,T&&T.id,n,null,S),T.integrate(u,0),d.right=T,d.index=_,d.forward(),insertNegatedAttributes(u,n,d,b)},formatText=(u,n,d,p,m)=>{const g=u.doc,y=g.clientID;minimizeAttributeChanges(d,m);const b=insertAttributes(u,n,d,m);e:for(;d.right!==null&&(p>0||b.size>0&&(d.right.deleted||d.right.content.constructor===ContentFormat));){if(!d.right.deleted)switch(d.right.content.constructor){case ContentFormat:{const{key:S,value:E}=d.right.content,T=m[S];if(T!==void 0){if(equalAttrs$1(T,E))b.delete(S);else{if(p===0)break e;b.set(S,E)}d.right.delete(u)}else d.currentAttributes.set(S,E);break}default:p<d.right.length&&getItemCleanStart(u,createID(d.right.id.client,d.right.id.clock+p)),p-=d.right.length;break}d.forward()}if(p>0){let S="";for(;p>0;p--)S+=`
253
253
  `;d.right=new Item(createID(y,getState(g.store,y)),d.left,d.left&&d.left.lastId,d.right,d.right&&d.right.id,n,null,new ContentString(S)),d.right.integrate(u,0),d.forward()}insertNegatedAttributes(u,n,d,b)},cleanupFormattingGap=(u,n,d,p,m)=>{let g=n;const y=create$5();for(;g&&(!g.countable||g.deleted);){if(!g.deleted&&g.content.constructor===ContentFormat){const E=g.content;y.set(E.key,E)}g=g.right}let b=0,S=!1;for(;n!==g;){if(d===n&&(S=!0),!n.deleted){const E=n.content;if(E.constructor===ContentFormat){const{key:T,value:_}=E,R=p.get(T)??null;(y.get(T)!==E||R===_)&&(n.delete(u),b++,!S&&(m.get(T)??null)===_&&R!==_&&(R===null?m.delete(T):m.set(T,R))),!S&&!n.deleted&&updateCurrentAttributes(m,E)}}n=n.right}return b},cleanupContextlessFormattingGap=(u,n)=>{for(;n&&n.right&&(n.right.deleted||!n.right.countable);)n=n.right;const d=new Set;for(;n&&(n.deleted||!n.countable);){if(!n.deleted&&n.content.constructor===ContentFormat){const p=n.content.key;d.has(p)?n.delete(u):d.add(p)}n=n.left}},cleanupYTextFormatting=u=>{let n=0;return transact(u.doc,d=>{let p=u._start,m=u._start,g=create$5();const y=copy(g);for(;m;)m.deleted===!1&&(m.content.constructor===ContentFormat?updateCurrentAttributes(y,m.content):(n+=cleanupFormattingGap(d,p,m,g,y),g=copy(y),p=m)),m=m.right}),n},cleanupYTextAfterTransaction=u=>{const n=new Set,d=u.doc;for(const[p,m]of u.afterState.entries()){const g=u.beforeState.get(p)||0;m!==g&&iterateStructs(u,d.store.clients.get(p),g,m,y=>{!y.deleted&&y.content.constructor===ContentFormat&&y.constructor!==GC&&n.add(y.parent)})}transact(d,p=>{iterateDeletedStructs(u,u.deleteSet,m=>{if(m instanceof GC||!m.parent._hasFormatting||n.has(m.parent))return;const g=m.parent;m.content.constructor===ContentFormat?n.add(g):cleanupContextlessFormattingGap(p,m)});for(const m of n)cleanupYTextFormatting(m)})},deleteText=(u,n,d)=>{const p=d,m=copy(n.currentAttributes),g=n.right;for(;d>0&&n.right!==null;){if(n.right.deleted===!1)switch(n.right.content.constructor){case ContentType:case ContentEmbed:case ContentString:d<n.right.length&&getItemCleanStart(u,createID(n.right.id.client,n.right.id.clock+d)),d-=n.right.length,n.right.delete(u);break}n.forward()}g&&cleanupFormattingGap(u,g,n.right,m,n.currentAttributes);const y=(n.left||n.right).parent;return y._searchMarker&&updateMarkerChanges(y._searchMarker,n.index,-p+d),n};class YTextEvent extends YEvent{constructor(n,d,p){super(n,d),this.childListChanged=!1,this.keysChanged=new Set,p.forEach(m=>{m===null?this.childListChanged=!0:this.keysChanged.add(m)})}get changes(){if(this._changes===null){const n={keys:this.keys,delta:this.delta,added:new Set,deleted:new Set};this._changes=n}return this._changes}get delta(){if(this._delta===null){const n=this.target.doc,d=[];transact(n,p=>{const m=new Map,g=new Map;let y=this.target._start,b=null;const S={};let E="",T=0,_=0;const R=()=>{if(b!==null){let C=null;switch(b){case"delete":_>0&&(C={delete:_}),_=0;break;case"insert":(typeof E=="object"||E.length>0)&&(C={insert:E},m.size>0&&(C.attributes={},m.forEach((A,k)=>{A!==null&&(C.attributes[k]=A)}))),E="";break;case"retain":T>0&&(C={retain:T},isEmpty(S)||(C.attributes=assign({},S))),T=0;break}C&&d.push(C),b=null}};for(;y!==null;){switch(y.content.constructor){case ContentType:case ContentEmbed:this.adds(y)?this.deletes(y)||(R(),b="insert",E=y.content.getContent()[0],R()):this.deletes(y)?(b!=="delete"&&(R(),b="delete"),_+=1):y.deleted||(b!=="retain"&&(R(),b="retain"),T+=1);break;case ContentString:this.adds(y)?this.deletes(y)||(b!=="insert"&&(R(),b="insert"),E+=y.content.str):this.deletes(y)?(b!=="delete"&&(R(),b="delete"),_+=y.length):y.deleted||(b!=="retain"&&(R(),b="retain"),T+=y.length);break;case ContentFormat:{const{key:C,value:A}=y.content;if(this.adds(y)){if(!this.deletes(y)){const k=m.get(C)??null;equalAttrs$1(k,A)?A!==null&&y.delete(p):(b==="retain"&&R(),equalAttrs$1(A,g.get(C)??null)?delete S[C]:S[C]=A)}}else if(this.deletes(y)){g.set(C,A);const k=m.get(C)??null;equalAttrs$1(k,A)||(b==="retain"&&R(),S[C]=k)}else if(!y.deleted){g.set(C,A);const k=S[C];k!==void 0&&(equalAttrs$1(k,A)?k!==null&&y.delete(p):(b==="retain"&&R(),A===null?delete S[C]:S[C]=A))}y.deleted||(b==="insert"&&R(),updateCurrentAttributes(m,y.content));break}}y=y.right}for(R();d.length>0;){const C=d[d.length-1];if(C.retain!==void 0&&C.attributes===void 0)d.pop();else break}}),this._delta=d}return this._delta}}class YText extends AbstractType{constructor(n){super(),this._pending=n!==void 0?[()=>this.insert(0,n)]:[],this._searchMarker=[],this._hasFormatting=!1}get length(){return this.doc??warnPrematureAccess(),this._length}_integrate(n,d){super._integrate(n,d);try{this._pending.forEach(p=>p())}catch{}this._pending=null}_copy(){return new YText}clone(){const n=new YText;return n.applyDelta(this.toDelta()),n}_callObserver(n,d){super._callObserver(n,d);const p=new YTextEvent(this,n,d);callTypeObservers(this,n,p),!n.local&&this._hasFormatting&&(n._needFormattingCleanup=!0)}toString(){this.doc??warnPrematureAccess();let n="",d=this._start;for(;d!==null;)!d.deleted&&d.countable&&d.content.constructor===ContentString&&(n+=d.content.str),d=d.right;return n}toJSON(){return this.toString()}applyDelta(n,{sanitize:d=!0}={}){this.doc!==null?transact(this.doc,p=>{const m=new ItemTextListPosition(null,this._start,0,new Map);for(let g=0;g<n.length;g++){const y=n[g];if(y.insert!==void 0){const b=!d&&typeof y.insert=="string"&&g===n.length-1&&m.right===null&&y.insert.slice(-1)===`
254
- `?y.insert.slice(0,-1):y.insert;(typeof b!="string"||b.length>0)&&insertText(p,this,m,b,y.attributes||{})}else y.retain!==void 0?formatText(p,this,m,y.retain,y.attributes||{}):y.delete!==void 0&&deleteText(p,m,y.delete)}}):this._pending.push(()=>this.applyDelta(n))}toDelta(n,d,p){this.doc??warnPrematureAccess();const m=[],g=new Map,y=this.doc;let b="",S=this._start;function E(){if(b.length>0){const _={};let R=!1;g.forEach((A,k)=>{R=!0,_[k]=A});const C={insert:b};R&&(C.attributes=_),m.push(C),b=""}}const T=()=>{for(;S!==null;){if(isVisible$1(S,n)||d!==void 0&&isVisible$1(S,d))switch(S.content.constructor){case ContentString:{const _=g.get("ychange");n!==void 0&&!isVisible$1(S,n)?(_===void 0||_.user!==S.id.client||_.type!=="removed")&&(E(),g.set("ychange",p?p("removed",S.id):{type:"removed"})):d!==void 0&&!isVisible$1(S,d)?(_===void 0||_.user!==S.id.client||_.type!=="added")&&(E(),g.set("ychange",p?p("added",S.id):{type:"added"})):_!==void 0&&(E(),g.delete("ychange")),b+=S.content.str;break}case ContentType:case ContentEmbed:{E();const _={insert:S.content.getContent()[0]};if(g.size>0){const R={};_.attributes=R,g.forEach((C,A)=>{R[A]=C})}m.push(_);break}case ContentFormat:isVisible$1(S,n)&&(E(),updateCurrentAttributes(g,S.content));break}S=S.right}E()};return n||d?transact(y,_=>{n&&splitSnapshotAffectedStructs(_,n),d&&splitSnapshotAffectedStructs(_,d),T()},"cleanup"):T(),m}insert(n,d,p){if(d.length<=0)return;const m=this.doc;m!==null?transact(m,g=>{const y=findPosition(g,this,n,!p);p||(p={},y.currentAttributes.forEach((b,S)=>{p[S]=b})),insertText(g,this,y,d,p)}):this._pending.push(()=>this.insert(n,d,p))}insertEmbed(n,d,p){const m=this.doc;m!==null?transact(m,g=>{const y=findPosition(g,this,n,!p);insertText(g,this,y,d,p||{})}):this._pending.push(()=>this.insertEmbed(n,d,p||{}))}delete(n,d){if(d===0)return;const p=this.doc;p!==null?transact(p,m=>{deleteText(m,findPosition(m,this,n,!0),d)}):this._pending.push(()=>this.delete(n,d))}format(n,d,p){if(d===0)return;const m=this.doc;m!==null?transact(m,g=>{const y=findPosition(g,this,n,!1);y.right!==null&&formatText(g,this,y,d,p)}):this._pending.push(()=>this.format(n,d,p))}removeAttribute(n){this.doc!==null?transact(this.doc,d=>{typeMapDelete(d,this,n)}):this._pending.push(()=>this.removeAttribute(n))}setAttribute(n,d){this.doc!==null?transact(this.doc,p=>{typeMapSet(p,this,n,d)}):this._pending.push(()=>this.setAttribute(n,d))}getAttribute(n){return typeMapGet(this,n)}getAttributes(){return typeMapGetAll(this)}_write(n){n.writeTypeRef(YTextRefID)}}const readYText=u=>new YText;class YXmlTreeWalker{constructor(n,d=()=>!0){this._filter=d,this._root=n,this._currentNode=n._start,this._firstCall=!0,n.doc??warnPrematureAccess()}[Symbol.iterator](){return this}next(){let n=this._currentNode,d=n&&n.content&&n.content.type;if(n!==null&&(!this._firstCall||n.deleted||!this._filter(d)))do if(d=n.content.type,!n.deleted&&(d.constructor===YXmlElement||d.constructor===YXmlFragment)&&d._start!==null)n=d._start;else for(;n!==null;){const p=n.next;if(p!==null){n=p;break}else n.parent===this._root?n=null:n=n.parent._item}while(n!==null&&(n.deleted||!this._filter(n.content.type)));return this._firstCall=!1,n===null?{value:void 0,done:!0}:(this._currentNode=n,{value:n.content.type,done:!1})}}class YXmlFragment extends AbstractType{constructor(){super(),this._prelimContent=[]}get firstChild(){const n=this._first;return n?n.content.getContent()[0]:null}_integrate(n,d){super._integrate(n,d),this.insert(0,this._prelimContent),this._prelimContent=null}_copy(){return new YXmlFragment}clone(){const n=new YXmlFragment;return n.insert(0,this.toArray().map(d=>d instanceof AbstractType?d.clone():d)),n}get length(){return this.doc??warnPrematureAccess(),this._prelimContent===null?this._length:this._prelimContent.length}createTreeWalker(n){return new YXmlTreeWalker(this,n)}querySelector(n){n=n.toUpperCase();const p=new YXmlTreeWalker(this,m=>m.nodeName&&m.nodeName.toUpperCase()===n).next();return p.done?null:p.value}querySelectorAll(n){return n=n.toUpperCase(),from(new YXmlTreeWalker(this,d=>d.nodeName&&d.nodeName.toUpperCase()===n))}_callObserver(n,d){callTypeObservers(this,n,new YXmlEvent(this,d,n))}toString(){return typeListMap(this,n=>n.toString()).join("")}toJSON(){return this.toString()}toDOM(n=document,d={},p){const m=n.createDocumentFragment();return p!==void 0&&p._createAssociation(m,this),typeListForEach(this,g=>{m.insertBefore(g.toDOM(n,d,p),null)}),m}insert(n,d){this.doc!==null?transact(this.doc,p=>{typeListInsertGenerics(p,this,n,d)}):this._prelimContent.splice(n,0,...d)}insertAfter(n,d){if(this.doc!==null)transact(this.doc,p=>{const m=n&&n instanceof AbstractType?n._item:n;typeListInsertGenericsAfter(p,this,m,d)});else{const p=this._prelimContent,m=n===null?0:p.findIndex(g=>g===n)+1;if(m===0&&n!==null)throw create$3("Reference item not found");p.splice(m,0,...d)}}delete(n,d=1){this.doc!==null?transact(this.doc,p=>{typeListDelete(p,this,n,d)}):this._prelimContent.splice(n,d)}toArray(){return typeListToArray(this)}push(n){this.insert(this.length,n)}unshift(n){this.insert(0,n)}get(n){return typeListGet(this,n)}slice(n=0,d=this.length){return typeListSlice(this,n,d)}forEach(n){typeListForEach(this,n)}_write(n){n.writeTypeRef(YXmlFragmentRefID)}}const readYXmlFragment=u=>new YXmlFragment;class YXmlElement extends YXmlFragment{constructor(n="UNDEFINED"){super(),this.nodeName=n,this._prelimAttrs=new Map}get nextSibling(){const n=this._item?this._item.next:null;return n?n.content.type:null}get prevSibling(){const n=this._item?this._item.prev:null;return n?n.content.type:null}_integrate(n,d){super._integrate(n,d),this._prelimAttrs.forEach((p,m)=>{this.setAttribute(m,p)}),this._prelimAttrs=null}_copy(){return new YXmlElement(this.nodeName)}clone(){const n=new YXmlElement(this.nodeName),d=this.getAttributes();return forEach(d,(p,m)=>{n.setAttribute(m,p)}),n.insert(0,this.toArray().map(p=>p instanceof AbstractType?p.clone():p)),n}toString(){const n=this.getAttributes(),d=[],p=[];for(const b in n)p.push(b);p.sort();const m=p.length;for(let b=0;b<m;b++){const S=p[b];d.push(S+'="'+n[S]+'"')}const g=this.nodeName.toLocaleLowerCase(),y=d.length>0?" "+d.join(" "):"";return`<${g}${y}>${super.toString()}</${g}>`}removeAttribute(n){this.doc!==null?transact(this.doc,d=>{typeMapDelete(d,this,n)}):this._prelimAttrs.delete(n)}setAttribute(n,d){this.doc!==null?transact(this.doc,p=>{typeMapSet(p,this,n,d)}):this._prelimAttrs.set(n,d)}getAttribute(n){return typeMapGet(this,n)}hasAttribute(n){return typeMapHas(this,n)}getAttributes(n){return n?typeMapGetAllSnapshot(this,n):typeMapGetAll(this)}toDOM(n=document,d={},p){const m=n.createElement(this.nodeName),g=this.getAttributes();for(const y in g){const b=g[y];typeof b=="string"&&m.setAttribute(y,b)}return typeListForEach(this,y=>{m.appendChild(y.toDOM(n,d,p))}),p!==void 0&&p._createAssociation(m,this),m}_write(n){n.writeTypeRef(YXmlElementRefID),n.writeKey(this.nodeName)}}const readYXmlElement=u=>new YXmlElement(u.readKey());class YXmlEvent extends YEvent{constructor(n,d,p){super(n,p),this.childListChanged=!1,this.attributesChanged=new Set,d.forEach(m=>{m===null?this.childListChanged=!0:this.attributesChanged.add(m)})}}class YXmlHook extends YMap{constructor(n){super(),this.hookName=n}_copy(){return new YXmlHook(this.hookName)}clone(){const n=new YXmlHook(this.hookName);return this.forEach((d,p)=>{n.set(p,d)}),n}toDOM(n=document,d={},p){const m=d[this.hookName];let g;return m!==void 0?g=m.createDom(this):g=document.createElement(this.hookName),g.setAttribute("data-yjs-hook",this.hookName),p!==void 0&&p._createAssociation(g,this),g}_write(n){n.writeTypeRef(YXmlHookRefID),n.writeKey(this.hookName)}}const readYXmlHook=u=>new YXmlHook(u.readKey());class YXmlText extends YText{get nextSibling(){const n=this._item?this._item.next:null;return n?n.content.type:null}get prevSibling(){const n=this._item?this._item.prev:null;return n?n.content.type:null}_copy(){return new YXmlText}clone(){const n=new YXmlText;return n.applyDelta(this.toDelta()),n}toDOM(n=document,d,p){const m=n.createTextNode(this.toString());return p!==void 0&&p._createAssociation(m,this),m}toString(){return this.toDelta().map(n=>{const d=[];for(const m in n.attributes){const g=[];for(const y in n.attributes[m])g.push({key:y,value:n.attributes[m][y]});g.sort((y,b)=>y.key<b.key?-1:1),d.push({nodeName:m,attrs:g})}d.sort((m,g)=>m.nodeName<g.nodeName?-1:1);let p="";for(let m=0;m<d.length;m++){const g=d[m];p+=`<${g.nodeName}`;for(let y=0;y<g.attrs.length;y++){const b=g.attrs[y];p+=` ${b.key}="${b.value}"`}p+=">"}p+=n.insert;for(let m=d.length-1;m>=0;m--)p+=`</${d[m].nodeName}>`;return p}).join("")}toJSON(){return this.toString()}_write(n){n.writeTypeRef(YXmlTextRefID)}}const readYXmlText=u=>new YXmlText;class AbstractStruct{constructor(n,d){this.id=n,this.length=d}get deleted(){throw methodUnimplemented()}mergeWith(n){return!1}write(n,d,p){throw methodUnimplemented()}integrate(n,d){throw methodUnimplemented()}}const structGCRefNumber=0;class GC extends AbstractStruct{get deleted(){return!0}delete(){}mergeWith(n){return this.constructor!==n.constructor?!1:(this.length+=n.length,!0)}integrate(n,d){d>0&&(this.id.clock+=d,this.length-=d),addStruct(n.doc.store,this)}write(n,d){n.writeInfo(structGCRefNumber),n.writeLen(this.length-d)}getMissing(n,d){return null}}class ContentBinary{constructor(n){this.content=n}getLength(){return 1}getContent(){return[this.content]}isCountable(){return!0}copy(){return new ContentBinary(this.content)}splice(n){throw methodUnimplemented()}mergeWith(n){return!1}integrate(n,d){}delete(n){}gc(n){}write(n,d){n.writeBuf(this.content)}getRef(){return 3}}const readContentBinary=u=>new ContentBinary(u.readBuf());class ContentDeleted{constructor(n){this.len=n}getLength(){return this.len}getContent(){return[]}isCountable(){return!1}copy(){return new ContentDeleted(this.len)}splice(n){const d=new ContentDeleted(this.len-n);return this.len=n,d}mergeWith(n){return this.len+=n.len,!0}integrate(n,d){addToDeleteSet(n.deleteSet,d.id.client,d.id.clock,this.len),d.markDeleted()}delete(n){}gc(n){}write(n,d){n.writeLen(this.len-d)}getRef(){return 1}}const readContentDeleted=u=>new ContentDeleted(u.readLen()),createDocFromOpts=(u,n)=>new Doc({guid:u,...n,shouldLoad:n.shouldLoad||n.autoLoad||!1});class ContentDoc{constructor(n){n._item,this.doc=n;const d={};this.opts=d,n.gc||(d.gc=!1),n.autoLoad&&(d.autoLoad=!0),n.meta!==null&&(d.meta=n.meta)}getLength(){return 1}getContent(){return[this.doc]}isCountable(){return!0}copy(){return new ContentDoc(createDocFromOpts(this.doc.guid,this.opts))}splice(n){throw methodUnimplemented()}mergeWith(n){return!1}integrate(n,d){this.doc._item=d,n.subdocsAdded.add(this.doc),this.doc.shouldLoad&&n.subdocsLoaded.add(this.doc)}delete(n){n.subdocsAdded.has(this.doc)?n.subdocsAdded.delete(this.doc):n.subdocsRemoved.add(this.doc)}gc(n){}write(n,d){n.writeString(this.doc.guid),n.writeAny(this.opts)}getRef(){return 9}}const readContentDoc=u=>new ContentDoc(createDocFromOpts(u.readString(),u.readAny()));class ContentEmbed{constructor(n){this.embed=n}getLength(){return 1}getContent(){return[this.embed]}isCountable(){return!0}copy(){return new ContentEmbed(this.embed)}splice(n){throw methodUnimplemented()}mergeWith(n){return!1}integrate(n,d){}delete(n){}gc(n){}write(n,d){n.writeJSON(this.embed)}getRef(){return 5}}const readContentEmbed=u=>new ContentEmbed(u.readJSON());class ContentFormat{constructor(n,d){this.key=n,this.value=d}getLength(){return 1}getContent(){return[]}isCountable(){return!1}copy(){return new ContentFormat(this.key,this.value)}splice(n){throw methodUnimplemented()}mergeWith(n){return!1}integrate(n,d){const p=d.parent;p._searchMarker=null,p._hasFormatting=!0}delete(n){}gc(n){}write(n,d){n.writeKey(this.key),n.writeJSON(this.value)}getRef(){return 6}}const readContentFormat=u=>new ContentFormat(u.readKey(),u.readJSON());class ContentJSON{constructor(n){this.arr=n}getLength(){return this.arr.length}getContent(){return this.arr}isCountable(){return!0}copy(){return new ContentJSON(this.arr)}splice(n){const d=new ContentJSON(this.arr.slice(n));return this.arr=this.arr.slice(0,n),d}mergeWith(n){return this.arr=this.arr.concat(n.arr),!0}integrate(n,d){}delete(n){}gc(n){}write(n,d){const p=this.arr.length;n.writeLen(p-d);for(let m=d;m<p;m++){const g=this.arr[m];n.writeString(g===void 0?"undefined":JSON.stringify(g))}}getRef(){return 2}}const readContentJSON=u=>{const n=u.readLen(),d=[];for(let p=0;p<n;p++){const m=u.readString();m==="undefined"?d.push(void 0):d.push(JSON.parse(m))}return new ContentJSON(d)},isDevMode=getVariable("node_env")==="development";class ContentAny{constructor(n){this.arr=n,isDevMode&&deepFreeze(n)}getLength(){return this.arr.length}getContent(){return this.arr}isCountable(){return!0}copy(){return new ContentAny(this.arr)}splice(n){const d=new ContentAny(this.arr.slice(n));return this.arr=this.arr.slice(0,n),d}mergeWith(n){return this.arr=this.arr.concat(n.arr),!0}integrate(n,d){}delete(n){}gc(n){}write(n,d){const p=this.arr.length;n.writeLen(p-d);for(let m=d;m<p;m++){const g=this.arr[m];n.writeAny(g)}}getRef(){return 8}}const readContentAny=u=>{const n=u.readLen(),d=[];for(let p=0;p<n;p++)d.push(u.readAny());return new ContentAny(d)};class ContentString{constructor(n){this.str=n}getLength(){return this.str.length}getContent(){return this.str.split("")}isCountable(){return!0}copy(){return new ContentString(this.str)}splice(n){const d=new ContentString(this.str.slice(n));this.str=this.str.slice(0,n);const p=this.str.charCodeAt(n-1);return p>=55296&&p<=56319&&(this.str=this.str.slice(0,n-1)+"�",d.str="�"+d.str.slice(1)),d}mergeWith(n){return this.str+=n.str,!0}integrate(n,d){}delete(n){}gc(n){}write(n,d){n.writeString(d===0?this.str:this.str.slice(d))}getRef(){return 4}}const readContentString=u=>new ContentString(u.readString()),typeRefs=[readYArray,readYMap,readYText,readYXmlElement,readYXmlFragment,readYXmlHook,readYXmlText],YArrayRefID=0,YMapRefID=1,YTextRefID=2,YXmlElementRefID=3,YXmlFragmentRefID=4,YXmlHookRefID=5,YXmlTextRefID=6;class ContentType{constructor(n){this.type=n}getLength(){return 1}getContent(){return[this.type]}isCountable(){return!0}copy(){return new ContentType(this.type._copy())}splice(n){throw methodUnimplemented()}mergeWith(n){return!1}integrate(n,d){this.type._integrate(n.doc,d)}delete(n){let d=this.type._start;for(;d!==null;)d.deleted?d.id.clock<(n.beforeState.get(d.id.client)||0)&&n._mergeStructs.push(d):d.delete(n),d=d.right;this.type._map.forEach(p=>{p.deleted?p.id.clock<(n.beforeState.get(p.id.client)||0)&&n._mergeStructs.push(p):p.delete(n)}),n.changed.delete(this.type)}gc(n){let d=this.type._start;for(;d!==null;)d.gc(n,!0),d=d.right;this.type._start=null,this.type._map.forEach(p=>{for(;p!==null;)p.gc(n,!0),p=p.left}),this.type._map=new Map}write(n,d){this.type._write(n)}getRef(){return 7}}const readContentType=u=>new ContentType(typeRefs[u.readTypeRef()](u)),followRedone=(u,n)=>{let d=n,p=0,m;do p>0&&(d=createID(d.client,d.clock+p)),m=getItem(u,d),p=d.clock-m.id.clock,d=m.redone;while(d!==null&&m instanceof Item);return{item:m,diff:p}},keepItem=(u,n)=>{for(;u!==null&&u.keep!==n;)u.keep=n,u=u.parent._item},splitItem=(u,n,d)=>{const{client:p,clock:m}=n.id,g=new Item(createID(p,m+d),n,createID(p,m+d-1),n.right,n.rightOrigin,n.parent,n.parentSub,n.content.splice(d));return n.deleted&&g.markDeleted(),n.keep&&(g.keep=!0),n.redone!==null&&(g.redone=createID(n.redone.client,n.redone.clock+d)),n.right=g,g.right!==null&&(g.right.left=g),u._mergeStructs.push(g),g.parentSub!==null&&g.right===null&&g.parent._map.set(g.parentSub,g),n.length=d,g},isDeletedByUndoStack=(u,n)=>some(u,d=>isDeleted(d.deletions,n)),redoItem=(u,n,d,p,m,g)=>{const y=u.doc,b=y.store,S=y.clientID,E=n.redone;if(E!==null)return getItemCleanStart(u,E);let T=n.parent._item,_=null,R;if(T!==null&&T.deleted===!0){if(T.redone===null&&(!d.has(T)||redoItem(u,T,d,p,m,g)===null))return null;for(;T.redone!==null;)T=getItemCleanStart(u,T.redone)}const C=T===null?n.parent:T.content.type;if(n.parentSub===null){for(_=n.left,R=n;_!==null;){let P=_;for(;P!==null&&P.parent._item!==T;)P=P.redone===null?null:getItemCleanStart(u,P.redone);if(P!==null&&P.parent._item===T){_=P;break}_=_.left}for(;R!==null;){let P=R;for(;P!==null&&P.parent._item!==T;)P=P.redone===null?null:getItemCleanStart(u,P.redone);if(P!==null&&P.parent._item===T){R=P;break}R=R.right}}else if(R=null,n.right&&!m){for(_=n;_!==null&&_.right!==null&&(_.right.redone||isDeleted(p,_.right.id)||isDeletedByUndoStack(g.undoStack,_.right.id)||isDeletedByUndoStack(g.redoStack,_.right.id));)for(_=_.right;_.redone;)_=getItemCleanStart(u,_.redone);if(_&&_.right!==null)return null}else _=C._map.get(n.parentSub)||null;const A=getState(b,S),k=createID(S,A),I=new Item(k,_,_&&_.lastId,R,R&&R.id,C,n.parentSub,n.content.copy());return n.redone=k,keepItem(I,!0),I.integrate(u,0),I};class Item extends AbstractStruct{constructor(n,d,p,m,g,y,b,S){super(n,S.getLength()),this.origin=p,this.left=d,this.right=m,this.rightOrigin=g,this.parent=y,this.parentSub=b,this.redone=null,this.content=S,this.info=this.content.isCountable()?BIT2:0}set marker(n){(this.info&BIT4)>0!==n&&(this.info^=BIT4)}get marker(){return(this.info&BIT4)>0}get keep(){return(this.info&BIT1)>0}set keep(n){this.keep!==n&&(this.info^=BIT1)}get countable(){return(this.info&BIT2)>0}get deleted(){return(this.info&BIT3)>0}set deleted(n){this.deleted!==n&&(this.info^=BIT3)}markDeleted(){this.info|=BIT3}getMissing(n,d){if(this.origin&&this.origin.client!==this.id.client&&this.origin.clock>=getState(d,this.origin.client))return this.origin.client;if(this.rightOrigin&&this.rightOrigin.client!==this.id.client&&this.rightOrigin.clock>=getState(d,this.rightOrigin.client))return this.rightOrigin.client;if(this.parent&&this.parent.constructor===ID&&this.id.client!==this.parent.client&&this.parent.clock>=getState(d,this.parent.client))return this.parent.client;if(this.origin&&(this.left=getItemCleanEnd(n,d,this.origin),this.origin=this.left.lastId),this.rightOrigin&&(this.right=getItemCleanStart(n,this.rightOrigin),this.rightOrigin=this.right.id),this.left&&this.left.constructor===GC||this.right&&this.right.constructor===GC)this.parent=null;else if(!this.parent)this.left&&this.left.constructor===Item?(this.parent=this.left.parent,this.parentSub=this.left.parentSub):this.right&&this.right.constructor===Item&&(this.parent=this.right.parent,this.parentSub=this.right.parentSub);else if(this.parent.constructor===ID){const p=getItem(d,this.parent);p.constructor===GC?this.parent=null:this.parent=p.content.type}return null}integrate(n,d){if(d>0&&(this.id.clock+=d,this.left=getItemCleanEnd(n,n.doc.store,createID(this.id.client,this.id.clock-1)),this.origin=this.left.lastId,this.content=this.content.splice(d),this.length-=d),this.parent){if(!this.left&&(!this.right||this.right.left!==null)||this.left&&this.left.right!==this.right){let p=this.left,m;if(p!==null)m=p.right;else if(this.parentSub!==null)for(m=this.parent._map.get(this.parentSub)||null;m!==null&&m.left!==null;)m=m.left;else m=this.parent._start;const g=new Set,y=new Set;for(;m!==null&&m!==this.right;){if(y.add(m),g.add(m),compareIDs(this.origin,m.origin)){if(m.id.client<this.id.client)p=m,g.clear();else if(compareIDs(this.rightOrigin,m.rightOrigin))break}else if(m.origin!==null&&y.has(getItem(n.doc.store,m.origin)))g.has(getItem(n.doc.store,m.origin))||(p=m,g.clear());else break;m=m.right}this.left=p}if(this.left!==null){const p=this.left.right;this.right=p,this.left.right=this}else{let p;if(this.parentSub!==null)for(p=this.parent._map.get(this.parentSub)||null;p!==null&&p.left!==null;)p=p.left;else p=this.parent._start,this.parent._start=this;this.right=p}this.right!==null?this.right.left=this:this.parentSub!==null&&(this.parent._map.set(this.parentSub,this),this.left!==null&&this.left.delete(n)),this.parentSub===null&&this.countable&&!this.deleted&&(this.parent._length+=this.length),addStruct(n.doc.store,this),this.content.integrate(n,this),addChangedTypeToTransaction(n,this.parent,this.parentSub),(this.parent._item!==null&&this.parent._item.deleted||this.parentSub!==null&&this.right!==null)&&this.delete(n)}else new GC(this.id,this.length).integrate(n,0)}get next(){let n=this.right;for(;n!==null&&n.deleted;)n=n.right;return n}get prev(){let n=this.left;for(;n!==null&&n.deleted;)n=n.left;return n}get lastId(){return this.length===1?this.id:createID(this.id.client,this.id.clock+this.length-1)}mergeWith(n){if(this.constructor===n.constructor&&compareIDs(n.origin,this.lastId)&&this.right===n&&compareIDs(this.rightOrigin,n.rightOrigin)&&this.id.client===n.id.client&&this.id.clock+this.length===n.id.clock&&this.deleted===n.deleted&&this.redone===null&&n.redone===null&&this.content.constructor===n.content.constructor&&this.content.mergeWith(n.content)){const d=this.parent._searchMarker;return d&&d.forEach(p=>{p.p===n&&(p.p=this,!this.deleted&&this.countable&&(p.index-=this.length))}),n.keep&&(this.keep=!0),this.right=n.right,this.right!==null&&(this.right.left=this),this.length+=n.length,!0}return!1}delete(n){if(!this.deleted){const d=this.parent;this.countable&&this.parentSub===null&&(d._length-=this.length),this.markDeleted(),addToDeleteSet(n.deleteSet,this.id.client,this.id.clock,this.length),addChangedTypeToTransaction(n,d,this.parentSub),this.content.delete(n)}}gc(n,d){if(!this.deleted)throw unexpectedCase();this.content.gc(n),d?replaceStruct(n,this,new GC(this.id,this.length)):this.content=new ContentDeleted(this.length)}write(n,d){const p=d>0?createID(this.id.client,this.id.clock+d-1):this.origin,m=this.rightOrigin,g=this.parentSub,y=this.content.getRef()&BITS5|(p===null?0:BIT8)|(m===null?0:BIT7)|(g===null?0:BIT6);if(n.writeInfo(y),p!==null&&n.writeLeftID(p),m!==null&&n.writeRightID(m),p===null&&m===null){const b=this.parent;if(b._item!==void 0){const S=b._item;if(S===null){const E=findRootTypeKey(b);n.writeParentInfo(!0),n.writeString(E)}else n.writeParentInfo(!1),n.writeLeftID(S.id)}else b.constructor===String?(n.writeParentInfo(!0),n.writeString(b)):b.constructor===ID?(n.writeParentInfo(!1),n.writeLeftID(b)):unexpectedCase();g!==null&&n.writeString(g)}this.content.write(n,d)}}const readItemContent=(u,n)=>contentRefs[n&BITS5](u),contentRefs=[()=>{unexpectedCase()},readContentDeleted,readContentJSON,readContentBinary,readContentString,readContentEmbed,readContentFormat,readContentType,readContentAny,readContentDoc,()=>{unexpectedCase()}],structSkipRefNumber=10;class Skip extends AbstractStruct{get deleted(){return!0}delete(){}mergeWith(n){return this.constructor!==n.constructor?!1:(this.length+=n.length,!0)}integrate(n,d){unexpectedCase()}write(n,d){n.writeInfo(structSkipRefNumber),writeVarUint(n.restEncoder,this.length-d)}getMissing(n,d){return null}}const glo=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:{},importIdentifier="__ $YJS$ __";glo[importIdentifier];glo[importIdentifier]=!0;const createMutex=()=>{let u=!0;return(n,d)=>{if(u){u=!1;try{n()}finally{u=!0}}else d!==void 0&&d()}},highSurrogateRegex=/[\uD800-\uDBFF]/,lowSurrogateRegex=/[\uDC00-\uDFFF]/,simpleDiffString=(u,n)=>{let d=0,p=0;for(;d<u.length&&d<n.length&&u[d]===n[d];)d++;for(d>0&&highSurrogateRegex.test(u[d-1])&&d--;p+d<u.length&&p+d<n.length&&u[u.length-p-1]===n[n.length-p-1];)p++;return p>0&&lowSurrogateRegex.test(u[u.length-p])&&p--,{index:d,remove:u.length-d-p,insert:n.slice(d,n.length-p)}},simpleDiff=simpleDiffString,rotr=(u,n)=>u>>>n|u<<32-n,sum0to256=u=>rotr(u,2)^rotr(u,13)^rotr(u,22),sum1to256=u=>rotr(u,6)^rotr(u,11)^rotr(u,25),sigma0to256=u=>rotr(u,7)^rotr(u,18)^u>>>3,sigma1to256=u=>rotr(u,17)^rotr(u,19)^u>>>10,K=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),HINIT=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);class Hasher{constructor(){const n=new ArrayBuffer(320);this._H=new Uint32Array(n,0,8),this._H.set(HINIT),this._W=new Uint32Array(n,64,64)}_updateHash(){const n=this._H,d=this._W;for(let _=16;_<64;_++)d[_]=sigma1to256(d[_-2])+d[_-7]+sigma0to256(d[_-15])+d[_-16];let p=n[0],m=n[1],g=n[2],y=n[3],b=n[4],S=n[5],E=n[6],T=n[7];for(let _=0,R,C;_<64;_++)R=T+sum1to256(b)+(b&S^~b&E)+K[_]+d[_]>>>0,C=sum0to256(p)+(p&m^p&g^m&g)>>>0,T=E,E=S,S=b,b=y+R>>>0,y=g,g=m,m=p,p=R+C>>>0;n[0]+=p,n[1]+=m,n[2]+=g,n[3]+=y,n[4]+=b,n[5]+=S,n[6]+=E,n[7]+=T}digest(n){let d=0;for(;d+56<=n.length;){let y=0;for(;y<16&&d+3<n.length;y++)this._W[y]=n[d++]<<24|n[d++]<<16|n[d++]<<8|n[d++];if(d%64!==0){for(this._W.fill(0,y,16);d<n.length;)this._W[y]|=n[d]<<(3-d%4)*8,d++;this._W[y]|=BIT8<<(3-d%4)*8}this._updateHash()}const p=d%64!==0;this._W.fill(0,0,16);let m=0;for(;d<n.length;m++)for(let y=3;y>=0&&d<n.length;y--)this._W[m]|=n[d++]<<y*8;p||(this._W[m-(d%4===0?0:1)]|=BIT8<<(3-d%4)*8),this._W[14]=n.byteLength/BIT30,this._W[15]=n.byteLength*8,this._updateHash();const g=new Uint8Array(32);for(let y=0;y<this._H.length;y++)for(let b=0;b<4;b++)g[y*4+b]=this._H[y]>>>(3-b)*8;return g}}const digest=u=>new Hasher().digest(u),ySyncPluginKey=new PluginKey("y-sync"),yUndoPluginKey=new PluginKey("y-undo");new PluginKey("yjs-cursor");const _convolute=u=>{for(let d=6;d<u.length;d++)u[d%6]=u[d%6]^u[d];return u.slice(0,6)},hashOfJSON=u=>toBase64(_convolute(digest(encodeAny(u)))),isVisible=(u,n)=>n===void 0?!u.deleted:n.sv.has(u.id.client)&&n.sv.get(u.id.client)>u.id.clock&&!isDeleted(n.ds,u.id),defaultColors=[{light:"#ecd44433",dark:"#ecd444"}],getUserColor=(u,n,d)=>{if(!u.has(d)){if(u.size<n.length){const p=create$4();u.forEach(m=>p.add(m)),n=n.filter(m=>!p.has(m))}u.set(d,oneOf$1(n))}return u.get(d)},ySyncPlugin=(u,{colors:n=defaultColors,colorMapping:d=new Map,permanentUserData:p=null,onFirstRender:m=()=>{},mapping:g}={})=>{let y=!1;const b=new ProsemirrorBinding(u,g),S=new Plugin({props:{editable:E=>{const T=ySyncPluginKey.getState(E);return T.snapshot==null&&T.prevSnapshot==null}},key:ySyncPluginKey,state:{init:(E,T)=>({type:u,doc:u.doc,binding:b,snapshot:null,prevSnapshot:null,isChangeOrigin:!1,isUndoRedoOperation:!1,addToHistory:!0,colors:n,colorMapping:d,permanentUserData:p}),apply:(E,T)=>{const _=E.getMeta(ySyncPluginKey);if(_!==void 0){T=Object.assign({},T);for(const R in _)T[R]=_[R]}return T.addToHistory=E.getMeta("addToHistory")!==!1,T.isChangeOrigin=_!==void 0&&!!_.isChangeOrigin,T.isUndoRedoOperation=_!==void 0&&!!_.isChangeOrigin&&!!_.isUndoRedoOperation,b.prosemirrorView!==null&&_!==void 0&&(_.snapshot!=null||_.prevSnapshot!=null)&&timeout(0,()=>{b.prosemirrorView!=null&&(_.restore==null?b._renderSnapshot(_.snapshot,_.prevSnapshot,T):(b._renderSnapshot(_.snapshot,_.snapshot,T),delete T.restore,delete T.snapshot,delete T.prevSnapshot,b.mux(()=>{b._prosemirrorChanged(b.prosemirrorView.state.doc)})))}),T}},view:E=>(b.initView(E),g==null&&b._forceRerender(),m(),{update:()=>{const T=S.getState(E.state);if(T.snapshot==null&&T.prevSnapshot==null&&(y||E.state.doc.content.findDiffStart(E.state.doc.type.createAndFill().content)!==null)){if(y=!0,T.addToHistory===!1&&!T.isChangeOrigin){const _=yUndoPluginKey.getState(E.state),R=_&&_.undoManager;R&&R.stopCapturing()}b.mux(()=>{T.doc.transact(_=>{_.meta.set("addToHistory",T.addToHistory),b._prosemirrorChanged(E.state.doc)},ySyncPluginKey)})}},destroy:()=>{b.destroy()}})});return S},restoreRelativeSelection=(u,n,d)=>{if(n!==null&&n.anchor!==null&&n.head!==null)if(n.type==="all")u.setSelection(new AllSelection(u.doc));else if(n.type==="node"){const p=relativePositionToAbsolutePosition(d.doc,d.type,n.anchor,d.mapping);u.setSelection(createSafeNodeSelection(u,p))}else{const p=relativePositionToAbsolutePosition(d.doc,d.type,n.anchor,d.mapping),m=relativePositionToAbsolutePosition(d.doc,d.type,n.head,d.mapping);p!==null&&m!==null&&u.setSelection(TextSelection.between(u.doc.resolve(p),u.doc.resolve(m)))}},createSafeNodeSelection=(u,n)=>{const d=u.doc.resolve(n);return d.nodeAfter?NodeSelection.create(u.doc,n):TextSelection.near(d)},getRelativeSelection=(u,n)=>({type:n.selection.jsonID,anchor:absolutePositionToRelativePosition(n.selection.anchor,u.type,u.mapping),head:absolutePositionToRelativePosition(n.selection.head,u.type,u.mapping)});class ProsemirrorBinding{constructor(n,d=new Map){this.type=n,this.prosemirrorView=null,this.mux=createMutex(),this.mapping=d,this.isOMark=new Map,this._observeFunction=this._typeChanged.bind(this),this.doc=n.doc,this.beforeTransactionSelection=null,this.beforeAllTransactions=()=>{this.beforeTransactionSelection===null&&this.prosemirrorView!=null&&(this.beforeTransactionSelection=getRelativeSelection(this,this.prosemirrorView.state))},this.afterAllTransactions=()=>{this.beforeTransactionSelection=null},this._domSelectionInView=null}get _tr(){return this.prosemirrorView.state.tr.setMeta("addToHistory",!1)}_isLocalCursorInView(){return this.prosemirrorView.hasFocus()?(isBrowser&&this._domSelectionInView===null&&(timeout(0,()=>{this._domSelectionInView=null}),this._domSelectionInView=this._isDomSelectionInView()),this._domSelectionInView):!1}_isDomSelectionInView(){const n=this.prosemirrorView._root.getSelection();if(n==null||n.anchorNode==null)return!1;const d=this.prosemirrorView._root.createRange();d.setStart(n.anchorNode,n.anchorOffset),d.setEnd(n.focusNode,n.focusOffset),d.getClientRects().length===0&&d.startContainer&&d.collapsed&&d.selectNodeContents(d.startContainer);const m=d.getBoundingClientRect(),g=doc.documentElement;return m.bottom>=0&&m.right>=0&&m.left<=(window.innerWidth||g.clientWidth||0)&&m.top<=(window.innerHeight||g.clientHeight||0)}renderSnapshot(n,d){d||(d=createSnapshot(createDeleteSet(),new Map)),this.prosemirrorView.dispatch(this._tr.setMeta(ySyncPluginKey,{snapshot:n,prevSnapshot:d}))}unrenderSnapshot(){this.mapping.clear(),this.mux(()=>{const n=this.type.toArray().map(p=>createNodeFromYElement(p,this.prosemirrorView.state.schema,this)).filter(p=>p!==null),d=this._tr.replace(0,this.prosemirrorView.state.doc.content.size,new Slice(Fragment.from(n),0,0));d.setMeta(ySyncPluginKey,{snapshot:null,prevSnapshot:null}),this.prosemirrorView.dispatch(d)})}_forceRerender(){this.mapping.clear(),this.mux(()=>{const n=this.beforeTransactionSelection!==null?null:this.prosemirrorView.state.selection,d=this.type.toArray().map(m=>createNodeFromYElement(m,this.prosemirrorView.state.schema,this)).filter(m=>m!==null),p=this._tr.replace(0,this.prosemirrorView.state.doc.content.size,new Slice(Fragment.from(d),0,0));if(n){const m=min(max(n.anchor,0),p.doc.content.size),g=min(max(n.head,0),p.doc.content.size);p.setSelection(TextSelection.create(p.doc,m,g))}this.prosemirrorView.dispatch(p.setMeta(ySyncPluginKey,{isChangeOrigin:!0,binding:this}))})}_renderSnapshot(n,d,p){let m=this.doc,g=this.type;if(n||(n=snapshot(this.doc)),n instanceof Uint8Array||d instanceof Uint8Array)if((!(n instanceof Uint8Array)||!(d instanceof Uint8Array))&&unexpectedCase(),m=new Doc({gc:!1}),applyUpdateV2(m,d),d=snapshot(m),applyUpdateV2(m,n),n=snapshot(m),g._item===null){const y=Array.from(this.doc.share.keys()).find(b=>this.doc.share.get(b)===this.type);g=m.getXmlFragment(y)}else{const y=m.store.clients.get(g._item.id.client)??[],b=findIndexSS(y,g._item.id.clock);g=y[b].content.type}this.mapping.clear(),this.mux(()=>{m.transact(y=>{const b=p.permanentUserData;b&&b.dss.forEach(_=>{iterateDeletedStructs(y,_,R=>{})});const S=(_,R)=>{const C=_==="added"?b.getUserByClientId(R.client):b.getUserByDeletedId(R);return{user:C,type:_,color:getUserColor(p.colorMapping,p.colors,C)}},E=typeListToArraySnapshot(g,new Snapshot(d.ds,n.sv)).map(_=>!_._item.deleted||isVisible(_._item,n)||isVisible(_._item,d)?createNodeFromYElement(_,this.prosemirrorView.state.schema,{mapping:new Map,isOMark:new Map},n,d,S):null).filter(_=>_!==null),T=this._tr.replace(0,this.prosemirrorView.state.doc.content.size,new Slice(Fragment.from(E),0,0));this.prosemirrorView.dispatch(T.setMeta(ySyncPluginKey,{isChangeOrigin:!0}))},ySyncPluginKey)})}_typeChanged(n,d){if(this.prosemirrorView==null)return;const p=ySyncPluginKey.getState(this.prosemirrorView.state);if(n.length===0||p.snapshot!=null||p.prevSnapshot!=null){this.renderSnapshot(p.snapshot,p.prevSnapshot);return}this.mux(()=>{const m=(b,S)=>this.mapping.delete(S);iterateDeletedStructs(d,d.deleteSet,b=>{if(b.constructor===Item){const S=b.content.type;S&&this.mapping.delete(S)}}),d.changed.forEach(m),d.changedParentTypes.forEach(m);const g=this.type.toArray().map(b=>createNodeIfNotExists(b,this.prosemirrorView.state.schema,this)).filter(b=>b!==null);let y=this._tr.replace(0,this.prosemirrorView.state.doc.content.size,new Slice(Fragment.from(g),0,0));restoreRelativeSelection(y,this.beforeTransactionSelection,this),y=y.setMeta(ySyncPluginKey,{isChangeOrigin:!0,isUndoRedoOperation:d.origin instanceof UndoManager}),this.beforeTransactionSelection!==null&&this._isLocalCursorInView()&&y.scrollIntoView(),this.prosemirrorView.dispatch(y)})}_prosemirrorChanged(n){this.doc.transact(()=>{updateYFragment(this.doc,this.type,n,this),this.beforeTransactionSelection=getRelativeSelection(this,this.prosemirrorView.state)},ySyncPluginKey)}initView(n){this.prosemirrorView!=null&&this.destroy(),this.prosemirrorView=n,this.doc.on("beforeAllTransactions",this.beforeAllTransactions),this.doc.on("afterAllTransactions",this.afterAllTransactions),this.type.observeDeep(this._observeFunction)}destroy(){this.prosemirrorView!=null&&(this.prosemirrorView=null,this.type.unobserveDeep(this._observeFunction),this.doc.off("beforeAllTransactions",this.beforeAllTransactions),this.doc.off("afterAllTransactions",this.afterAllTransactions))}}const createNodeIfNotExists=(u,n,d,p,m,g)=>{const y=d.mapping.get(u);if(y===void 0){if(u instanceof YXmlElement)return createNodeFromYElement(u,n,d,p,m,g);throw methodUnimplemented()}return y},createNodeFromYElement=(u,n,d,p,m,g)=>{const y=[],b=S=>{if(S instanceof YXmlElement){const E=createNodeIfNotExists(S,n,d,p,m,g);E!==null&&y.push(E)}else{const E=S._item.right?.content?.type;E instanceof YText&&!E._item.deleted&&E._item.id.client===E.doc.clientID&&(S.applyDelta([{retain:S.length},...E.toDelta()]),E.doc.transact(_=>{E._item.delete(_)}));const T=createTextNodesFromYText(S,n,d,p,m,g);T!==null&&T.forEach(_=>{_!==null&&y.push(_)})}};p===void 0||m===void 0?u.toArray().forEach(b):typeListToArraySnapshot(u,new Snapshot(m.ds,p.sv)).forEach(b);try{const S=u.getAttributes(p);p!==void 0&&(isVisible(u._item,p)?isVisible(u._item,m)||(S.ychange=g?g("added",u._item.id):{type:"added"}):S.ychange=g?g("removed",u._item.id):{type:"removed"});const E=n.node(u.nodeName,S,y);return d.mapping.set(u,E),E}catch{return u.doc.transact(E=>{u._item.delete(E)},ySyncPluginKey),d.mapping.delete(u),null}},createTextNodesFromYText=(u,n,d,p,m,g)=>{const y=[],b=u.toDelta(p,m,g);try{for(let S=0;S<b.length;S++){const E=b[S];y.push(n.text(E.insert,attributesToMarks(E.attributes,n)))}}catch{return u.doc.transact(E=>{u._item.delete(E)},ySyncPluginKey),null}return y},createTypeFromTextNodes=(u,n)=>{const d=new YXmlText,p=u.map(m=>({insert:m.text,attributes:marksToAttributes(m.marks,n)}));return d.applyDelta(p),n.mapping.set(d,u),d},createTypeFromElementNode=(u,n)=>{const d=new YXmlElement(u.type.name);for(const p in u.attrs){const m=u.attrs[p];m!==null&&p!=="ychange"&&d.setAttribute(p,m)}return d.insert(0,normalizePNodeContent(u).map(p=>createTypeFromTextOrElementNode(p,n))),n.mapping.set(d,u),d},createTypeFromTextOrElementNode=(u,n)=>u instanceof Array?createTypeFromTextNodes(u,n):createTypeFromElementNode(u,n),isObject=u=>typeof u=="object"&&u!==null,equalAttrs=(u,n)=>{const d=Object.keys(u).filter(m=>u[m]!==null);let p=d.length===Object.keys(n).filter(m=>n[m]!==null).length;for(let m=0;m<d.length&&p;m++){const g=d[m],y=u[g],b=n[g];p=g==="ychange"||y===b||isObject(y)&&isObject(b)&&equalAttrs(y,b)}return p},normalizePNodeContent=u=>{const n=u.content.content,d=[];for(let p=0;p<n.length;p++){const m=n[p];if(m.isText){const g=[];for(let y=n[p];p<n.length&&y.isText;y=n[++p])g.push(y);p--,d.push(g)}else d.push(m)}return d},equalYTextPText=(u,n)=>{const d=u.toDelta();return d.length===n.length&&d.every((p,m)=>p.insert===n[m].text&&keys(p.attributes||{}).length===n[m].marks.length&&every(p.attributes,(g,y)=>{const b=yattr2markname(y),S=n[m].marks;return S.find(T=>T.type.name===b)?equalAttrs(g,S.find(T=>T.type.name===b)?.attrs):!1}))},equalYTypePNode=(u,n)=>{if(u instanceof YXmlElement&&!(n instanceof Array)&&matchNodeName(u,n)){const d=normalizePNodeContent(n);return u._length===d.length&&equalAttrs(u.getAttributes(),n.attrs)&&u.toArray().every((p,m)=>equalYTypePNode(p,d[m]))}return u instanceof YXmlText&&n instanceof Array&&equalYTextPText(u,n)},mappedIdentity=(u,n)=>u===n||u instanceof Array&&n instanceof Array&&u.length===n.length&&u.every((d,p)=>n[p]===d),computeChildEqualityFactor=(u,n,d)=>{const p=u.toArray(),m=normalizePNodeContent(n),g=m.length,y=p.length,b=min(y,g);let S=0,E=0,T=!1;for(;S<b;S++){const _=p[S],R=m[S];if(mappedIdentity(d.mapping.get(_),R))T=!0;else if(!equalYTypePNode(_,R))break}for(;S+E<b;E++){const _=p[y-E-1],R=m[g-E-1];if(mappedIdentity(d.mapping.get(_),R))T=!0;else if(!equalYTypePNode(_,R))break}return{equalityFactor:S+E,foundMappedChild:T}},ytextTrans=u=>{let n="",d=u._start;const p={};for(;d!==null;)d.deleted||(d.countable&&d.content instanceof ContentString?n+=d.content.str:d.content instanceof ContentFormat&&(p[d.content.key]=null)),d=d.right;return{str:n,nAttrs:p}},updateYText=(u,n,d)=>{d.mapping.set(u,n);const{nAttrs:p,str:m}=ytextTrans(u),g=n.map(E=>({insert:E.text,attributes:Object.assign({},p,marksToAttributes(E.marks,d))})),{insert:y,remove:b,index:S}=simpleDiff(m,g.map(E=>E.insert).join(""));u.delete(S,b),u.insert(S,y),u.applyDelta(g.map(E=>({retain:E.insert.length,attributes:E.attributes})))},hashedMarkNameRegex=/(.*)(--[a-zA-Z0-9+/=]{8})$/,yattr2markname=u=>hashedMarkNameRegex.exec(u)?.[1]??u,attributesToMarks=(u,n)=>{const d=[];for(const p in u)d.push(n.mark(yattr2markname(p),u[p]));return d},marksToAttributes=(u,n)=>{const d={};return u.forEach(p=>{if(p.type.name!=="ychange"){const m=setIfUndefined(n.isOMark,p.type,()=>!p.type.excludes(p.type));d[m?`${p.type.name}--${hashOfJSON(p.toJSON())}`:p.type.name]=p.attrs}}),d},updateYFragment=(u,n,d,p)=>{if(n instanceof YXmlElement&&n.nodeName!==d.type.name)throw new Error("node name mismatch!");if(p.mapping.set(n,d),n instanceof YXmlElement){const _=n.getAttributes(),R=d.attrs;for(const C in R)R[C]!==null?_[C]!==R[C]&&C!=="ychange"&&n.setAttribute(C,R[C]):n.removeAttribute(C);for(const C in _)R[C]===void 0&&n.removeAttribute(C)}const m=normalizePNodeContent(d),g=m.length,y=n.toArray(),b=y.length,S=min(g,b);let E=0,T=0;for(;E<S;E++){const _=y[E],R=m[E];if(!mappedIdentity(p.mapping.get(_),R))if(equalYTypePNode(_,R))p.mapping.set(_,R);else break}for(;T+E+1<S;T++){const _=y[b-T-1],R=m[g-T-1];if(!mappedIdentity(p.mapping.get(_),R))if(equalYTypePNode(_,R))p.mapping.set(_,R);else break}u.transact(()=>{for(;b-E-T>0&&g-E-T>0;){const R=y[E],C=m[E],A=y[b-T-1],k=m[g-T-1];if(R instanceof YXmlText&&C instanceof Array)equalYTextPText(R,C)||updateYText(R,C,p),E+=1;else{let I=R instanceof YXmlElement&&matchNodeName(R,C),P=A instanceof YXmlElement&&matchNodeName(A,k);if(I&&P){const D=computeChildEqualityFactor(R,C,p),O=computeChildEqualityFactor(A,k,p);D.foundMappedChild&&!O.foundMappedChild?P=!1:!D.foundMappedChild&&O.foundMappedChild||D.equalityFactor<O.equalityFactor?I=!1:P=!1}I?(updateYFragment(u,R,C,p),E+=1):P?(updateYFragment(u,A,k,p),T+=1):(p.mapping.delete(n.get(E)),n.delete(E,1),n.insert(E,[createTypeFromTextOrElementNode(C,p)]),E+=1)}}const _=b-E-T;if(b===1&&g===0&&y[0]instanceof YXmlText?(p.mapping.delete(y[0]),y[0].delete(0,y[0].length)):_>0&&(n.slice(E,E+_).forEach(R=>p.mapping.delete(R)),n.delete(E,_)),E+T<g){const R=[];for(let C=E;C<g-T;C++)R.push(createTypeFromTextOrElementNode(m[C],p));n.insert(E,R)}},ySyncPluginKey)},matchNodeName=(u,n)=>!(n instanceof Array)&&u.nodeName===n.type.name,absolutePositionToRelativePosition=(u,n,d)=>{if(u===0)return createRelativePositionFromTypeIndex(n,0,-1);let p=n._first===null?null:n._first.content.type;for(;p!==null&&n!==p;){if(p instanceof YXmlText){if(p._length>=u)return createRelativePositionFromTypeIndex(p,u,-1);if(u-=p._length,p._item!==null&&p._item.next!==null)p=p._item.next.content.type;else{do p=p._item===null?null:p._item.parent,u--;while(p!==n&&p!==null&&p._item!==null&&p._item.next===null);p!==null&&p!==n&&(p=p._item===null?null:p._item.next.content.type)}}else{const m=(d.get(p)||{nodeSize:0}).nodeSize;if(p._first!==null&&u<m)p=p._first.content.type,u--;else{if(u===1&&p._length===0&&m>1)return new RelativePosition(p._item===null?null:p._item.id,p._item===null?findRootTypeKey(p):null,null);if(u-=m,p._item!==null&&p._item.next!==null)p=p._item.next.content.type;else{if(u===0)return p=p._item===null?p:p._item.parent,new RelativePosition(p._item===null?null:p._item.id,p._item===null?findRootTypeKey(p):null,null);do p=p._item.parent,u--;while(p!==n&&p._item.next===null);p!==n&&(p=p._item.next.content.type)}}}if(p===null)throw unexpectedCase();if(u===0&&p.constructor!==YXmlText&&p!==n)return createRelativePosition(p._item.parent,p._item)}return createRelativePositionFromTypeIndex(n,n._length,-1)},createRelativePosition=(u,n)=>{let d=null,p=null;return u._item===null?p=findRootTypeKey(u):d=createID(u._item.id.client,u._item.id.clock),new RelativePosition(d,p,n.id)},relativePositionToAbsolutePosition=(u,n,d,p)=>{const m=createAbsolutePositionFromRelativePosition(d,u);if(m===null||m.type!==n&&!isParentOf(n,m.type._item))return null;let g=m.type,y=0;if(g.constructor===YXmlText)y=m.index;else if(g._item===null||!g._item.deleted){let b=g._first,S=0;for(;S<g._length&&S<m.index&&b!==null;){if(!b.deleted){const E=b.content.type;S++,E instanceof YXmlText?y+=E._length:y+=p.get(E).nodeSize}b=b.right}y+=1}for(;g!==n&&g._item!==null;){const b=g._item.parent;if(b._item===null||!b._item.deleted){y+=1;let S=b._first;for(;S!==null;){const E=S.content.type;if(E===g)break;S.deleted||(E instanceof YXmlText?y+=E._length:y+=p.get(E).nodeSize),S=S.right}}g=b}return y-1};function yXmlFragmentToProsemirrorJSON(u){const n=u.toArray(),d=p=>{let m;if(p instanceof YXmlText)m=p.toDelta().map(y=>{const b={type:"text",text:y.insert};return y.attributes&&(b.marks=Object.keys(y.attributes).map(S=>{const E=y.attributes[S],_={type:yattr2markname(S)};return Object.keys(E)&&(_.attrs=E),_})),b});else if(p instanceof YXmlElement){m={type:p.nodeName};const g=p.getAttributes();Object.keys(g).length&&(m.attrs=g);const y=p.toArray();y.length&&(m.content=y.map(d).flat())}else unexpectedCase();return m};return{type:"doc",content:n.map(d)}}const undo=u=>{const n=yUndoPluginKey.getState(u).undoManager;if(n!=null)return n.undo(),!0},redo=u=>{const n=yUndoPluginKey.getState(u).undoManager;if(n!=null)return n.redo(),!0},defaultProtectedNodes=new Set(["paragraph"]),defaultDeleteFilter=(u,n)=>!(u instanceof Item)||!(u.content instanceof ContentType)||!(u.content.type instanceof YText||u.content.type instanceof YXmlElement&&n.has(u.content.type.nodeName))||u.content.type._length===0,yUndoPlugin=({protectedNodes:u=defaultProtectedNodes,trackedOrigins:n=[],undoManager:d=null}={})=>new Plugin({key:yUndoPluginKey,state:{init:(p,m)=>{const g=ySyncPluginKey.getState(m),y=d||new UndoManager(g.type,{trackedOrigins:new Set([ySyncPluginKey].concat(n)),deleteFilter:b=>defaultDeleteFilter(b,u),captureTransaction:b=>b.meta.get("addToHistory")!==!1});return{undoManager:y,prevSel:null,hasUndoOps:y.undoStack.length>0,hasRedoOps:y.redoStack.length>0}},apply:(p,m,g,y)=>{const b=ySyncPluginKey.getState(y).binding,S=m.undoManager,E=S.undoStack.length>0,T=S.redoStack.length>0;return b?{undoManager:S,prevSel:getRelativeSelection(b,g),hasUndoOps:E,hasRedoOps:T}:E!==m.hasUndoOps||T!==m.hasRedoOps?Object.assign({},m,{hasUndoOps:S.undoStack.length>0,hasRedoOps:S.redoStack.length>0}):m}},view:p=>{const m=ySyncPluginKey.getState(p.state),g=yUndoPluginKey.getState(p.state).undoManager;return g.on("stack-item-added",({stackItem:y})=>{const b=m.binding;b&&y.meta.set(b,yUndoPluginKey.getState(p.state).prevSel)}),g.on("stack-item-popped",({stackItem:y})=>{const b=m.binding;b&&(b.beforeTransactionSelection=y.meta.get(b)||b.beforeTransactionSelection)}),{destroy:()=>{g.destroy()}}}});function isChangeOrigin(u){return!!u.getMeta(ySyncPluginKey)}function getYAbsolutePosition(u,n){const d=ySyncPluginKey.getState(u);return relativePositionToAbsolutePosition(d.doc,d.type,n,d.binding.mapping)||0}function getYRelativePosition(u,n){const d=ySyncPluginKey.getState(u);return absolutePositionToRelativePosition(n,d.type,d.binding.mapping)}var CollaborationMappablePosition=class Gt extends MappablePosition{constructor(n,d){super(n),this.yRelativePosition=d}static fromJSON(n){return new Gt(n.position,n.yRelativePosition)}toJSON(){return{position:this.position,yRelativePosition:this.yRelativePosition}}};function createMappablePosition(u,n){const d=getYRelativePosition(n,u);return new CollaborationMappablePosition(u,d)}function getUpdatedPosition(u,n,d){const p=u instanceof CollaborationMappablePosition?u.yRelativePosition:null;if(isChangeOrigin(n)&&p){const y=getYAbsolutePosition(d,p);return{position:new CollaborationMappablePosition(y,p),mapResult:null}}const m=getUpdatedPosition$1(u,n),g=m.position.position;return{position:new CollaborationMappablePosition(g,p??getYRelativePosition(d,g)),mapResult:m.mapResult}}Extension.create({name:"collaboration",priority:1e3,addOptions(){return{document:null,field:"default",fragment:null,provider:null}},addStorage(){return{isDisabled:!1}},onCreate(){this.editor.extensionManager.extensions.find(u=>u.name==="undoRedo")},onBeforeCreate(){this.editor.utils.getUpdatedPosition=(u,n)=>getUpdatedPosition(u,n,this.editor.state),this.editor.utils.createMappablePosition=u=>createMappablePosition(u,this.editor.state)},addCommands(){return{undo:()=>({tr:u,state:n,dispatch:d})=>(u.setMeta("preventDispatch",!0),yUndoPluginKey.getState(n).undoManager.undoStack.length===0?!1:d?undo(n):!0),redo:()=>({tr:u,state:n,dispatch:d})=>(u.setMeta("preventDispatch",!0),yUndoPluginKey.getState(n).undoManager.redoStack.length===0?!1:d?redo(n):!0)}},addKeyboardShortcuts(){return{"Mod-z":()=>this.editor.commands.undo(),"Mod-y":()=>this.editor.commands.redo(),"Shift-Mod-z":()=>this.editor.commands.redo()}},addProseMirrorPlugins(){var u;const n=this.options.fragment?this.options.fragment:this.options.document.getXmlFragment(this.options.field),d=yUndoPlugin(this.options.yUndoOptions),p=d.spec.view;d.spec.view=y=>{const{undoManager:b}=yUndoPluginKey.getState(y.state);b.restore&&(b.restore(),b.restore=()=>{});const S=p?p(y):void 0;return{destroy:()=>{const E=b.trackedOrigins.has(b),T=b._observers;b.restore=()=>{E&&b.trackedOrigins.add(b),b.doc.on("afterTransaction",b.afterTransactionHandler),b._observers=T},S?.destroy&&S.destroy()}}};const m={...this.options.ySyncOptions,onFirstRender:this.options.onFirstRender},g=ySyncPlugin(n,m);return this.editor.options.enableContentCheck&&((u=n.doc)==null||u.on("beforeTransaction",()=>{try{const y=yXmlFragmentToProsemirrorJSON(n);if(y.content.length===0)return;this.editor.schema.nodeFromJSON(y).check()}catch(y){return this.editor.emit("contentError",{error:y,editor:this.editor,disableCollaboration:()=>{var b;(b=n.doc)==null||b.destroy(),this.storage.isDisabled=!0}}),!1}})),[g,d,this.editor.options.enableContentCheck&&new Plugin({key:new PluginKey("filterInvalidContent"),filterTransaction:()=>{var y;return this.storage.isDisabled!==!1&&((y=n.doc)==null||y.destroy()),!0}})].filter(Boolean)}});function getNodeRangeDecorations(u){if(!u.length)return DecorationSet.empty;const n=[],d=u[0].$from.node(0);return u.forEach(p=>{const m=p.$from.pos,g=p.$from.nodeAfter;g&&n.push(Decoration.node(m,m+g.nodeSize,{class:"ProseMirror-selectednoderange"}))}),DecorationSet.create(d,n)}function getSelectionRanges(u,n,d){const p=[],m=u.node(0);typeof d=="number"&&d>=0||(u.sameParent(n)?d=Math.max(0,u.sharedDepth(n.pos)-1):d=u.sharedDepth(n.pos));const g=new NodeRange(u,n,d),y=g.depth===0?0:m.resolve(g.start).posAtIndex(0);return g.parent.forEach((b,S)=>{const E=y+S,T=E+b.nodeSize;if(E<g.start||E>=g.end)return;const _=new SelectionRange(m.resolve(E),m.resolve(T));p.push(_)}),p}var NodeRangeBookmark=class Wt{constructor(n,d){this.anchor=n,this.head=d}map(n){return new Wt(n.map(this.anchor),n.map(this.head))}resolve(n){const d=n.resolve(this.anchor),p=n.resolve(this.head);return new NodeRangeSelection(d,p)}},NodeRangeSelection=class yt extends Selection{constructor(n,d,p,m=1){const{doc:g}=n,y=n===d,b=n.pos===g.content.size&&d.pos===g.content.size,S=y&&!b?g.resolve(d.pos+(m>0?1:-1)):d,E=y&&b?g.resolve(n.pos-(m>0?1:-1)):n,T=getSelectionRanges(E.min(S),E.max(S),p),_=S.pos>=n.pos?T[0].$from:T[T.length-1].$to,R=S.pos>=n.pos?T[T.length-1].$to:T[0].$from;super(_,R,T),this.depth=p}get $to(){return this.ranges[this.ranges.length-1].$to}eq(n){return n instanceof yt&&n.$from.pos===this.$from.pos&&n.$to.pos===this.$to.pos}map(n,d){const p=n.resolve(d.map(this.anchor)),m=n.resolve(d.map(this.head));return new yt(p,m)}toJSON(){return{type:"nodeRange",anchor:this.anchor,head:this.head}}get isForwards(){return this.head>=this.anchor}get isBackwards(){return!this.isForwards}extendBackwards(){const{doc:n}=this.$from;if(this.isForwards&&this.ranges.length>1){const m=this.ranges.slice(0,-1),g=m[0].$from,y=m[m.length-1].$to;return new yt(g,y,this.depth)}const d=this.ranges[0],p=n.resolve(Math.max(0,d.$from.pos-1));return new yt(this.$anchor,p,this.depth)}extendForwards(){const{doc:n}=this.$from;if(this.isBackwards&&this.ranges.length>1){const m=this.ranges.slice(1),g=m[0].$from,y=m[m.length-1].$to;return new yt(y,g,this.depth)}const d=this.ranges[this.ranges.length-1],p=n.resolve(Math.min(n.content.size,d.$to.pos+1));return new yt(this.$anchor,p,this.depth)}static fromJSON(n,d){return new yt(n.resolve(d.anchor),n.resolve(d.head))}static create(n,d,p,m,g=1){return new this(n.resolve(d),n.resolve(p),m,g)}getBookmark(){return new NodeRangeBookmark(this.anchor,this.head)}};NodeRangeSelection.prototype.visible=!1;function isNodeRangeSelection(u){return u instanceof NodeRangeSelection}Extension.create({name:"nodeRange",addOptions(){return{depth:void 0,key:"Mod"}},addKeyboardShortcuts(){return{"Shift-ArrowUp":({editor:u})=>{const{depth:n}=this.options,{view:d,state:p}=u,{doc:m,selection:g,tr:y}=p,{anchor:b,head:S}=g;if(!isNodeRangeSelection(g)){const T=NodeRangeSelection.create(m,b,S,n,-1);return y.setSelection(T),d.dispatch(y),!0}const E=g.extendBackwards();return y.setSelection(E),d.dispatch(y),!0},"Shift-ArrowDown":({editor:u})=>{const{depth:n}=this.options,{view:d,state:p}=u,{doc:m,selection:g,tr:y}=p,{anchor:b,head:S}=g;if(!isNodeRangeSelection(g)){const T=NodeRangeSelection.create(m,b,S,n);return y.setSelection(T),d.dispatch(y),!0}const E=g.extendForwards();return y.setSelection(E),d.dispatch(y),!0},"Mod-a":({editor:u})=>{const{depth:n}=this.options,{view:d,state:p}=u,{doc:m,tr:g}=p,y=NodeRangeSelection.create(m,0,m.content.size,n);return g.setSelection(y),d.dispatch(g),!0}}},onSelectionUpdate(){const{selection:u}=this.editor.state;isNodeRangeSelection(u)&&this.editor.view.dom.classList.add("ProseMirror-noderangeselection")},addProseMirrorPlugins(){let u=!1,n=!1;return[new Plugin({key:new PluginKey("nodeRange"),props:{attributes:()=>u?{class:"ProseMirror-noderangeselection"}:{class:""},handleDOMEvents:{mousedown:(d,p)=>{const{key:m}=this.options,g=/Mac/.test(navigator.platform),y=!!p.shiftKey,b=!!p.ctrlKey,S=!!p.altKey,E=!!p.metaKey,T=g?E:b;return(m==null||m==="Shift"&&y||m==="Control"&&b||m==="Alt"&&S||m==="Meta"&&E||m==="Mod"&&T)&&(n=!0),n&&document.addEventListener("mouseup",()=>{n=!1;const{state:_}=d,{doc:R,selection:C,tr:A}=_,{$anchor:k,$head:I}=C;if(k.sameParent(I))return;const P=NodeRangeSelection.create(R,k.pos,I.pos,this.options.depth);A.setSelection(P),d.dispatch(A)},{once:!0}),!1}},decorations:d=>{const{selection:p}=d,m=isNodeRangeSelection(p);if(u=!1,!n)return m?(u=!0,getNodeRangeDecorations(p.ranges)):null;const{$from:g,$to:y}=p;if(!m&&g.sameParent(y))return null;const b=getSelectionRanges(g,y,this.options.depth);return b.length?(u=!0,getNodeRangeDecorations(b)):null}}})]}});function getCSSText(u){let n="";const d=getComputedStyle(u);for(let p=0;p<d.length;p+=1)n+=`${d[p]}:${d.getPropertyValue(d[p])};`;return n}function cloneElement(u){const n=u.cloneNode(!0),d=[u,...Array.from(u.getElementsByTagName("*"))],p=[n,...Array.from(n.getElementsByTagName("*"))];return d.forEach((m,g)=>{p[g].style.cssText=getCSSText(m)}),n}var listItemFirstChild={id:"listItemFirstChild",evaluate:({parent:u,isFirst:n})=>n&&u&&["listItem","taskItem"].includes(u.type.name)?1e3:0},listWrapperDeprioritize={id:"listWrapperDeprioritize",evaluate:({node:u})=>{const n=["listItem","taskItem"],d=u.firstChild;return d&&n.includes(d.type.name)?1e3:0}},tableStructure={id:"tableStructure",evaluate:({node:u,parent:n})=>["tableRow","tableCell","tableHeader"].includes(u.type.name)||n&&n.type.name==="tableHeader"?1e3:0},inlineContent={id:"inlineContent",evaluate:({node:u})=>u.isInline||u.isText?1e3:0},defaultRules=[listItemFirstChild,listWrapperDeprioritize,tableStructure,inlineContent],DEFAULT_EDGE_CONFIG={edges:["left","top"],threshold:12,strength:500};function normalizeEdgeDetection(u){return u===void 0||u==="left"?{...DEFAULT_EDGE_CONFIG}:u==="right"?{edges:["right","top"],threshold:12,strength:500}:u==="both"?{edges:["left","right","top"],threshold:12,strength:500}:u==="none"?{edges:[],threshold:0,strength:0}:{...DEFAULT_EDGE_CONFIG,...u}}function isNearEdge(u,n,d){if(d.edges.length===0)return!1;const p=n.getBoundingClientRect(),{threshold:m,edges:g}=d;return g.some(y=>y==="left"?u.x-p.left<m:y==="right"?p.right-u.x<m:y==="top"?u.y-p.top<m:y==="bottom"?p.bottom-u.y<m:!1)}function calculateEdgeDeduction(u,n,d,p){return!n||d.edges.length===0?0:isNearEdge(u,n,d)?d.strength*p:0}var BASE_SCORE=1e3;function calculateScore(u,n,d,p){let m=BASE_SCORE,g=!1;if(n.every(b=>{const S=b.evaluate(u);return m-=S,m<=0?(g=!0,!1):!0}),g)return-1;const y=u.view.nodeDOM(u.pos);return m-=calculateEdgeDeduction(p,y,d,u.depth),m<=0?-1:m}function hasAncestorOfType(u,n,d){return Array.from({length:n},(m,g)=>n-1-g).some(m=>d.includes(u.node(m).type.name))}function findBestDragTarget(u,n,d){if(!Number.isFinite(n.x)||!Number.isFinite(n.y))return null;const p=u.posAtCoords({left:n.x,top:n.y});if(!p)return null;const{doc:m}=u.state,g=m.resolve(p.pos),y=[];d.defaultRules&&y.push(...defaultRules),y.push(...d.rules);const S=Array.from({length:g.depth},(_,R)=>g.depth-R).map(_=>{const R=g.node(_),C=g.before(_);if(d.allowedContainers&&_>0&&!hasAncestorOfType(g,_,d.allowedContainers))return null;const A=_>0?g.node(_-1):null,k=_>0?g.index(_-1):0,I=A?A.childCount:1,P={node:R,pos:C,depth:_,parent:A,index:k,isFirst:k===0,isLast:k===I-1,$pos:g,view:u},D=calculateScore(P,y,d.edgeDetection,n);if(D<0)return null;const O=u.nodeDOM(C);return{node:R,pos:C,depth:_,score:D,dom:O}}).filter(_=>_!==null),E=g.nodeAfter;if(E&&E.isAtom&&!E.isInline){const _=p.pos,R=g.depth+1,C=g.parent,A=g.index(),k=C.childCount;let I=!0;if(d.allowedContainers&&(I=hasAncestorOfType(g,R,d.allowedContainers)),I){const P={node:E,pos:_,depth:R,parent:C,index:A,isFirst:A===0,isLast:A===k-1,$pos:g,view:u},D=calculateScore(P,y,d.edgeDetection,n);if(D>=0){const O=u.nodeDOM(_);O&&S.push({node:E,pos:_,depth:R,score:D,dom:O})}}}if(S.length===0)return null;S.sort((_,R)=>R.score!==_.score?R.score-_.score:R.depth-_.depth);const T=S[0];return T.dom?{node:T.node,pos:T.pos,dom:T.dom}:null}function findClosestTopLevelBlock(u,n){let d=u;for(;d?.parentElement&&d.parentElement!==n.dom;)d=d.parentElement;return d?.parentElement===n.dom?d:void 0}function isValidRect(u){return Number.isFinite(u.top)&&Number.isFinite(u.bottom)&&Number.isFinite(u.left)&&Number.isFinite(u.right)&&u.width>0&&u.height>0}function clampToContent(u,n,d,p=5){if(!Number.isFinite(n)||!Number.isFinite(d))return null;const m=u.dom,g=m.firstElementChild,y=m.lastElementChild;if(!g||!y)return null;const b=g.getBoundingClientRect(),S=y.getBoundingClientRect();if(!isValidRect(b)||!isValidRect(S))return null;const E=Math.min(Math.max(b.top+p,d),S.bottom-p),T=.5,_=Math.abs(b.left-S.left)<T,R=Math.abs(b.right-S.right)<T;let C=b;_&&R&&(C=b);const A=Math.min(Math.max(C.left+p,n),C.right-p);return!Number.isFinite(A)||!Number.isFinite(E)?null:{x:A,y:E}}var findElementNextToCoords=u=>{const{x:n,y:d,editor:p,nestedOptions:m}=u,{view:g,state:y}=p,b=clampToContent(g,n,d,5);if(!b)return{resultElement:null,resultNode:null,pos:null};const{x:S,y:E}=b;if(m?.enabled){const A=findBestDragTarget(g,{x:S,y:E},m);return A?{resultElement:A.dom,resultNode:A.node,pos:A.pos}:{resultElement:null,resultNode:null,pos:null}}const T=g.root.elementsFromPoint(S,E);let _;if(Array.prototype.some.call(T,A=>{if(!g.dom.contains(A))return!1;const k=findClosestTopLevelBlock(A,g);return k?(_=k,!0):!1}),!_)return{resultElement:null,resultNode:null,pos:null};let R;try{R=g.posAtDOM(_,0)}catch{return{resultElement:null,resultNode:null,pos:null}}const C=y.doc.nodeAt(R);if(!C){const A=y.doc.resolve(R),k=A.parent;return{resultElement:_,resultNode:k,pos:A.start()}}return{resultElement:_,resultNode:C,pos:R}};function removeNode(u){var n;(n=u.parentNode)==null||n.removeChild(u)}function getDragHandleRanges(u,n,d,p){const{doc:m}=n.view.state;if(d?.enabled&&p?.node&&p.pos>=0){const E=p.pos,T=p.pos+p.node.nodeSize;return[{$from:m.resolve(E),$to:m.resolve(T)}]}const g=findElementNextToCoords({editor:n,x:u.clientX,y:u.clientY,nestedOptions:d});if(!g.resultNode||g.pos===null)return[];const y=g.resultNode.isText||g.resultNode.isAtom?0:-1,b=m.resolve(g.pos),S=m.resolve(g.pos+g.resultNode.nodeSize+y);return getSelectionRanges(b,S,0)}function dragHandler(u,n,d,p){const{view:m}=n;if(!u.dataTransfer)return;const{empty:g,$from:y,$to:b}=m.state.selection,S=getDragHandleRanges(u,n,d,p),E=getSelectionRanges(y,b,0),T=E.some(N=>S.find(F=>F.$from===N.$from&&F.$to===N.$to)),_=g||!T?S:E;if(!_.length)return;const{tr:R}=m.state,C=document.createElement("div"),A=_[0].$from.pos,k=_[_.length-1].$to.pos,I=d?.enabled&&p?.node;let P,D;I?(P=m.state.doc.slice(A,k),D=NodeSelection.create(m.state.doc,A)):(D=NodeRangeSelection.create(m.state.doc,A,k),P=D.content()),_.forEach(N=>{const F=m.nodeDOM(N.$from.pos),L=cloneElement(F);C.append(L)}),C.style.position="absolute",C.style.top="-10000px",document.body.append(C),u.dataTransfer.clearData(),u.dataTransfer.setDragImage(C,0,0);const O=D instanceof NodeSelection?D:void 0;m.dragging={slice:P,move:!0,node:O},R.setSelection(D),m.dispatch(R),document.addEventListener("drop",()=>removeNode(C),{once:!0})}var getOuterNodePos=(u,n)=>{const d=u.resolve(n),{depth:p}=d;return p===0?n:d.pos-d.parentOffset-1},getOuterNode=(u,n)=>{const d=u.nodeAt(n),p=u.resolve(n);let{depth:m}=p,g=d;for(;m>0;){const y=p.node(m);m-=1,m===0&&(g=y)}return g},getRelativePos=(u,n)=>{const d=ySyncPluginKey.getState(u);return d?absolutePositionToRelativePosition(n,d.type,d.binding.mapping):null},getAbsolutePos=(u,n)=>{const d=ySyncPluginKey.getState(u);return d?relativePositionToAbsolutePosition(d.doc,d.type,n,d.binding.mapping)||0:-1},getOuterDomNode=(u,n)=>{let d=n;for(;d?.parentNode&&d.parentNode!==u.dom;)d=d.parentNode;return d},dragHandlePluginDefaultKey=new PluginKey("dragHandle"),DragHandlePlugin=({pluginKey:u=dragHandlePluginDefaultKey,element:n,editor:d,computePositionConfig:p,getReferencedVirtualElement:m,onNodeChange:g,onElementDragStart:y,onElementDragEnd:b,nestedOptions:S})=>{const E=document.createElement("div");let T=!1,_=null,R=-1,C,A=null,k=null;function I(){n&&(n.style.visibility="hidden",n.style.pointerEvents="none")}function P(){if(n){if(!d.isEditable){I();return}n.style.visibility="",n.style.pointerEvents="auto"}}function D(L){const V=m?.()||{getBoundingClientRect:()=>L.getBoundingClientRect()};computePosition(V,n,p).then(j=>{Object.assign(n.style,{position:j.strategy,left:`${j.x}px`,top:`${j.y}px`})})}function O(L){y?.(L),dragHandler(L,d,S,{node:_,pos:R}),n&&(n.dataset.dragging="true"),setTimeout(()=>{n&&(n.style.pointerEvents="none")},0)}function N(L){b?.(L),I(),n&&(n.style.pointerEvents="auto",n.dataset.dragging="false")}function F(){if(isFirefox()){const L=d.view.dom;requestAnimationFrame(()=>{L.isContentEditable&&(L.contentEditable="false",L.contentEditable="true")})}}return n.addEventListener("dragstart",O),n.addEventListener("dragend",N),document.addEventListener("drop",F),E.appendChild(n),{unbind(){n.removeEventListener("dragstart",O),n.removeEventListener("dragend",N),document.removeEventListener("drop",F),A&&(cancelAnimationFrame(A),A=null,k=null)},plugin:new Plugin({key:typeof u=="string"?new PluginKey(u):u,state:{init(){return{locked:!1}},apply(L,V,j,Y){const te=L.getMeta("lockDragHandle"),ee=L.getMeta("hideDragHandle");if(te!==void 0&&(T=te),ee)return I(),T=!1,_=null,R=-1,g?.({editor:d,node:null,pos:-1}),V;if(L.docChanged&&R!==-1&&n)if(isChangeOrigin(L)){const J=getAbsolutePos(Y,C);J!==R&&(R=J)}else{const J=L.mapping.map(R);J!==R&&(R=J,C=getRelativePos(Y,R))}return V}},view:L=>{var V;return n.draggable=!0,n.style.pointerEvents="auto",n.dataset.dragging="false",(V=d.view.dom.parentElement)==null||V.appendChild(E),E.style.pointerEvents="none",E.style.position="absolute",E.style.top="0",E.style.left="0",{update(j,Y){if(!n)return;if(!d.isEditable){I();return}if(T?n.draggable=!1:n.draggable=!0,L.state.doc.eq(Y.doc)||R===-1)return;let te=L.nodeDOM(R);if(te=getOuterDomNode(L,te),te===L.dom||te?.nodeType!==1)return;const ee=L.posAtDOM(te,0),J=getOuterNode(d.state.doc,ee),se=getOuterNodePos(d.state.doc,ee);_=J,R=se,C=getRelativePos(L.state,R),g?.({editor:d,node:_,pos:R}),D(te)},destroy(){n.removeEventListener("dragstart",O),n.removeEventListener("dragend",N),document.removeEventListener("drop",F),A&&(cancelAnimationFrame(A),A=null,k=null),n&&removeNode(E)}}},props:{handleDOMEvents:{keydown(L){return!n||T||L.hasFocus()&&(I(),_=null,R=-1,g?.({editor:d,node:null,pos:-1})),!1},mouseleave(L,V){return T||V.target&&!E.contains(V.relatedTarget)&&(I(),_=null,R=-1,g?.({editor:d,node:null,pos:-1})),!1},mousemove(L,V){return!n||T||(k={x:V.clientX,y:V.clientY},A)||(A=requestAnimationFrame(()=>{if(A=null,!k)return;const{x:j,y:Y}=k;k=null;const te=findElementNextToCoords({x:j,y:Y,editor:d,nestedOptions:S});if(!te.resultElement)return;let ee=te.resultElement,J=te.resultNode,se=te.pos;if(!S?.enabled){if(ee=getOuterDomNode(L,ee),ee===L.dom||ee?.nodeType!==1)return;const Z=L.posAtDOM(ee,0);J=getOuterNode(d.state.doc,Z),se=getOuterNodePos(d.state.doc,Z)}J!==_&&(_=J,R=se??-1,C=getRelativePos(L.state,R),g?.({editor:d,node:_,pos:R}),D(ee),P())})),!1}}}})}};function normalizeNestedOptions(u){var n,d;return u===!1||u===void 0?{enabled:!1,rules:[],defaultRules:!0,allowedContainers:void 0,edgeDetection:normalizeEdgeDetection("none")}:u===!0?{enabled:!0,rules:[],defaultRules:!0,allowedContainers:void 0,edgeDetection:normalizeEdgeDetection("left")}:{enabled:!0,rules:(n=u.rules)!=null?n:[],defaultRules:(d=u.defaultRules)!=null?d:!0,allowedContainers:u.allowedContainers,edgeDetection:normalizeEdgeDetection(u.edgeDetection)}}var defaultComputePositionConfig={placement:"left-start",strategy:"absolute"};Extension.create({name:"dragHandle",addOptions(){return{render(){const u=document.createElement("div");return u.classList.add("drag-handle"),u},computePositionConfig:{},locked:!1,onNodeChange:()=>null,onElementDragStart:void 0,onElementDragEnd:void 0,nested:!1}},addCommands(){return{lockDragHandle:()=>({editor:u})=>(this.options.locked=!0,u.commands.setMeta("lockDragHandle",this.options.locked)),unlockDragHandle:()=>({editor:u})=>(this.options.locked=!1,u.commands.setMeta("lockDragHandle",this.options.locked)),toggleDragHandle:()=>({editor:u})=>(this.options.locked=!this.options.locked,u.commands.setMeta("lockDragHandle",this.options.locked))}},addProseMirrorPlugins(){const u=this.options.render(),n=normalizeNestedOptions(this.options.nested);return[DragHandlePlugin({computePositionConfig:{...defaultComputePositionConfig,...this.options.computePositionConfig},getReferencedVirtualElement:this.options.getReferencedVirtualElement,element:u,editor:this.editor,onNodeChange:this.options.onNodeChange,onElementDragStart:this.options.onElementDragStart,onElementDragEnd:this.options.onElementDragEnd,nestedOptions:n}).plugin]}});var DragHandle=u=>{const{className:n="drag-handle",children:d,editor:p,pluginKey:m=dragHandlePluginDefaultKey,onNodeChange:g,onElementDragStart:y,onElementDragEnd:b,computePositionConfig:S=defaultComputePositionConfig,nested:E=!1}=u,[T,_]=React.useState(null),R=React.useRef(null),C=React.useMemo(()=>normalizeNestedOptions(E),[JSON.stringify(E)]);return React.useEffect(()=>{let A=null;return T?p.isDestroyed?()=>{R.current=null}:(R.current||(A=DragHandlePlugin({editor:p,element:T,pluginKey:m,computePositionConfig:{...defaultComputePositionConfig,...S},onElementDragStart:y,onElementDragEnd:b,onNodeChange:g,nestedOptions:C}),R.current=A.plugin,p.registerPlugin(R.current)),()=>{p.unregisterPlugin(m),R.current=null,A&&(A.unbind(),A=null)}):()=>{R.current=null}},[T,p,g,m,S,y,b,C]),jsxRuntime.jsx("div",{className:n,style:{visibility:"hidden",position:"absolute"},"data-dragging":"false",ref:_,children:d})},index_default=DragHandle;const PostBuilderEditorInstance=({editor:u,actions:n,editorTab:d,onSwitchEditor:p,isSubmitting:m,clearOnSuccess:g,onCreatePost:y,onVoiceComment:b,onVoiceRecord:S,onQuickGif:E,className:T,store:_,placement:R,hideSubmitButton:C,hideGroupSelector:A})=>{const[k,I]=React.useState(!1),[P,D]=React.useState(!0),[O,N]=React.useState(null),{trackPublish:F}=useAnalyticsTracking(),{t:L,allowSendWhileUploading:V,unauthenticatedMode:j}=usePostBuilder(),Y=useStore(_,Q=>Q.groupId)??void 0,{clearContent:te}=usePersistence(R,Y);useHostAnalyticsBridge(),useEditorTracking({editor:u,editorType:d});const ee=React.useRef(null),[J,se]=React.useState(),Z=React.useCallback(Q=>{if(u&&(hasActiveUploads(u)||hasDeferredMedia(u))){N(Q);return}ee.current&&se(ee.current.offsetHeight),p(Q)},[u,p]);React.useEffect(()=>{if(J&&u){const Q=()=>se(void 0),ne=setTimeout(Q,50);return u.once("update",Q),()=>{clearTimeout(ne),u.off("update",Q)}}},[J,u]),React.useEffect(()=>{const Q=()=>{const{groupId:le,selectedGroupId:ce}=_.getState();D(!!(le||ce))};Q();const ne=_.subscribe(Q);return()=>ne()},[_]);const re=Q=>{Q.preventDefault(),I(!0)},B=Q=>{Q.preventDefault(),I(!1)},q=Q=>{Q.preventDefault(),I(!1)},H=()=>{const Q=document.querySelector('[aria-label="Select group"]');Q&&Q.click()},W=React.useCallback(Q=>{if(!u)return;const ne=u?.getHTML(),le=u?.getJSON(),ce=u?.getText(),{selectedGroupId:ae,groupId:oe}=_.getState(),de=ae||oe||void 0,fe=V||j,pe=generateCreatePostPayload(d,{editor:u,sendCrossMention:Q,groupId:de,allowSendWhileUploading:fe}),ge=pe?.type===NewPostType.NEW_POST_POLL;if(pe?.error){toast.error(pe.error);return}if(!pe?.postId)return;if(ge&&pe.items?.length===0)return toast.warning(`At least ${POLL_LIMITS.MIN} option is mandatory to create a poll post`);typeof window<"u"&&window.dispatchEvent(new CustomEvent(PostBuilderEvents.POST_PUBLISH_ATTEMPTED,{detail:{postId:pe.postId,postType:pe.type}}));const ve=getEditorMetrics(u);F({editorType:d,status:"attempted",postId:pe?.postId,postType:pe?.type,isCrosspost:Q,...ve});let be;if(fe){const Se=new Map;for(const me of pe.items??[]){if(!("sources"in me)||!me.sources?.original?.url?.startsWith("blob:"))continue;const we="option_id"in me?u.storage?.poll?.getPendingUpload?.(me.key):u.storage?.smartMediaUpload?.getPendingUpload?.(me.key);we&&Se.set(me.key,we)}if(d!==EditorTypes.Poll){const me=findByType(le,"media");for(const we of me){const Ae=we?.attrs?.uid,Ce=we?.attrs?.src;if(typeof Ae!="string"||!(typeof Ce=="string"&&Ce.startsWith("blob:"))&&we?.attrs?.deferred!==!0||Se.has(Ae))continue;const Ie=u.storage?.smartMediaUpload?.getPendingUpload?.(Ae);Ie&&Se.set(Ae,Ie)}}Se.size>0&&(be=Se)}y?.({payload:pe,html:ne,json:le,text:ce,pendingUploads:be},{restoreContent:()=>{const{editor:Se,editorTab:me}=_.getState();me===d&&(!Se||Se.isDestroyed||Se.commands.setContent(le))}}),g&&(te(),d===EditorTypes.Poll?u?.chain()?.focus()?.setContent({type:"doc",content:[{type:"paragraph"},{type:"poll"}]})?.run():u?.chain()?.focus()?.clearContent()?.run())},[V,j,te,g,u,d,y,_,F]);return React.useEffect(()=>{const Q=ne=>{if((ne.ctrlKey||ne.metaKey)&&ne.key==="Enter"){if(!u?.isFocused)return;if(ne.preventDefault(),!V&&u&&hasActiveUploads(u)){toast.error(L("uploadsInProgressKey"));return}W(!1)}};return window.addEventListener("keydown",Q),()=>window.removeEventListener("keydown",Q)},[u,W,V,L]),jsxRuntime.jsxs("div",{ref:ee,style:{minHeight:J?`${J}px`:void 0},className:cn("post-builder-editor bg-background border rounded-md overflow-hidden max-h-full grow flex flex-col transition-all duration-300 ease-in-out relative",R===EditorPlacement.Comment&&"min-h-32",T),children:[!P&&!A&&jsxRuntime.jsx("div",{className:"z-50 absolute inset-0 bg-foreground/30 backdrop-blur-xs flex items-center justify-center rounded-md pointer-events-none",children:jsxRuntime.jsx(Button,{variant:"outline",size:"lg",onClick:H,className:"pointer-events-auto cursor-pointer hover:animate-none animate-pulse",children:"Please select a group first"})}),R!==EditorPlacement.Comment&&jsxRuntime.jsx(EditorTypeTabs,{editorTab:d,onSwitchEditorTab:Z}),jsxRuntime.jsx(Toolbar,{editor:u,actions:n,isSubmitting:m,onSubmit:W,editorType:d,placement:R,onVoiceComment:b,onVoiceRecord:S,onQuickGif:E,hideSubmitButton:C,children:jsxRuntime.jsxs("div",{className:"relative flex flex-col grow overflow-y-auto",children:[k&&jsxRuntime.jsx("div",{className:"pointer-events-none z-50 absolute inset-0 bg-accent/10 border border-dashed flex items-center justify-center",children:jsxRuntime.jsx("h2",{children:"Drop Here"})}),jsxRuntime.jsxs("div",{onDragOver:re,onDragLeave:B,onDrop:q,className:"flex flex-col grow",children:[jsxRuntime.jsx(index_default,{editor:u,className:cn("pr-2",d!==EditorTypes.Blog&&"hidden size-0 overflow-hidden pointer-events-none"),children:jsxRuntime.jsx(Button,{variant:"ghost",className:"bg-white cursor-grab py-0.5 px-0 border size-auto",children:jsxRuntime.jsx(GripVertical,{className:"text-muted-foreground"})})}),jsxRuntime.jsx(EditorContent,{className:"grow","data-theme":"select-post-builder",editor:u})]})]})}),jsxRuntime.jsx(Dialog,{open:!!O,onOpenChange:Q=>!Q&&N(null),children:jsxRuntime.jsxs(DialogContent,{children:[jsxRuntime.jsxs(DialogHeader,{children:[jsxRuntime.jsx(DialogTitle,{children:L("cancelUploadTitleKey")}),jsxRuntime.jsx(DialogDescription,{children:L("cancelUploadDescriptionKey")})]}),jsxRuntime.jsxs(DialogFooter,{children:[jsxRuntime.jsx(DialogClose,{asChild:!0,children:jsxRuntime.jsx(Button,{variant:"outline",children:L("stayKey")})}),jsxRuntime.jsx(Button,{variant:"destructive",onClick:()=>{O&&(u.commands.deleteAllUploadingMedia(),ee.current&&se(ee.current.offsetHeight),p(O),N(null))},children:L("continueKey")})]})]})})]})},PostBuilderEditorInstanceWithDialog=({user:u,store:n,hideGroupSelector:d,open:p,onOpenChange:m,onGroupSelect:g,placement:y,...b})=>{const{trackAbandon:S}=useAnalyticsTracking(),E=T=>{if(m(T),T)return;const _=getEditorMetrics(b.editor);S({editorType:b.editorTab,abandonReason:"user_closed",contentLength:_?.characterCount??0,hasUnsavedChanges:_?.hasUnsavedChanges??!1})};return jsxRuntime.jsxs(Dialog,{modal:!1,open:p,onOpenChange:E,children:[jsxRuntime.jsx("div",{className:"z-999 fixed inset-0 bg-black/50 backdrop-blur-sm",onClick:()=>E(!1)}),jsxRuntime.jsxs(DialogContent,{onInteractOutside:T=>T.preventDefault(),onOpenAutoFocus:T=>T.preventDefault(),className:"z-9999 bg-transparent shadow-none border-0 p-3 lg:max-w-4xl shrink-0 max-h-[calc(100dvh-7rem)]! flex flex-col overflow-y-auto -translate-1/2",showCloseButton:!1,children:[jsxRuntime.jsxs(DialogHeader,{children:[jsxRuntime.jsx(DialogTitle,{className:"sr-only",children:"Post Builder Modal"}),!d&&jsxRuntime.jsxs("div",{className:"flex items-center justify-between gap-3",children:[jsxRuntime.jsx(GroupSelector,{user:u,store:n,onGroupSelect:g}),jsxRuntime.jsx(DialogClose,{asChild:!0,children:jsxRuntime.jsx(Button,{variant:"outline",size:"icon",children:jsxRuntime.jsx(X,{})})})]})]}),jsxRuntime.jsx(PostBuilderEditorInstance,{...b,store:n,placement:y})]})]})};var M=(u,n,d,p,m,g,y,b)=>{let S=document.documentElement,E=["light","dark"];function T(C){(Array.isArray(u)?u:[u]).forEach(A=>{let k=A==="class",I=k&&g?m.map(P=>g[P]||P):m;k?(S.classList.remove(...I),S.classList.add(g&&g[C]?g[C]:C)):S.setAttribute(A,C)}),_(C)}function _(C){b&&E.includes(C)&&(S.style.colorScheme=C)}function R(){return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}if(p)T(p);else try{let C=localStorage.getItem(n)||d,A=y&&C==="system"?R():C;T(A)}catch{}},x=React__namespace.createContext(void 0),U={setTheme:u=>{},themes:[]},z=()=>{var u;return(u=React__namespace.useContext(x))!=null?u:U};React__namespace.memo(({forcedTheme:u,storageKey:n,attribute:d,enableSystem:p,enableColorScheme:m,defaultTheme:g,value:y,themes:b,nonce:S,scriptProps:E})=>{let T=JSON.stringify([d,n,g,u,b,y,p,m]).slice(1,-1);return React__namespace.createElement("script",{...E,suppressHydrationWarning:!0,nonce:typeof window>"u"?S:"",dangerouslySetInnerHTML:{__html:`(${M.toString()})(${T})`}})});const Toaster=({...u})=>{const{theme:n="system"}=z();return jsxRuntime.jsx(Toaster$1,{theme:n,className:"toaster group z-90",style:{"--normal-bg":"var(--popover)","--normal-text":"var(--popover-foreground)","--normal-border":"var(--border)"},...u})};function AnalyticsSessionProvider({editorType:u,placement:n,sessionId:d,children:p}){return jsxRuntime.jsx(AnalyticsSessionContext.Provider,{value:{sessionId:d,editorType:u,placement:n},children:p})}const PostBuilderEditor=({placement:u=EditorPlacement.Feed,groupId:n,postId:d,user:p,hideGroupSelector:m=!1,clearOnSuccess:g=!0,openModal:y,onModalOpenChange:b,isSubmitting:S,onCreatePost:E,onVoiceComment:T,onVoiceRecord:_,onQuickGif:R,onGroupSelect:C,onDirtyStateChange:A,onReady:k,disableNavigationWarning:I,initialContent:P,resumeDeferredMedia:D,initialTab:O,hideSubmitButton:N,onEditorTabChange:F,placeholder:L})=>{const[V,j]=React.useState(O??EditorTypes.Media),[Y,te]=React.useState(""),ee=useAnalyticsStore(ye=>ye.createSession),J=useAnalyticsStore(ye=>ye.deleteSession),se=useAnalyticsStore(ye=>ye.trackEditorFocus),{editor:Z,actions:re,store:B,isMounted:q,saveBeforeSwitch:H,keepEditing:W,saveDraft:Q,discardDraft:ne,skipNextUnmountSave:le,setContent:ce,getContent:ae,clearEditor:oe,resumeDeferredUploads:de}=usePostBuilderEditor({editorType:V,placement:u,groupId:n,postId:d,user:p,disableNavigationWarning:I,initialContent:P,resumeDeferredMedia:D,placeholder:L}),fe=React.useCallback(ye=>{R?.({...ye,onSent:oe})},[R,oe]),pe=React.useCallback(ye=>{H(),j(ye),F?.(ye)},[H,F]),ge=React.useMemo(()=>({editor:Z}),[Z]);React.useEffect(()=>{if(u===EditorPlacement.Modal&&!y)return;const ye=ee(EditorTypes.Media,u);return te(ye),()=>{J(ye)}},[ee,J,y,u]),React.useEffect(()=>{const ye=Se=>{if(!Z)return;const{newSessionId:me}=Se.detail;te(me),Z.isFocused&&se(me)};return window.addEventListener(PostBuilderEvents.POST_SESSION_ROTATED,ye),()=>{window.removeEventListener(PostBuilderEvents.POST_SESSION_ROTATED,ye)}},[Z,se]),React.useEffect(()=>{const ye=Se=>{const me=Se.detail;!me||me.groupId!==n||me.editorType&&me.editorType!==V&&(le(),j(me.editorType),F?.(me.editorType))};return window.addEventListener(PostBuilderEvents.DRAFT_REHYDRATE_REQUEST,ye),()=>{window.removeEventListener(PostBuilderEvents.DRAFT_REHYDRATE_REQUEST,ye)}},[n,V,F,le]),React.useEffect(()=>{if(!Z||!Y)return;const ye=requestAnimationFrame(()=>{Z.view?.dom&&(Z.view.dom.setAttribute("data-session-id",Y),Z.view.dom.setAttribute("data-editor-type",V))});return()=>cancelAnimationFrame(ye)},[Z,Y,V]);const ve=React.useRef(!1);React.useEffect(()=>{if(!Z||!A)return;const ye=()=>{const Se=V===EditorTypes.Poll?!isPollEmpty(Z.getJSON()):!Z.isEmpty;Se!==ve.current&&(ve.current=Se,A(Se))};return Z.on("update",ye),()=>{Z.off("update",ye)}},[Z,A,V]);const be=React.useRef(!1);return React.useEffect(()=>{!Z||be.current||!k||(be.current=!0,k({saveDraft:Q,discardDraft:ne,keepEditing:W,setContent:ce,getContent:ae,clearEditor:oe,resumeDeferredUploads:de}))},[Z,k,Q,ne,W,ce,ae,oe,de]),!q||!Z?jsxRuntime.jsx(EditorSkeleton,{}):jsxRuntime.jsx(AnalyticsSessionProvider,{sessionId:Y,editorType:V,placement:u,children:jsxRuntime.jsxs("div",{className:"max-w-full w-full","data-theme":"select-post-builder",children:[jsxRuntime.jsx(EditorContext.Provider,{value:ge,children:y?jsxRuntime.jsx(PostBuilderEditorInstanceWithDialog,{placement:u,hideGroupSelector:m,user:p,editor:Z,editorTab:V,onSwitchEditor:pe,store:B,actions:re,open:y,onOpenChange:b,onCreatePost:E,onVoiceComment:T,onVoiceRecord:_,onQuickGif:R?fe:void 0,isSubmitting:S,clearOnSuccess:g,onGroupSelect:C}):jsxRuntime.jsxs("div",{className:"prose-blockquote: flex-1 flex flex-col space-y-3 max-w-full max-h-[calc(100dvh-7rem)] bg-transparent",children:[!m&&jsxRuntime.jsx(GroupSelector,{user:p,store:B,onGroupSelect:C}),jsxRuntime.jsx(PostBuilderEditorInstance,{editor:Z,actions:re,editorTab:V,onSwitchEditor:pe,store:B,isSubmitting:S,onCreatePost:E,onVoiceComment:T,onVoiceRecord:_,onQuickGif:R?fe:void 0,clearOnSuccess:g,placement:u,hideSubmitButton:N,hideGroupSelector:m})]})}),jsxRuntime.jsx(Toaster,{position:"top-center"})]})})},EditorSkeleton=()=>jsxRuntime.jsx("div",{className:"max-w-full w-full","data-theme":"select-post-builder",children:jsxRuntime.jsxs("div",{className:"space-y-3",children:[jsxRuntime.jsx(Skeleton,{className:"h-8 w-48"}),jsxRuntime.jsxs("div",{className:"min-h-60 w-full flex flex-col overflow-hidden rounded-lg border",children:[jsxRuntime.jsx(Skeleton,{className:"h-10 rounded-b-none"}),jsxRuntime.jsx(Separator,{}),jsxRuntime.jsx(Skeleton,{className:"h-44 rounded-none"}),jsxRuntime.jsx(Separator,{}),jsxRuntime.jsx(Skeleton,{className:"h-[47px] rounded-t-none flex items-center justify-end p-2",children:jsxRuntime.jsx(Skeleton,{className:"h-full w-20 bg-accent-foreground/20"})})]})]})}),translationFallback={addKey:"Add",cancelKey:"Cancel",deleteKey:"Delete",editKey:"Edit",updateKey:"Update",insertKey:"Insert",uploadKey:"Upload",postKey:"Post",crossPostKey:"Cross-post to groups you #mention?",crossPostLimitKey:"Only the first 3 groups you #mention are cross-posted",postTabKey:"Post",blogTabKey:"Blog",pollTabKey:"Poll",alignLeftKey:"Align Left",alignCenterKey:"Align Center",alignRightKey:"Align Right",undoKey:"Undo",redoKey:"Redo",headingOptionsKey:"Heading Options",paragraphKey:"Paragraph",heading1Key:"Heading 1",heading2Key:"Heading 2",heading3Key:"Heading 3",boldKey:"Bold",italicKey:"Italic",strikethroughKey:"Strikethrough",bulletListKey:"Bullet List",orderedListKey:"Ordered List",blockquoteKey:"BlockQuote",codeKey:"Code",codeBlockKey:"Codeblock",moreOptionsKey:"More formatting options",insertImageKey:"Insert Image",insertVideoKey:"Insert Video",insertAudioKey:"Insert Audio",searchGifOrImagesKey:"Search Gif/Images Online",mediaSearchTitleKey:"Search Media",gifSearchKey:"GIF Search",imageSearchKey:"Image Search",searchGifPlaceholder:"Search GIFs...",searchIMagePlaceholder:"Search Images...",addLinkPreviewKey:"Add link with preview",editLinkKey:"Edit Link",visitLinkKey:"Visit Link",unsetLinkKey:"Unset Link",linkInputLabelKey:"Link URL",linkTextInputLabelKey:"Text to display",invalidLinkKey:"Please enter a valid URL",insertLinkKey:"Insert Link",updateLinkKey:"Update Link",removeLinkPreviewKey:"Remove Link Preview",fetchingMetadataKey:"Fetching Link Metadata...",pollQuestionPlaceholderKey:"Which one would you select?",addTextOptionKey:"Add text option",enterTextOptionKey:"Enter a text option...",pressEnterToAddKey:"Press Enter to add",quickGifGeneratingKey:"Text → GIF…",cancelUploadTitleKey:"Cancel upload?",cancelUploadDescriptionKey:"Switching tabs will cancel your current upload and remove the media from your post.",stayKey:"Stay",continueKey:"Continue",uploadsInProgressKey:"Please wait for all uploads to finish"},defaultTranslationKeyMappings={addKey:"general_add",cancelKey:"cancel",deleteKey:"general_delete",editKey:"general_edit",updateKey:"general_update",insertKey:"general_insert",uploadKey:"general_upload",postKey:"general_send_post",crossPostKey:"cross_mention_title",crossPostLimitKey:"cross_mention_limit_hint",postTabKey:"post_builder_tab_post_title",blogTabKey:"post_builder_tab_blog_title",pollTabKey:"post_builder_tab_poll_title",alignLeftKey:"post_builder_formatting_tooltip_align_left",alignCenterKey:"post_builder_formatting_tooltip_align_center",alignRightKey:"post_builder_formatting_tooltip_align_right",undoKey:"post_builder_formatting_tooltip_undo",redoKey:"post_builder_formatting_tooltip_redo",headingOptionsKey:"post_builder_formatting_tooltip_heading_options",paragraphKey:"post_builder_formatting_tooltip_paragraph",heading1Key:"post_builder_formatting_tooltip_heading_one",heading2Key:"post_builder_formatting_tooltip_heading_two",heading3Key:"post_builder_formatting_tooltip_heading_three",boldKey:"post_builder_formatting_tooltip_bold",italicKey:"post_builder_formatting_tooltip_italic",strikethroughKey:"post_builder_formatting_tooltip_strikethrough",bulletListKey:"post_builder_formatting_tooltip_list_bullet",orderedListKey:"post_builder_formatting_tooltip_list_ordered",blockquoteKey:"post_builder_formatting_tooltip_blockquote",codeKey:"post_builder_formatting_tooltip_code",codeBlockKey:"post_builder_formatting_tooltip_codeblock",moreOptionsKey:"post_builder_formatting_tooltip_more_options",insertImageKey:"post_builder_tooltip_insert_image",insertVideoKey:"post_builder_tooltip_insert_video",insertAudioKey:"post_builder_tooltip_insert_audio",searchGifOrImagesKey:"post_builder_tooltip_search_gif_or_image",mediaSearchTitleKey:"post_builder_media_search_modal_title",gifSearchKey:"post_builder_media_search_tab_gif_title",imageSearchKey:"post_builder_media_search_tab_image_title",searchGifPlaceholder:"post_builder_media_search_input_gif_placeholder",searchIMagePlaceholder:"post_builder_media_search_input_image_placeholder",addLinkPreviewKey:"post_builder_tooltip_link_add",editLinkKey:"post_builder_tooltip_link_edit",visitLinkKey:"post_builder_tooltip_link_visit",unsetLinkKey:"post_builder_tooltip_link_unset",linkInputLabelKey:"post_builder_link_input_label",linkTextInputLabelKey:"post_builder_link_text_input_label",invalidLinkKey:"post_builder_link_input_invalid",insertLinkKey:"post_builder_link_insert_modal_title",updateLinkKey:"post_builder_link_update_modal_title",removeLinkPreviewKey:"post_builder_tooltip_link_remove_preview",fetchingMetadataKey:"post_builder_link_loading_metadata_placeholder",pollQuestionPlaceholderKey:"post_builder_poll_question_input_placeholder",addTextOptionKey:"post_builder_poll_add_text_option_input_label",enterTextOptionKey:"post_builder_poll_add_text_option_input_placeholder",pressEnterToAddKey:"post_builder_poll_add_text_option_input_command",quickGifGeneratingKey:"post_detail_quick_gif_generating",cancelUploadTitleKey:"post_builder_upload_guard_cancel_title",cancelUploadDescriptionKey:"post_builder_upload_guard_cancel_description",stayKey:"post_builder_upload_guard_stay",continueKey:"post_builder_upload_guard_continue",uploadsInProgressKey:"post_builder_upload_guard_in_progress"},PostBuilderProvider=({children:u,apiBaseURL:n,authToken:d,toI18N:p,i18nKeys:m=defaultTranslationKeyMappings,logEvent:g,allowSendWhileUploading:y=!1,unauthenticatedMode:b=!1})=>{const S=useAnalyticsStore(R=>R.initialize),E=React.useCallback((R,C)=>{const k={...defaultTranslationKeyMappings,...m}[R],I=p(k);if(I!==k)return I;const P=translationFallback[R];return P||C||R},[p,m]),T=React.useMemo(()=>{const R=new CoreApi(n.core,d,p),C=new MFSApi(n.mfs,d,p),A=new FilestoreApi(n.fileStore,d,p);return R.initApi(),C.initApi(),A.initApi(),{core:R,mfs:C,fileStore:A}},[d,n,p]);React.useEffect(()=>{S(g,{debug:!0,enabled:!0})},[S,g]);const _=React.useMemo(()=>({authToken:d,t:E,i18nKeys:m,api:T,logEvent:g,allowSendWhileUploading:y,unauthenticatedMode:b}),[d,E,m,T,g,y,b]);return jsxRuntime.jsx(PostBuilderContext.Provider,{value:_,children:u})};function applyResolvedMediaItem(u,n,d){if(!u)return u;const p=updatePollChoiceForKey(u,n,d);return transformMediaNodes(p,m=>{if(m.attrs?.uid!==n)return m;const g=d.sources?.original?.url??m.attrs.src;return{...m,attrs:{...m.attrs,src:g,uploading:!1,progress:100,payload:d}}})}function stripPendingMediaFromJsonBody(u){if(!u)return u;const n=stripPendingPollChoices(u);return pruneMediaNodes(n,isPendingMediaNode)}function updatePollChoiceForKey(u,n,d){if(u.type==="poll"){const p=u.attrs?.choices??[];return Array.isArray(p)?{...u,attrs:{...u.attrs,choices:p.map(m=>m?.key===n?{...m,sources:d.sources}:m)}}:u}return u.content?{...u,content:u.content.map(p=>updatePollChoiceForKey(p,n,d))}:u}function stripPendingPollChoices(u){if(u.type==="poll"){const n=u.attrs?.choices??[];return Array.isArray(n)?{...u,attrs:{...u.attrs,choices:n.filter(d=>!(d?.sources?.original?.url??"").startsWith("blob:"))}}:u}return u.content?{...u,content:u.content.map(n=>stripPendingPollChoices(n))}:u}function isPendingMediaNode(u){if(u.type!=="media")return!1;const n=u.attrs??{};return n.uploading===!0||n.deferred===!0||typeof n.src=="string"&&n.src.startsWith("blob:")}function transformMediaNodes(u,n){return u.type==="media"?n(u):u.content?{...u,content:u.content.map(d=>transformMediaNodes(d,n))}:u}function pruneMediaNodes(u,n){return walkPrune(u,n)??u}function walkPrune(u,n){if(u.type==="media"&&n(u))return null;if(!u.content)return u;const d=[];for(const p of u.content){const m=walkPrune(p,n);m!==null&&d.push(m)}return u.type==="mediaGroup"&&d.length===0?null:{...u,content:d}}function applyResolvedMediaItemToHtml(u,n,d){if(!u)return u;const p=parseHtml(u),m=p.body.querySelector(`div[data-media][data-uid="${cssEscape(n)}"]`);if(!m)return u;const g=d.sources?.original?.url??m.getAttribute("data-src")??"";m.setAttribute("data-src",g),m.setAttribute("data-payload",JSON.stringify(d));const y=m.querySelector("img, video, audio");return y&&y.setAttribute("src",g),p.body.innerHTML}function stripPendingMediaFromHtml(u){if(!u)return u;const n=parseHtml(u);return n.body.querySelectorAll("div[data-media]").forEach(d=>{isPendingMediaElement(d)&&d.remove()}),n.body.querySelectorAll("div[data-media-group]").forEach(d=>{d.querySelector("div[data-media]")===null&&d.remove()}),n.body.innerHTML}function isPendingMediaElement(u){const n=u.getAttribute("data-src")??"";return!n||n.startsWith("blob:")?!0:(u.querySelector("img, video, audio")?.getAttribute("src")??"").startsWith("blob:")}function parseHtml(u){return new DOMParser().parseFromString(`<body>${u}</body>`,"text/html")}function cssEscape(u){return u.replace(/(["\\])/g,"\\$1")}exports.EditorPlacement=EditorPlacement;exports.EditorTypes=EditorTypes;exports.PostBuilderEditor=PostBuilderEditor;exports.PostBuilderEvents=PostBuilderEvents;exports.PostBuilderProvider=PostBuilderProvider;exports.applyResolvedMediaItem=applyResolvedMediaItem;exports.applyResolvedMediaItemToHtml=applyResolvedMediaItemToHtml;exports.ensurePollMinimum=ensurePollMinimum;exports.stripPendingMediaFromHtml=stripPendingMediaFromHtml;exports.stripPendingMediaFromJsonBody=stripPendingMediaFromJsonBody;
254
+ `?y.insert.slice(0,-1):y.insert;(typeof b!="string"||b.length>0)&&insertText(p,this,m,b,y.attributes||{})}else y.retain!==void 0?formatText(p,this,m,y.retain,y.attributes||{}):y.delete!==void 0&&deleteText(p,m,y.delete)}}):this._pending.push(()=>this.applyDelta(n))}toDelta(n,d,p){this.doc??warnPrematureAccess();const m=[],g=new Map,y=this.doc;let b="",S=this._start;function E(){if(b.length>0){const _={};let R=!1;g.forEach((A,k)=>{R=!0,_[k]=A});const C={insert:b};R&&(C.attributes=_),m.push(C),b=""}}const T=()=>{for(;S!==null;){if(isVisible$1(S,n)||d!==void 0&&isVisible$1(S,d))switch(S.content.constructor){case ContentString:{const _=g.get("ychange");n!==void 0&&!isVisible$1(S,n)?(_===void 0||_.user!==S.id.client||_.type!=="removed")&&(E(),g.set("ychange",p?p("removed",S.id):{type:"removed"})):d!==void 0&&!isVisible$1(S,d)?(_===void 0||_.user!==S.id.client||_.type!=="added")&&(E(),g.set("ychange",p?p("added",S.id):{type:"added"})):_!==void 0&&(E(),g.delete("ychange")),b+=S.content.str;break}case ContentType:case ContentEmbed:{E();const _={insert:S.content.getContent()[0]};if(g.size>0){const R={};_.attributes=R,g.forEach((C,A)=>{R[A]=C})}m.push(_);break}case ContentFormat:isVisible$1(S,n)&&(E(),updateCurrentAttributes(g,S.content));break}S=S.right}E()};return n||d?transact(y,_=>{n&&splitSnapshotAffectedStructs(_,n),d&&splitSnapshotAffectedStructs(_,d),T()},"cleanup"):T(),m}insert(n,d,p){if(d.length<=0)return;const m=this.doc;m!==null?transact(m,g=>{const y=findPosition(g,this,n,!p);p||(p={},y.currentAttributes.forEach((b,S)=>{p[S]=b})),insertText(g,this,y,d,p)}):this._pending.push(()=>this.insert(n,d,p))}insertEmbed(n,d,p){const m=this.doc;m!==null?transact(m,g=>{const y=findPosition(g,this,n,!p);insertText(g,this,y,d,p||{})}):this._pending.push(()=>this.insertEmbed(n,d,p||{}))}delete(n,d){if(d===0)return;const p=this.doc;p!==null?transact(p,m=>{deleteText(m,findPosition(m,this,n,!0),d)}):this._pending.push(()=>this.delete(n,d))}format(n,d,p){if(d===0)return;const m=this.doc;m!==null?transact(m,g=>{const y=findPosition(g,this,n,!1);y.right!==null&&formatText(g,this,y,d,p)}):this._pending.push(()=>this.format(n,d,p))}removeAttribute(n){this.doc!==null?transact(this.doc,d=>{typeMapDelete(d,this,n)}):this._pending.push(()=>this.removeAttribute(n))}setAttribute(n,d){this.doc!==null?transact(this.doc,p=>{typeMapSet(p,this,n,d)}):this._pending.push(()=>this.setAttribute(n,d))}getAttribute(n){return typeMapGet(this,n)}getAttributes(){return typeMapGetAll(this)}_write(n){n.writeTypeRef(YTextRefID)}}const readYText=u=>new YText;class YXmlTreeWalker{constructor(n,d=()=>!0){this._filter=d,this._root=n,this._currentNode=n._start,this._firstCall=!0,n.doc??warnPrematureAccess()}[Symbol.iterator](){return this}next(){let n=this._currentNode,d=n&&n.content&&n.content.type;if(n!==null&&(!this._firstCall||n.deleted||!this._filter(d)))do if(d=n.content.type,!n.deleted&&(d.constructor===YXmlElement||d.constructor===YXmlFragment)&&d._start!==null)n=d._start;else for(;n!==null;){const p=n.next;if(p!==null){n=p;break}else n.parent===this._root?n=null:n=n.parent._item}while(n!==null&&(n.deleted||!this._filter(n.content.type)));return this._firstCall=!1,n===null?{value:void 0,done:!0}:(this._currentNode=n,{value:n.content.type,done:!1})}}class YXmlFragment extends AbstractType{constructor(){super(),this._prelimContent=[]}get firstChild(){const n=this._first;return n?n.content.getContent()[0]:null}_integrate(n,d){super._integrate(n,d),this.insert(0,this._prelimContent),this._prelimContent=null}_copy(){return new YXmlFragment}clone(){const n=new YXmlFragment;return n.insert(0,this.toArray().map(d=>d instanceof AbstractType?d.clone():d)),n}get length(){return this.doc??warnPrematureAccess(),this._prelimContent===null?this._length:this._prelimContent.length}createTreeWalker(n){return new YXmlTreeWalker(this,n)}querySelector(n){n=n.toUpperCase();const p=new YXmlTreeWalker(this,m=>m.nodeName&&m.nodeName.toUpperCase()===n).next();return p.done?null:p.value}querySelectorAll(n){return n=n.toUpperCase(),from(new YXmlTreeWalker(this,d=>d.nodeName&&d.nodeName.toUpperCase()===n))}_callObserver(n,d){callTypeObservers(this,n,new YXmlEvent(this,d,n))}toString(){return typeListMap(this,n=>n.toString()).join("")}toJSON(){return this.toString()}toDOM(n=document,d={},p){const m=n.createDocumentFragment();return p!==void 0&&p._createAssociation(m,this),typeListForEach(this,g=>{m.insertBefore(g.toDOM(n,d,p),null)}),m}insert(n,d){this.doc!==null?transact(this.doc,p=>{typeListInsertGenerics(p,this,n,d)}):this._prelimContent.splice(n,0,...d)}insertAfter(n,d){if(this.doc!==null)transact(this.doc,p=>{const m=n&&n instanceof AbstractType?n._item:n;typeListInsertGenericsAfter(p,this,m,d)});else{const p=this._prelimContent,m=n===null?0:p.findIndex(g=>g===n)+1;if(m===0&&n!==null)throw create$3("Reference item not found");p.splice(m,0,...d)}}delete(n,d=1){this.doc!==null?transact(this.doc,p=>{typeListDelete(p,this,n,d)}):this._prelimContent.splice(n,d)}toArray(){return typeListToArray(this)}push(n){this.insert(this.length,n)}unshift(n){this.insert(0,n)}get(n){return typeListGet(this,n)}slice(n=0,d=this.length){return typeListSlice(this,n,d)}forEach(n){typeListForEach(this,n)}_write(n){n.writeTypeRef(YXmlFragmentRefID)}}const readYXmlFragment=u=>new YXmlFragment;class YXmlElement extends YXmlFragment{constructor(n="UNDEFINED"){super(),this.nodeName=n,this._prelimAttrs=new Map}get nextSibling(){const n=this._item?this._item.next:null;return n?n.content.type:null}get prevSibling(){const n=this._item?this._item.prev:null;return n?n.content.type:null}_integrate(n,d){super._integrate(n,d),this._prelimAttrs.forEach((p,m)=>{this.setAttribute(m,p)}),this._prelimAttrs=null}_copy(){return new YXmlElement(this.nodeName)}clone(){const n=new YXmlElement(this.nodeName),d=this.getAttributes();return forEach(d,(p,m)=>{n.setAttribute(m,p)}),n.insert(0,this.toArray().map(p=>p instanceof AbstractType?p.clone():p)),n}toString(){const n=this.getAttributes(),d=[],p=[];for(const b in n)p.push(b);p.sort();const m=p.length;for(let b=0;b<m;b++){const S=p[b];d.push(S+'="'+n[S]+'"')}const g=this.nodeName.toLocaleLowerCase(),y=d.length>0?" "+d.join(" "):"";return`<${g}${y}>${super.toString()}</${g}>`}removeAttribute(n){this.doc!==null?transact(this.doc,d=>{typeMapDelete(d,this,n)}):this._prelimAttrs.delete(n)}setAttribute(n,d){this.doc!==null?transact(this.doc,p=>{typeMapSet(p,this,n,d)}):this._prelimAttrs.set(n,d)}getAttribute(n){return typeMapGet(this,n)}hasAttribute(n){return typeMapHas(this,n)}getAttributes(n){return n?typeMapGetAllSnapshot(this,n):typeMapGetAll(this)}toDOM(n=document,d={},p){const m=n.createElement(this.nodeName),g=this.getAttributes();for(const y in g){const b=g[y];typeof b=="string"&&m.setAttribute(y,b)}return typeListForEach(this,y=>{m.appendChild(y.toDOM(n,d,p))}),p!==void 0&&p._createAssociation(m,this),m}_write(n){n.writeTypeRef(YXmlElementRefID),n.writeKey(this.nodeName)}}const readYXmlElement=u=>new YXmlElement(u.readKey());class YXmlEvent extends YEvent{constructor(n,d,p){super(n,p),this.childListChanged=!1,this.attributesChanged=new Set,d.forEach(m=>{m===null?this.childListChanged=!0:this.attributesChanged.add(m)})}}class YXmlHook extends YMap{constructor(n){super(),this.hookName=n}_copy(){return new YXmlHook(this.hookName)}clone(){const n=new YXmlHook(this.hookName);return this.forEach((d,p)=>{n.set(p,d)}),n}toDOM(n=document,d={},p){const m=d[this.hookName];let g;return m!==void 0?g=m.createDom(this):g=document.createElement(this.hookName),g.setAttribute("data-yjs-hook",this.hookName),p!==void 0&&p._createAssociation(g,this),g}_write(n){n.writeTypeRef(YXmlHookRefID),n.writeKey(this.hookName)}}const readYXmlHook=u=>new YXmlHook(u.readKey());class YXmlText extends YText{get nextSibling(){const n=this._item?this._item.next:null;return n?n.content.type:null}get prevSibling(){const n=this._item?this._item.prev:null;return n?n.content.type:null}_copy(){return new YXmlText}clone(){const n=new YXmlText;return n.applyDelta(this.toDelta()),n}toDOM(n=document,d,p){const m=n.createTextNode(this.toString());return p!==void 0&&p._createAssociation(m,this),m}toString(){return this.toDelta().map(n=>{const d=[];for(const m in n.attributes){const g=[];for(const y in n.attributes[m])g.push({key:y,value:n.attributes[m][y]});g.sort((y,b)=>y.key<b.key?-1:1),d.push({nodeName:m,attrs:g})}d.sort((m,g)=>m.nodeName<g.nodeName?-1:1);let p="";for(let m=0;m<d.length;m++){const g=d[m];p+=`<${g.nodeName}`;for(let y=0;y<g.attrs.length;y++){const b=g.attrs[y];p+=` ${b.key}="${b.value}"`}p+=">"}p+=n.insert;for(let m=d.length-1;m>=0;m--)p+=`</${d[m].nodeName}>`;return p}).join("")}toJSON(){return this.toString()}_write(n){n.writeTypeRef(YXmlTextRefID)}}const readYXmlText=u=>new YXmlText;class AbstractStruct{constructor(n,d){this.id=n,this.length=d}get deleted(){throw methodUnimplemented()}mergeWith(n){return!1}write(n,d,p){throw methodUnimplemented()}integrate(n,d){throw methodUnimplemented()}}const structGCRefNumber=0;class GC extends AbstractStruct{get deleted(){return!0}delete(){}mergeWith(n){return this.constructor!==n.constructor?!1:(this.length+=n.length,!0)}integrate(n,d){d>0&&(this.id.clock+=d,this.length-=d),addStruct(n.doc.store,this)}write(n,d){n.writeInfo(structGCRefNumber),n.writeLen(this.length-d)}getMissing(n,d){return null}}class ContentBinary{constructor(n){this.content=n}getLength(){return 1}getContent(){return[this.content]}isCountable(){return!0}copy(){return new ContentBinary(this.content)}splice(n){throw methodUnimplemented()}mergeWith(n){return!1}integrate(n,d){}delete(n){}gc(n){}write(n,d){n.writeBuf(this.content)}getRef(){return 3}}const readContentBinary=u=>new ContentBinary(u.readBuf());class ContentDeleted{constructor(n){this.len=n}getLength(){return this.len}getContent(){return[]}isCountable(){return!1}copy(){return new ContentDeleted(this.len)}splice(n){const d=new ContentDeleted(this.len-n);return this.len=n,d}mergeWith(n){return this.len+=n.len,!0}integrate(n,d){addToDeleteSet(n.deleteSet,d.id.client,d.id.clock,this.len),d.markDeleted()}delete(n){}gc(n){}write(n,d){n.writeLen(this.len-d)}getRef(){return 1}}const readContentDeleted=u=>new ContentDeleted(u.readLen()),createDocFromOpts=(u,n)=>new Doc({guid:u,...n,shouldLoad:n.shouldLoad||n.autoLoad||!1});class ContentDoc{constructor(n){n._item,this.doc=n;const d={};this.opts=d,n.gc||(d.gc=!1),n.autoLoad&&(d.autoLoad=!0),n.meta!==null&&(d.meta=n.meta)}getLength(){return 1}getContent(){return[this.doc]}isCountable(){return!0}copy(){return new ContentDoc(createDocFromOpts(this.doc.guid,this.opts))}splice(n){throw methodUnimplemented()}mergeWith(n){return!1}integrate(n,d){this.doc._item=d,n.subdocsAdded.add(this.doc),this.doc.shouldLoad&&n.subdocsLoaded.add(this.doc)}delete(n){n.subdocsAdded.has(this.doc)?n.subdocsAdded.delete(this.doc):n.subdocsRemoved.add(this.doc)}gc(n){}write(n,d){n.writeString(this.doc.guid),n.writeAny(this.opts)}getRef(){return 9}}const readContentDoc=u=>new ContentDoc(createDocFromOpts(u.readString(),u.readAny()));class ContentEmbed{constructor(n){this.embed=n}getLength(){return 1}getContent(){return[this.embed]}isCountable(){return!0}copy(){return new ContentEmbed(this.embed)}splice(n){throw methodUnimplemented()}mergeWith(n){return!1}integrate(n,d){}delete(n){}gc(n){}write(n,d){n.writeJSON(this.embed)}getRef(){return 5}}const readContentEmbed=u=>new ContentEmbed(u.readJSON());class ContentFormat{constructor(n,d){this.key=n,this.value=d}getLength(){return 1}getContent(){return[]}isCountable(){return!1}copy(){return new ContentFormat(this.key,this.value)}splice(n){throw methodUnimplemented()}mergeWith(n){return!1}integrate(n,d){const p=d.parent;p._searchMarker=null,p._hasFormatting=!0}delete(n){}gc(n){}write(n,d){n.writeKey(this.key),n.writeJSON(this.value)}getRef(){return 6}}const readContentFormat=u=>new ContentFormat(u.readKey(),u.readJSON());class ContentJSON{constructor(n){this.arr=n}getLength(){return this.arr.length}getContent(){return this.arr}isCountable(){return!0}copy(){return new ContentJSON(this.arr)}splice(n){const d=new ContentJSON(this.arr.slice(n));return this.arr=this.arr.slice(0,n),d}mergeWith(n){return this.arr=this.arr.concat(n.arr),!0}integrate(n,d){}delete(n){}gc(n){}write(n,d){const p=this.arr.length;n.writeLen(p-d);for(let m=d;m<p;m++){const g=this.arr[m];n.writeString(g===void 0?"undefined":JSON.stringify(g))}}getRef(){return 2}}const readContentJSON=u=>{const n=u.readLen(),d=[];for(let p=0;p<n;p++){const m=u.readString();m==="undefined"?d.push(void 0):d.push(JSON.parse(m))}return new ContentJSON(d)},isDevMode=getVariable("node_env")==="development";class ContentAny{constructor(n){this.arr=n,isDevMode&&deepFreeze(n)}getLength(){return this.arr.length}getContent(){return this.arr}isCountable(){return!0}copy(){return new ContentAny(this.arr)}splice(n){const d=new ContentAny(this.arr.slice(n));return this.arr=this.arr.slice(0,n),d}mergeWith(n){return this.arr=this.arr.concat(n.arr),!0}integrate(n,d){}delete(n){}gc(n){}write(n,d){const p=this.arr.length;n.writeLen(p-d);for(let m=d;m<p;m++){const g=this.arr[m];n.writeAny(g)}}getRef(){return 8}}const readContentAny=u=>{const n=u.readLen(),d=[];for(let p=0;p<n;p++)d.push(u.readAny());return new ContentAny(d)};class ContentString{constructor(n){this.str=n}getLength(){return this.str.length}getContent(){return this.str.split("")}isCountable(){return!0}copy(){return new ContentString(this.str)}splice(n){const d=new ContentString(this.str.slice(n));this.str=this.str.slice(0,n);const p=this.str.charCodeAt(n-1);return p>=55296&&p<=56319&&(this.str=this.str.slice(0,n-1)+"�",d.str="�"+d.str.slice(1)),d}mergeWith(n){return this.str+=n.str,!0}integrate(n,d){}delete(n){}gc(n){}write(n,d){n.writeString(d===0?this.str:this.str.slice(d))}getRef(){return 4}}const readContentString=u=>new ContentString(u.readString()),typeRefs=[readYArray,readYMap,readYText,readYXmlElement,readYXmlFragment,readYXmlHook,readYXmlText],YArrayRefID=0,YMapRefID=1,YTextRefID=2,YXmlElementRefID=3,YXmlFragmentRefID=4,YXmlHookRefID=5,YXmlTextRefID=6;class ContentType{constructor(n){this.type=n}getLength(){return 1}getContent(){return[this.type]}isCountable(){return!0}copy(){return new ContentType(this.type._copy())}splice(n){throw methodUnimplemented()}mergeWith(n){return!1}integrate(n,d){this.type._integrate(n.doc,d)}delete(n){let d=this.type._start;for(;d!==null;)d.deleted?d.id.clock<(n.beforeState.get(d.id.client)||0)&&n._mergeStructs.push(d):d.delete(n),d=d.right;this.type._map.forEach(p=>{p.deleted?p.id.clock<(n.beforeState.get(p.id.client)||0)&&n._mergeStructs.push(p):p.delete(n)}),n.changed.delete(this.type)}gc(n){let d=this.type._start;for(;d!==null;)d.gc(n,!0),d=d.right;this.type._start=null,this.type._map.forEach(p=>{for(;p!==null;)p.gc(n,!0),p=p.left}),this.type._map=new Map}write(n,d){this.type._write(n)}getRef(){return 7}}const readContentType=u=>new ContentType(typeRefs[u.readTypeRef()](u)),followRedone=(u,n)=>{let d=n,p=0,m;do p>0&&(d=createID(d.client,d.clock+p)),m=getItem(u,d),p=d.clock-m.id.clock,d=m.redone;while(d!==null&&m instanceof Item);return{item:m,diff:p}},keepItem=(u,n)=>{for(;u!==null&&u.keep!==n;)u.keep=n,u=u.parent._item},splitItem=(u,n,d)=>{const{client:p,clock:m}=n.id,g=new Item(createID(p,m+d),n,createID(p,m+d-1),n.right,n.rightOrigin,n.parent,n.parentSub,n.content.splice(d));return n.deleted&&g.markDeleted(),n.keep&&(g.keep=!0),n.redone!==null&&(g.redone=createID(n.redone.client,n.redone.clock+d)),n.right=g,g.right!==null&&(g.right.left=g),u._mergeStructs.push(g),g.parentSub!==null&&g.right===null&&g.parent._map.set(g.parentSub,g),n.length=d,g},isDeletedByUndoStack=(u,n)=>some(u,d=>isDeleted(d.deletions,n)),redoItem=(u,n,d,p,m,g)=>{const y=u.doc,b=y.store,S=y.clientID,E=n.redone;if(E!==null)return getItemCleanStart(u,E);let T=n.parent._item,_=null,R;if(T!==null&&T.deleted===!0){if(T.redone===null&&(!d.has(T)||redoItem(u,T,d,p,m,g)===null))return null;for(;T.redone!==null;)T=getItemCleanStart(u,T.redone)}const C=T===null?n.parent:T.content.type;if(n.parentSub===null){for(_=n.left,R=n;_!==null;){let P=_;for(;P!==null&&P.parent._item!==T;)P=P.redone===null?null:getItemCleanStart(u,P.redone);if(P!==null&&P.parent._item===T){_=P;break}_=_.left}for(;R!==null;){let P=R;for(;P!==null&&P.parent._item!==T;)P=P.redone===null?null:getItemCleanStart(u,P.redone);if(P!==null&&P.parent._item===T){R=P;break}R=R.right}}else if(R=null,n.right&&!m){for(_=n;_!==null&&_.right!==null&&(_.right.redone||isDeleted(p,_.right.id)||isDeletedByUndoStack(g.undoStack,_.right.id)||isDeletedByUndoStack(g.redoStack,_.right.id));)for(_=_.right;_.redone;)_=getItemCleanStart(u,_.redone);if(_&&_.right!==null)return null}else _=C._map.get(n.parentSub)||null;const A=getState(b,S),k=createID(S,A),I=new Item(k,_,_&&_.lastId,R,R&&R.id,C,n.parentSub,n.content.copy());return n.redone=k,keepItem(I,!0),I.integrate(u,0),I};class Item extends AbstractStruct{constructor(n,d,p,m,g,y,b,S){super(n,S.getLength()),this.origin=p,this.left=d,this.right=m,this.rightOrigin=g,this.parent=y,this.parentSub=b,this.redone=null,this.content=S,this.info=this.content.isCountable()?BIT2:0}set marker(n){(this.info&BIT4)>0!==n&&(this.info^=BIT4)}get marker(){return(this.info&BIT4)>0}get keep(){return(this.info&BIT1)>0}set keep(n){this.keep!==n&&(this.info^=BIT1)}get countable(){return(this.info&BIT2)>0}get deleted(){return(this.info&BIT3)>0}set deleted(n){this.deleted!==n&&(this.info^=BIT3)}markDeleted(){this.info|=BIT3}getMissing(n,d){if(this.origin&&this.origin.client!==this.id.client&&this.origin.clock>=getState(d,this.origin.client))return this.origin.client;if(this.rightOrigin&&this.rightOrigin.client!==this.id.client&&this.rightOrigin.clock>=getState(d,this.rightOrigin.client))return this.rightOrigin.client;if(this.parent&&this.parent.constructor===ID&&this.id.client!==this.parent.client&&this.parent.clock>=getState(d,this.parent.client))return this.parent.client;if(this.origin&&(this.left=getItemCleanEnd(n,d,this.origin),this.origin=this.left.lastId),this.rightOrigin&&(this.right=getItemCleanStart(n,this.rightOrigin),this.rightOrigin=this.right.id),this.left&&this.left.constructor===GC||this.right&&this.right.constructor===GC)this.parent=null;else if(!this.parent)this.left&&this.left.constructor===Item?(this.parent=this.left.parent,this.parentSub=this.left.parentSub):this.right&&this.right.constructor===Item&&(this.parent=this.right.parent,this.parentSub=this.right.parentSub);else if(this.parent.constructor===ID){const p=getItem(d,this.parent);p.constructor===GC?this.parent=null:this.parent=p.content.type}return null}integrate(n,d){if(d>0&&(this.id.clock+=d,this.left=getItemCleanEnd(n,n.doc.store,createID(this.id.client,this.id.clock-1)),this.origin=this.left.lastId,this.content=this.content.splice(d),this.length-=d),this.parent){if(!this.left&&(!this.right||this.right.left!==null)||this.left&&this.left.right!==this.right){let p=this.left,m;if(p!==null)m=p.right;else if(this.parentSub!==null)for(m=this.parent._map.get(this.parentSub)||null;m!==null&&m.left!==null;)m=m.left;else m=this.parent._start;const g=new Set,y=new Set;for(;m!==null&&m!==this.right;){if(y.add(m),g.add(m),compareIDs(this.origin,m.origin)){if(m.id.client<this.id.client)p=m,g.clear();else if(compareIDs(this.rightOrigin,m.rightOrigin))break}else if(m.origin!==null&&y.has(getItem(n.doc.store,m.origin)))g.has(getItem(n.doc.store,m.origin))||(p=m,g.clear());else break;m=m.right}this.left=p}if(this.left!==null){const p=this.left.right;this.right=p,this.left.right=this}else{let p;if(this.parentSub!==null)for(p=this.parent._map.get(this.parentSub)||null;p!==null&&p.left!==null;)p=p.left;else p=this.parent._start,this.parent._start=this;this.right=p}this.right!==null?this.right.left=this:this.parentSub!==null&&(this.parent._map.set(this.parentSub,this),this.left!==null&&this.left.delete(n)),this.parentSub===null&&this.countable&&!this.deleted&&(this.parent._length+=this.length),addStruct(n.doc.store,this),this.content.integrate(n,this),addChangedTypeToTransaction(n,this.parent,this.parentSub),(this.parent._item!==null&&this.parent._item.deleted||this.parentSub!==null&&this.right!==null)&&this.delete(n)}else new GC(this.id,this.length).integrate(n,0)}get next(){let n=this.right;for(;n!==null&&n.deleted;)n=n.right;return n}get prev(){let n=this.left;for(;n!==null&&n.deleted;)n=n.left;return n}get lastId(){return this.length===1?this.id:createID(this.id.client,this.id.clock+this.length-1)}mergeWith(n){if(this.constructor===n.constructor&&compareIDs(n.origin,this.lastId)&&this.right===n&&compareIDs(this.rightOrigin,n.rightOrigin)&&this.id.client===n.id.client&&this.id.clock+this.length===n.id.clock&&this.deleted===n.deleted&&this.redone===null&&n.redone===null&&this.content.constructor===n.content.constructor&&this.content.mergeWith(n.content)){const d=this.parent._searchMarker;return d&&d.forEach(p=>{p.p===n&&(p.p=this,!this.deleted&&this.countable&&(p.index-=this.length))}),n.keep&&(this.keep=!0),this.right=n.right,this.right!==null&&(this.right.left=this),this.length+=n.length,!0}return!1}delete(n){if(!this.deleted){const d=this.parent;this.countable&&this.parentSub===null&&(d._length-=this.length),this.markDeleted(),addToDeleteSet(n.deleteSet,this.id.client,this.id.clock,this.length),addChangedTypeToTransaction(n,d,this.parentSub),this.content.delete(n)}}gc(n,d){if(!this.deleted)throw unexpectedCase();this.content.gc(n),d?replaceStruct(n,this,new GC(this.id,this.length)):this.content=new ContentDeleted(this.length)}write(n,d){const p=d>0?createID(this.id.client,this.id.clock+d-1):this.origin,m=this.rightOrigin,g=this.parentSub,y=this.content.getRef()&BITS5|(p===null?0:BIT8)|(m===null?0:BIT7)|(g===null?0:BIT6);if(n.writeInfo(y),p!==null&&n.writeLeftID(p),m!==null&&n.writeRightID(m),p===null&&m===null){const b=this.parent;if(b._item!==void 0){const S=b._item;if(S===null){const E=findRootTypeKey(b);n.writeParentInfo(!0),n.writeString(E)}else n.writeParentInfo(!1),n.writeLeftID(S.id)}else b.constructor===String?(n.writeParentInfo(!0),n.writeString(b)):b.constructor===ID?(n.writeParentInfo(!1),n.writeLeftID(b)):unexpectedCase();g!==null&&n.writeString(g)}this.content.write(n,d)}}const readItemContent=(u,n)=>contentRefs[n&BITS5](u),contentRefs=[()=>{unexpectedCase()},readContentDeleted,readContentJSON,readContentBinary,readContentString,readContentEmbed,readContentFormat,readContentType,readContentAny,readContentDoc,()=>{unexpectedCase()}],structSkipRefNumber=10;class Skip extends AbstractStruct{get deleted(){return!0}delete(){}mergeWith(n){return this.constructor!==n.constructor?!1:(this.length+=n.length,!0)}integrate(n,d){unexpectedCase()}write(n,d){n.writeInfo(structSkipRefNumber),writeVarUint(n.restEncoder,this.length-d)}getMissing(n,d){return null}}const glo=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:{},importIdentifier="__ $YJS$ __";glo[importIdentifier];glo[importIdentifier]=!0;const createMutex=()=>{let u=!0;return(n,d)=>{if(u){u=!1;try{n()}finally{u=!0}}else d!==void 0&&d()}},highSurrogateRegex=/[\uD800-\uDBFF]/,lowSurrogateRegex=/[\uDC00-\uDFFF]/,simpleDiffString=(u,n)=>{let d=0,p=0;for(;d<u.length&&d<n.length&&u[d]===n[d];)d++;for(d>0&&highSurrogateRegex.test(u[d-1])&&d--;p+d<u.length&&p+d<n.length&&u[u.length-p-1]===n[n.length-p-1];)p++;return p>0&&lowSurrogateRegex.test(u[u.length-p])&&p--,{index:d,remove:u.length-d-p,insert:n.slice(d,n.length-p)}},simpleDiff=simpleDiffString,rotr=(u,n)=>u>>>n|u<<32-n,sum0to256=u=>rotr(u,2)^rotr(u,13)^rotr(u,22),sum1to256=u=>rotr(u,6)^rotr(u,11)^rotr(u,25),sigma0to256=u=>rotr(u,7)^rotr(u,18)^u>>>3,sigma1to256=u=>rotr(u,17)^rotr(u,19)^u>>>10,K=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),HINIT=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);class Hasher{constructor(){const n=new ArrayBuffer(320);this._H=new Uint32Array(n,0,8),this._H.set(HINIT),this._W=new Uint32Array(n,64,64)}_updateHash(){const n=this._H,d=this._W;for(let _=16;_<64;_++)d[_]=sigma1to256(d[_-2])+d[_-7]+sigma0to256(d[_-15])+d[_-16];let p=n[0],m=n[1],g=n[2],y=n[3],b=n[4],S=n[5],E=n[6],T=n[7];for(let _=0,R,C;_<64;_++)R=T+sum1to256(b)+(b&S^~b&E)+K[_]+d[_]>>>0,C=sum0to256(p)+(p&m^p&g^m&g)>>>0,T=E,E=S,S=b,b=y+R>>>0,y=g,g=m,m=p,p=R+C>>>0;n[0]+=p,n[1]+=m,n[2]+=g,n[3]+=y,n[4]+=b,n[5]+=S,n[6]+=E,n[7]+=T}digest(n){let d=0;for(;d+56<=n.length;){let y=0;for(;y<16&&d+3<n.length;y++)this._W[y]=n[d++]<<24|n[d++]<<16|n[d++]<<8|n[d++];if(d%64!==0){for(this._W.fill(0,y,16);d<n.length;)this._W[y]|=n[d]<<(3-d%4)*8,d++;this._W[y]|=BIT8<<(3-d%4)*8}this._updateHash()}const p=d%64!==0;this._W.fill(0,0,16);let m=0;for(;d<n.length;m++)for(let y=3;y>=0&&d<n.length;y--)this._W[m]|=n[d++]<<y*8;p||(this._W[m-(d%4===0?0:1)]|=BIT8<<(3-d%4)*8),this._W[14]=n.byteLength/BIT30,this._W[15]=n.byteLength*8,this._updateHash();const g=new Uint8Array(32);for(let y=0;y<this._H.length;y++)for(let b=0;b<4;b++)g[y*4+b]=this._H[y]>>>(3-b)*8;return g}}const digest=u=>new Hasher().digest(u),ySyncPluginKey=new PluginKey("y-sync"),yUndoPluginKey=new PluginKey("y-undo");new PluginKey("yjs-cursor");const _convolute=u=>{for(let d=6;d<u.length;d++)u[d%6]=u[d%6]^u[d];return u.slice(0,6)},hashOfJSON=u=>toBase64(_convolute(digest(encodeAny(u)))),isVisible=(u,n)=>n===void 0?!u.deleted:n.sv.has(u.id.client)&&n.sv.get(u.id.client)>u.id.clock&&!isDeleted(n.ds,u.id),defaultColors=[{light:"#ecd44433",dark:"#ecd444"}],getUserColor=(u,n,d)=>{if(!u.has(d)){if(u.size<n.length){const p=create$4();u.forEach(m=>p.add(m)),n=n.filter(m=>!p.has(m))}u.set(d,oneOf$1(n))}return u.get(d)},ySyncPlugin=(u,{colors:n=defaultColors,colorMapping:d=new Map,permanentUserData:p=null,onFirstRender:m=()=>{},mapping:g}={})=>{let y=!1;const b=new ProsemirrorBinding(u,g),S=new Plugin({props:{editable:E=>{const T=ySyncPluginKey.getState(E);return T.snapshot==null&&T.prevSnapshot==null}},key:ySyncPluginKey,state:{init:(E,T)=>({type:u,doc:u.doc,binding:b,snapshot:null,prevSnapshot:null,isChangeOrigin:!1,isUndoRedoOperation:!1,addToHistory:!0,colors:n,colorMapping:d,permanentUserData:p}),apply:(E,T)=>{const _=E.getMeta(ySyncPluginKey);if(_!==void 0){T=Object.assign({},T);for(const R in _)T[R]=_[R]}return T.addToHistory=E.getMeta("addToHistory")!==!1,T.isChangeOrigin=_!==void 0&&!!_.isChangeOrigin,T.isUndoRedoOperation=_!==void 0&&!!_.isChangeOrigin&&!!_.isUndoRedoOperation,b.prosemirrorView!==null&&_!==void 0&&(_.snapshot!=null||_.prevSnapshot!=null)&&timeout(0,()=>{b.prosemirrorView!=null&&(_.restore==null?b._renderSnapshot(_.snapshot,_.prevSnapshot,T):(b._renderSnapshot(_.snapshot,_.snapshot,T),delete T.restore,delete T.snapshot,delete T.prevSnapshot,b.mux(()=>{b._prosemirrorChanged(b.prosemirrorView.state.doc)})))}),T}},view:E=>(b.initView(E),g==null&&b._forceRerender(),m(),{update:()=>{const T=S.getState(E.state);if(T.snapshot==null&&T.prevSnapshot==null&&(y||E.state.doc.content.findDiffStart(E.state.doc.type.createAndFill().content)!==null)){if(y=!0,T.addToHistory===!1&&!T.isChangeOrigin){const _=yUndoPluginKey.getState(E.state),R=_&&_.undoManager;R&&R.stopCapturing()}b.mux(()=>{T.doc.transact(_=>{_.meta.set("addToHistory",T.addToHistory),b._prosemirrorChanged(E.state.doc)},ySyncPluginKey)})}},destroy:()=>{b.destroy()}})});return S},restoreRelativeSelection=(u,n,d)=>{if(n!==null&&n.anchor!==null&&n.head!==null)if(n.type==="all")u.setSelection(new AllSelection(u.doc));else if(n.type==="node"){const p=relativePositionToAbsolutePosition(d.doc,d.type,n.anchor,d.mapping);u.setSelection(createSafeNodeSelection(u,p))}else{const p=relativePositionToAbsolutePosition(d.doc,d.type,n.anchor,d.mapping),m=relativePositionToAbsolutePosition(d.doc,d.type,n.head,d.mapping);p!==null&&m!==null&&u.setSelection(TextSelection.between(u.doc.resolve(p),u.doc.resolve(m)))}},createSafeNodeSelection=(u,n)=>{const d=u.doc.resolve(n);return d.nodeAfter?NodeSelection.create(u.doc,n):TextSelection.near(d)},getRelativeSelection=(u,n)=>({type:n.selection.jsonID,anchor:absolutePositionToRelativePosition(n.selection.anchor,u.type,u.mapping),head:absolutePositionToRelativePosition(n.selection.head,u.type,u.mapping)});class ProsemirrorBinding{constructor(n,d=new Map){this.type=n,this.prosemirrorView=null,this.mux=createMutex(),this.mapping=d,this.isOMark=new Map,this._observeFunction=this._typeChanged.bind(this),this.doc=n.doc,this.beforeTransactionSelection=null,this.beforeAllTransactions=()=>{this.beforeTransactionSelection===null&&this.prosemirrorView!=null&&(this.beforeTransactionSelection=getRelativeSelection(this,this.prosemirrorView.state))},this.afterAllTransactions=()=>{this.beforeTransactionSelection=null},this._domSelectionInView=null}get _tr(){return this.prosemirrorView.state.tr.setMeta("addToHistory",!1)}_isLocalCursorInView(){return this.prosemirrorView.hasFocus()?(isBrowser&&this._domSelectionInView===null&&(timeout(0,()=>{this._domSelectionInView=null}),this._domSelectionInView=this._isDomSelectionInView()),this._domSelectionInView):!1}_isDomSelectionInView(){const n=this.prosemirrorView._root.getSelection();if(n==null||n.anchorNode==null)return!1;const d=this.prosemirrorView._root.createRange();d.setStart(n.anchorNode,n.anchorOffset),d.setEnd(n.focusNode,n.focusOffset),d.getClientRects().length===0&&d.startContainer&&d.collapsed&&d.selectNodeContents(d.startContainer);const m=d.getBoundingClientRect(),g=doc.documentElement;return m.bottom>=0&&m.right>=0&&m.left<=(window.innerWidth||g.clientWidth||0)&&m.top<=(window.innerHeight||g.clientHeight||0)}renderSnapshot(n,d){d||(d=createSnapshot(createDeleteSet(),new Map)),this.prosemirrorView.dispatch(this._tr.setMeta(ySyncPluginKey,{snapshot:n,prevSnapshot:d}))}unrenderSnapshot(){this.mapping.clear(),this.mux(()=>{const n=this.type.toArray().map(p=>createNodeFromYElement(p,this.prosemirrorView.state.schema,this)).filter(p=>p!==null),d=this._tr.replace(0,this.prosemirrorView.state.doc.content.size,new Slice(Fragment.from(n),0,0));d.setMeta(ySyncPluginKey,{snapshot:null,prevSnapshot:null}),this.prosemirrorView.dispatch(d)})}_forceRerender(){this.mapping.clear(),this.mux(()=>{const n=this.beforeTransactionSelection!==null?null:this.prosemirrorView.state.selection,d=this.type.toArray().map(m=>createNodeFromYElement(m,this.prosemirrorView.state.schema,this)).filter(m=>m!==null),p=this._tr.replace(0,this.prosemirrorView.state.doc.content.size,new Slice(Fragment.from(d),0,0));if(n){const m=min(max(n.anchor,0),p.doc.content.size),g=min(max(n.head,0),p.doc.content.size);p.setSelection(TextSelection.create(p.doc,m,g))}this.prosemirrorView.dispatch(p.setMeta(ySyncPluginKey,{isChangeOrigin:!0,binding:this}))})}_renderSnapshot(n,d,p){let m=this.doc,g=this.type;if(n||(n=snapshot(this.doc)),n instanceof Uint8Array||d instanceof Uint8Array)if((!(n instanceof Uint8Array)||!(d instanceof Uint8Array))&&unexpectedCase(),m=new Doc({gc:!1}),applyUpdateV2(m,d),d=snapshot(m),applyUpdateV2(m,n),n=snapshot(m),g._item===null){const y=Array.from(this.doc.share.keys()).find(b=>this.doc.share.get(b)===this.type);g=m.getXmlFragment(y)}else{const y=m.store.clients.get(g._item.id.client)??[],b=findIndexSS(y,g._item.id.clock);g=y[b].content.type}this.mapping.clear(),this.mux(()=>{m.transact(y=>{const b=p.permanentUserData;b&&b.dss.forEach(_=>{iterateDeletedStructs(y,_,R=>{})});const S=(_,R)=>{const C=_==="added"?b.getUserByClientId(R.client):b.getUserByDeletedId(R);return{user:C,type:_,color:getUserColor(p.colorMapping,p.colors,C)}},E=typeListToArraySnapshot(g,new Snapshot(d.ds,n.sv)).map(_=>!_._item.deleted||isVisible(_._item,n)||isVisible(_._item,d)?createNodeFromYElement(_,this.prosemirrorView.state.schema,{mapping:new Map,isOMark:new Map},n,d,S):null).filter(_=>_!==null),T=this._tr.replace(0,this.prosemirrorView.state.doc.content.size,new Slice(Fragment.from(E),0,0));this.prosemirrorView.dispatch(T.setMeta(ySyncPluginKey,{isChangeOrigin:!0}))},ySyncPluginKey)})}_typeChanged(n,d){if(this.prosemirrorView==null)return;const p=ySyncPluginKey.getState(this.prosemirrorView.state);if(n.length===0||p.snapshot!=null||p.prevSnapshot!=null){this.renderSnapshot(p.snapshot,p.prevSnapshot);return}this.mux(()=>{const m=(b,S)=>this.mapping.delete(S);iterateDeletedStructs(d,d.deleteSet,b=>{if(b.constructor===Item){const S=b.content.type;S&&this.mapping.delete(S)}}),d.changed.forEach(m),d.changedParentTypes.forEach(m);const g=this.type.toArray().map(b=>createNodeIfNotExists(b,this.prosemirrorView.state.schema,this)).filter(b=>b!==null);let y=this._tr.replace(0,this.prosemirrorView.state.doc.content.size,new Slice(Fragment.from(g),0,0));restoreRelativeSelection(y,this.beforeTransactionSelection,this),y=y.setMeta(ySyncPluginKey,{isChangeOrigin:!0,isUndoRedoOperation:d.origin instanceof UndoManager}),this.beforeTransactionSelection!==null&&this._isLocalCursorInView()&&y.scrollIntoView(),this.prosemirrorView.dispatch(y)})}_prosemirrorChanged(n){this.doc.transact(()=>{updateYFragment(this.doc,this.type,n,this),this.beforeTransactionSelection=getRelativeSelection(this,this.prosemirrorView.state)},ySyncPluginKey)}initView(n){this.prosemirrorView!=null&&this.destroy(),this.prosemirrorView=n,this.doc.on("beforeAllTransactions",this.beforeAllTransactions),this.doc.on("afterAllTransactions",this.afterAllTransactions),this.type.observeDeep(this._observeFunction)}destroy(){this.prosemirrorView!=null&&(this.prosemirrorView=null,this.type.unobserveDeep(this._observeFunction),this.doc.off("beforeAllTransactions",this.beforeAllTransactions),this.doc.off("afterAllTransactions",this.afterAllTransactions))}}const createNodeIfNotExists=(u,n,d,p,m,g)=>{const y=d.mapping.get(u);if(y===void 0){if(u instanceof YXmlElement)return createNodeFromYElement(u,n,d,p,m,g);throw methodUnimplemented()}return y},createNodeFromYElement=(u,n,d,p,m,g)=>{const y=[],b=S=>{if(S instanceof YXmlElement){const E=createNodeIfNotExists(S,n,d,p,m,g);E!==null&&y.push(E)}else{const E=S._item.right?.content?.type;E instanceof YText&&!E._item.deleted&&E._item.id.client===E.doc.clientID&&(S.applyDelta([{retain:S.length},...E.toDelta()]),E.doc.transact(_=>{E._item.delete(_)}));const T=createTextNodesFromYText(S,n,d,p,m,g);T!==null&&T.forEach(_=>{_!==null&&y.push(_)})}};p===void 0||m===void 0?u.toArray().forEach(b):typeListToArraySnapshot(u,new Snapshot(m.ds,p.sv)).forEach(b);try{const S=u.getAttributes(p);p!==void 0&&(isVisible(u._item,p)?isVisible(u._item,m)||(S.ychange=g?g("added",u._item.id):{type:"added"}):S.ychange=g?g("removed",u._item.id):{type:"removed"});const E=n.node(u.nodeName,S,y);return d.mapping.set(u,E),E}catch{return u.doc.transact(E=>{u._item.delete(E)},ySyncPluginKey),d.mapping.delete(u),null}},createTextNodesFromYText=(u,n,d,p,m,g)=>{const y=[],b=u.toDelta(p,m,g);try{for(let S=0;S<b.length;S++){const E=b[S];y.push(n.text(E.insert,attributesToMarks(E.attributes,n)))}}catch{return u.doc.transact(E=>{u._item.delete(E)},ySyncPluginKey),null}return y},createTypeFromTextNodes=(u,n)=>{const d=new YXmlText,p=u.map(m=>({insert:m.text,attributes:marksToAttributes(m.marks,n)}));return d.applyDelta(p),n.mapping.set(d,u),d},createTypeFromElementNode=(u,n)=>{const d=new YXmlElement(u.type.name);for(const p in u.attrs){const m=u.attrs[p];m!==null&&p!=="ychange"&&d.setAttribute(p,m)}return d.insert(0,normalizePNodeContent(u).map(p=>createTypeFromTextOrElementNode(p,n))),n.mapping.set(d,u),d},createTypeFromTextOrElementNode=(u,n)=>u instanceof Array?createTypeFromTextNodes(u,n):createTypeFromElementNode(u,n),isObject=u=>typeof u=="object"&&u!==null,equalAttrs=(u,n)=>{const d=Object.keys(u).filter(m=>u[m]!==null);let p=d.length===Object.keys(n).filter(m=>n[m]!==null).length;for(let m=0;m<d.length&&p;m++){const g=d[m],y=u[g],b=n[g];p=g==="ychange"||y===b||isObject(y)&&isObject(b)&&equalAttrs(y,b)}return p},normalizePNodeContent=u=>{const n=u.content.content,d=[];for(let p=0;p<n.length;p++){const m=n[p];if(m.isText){const g=[];for(let y=n[p];p<n.length&&y.isText;y=n[++p])g.push(y);p--,d.push(g)}else d.push(m)}return d},equalYTextPText=(u,n)=>{const d=u.toDelta();return d.length===n.length&&d.every((p,m)=>p.insert===n[m].text&&keys(p.attributes||{}).length===n[m].marks.length&&every(p.attributes,(g,y)=>{const b=yattr2markname(y),S=n[m].marks;return S.find(T=>T.type.name===b)?equalAttrs(g,S.find(T=>T.type.name===b)?.attrs):!1}))},equalYTypePNode=(u,n)=>{if(u instanceof YXmlElement&&!(n instanceof Array)&&matchNodeName(u,n)){const d=normalizePNodeContent(n);return u._length===d.length&&equalAttrs(u.getAttributes(),n.attrs)&&u.toArray().every((p,m)=>equalYTypePNode(p,d[m]))}return u instanceof YXmlText&&n instanceof Array&&equalYTextPText(u,n)},mappedIdentity=(u,n)=>u===n||u instanceof Array&&n instanceof Array&&u.length===n.length&&u.every((d,p)=>n[p]===d),computeChildEqualityFactor=(u,n,d)=>{const p=u.toArray(),m=normalizePNodeContent(n),g=m.length,y=p.length,b=min(y,g);let S=0,E=0,T=!1;for(;S<b;S++){const _=p[S],R=m[S];if(mappedIdentity(d.mapping.get(_),R))T=!0;else if(!equalYTypePNode(_,R))break}for(;S+E<b;E++){const _=p[y-E-1],R=m[g-E-1];if(mappedIdentity(d.mapping.get(_),R))T=!0;else if(!equalYTypePNode(_,R))break}return{equalityFactor:S+E,foundMappedChild:T}},ytextTrans=u=>{let n="",d=u._start;const p={};for(;d!==null;)d.deleted||(d.countable&&d.content instanceof ContentString?n+=d.content.str:d.content instanceof ContentFormat&&(p[d.content.key]=null)),d=d.right;return{str:n,nAttrs:p}},updateYText=(u,n,d)=>{d.mapping.set(u,n);const{nAttrs:p,str:m}=ytextTrans(u),g=n.map(E=>({insert:E.text,attributes:Object.assign({},p,marksToAttributes(E.marks,d))})),{insert:y,remove:b,index:S}=simpleDiff(m,g.map(E=>E.insert).join(""));u.delete(S,b),u.insert(S,y),u.applyDelta(g.map(E=>({retain:E.insert.length,attributes:E.attributes})))},hashedMarkNameRegex=/(.*)(--[a-zA-Z0-9+/=]{8})$/,yattr2markname=u=>hashedMarkNameRegex.exec(u)?.[1]??u,attributesToMarks=(u,n)=>{const d=[];for(const p in u)d.push(n.mark(yattr2markname(p),u[p]));return d},marksToAttributes=(u,n)=>{const d={};return u.forEach(p=>{if(p.type.name!=="ychange"){const m=setIfUndefined(n.isOMark,p.type,()=>!p.type.excludes(p.type));d[m?`${p.type.name}--${hashOfJSON(p.toJSON())}`:p.type.name]=p.attrs}}),d},updateYFragment=(u,n,d,p)=>{if(n instanceof YXmlElement&&n.nodeName!==d.type.name)throw new Error("node name mismatch!");if(p.mapping.set(n,d),n instanceof YXmlElement){const _=n.getAttributes(),R=d.attrs;for(const C in R)R[C]!==null?_[C]!==R[C]&&C!=="ychange"&&n.setAttribute(C,R[C]):n.removeAttribute(C);for(const C in _)R[C]===void 0&&n.removeAttribute(C)}const m=normalizePNodeContent(d),g=m.length,y=n.toArray(),b=y.length,S=min(g,b);let E=0,T=0;for(;E<S;E++){const _=y[E],R=m[E];if(!mappedIdentity(p.mapping.get(_),R))if(equalYTypePNode(_,R))p.mapping.set(_,R);else break}for(;T+E+1<S;T++){const _=y[b-T-1],R=m[g-T-1];if(!mappedIdentity(p.mapping.get(_),R))if(equalYTypePNode(_,R))p.mapping.set(_,R);else break}u.transact(()=>{for(;b-E-T>0&&g-E-T>0;){const R=y[E],C=m[E],A=y[b-T-1],k=m[g-T-1];if(R instanceof YXmlText&&C instanceof Array)equalYTextPText(R,C)||updateYText(R,C,p),E+=1;else{let I=R instanceof YXmlElement&&matchNodeName(R,C),P=A instanceof YXmlElement&&matchNodeName(A,k);if(I&&P){const D=computeChildEqualityFactor(R,C,p),O=computeChildEqualityFactor(A,k,p);D.foundMappedChild&&!O.foundMappedChild?P=!1:!D.foundMappedChild&&O.foundMappedChild||D.equalityFactor<O.equalityFactor?I=!1:P=!1}I?(updateYFragment(u,R,C,p),E+=1):P?(updateYFragment(u,A,k,p),T+=1):(p.mapping.delete(n.get(E)),n.delete(E,1),n.insert(E,[createTypeFromTextOrElementNode(C,p)]),E+=1)}}const _=b-E-T;if(b===1&&g===0&&y[0]instanceof YXmlText?(p.mapping.delete(y[0]),y[0].delete(0,y[0].length)):_>0&&(n.slice(E,E+_).forEach(R=>p.mapping.delete(R)),n.delete(E,_)),E+T<g){const R=[];for(let C=E;C<g-T;C++)R.push(createTypeFromTextOrElementNode(m[C],p));n.insert(E,R)}},ySyncPluginKey)},matchNodeName=(u,n)=>!(n instanceof Array)&&u.nodeName===n.type.name,absolutePositionToRelativePosition=(u,n,d)=>{if(u===0)return createRelativePositionFromTypeIndex(n,0,-1);let p=n._first===null?null:n._first.content.type;for(;p!==null&&n!==p;){if(p instanceof YXmlText){if(p._length>=u)return createRelativePositionFromTypeIndex(p,u,-1);if(u-=p._length,p._item!==null&&p._item.next!==null)p=p._item.next.content.type;else{do p=p._item===null?null:p._item.parent,u--;while(p!==n&&p!==null&&p._item!==null&&p._item.next===null);p!==null&&p!==n&&(p=p._item===null?null:p._item.next.content.type)}}else{const m=(d.get(p)||{nodeSize:0}).nodeSize;if(p._first!==null&&u<m)p=p._first.content.type,u--;else{if(u===1&&p._length===0&&m>1)return new RelativePosition(p._item===null?null:p._item.id,p._item===null?findRootTypeKey(p):null,null);if(u-=m,p._item!==null&&p._item.next!==null)p=p._item.next.content.type;else{if(u===0)return p=p._item===null?p:p._item.parent,new RelativePosition(p._item===null?null:p._item.id,p._item===null?findRootTypeKey(p):null,null);do p=p._item.parent,u--;while(p!==n&&p._item.next===null);p!==n&&(p=p._item.next.content.type)}}}if(p===null)throw unexpectedCase();if(u===0&&p.constructor!==YXmlText&&p!==n)return createRelativePosition(p._item.parent,p._item)}return createRelativePositionFromTypeIndex(n,n._length,-1)},createRelativePosition=(u,n)=>{let d=null,p=null;return u._item===null?p=findRootTypeKey(u):d=createID(u._item.id.client,u._item.id.clock),new RelativePosition(d,p,n.id)},relativePositionToAbsolutePosition=(u,n,d,p)=>{const m=createAbsolutePositionFromRelativePosition(d,u);if(m===null||m.type!==n&&!isParentOf(n,m.type._item))return null;let g=m.type,y=0;if(g.constructor===YXmlText)y=m.index;else if(g._item===null||!g._item.deleted){let b=g._first,S=0;for(;S<g._length&&S<m.index&&b!==null;){if(!b.deleted){const E=b.content.type;S++,E instanceof YXmlText?y+=E._length:y+=p.get(E).nodeSize}b=b.right}y+=1}for(;g!==n&&g._item!==null;){const b=g._item.parent;if(b._item===null||!b._item.deleted){y+=1;let S=b._first;for(;S!==null;){const E=S.content.type;if(E===g)break;S.deleted||(E instanceof YXmlText?y+=E._length:y+=p.get(E).nodeSize),S=S.right}}g=b}return y-1};function yXmlFragmentToProsemirrorJSON(u){const n=u.toArray(),d=p=>{let m;if(p instanceof YXmlText)m=p.toDelta().map(y=>{const b={type:"text",text:y.insert};return y.attributes&&(b.marks=Object.keys(y.attributes).map(S=>{const E=y.attributes[S],_={type:yattr2markname(S)};return Object.keys(E)&&(_.attrs=E),_})),b});else if(p instanceof YXmlElement){m={type:p.nodeName};const g=p.getAttributes();Object.keys(g).length&&(m.attrs=g);const y=p.toArray();y.length&&(m.content=y.map(d).flat())}else unexpectedCase();return m};return{type:"doc",content:n.map(d)}}const undo=u=>{const n=yUndoPluginKey.getState(u).undoManager;if(n!=null)return n.undo(),!0},redo=u=>{const n=yUndoPluginKey.getState(u).undoManager;if(n!=null)return n.redo(),!0},defaultProtectedNodes=new Set(["paragraph"]),defaultDeleteFilter=(u,n)=>!(u instanceof Item)||!(u.content instanceof ContentType)||!(u.content.type instanceof YText||u.content.type instanceof YXmlElement&&n.has(u.content.type.nodeName))||u.content.type._length===0,yUndoPlugin=({protectedNodes:u=defaultProtectedNodes,trackedOrigins:n=[],undoManager:d=null}={})=>new Plugin({key:yUndoPluginKey,state:{init:(p,m)=>{const g=ySyncPluginKey.getState(m),y=d||new UndoManager(g.type,{trackedOrigins:new Set([ySyncPluginKey].concat(n)),deleteFilter:b=>defaultDeleteFilter(b,u),captureTransaction:b=>b.meta.get("addToHistory")!==!1});return{undoManager:y,prevSel:null,hasUndoOps:y.undoStack.length>0,hasRedoOps:y.redoStack.length>0}},apply:(p,m,g,y)=>{const b=ySyncPluginKey.getState(y).binding,S=m.undoManager,E=S.undoStack.length>0,T=S.redoStack.length>0;return b?{undoManager:S,prevSel:getRelativeSelection(b,g),hasUndoOps:E,hasRedoOps:T}:E!==m.hasUndoOps||T!==m.hasRedoOps?Object.assign({},m,{hasUndoOps:S.undoStack.length>0,hasRedoOps:S.redoStack.length>0}):m}},view:p=>{const m=ySyncPluginKey.getState(p.state),g=yUndoPluginKey.getState(p.state).undoManager;return g.on("stack-item-added",({stackItem:y})=>{const b=m.binding;b&&y.meta.set(b,yUndoPluginKey.getState(p.state).prevSel)}),g.on("stack-item-popped",({stackItem:y})=>{const b=m.binding;b&&(b.beforeTransactionSelection=y.meta.get(b)||b.beforeTransactionSelection)}),{destroy:()=>{g.destroy()}}}});function isChangeOrigin(u){return!!u.getMeta(ySyncPluginKey)}function getYAbsolutePosition(u,n){const d=ySyncPluginKey.getState(u);return relativePositionToAbsolutePosition(d.doc,d.type,n,d.binding.mapping)||0}function getYRelativePosition(u,n){const d=ySyncPluginKey.getState(u);return absolutePositionToRelativePosition(n,d.type,d.binding.mapping)}var CollaborationMappablePosition=class Gt extends MappablePosition{constructor(n,d){super(n),this.yRelativePosition=d}static fromJSON(n){return new Gt(n.position,n.yRelativePosition)}toJSON(){return{position:this.position,yRelativePosition:this.yRelativePosition}}};function createMappablePosition(u,n){const d=getYRelativePosition(n,u);return new CollaborationMappablePosition(u,d)}function getUpdatedPosition(u,n,d){const p=u instanceof CollaborationMappablePosition?u.yRelativePosition:null;if(isChangeOrigin(n)&&p){const y=getYAbsolutePosition(d,p);return{position:new CollaborationMappablePosition(y,p),mapResult:null}}const m=getUpdatedPosition$1(u,n),g=m.position.position;return{position:new CollaborationMappablePosition(g,p??getYRelativePosition(d,g)),mapResult:m.mapResult}}Extension.create({name:"collaboration",priority:1e3,addOptions(){return{document:null,field:"default",fragment:null,provider:null}},addStorage(){return{isDisabled:!1}},onCreate(){this.editor.extensionManager.extensions.find(u=>u.name==="undoRedo")},onBeforeCreate(){this.editor.utils.getUpdatedPosition=(u,n)=>getUpdatedPosition(u,n,this.editor.state),this.editor.utils.createMappablePosition=u=>createMappablePosition(u,this.editor.state)},addCommands(){return{undo:()=>({tr:u,state:n,dispatch:d})=>(u.setMeta("preventDispatch",!0),yUndoPluginKey.getState(n).undoManager.undoStack.length===0?!1:d?undo(n):!0),redo:()=>({tr:u,state:n,dispatch:d})=>(u.setMeta("preventDispatch",!0),yUndoPluginKey.getState(n).undoManager.redoStack.length===0?!1:d?redo(n):!0)}},addKeyboardShortcuts(){return{"Mod-z":()=>this.editor.commands.undo(),"Mod-y":()=>this.editor.commands.redo(),"Shift-Mod-z":()=>this.editor.commands.redo()}},addProseMirrorPlugins(){var u;const n=this.options.fragment?this.options.fragment:this.options.document.getXmlFragment(this.options.field),d=yUndoPlugin(this.options.yUndoOptions),p=d.spec.view;d.spec.view=y=>{const{undoManager:b}=yUndoPluginKey.getState(y.state);b.restore&&(b.restore(),b.restore=()=>{});const S=p?p(y):void 0;return{destroy:()=>{const E=b.trackedOrigins.has(b),T=b._observers;b.restore=()=>{E&&b.trackedOrigins.add(b),b.doc.on("afterTransaction",b.afterTransactionHandler),b._observers=T},S?.destroy&&S.destroy()}}};const m={...this.options.ySyncOptions,onFirstRender:this.options.onFirstRender},g=ySyncPlugin(n,m);return this.editor.options.enableContentCheck&&((u=n.doc)==null||u.on("beforeTransaction",()=>{try{const y=yXmlFragmentToProsemirrorJSON(n);if(y.content.length===0)return;this.editor.schema.nodeFromJSON(y).check()}catch(y){return this.editor.emit("contentError",{error:y,editor:this.editor,disableCollaboration:()=>{var b;(b=n.doc)==null||b.destroy(),this.storage.isDisabled=!0}}),!1}})),[g,d,this.editor.options.enableContentCheck&&new Plugin({key:new PluginKey("filterInvalidContent"),filterTransaction:()=>{var y;return this.storage.isDisabled!==!1&&((y=n.doc)==null||y.destroy()),!0}})].filter(Boolean)}});function getNodeRangeDecorations(u){if(!u.length)return DecorationSet.empty;const n=[],d=u[0].$from.node(0);return u.forEach(p=>{const m=p.$from.pos,g=p.$from.nodeAfter;g&&n.push(Decoration.node(m,m+g.nodeSize,{class:"ProseMirror-selectednoderange"}))}),DecorationSet.create(d,n)}function getSelectionRanges(u,n,d){const p=[],m=u.node(0);typeof d=="number"&&d>=0||(u.sameParent(n)?d=Math.max(0,u.sharedDepth(n.pos)-1):d=u.sharedDepth(n.pos));const g=new NodeRange(u,n,d),y=g.depth===0?0:m.resolve(g.start).posAtIndex(0);return g.parent.forEach((b,S)=>{const E=y+S,T=E+b.nodeSize;if(E<g.start||E>=g.end)return;const _=new SelectionRange(m.resolve(E),m.resolve(T));p.push(_)}),p}var NodeRangeBookmark=class Wt{constructor(n,d){this.anchor=n,this.head=d}map(n){return new Wt(n.map(this.anchor),n.map(this.head))}resolve(n){const d=n.resolve(this.anchor),p=n.resolve(this.head);return new NodeRangeSelection(d,p)}},NodeRangeSelection=class yt extends Selection{constructor(n,d,p,m=1){const{doc:g}=n,y=n===d,b=n.pos===g.content.size&&d.pos===g.content.size,S=y&&!b?g.resolve(d.pos+(m>0?1:-1)):d,E=y&&b?g.resolve(n.pos-(m>0?1:-1)):n,T=getSelectionRanges(E.min(S),E.max(S),p),_=S.pos>=n.pos?T[0].$from:T[T.length-1].$to,R=S.pos>=n.pos?T[T.length-1].$to:T[0].$from;super(_,R,T),this.depth=p}get $to(){return this.ranges[this.ranges.length-1].$to}eq(n){return n instanceof yt&&n.$from.pos===this.$from.pos&&n.$to.pos===this.$to.pos}map(n,d){const p=n.resolve(d.map(this.anchor)),m=n.resolve(d.map(this.head));return new yt(p,m)}toJSON(){return{type:"nodeRange",anchor:this.anchor,head:this.head}}get isForwards(){return this.head>=this.anchor}get isBackwards(){return!this.isForwards}extendBackwards(){const{doc:n}=this.$from;if(this.isForwards&&this.ranges.length>1){const m=this.ranges.slice(0,-1),g=m[0].$from,y=m[m.length-1].$to;return new yt(g,y,this.depth)}const d=this.ranges[0],p=n.resolve(Math.max(0,d.$from.pos-1));return new yt(this.$anchor,p,this.depth)}extendForwards(){const{doc:n}=this.$from;if(this.isBackwards&&this.ranges.length>1){const m=this.ranges.slice(1),g=m[0].$from,y=m[m.length-1].$to;return new yt(y,g,this.depth)}const d=this.ranges[this.ranges.length-1],p=n.resolve(Math.min(n.content.size,d.$to.pos+1));return new yt(this.$anchor,p,this.depth)}static fromJSON(n,d){return new yt(n.resolve(d.anchor),n.resolve(d.head))}static create(n,d,p,m,g=1){return new this(n.resolve(d),n.resolve(p),m,g)}getBookmark(){return new NodeRangeBookmark(this.anchor,this.head)}};NodeRangeSelection.prototype.visible=!1;function isNodeRangeSelection(u){return u instanceof NodeRangeSelection}Extension.create({name:"nodeRange",addOptions(){return{depth:void 0,key:"Mod"}},addKeyboardShortcuts(){return{"Shift-ArrowUp":({editor:u})=>{const{depth:n}=this.options,{view:d,state:p}=u,{doc:m,selection:g,tr:y}=p,{anchor:b,head:S}=g;if(!isNodeRangeSelection(g)){const T=NodeRangeSelection.create(m,b,S,n,-1);return y.setSelection(T),d.dispatch(y),!0}const E=g.extendBackwards();return y.setSelection(E),d.dispatch(y),!0},"Shift-ArrowDown":({editor:u})=>{const{depth:n}=this.options,{view:d,state:p}=u,{doc:m,selection:g,tr:y}=p,{anchor:b,head:S}=g;if(!isNodeRangeSelection(g)){const T=NodeRangeSelection.create(m,b,S,n);return y.setSelection(T),d.dispatch(y),!0}const E=g.extendForwards();return y.setSelection(E),d.dispatch(y),!0},"Mod-a":({editor:u})=>{const{depth:n}=this.options,{view:d,state:p}=u,{doc:m,tr:g}=p,y=NodeRangeSelection.create(m,0,m.content.size,n);return g.setSelection(y),d.dispatch(g),!0}}},onSelectionUpdate(){const{selection:u}=this.editor.state;isNodeRangeSelection(u)&&this.editor.view.dom.classList.add("ProseMirror-noderangeselection")},addProseMirrorPlugins(){let u=!1,n=!1;return[new Plugin({key:new PluginKey("nodeRange"),props:{attributes:()=>u?{class:"ProseMirror-noderangeselection"}:{class:""},handleDOMEvents:{mousedown:(d,p)=>{const{key:m}=this.options,g=/Mac/.test(navigator.platform),y=!!p.shiftKey,b=!!p.ctrlKey,S=!!p.altKey,E=!!p.metaKey,T=g?E:b;return(m==null||m==="Shift"&&y||m==="Control"&&b||m==="Alt"&&S||m==="Meta"&&E||m==="Mod"&&T)&&(n=!0),n&&document.addEventListener("mouseup",()=>{n=!1;const{state:_}=d,{doc:R,selection:C,tr:A}=_,{$anchor:k,$head:I}=C;if(k.sameParent(I))return;const P=NodeRangeSelection.create(R,k.pos,I.pos,this.options.depth);A.setSelection(P),d.dispatch(A)},{once:!0}),!1}},decorations:d=>{const{selection:p}=d,m=isNodeRangeSelection(p);if(u=!1,!n)return m?(u=!0,getNodeRangeDecorations(p.ranges)):null;const{$from:g,$to:y}=p;if(!m&&g.sameParent(y))return null;const b=getSelectionRanges(g,y,this.options.depth);return b.length?(u=!0,getNodeRangeDecorations(b)):null}}})]}});function getCSSText(u){let n="";const d=getComputedStyle(u);for(let p=0;p<d.length;p+=1)n+=`${d[p]}:${d.getPropertyValue(d[p])};`;return n}function cloneElement(u){const n=u.cloneNode(!0),d=[u,...Array.from(u.getElementsByTagName("*"))],p=[n,...Array.from(n.getElementsByTagName("*"))];return d.forEach((m,g)=>{p[g].style.cssText=getCSSText(m)}),n}var listItemFirstChild={id:"listItemFirstChild",evaluate:({parent:u,isFirst:n})=>n&&u&&["listItem","taskItem"].includes(u.type.name)?1e3:0},listWrapperDeprioritize={id:"listWrapperDeprioritize",evaluate:({node:u})=>{const n=["listItem","taskItem"],d=u.firstChild;return d&&n.includes(d.type.name)?1e3:0}},tableStructure={id:"tableStructure",evaluate:({node:u,parent:n})=>["tableRow","tableCell","tableHeader"].includes(u.type.name)||n&&n.type.name==="tableHeader"?1e3:0},inlineContent={id:"inlineContent",evaluate:({node:u})=>u.isInline||u.isText?1e3:0},defaultRules=[listItemFirstChild,listWrapperDeprioritize,tableStructure,inlineContent],DEFAULT_EDGE_CONFIG={edges:["left","top"],threshold:12,strength:500};function normalizeEdgeDetection(u){return u===void 0||u==="left"?{...DEFAULT_EDGE_CONFIG}:u==="right"?{edges:["right","top"],threshold:12,strength:500}:u==="both"?{edges:["left","right","top"],threshold:12,strength:500}:u==="none"?{edges:[],threshold:0,strength:0}:{...DEFAULT_EDGE_CONFIG,...u}}function isNearEdge(u,n,d){if(d.edges.length===0)return!1;const p=n.getBoundingClientRect(),{threshold:m,edges:g}=d;return g.some(y=>y==="left"?u.x-p.left<m:y==="right"?p.right-u.x<m:y==="top"?u.y-p.top<m:y==="bottom"?p.bottom-u.y<m:!1)}function calculateEdgeDeduction(u,n,d,p){return!n||d.edges.length===0?0:isNearEdge(u,n,d)?d.strength*p:0}var BASE_SCORE=1e3;function calculateScore(u,n,d,p){let m=BASE_SCORE,g=!1;if(n.every(b=>{const S=b.evaluate(u);return m-=S,m<=0?(g=!0,!1):!0}),g)return-1;const y=u.view.nodeDOM(u.pos);return m-=calculateEdgeDeduction(p,y,d,u.depth),m<=0?-1:m}function hasAncestorOfType(u,n,d){return Array.from({length:n},(m,g)=>n-1-g).some(m=>d.includes(u.node(m).type.name))}function findBestDragTarget(u,n,d){if(!Number.isFinite(n.x)||!Number.isFinite(n.y))return null;const p=u.posAtCoords({left:n.x,top:n.y});if(!p)return null;const{doc:m}=u.state,g=m.resolve(p.pos),y=[];d.defaultRules&&y.push(...defaultRules),y.push(...d.rules);const S=Array.from({length:g.depth},(_,R)=>g.depth-R).map(_=>{const R=g.node(_),C=g.before(_);if(d.allowedContainers&&_>0&&!hasAncestorOfType(g,_,d.allowedContainers))return null;const A=_>0?g.node(_-1):null,k=_>0?g.index(_-1):0,I=A?A.childCount:1,P={node:R,pos:C,depth:_,parent:A,index:k,isFirst:k===0,isLast:k===I-1,$pos:g,view:u},D=calculateScore(P,y,d.edgeDetection,n);if(D<0)return null;const O=u.nodeDOM(C);return{node:R,pos:C,depth:_,score:D,dom:O}}).filter(_=>_!==null),E=g.nodeAfter;if(E&&E.isAtom&&!E.isInline){const _=p.pos,R=g.depth+1,C=g.parent,A=g.index(),k=C.childCount;let I=!0;if(d.allowedContainers&&(I=hasAncestorOfType(g,R,d.allowedContainers)),I){const P={node:E,pos:_,depth:R,parent:C,index:A,isFirst:A===0,isLast:A===k-1,$pos:g,view:u},D=calculateScore(P,y,d.edgeDetection,n);if(D>=0){const O=u.nodeDOM(_);O&&S.push({node:E,pos:_,depth:R,score:D,dom:O})}}}if(S.length===0)return null;S.sort((_,R)=>R.score!==_.score?R.score-_.score:R.depth-_.depth);const T=S[0];return T.dom?{node:T.node,pos:T.pos,dom:T.dom}:null}function findClosestTopLevelBlock(u,n){let d=u;for(;d?.parentElement&&d.parentElement!==n.dom;)d=d.parentElement;return d?.parentElement===n.dom?d:void 0}function isValidRect(u){return Number.isFinite(u.top)&&Number.isFinite(u.bottom)&&Number.isFinite(u.left)&&Number.isFinite(u.right)&&u.width>0&&u.height>0}function clampToContent(u,n,d,p=5){if(!Number.isFinite(n)||!Number.isFinite(d))return null;const m=u.dom,g=m.firstElementChild,y=m.lastElementChild;if(!g||!y)return null;const b=g.getBoundingClientRect(),S=y.getBoundingClientRect();if(!isValidRect(b)||!isValidRect(S))return null;const E=Math.min(Math.max(b.top+p,d),S.bottom-p),T=.5,_=Math.abs(b.left-S.left)<T,R=Math.abs(b.right-S.right)<T;let C=b;_&&R&&(C=b);const A=Math.min(Math.max(C.left+p,n),C.right-p);return!Number.isFinite(A)||!Number.isFinite(E)?null:{x:A,y:E}}var findElementNextToCoords=u=>{const{x:n,y:d,editor:p,nestedOptions:m}=u,{view:g,state:y}=p,b=clampToContent(g,n,d,5);if(!b)return{resultElement:null,resultNode:null,pos:null};const{x:S,y:E}=b;if(m?.enabled){const A=findBestDragTarget(g,{x:S,y:E},m);return A?{resultElement:A.dom,resultNode:A.node,pos:A.pos}:{resultElement:null,resultNode:null,pos:null}}const T=g.root.elementsFromPoint(S,E);let _;if(Array.prototype.some.call(T,A=>{if(!g.dom.contains(A))return!1;const k=findClosestTopLevelBlock(A,g);return k?(_=k,!0):!1}),!_)return{resultElement:null,resultNode:null,pos:null};let R;try{R=g.posAtDOM(_,0)}catch{return{resultElement:null,resultNode:null,pos:null}}const C=y.doc.nodeAt(R);if(!C){const A=y.doc.resolve(R),k=A.parent;return{resultElement:_,resultNode:k,pos:A.start()}}return{resultElement:_,resultNode:C,pos:R}};function removeNode(u){var n;(n=u.parentNode)==null||n.removeChild(u)}function getDragHandleRanges(u,n,d,p){const{doc:m}=n.view.state;if(d?.enabled&&p?.node&&p.pos>=0){const E=p.pos,T=p.pos+p.node.nodeSize;return[{$from:m.resolve(E),$to:m.resolve(T)}]}const g=findElementNextToCoords({editor:n,x:u.clientX,y:u.clientY,nestedOptions:d});if(!g.resultNode||g.pos===null)return[];const y=g.resultNode.isText||g.resultNode.isAtom?0:-1,b=m.resolve(g.pos),S=m.resolve(g.pos+g.resultNode.nodeSize+y);return getSelectionRanges(b,S,0)}function dragHandler(u,n,d,p){const{view:m}=n;if(!u.dataTransfer)return;const{empty:g,$from:y,$to:b}=m.state.selection,S=getDragHandleRanges(u,n,d,p),E=getSelectionRanges(y,b,0),T=E.some(N=>S.find(F=>F.$from===N.$from&&F.$to===N.$to)),_=g||!T?S:E;if(!_.length)return;const{tr:R}=m.state,C=document.createElement("div"),A=_[0].$from.pos,k=_[_.length-1].$to.pos,I=d?.enabled&&p?.node;let P,D;I?(P=m.state.doc.slice(A,k),D=NodeSelection.create(m.state.doc,A)):(D=NodeRangeSelection.create(m.state.doc,A,k),P=D.content()),_.forEach(N=>{const F=m.nodeDOM(N.$from.pos),L=cloneElement(F);C.append(L)}),C.style.position="absolute",C.style.top="-10000px",document.body.append(C),u.dataTransfer.clearData(),u.dataTransfer.setDragImage(C,0,0);const O=D instanceof NodeSelection?D:void 0;m.dragging={slice:P,move:!0,node:O},R.setSelection(D),m.dispatch(R),document.addEventListener("drop",()=>removeNode(C),{once:!0})}var getOuterNodePos=(u,n)=>{const d=u.resolve(n),{depth:p}=d;return p===0?n:d.pos-d.parentOffset-1},getOuterNode=(u,n)=>{const d=u.nodeAt(n),p=u.resolve(n);let{depth:m}=p,g=d;for(;m>0;){const y=p.node(m);m-=1,m===0&&(g=y)}return g},getRelativePos=(u,n)=>{const d=ySyncPluginKey.getState(u);return d?absolutePositionToRelativePosition(n,d.type,d.binding.mapping):null},getAbsolutePos=(u,n)=>{const d=ySyncPluginKey.getState(u);return d?relativePositionToAbsolutePosition(d.doc,d.type,n,d.binding.mapping)||0:-1},getOuterDomNode=(u,n)=>{let d=n;for(;d?.parentNode&&d.parentNode!==u.dom;)d=d.parentNode;return d},dragHandlePluginDefaultKey=new PluginKey("dragHandle"),DragHandlePlugin=({pluginKey:u=dragHandlePluginDefaultKey,element:n,editor:d,computePositionConfig:p,getReferencedVirtualElement:m,onNodeChange:g,onElementDragStart:y,onElementDragEnd:b,nestedOptions:S})=>{const E=document.createElement("div");let T=!1,_=null,R=-1,C,A=null,k=null;function I(){n&&(n.style.visibility="hidden",n.style.pointerEvents="none")}function P(){if(n){if(!d.isEditable){I();return}n.style.visibility="",n.style.pointerEvents="auto"}}function D(L){const V=m?.()||{getBoundingClientRect:()=>L.getBoundingClientRect()};computePosition(V,n,p).then(j=>{Object.assign(n.style,{position:j.strategy,left:`${j.x}px`,top:`${j.y}px`})})}function O(L){y?.(L),dragHandler(L,d,S,{node:_,pos:R}),n&&(n.dataset.dragging="true"),setTimeout(()=>{n&&(n.style.pointerEvents="none")},0)}function N(L){b?.(L),I(),n&&(n.style.pointerEvents="auto",n.dataset.dragging="false")}function F(){if(isFirefox()){const L=d.view.dom;requestAnimationFrame(()=>{L.isContentEditable&&(L.contentEditable="false",L.contentEditable="true")})}}return n.addEventListener("dragstart",O),n.addEventListener("dragend",N),document.addEventListener("drop",F),E.appendChild(n),{unbind(){n.removeEventListener("dragstart",O),n.removeEventListener("dragend",N),document.removeEventListener("drop",F),A&&(cancelAnimationFrame(A),A=null,k=null)},plugin:new Plugin({key:typeof u=="string"?new PluginKey(u):u,state:{init(){return{locked:!1}},apply(L,V,j,Y){const te=L.getMeta("lockDragHandle"),ee=L.getMeta("hideDragHandle");if(te!==void 0&&(T=te),ee)return I(),T=!1,_=null,R=-1,g?.({editor:d,node:null,pos:-1}),V;if(L.docChanged&&R!==-1&&n)if(isChangeOrigin(L)){const J=getAbsolutePos(Y,C);J!==R&&(R=J)}else{const J=L.mapping.map(R);J!==R&&(R=J,C=getRelativePos(Y,R))}return V}},view:L=>{var V;return n.draggable=!0,n.style.pointerEvents="auto",n.dataset.dragging="false",(V=d.view.dom.parentElement)==null||V.appendChild(E),E.style.pointerEvents="none",E.style.position="absolute",E.style.top="0",E.style.left="0",{update(j,Y){if(!n)return;if(!d.isEditable){I();return}if(T?n.draggable=!1:n.draggable=!0,L.state.doc.eq(Y.doc)||R===-1)return;let te=L.nodeDOM(R);if(te=getOuterDomNode(L,te),te===L.dom||te?.nodeType!==1)return;const ee=L.posAtDOM(te,0),J=getOuterNode(d.state.doc,ee),se=getOuterNodePos(d.state.doc,ee);_=J,R=se,C=getRelativePos(L.state,R),g?.({editor:d,node:_,pos:R}),D(te)},destroy(){n.removeEventListener("dragstart",O),n.removeEventListener("dragend",N),document.removeEventListener("drop",F),A&&(cancelAnimationFrame(A),A=null,k=null),n&&removeNode(E)}}},props:{handleDOMEvents:{keydown(L){return!n||T||L.hasFocus()&&(I(),_=null,R=-1,g?.({editor:d,node:null,pos:-1})),!1},mouseleave(L,V){return T||V.target&&!E.contains(V.relatedTarget)&&(I(),_=null,R=-1,g?.({editor:d,node:null,pos:-1})),!1},mousemove(L,V){return!n||T||(k={x:V.clientX,y:V.clientY},A)||(A=requestAnimationFrame(()=>{if(A=null,!k)return;const{x:j,y:Y}=k;k=null;const te=findElementNextToCoords({x:j,y:Y,editor:d,nestedOptions:S});if(!te.resultElement)return;let ee=te.resultElement,J=te.resultNode,se=te.pos;if(!S?.enabled){if(ee=getOuterDomNode(L,ee),ee===L.dom||ee?.nodeType!==1)return;const Z=L.posAtDOM(ee,0);J=getOuterNode(d.state.doc,Z),se=getOuterNodePos(d.state.doc,Z)}J!==_&&(_=J,R=se??-1,C=getRelativePos(L.state,R),g?.({editor:d,node:_,pos:R}),D(ee),P())})),!1}}}})}};function normalizeNestedOptions(u){var n,d;return u===!1||u===void 0?{enabled:!1,rules:[],defaultRules:!0,allowedContainers:void 0,edgeDetection:normalizeEdgeDetection("none")}:u===!0?{enabled:!0,rules:[],defaultRules:!0,allowedContainers:void 0,edgeDetection:normalizeEdgeDetection("left")}:{enabled:!0,rules:(n=u.rules)!=null?n:[],defaultRules:(d=u.defaultRules)!=null?d:!0,allowedContainers:u.allowedContainers,edgeDetection:normalizeEdgeDetection(u.edgeDetection)}}var defaultComputePositionConfig={placement:"left-start",strategy:"absolute"};Extension.create({name:"dragHandle",addOptions(){return{render(){const u=document.createElement("div");return u.classList.add("drag-handle"),u},computePositionConfig:{},locked:!1,onNodeChange:()=>null,onElementDragStart:void 0,onElementDragEnd:void 0,nested:!1}},addCommands(){return{lockDragHandle:()=>({editor:u})=>(this.options.locked=!0,u.commands.setMeta("lockDragHandle",this.options.locked)),unlockDragHandle:()=>({editor:u})=>(this.options.locked=!1,u.commands.setMeta("lockDragHandle",this.options.locked)),toggleDragHandle:()=>({editor:u})=>(this.options.locked=!this.options.locked,u.commands.setMeta("lockDragHandle",this.options.locked))}},addProseMirrorPlugins(){const u=this.options.render(),n=normalizeNestedOptions(this.options.nested);return[DragHandlePlugin({computePositionConfig:{...defaultComputePositionConfig,...this.options.computePositionConfig},getReferencedVirtualElement:this.options.getReferencedVirtualElement,element:u,editor:this.editor,onNodeChange:this.options.onNodeChange,onElementDragStart:this.options.onElementDragStart,onElementDragEnd:this.options.onElementDragEnd,nestedOptions:n}).plugin]}});var DragHandle=u=>{const{className:n="drag-handle",children:d,editor:p,pluginKey:m=dragHandlePluginDefaultKey,onNodeChange:g,onElementDragStart:y,onElementDragEnd:b,computePositionConfig:S=defaultComputePositionConfig,nested:E=!1}=u,[T,_]=React.useState(null),R=React.useRef(null),C=React.useMemo(()=>normalizeNestedOptions(E),[JSON.stringify(E)]);return React.useEffect(()=>{let A=null;return T?p.isDestroyed?()=>{R.current=null}:(R.current||(A=DragHandlePlugin({editor:p,element:T,pluginKey:m,computePositionConfig:{...defaultComputePositionConfig,...S},onElementDragStart:y,onElementDragEnd:b,onNodeChange:g,nestedOptions:C}),R.current=A.plugin,p.registerPlugin(R.current)),()=>{p.unregisterPlugin(m),R.current=null,A&&(A.unbind(),A=null)}):()=>{R.current=null}},[T,p,g,m,S,y,b,C]),jsxRuntime.jsx("div",{className:n,style:{visibility:"hidden",position:"absolute"},"data-dragging":"false",ref:_,children:d})},index_default=DragHandle;const PostBuilderEditorInstance=({editor:u,actions:n,editorTab:d,onSwitchEditor:p,isSubmitting:m,clearOnSuccess:g,onCreatePost:y,onVoiceComment:b,onVoiceRecord:S,onQuickGif:E,className:T,store:_,placement:R,hideSubmitButton:C,hideGroupSelector:A})=>{const[k,I]=React.useState(!1),[P,D]=React.useState(!0),[O,N]=React.useState(null),{trackPublish:F}=useAnalyticsTracking(),{t:L,allowSendWhileUploading:V,unauthenticatedMode:j}=usePostBuilder(),Y=useStore(_,Q=>Q.groupId)??void 0,{clearContent:te}=usePersistence(R,Y);useHostAnalyticsBridge(),useEditorTracking({editor:u,editorType:d});const ee=React.useRef(null),[J,se]=React.useState(),Z=React.useCallback(Q=>{if(u&&(hasActiveUploads(u)||hasDeferredMedia(u))){N(Q);return}ee.current&&se(ee.current.offsetHeight),p(Q)},[u,p]);React.useEffect(()=>{if(J&&u){const Q=()=>se(void 0),ne=setTimeout(Q,50);return u.once("update",Q),()=>{clearTimeout(ne),u.off("update",Q)}}},[J,u]),React.useEffect(()=>{const Q=()=>{const{groupId:le,selectedGroupId:ce}=_.getState();D(!!(le||ce))};Q();const ne=_.subscribe(Q);return()=>ne()},[_]);const re=Q=>{Q.preventDefault(),I(!0)},B=Q=>{Q.preventDefault(),I(!1)},q=Q=>{Q.preventDefault(),I(!1)},H=()=>{const Q=document.querySelector('[aria-label="Select group"]');Q&&Q.click()},W=React.useCallback(Q=>{if(!u)return;const ne=u?.getHTML(),le=u?.getJSON(),ce=u?.getText(),{selectedGroupId:ae,groupId:oe}=_.getState(),de=ae||oe||void 0,fe=V||j,pe=generateCreatePostPayload(d,{editor:u,sendCrossMention:Q,groupId:de,allowSendWhileUploading:fe}),ge=pe?.type===NewPostType.NEW_POST_POLL;if(pe?.error){toast.error(pe.error);return}if(!pe?.postId)return;if(ge&&pe.items?.length===0)return toast.warning(`At least ${POLL_LIMITS.MIN} option is mandatory to create a poll post`);typeof window<"u"&&window.dispatchEvent(new CustomEvent(PostBuilderEvents.POST_PUBLISH_ATTEMPTED,{detail:{postId:pe.postId,postType:pe.type}}));const ve=getEditorMetrics(u);F({editorType:d,status:"attempted",postId:pe?.postId,postType:pe?.type,isCrosspost:Q,...ve});let be;if(fe){const Se=new Map;for(const me of pe.items??[]){if(!("sources"in me)||!me.sources?.original?.url?.startsWith("blob:"))continue;const we="option_id"in me?u.storage?.poll?.getPendingUpload?.(me.key):u.storage?.smartMediaUpload?.getPendingUpload?.(me.key);we&&Se.set(me.key,we)}if(d!==EditorTypes.Poll){const me=findByType(le,"media");for(const we of me){const Ae=we?.attrs?.uid,Ce=we?.attrs?.src;if(typeof Ae!="string"||!(typeof Ce=="string"&&Ce.startsWith("blob:"))&&we?.attrs?.deferred!==!0||Se.has(Ae))continue;const Ie=u.storage?.smartMediaUpload?.getPendingUpload?.(Ae);Ie&&Se.set(Ae,Ie)}}Se.size>0&&(be=Se)}y?.({payload:pe,html:ne,json:le,text:ce,pendingUploads:be},{restoreContent:()=>{const{editor:Se,editorTab:me}=_.getState();me===d&&(!Se||Se.isDestroyed||Se.commands.setContent(le))}}),g&&(te(),d===EditorTypes.Poll?u?.chain()?.focus()?.setContent({type:"doc",content:[{type:"paragraph"},{type:"poll"}]})?.run():u?.chain()?.focus()?.clearContent()?.run())},[V,j,te,g,u,d,y,_,F]);return React.useEffect(()=>{const Q=ne=>{if((ne.ctrlKey||ne.metaKey)&&ne.key==="Enter"){if(!u?.isFocused)return;if(ne.preventDefault(),!V&&u&&hasActiveUploads(u)){toast.error(L("uploadsInProgressKey"));return}W(!1)}};return window.addEventListener("keydown",Q),()=>window.removeEventListener("keydown",Q)},[u,W,V,L]),jsxRuntime.jsxs("div",{ref:ee,style:{minHeight:J?`${J}px`:void 0},className:cn("post-builder-editor bg-background border rounded-md overflow-hidden max-h-full grow flex flex-col transition-all duration-300 ease-in-out relative",R===EditorPlacement.Comment&&"min-h-32",T),children:[!P&&!A&&jsxRuntime.jsx("div",{className:"z-50 absolute inset-0 bg-foreground/30 backdrop-blur-xs flex items-center justify-center rounded-md pointer-events-none",children:jsxRuntime.jsx(Button,{variant:"outline",size:"lg",onClick:H,className:"pointer-events-auto cursor-pointer hover:animate-none animate-pulse",children:"Please select a group first"})}),R!==EditorPlacement.Comment&&jsxRuntime.jsx(EditorTypeTabs,{editorTab:d,onSwitchEditorTab:Z}),jsxRuntime.jsx(Toolbar,{editor:u,actions:n,isSubmitting:m,onSubmit:W,editorType:d,placement:R,onVoiceComment:b,onVoiceRecord:S,onQuickGif:E,hideSubmitButton:C,children:jsxRuntime.jsxs("div",{className:"relative flex flex-col grow overflow-y-auto",children:[k&&jsxRuntime.jsx("div",{className:"pointer-events-none z-50 absolute inset-0 bg-accent/10 border border-dashed flex items-center justify-center",children:jsxRuntime.jsx("h2",{children:"Drop Here"})}),jsxRuntime.jsxs("div",{onDragOver:re,onDragLeave:B,onDrop:q,className:"flex flex-col grow",children:[jsxRuntime.jsx(index_default,{editor:u,className:cn("pr-2",d!==EditorTypes.Blog&&"hidden size-0 overflow-hidden pointer-events-none"),children:jsxRuntime.jsx(Button,{variant:"ghost",className:"bg-white cursor-grab py-0.5 px-0 border size-auto",children:jsxRuntime.jsx(GripVertical,{className:"text-muted-foreground"})})}),jsxRuntime.jsx(EditorContent,{className:"grow","data-theme":"select-post-builder",editor:u})]})]})}),jsxRuntime.jsx(Dialog,{open:!!O,onOpenChange:Q=>!Q&&N(null),children:jsxRuntime.jsxs(DialogContent,{children:[jsxRuntime.jsxs(DialogHeader,{children:[jsxRuntime.jsx(DialogTitle,{children:L("cancelUploadTitleKey")}),jsxRuntime.jsx(DialogDescription,{children:L("cancelUploadDescriptionKey")})]}),jsxRuntime.jsxs(DialogFooter,{children:[jsxRuntime.jsx(DialogClose,{asChild:!0,children:jsxRuntime.jsx(Button,{variant:"outline",children:L("stayKey")})}),jsxRuntime.jsx(Button,{variant:"destructive",onClick:()=>{O&&(u.commands.deleteAllUploadingMedia(),ee.current&&se(ee.current.offsetHeight),p(O),N(null))},children:L("continueKey")})]})]})})]})},PostBuilderEditorInstanceWithDialog=({user:u,store:n,hideGroupSelector:d,open:p,onOpenChange:m,onGroupSelect:g,placement:y,...b})=>{const{trackAbandon:S}=useAnalyticsTracking(),E=T=>{if(m(T),T)return;const _=getEditorMetrics(b.editor);S({editorType:b.editorTab,abandonReason:"user_closed",contentLength:_?.characterCount??0,hasUnsavedChanges:_?.hasUnsavedChanges??!1})};return jsxRuntime.jsxs(Dialog,{modal:!1,open:p,onOpenChange:E,children:[jsxRuntime.jsx("div",{className:"z-999 fixed inset-0 bg-black/50 backdrop-blur-sm",onClick:()=>E(!1)}),jsxRuntime.jsxs(DialogContent,{onInteractOutside:T=>T.preventDefault(),onOpenAutoFocus:T=>T.preventDefault(),className:"z-9999 bg-transparent shadow-none border-0 p-3 lg:max-w-4xl shrink-0 max-h-[calc(100dvh-7rem)]! flex flex-col overflow-y-auto -translate-1/2",showCloseButton:!1,children:[jsxRuntime.jsxs(DialogHeader,{children:[jsxRuntime.jsx(DialogTitle,{className:"sr-only",children:"Post Builder Modal"}),!d&&jsxRuntime.jsxs("div",{className:"flex items-center justify-between gap-3",children:[jsxRuntime.jsx(GroupSelector,{user:u,store:n,onGroupSelect:g}),jsxRuntime.jsx(DialogClose,{asChild:!0,children:jsxRuntime.jsx(Button,{variant:"outline",size:"icon",children:jsxRuntime.jsx(X,{})})})]})]}),jsxRuntime.jsx(PostBuilderEditorInstance,{...b,store:n,placement:y})]})]})};var M=(u,n,d,p,m,g,y,b)=>{let S=document.documentElement,E=["light","dark"];function T(C){(Array.isArray(u)?u:[u]).forEach(A=>{let k=A==="class",I=k&&g?m.map(P=>g[P]||P):m;k?(S.classList.remove(...I),S.classList.add(g&&g[C]?g[C]:C)):S.setAttribute(A,C)}),_(C)}function _(C){b&&E.includes(C)&&(S.style.colorScheme=C)}function R(){return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}if(p)T(p);else try{let C=localStorage.getItem(n)||d,A=y&&C==="system"?R():C;T(A)}catch{}},x=React__namespace.createContext(void 0),U={setTheme:u=>{},themes:[]},z=()=>{var u;return(u=React__namespace.useContext(x))!=null?u:U};React__namespace.memo(({forcedTheme:u,storageKey:n,attribute:d,enableSystem:p,enableColorScheme:m,defaultTheme:g,value:y,themes:b,nonce:S,scriptProps:E})=>{let T=JSON.stringify([d,n,g,u,b,y,p,m]).slice(1,-1);return React__namespace.createElement("script",{...E,suppressHydrationWarning:!0,nonce:typeof window>"u"?S:"",dangerouslySetInnerHTML:{__html:`(${M.toString()})(${T})`}})});const Toaster=({...u})=>{const{theme:n="system"}=z();return jsxRuntime.jsx(Toaster$1,{theme:n,className:"toaster group z-90",style:{"--normal-bg":"var(--popover)","--normal-text":"var(--popover-foreground)","--normal-border":"var(--border)"},...u})};function AnalyticsSessionProvider({editorType:u,placement:n,sessionId:d,children:p}){return jsxRuntime.jsx(AnalyticsSessionContext.Provider,{value:{sessionId:d,editorType:u,placement:n},children:p})}const PostBuilderEditor=({placement:u=EditorPlacement.Feed,groupId:n,postId:d,user:p,hideGroupSelector:m=!1,clearOnSuccess:g=!0,openModal:y,onModalOpenChange:b,isSubmitting:S,onCreatePost:E,onVoiceComment:T,onVoiceRecord:_,onQuickGif:R,onGroupSelect:C,onDirtyStateChange:A,onReady:k,disableNavigationWarning:I,initialContent:P,resumeDeferredMedia:D,initialTab:O,hideSubmitButton:N,onEditorTabChange:F,placeholder:L})=>{const[V,j]=React.useState(O??EditorTypes.Media),[Y,te]=React.useState(""),ee=useAnalyticsStore(ye=>ye.createSession),J=useAnalyticsStore(ye=>ye.deleteSession),se=useAnalyticsStore(ye=>ye.trackEditorFocus),{editor:Z,actions:re,store:B,isMounted:q,saveBeforeSwitch:H,keepEditing:W,saveDraft:Q,discardDraft:ne,skipNextUnmountSave:le,setContent:ce,getContent:ae,clearEditor:oe,resumeDeferredUploads:de}=usePostBuilderEditor({editorType:V,placement:u,groupId:n,postId:d,user:p,disableNavigationWarning:I,initialContent:P,resumeDeferredMedia:D,placeholder:L}),fe=React.useCallback(ye=>{R?.({...ye,onSent:oe})},[R,oe]),pe=React.useCallback(ye=>{H(),j(ye),F?.(ye)},[H,F]),ge=React.useMemo(()=>({editor:Z}),[Z]);React.useEffect(()=>{if(u===EditorPlacement.Modal&&!y)return;const ye=ee(EditorTypes.Media,u);return te(ye),()=>{J(ye)}},[ee,J,y,u]),React.useEffect(()=>{const ye=Se=>{if(!Z)return;const{newSessionId:me}=Se.detail;te(me),Z.isFocused&&se(me,"auto")};return window.addEventListener(PostBuilderEvents.POST_SESSION_ROTATED,ye),()=>{window.removeEventListener(PostBuilderEvents.POST_SESSION_ROTATED,ye)}},[Z,se]),React.useEffect(()=>{const ye=Se=>{const me=Se.detail;!me||me.groupId!==n||me.editorType&&me.editorType!==V&&(le(),j(me.editorType),F?.(me.editorType))};return window.addEventListener(PostBuilderEvents.DRAFT_REHYDRATE_REQUEST,ye),()=>{window.removeEventListener(PostBuilderEvents.DRAFT_REHYDRATE_REQUEST,ye)}},[n,V,F,le]),React.useEffect(()=>{if(!Z||!Y)return;const ye=requestAnimationFrame(()=>{Z.view?.dom&&(Z.view.dom.setAttribute("data-session-id",Y),Z.view.dom.setAttribute("data-editor-type",V))});return()=>cancelAnimationFrame(ye)},[Z,Y,V]);const ve=React.useRef(!1);React.useEffect(()=>{if(!Z||!A)return;const ye=()=>{const Se=V===EditorTypes.Poll?!isPollEmpty(Z.getJSON()):!Z.isEmpty;Se!==ve.current&&(ve.current=Se,A(Se))};return Z.on("update",ye),()=>{Z.off("update",ye)}},[Z,A,V]);const be=React.useRef(!1);return React.useEffect(()=>{!Z||be.current||!k||(be.current=!0,k({saveDraft:Q,discardDraft:ne,keepEditing:W,setContent:ce,getContent:ae,clearEditor:oe,resumeDeferredUploads:de}))},[Z,k,Q,ne,W,ce,ae,oe,de]),!q||!Z?jsxRuntime.jsx(EditorSkeleton,{}):jsxRuntime.jsx(AnalyticsSessionProvider,{sessionId:Y,editorType:V,placement:u,children:jsxRuntime.jsxs("div",{className:"max-w-full w-full","data-theme":"select-post-builder",children:[jsxRuntime.jsx(EditorContext.Provider,{value:ge,children:y?jsxRuntime.jsx(PostBuilderEditorInstanceWithDialog,{placement:u,hideGroupSelector:m,user:p,editor:Z,editorTab:V,onSwitchEditor:pe,store:B,actions:re,open:y,onOpenChange:b,onCreatePost:E,onVoiceComment:T,onVoiceRecord:_,onQuickGif:R?fe:void 0,isSubmitting:S,clearOnSuccess:g,onGroupSelect:C}):jsxRuntime.jsxs("div",{className:"prose-blockquote: flex-1 flex flex-col space-y-3 max-w-full max-h-[calc(100dvh-7rem)] bg-transparent",children:[!m&&jsxRuntime.jsx(GroupSelector,{user:p,store:B,onGroupSelect:C}),jsxRuntime.jsx(PostBuilderEditorInstance,{editor:Z,actions:re,editorTab:V,onSwitchEditor:pe,store:B,isSubmitting:S,onCreatePost:E,onVoiceComment:T,onVoiceRecord:_,onQuickGif:R?fe:void 0,clearOnSuccess:g,placement:u,hideSubmitButton:N,hideGroupSelector:m})]})}),jsxRuntime.jsx(Toaster,{position:"top-center"})]})})},EditorSkeleton=()=>jsxRuntime.jsx("div",{className:"max-w-full w-full","data-theme":"select-post-builder",children:jsxRuntime.jsxs("div",{className:"space-y-3",children:[jsxRuntime.jsx(Skeleton,{className:"h-8 w-48"}),jsxRuntime.jsxs("div",{className:"min-h-60 w-full flex flex-col overflow-hidden rounded-lg border",children:[jsxRuntime.jsx(Skeleton,{className:"h-10 rounded-b-none"}),jsxRuntime.jsx(Separator,{}),jsxRuntime.jsx(Skeleton,{className:"h-44 rounded-none"}),jsxRuntime.jsx(Separator,{}),jsxRuntime.jsx(Skeleton,{className:"h-[47px] rounded-t-none flex items-center justify-end p-2",children:jsxRuntime.jsx(Skeleton,{className:"h-full w-20 bg-accent-foreground/20"})})]})]})}),translationFallback={addKey:"Add",cancelKey:"Cancel",deleteKey:"Delete",editKey:"Edit",updateKey:"Update",insertKey:"Insert",uploadKey:"Upload",postKey:"Post",crossPostKey:"Cross-post to groups you #mention?",crossPostLimitKey:"Only the first 3 groups you #mention are cross-posted",postTabKey:"Post",blogTabKey:"Blog",pollTabKey:"Poll",alignLeftKey:"Align Left",alignCenterKey:"Align Center",alignRightKey:"Align Right",undoKey:"Undo",redoKey:"Redo",headingOptionsKey:"Heading Options",paragraphKey:"Paragraph",heading1Key:"Heading 1",heading2Key:"Heading 2",heading3Key:"Heading 3",boldKey:"Bold",italicKey:"Italic",strikethroughKey:"Strikethrough",bulletListKey:"Bullet List",orderedListKey:"Ordered List",blockquoteKey:"BlockQuote",codeKey:"Code",codeBlockKey:"Codeblock",moreOptionsKey:"More formatting options",insertImageKey:"Insert Image",insertVideoKey:"Insert Video",insertAudioKey:"Insert Audio",searchGifOrImagesKey:"Search Gif/Images Online",mediaSearchTitleKey:"Search Media",gifSearchKey:"GIF Search",imageSearchKey:"Image Search",searchGifPlaceholder:"Search GIFs...",searchIMagePlaceholder:"Search Images...",addLinkPreviewKey:"Add link with preview",editLinkKey:"Edit Link",visitLinkKey:"Visit Link",unsetLinkKey:"Unset Link",linkInputLabelKey:"Link URL",linkTextInputLabelKey:"Text to display",invalidLinkKey:"Please enter a valid URL",insertLinkKey:"Insert Link",updateLinkKey:"Update Link",removeLinkPreviewKey:"Remove Link Preview",fetchingMetadataKey:"Fetching Link Metadata...",pollQuestionPlaceholderKey:"Which one would you select?",addTextOptionKey:"Add text option",enterTextOptionKey:"Enter a text option...",pressEnterToAddKey:"Press Enter to add",quickGifGeneratingKey:"Text → GIF…",cancelUploadTitleKey:"Cancel upload?",cancelUploadDescriptionKey:"Switching tabs will cancel your current upload and remove the media from your post.",stayKey:"Stay",continueKey:"Continue",uploadsInProgressKey:"Please wait for all uploads to finish"},defaultTranslationKeyMappings={addKey:"general_add",cancelKey:"cancel",deleteKey:"general_delete",editKey:"general_edit",updateKey:"general_update",insertKey:"general_insert",uploadKey:"general_upload",postKey:"general_send_post",crossPostKey:"cross_mention_title",crossPostLimitKey:"cross_mention_limit_hint",postTabKey:"post_builder_tab_post_title",blogTabKey:"post_builder_tab_blog_title",pollTabKey:"post_builder_tab_poll_title",alignLeftKey:"post_builder_formatting_tooltip_align_left",alignCenterKey:"post_builder_formatting_tooltip_align_center",alignRightKey:"post_builder_formatting_tooltip_align_right",undoKey:"post_builder_formatting_tooltip_undo",redoKey:"post_builder_formatting_tooltip_redo",headingOptionsKey:"post_builder_formatting_tooltip_heading_options",paragraphKey:"post_builder_formatting_tooltip_paragraph",heading1Key:"post_builder_formatting_tooltip_heading_one",heading2Key:"post_builder_formatting_tooltip_heading_two",heading3Key:"post_builder_formatting_tooltip_heading_three",boldKey:"post_builder_formatting_tooltip_bold",italicKey:"post_builder_formatting_tooltip_italic",strikethroughKey:"post_builder_formatting_tooltip_strikethrough",bulletListKey:"post_builder_formatting_tooltip_list_bullet",orderedListKey:"post_builder_formatting_tooltip_list_ordered",blockquoteKey:"post_builder_formatting_tooltip_blockquote",codeKey:"post_builder_formatting_tooltip_code",codeBlockKey:"post_builder_formatting_tooltip_codeblock",moreOptionsKey:"post_builder_formatting_tooltip_more_options",insertImageKey:"post_builder_tooltip_insert_image",insertVideoKey:"post_builder_tooltip_insert_video",insertAudioKey:"post_builder_tooltip_insert_audio",searchGifOrImagesKey:"post_builder_tooltip_search_gif_or_image",mediaSearchTitleKey:"post_builder_media_search_modal_title",gifSearchKey:"post_builder_media_search_tab_gif_title",imageSearchKey:"post_builder_media_search_tab_image_title",searchGifPlaceholder:"post_builder_media_search_input_gif_placeholder",searchIMagePlaceholder:"post_builder_media_search_input_image_placeholder",addLinkPreviewKey:"post_builder_tooltip_link_add",editLinkKey:"post_builder_tooltip_link_edit",visitLinkKey:"post_builder_tooltip_link_visit",unsetLinkKey:"post_builder_tooltip_link_unset",linkInputLabelKey:"post_builder_link_input_label",linkTextInputLabelKey:"post_builder_link_text_input_label",invalidLinkKey:"post_builder_link_input_invalid",insertLinkKey:"post_builder_link_insert_modal_title",updateLinkKey:"post_builder_link_update_modal_title",removeLinkPreviewKey:"post_builder_tooltip_link_remove_preview",fetchingMetadataKey:"post_builder_link_loading_metadata_placeholder",pollQuestionPlaceholderKey:"post_builder_poll_question_input_placeholder",addTextOptionKey:"post_builder_poll_add_text_option_input_label",enterTextOptionKey:"post_builder_poll_add_text_option_input_placeholder",pressEnterToAddKey:"post_builder_poll_add_text_option_input_command",quickGifGeneratingKey:"post_detail_quick_gif_generating",cancelUploadTitleKey:"post_builder_upload_guard_cancel_title",cancelUploadDescriptionKey:"post_builder_upload_guard_cancel_description",stayKey:"post_builder_upload_guard_stay",continueKey:"post_builder_upload_guard_continue",uploadsInProgressKey:"post_builder_upload_guard_in_progress"},PostBuilderProvider=({children:u,apiBaseURL:n,authToken:d,toI18N:p,i18nKeys:m=defaultTranslationKeyMappings,logEvent:g,allowSendWhileUploading:y=!1,unauthenticatedMode:b=!1})=>{const S=useAnalyticsStore(R=>R.initialize),E=React.useCallback((R,C)=>{const k={...defaultTranslationKeyMappings,...m}[R],I=p(k);if(I!==k)return I;const P=translationFallback[R];return P||C||R},[p,m]),T=React.useMemo(()=>{const R=new CoreApi(n.core,d,p),C=new MFSApi(n.mfs,d,p),A=new FilestoreApi(n.fileStore,d,p);return R.initApi(),C.initApi(),A.initApi(),{core:R,mfs:C,fileStore:A}},[d,n,p]);React.useEffect(()=>{S(g,{debug:!0,enabled:!0})},[S,g]);const _=React.useMemo(()=>({authToken:d,t:E,i18nKeys:m,api:T,logEvent:g,allowSendWhileUploading:y,unauthenticatedMode:b}),[d,E,m,T,g,y,b]);return jsxRuntime.jsx(PostBuilderContext.Provider,{value:_,children:u})};function applyResolvedMediaItem(u,n,d){if(!u)return u;const p=updatePollChoiceForKey(u,n,d);return transformMediaNodes(p,m=>{if(m.attrs?.uid!==n)return m;const g=d.sources?.original?.url??m.attrs.src;return{...m,attrs:{...m.attrs,src:g,uploading:!1,progress:100,payload:d}}})}function stripPendingMediaFromJsonBody(u){if(!u)return u;const n=stripPendingPollChoices(u);return pruneMediaNodes(n,isPendingMediaNode)}function updatePollChoiceForKey(u,n,d){if(u.type==="poll"){const p=u.attrs?.choices??[];return Array.isArray(p)?{...u,attrs:{...u.attrs,choices:p.map(m=>m?.key===n?{...m,sources:d.sources}:m)}}:u}return u.content?{...u,content:u.content.map(p=>updatePollChoiceForKey(p,n,d))}:u}function stripPendingPollChoices(u){if(u.type==="poll"){const n=u.attrs?.choices??[];return Array.isArray(n)?{...u,attrs:{...u.attrs,choices:n.filter(d=>!(d?.sources?.original?.url??"").startsWith("blob:"))}}:u}return u.content?{...u,content:u.content.map(n=>stripPendingPollChoices(n))}:u}function isPendingMediaNode(u){if(u.type!=="media")return!1;const n=u.attrs??{};return n.uploading===!0||n.deferred===!0||typeof n.src=="string"&&n.src.startsWith("blob:")}function transformMediaNodes(u,n){return u.type==="media"?n(u):u.content?{...u,content:u.content.map(d=>transformMediaNodes(d,n))}:u}function pruneMediaNodes(u,n){return walkPrune(u,n)??u}function walkPrune(u,n){if(u.type==="media"&&n(u))return null;if(!u.content)return u;const d=[];for(const p of u.content){const m=walkPrune(p,n);m!==null&&d.push(m)}return u.type==="mediaGroup"&&d.length===0?null:{...u,content:d}}function applyResolvedMediaItemToHtml(u,n,d){if(!u)return u;const p=parseHtml(u),m=p.body.querySelector(`div[data-media][data-uid="${cssEscape(n)}"]`);if(!m)return u;const g=d.sources?.original?.url??m.getAttribute("data-src")??"";m.setAttribute("data-src",g),m.setAttribute("data-payload",JSON.stringify(d));const y=m.querySelector("img, video, audio");return y&&y.setAttribute("src",g),p.body.innerHTML}function stripPendingMediaFromHtml(u){if(!u)return u;const n=parseHtml(u);return n.body.querySelectorAll("div[data-media]").forEach(d=>{isPendingMediaElement(d)&&d.remove()}),n.body.querySelectorAll("div[data-media-group]").forEach(d=>{d.querySelector("div[data-media]")===null&&d.remove()}),n.body.innerHTML}function isPendingMediaElement(u){const n=u.getAttribute("data-src")??"";return!n||n.startsWith("blob:")?!0:(u.querySelector("img, video, audio")?.getAttribute("src")??"").startsWith("blob:")}function parseHtml(u){return new DOMParser().parseFromString(`<body>${u}</body>`,"text/html")}function cssEscape(u){return u.replace(/(["\\])/g,"\\$1")}exports.EditorPlacement=EditorPlacement;exports.EditorTypes=EditorTypes;exports.PostBuilderEditor=PostBuilderEditor;exports.PostBuilderEvents=PostBuilderEvents;exports.PostBuilderProvider=PostBuilderProvider;exports.applyResolvedMediaItem=applyResolvedMediaItem;exports.applyResolvedMediaItemToHtml=applyResolvedMediaItemToHtml;exports.ensurePollMinimum=ensurePollMinimum;exports.stripPendingMediaFromHtml=stripPendingMediaFromHtml;exports.stripPendingMediaFromJsonBody=stripPendingMediaFromJsonBody;