diff --git a/lib/platform-bible-react/dist/index.cjs b/lib/platform-bible-react/dist/index.cjs index a95ba3dee4..d1f6735c60 100644 --- a/lib/platform-bible-react/dist/index.cjs +++ b/lib/platform-bible-react/dist/index.cjs @@ -1,23 +1,23 @@ -"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=require("react/jsx-runtime"),_=require("react"),Ue=require("platform-bible-utils"),hs=require("@radix-ui/react-dropdown-menu"),gt=require("lucide-react"),Ee=require("clsx"),ms=require("tailwind-merge"),gs=require("@radix-ui/react-slot"),Oi=require("class-variance-authority"),be=require("@mui/material"),Tr=require("@mui/styled-engine"),Zt=require("react-dom"),bs=require("@radix-ui/react-label"),So=require("react-data-grid"),vs=require("@radix-ui/react-tabs");function hn(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const k=hn(_),fe=hn(hs),ys=hn(Zt),Si=hn(bs),Re=hn(vs);var ws=Object.defineProperty,xs=(e,t,n)=>t in e?ws(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ne=(e,t,n)=>(xs(e,typeof t!="symbol"?t+"":t,n),n);const vt=["GEN","EXO","LEV","NUM","DEU","JOS","JDG","RUT","1SA","2SA","1KI","2KI","1CH","2CH","EZR","NEH","EST","JOB","PSA","PRO","ECC","SNG","ISA","JER","LAM","EZK","DAN","HOS","JOL","AMO","OBA","JON","MIC","NAM","HAB","ZEP","HAG","ZEC","MAL","MAT","MRK","LUK","JHN","ACT","ROM","1CO","2CO","GAL","EPH","PHP","COL","1TH","2TH","1TI","2TI","TIT","PHM","HEB","JAS","1PE","2PE","1JN","2JN","3JN","JUD","REV","TOB","JDT","ESG","WIS","SIR","BAR","LJE","S3Y","SUS","BEL","1MA","2MA","3MA","4MA","1ES","2ES","MAN","PS2","ODA","PSS","JSA","JDB","TBS","SST","DNT","BLT","XXA","XXB","XXC","XXD","XXE","XXF","XXG","FRT","BAK","OTH","3ES","EZA","5EZ","6EZ","INT","CNC","GLO","TDX","NDX","DAG","PS3","2BA","LBA","JUB","ENO","1MQ","2MQ","3MQ","REP","4BA","LAO"],Ar=["XXA","XXB","XXC","XXD","XXE","XXF","XXG","FRT","BAK","OTH","INT","CNC","GLO","TDX","NDX"],Ci=["Genesis","Exodus","Leviticus","Numbers","Deuteronomy","Joshua","Judges","Ruth","1 Samuel","2 Samuel","1 Kings","2 Kings","1 Chronicles","2 Chronicles","Ezra","Nehemiah","Esther (Hebrew)","Job","Psalms","Proverbs","Ecclesiastes","Song of Songs","Isaiah","Jeremiah","Lamentations","Ezekiel","Daniel (Hebrew)","Hosea","Joel","Amos","Obadiah","Jonah","Micah","Nahum","Habakkuk","Zephaniah","Haggai","Zechariah","Malachi","Matthew","Mark","Luke","John","Acts","Romans","1 Corinthians","2 Corinthians","Galatians","Ephesians","Philippians","Colossians","1 Thessalonians","2 Thessalonians","1 Timothy","2 Timothy","Titus","Philemon","Hebrews","James","1 Peter","2 Peter","1 John","2 John","3 John","Jude","Revelation","Tobit","Judith","Esther Greek","Wisdom of Solomon","Sirach (Ecclesiasticus)","Baruch","Letter of Jeremiah","Song of 3 Young Men","Susanna","Bel and the Dragon","1 Maccabees","2 Maccabees","3 Maccabees","4 Maccabees","1 Esdras (Greek)","2 Esdras (Latin)","Prayer of Manasseh","Psalm 151","Odes","Psalms of Solomon","Joshua A. *obsolete*","Judges B. *obsolete*","Tobit S. *obsolete*","Susanna Th. *obsolete*","Daniel Th. *obsolete*","Bel Th. *obsolete*","Extra A","Extra B","Extra C","Extra D","Extra E","Extra F","Extra G","Front Matter","Back Matter","Other Matter","3 Ezra *obsolete*","Apocalypse of Ezra","5 Ezra (Latin Prologue)","6 Ezra (Latin Epilogue)","Introduction","Concordance ","Glossary ","Topical Index","Names Index","Daniel Greek","Psalms 152-155","2 Baruch (Apocalypse)","Letter of Baruch","Jubilees","Enoch","1 Meqabyan","2 Meqabyan","3 Meqabyan","Reproof (Proverbs 25-31)","4 Baruch (Rest of Baruch)","Laodiceans"],Co=Ms();function Lt(e,t=!0){return t&&(e=e.toUpperCase()),e in Co?Co[e]:0}function Dr(e){return Lt(e)>0}function Es(e){const t=typeof e=="string"?Lt(e):e;return t>=40&&t<=66}function ks(e){return(typeof e=="string"?Lt(e):e)<=39}function Ni(e){return e<=66}function Ts(e){const t=typeof e=="string"?Lt(e):e;return Mi(t)&&!Ni(t)}function*Os(){for(let e=1;e<=vt.length;e++)yield e}const Ss=1,Pi=vt.length;function Cs(){return["XXA","XXB","XXC","XXD","XXE","XXF","XXG"]}function Br(e,t="***"){const n=e-1;return n<0||n>=vt.length?t:vt[n]}function Ri(e){return e<=0||e>Pi?"******":Ci[e-1]}function Ns(e){return Ri(Lt(e))}function Mi(e){const t=typeof e=="number"?Br(e):e;return Dr(t)&&!Ar.includes(t)}function Ps(e){const t=typeof e=="number"?Br(e):e;return Dr(t)&&Ar.includes(t)}function Rs(e){return Ci[e-1].includes("*obsolete*")}function Ms(){const e={};for(let t=0;t(e[e.Unknown=0]="Unknown",e[e.Original=1]="Original",e[e.Septuagint=2]="Septuagint",e[e.Vulgate=3]="Vulgate",e[e.English=4]="English",e[e.RussianProtestant=5]="RussianProtestant",e[e.RussianOrthodox=6]="RussianOrthodox",e))(ot||{});const je=class{constructor(t){if(ne(this,"name"),ne(this,"fullPath"),ne(this,"isPresent"),ne(this,"hasVerseSegments"),ne(this,"isCustomized"),ne(this,"baseVersification"),ne(this,"scriptureBooks"),ne(this,"_type"),t!=null)typeof t=="string"?this.name=t:this._type=t;else throw new Error("Argument null")}get type(){return this._type}equals(t){return!t.type||!this.type?!1:t.type===this.type}};ne(je,"Original",new je(ot.Original)),ne(je,"Septuagint",new je(ot.Septuagint)),ne(je,"Vulgate",new je(ot.Vulgate)),ne(je,"English",new je(ot.English)),ne(je,"RussianProtestant",new je(ot.RussianProtestant)),ne(je,"RussianOrthodox",new je(ot.RussianOrthodox));let Rt=je;function No(e,t){const n=t[0];for(let r=1;r(e[e.Valid=0]="Valid",e[e.UnknownVersification=1]="UnknownVersification",e[e.OutOfRange=2]="OutOfRange",e[e.VerseOutOfOrder=3]="VerseOutOfOrder",e[e.VerseRepeated=4]="VerseRepeated",e))($i||{});const Ce=class ie{constructor(t,n,r,o){if(ne(this,"firstChapter"),ne(this,"lastChapter"),ne(this,"lastVerse"),ne(this,"hasSegmentsDefined"),ne(this,"text"),ne(this,"BBBCCCVVVS"),ne(this,"longHashCode"),ne(this,"versification"),ne(this,"rtlMark","‏"),ne(this,"_bookNum",0),ne(this,"_chapterNum",0),ne(this,"_verseNum",0),ne(this,"_verse"),r==null&&o==null)if(t!=null&&typeof t=="string"){const i=t,s=n!=null&&n instanceof Rt?n:void 0;this.setEmpty(s),this.parse(i)}else if(t!=null&&typeof t=="number"){const i=n!=null&&n instanceof Rt?n:void 0;this.setEmpty(i),this._verseNum=t%ie.chapterDigitShifter,this._chapterNum=Math.floor(t%ie.bookDigitShifter/ie.chapterDigitShifter),this._bookNum=Math.floor(t/ie.bookDigitShifter)}else if(n==null)if(t!=null&&t instanceof ie){const i=t;this._bookNum=i.bookNum,this._chapterNum=i.chapterNum,this._verseNum=i.verseNum,this._verse=i.verse,this.versification=i.versification}else{if(t==null)return;const i=t instanceof Rt?t:ie.defaultVersification;this.setEmpty(i)}else throw new Error("VerseRef constructor not supported.");else if(t!=null&&n!=null&&r!=null)if(typeof t=="string"&&typeof n=="string"&&typeof r=="string")this.setEmpty(o),this.updateInternal(t,n,r);else if(typeof t=="number"&&typeof n=="number"&&typeof r=="number")this._bookNum=t,this._chapterNum=n,this._verseNum=r,this.versification=o??ie.defaultVersification;else throw new Error("VerseRef constructor not supported.");else throw new Error("VerseRef constructor not supported.")}static parse(t,n=ie.defaultVersification){const r=new ie(n);return r.parse(t),r}static isVerseParseable(t){return t.length>0&&"0123456789".includes(t[0])&&!t.endsWith(this.verseRangeSeparator)&&!t.endsWith(this.verseSequenceIndicator)}static tryParse(t){let n;try{return n=ie.parse(t),{success:!0,verseRef:n}}catch(r){if(r instanceof Wt)return n=new ie,{success:!1,verseRef:n};throw r}}static getBBBCCCVVV(t,n,r){return t%ie.bcvMaxValue*ie.bookDigitShifter+(n>=0?n%ie.bcvMaxValue*ie.chapterDigitShifter:0)+(r>=0?r%ie.bcvMaxValue:0)}static tryGetVerseNum(t){let n;if(!t)return n=-1,{success:!0,vNum:n};n=0;let r;for(let o=0;o"9")return o===0&&(n=-1),{success:!1,vNum:n};if(n=n*10+ +r-+"0",n>ie.bcvMaxValue)return n=-1,{success:!1,vNum:n}}return{success:!0,vNum:n}}get isDefault(){return this.bookNum===0&&this.chapterNum===0&&this.verseNum===0&&this.versification==null}get hasMultiple(){return this._verse!=null&&(this._verse.includes(ie.verseRangeSeparator)||this._verse.includes(ie.verseSequenceIndicator))}get book(){return ue.bookNumberToId(this.bookNum,"")}set book(t){this.bookNum=ue.bookIdToNumber(t)}get chapter(){return this.isDefault||this._chapterNum<0?"":this._chapterNum.toString()}set chapter(t){const n=+t;this._chapterNum=Number.isInteger(n)?n:-1}get verse(){return this._verse!=null?this._verse:this.isDefault||this._verseNum<0?"":this._verseNum.toString()}set verse(t){const{success:n,vNum:r}=ie.tryGetVerseNum(t);this._verse=n?void 0:t.replace(this.rtlMark,""),this._verseNum=r,!(this._verseNum>=0)&&({vNum:this._verseNum}=ie.tryGetVerseNum(this._verse))}get bookNum(){return this._bookNum}set bookNum(t){if(t<=0||t>ue.lastBook)throw new Wt("BookNum must be greater than zero and less than or equal to last book");this._bookNum=t}get chapterNum(){return this._chapterNum}set chapterNum(t){this.chapterNum=t}get verseNum(){return this._verseNum}set verseNum(t){this._verseNum=t}get versificationStr(){var t;return(t=this.versification)==null?void 0:t.name}set versificationStr(t){this.versification=this.versification!=null?new Rt(t):void 0}get valid(){return this.validStatus===0}get validStatus(){return this.validateVerse(ie.verseRangeSeparators,ie.verseSequenceIndicators)}get BBBCCC(){return ie.getBBBCCCVVV(this._bookNum,this._chapterNum,0)}get BBBCCCVVV(){return ie.getBBBCCCVVV(this._bookNum,this._chapterNum,this._verseNum)}get isExcluded(){return!1}parse(t){if(t=t.replace(this.rtlMark,""),t.includes("/")){const i=t.split("/");if(t=i[0],i.length>1)try{const s=+i[1].trim();this.versification=new Rt(ot[s])}catch{throw new Wt("Invalid reference : "+t)}}const n=t.trim().split(" ");if(n.length!==2)throw new Wt("Invalid reference : "+t);const r=n[1].split(":"),o=+r[0];if(r.length!==2||ue.bookIdToNumber(n[0])===0||!Number.isInteger(o)||o<0||!ie.isVerseParseable(r[1]))throw new Wt("Invalid reference : "+t);this.updateInternal(n[0],r[0],r[1])}simplify(){this._verse=void 0}clone(){return new ie(this)}toString(){const t=this.book;return t===""?"":`${t} ${this.chapter}:${this.verse}`}equals(t){return t instanceof ie?t._bookNum===this._bookNum&&t._chapterNum===this._chapterNum&&t._verseNum===this._verseNum&&t.verse===this.verse&&t.versification!=null&&this.versification!=null&&t.versification.equals(this.versification):!1}allVerses(t=!1,n=ie.verseRangeSeparators,r=ie.verseSequenceIndicators){if(this._verse==null||this.chapterNum<=0)return[this.clone()];const o=[],i=No(this._verse,r);for(const s of i.map(l=>No(l,n))){const l=this.clone();l.verse=s[0];const c=l.verseNum;if(o.push(l),s.length>1){const u=this.clone();if(u.verse=s[1],!t)for(let p=c+1;ps)return 3;if(r===s)return 4;r=s}return 0}get internalValid(){return this.versification==null?1:this._bookNum<=0||this._bookNum>ue.lastBook?2:(ue.isCanonical(this._bookNum),0)}setEmpty(t=ie.defaultVersification){this._bookNum=0,this._chapterNum=-1,this._verse=void 0,this.versification=t}updateInternal(t,n,r){this.bookNum=ue.bookIdToNumber(t),this.chapter=n,this.verse=r}};ne(Ce,"defaultVersification",Rt.English),ne(Ce,"verseRangeSeparator","-"),ne(Ce,"verseSequenceIndicator",","),ne(Ce,"verseRangeSeparators",[Ce.verseRangeSeparator]),ne(Ce,"verseSequenceIndicators",[Ce.verseSequenceIndicator]),ne(Ce,"chapterDigitShifter",1e3),ne(Ce,"bookDigitShifter",Ce.chapterDigitShifter*Ce.chapterDigitShifter),ne(Ce,"bcvMaxValue",Ce.chapterDigitShifter-1),ne(Ce,"ValidStatusType",$i);class Wt extends Error{}function de(...e){return ms.twMerge(Ee.clsx(e))}const ji=fe.Root,Ii=fe.Trigger,$s=fe.Group,js=fe.Portal,Is=fe.Sub,_s=fe.RadioGroup,_i=_.forwardRef(({className:e,inset:t,children:n,...r},o)=>v.jsxs(fe.SubTrigger,{ref:o,className:de("pr-flex pr-cursor-default pr-select-none pr-items-center pr-rounded-sm pr-px-2 pr-py-1.5 pr-text-sm pr-outline-none focus:pr-bg-accent data-[state=open]:pr-bg-accent",t&&"pr-pl-8",e),...r,children:[n,v.jsx(gt.ChevronRight,{className:"pr-ml-auto pr-h-4 pr-w-4"})]}));_i.displayName=fe.SubTrigger.displayName;const Ai=_.forwardRef(({className:e,...t},n)=>v.jsx(fe.SubContent,{ref:n,className:de("pr-z-50 pr-min-w-[8rem] pr-overflow-hidden pr-rounded-md pr-border pr-bg-popover pr-p-1 pr-text-popover-foreground pr-shadow-lg data-[state=open]:pr-animate-in data-[state=closed]:pr-animate-out data-[state=closed]:pr-fade-out-0 data-[state=open]:pr-fade-in-0 data-[state=closed]:pr-zoom-out-95 data-[state=open]:pr-zoom-in-95 data-[side=bottom]:pr-slide-in-from-top-2 data-[side=left]:pr-slide-in-from-right-2 data-[side=right]:pr-slide-in-from-left-2 data-[side=top]:pr-slide-in-from-bottom-2",e),...t}));Ai.displayName=fe.SubContent.displayName;const Lr=_.forwardRef(({className:e,sideOffset:t=4,...n},r)=>v.jsx(fe.Portal,{children:v.jsx(fe.Content,{ref:r,sideOffset:t,className:de("pr-z-50 pr-min-w-[8rem] pr-overflow-hidden pr-rounded-md pr-border pr-bg-popover pr-p-1 pr-font-sans pr-text-popover-foreground pr-shadow-md data-[state=open]:pr-animate-in data-[state=closed]:pr-animate-out data-[state=closed]:pr-fade-out-0 data-[state=open]:pr-fade-in-0 data-[state=closed]:pr-zoom-out-95 data-[state=open]:pr-zoom-in-95 data-[side=bottom]:pr-slide-in-from-top-2 data-[side=left]:pr-slide-in-from-right-2 data-[side=right]:pr-slide-in-from-left-2 data-[side=top]:pr-slide-in-from-bottom-2",e),...n})}));Lr.displayName=fe.Content.displayName;const Fr=_.forwardRef(({className:e,inset:t,...n},r)=>v.jsx(fe.Item,{ref:r,className:de("pr-cursor-default pr-select-none pr-items-center pr-rounded-sm pr-px-2 pr-py-1.5 pr-text-sm pr-outline-none pr-transition-colors focus:pr-bg-accent data-[disabled]:pr-pointer-events-none data-[disabled]:pr-opacity-50",t&&"pr-pl-8",e),...n}));Fr.displayName=fe.Item.displayName;const Di=_.forwardRef(({className:e,children:t,checked:n,...r},o)=>v.jsxs(fe.CheckboxItem,{ref:o,className:de("pr-relative pr-flex pr-cursor-default pr-select-none pr-items-center pr-rounded-sm pr-py-1.5 pr-pl-8 pr-pr-2 pr-text-sm pr-outline-none pr-transition-colors focus:pr-bg-accent focus:pr-text-accent-foreground data-[disabled]:pr-pointer-events-none data-[disabled]:pr-opacity-50",e),checked:n,...r,children:[v.jsx("span",{className:"pr-absolute pr-left-2 pr-flex pr-h-3.5 pr-w-3.5 pr-items-center pr-justify-center",children:v.jsx(fe.ItemIndicator,{children:v.jsx(gt.Check,{className:"pr-h-4 pr-w-4"})})}),t]}));Di.displayName=fe.CheckboxItem.displayName;const Bi=_.forwardRef(({className:e,children:t,...n},r)=>v.jsxs(fe.RadioItem,{ref:r,className:de("pr-relative pr-flex pr-cursor-default pr-select-none pr-items-center pr-rounded-sm pr-py-1.5 pr-pl-8 pr-pr-2 pr-text-sm pr-outline-none pr-transition-colors focus:pr-bg-accent focus:pr-text-accent-foreground data-[disabled]:pr-pointer-events-none data-[disabled]:pr-opacity-50",e),...n,children:[v.jsx("span",{className:"pr-absolute pr-left-2 pr-flex pr-h-3.5 pr-w-3.5 pr-items-center pr-justify-center",children:v.jsx(fe.ItemIndicator,{children:v.jsx(gt.Circle,{className:"pr-h-2 pr-w-2 pr-fill-current"})})}),t]}));Bi.displayName=fe.RadioItem.displayName;const qn=_.forwardRef(({className:e,inset:t,...n},r)=>v.jsx(fe.Label,{ref:r,className:de("pr-px-2 pr-py-1.5 pr-text-sm pr-font-semibold",t&&"pr-pl-8",e),...n}));qn.displayName=fe.Label.displayName;const Vr=_.forwardRef(({className:e,...t},n)=>v.jsx(fe.Separator,{ref:n,className:de("pr--mx-1 pr-my-1 pr-h-px pr-bg-muted",e),...t}));Vr.displayName=fe.Separator.displayName;function Li({className:e,...t}){return v.jsx("span",{className:de("pr-ml-auto pr-text-xs pr-tracking-widest pr-opacity-60",e),...t})}Li.displayName="DropdownMenuShortcut";const Hn=_.forwardRef(({className:e,type:t,...n},r)=>v.jsx("input",{type:t,className:de("pr-flex pr-h-10 pr-rounded-md pr-bg-background pr-px-3 pr-py-2 pr-text-sm pr-ring-offset-background file:pr-border-0 file:pr-bg-transparent file:pr-text-sm file:pr-font-medium placeholder:pr-text-muted-foreground disabled:pr-cursor-not-allowed disabled:pr-opacity-50",e),ref:r,...n}));Hn.displayName="Input";const As=_.forwardRef(({handleSearch:e,handleKeyDown:t,handleOnClick:n,handleSubmit:r,...o},i)=>v.jsxs("div",{className:"pr-relative",children:[v.jsx(Hn,{...o,type:"text",className:"pr-box-border pr-gap-2.5 pr-rounded-lg pr-border pr-border-solid pr-border-black pr-bg-white pr-py-2 pr-pl-4 pr-pr-3 pr-font-medium pr-text-slate-900 pr-shadow-none pr-outline-none",onChange:s=>e(s.target.value),onKeyDown:s=>{s.key==="Enter"&&r(),t(s)},onClick:n,ref:i}),v.jsx(gt.History,{className:"pr-absolute pr-right-3 pr-top-1/2 pr-h-4 pr-w-4 pr--translate-y-1/2 pr-transform pr-cursor-pointer pr-text-gray-500",onClick:()=>{console.log("back in history")}})]}));function Ds({handleSelectChapter:e,endChapter:t,activeChapter:n,highlightedChapter:r,handleHighlightedChapter:o}){const i=Array.from({length:t},(l,c)=>c+1),s=_.useCallback(l=>{o(l)},[o]);return v.jsx("div",{className:de("pr-flex pr-flex-wrap pr-items-start pr-justify-start pr-self-stretch"),children:i.map(l=>v.jsx("div",{className:de("pr-flex pr-h-4 pr-w-4 pr-cursor-pointer pr-items-center pr-justify-end pr-rounded-md pr-p-2 pr-text-amber-800",{"pr-font-semibold pr-text-amber-900":l===n,"pr-bg-amber-200":l===r}),onClick:c=>{c.preventDefault(),c.stopPropagation(),e(l)},role:"button",onKeyDown:c=>{c.key==="Enter"&&e(l)},tabIndex:0,onMouseMove:()=>s(l),children:l},l))})}const Bs=_.forwardRef(({bookId:e,handleSelectBook:t,isSelected:n,handleHighlightBook:r,handleKeyDown:o,bookType:i,children:s},l)=>v.jsxs(Fr,{ref:l,textValue:e,className:de("pr-font-normal pr-text-slate-700",{"pr-bg-amber-50 pr-text-yellow-900 data-[highlighted]:pr-bg-amber-100":n}),onSelect:c=>{c.preventDefault(),t()},onKeyDown:c=>{o(c)},onFocus:r,onMouseMove:r,children:[v.jsx("span",{className:de("pr-border-b-0 pr-border-l-2 pr-border-r-0 pr-border-t-0 pr-border-solid pr-px-2",{"pr-font-bold":n,"pr-border-l-red-200":i.toLowerCase()==="ot","pr-border-l-purple-200":i.toLowerCase()==="nt","pr-border-l-indigo-200":i.toLowerCase()==="dc"}),children:ue.bookIdToEnglishName(e)}),n&&v.jsx("div",{children:s})]},e));function Ls({handleSort:e,handleLocationHistory:t,handleBookmarks:n}){return v.jsxs(qn,{className:"pr-flex pr-justify-between",children:[v.jsx("p",{className:"pr-inline-block pr-align-middle",children:"Go To"}),v.jsxs("div",{className:"pr-flex pr-items-center",children:[v.jsx(gt.ArrowDownWideNarrow,{onClick:e,className:"pr-h-4 pr-w-4 pr-cursor-pointer pr-gap-2 pr-p-2"}),v.jsx(gt.Clock,{onClick:t,className:"pr-h-4 pr-w-4 pr-cursor-pointer pr-gap-2 pr-p-2"}),v.jsx(gt.Bookmark,{onClick:n,className:"pr-h-4 pr-w-4 pr-cursor-pointer pr-gap-2 pr-p-2"})]})]})}const nn=ue.allBookIds,Fs={OT:"Old Testament",NT:"New Testament",DC:"Deuterocanon"},Po=["OT","NT","DC"],Vs=32+32+32,zs=[/^(\w+)$/i,/^(\w+)(?:\s(\d+))$/i,/^(\w+)(?:\s(\d+):(\d+))$/i],Us=e=>({OT:nn.filter(n=>ue.isBookOT(n)),NT:nn.filter(n=>ue.isBookNT(n)),DC:nn.filter(n=>ue.isBookDC(n))})[e],Gt=e=>Ue.getChaptersForBook(ue.bookIdToNumber(e));function qs(){return nn.map(t=>ue.bookIdToEnglishName(t))}function Hs(e){return qs().includes(e)}function Ws(e){const t=e.toLowerCase().replace(/^\w/,n=>n.toUpperCase());if(Hs(t))return nn.find(r=>ue.bookIdToEnglishName(r)===t)}function Gs({scrRef:e,handleSubmit:t}){const[n,r]=_.useState(""),[o,i]=_.useState(ue.bookNumberToId(e.bookNum)),[s,l]=_.useState(e.chapterNum??0),[c,u]=_.useState(ue.bookNumberToId(e.bookNum)),[p,f]=_.useState(!1),[d,g]=_.useState(p),y=_.useRef(void 0),b=_.useRef(void 0),h=_.useRef(void 0),E=_.useCallback(C=>Us(C).filter(M=>{const R=ue.bookIdToEnglishName(M).toLowerCase(),B=n.replace(/[^a-zA-Z]/g,"").toLowerCase();return R.includes(B)||M.toLowerCase().includes(B)}),[n]),j=C=>{r(C)},w=_.useRef(!1),x=_.useCallback(C=>{if(w.current){w.current=!1;return}f(C)},[]),m=_.useCallback((C,M,R,B)=>{if(l(ue.bookNumberToId(e.bookNum)!==C?1:e.chapterNum),M||Gt(C)===-1){t({bookNum:ue.bookIdToNumber(C),chapterNum:R||1,verseNum:B||1}),f(!1),r("");return}i(o!==C?C:""),f(!M)},[t,e.bookNum,e.chapterNum,o]),S=C=>{C<=0||C>Gt(o)||m(o,!0,C)},N=_.useCallback(()=>{zs.forEach(C=>{const M=n.match(C);if(M){const[R,B=void 0,D=void 0]=M.slice(1),$=Ws(R);(ue.isBookIdValid(R)||$)&&m($??R,!0,B?parseInt(B,10):1,D?parseInt(D,10):1)}})},[m,n]),F=_.useCallback(C=>{p?(C.key==="ArrowDown"||C.key==="ArrowUp")&&(typeof h<"u"&&h.current!==null?h.current.focus():typeof b<"u"&&b.current!==null&&b.current.focus(),C.preventDefault()):f(!0)},[p]),L=C=>{const{key:M}=C;M==="ArrowRight"||M==="ArrowLeft"||M==="ArrowDown"||M==="ArrowUp"||M==="Enter"||(y.current.dispatchEvent(new KeyboardEvent("keydown",{key:M})),y.current.focus())},V=C=>{const{key:M}=C;if(c===o){if(M==="Enter"){C.preventDefault(),m(o,!0,s);return}let R=0;if(M==="ArrowRight")if(s1)R=-1;else{C.preventDefault();return}else M==="ArrowDown"?R=6:M==="ArrowUp"&&(R=-6);s+R<=0||s+R>Gt(c)?l(0):R!==0&&(l(s+R),C.preventDefault())}};return _.useEffect(()=>{o===c?o===ue.bookNumberToId(e.bookNum)?l(e.chapterNum):l(1):l(0)},[c,e.bookNum,e.chapterNum,o]),_.useLayoutEffect(()=>{g(p)},[p]),_.useLayoutEffect(()=>{const C=setTimeout(()=>{if(d&&b.current&&h.current){const R=h.current.offsetTop-Vs;b.current.scrollTo({top:R,behavior:"instant"})}},10);return()=>{clearTimeout(C)}},[d]),v.jsx("div",{className:"pr-flex",children:v.jsxs(ji,{modal:!1,open:p,onOpenChange:x,children:[v.jsx(Ii,{asChild:!0,children:v.jsx(As,{ref:y,value:n,handleSearch:j,handleKeyDown:F,handleOnClick:()=>{i(ue.bookNumberToId(e.bookNum)),u(ue.bookNumberToId(e.bookNum)),l(e.chapterNum>0?e.chapterNum:0),f(!0),y.current.focus()},onFocus:()=>{w.current=!0},handleSubmit:N,placeholder:`${ue.bookNumberToEnglishName(e.bookNum)} ${e.chapterNum}:${e.verseNum}`})}),v.jsxs(Lr,{className:"pr-overflow-y-auto pr-font-normal pr-text-slate-700",style:{width:"233px",maxHeight:"500px"},onKeyDown:L,align:"start",ref:b,children:[v.jsx(Ls,{handleSort:()=>console.log("sorting"),handleLocationHistory:()=>console.log("location history"),handleBookmarks:()=>console.log("bookmarks")}),Po.map((C,M)=>E(C).length>0&&v.jsxs("div",{children:[v.jsx(qn,{className:"pr-font-semibold pr-text-slate-700",children:Fs[C]}),E(C).map(R=>v.jsx("div",{children:v.jsx(Bs,{bookId:R,handleSelectBook:()=>m(R,!1),isSelected:o===R,handleHighlightBook:()=>u(R),handleKeyDown:V,bookType:C,ref:B=>{o===R&&(h.current=B)},children:v.jsx(Ds,{handleSelectChapter:S,endChapter:Gt(R),activeChapter:e.bookNum===ue.bookIdToNumber(R)?e.chapterNum:0,highlightedChapter:s,handleHighlightedChapter:B=>{l(B)}})})},R)),Po.length-1!==M?v.jsx(Vr,{}):void 0]},C))]})]})})}const Fi=Oi.cva("pr-inline-flex pr-items-center pr-justify-center pr-whitespace-nowrap pr-rounded-md pr-text-sm pr-font-medium pr-ring-offset-background pr-transition-colors focus-visible:pr-outline-none focus-visible:pr-ring-2 focus-visible:pr-ring-ring focus-visible:pr-ring-offset-2 disabled:pr-pointer-events-none disabled:pr-opacity-50",{variants:{variant:{default:"pr-bg-primary pr-text-primary-foreground hover:pr-bg-primary/90",destructive:"pr-bg-destructive pr-text-destructive-foreground hover:pr-bg-destructive/90",outline:"pr-border pr-border-input pr-bg-background hover:pr-bg-accent hover:pr-text-accent-foreground",secondary:"pr-bg-secondary pr-text-secondary-foreground hover:pr-bg-secondary/80",ghost:"hover:pr-bg-accent hover:pr-text-accent-foreground",link:"pr-text-primary pr-underline-offset-4 hover:pr-underline"},size:{default:"pr-h-10 pr-px-4 pr-py-2",sm:"pr-h-9 pr-rounded-md pr-px-3",lg:"pr-h-11 pr-rounded-md pr-px-8",icon:"pr-h-10 pr-w-10"}},defaultVariants:{variant:"default",size:"default"}}),it=_.forwardRef(({className:e,variant:t,size:n,asChild:r=!1,...o},i)=>{const s=r?gs.Slot:"button";return v.jsx(s,{className:de(Fi({variant:t,size:n,className:e})),ref:i,...o})});it.displayName="Button";function In({id:e,title:t,isDisabled:n=!1,isClearable:r=!0,hasError:o=!1,isFullWidth:i=!1,width:s,options:l=[],className:c,value:u,onChange:p,onFocus:f,onBlur:d,getOptionLabel:g}){return v.jsx(be.Autocomplete,{id:e,disablePortal:!0,disabled:n,disableClearable:!r,fullWidth:i,options:l,className:`papi-combo-box ${o?"error":""} ${c??""}`,value:u,onChange:p,onFocus:f,onBlur:d,getOptionLabel:g,renderInput:y=>v.jsx(be.TextField,{...y,error:o,fullWidth:i,disabled:n,label:t,style:{width:s}})})}function Xs({handleSelectStartChapter:e,handleSelectEndChapter:t,isDisabled:n=!1,chapterCount:r}){const[o,i]=_.useState(1),[s,l]=_.useState(r),[c,u]=_.useState(Array.from({length:r},(d,g)=>g+1));_.useEffect(()=>{i(1),e(1),l(r),t(r),u(Array.from({length:r},(d,g)=>g+1))},[r,t,e]);const p=(d,g)=>{i(g),e(g),g>s&&(l(g),t(g))},f=(d,g)=>{l(g),t(g),gp(d,g),className:"book-selection-chapter",isClearable:!1,options:c,getOptionLabel:d=>d.toString(),value:o,isDisabled:n},"start chapter"),label:"Chapters",labelPlacement:"start"}),v.jsx(be.FormControlLabel,{className:"book-selection-chapter-form-label end",disabled:n,control:v.jsx(In,{onChange:(d,g)=>f(d,g),className:"book-selection-chapter",isClearable:!1,options:c,getOptionLabel:d=>d.toString(),value:s,isDisabled:n},"end chapter"),label:"to",labelPlacement:"start"})]})}var ht=(e=>(e.After="after",e.Before="before",e.Above="above",e.Below="below",e))(ht||{});function zr({id:e,isChecked:t,labelText:n="",labelPosition:r=ht.After,isIndeterminate:o=!1,isDefaultChecked:i,isDisabled:s=!1,hasError:l=!1,className:c,onChange:u}){const p=v.jsx(be.Checkbox,{id:e,checked:t,indeterminate:o,defaultChecked:i,disabled:s,className:`papi-checkbox ${l?"error":""} ${c??""}`,onChange:u});let f;if(n){const d=r===ht.Before||r===ht.Above,g=v.jsx("span",{className:`papi-checkbox-label ${l?"error":""} ${c??""}`,children:n}),y=r===ht.Before||r===ht.After,b=y?g:v.jsx("div",{children:g}),h=y?p:v.jsx("div",{children:p});f=v.jsxs(be.FormLabel,{className:`papi-checkbox ${r.toString()}`,disabled:s,error:l,children:[d&&b,h,!d&&b]})}else f=p;return f}function Ys({id:e,className:t,legend:n,listItems:r,selectedListItems:o,handleSelectListItem:i,createLabel:s}){return v.jsxs("fieldset",{id:e,className:t,children:[n&&v.jsx("legend",{children:n}),r.map(l=>v.jsx(zr,{className:"check-item",isChecked:o.includes(l),labelText:s?s(l):l,onChange:()=>i(l)},l))]})}function pe(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,i;for(i=0;i=0)&&(n[o]=e[o]);return n}function T(){return T=Object.assign?Object.assign.bind():function(e){for(var t=1;te[n]})}}return t.default=e,Object.freeze(t)}const k=Tt(P),fe=Tt(Ss),Is=Tt(Qt),Ni=Tt(Rs),Re=Tt(Ms),en=Tt($s),Cr=Tt(js);var _s=Object.defineProperty,As=(e,t,n)=>t in e?_s(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,re=(e,t,n)=>As(e,typeof t!="symbol"?t+"":t,n);const yt=["GEN","EXO","LEV","NUM","DEU","JOS","JDG","RUT","1SA","2SA","1KI","2KI","1CH","2CH","EZR","NEH","EST","JOB","PSA","PRO","ECC","SNG","ISA","JER","LAM","EZK","DAN","HOS","JOL","AMO","OBA","JON","MIC","NAM","HAB","ZEP","HAG","ZEC","MAL","MAT","MRK","LUK","JHN","ACT","ROM","1CO","2CO","GAL","EPH","PHP","COL","1TH","2TH","1TI","2TI","TIT","PHM","HEB","JAS","1PE","2PE","1JN","2JN","3JN","JUD","REV","TOB","JDT","ESG","WIS","SIR","BAR","LJE","S3Y","SUS","BEL","1MA","2MA","3MA","4MA","1ES","2ES","MAN","PS2","ODA","PSS","JSA","JDB","TBS","SST","DNT","BLT","XXA","XXB","XXC","XXD","XXE","XXF","XXG","FRT","BAK","OTH","3ES","EZA","5EZ","6EZ","INT","CNC","GLO","TDX","NDX","DAG","PS3","2BA","LBA","JUB","ENO","1MQ","2MQ","3MQ","REP","4BA","LAO"],Lr=["XXA","XXB","XXC","XXD","XXE","XXF","XXG","FRT","BAK","OTH","INT","CNC","GLO","TDX","NDX"],Pi=["Genesis","Exodus","Leviticus","Numbers","Deuteronomy","Joshua","Judges","Ruth","1 Samuel","2 Samuel","1 Kings","2 Kings","1 Chronicles","2 Chronicles","Ezra","Nehemiah","Esther (Hebrew)","Job","Psalms","Proverbs","Ecclesiastes","Song of Songs","Isaiah","Jeremiah","Lamentations","Ezekiel","Daniel (Hebrew)","Hosea","Joel","Amos","Obadiah","Jonah","Micah","Nahum","Habakkuk","Zephaniah","Haggai","Zechariah","Malachi","Matthew","Mark","Luke","John","Acts","Romans","1 Corinthians","2 Corinthians","Galatians","Ephesians","Philippians","Colossians","1 Thessalonians","2 Thessalonians","1 Timothy","2 Timothy","Titus","Philemon","Hebrews","James","1 Peter","2 Peter","1 John","2 John","3 John","Jude","Revelation","Tobit","Judith","Esther Greek","Wisdom of Solomon","Sirach (Ecclesiasticus)","Baruch","Letter of Jeremiah","Song of 3 Young Men","Susanna","Bel and the Dragon","1 Maccabees","2 Maccabees","3 Maccabees","4 Maccabees","1 Esdras (Greek)","2 Esdras (Latin)","Prayer of Manasseh","Psalm 151","Odes","Psalms of Solomon","Joshua A. *obsolete*","Judges B. *obsolete*","Tobit S. *obsolete*","Susanna Th. *obsolete*","Daniel Th. *obsolete*","Bel Th. *obsolete*","Extra A","Extra B","Extra C","Extra D","Extra E","Extra F","Extra G","Front Matter","Back Matter","Other Matter","3 Ezra *obsolete*","Apocalypse of Ezra","5 Ezra (Latin Prologue)","6 Ezra (Latin Epilogue)","Introduction","Concordance ","Glossary ","Topical Index","Names Index","Daniel Greek","Psalms 152-155","2 Baruch (Apocalypse)","Letter of Baruch","Jubilees","Enoch","1 Meqabyan","2 Meqabyan","3 Meqabyan","Reproof (Proverbs 25-31)","4 Baruch (Rest of Baruch)","Laodiceans"],Ro=Ws();function Ft(e,t=!0){return t&&(e=e.toUpperCase()),e in Ro?Ro[e]:0}function Fr(e){return Ft(e)>0}function Ds(e){const t=typeof e=="string"?Ft(e):e;return t>=40&&t<=66}function Bs(e){return(typeof e=="string"?Ft(e):e)<=39}function Ri(e){return e<=66}function Ls(e){const t=typeof e=="string"?Ft(e):e;return ji(t)&&!Ri(t)}function*Fs(){for(let e=1;e<=yt.length;e++)yield e}const Vs=1,Mi=yt.length;function zs(){return["XXA","XXB","XXC","XXD","XXE","XXF","XXG"]}function Vr(e,t="***"){const n=e-1;return n<0||n>=yt.length?t:yt[n]}function $i(e){return e<=0||e>Mi?"******":Pi[e-1]}function Us(e){return $i(Ft(e))}function ji(e){const t=typeof e=="number"?Vr(e):e;return Fr(t)&&!Lr.includes(t)}function qs(e){const t=typeof e=="number"?Vr(e):e;return Fr(t)&&Lr.includes(t)}function Hs(e){return Pi[e-1].includes("*obsolete*")}function Ws(){const e={};for(let t=0;t(e[e.Unknown=0]="Unknown",e[e.Original=1]="Original",e[e.Septuagint=2]="Septuagint",e[e.Vulgate=3]="Vulgate",e[e.English=4]="English",e[e.RussianProtestant=5]="RussianProtestant",e[e.RussianOrthodox=6]="RussianOrthodox",e))(qe||{});const je=class{constructor(t){if(re(this,"name"),re(this,"fullPath"),re(this,"isPresent"),re(this,"hasVerseSegments"),re(this,"isCustomized"),re(this,"baseVersification"),re(this,"scriptureBooks"),re(this,"_type"),t==null)throw new Error("Argument undefined");typeof t=="string"?(this.name=t,this._type=qe[t]):(this._type=t,this.name=qe[t])}get type(){return this._type}equals(t){return!t.type||!this.type?!1:t.type===this.type}};re(je,"Original",new je(qe.Original)),re(je,"Septuagint",new je(qe.Septuagint)),re(je,"Vulgate",new je(qe.Vulgate)),re(je,"English",new je(qe.English)),re(je,"RussianProtestant",new je(qe.RussianProtestant)),re(je,"RussianOrthodox",new je(qe.RussianOrthodox));let dt=je;function Mo(e,t){const n=t[0];for(let r=1;r(e[e.Valid=0]="Valid",e[e.UnknownVersification=1]="UnknownVersification",e[e.OutOfRange=2]="OutOfRange",e[e.VerseOutOfOrder=3]="VerseOutOfOrder",e[e.VerseRepeated=4]="VerseRepeated",e))(Ii||{});const Se=class ae{constructor(t,n,r,o){if(re(this,"firstChapter"),re(this,"lastChapter"),re(this,"lastVerse"),re(this,"hasSegmentsDefined"),re(this,"text"),re(this,"BBBCCCVVVS"),re(this,"longHashCode"),re(this,"versification"),re(this,"rtlMark","‏"),re(this,"_bookNum",0),re(this,"_chapterNum",0),re(this,"_verseNum",0),re(this,"_verse"),r==null&&o==null)if(t!=null&&typeof t=="string"){const i=t,s=n!=null&&n instanceof dt?n:void 0;this.setEmpty(s),this.parse(i)}else if(t!=null&&typeof t=="number"){const i=n!=null&&n instanceof dt?n:void 0;this.setEmpty(i),this._verseNum=t%ae.chapterDigitShifter,this._chapterNum=Math.floor(t%ae.bookDigitShifter/ae.chapterDigitShifter),this._bookNum=Math.floor(t/ae.bookDigitShifter)}else if(n==null)if(t!=null&&t instanceof ae){const i=t;this._bookNum=i.bookNum,this._chapterNum=i.chapterNum,this._verseNum=i.verseNum,this._verse=i.verse,this.versification=i.versification}else{if(t==null)return;const i=t instanceof dt?t:ae.defaultVersification;this.setEmpty(i)}else throw new Error("VerseRef constructor not supported.");else if(t!=null&&n!=null&&r!=null)if(typeof t=="string"&&typeof n=="string"&&typeof r=="string")this.setEmpty(o),this.updateInternal(t,n,r);else if(typeof t=="number"&&typeof n=="number"&&typeof r=="number")this._bookNum=t,this._chapterNum=n,this._verseNum=r,this.versification=o??ae.defaultVersification;else throw new Error("VerseRef constructor not supported.");else throw new Error("VerseRef constructor not supported.")}static isVerseParseable(t){return t.length>0&&"0123456789".includes(t[0])&&!t.endsWith(this.verseRangeSeparator)&&!t.endsWith(this.verseSequenceIndicator)}static tryParse(t){let n;try{return n=new ae(t),{success:!0,verseRef:n}}catch(r){if(r instanceof Xt)return n=new ae,{success:!1,verseRef:n};throw r}}static getBBBCCCVVV(t,n,r){return t%ae.bcvMaxValue*ae.bookDigitShifter+(n>=0?n%ae.bcvMaxValue*ae.chapterDigitShifter:0)+(r>=0?r%ae.bcvMaxValue:0)}static fromJSON(t){const{book:n,chapterNum:r,verseNum:o,verse:i,versificationStr:s}=t,l=i||o.toString();let c;return s&&(c=new dt(s)),n?new ae(n,r.toString(),l,c):new ae}static tryGetVerseNum(t){let n;if(!t)return n=-1,{success:!0,vNum:n};n=0;let r;for(let o=0;o"9")return o===0&&(n=-1),{success:!1,vNum:n};if(n=n*10+ +r-0,n>ae.bcvMaxValue)return n=-1,{success:!1,vNum:n}}return{success:!0,vNum:n}}get isDefault(){return this.bookNum===0&&this.chapterNum===0&&this.verseNum===0&&this.versification==null}get hasMultiple(){return this._verse!=null&&(this._verse.includes(ae.verseRangeSeparator)||this._verse.includes(ae.verseSequenceIndicator))}get book(){return ue.bookNumberToId(this.bookNum,"")}set book(t){this.bookNum=ue.bookIdToNumber(t)}get chapter(){return this.isDefault||this._chapterNum<0?"":this._chapterNum.toString()}set chapter(t){const n=+t;this._chapterNum=Number.isInteger(n)?n:-1}get verse(){return this._verse!=null?this._verse:this.isDefault||this._verseNum<0?"":this._verseNum.toString()}set verse(t){const{success:n,vNum:r}=ae.tryGetVerseNum(t);this._verse=n?void 0:t.replace(this.rtlMark,""),this._verseNum=r,!(this._verseNum>=0)&&({vNum:this._verseNum}=ae.tryGetVerseNum(this._verse))}get bookNum(){return this._bookNum}set bookNum(t){if(t<=0||t>ue.lastBook)throw new Xt("BookNum must be greater than zero and less than or equal to last book");this._bookNum=t}get chapterNum(){return this._chapterNum}set chapterNum(t){this.chapterNum=t}get verseNum(){return this._verseNum}set verseNum(t){this._verseNum=t}get versificationStr(){var t;return(t=this.versification)==null?void 0:t.name}set versificationStr(t){this.versification=this.versification!=null?new dt(t):void 0}get valid(){return this.validStatus===0}get validStatus(){return this.validateVerse(ae.verseRangeSeparators,ae.verseSequenceIndicators)}get BBBCCC(){return ae.getBBBCCCVVV(this._bookNum,this._chapterNum,0)}get BBBCCCVVV(){return ae.getBBBCCCVVV(this._bookNum,this._chapterNum,this._verseNum)}get isExcluded(){return!1}parse(t){if(t=t.replace(this.rtlMark,""),t.includes("/")){const i=t.split("/");if(t=i[0],i.length>1)try{const s=+i[1].trim();this.versification=new dt(qe[s])}catch{throw new Xt("Invalid reference : "+t)}}const n=t.trim().split(" ");if(n.length!==2)throw new Xt("Invalid reference : "+t);const r=n[1].split(":"),o=+r[0];if(r.length!==2||ue.bookIdToNumber(n[0])===0||!Number.isInteger(o)||o<0||!ae.isVerseParseable(r[1]))throw new Xt("Invalid reference : "+t);this.updateInternal(n[0],r[0],r[1])}simplify(){this._verse=void 0}clone(){return new ae(this)}toString(){const t=this.book;return t===""?"":`${t} ${this.chapter}:${this.verse}`}toJSON(){let t=this.verse;return(t===""||t===this.verseNum.toString())&&(t=void 0),{book:this.book,chapterNum:this.chapterNum,verseNum:this.verseNum,verse:t,versificationStr:this.versificationStr}}equals(t){return t instanceof ae?t._bookNum===this._bookNum&&t._chapterNum===this._chapterNum&&t._verseNum===this._verseNum&&t.verse===this.verse&&(t.versification==null&&this.versification==null||t.versification!=null&&this.versification!=null&&t.versification.equals(this.versification)):!1}allVerses(t=!1,n=ae.verseRangeSeparators,r=ae.verseSequenceIndicators){if(this._verse==null||this.chapterNum<=0)return[this.clone()];const o=[],i=Mo(this._verse,r);for(const s of i.map(l=>Mo(l,n))){const l=this.clone();l.verse=s[0];const c=l.verseNum;if(o.push(l),s.length>1){const p=this.clone();if(p.verse=s[1],!t)for(let u=c+1;us)return 3;if(r===s)return 4;r=s}return 0}get internalValid(){return this.versification==null?1:this._bookNum<=0||this._bookNum>ue.lastBook?2:(ue.isCanonical(this._bookNum),0)}setEmpty(t=ae.defaultVersification){this._bookNum=0,this._chapterNum=-1,this._verse=void 0,this.versification=t}updateInternal(t,n,r){this.bookNum=ue.bookIdToNumber(t),this.chapter=n,this.verse=r}};re(Se,"defaultVersification",dt.English),re(Se,"verseRangeSeparator","-"),re(Se,"verseSequenceIndicator",","),re(Se,"verseRangeSeparators",[Se.verseRangeSeparator]),re(Se,"verseSequenceIndicators",[Se.verseSequenceIndicator]),re(Se,"chapterDigitShifter",1e3),re(Se,"bookDigitShifter",Se.chapterDigitShifter*Se.chapterDigitShifter),re(Se,"bcvMaxValue",Se.chapterDigitShifter-1),re(Se,"ValidStatusType",Ii);class Xt extends Error{}function ne(...e){return Ns.twMerge(Ee.clsx(e))}const _i=fe.Root,Ai=fe.Trigger,Xs=fe.Group,Ys=fe.Portal,Gs=fe.Sub,Ks=fe.RadioGroup,Di=P.forwardRef(({className:e,inset:t,children:n,...r},o)=>v.jsxs(fe.SubTrigger,{ref:o,className:ne("pr-flex pr-cursor-default pr-select-none pr-items-center pr-rounded-sm pr-px-2 pr-py-1.5 pr-text-sm pr-outline-none focus:pr-bg-accent data-[state=open]:pr-bg-accent",t&&"pr-pl-8",e),...r,children:[n,v.jsx(bt.ChevronRight,{className:"pr-ml-auto pr-h-4 pr-w-4"})]}));Di.displayName=fe.SubTrigger.displayName;const Bi=P.forwardRef(({className:e,...t},n)=>v.jsx(fe.SubContent,{ref:n,className:ne("pr-z-50 pr-min-w-[8rem] pr-overflow-hidden pr-rounded-md pr-border pr-bg-popover pr-p-1 pr-text-popover-foreground pr-shadow-lg data-[state=open]:pr-animate-in data-[state=closed]:pr-animate-out data-[state=closed]:pr-fade-out-0 data-[state=open]:pr-fade-in-0 data-[state=closed]:pr-zoom-out-95 data-[state=open]:pr-zoom-in-95 data-[side=bottom]:pr-slide-in-from-top-2 data-[side=left]:pr-slide-in-from-right-2 data-[side=right]:pr-slide-in-from-left-2 data-[side=top]:pr-slide-in-from-bottom-2",e),...t}));Bi.displayName=fe.SubContent.displayName;const zr=P.forwardRef(({className:e,sideOffset:t=4,...n},r)=>v.jsx(fe.Portal,{children:v.jsx(fe.Content,{ref:r,sideOffset:t,className:ne("pr-z-50 pr-min-w-[8rem] pr-overflow-hidden pr-rounded-md pr-border pr-bg-popover pr-p-1 pr-font-sans pr-text-popover-foreground pr-shadow-md data-[state=open]:pr-animate-in data-[state=closed]:pr-animate-out data-[state=closed]:pr-fade-out-0 data-[state=open]:pr-fade-in-0 data-[state=closed]:pr-zoom-out-95 data-[state=open]:pr-zoom-in-95 data-[side=bottom]:pr-slide-in-from-top-2 data-[side=left]:pr-slide-in-from-right-2 data-[side=right]:pr-slide-in-from-left-2 data-[side=top]:pr-slide-in-from-bottom-2",e),...n})}));zr.displayName=fe.Content.displayName;const Ur=P.forwardRef(({className:e,inset:t,...n},r)=>v.jsx(fe.Item,{ref:r,className:ne("pr-cursor-default pr-select-none pr-items-center pr-rounded-sm pr-px-2 pr-py-1.5 pr-text-sm pr-outline-none pr-transition-colors focus:pr-bg-accent data-[disabled]:pr-pointer-events-none data-[disabled]:pr-opacity-50",t&&"pr-pl-8",e),...n}));Ur.displayName=fe.Item.displayName;const Li=P.forwardRef(({className:e,children:t,checked:n,...r},o)=>v.jsxs(fe.CheckboxItem,{ref:o,className:ne("pr-relative pr-flex pr-cursor-default pr-select-none pr-items-center pr-rounded-sm pr-py-1.5 pr-pl-8 pr-pr-2 pr-text-sm pr-outline-none pr-transition-colors focus:pr-bg-accent focus:pr-text-accent-foreground data-[disabled]:pr-pointer-events-none data-[disabled]:pr-opacity-50",e),checked:n,...r,children:[v.jsx("span",{className:"pr-absolute pr-left-2 pr-flex pr-h-3.5 pr-w-3.5 pr-items-center pr-justify-center",children:v.jsx(fe.ItemIndicator,{children:v.jsx(bt.Check,{className:"pr-h-4 pr-w-4"})})}),t]}));Li.displayName=fe.CheckboxItem.displayName;const Fi=P.forwardRef(({className:e,children:t,...n},r)=>v.jsxs(fe.RadioItem,{ref:r,className:ne("pr-relative pr-flex pr-cursor-default pr-select-none pr-items-center pr-rounded-sm pr-py-1.5 pr-pl-8 pr-pr-2 pr-text-sm pr-outline-none pr-transition-colors focus:pr-bg-accent focus:pr-text-accent-foreground data-[disabled]:pr-pointer-events-none data-[disabled]:pr-opacity-50",e),...n,children:[v.jsx("span",{className:"pr-absolute pr-left-2 pr-flex pr-h-3.5 pr-w-3.5 pr-items-center pr-justify-center",children:v.jsx(fe.ItemIndicator,{children:v.jsx(bt.Circle,{className:"pr-h-2 pr-w-2 pr-fill-current"})})}),t]}));Fi.displayName=fe.RadioItem.displayName;const Hn=P.forwardRef(({className:e,inset:t,...n},r)=>v.jsx(fe.Label,{ref:r,className:ne("pr-px-2 pr-py-1.5 pr-text-sm pr-font-semibold",t&&"pr-pl-8",e),...n}));Hn.displayName=fe.Label.displayName;const qr=P.forwardRef(({className:e,...t},n)=>v.jsx(fe.Separator,{ref:n,className:ne("pr--mx-1 pr-my-1 pr-h-px pr-bg-muted",e),...t}));qr.displayName=fe.Separator.displayName;function Vi({className:e,...t}){return v.jsx("span",{className:ne("pr-ml-auto pr-text-xs pr-tracking-widest pr-opacity-60",e),...t})}Vi.displayName="DropdownMenuShortcut";const Wn=P.forwardRef(({className:e,type:t,...n},r)=>v.jsx("input",{type:t,className:ne("pr-flex pr-h-10 pr-rounded-md pr-bg-background pr-px-3 pr-py-2 pr-text-sm pr-ring-offset-background file:pr-border-0 file:pr-bg-transparent file:pr-text-sm file:pr-font-medium placeholder:pr-text-muted-foreground disabled:pr-cursor-not-allowed disabled:pr-opacity-50",e),ref:r,...n}));Wn.displayName="Input";const Js=P.forwardRef(({handleSearch:e,handleKeyDown:t,handleOnClick:n,handleSubmit:r,...o},i)=>v.jsxs("div",{className:"pr-relative",children:[v.jsx(Wn,{...o,type:"text",className:"pr-box-border pr-gap-2.5 pr-rounded-lg pr-border pr-border-solid pr-border-black pr-bg-white pr-py-2 pr-pl-4 pr-pr-3 pr-font-medium pr-text-slate-900 pr-shadow-none pr-outline-none",onChange:s=>e(s.target.value),onKeyDown:s=>{s.key==="Enter"&&r(),t(s)},onClick:n,ref:i}),v.jsx(bt.History,{className:"pr-absolute pr-right-3 pr-top-1/2 pr-h-4 pr-w-4 pr--translate-y-1/2 pr-transform pr-cursor-pointer pr-text-gray-500",onClick:()=>{console.log("back in history")}})]}));function Zs({handleSelectChapter:e,endChapter:t,activeChapter:n,highlightedChapter:r,handleHighlightedChapter:o}){const i=Array.from({length:t},(l,c)=>c+1),s=P.useCallback(l=>{o(l)},[o]);return v.jsx("div",{className:ne("pr-flex pr-flex-wrap pr-items-start pr-justify-start pr-self-stretch"),children:i.map(l=>v.jsx("div",{className:ne("pr-flex pr-h-4 pr-w-4 pr-cursor-pointer pr-items-center pr-justify-end pr-rounded-md pr-p-2 pr-text-amber-800",{"pr-font-semibold pr-text-amber-900":l===n,"pr-bg-amber-200":l===r}),onClick:c=>{c.preventDefault(),c.stopPropagation(),e(l)},role:"button",onKeyDown:c=>{c.key==="Enter"&&e(l)},tabIndex:0,onMouseMove:()=>s(l),children:l},l))})}const Qs=P.forwardRef(({bookId:e,handleSelectBook:t,isSelected:n,handleHighlightBook:r,handleKeyDown:o,bookType:i,children:s},l)=>v.jsxs(Ur,{ref:l,textValue:e,className:ne("pr-font-normal pr-text-slate-700",{"pr-bg-amber-50 pr-text-yellow-900 data-[highlighted]:pr-bg-amber-100":n}),onSelect:c=>{c.preventDefault(),t()},onKeyDown:c=>{o(c)},onFocus:r,onMouseMove:r,children:[v.jsx("span",{className:ne("pr-border-b-0 pr-border-l-2 pr-border-r-0 pr-border-t-0 pr-border-solid pr-px-2",{"pr-font-bold":n,"pr-border-l-red-200":i.toLowerCase()==="ot","pr-border-l-purple-200":i.toLowerCase()==="nt","pr-border-l-indigo-200":i.toLowerCase()==="dc"}),children:ue.bookIdToEnglishName(e)}),n&&v.jsx("div",{children:s})]},e));function el({handleSort:e,handleLocationHistory:t,handleBookmarks:n}){return v.jsxs(Hn,{className:"pr-flex pr-justify-between",children:[v.jsx("p",{className:"pr-inline-block pr-align-middle",children:"Go To"}),v.jsxs("div",{className:"pr-flex pr-items-center",children:[v.jsx(bt.ArrowDownWideNarrow,{onClick:e,className:"pr-h-4 pr-w-4 pr-cursor-pointer pr-gap-2 pr-p-2"}),v.jsx(bt.Clock,{onClick:t,className:"pr-h-4 pr-w-4 pr-cursor-pointer pr-gap-2 pr-p-2"}),v.jsx(bt.Bookmark,{onClick:n,className:"pr-h-4 pr-w-4 pr-cursor-pointer pr-gap-2 pr-p-2"})]})]})}const on=ue.allBookIds,tl={OT:"Old Testament",NT:"New Testament",DC:"Deuterocanon"},$o=["OT","NT","DC"],nl=32+32+32,rl=[/^(\w+)$/i,/^(\w+)(?:\s(\d+))$/i,/^(\w+)(?:\s(\d+):(\d+))$/i],ol=e=>({OT:on.filter(n=>ue.isBookOT(n)),NT:on.filter(n=>ue.isBookNT(n)),DC:on.filter(n=>ue.isBookDC(n))})[e],Yt=e=>Ue.getChaptersForBook(ue.bookIdToNumber(e));function il(){return on.map(t=>ue.bookIdToEnglishName(t))}function al(e){return il().includes(e)}function sl(e){const t=e.toLowerCase().replace(/^\w/,n=>n.toUpperCase());if(al(t))return on.find(r=>ue.bookIdToEnglishName(r)===t)}function ll({scrRef:e,handleSubmit:t}){const[n,r]=P.useState(""),[o,i]=P.useState(ue.bookNumberToId(e.bookNum)),[s,l]=P.useState(e.chapterNum??0),[c,p]=P.useState(ue.bookNumberToId(e.bookNum)),[u,f]=P.useState(!1),[d,g]=P.useState(u),y=P.useRef(void 0),b=P.useRef(void 0),h=P.useRef(void 0),E=P.useCallback(S=>ol(S).filter($=>{const M=ue.bookIdToEnglishName($).toLowerCase(),B=n.replace(/[^a-zA-Z]/g,"").toLowerCase();return M.includes(B)||$.toLowerCase().includes(B)}),[n]),I=S=>{r(S)},w=P.useRef(!1),x=P.useCallback(S=>{if(w.current){w.current=!1;return}f(S)},[]),m=P.useCallback((S,$,M,B)=>{if(l(ue.bookNumberToId(e.bookNum)!==S?1:e.chapterNum),$||Yt(S)===-1){t({bookNum:ue.bookIdToNumber(S),chapterNum:M||1,verseNum:B||1}),f(!1),r("");return}i(o!==S?S:""),f(!$)},[t,e.bookNum,e.chapterNum,o]),C=S=>{S<=0||S>Yt(o)||m(o,!0,S)},N=P.useCallback(()=>{rl.forEach(S=>{const $=n.match(S);if($){const[M,B=void 0,D=void 0]=$.slice(1),j=sl(M);(ue.isBookIdValid(M)||j)&&m(j??M,!0,B?parseInt(B,10):1,D?parseInt(D,10):1)}})},[m,n]),F=P.useCallback(S=>{u?(S.key==="ArrowDown"||S.key==="ArrowUp")&&(typeof h<"u"&&h.current!==null?h.current.focus():typeof b<"u"&&b.current!==null&&b.current.focus(),S.preventDefault()):f(!0)},[u]),L=S=>{const{key:$}=S;$==="ArrowRight"||$==="ArrowLeft"||$==="ArrowDown"||$==="ArrowUp"||$==="Enter"||(y.current.dispatchEvent(new KeyboardEvent("keydown",{key:$})),y.current.focus())},V=S=>{const{key:$}=S;if(c===o){if($==="Enter"){S.preventDefault(),m(o,!0,s);return}let M=0;if($==="ArrowRight")if(s1)M=-1;else{S.preventDefault();return}else $==="ArrowDown"?M=6:$==="ArrowUp"&&(M=-6);s+M<=0||s+M>Yt(c)?l(0):M!==0&&(l(s+M),S.preventDefault())}};return P.useEffect(()=>{o===c?o===ue.bookNumberToId(e.bookNum)?l(e.chapterNum):l(1):l(0)},[c,e.bookNum,e.chapterNum,o]),P.useLayoutEffect(()=>{g(u)},[u]),P.useLayoutEffect(()=>{const S=setTimeout(()=>{if(d&&b.current&&h.current){const M=h.current.offsetTop-nl;b.current.scrollTo({top:M,behavior:"instant"})}},10);return()=>{clearTimeout(S)}},[d]),v.jsx("div",{className:"pr-flex",children:v.jsxs(_i,{modal:!1,open:u,onOpenChange:x,children:[v.jsx(Ai,{asChild:!0,children:v.jsx(Js,{ref:y,value:n,handleSearch:I,handleKeyDown:F,handleOnClick:()=>{i(ue.bookNumberToId(e.bookNum)),p(ue.bookNumberToId(e.bookNum)),l(e.chapterNum>0?e.chapterNum:0),f(!0),y.current.focus()},onFocus:()=>{w.current=!0},handleSubmit:N,placeholder:`${ue.bookNumberToEnglishName(e.bookNum)} ${e.chapterNum}:${e.verseNum}`})}),v.jsxs(zr,{className:"pr-overflow-y-auto pr-font-normal pr-text-slate-700",style:{width:"233px",maxHeight:"500px"},onKeyDown:L,align:"start",ref:b,children:[v.jsx(el,{handleSort:()=>console.log("sorting"),handleLocationHistory:()=>console.log("location history"),handleBookmarks:()=>console.log("bookmarks")}),$o.map((S,$)=>E(S).length>0&&v.jsxs("div",{children:[v.jsx(Hn,{className:"pr-font-semibold pr-text-slate-700",children:tl[S]}),E(S).map(M=>v.jsx("div",{children:v.jsx(Qs,{bookId:M,handleSelectBook:()=>m(M,!1),isSelected:o===M,handleHighlightBook:()=>p(M),handleKeyDown:V,bookType:S,ref:B=>{o===M&&(h.current=B)},children:v.jsx(Zs,{handleSelectChapter:C,endChapter:Yt(M),activeChapter:e.bookNum===ue.bookIdToNumber(M)?e.chapterNum:0,highlightedChapter:s,handleHighlightedChapter:B=>{l(B)}})})},M)),$o.length-1!==$?v.jsx(qr,{}):void 0]},S))]})]})})}const zi=Br.cva("pr-inline-flex pr-items-center pr-justify-center pr-whitespace-nowrap pr-rounded-md pr-text-sm pr-font-medium pr-ring-offset-background pr-transition-colors focus-visible:pr-outline-none focus-visible:pr-ring-2 focus-visible:pr-ring-ring focus-visible:pr-ring-offset-2 disabled:pr-pointer-events-none disabled:pr-opacity-50",{variants:{variant:{default:"pr-bg-primary pr-text-primary-foreground hover:pr-bg-primary/90",destructive:"pr-bg-destructive pr-text-destructive-foreground hover:pr-bg-destructive/90",outline:"pr-border pr-border-input pr-bg-background hover:pr-bg-accent hover:pr-text-accent-foreground",secondary:"pr-bg-secondary pr-text-secondary-foreground hover:pr-bg-secondary/80",ghost:"hover:pr-bg-accent hover:pr-text-accent-foreground",link:"pr-text-primary pr-underline-offset-4 hover:pr-underline"},size:{default:"pr-h-10 pr-px-4 pr-py-2",sm:"pr-h-9 pr-rounded-md pr-px-3",lg:"pr-h-11 pr-rounded-md pr-px-8",icon:"pr-h-10 pr-w-10"}},defaultVariants:{variant:"default",size:"default"}}),it=P.forwardRef(({className:e,variant:t,size:n,asChild:r=!1,...o},i)=>{const s=r?Ps.Slot:"button";return v.jsx(s,{className:ne(zi({variant:t,size:n,className:e})),ref:i,...o})});it.displayName="Button";function _n({id:e,title:t,isDisabled:n=!1,isClearable:r=!0,hasError:o=!1,isFullWidth:i=!1,width:s,options:l=[],className:c,value:p,onChange:u,onFocus:f,onBlur:d,getOptionLabel:g}){return v.jsx(be.Autocomplete,{id:e,disablePortal:!0,disabled:n,disableClearable:!r,fullWidth:i,options:l,className:`papi-combo-box ${o?"error":""} ${c??""}`,value:p,onChange:u,onFocus:f,onBlur:d,getOptionLabel:g,renderInput:y=>v.jsx(be.TextField,{...y,error:o,fullWidth:i,disabled:n,label:t,style:{width:s}})})}function cl({handleSelectStartChapter:e,handleSelectEndChapter:t,isDisabled:n=!1,chapterCount:r}){const[o,i]=P.useState(1),[s,l]=P.useState(r),[c,p]=P.useState(Array.from({length:r},(d,g)=>g+1));P.useEffect(()=>{i(1),e(1),l(r),t(r),p(Array.from({length:r},(d,g)=>g+1))},[r,t,e]);const u=(d,g)=>{i(g),e(g),g>s&&(l(g),t(g))},f=(d,g)=>{l(g),t(g),gu(d,g),className:"book-selection-chapter",isClearable:!1,options:c,getOptionLabel:d=>d.toString(),value:o,isDisabled:n},"start chapter"),label:"Chapters",labelPlacement:"start"}),v.jsx(be.FormControlLabel,{className:"book-selection-chapter-form-label end",disabled:n,control:v.jsx(_n,{onChange:(d,g)=>f(d,g),className:"book-selection-chapter",isClearable:!1,options:c,getOptionLabel:d=>d.toString(),value:s,isDisabled:n},"end chapter"),label:"to",labelPlacement:"start"})]})}var mt=(e=>(e.After="after",e.Before="before",e.Above="above",e.Below="below",e))(mt||{});function Hr({id:e,isChecked:t,labelText:n="",labelPosition:r=mt.After,isIndeterminate:o=!1,isDefaultChecked:i,isDisabled:s=!1,hasError:l=!1,className:c,onChange:p}){const u=v.jsx(be.Checkbox,{id:e,checked:t,indeterminate:o,defaultChecked:i,disabled:s,className:`papi-checkbox ${l?"error":""} ${c??""}`,onChange:p});let f;if(n){const d=r===mt.Before||r===mt.Above,g=v.jsx("span",{className:`papi-checkbox-label ${l?"error":""} ${c??""}`,children:n}),y=r===mt.Before||r===mt.After,b=y?g:v.jsx("div",{children:g}),h=y?u:v.jsx("div",{children:u});f=v.jsxs(be.FormLabel,{className:`papi-checkbox ${r.toString()}`,disabled:s,error:l,children:[d&&b,h,!d&&b]})}else f=u;return f}function pl({id:e,className:t,legend:n,listItems:r,selectedListItems:o,handleSelectListItem:i,createLabel:s}){return v.jsxs("fieldset",{id:e,className:t,children:[n&&v.jsx("legend",{children:n}),r.map(l=>v.jsx(Hr,{className:"check-item",isChecked:o.includes(l),labelText:s?s(l):l,onChange:()=>i(l)},l))]})}function de(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,i;for(i=0;i=0)&&(n[o]=e[o]);return n}function T(){return T=Object.assign?Object.assign.bind():function(e){for(var t=1;t1?i("Invalid arguments supplied to oneOf, expected an array, got "+arguments.length+" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])."):i("Invalid argument supplied to oneOf, expected an array.")),s;function A(q,Y,U,H,G){for(var X=q[Y],W=0;W0?", expected one of type ["+K.join(", ")+"]":"";return new b("Invalid "+X+" `"+W+"` supplied to "+("`"+G+"`"+Z+"."))}return h(Y)}function V(){function O(A,q,Y,U,H){return B(A[q])?null:new b("Invalid "+U+" `"+H+"` supplied to "+("`"+Y+"`, expected a ReactNode."))}return h(O)}function C(O,A,q,Y,U){return new b((O||"React class")+": "+A+" type `"+q+"."+Y+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+U+"`.")}function M(O){function A(q,Y,U,H,G){var X=q[Y],W=$(X);if(W!=="object")return new b("Invalid "+H+" `"+G+"` of type `"+W+"` "+("supplied to `"+U+"`, expected `object`."));for(var K in O){var J=O[K];if(typeof J!="function")return C(U,H,G,K,z(J));var re=J(X,K,U,H,G+"."+K,n);if(re)return re}return null}return h(A)}function R(O){function A(q,Y,U,H,G){var X=q[Y],W=$(X);if(W!=="object")return new b("Invalid "+H+" `"+G+"` of type `"+W+"` "+("supplied to `"+U+"`, expected `object`."));var K=t({},q[Y],O);for(var J in K){var re=O[J];if(r(O,J)&&typeof re!="function")return C(U,H,G,J,z(re));if(!re)return new b("Invalid "+H+" `"+G+"` key `"+J+"` supplied to `"+U+"`.\nBad object: "+JSON.stringify(q[Y],null," ")+` -Valid keys: `+JSON.stringify(Object.keys(O),null," "));var I=re(X,J,U,H,G+"."+J,n);if(I)return I}return null}return h(A)}function B(O){switch(typeof O){case"number":case"string":case"undefined":return!0;case"boolean":return!O;case"object":if(Array.isArray(O))return O.every(B);if(O===null||l(O))return!0;var A=f(O);if(A){var q=A.call(O),Y;if(A!==O.entries){for(;!(Y=q.next()).done;)if(!B(Y.value))return!1}else for(;!(Y=q.next()).done;){var U=Y.value;if(U&&!B(U[1]))return!1}}else return!1;return!0;default:return!1}}function D(O,A){return O==="symbol"?!0:A?A["@@toStringTag"]==="Symbol"||typeof Symbol=="function"&&A instanceof Symbol:!1}function $(O){var A=typeof O;return Array.isArray(O)?"array":O instanceof RegExp?"object":D(A,O)?"symbol":A}function z(O){if(typeof O>"u"||O===null)return""+O;var A=$(O);if(A==="object"){if(O instanceof Date)return"date";if(O instanceof RegExp)return"regexp"}return A}function ee(O){var A=z(O);switch(A){case"array":case"object":return"an "+A;case"boolean":case"date":case"regexp":return"a "+A;default:return A}}function Q(O){return!O.constructor||!O.constructor.name?d:O.constructor.name}return g.checkPropTypes=o,g.resetWarningCache=o.resetWarningCache,g.PropTypes=g,g},fr}var hr,Bo;function rl(){if(Bo)return hr;Bo=1;var e=Ur();function t(){}function n(){}return n.resetWarningCache=t,hr=function(){function r(s,l,c,u,p,f){if(f!==e){var d=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw d.name="Invariant Violation",d}}r.isRequired=r;function o(){return r}var i={array:r,bigint:r,bool:r,func:r,number:r,object:r,string:r,symbol:r,any:r,arrayOf:o,element:r,elementType:r,instanceOf:o,node:r,objectOf:o,oneOf:o,oneOfType:o,shape:o,exact:o,checkPropTypes:n,resetWarningCache:t};return i.PropTypes=i,i},hr}if(process.env.NODE_ENV!=="production"){var ol=Vi(),il=!0;Or.exports=nl()(ol.isElement,il)}else Or.exports=rl()();var al=Or.exports;const a=Ks(al);function Ft(e,t){return process.env.NODE_ENV==="production"?()=>null:function(...r){return e(...r)||t(...r)}}function mt(e){if(typeof e!="object"||e===null)return!1;const t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function Ui(e){if(!mt(e))return e;const t={};return Object.keys(e).forEach(n=>{t[n]=Ui(e[n])}),t}function Je(e,t,n={clone:!0}){const r=n.clone?T({},e):e;return mt(e)&&mt(t)&&Object.keys(t).forEach(o=>{o!=="__proto__"&&(mt(t[o])&&o in e&&mt(e[o])?r[o]=Je(e[o],t[o],n):n.clone?r[o]=mt(t[o])?Ui(t[o]):t[o]:r[o]=t[o])}),r}function sl(e){const{prototype:t={}}=e;return!!t.isReactComponent}function qi(e,t,n,r,o){const i=e[t],s=o||t;if(i==null||typeof window>"u")return null;let l;const c=i.type;return typeof c=="function"&&!sl(c)&&(l="Did you accidentally use a plain function component for an element instead?"),l!==void 0?new Error(`Invalid ${r} \`${s}\` supplied to \`${n}\`. Expected an element that can hold a ref. ${l} For more information see https://mui.com/r/caveat-with-refs-guide`):null}const Hi=Ft(a.element,qi);Hi.isRequired=Ft(a.element.isRequired,qi);const mn=Hi;function ll(e){const{prototype:t={}}=e;return!!t.isReactComponent}function cl(e,t,n,r,o){const i=e[t],s=o||t;if(i==null||typeof window>"u")return null;let l;return typeof i=="function"&&!ll(i)&&(l="Did you accidentally provide a plain function component instead?"),l!==void 0?new Error(`Invalid ${r} \`${s}\` supplied to \`${n}\`. Expected an element type that can hold a ref. ${l} For more information see https://mui.com/r/caveat-with-refs-guide`):null}const ul=Ft(a.elementType,cl),pl="exact-prop: ​";function Wi(e){return process.env.NODE_ENV==="production"?e:T({},e,{[pl]:t=>{const n=Object.keys(t).filter(r=>!e.hasOwnProperty(r));return n.length>0?new Error(`The following props are not supported: ${n.map(r=>`\`${r}\``).join(", ")}. Please remove them.`):null}})}function jt(e){let t="https://mui.com/production-error/?code="+e;for(let n=1;n1?i("Invalid arguments supplied to oneOf, expected an array, got "+arguments.length+" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])."):i("Invalid argument supplied to oneOf, expected an array.")),s;function A(q,G,U,H,X){for(var Y=q[G],W=0;W0?", expected one of type ["+K.join(", ")+"]":"";return new b("Invalid "+Y+" `"+W+"` supplied to "+("`"+X+"`"+Z+"."))}return h(G)}function V(){function O(A,q,G,U,H){return B(A[q])?null:new b("Invalid "+U+" `"+H+"` supplied to "+("`"+G+"`, expected a ReactNode."))}return h(O)}function S(O,A,q,G,U){return new b((O||"React class")+": "+A+" type `"+q+"."+G+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+U+"`.")}function $(O){function A(q,G,U,H,X){var Y=q[G],W=j(Y);if(W!=="object")return new b("Invalid "+H+" `"+X+"` of type `"+W+"` "+("supplied to `"+U+"`, expected `object`."));for(var K in O){var J=O[K];if(typeof J!="function")return S(U,H,X,K,z(J));var oe=J(Y,K,U,H,X+"."+K,n);if(oe)return oe}return null}return h(A)}function M(O){function A(q,G,U,H,X){var Y=q[G],W=j(Y);if(W!=="object")return new b("Invalid "+H+" `"+X+"` of type `"+W+"` "+("supplied to `"+U+"`, expected `object`."));var K=t({},q[G],O);for(var J in K){var oe=O[J];if(r(O,J)&&typeof oe!="function")return S(U,H,X,J,z(oe));if(!oe)return new b("Invalid "+H+" `"+X+"` key `"+J+"` supplied to `"+U+"`.\nBad object: "+JSON.stringify(q[G],null," ")+` +Valid keys: `+JSON.stringify(Object.keys(O),null," "));var _=oe(Y,J,U,H,X+"."+J,n);if(_)return _}return null}return h(A)}function B(O){switch(typeof O){case"number":case"string":case"undefined":return!0;case"boolean":return!O;case"object":if(Array.isArray(O))return O.every(B);if(O===null||l(O))return!0;var A=f(O);if(A){var q=A.call(O),G;if(A!==O.entries){for(;!(G=q.next()).done;)if(!B(G.value))return!1}else for(;!(G=q.next()).done;){var U=G.value;if(U&&!B(U[1]))return!1}}else return!1;return!0;default:return!1}}function D(O,A){return O==="symbol"?!0:A?A["@@toStringTag"]==="Symbol"||typeof Symbol=="function"&&A instanceof Symbol:!1}function j(O){var A=typeof O;return Array.isArray(O)?"array":O instanceof RegExp?"object":D(A,O)?"symbol":A}function z(O){if(typeof O>"u"||O===null)return""+O;var A=j(O);if(A==="object"){if(O instanceof Date)return"date";if(O instanceof RegExp)return"regexp"}return A}function ee(O){var A=z(O);switch(A){case"array":case"object":return"an "+A;case"boolean":case"date":case"regexp":return"a "+A;default:return A}}function Q(O){return!O.constructor||!O.constructor.name?d:O.constructor.name}return g.checkPropTypes=o,g.resetWarningCache=o.resetWarningCache,g.PropTypes=g,g},hr}var mr,Vo;function vl(){if(Vo)return mr;Vo=1;var e=Wr();function t(){}function n(){}return n.resetWarningCache=t,mr=function(){function r(s,l,c,p,u,f){if(f!==e){var d=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw d.name="Invariant Violation",d}}r.isRequired=r;function o(){return r}var i={array:r,bigint:r,bool:r,func:r,number:r,object:r,string:r,symbol:r,any:r,arrayOf:o,element:r,elementType:r,instanceOf:o,node:r,objectOf:o,oneOf:o,oneOfType:o,shape:o,exact:o,checkPropTypes:n,resetWarningCache:t};return i.PropTypes=i,i},mr}if(process.env.NODE_ENV!=="production"){var yl=Ui(),wl=!0;Sr.exports=bl()(yl.isElement,wl)}else Sr.exports=vl()();var xl=Sr.exports;const a=ul(xl);function Vt(e,t){return process.env.NODE_ENV==="production"?()=>null:function(...r){return e(...r)||t(...r)}}function gt(e){if(typeof e!="object"||e===null)return!1;const t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function Hi(e){if(!gt(e))return e;const t={};return Object.keys(e).forEach(n=>{t[n]=Hi(e[n])}),t}function Ze(e,t,n={clone:!0}){const r=n.clone?T({},e):e;return gt(e)&>(t)&&Object.keys(t).forEach(o=>{o!=="__proto__"&&(gt(t[o])&&o in e&>(e[o])?r[o]=Ze(e[o],t[o],n):n.clone?r[o]=gt(t[o])?Hi(t[o]):t[o]:r[o]=t[o])}),r}function El(e){const{prototype:t={}}=e;return!!t.isReactComponent}function Wi(e,t,n,r,o){const i=e[t],s=o||t;if(i==null||typeof window>"u")return null;let l;const c=i.type;return typeof c=="function"&&!El(c)&&(l="Did you accidentally use a plain function component for an element instead?"),l!==void 0?new Error(`Invalid ${r} \`${s}\` supplied to \`${n}\`. Expected an element that can hold a ref. ${l} For more information see https://mui.com/r/caveat-with-refs-guide`):null}const Xi=Vt(a.element,Wi);Xi.isRequired=Vt(a.element.isRequired,Wi);const gn=Xi;function kl(e){const{prototype:t={}}=e;return!!t.isReactComponent}function Tl(e,t,n,r,o){const i=e[t],s=o||t;if(i==null||typeof window>"u")return null;let l;return typeof i=="function"&&!kl(i)&&(l="Did you accidentally provide a plain function component instead?"),l!==void 0?new Error(`Invalid ${r} \`${s}\` supplied to \`${n}\`. Expected an element type that can hold a ref. ${l} For more information see https://mui.com/r/caveat-with-refs-guide`):null}const Ol=Vt(a.elementType,Tl),Cl="exact-prop: ​";function Yi(e){return process.env.NODE_ENV==="production"?e:T({},e,{[Cl]:t=>{const n=Object.keys(t).filter(r=>!e.hasOwnProperty(r));return n.length>0?new Error(`The following props are not supported: ${n.map(r=>`\`${r}\``).join(", ")}. Please remove them.`):null}})}function It(e){let t="https://mui.com/production-error/?code="+e;for(let n=1;nn==null?t:function(...o){t.apply(this,o),n.apply(this,o)},()=>{})}function Xi(e,t=166){let n;function r(...o){const i=()=>{e.apply(this,o)};clearTimeout(n),n=setTimeout(i,t)}return r.clear=()=>{clearTimeout(n)},r}function vl(e,t){return process.env.NODE_ENV==="production"?()=>null:(n,r,o,i,s)=>{const l=o||"<>",c=s||r;return typeof n[r]<"u"?new Error(`The ${i} \`${c}\` of \`${l}\` is deprecated. ${t}`):null}}function yl(e,t){var n,r;return k.isValidElement(e)&&t.indexOf((n=e.type.muiName)!=null?n:(r=e.type)==null||(r=r._payload)==null||(r=r.value)==null?void 0:r.muiName)!==-1}function ke(e){return e&&e.ownerDocument||document}function It(e){return ke(e).defaultView||window}function wl(e,t){if(process.env.NODE_ENV==="production")return()=>null;const n=t?T({},t.propTypes):null;return o=>(i,s,l,c,u,...p)=>{const f=u||s,d=n==null?void 0:n[f];if(d){const g=d(i,s,l,c,u,...p);if(g)return g}return typeof i[s]<"u"&&!i[o]?new Error(`The prop \`${f}\` of \`${e}\` can only be used together with the \`${o}\` prop.`):null}}function An(e,t){typeof e=="function"?e(t):e&&(e.current=t)}const xl=typeof window<"u"?k.useLayoutEffect:k.useEffect,yt=xl;let zo=0;function El(e){const[t,n]=k.useState(e),r=e||t;return k.useEffect(()=>{t==null&&(zo+=1,n(`mui-${zo}`))},[t]),r}const Uo=k["useId".toString()];function Yi(e){if(Uo!==void 0){const t=Uo();return e??t}return El(e)}function kl(e,t,n,r,o){if(process.env.NODE_ENV==="production")return null;const i=o||t;return typeof e[t]<"u"?new Error(`The prop \`${i}\` is not supported. Please remove it.`):null}function Ki({controlled:e,default:t,name:n,state:r="value"}){const{current:o}=k.useRef(e!==void 0),[i,s]=k.useState(t),l=o?e:i;if(process.env.NODE_ENV!=="production"){k.useEffect(()=>{o!==(e!==void 0)&&console.error([`MUI: A component is changing the ${o?"":"un"}controlled ${r} state of ${n} to be ${o?"un":""}controlled.`,"Elements should not switch from uncontrolled to controlled (or vice versa).",`Decide between using a controlled or uncontrolled ${n} element for the lifetime of the component.`,"The nature of the state is determined during the first render. It's considered controlled if the value is not `undefined`.","More info: https://fb.me/react-controlled-components"].join(` -`))},[r,n,e]);const{current:u}=k.useRef(t);k.useEffect(()=>{!o&&u!==t&&console.error([`MUI: A component is changing the default ${r} state of an uncontrolled ${n} after being initialized. To suppress this warning opt to use a controlled ${n}.`].join(` -`))},[JSON.stringify(t)])}const c=k.useCallback(u=>{o||s(u)},[]);return[l,c]}function ln(e){const t=k.useRef(e);return yt(()=>{t.current=e}),k.useRef((...n)=>(0,t.current)(...n)).current}function Le(...e){return k.useMemo(()=>e.every(t=>t==null)?null:t=>{e.forEach(n=>{An(n,t)})},e)}const qo={};function Tl(e,t){const n=k.useRef(qo);return n.current===qo&&(n.current=e(t)),n}const Ol=[];function Sl(e){k.useEffect(e,Ol)}class gn{constructor(){this.currentId=null,this.clear=()=>{this.currentId!==null&&(clearTimeout(this.currentId),this.currentId=null)},this.disposeEffect=()=>this.clear}static create(){return new gn}start(t,n){this.clear(),this.currentId=setTimeout(()=>{this.currentId=null,n()},t)}}function Qt(){const e=Tl(gn.create).current;return Sl(e.disposeEffect),e}let Wn=!0,Nr=!1;const Cl=new gn,Nl={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function Pl(e){const{type:t,tagName:n}=e;return!!(n==="INPUT"&&Nl[t]&&!e.readOnly||n==="TEXTAREA"&&!e.readOnly||e.isContentEditable)}function Rl(e){e.metaKey||e.altKey||e.ctrlKey||(Wn=!0)}function mr(){Wn=!1}function Ml(){this.visibilityState==="hidden"&&Nr&&(Wn=!0)}function $l(e){e.addEventListener("keydown",Rl,!0),e.addEventListener("mousedown",mr,!0),e.addEventListener("pointerdown",mr,!0),e.addEventListener("touchstart",mr,!0),e.addEventListener("visibilitychange",Ml,!0)}function jl(e){const{target:t}=e;try{return t.matches(":focus-visible")}catch{}return Wn||Pl(t)}function Ji(){const e=k.useCallback(o=>{o!=null&&$l(o.ownerDocument)},[]),t=k.useRef(!1);function n(){return t.current?(Nr=!0,Cl.start(100,()=>{Nr=!1}),t.current=!1,!0):!1}function r(o){return jl(o)?(t.current=!0,!0):!1}return{isFocusVisibleRef:t,onFocus:r,onBlur:n,ref:e}}function Zi(e){const t=e.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}function Il(e){const t=typeof e;switch(t){case"number":return Number.isNaN(e)?"NaN":Number.isFinite(e)?e!==Math.floor(e)?"float":"number":"Infinity";case"object":return e===null?"null":e.constructor.name;default:return t}}function _l(e){return typeof e=="number"&&isFinite(e)&&Math.floor(e)===e}const Al=Number.isInteger||_l;function Qi(e,t,n,r){const o=e[t];if(o==null||!Al(o)){const i=Il(o);return new RangeError(`Invalid ${r} \`${t}\` of type \`${i}\` supplied to \`${n}\`, expected \`integer\`.`)}return null}function ea(e,t,...n){return e[t]===void 0?null:Qi(e,t,...n)}function Pr(){return null}ea.isRequired=Qi;Pr.isRequired=Pr;const ta=process.env.NODE_ENV==="production"?Pr:ea;function na(e,t){const n=T({},t);return Object.keys(e).forEach(r=>{if(r.toString().match(/^(components|slots)$/))n[r]=T({},e[r],n[r]);else if(r.toString().match(/^(componentsProps|slotProps)$/)){const o=e[r]||{},i=t[r];n[r]={},!i||!Object.keys(i)?n[r]=o:!o||!Object.keys(o)?n[r]=i:(n[r]=T({},i),Object.keys(o).forEach(s=>{n[r][s]=na(o[s],i[s])}))}else n[r]===void 0&&(n[r]=e[r])}),n}function tt(e,t,n=void 0){const r={};return Object.keys(e).forEach(o=>{r[o]=e[o].reduce((i,s)=>{if(s){const l=t(s);l!==""&&i.push(l),n&&n[s]&&i.push(n[s])}return i},[]).join(" ")}),r}const Ho=e=>e,Dl=()=>{let e=Ho;return{configure(t){e=t},generate(t){return e(t)},reset(){e=Ho}}},Bl=Dl(),ra=Bl,oa={active:"active",checked:"checked",completed:"completed",disabled:"disabled",error:"error",expanded:"expanded",focused:"focused",focusVisible:"focusVisible",open:"open",readOnly:"readOnly",required:"required",selected:"selected"};function Ge(e,t,n="Mui"){const r=oa[t];return r?`${n}-${r}`:`${ra.generate(e)}-${t}`}function st(e,t,n="Mui"){const r={};return t.forEach(o=>{r[o]=Ge(e,o,n)}),r}function Ll(e,t=Number.MIN_SAFE_INTEGER,n=Number.MAX_SAFE_INTEGER){return Math.max(t,Math.min(e,n))}function ia(e){return typeof e=="string"}function en(e,t,n){return e===void 0||ia(e)?t:T({},t,{ownerState:T({},t.ownerState,n)})}const Fl={disableDefaultClasses:!1},Vl=k.createContext(Fl);function zl(e){const{disableDefaultClasses:t}=k.useContext(Vl);return n=>t?"":e(n)}function aa(e,t=[]){if(e===void 0)return{};const n={};return Object.keys(e).filter(r=>r.match(/^on[A-Z]/)&&typeof e[r]=="function"&&!t.includes(r)).forEach(r=>{n[r]=e[r]}),n}function Ul(e,t,n){return typeof e=="function"?e(t,n):e}function Wo(e){if(e===void 0)return{};const t={};return Object.keys(e).filter(n=>!(n.match(/^on[A-Z]/)&&typeof e[n]=="function")).forEach(n=>{t[n]=e[n]}),t}function ql(e){const{getSlotProps:t,additionalProps:n,externalSlotProps:r,externalForwardedProps:o,className:i}=e;if(!t){const g=Ee(n==null?void 0:n.className,i,o==null?void 0:o.className,r==null?void 0:r.className),y=T({},n==null?void 0:n.style,o==null?void 0:o.style,r==null?void 0:r.style),b=T({},n,o,r);return g.length>0&&(b.className=g),Object.keys(y).length>0&&(b.style=y),{props:b,internalRef:void 0}}const s=aa(T({},o,r)),l=Wo(r),c=Wo(o),u=t(s),p=Ee(u==null?void 0:u.className,n==null?void 0:n.className,i,o==null?void 0:o.className,r==null?void 0:r.className),f=T({},u==null?void 0:u.style,n==null?void 0:n.style,o==null?void 0:o.style,r==null?void 0:r.style),d=T({},u,n,c,l);return p.length>0&&(d.className=p),Object.keys(f).length>0&&(d.style=f),{props:d,internalRef:u.ref}}const Hl=["elementType","externalSlotProps","ownerState","skipResolvingSlotProps"];function wt(e){var t;const{elementType:n,externalSlotProps:r,ownerState:o,skipResolvingSlotProps:i=!1}=e,s=pe(e,Hl),l=i?{}:Ul(r,o),{props:c,internalRef:u}=ql(T({},s,{externalSlotProps:l})),p=Le(u,l==null?void 0:l.ref,(t=e.additionalProps)==null?void 0:t.ref);return en(n,T({},c,{ref:p}),o)}const sa="base";function Wl(e){return`${sa}--${e}`}function Gl(e,t){return`${sa}-${e}-${t}`}function la(e,t){const n=oa[t];return n?Wl(n):Gl(e,t)}function Xl(e,t){const n={};return t.forEach(r=>{n[r]=la(e,r)}),n}const Yl=["input","select","textarea","a[href]","button","[tabindex]","audio[controls]","video[controls]",'[contenteditable]:not([contenteditable="false"])'].join(",");function Kl(e){const t=parseInt(e.getAttribute("tabindex")||"",10);return Number.isNaN(t)?e.contentEditable==="true"||(e.nodeName==="AUDIO"||e.nodeName==="VIDEO"||e.nodeName==="DETAILS")&&e.getAttribute("tabindex")===null?0:e.tabIndex:t}function Jl(e){if(e.tagName!=="INPUT"||e.type!=="radio"||!e.name)return!1;const t=r=>e.ownerDocument.querySelector(`input[type="radio"]${r}`);let n=t(`[name="${e.name}"]:checked`);return n||(n=t(`[name="${e.name}"]`)),n!==e}function Zl(e){return!(e.disabled||e.tagName==="INPUT"&&e.type==="hidden"||Jl(e))}function Ql(e){const t=[],n=[];return Array.from(e.querySelectorAll(Yl)).forEach((r,o)=>{const i=Kl(r);i===-1||!Zl(r)||(i===0?t.push(r):n.push({documentOrder:o,tabIndex:i,node:r}))}),n.sort((r,o)=>r.tabIndex===o.tabIndex?r.documentOrder-o.documentOrder:r.tabIndex-o.tabIndex).map(r=>r.node).concat(t)}function ec(){return!0}function Dn(e){const{children:t,disableAutoFocus:n=!1,disableEnforceFocus:r=!1,disableRestoreFocus:o=!1,getTabbable:i=Ql,isEnabled:s=ec,open:l}=e,c=k.useRef(!1),u=k.useRef(null),p=k.useRef(null),f=k.useRef(null),d=k.useRef(null),g=k.useRef(!1),y=k.useRef(null),b=Le(t.ref,y),h=k.useRef(null);k.useEffect(()=>{!l||!y.current||(g.current=!n)},[n,l]),k.useEffect(()=>{if(!l||!y.current)return;const w=ke(y.current);return y.current.contains(w.activeElement)||(y.current.hasAttribute("tabIndex")||(process.env.NODE_ENV!=="production"&&console.error(["MUI: The modal content node does not accept focus.",'For the benefit of assistive technologies, the tabIndex of the node is being set to "-1".'].join(` -`)),y.current.setAttribute("tabIndex","-1")),g.current&&y.current.focus()),()=>{o||(f.current&&f.current.focus&&(c.current=!0,f.current.focus()),f.current=null)}},[l]),k.useEffect(()=>{if(!l||!y.current)return;const w=ke(y.current),x=N=>{h.current=N,!(r||!s()||N.key!=="Tab")&&w.activeElement===y.current&&N.shiftKey&&(c.current=!0,p.current&&p.current.focus())},m=()=>{const N=y.current;if(N===null)return;if(!w.hasFocus()||!s()||c.current){c.current=!1;return}if(N.contains(w.activeElement)||r&&w.activeElement!==u.current&&w.activeElement!==p.current)return;if(w.activeElement!==d.current)d.current=null;else if(d.current!==null)return;if(!g.current)return;let F=[];if((w.activeElement===u.current||w.activeElement===p.current)&&(F=i(y.current)),F.length>0){var L,V;const C=!!((L=h.current)!=null&&L.shiftKey&&((V=h.current)==null?void 0:V.key)==="Tab"),M=F[0],R=F[F.length-1];typeof M!="string"&&typeof R!="string"&&(C?R.focus():M.focus())}else N.focus()};w.addEventListener("focusin",m),w.addEventListener("keydown",x,!0);const S=setInterval(()=>{w.activeElement&&w.activeElement.tagName==="BODY"&&m()},50);return()=>{clearInterval(S),w.removeEventListener("focusin",m),w.removeEventListener("keydown",x,!0)}},[n,r,o,s,l,i]);const E=w=>{f.current===null&&(f.current=w.relatedTarget),g.current=!0,d.current=w.target;const x=t.props.onFocus;x&&x(w)},j=w=>{f.current===null&&(f.current=w.relatedTarget),g.current=!0};return v.jsxs(k.Fragment,{children:[v.jsx("div",{tabIndex:l?0:-1,onFocus:j,ref:u,"data-testid":"sentinelStart"}),k.cloneElement(t,{ref:b,onFocus:E}),v.jsx("div",{tabIndex:l?0:-1,onFocus:j,ref:p,"data-testid":"sentinelEnd"})]})}process.env.NODE_ENV!=="production"&&(Dn.propTypes={children:mn,disableAutoFocus:a.bool,disableEnforceFocus:a.bool,disableRestoreFocus:a.bool,getTabbable:a.func,isEnabled:a.func,open:a.bool.isRequired});process.env.NODE_ENV!=="production"&&(Dn["propTypes"]=Wi(Dn.propTypes));function tc(e){return typeof e=="function"?e():e}const cn=k.forwardRef(function(t,n){const{children:r,container:o,disablePortal:i=!1}=t,[s,l]=k.useState(null),c=Le(k.isValidElement(r)?r.ref:null,n);if(yt(()=>{i||l(tc(o)||document.body)},[o,i]),yt(()=>{if(s&&!i)return An(n,s),()=>{An(n,null)}},[n,s,i]),i){if(k.isValidElement(r)){const u={ref:c};return k.cloneElement(r,u)}return v.jsx(k.Fragment,{children:r})}return v.jsx(k.Fragment,{children:s&&ys.createPortal(r,s)})});process.env.NODE_ENV!=="production"&&(cn.propTypes={children:a.node,container:a.oneOfType([Ze,a.func]),disablePortal:a.bool});process.env.NODE_ENV!=="production"&&(cn["propTypes"]=Wi(cn.propTypes));function nc(e){const t=ke(e);return t.body===e?It(e).innerWidth>t.documentElement.clientWidth:e.scrollHeight>e.clientHeight}function rn(e,t){t?e.setAttribute("aria-hidden","true"):e.removeAttribute("aria-hidden")}function Go(e){return parseInt(It(e).getComputedStyle(e).paddingRight,10)||0}function rc(e){const n=["TEMPLATE","SCRIPT","STYLE","LINK","MAP","META","NOSCRIPT","PICTURE","COL","COLGROUP","PARAM","SLOT","SOURCE","TRACK"].indexOf(e.tagName)!==-1,r=e.tagName==="INPUT"&&e.getAttribute("type")==="hidden";return n||r}function Xo(e,t,n,r,o){const i=[t,n,...r];[].forEach.call(e.children,s=>{const l=i.indexOf(s)===-1,c=!rc(s);l&&c&&rn(s,o)})}function gr(e,t){let n=-1;return e.some((r,o)=>t(r)?(n=o,!0):!1),n}function oc(e,t){const n=[],r=e.container;if(!t.disableScrollLock){if(nc(r)){const s=Zi(ke(r));n.push({value:r.style.paddingRight,property:"padding-right",el:r}),r.style.paddingRight=`${Go(r)+s}px`;const l=ke(r).querySelectorAll(".mui-fixed");[].forEach.call(l,c=>{n.push({value:c.style.paddingRight,property:"padding-right",el:c}),c.style.paddingRight=`${Go(c)+s}px`})}let i;if(r.parentNode instanceof DocumentFragment)i=ke(r).body;else{const s=r.parentElement,l=It(r);i=(s==null?void 0:s.nodeName)==="HTML"&&l.getComputedStyle(s).overflowY==="scroll"?s:r}n.push({value:i.style.overflow,property:"overflow",el:i},{value:i.style.overflowX,property:"overflow-x",el:i},{value:i.style.overflowY,property:"overflow-y",el:i}),i.style.overflow="hidden"}return()=>{n.forEach(({value:i,el:s,property:l})=>{i?s.style.setProperty(l,i):s.style.removeProperty(l)})}}function ic(e){const t=[];return[].forEach.call(e.children,n=>{n.getAttribute("aria-hidden")==="true"&&t.push(n)}),t}class ac{constructor(){this.containers=void 0,this.modals=void 0,this.modals=[],this.containers=[]}add(t,n){let r=this.modals.indexOf(t);if(r!==-1)return r;r=this.modals.length,this.modals.push(t),t.modalRef&&rn(t.modalRef,!1);const o=ic(n);Xo(n,t.mount,t.modalRef,o,!0);const i=gr(this.containers,s=>s.container===n);return i!==-1?(this.containers[i].modals.push(t),r):(this.containers.push({modals:[t],container:n,restore:null,hiddenSiblings:o}),r)}mount(t,n){const r=gr(this.containers,i=>i.modals.indexOf(t)!==-1),o=this.containers[r];o.restore||(o.restore=oc(o,n))}remove(t,n=!0){const r=this.modals.indexOf(t);if(r===-1)return r;const o=gr(this.containers,s=>s.modals.indexOf(t)!==-1),i=this.containers[o];if(i.modals.splice(i.modals.indexOf(t),1),this.modals.splice(r,1),i.modals.length===0)i.restore&&i.restore(),t.modalRef&&rn(t.modalRef,n),Xo(i.container,t.mount,t.modalRef,i.hiddenSiblings,!1),this.containers.splice(o,1);else{const s=i.modals[i.modals.length-1];s.modalRef&&rn(s.modalRef,!1)}return r}isTopModal(t){return this.modals.length>0&&this.modals[this.modals.length-1]===t}}function sc(e){return typeof e=="function"?e():e}function lc(e){return e?e.props.hasOwnProperty("in"):!1}const cc=new ac;function uc(e){const{container:t,disableEscapeKeyDown:n=!1,disableScrollLock:r=!1,manager:o=cc,closeAfterTransition:i=!1,onTransitionEnter:s,onTransitionExited:l,children:c,onClose:u,open:p,rootRef:f}=e,d=k.useRef({}),g=k.useRef(null),y=k.useRef(null),b=Le(y,f),[h,E]=k.useState(!p),j=lc(c);let w=!0;(e["aria-hidden"]==="false"||e["aria-hidden"]===!1)&&(w=!1);const x=()=>ke(g.current),m=()=>(d.current.modalRef=y.current,d.current.mount=g.current,d.current),S=()=>{o.mount(m(),{disableScrollLock:r}),y.current&&(y.current.scrollTop=0)},N=ln(()=>{const $=sc(t)||x().body;o.add(m(),$),y.current&&S()}),F=k.useCallback(()=>o.isTopModal(m()),[o]),L=ln($=>{g.current=$,$&&(p&&F()?S():y.current&&rn(y.current,w))}),V=k.useCallback(()=>{o.remove(m(),w)},[w,o]);k.useEffect(()=>()=>{V()},[V]),k.useEffect(()=>{p?N():(!j||!i)&&V()},[p,V,j,i,N]);const C=$=>z=>{var ee;(ee=$.onKeyDown)==null||ee.call($,z),!(z.key!=="Escape"||z.which===229||!F())&&(n||(z.stopPropagation(),u&&u(z,"escapeKeyDown")))},M=$=>z=>{var ee;(ee=$.onClick)==null||ee.call($,z),z.target===z.currentTarget&&u&&u(z,"backdropClick")};return{getRootProps:($={})=>{const z=aa(e);delete z.onTransitionEnter,delete z.onTransitionExited;const ee=T({},z,$);return T({role:"presentation"},ee,{onKeyDown:C(ee),ref:b})},getBackdropProps:($={})=>{const z=$;return T({"aria-hidden":!0},z,{onClick:M(z),open:p})},getTransitionProps:()=>{const $=()=>{E(!1),s&&s()},z=()=>{E(!0),l&&l(),i&&V()};return{onEnter:Cr($,c==null?void 0:c.props.onEnter),onExited:Cr(z,c==null?void 0:c.props.onExited)}},rootRef:b,portalRef:L,isTopModal:F,exited:h,hasTransition:j}}var Ne="top",Fe="bottom",Ve="right",Pe="left",Hr="auto",bn=[Ne,Fe,Ve,Pe],_t="start",un="end",pc="clippingParents",ca="viewport",Xt="popper",dc="reference",Yo=bn.reduce(function(e,t){return e.concat([t+"-"+_t,t+"-"+un])},[]),ua=[].concat(bn,[Hr]).reduce(function(e,t){return e.concat([t,t+"-"+_t,t+"-"+un])},[]),fc="beforeRead",hc="read",mc="afterRead",gc="beforeMain",bc="main",vc="afterMain",yc="beforeWrite",wc="write",xc="afterWrite",Ec=[fc,hc,mc,gc,bc,vc,yc,wc,xc];function We(e){return e?(e.nodeName||"").toLowerCase():null}function _e(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function xt(e){var t=_e(e).Element;return e instanceof t||e instanceof Element}function Be(e){var t=_e(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function Wr(e){if(typeof ShadowRoot>"u")return!1;var t=_e(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function kc(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var r=t.styles[n]||{},o=t.attributes[n]||{},i=t.elements[n];!Be(i)||!We(i)||(Object.assign(i.style,r),Object.keys(o).forEach(function(s){var l=o[s];l===!1?i.removeAttribute(s):i.setAttribute(s,l===!0?"":l)}))})}function Tc(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(r){var o=t.elements[r],i=t.attributes[r]||{},s=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:n[r]),l=s.reduce(function(c,u){return c[u]="",c},{});!Be(o)||!We(o)||(Object.assign(o.style,l),Object.keys(i).forEach(function(c){o.removeAttribute(c)}))})}}const Oc={name:"applyStyles",enabled:!0,phase:"write",fn:kc,effect:Tc,requires:["computeStyles"]};function qe(e){return e.split("-")[0]}var bt=Math.max,Bn=Math.min,At=Math.round;function Rr(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function pa(){return!/^((?!chrome|android).)*safari/i.test(Rr())}function Dt(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var r=e.getBoundingClientRect(),o=1,i=1;t&&Be(e)&&(o=e.offsetWidth>0&&At(r.width)/e.offsetWidth||1,i=e.offsetHeight>0&&At(r.height)/e.offsetHeight||1);var s=xt(e)?_e(e):window,l=s.visualViewport,c=!pa()&&n,u=(r.left+(c&&l?l.offsetLeft:0))/o,p=(r.top+(c&&l?l.offsetTop:0))/i,f=r.width/o,d=r.height/i;return{width:f,height:d,top:p,right:u+f,bottom:p+d,left:u,x:u,y:p}}function Gr(e){var t=Dt(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function da(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&Wr(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function Qe(e){return _e(e).getComputedStyle(e)}function Sc(e){return["table","td","th"].indexOf(We(e))>=0}function lt(e){return((xt(e)?e.ownerDocument:e.document)||window.document).documentElement}function Gn(e){return We(e)==="html"?e:e.assignedSlot||e.parentNode||(Wr(e)?e.host:null)||lt(e)}function Ko(e){return!Be(e)||Qe(e).position==="fixed"?null:e.offsetParent}function Cc(e){var t=/firefox/i.test(Rr()),n=/Trident/i.test(Rr());if(n&&Be(e)){var r=Qe(e);if(r.position==="fixed")return null}var o=Gn(e);for(Wr(o)&&(o=o.host);Be(o)&&["html","body"].indexOf(We(o))<0;){var i=Qe(o);if(i.transform!=="none"||i.perspective!=="none"||i.contain==="paint"||["transform","perspective"].indexOf(i.willChange)!==-1||t&&i.willChange==="filter"||t&&i.filter&&i.filter!=="none")return o;o=o.parentNode}return null}function vn(e){for(var t=_e(e),n=Ko(e);n&&Sc(n)&&Qe(n).position==="static";)n=Ko(n);return n&&(We(n)==="html"||We(n)==="body"&&Qe(n).position==="static")?t:n||Cc(e)||t}function Xr(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function on(e,t,n){return bt(e,Bn(t,n))}function Nc(e,t,n){var r=on(e,t,n);return r>n?n:r}function fa(){return{top:0,right:0,bottom:0,left:0}}function ha(e){return Object.assign({},fa(),e)}function ma(e,t){return t.reduce(function(n,r){return n[r]=e,n},{})}var Pc=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,ha(typeof t!="number"?t:ma(t,bn))};function Rc(e){var t,n=e.state,r=e.name,o=e.options,i=n.elements.arrow,s=n.modifiersData.popperOffsets,l=qe(n.placement),c=Xr(l),u=[Pe,Ve].indexOf(l)>=0,p=u?"height":"width";if(!(!i||!s)){var f=Pc(o.padding,n),d=Gr(i),g=c==="y"?Ne:Pe,y=c==="y"?Fe:Ve,b=n.rects.reference[p]+n.rects.reference[c]-s[c]-n.rects.popper[p],h=s[c]-n.rects.reference[c],E=vn(i),j=E?c==="y"?E.clientHeight||0:E.clientWidth||0:0,w=b/2-h/2,x=f[g],m=j-d[p]-f[y],S=j/2-d[p]/2+w,N=on(x,S,m),F=c;n.modifiersData[r]=(t={},t[F]=N,t.centerOffset=N-S,t)}}function Mc(e){var t=e.state,n=e.options,r=n.element,o=r===void 0?"[data-popper-arrow]":r;o!=null&&(typeof o=="string"&&(o=t.elements.popper.querySelector(o),!o)||da(t.elements.popper,o)&&(t.elements.arrow=o))}const $c={name:"arrow",enabled:!0,phase:"main",fn:Rc,effect:Mc,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Bt(e){return e.split("-")[1]}var jc={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Ic(e,t){var n=e.x,r=e.y,o=t.devicePixelRatio||1;return{x:At(n*o)/o||0,y:At(r*o)/o||0}}function Jo(e){var t,n=e.popper,r=e.popperRect,o=e.placement,i=e.variation,s=e.offsets,l=e.position,c=e.gpuAcceleration,u=e.adaptive,p=e.roundOffsets,f=e.isFixed,d=s.x,g=d===void 0?0:d,y=s.y,b=y===void 0?0:y,h=typeof p=="function"?p({x:g,y:b}):{x:g,y:b};g=h.x,b=h.y;var E=s.hasOwnProperty("x"),j=s.hasOwnProperty("y"),w=Pe,x=Ne,m=window;if(u){var S=vn(n),N="clientHeight",F="clientWidth";if(S===_e(n)&&(S=lt(n),Qe(S).position!=="static"&&l==="absolute"&&(N="scrollHeight",F="scrollWidth")),S=S,o===Ne||(o===Pe||o===Ve)&&i===un){x=Fe;var L=f&&S===m&&m.visualViewport?m.visualViewport.height:S[N];b-=L-r.height,b*=c?1:-1}if(o===Pe||(o===Ne||o===Fe)&&i===un){w=Ve;var V=f&&S===m&&m.visualViewport?m.visualViewport.width:S[F];g-=V-r.width,g*=c?1:-1}}var C=Object.assign({position:l},u&&jc),M=p===!0?Ic({x:g,y:b},_e(n)):{x:g,y:b};if(g=M.x,b=M.y,c){var R;return Object.assign({},C,(R={},R[x]=j?"0":"",R[w]=E?"0":"",R.transform=(m.devicePixelRatio||1)<=1?"translate("+g+"px, "+b+"px)":"translate3d("+g+"px, "+b+"px, 0)",R))}return Object.assign({},C,(t={},t[x]=j?b+"px":"",t[w]=E?g+"px":"",t.transform="",t))}function _c(e){var t=e.state,n=e.options,r=n.gpuAcceleration,o=r===void 0?!0:r,i=n.adaptive,s=i===void 0?!0:i,l=n.roundOffsets,c=l===void 0?!0:l,u={placement:qe(t.placement),variation:Bt(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:o,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,Jo(Object.assign({},u,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:s,roundOffsets:c})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,Jo(Object.assign({},u,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:c})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const Ac={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:_c,data:{}};var Sn={passive:!0};function Dc(e){var t=e.state,n=e.instance,r=e.options,o=r.scroll,i=o===void 0?!0:o,s=r.resize,l=s===void 0?!0:s,c=_e(t.elements.popper),u=[].concat(t.scrollParents.reference,t.scrollParents.popper);return i&&u.forEach(function(p){p.addEventListener("scroll",n.update,Sn)}),l&&c.addEventListener("resize",n.update,Sn),function(){i&&u.forEach(function(p){p.removeEventListener("scroll",n.update,Sn)}),l&&c.removeEventListener("resize",n.update,Sn)}}const Bc={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:Dc,data:{}};var Lc={left:"right",right:"left",bottom:"top",top:"bottom"};function Rn(e){return e.replace(/left|right|bottom|top/g,function(t){return Lc[t]})}var Fc={start:"end",end:"start"};function Zo(e){return e.replace(/start|end/g,function(t){return Fc[t]})}function Yr(e){var t=_e(e),n=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:n,scrollTop:r}}function Kr(e){return Dt(lt(e)).left+Yr(e).scrollLeft}function Vc(e,t){var n=_e(e),r=lt(e),o=n.visualViewport,i=r.clientWidth,s=r.clientHeight,l=0,c=0;if(o){i=o.width,s=o.height;var u=pa();(u||!u&&t==="fixed")&&(l=o.offsetLeft,c=o.offsetTop)}return{width:i,height:s,x:l+Kr(e),y:c}}function zc(e){var t,n=lt(e),r=Yr(e),o=(t=e.ownerDocument)==null?void 0:t.body,i=bt(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),s=bt(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),l=-r.scrollLeft+Kr(e),c=-r.scrollTop;return Qe(o||n).direction==="rtl"&&(l+=bt(n.clientWidth,o?o.clientWidth:0)-i),{width:i,height:s,x:l,y:c}}function Jr(e){var t=Qe(e),n=t.overflow,r=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+r)}function ga(e){return["html","body","#document"].indexOf(We(e))>=0?e.ownerDocument.body:Be(e)&&Jr(e)?e:ga(Gn(e))}function an(e,t){var n;t===void 0&&(t=[]);var r=ga(e),o=r===((n=e.ownerDocument)==null?void 0:n.body),i=_e(r),s=o?[i].concat(i.visualViewport||[],Jr(r)?r:[]):r,l=t.concat(s);return o?l:l.concat(an(Gn(s)))}function Mr(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function Uc(e,t){var n=Dt(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function Qo(e,t,n){return t===ca?Mr(Vc(e,n)):xt(t)?Uc(t,n):Mr(zc(lt(e)))}function qc(e){var t=an(Gn(e)),n=["absolute","fixed"].indexOf(Qe(e).position)>=0,r=n&&Be(e)?vn(e):e;return xt(r)?t.filter(function(o){return xt(o)&&da(o,r)&&We(o)!=="body"}):[]}function Hc(e,t,n,r){var o=t==="clippingParents"?qc(e):[].concat(t),i=[].concat(o,[n]),s=i[0],l=i.reduce(function(c,u){var p=Qo(e,u,r);return c.top=bt(p.top,c.top),c.right=Bn(p.right,c.right),c.bottom=Bn(p.bottom,c.bottom),c.left=bt(p.left,c.left),c},Qo(e,s,r));return l.width=l.right-l.left,l.height=l.bottom-l.top,l.x=l.left,l.y=l.top,l}function ba(e){var t=e.reference,n=e.element,r=e.placement,o=r?qe(r):null,i=r?Bt(r):null,s=t.x+t.width/2-n.width/2,l=t.y+t.height/2-n.height/2,c;switch(o){case Ne:c={x:s,y:t.y-n.height};break;case Fe:c={x:s,y:t.y+t.height};break;case Ve:c={x:t.x+t.width,y:l};break;case Pe:c={x:t.x-n.width,y:l};break;default:c={x:t.x,y:t.y}}var u=o?Xr(o):null;if(u!=null){var p=u==="y"?"height":"width";switch(i){case _t:c[u]=c[u]-(t[p]/2-n[p]/2);break;case un:c[u]=c[u]+(t[p]/2-n[p]/2);break}}return c}function pn(e,t){t===void 0&&(t={});var n=t,r=n.placement,o=r===void 0?e.placement:r,i=n.strategy,s=i===void 0?e.strategy:i,l=n.boundary,c=l===void 0?pc:l,u=n.rootBoundary,p=u===void 0?ca:u,f=n.elementContext,d=f===void 0?Xt:f,g=n.altBoundary,y=g===void 0?!1:g,b=n.padding,h=b===void 0?0:b,E=ha(typeof h!="number"?h:ma(h,bn)),j=d===Xt?dc:Xt,w=e.rects.popper,x=e.elements[y?j:d],m=Hc(xt(x)?x:x.contextElement||lt(e.elements.popper),c,p,s),S=Dt(e.elements.reference),N=ba({reference:S,element:w,strategy:"absolute",placement:o}),F=Mr(Object.assign({},w,N)),L=d===Xt?F:S,V={top:m.top-L.top+E.top,bottom:L.bottom-m.bottom+E.bottom,left:m.left-L.left+E.left,right:L.right-m.right+E.right},C=e.modifiersData.offset;if(d===Xt&&C){var M=C[o];Object.keys(V).forEach(function(R){var B=[Ve,Fe].indexOf(R)>=0?1:-1,D=[Ne,Fe].indexOf(R)>=0?"y":"x";V[R]+=M[D]*B})}return V}function Wc(e,t){t===void 0&&(t={});var n=t,r=n.placement,o=n.boundary,i=n.rootBoundary,s=n.padding,l=n.flipVariations,c=n.allowedAutoPlacements,u=c===void 0?ua:c,p=Bt(r),f=p?l?Yo:Yo.filter(function(y){return Bt(y)===p}):bn,d=f.filter(function(y){return u.indexOf(y)>=0});d.length===0&&(d=f);var g=d.reduce(function(y,b){return y[b]=pn(e,{placement:b,boundary:o,rootBoundary:i,padding:s})[qe(b)],y},{});return Object.keys(g).sort(function(y,b){return g[y]-g[b]})}function Gc(e){if(qe(e)===Hr)return[];var t=Rn(e);return[Zo(e),t,Zo(t)]}function Xc(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var o=n.mainAxis,i=o===void 0?!0:o,s=n.altAxis,l=s===void 0?!0:s,c=n.fallbackPlacements,u=n.padding,p=n.boundary,f=n.rootBoundary,d=n.altBoundary,g=n.flipVariations,y=g===void 0?!0:g,b=n.allowedAutoPlacements,h=t.options.placement,E=qe(h),j=E===h,w=c||(j||!y?[Rn(h)]:Gc(h)),x=[h].concat(w).reduce(function(U,H){return U.concat(qe(H)===Hr?Wc(t,{placement:H,boundary:p,rootBoundary:f,padding:u,flipVariations:y,allowedAutoPlacements:b}):H)},[]),m=t.rects.reference,S=t.rects.popper,N=new Map,F=!0,L=x[0],V=0;V=0,D=B?"width":"height",$=pn(t,{placement:C,boundary:p,rootBoundary:f,altBoundary:d,padding:u}),z=B?R?Ve:Pe:R?Fe:Ne;m[D]>S[D]&&(z=Rn(z));var ee=Rn(z),Q=[];if(i&&Q.push($[M]<=0),l&&Q.push($[z]<=0,$[ee]<=0),Q.every(function(U){return U})){L=C,F=!1;break}N.set(C,Q)}if(F)for(var O=y?3:1,A=function(H){var G=x.find(function(X){var W=N.get(X);if(W)return W.slice(0,H).every(function(K){return K})});if(G)return L=G,"break"},q=O;q>0;q--){var Y=A(q);if(Y==="break")break}t.placement!==L&&(t.modifiersData[r]._skip=!0,t.placement=L,t.reset=!0)}}const Yc={name:"flip",enabled:!0,phase:"main",fn:Xc,requiresIfExists:["offset"],data:{_skip:!1}};function ei(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function ti(e){return[Ne,Ve,Fe,Pe].some(function(t){return e[t]>=0})}function Kc(e){var t=e.state,n=e.name,r=t.rects.reference,o=t.rects.popper,i=t.modifiersData.preventOverflow,s=pn(t,{elementContext:"reference"}),l=pn(t,{altBoundary:!0}),c=ei(s,r),u=ei(l,o,i),p=ti(c),f=ti(u);t.modifiersData[n]={referenceClippingOffsets:c,popperEscapeOffsets:u,isReferenceHidden:p,hasPopperEscaped:f},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":p,"data-popper-escaped":f})}const Jc={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:Kc};function Zc(e,t,n){var r=qe(e),o=[Pe,Ne].indexOf(r)>=0?-1:1,i=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,s=i[0],l=i[1];return s=s||0,l=(l||0)*o,[Pe,Ve].indexOf(r)>=0?{x:l,y:s}:{x:s,y:l}}function Qc(e){var t=e.state,n=e.options,r=e.name,o=n.offset,i=o===void 0?[0,0]:o,s=ua.reduce(function(p,f){return p[f]=Zc(f,t.rects,i),p},{}),l=s[t.placement],c=l.x,u=l.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=c,t.modifiersData.popperOffsets.y+=u),t.modifiersData[r]=s}const eu={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:Qc};function tu(e){var t=e.state,n=e.name;t.modifiersData[n]=ba({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const nu={name:"popperOffsets",enabled:!0,phase:"read",fn:tu,data:{}};function ru(e){return e==="x"?"y":"x"}function ou(e){var t=e.state,n=e.options,r=e.name,o=n.mainAxis,i=o===void 0?!0:o,s=n.altAxis,l=s===void 0?!1:s,c=n.boundary,u=n.rootBoundary,p=n.altBoundary,f=n.padding,d=n.tether,g=d===void 0?!0:d,y=n.tetherOffset,b=y===void 0?0:y,h=pn(t,{boundary:c,rootBoundary:u,padding:f,altBoundary:p}),E=qe(t.placement),j=Bt(t.placement),w=!j,x=Xr(E),m=ru(x),S=t.modifiersData.popperOffsets,N=t.rects.reference,F=t.rects.popper,L=typeof b=="function"?b(Object.assign({},t.rects,{placement:t.placement})):b,V=typeof L=="number"?{mainAxis:L,altAxis:L}:Object.assign({mainAxis:0,altAxis:0},L),C=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,M={x:0,y:0};if(S){if(i){var R,B=x==="y"?Ne:Pe,D=x==="y"?Fe:Ve,$=x==="y"?"height":"width",z=S[x],ee=z+h[B],Q=z-h[D],O=g?-F[$]/2:0,A=j===_t?N[$]:F[$],q=j===_t?-F[$]:-N[$],Y=t.elements.arrow,U=g&&Y?Gr(Y):{width:0,height:0},H=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:fa(),G=H[B],X=H[D],W=on(0,N[$],U[$]),K=w?N[$]/2-O-W-G-V.mainAxis:A-W-G-V.mainAxis,J=w?-N[$]/2+O+W+X+V.mainAxis:q+W+X+V.mainAxis,re=t.elements.arrow&&vn(t.elements.arrow),I=re?x==="y"?re.clientTop||0:re.clientLeft||0:0,Z=(R=C==null?void 0:C[x])!=null?R:0,P=z+K-Z-I,oe=z+J-Z,we=on(g?Bn(ee,P):ee,z,g?bt(Q,oe):Q);S[x]=we,M[x]=we-z}if(l){var Oe,ve=x==="x"?Ne:Pe,ut=x==="x"?Fe:Ve,Se=S[m],Xe=m==="y"?"height":"width",Me=Se+h[ve],Ye=Se-h[ut],xe=[Ne,Pe].indexOf(E)!==-1,kt=(Oe=C==null?void 0:C[m])!=null?Oe:0,pt=xe?Me:Se-N[Xe]-F[Xe]-kt+V.altAxis,Vt=xe?Se+N[Xe]+F[Xe]-kt-V.altAxis:Ye,En=g&&xe?Nc(pt,Se,Vt):on(g?pt:Me,Se,g?Vt:Ye);S[m]=En,M[m]=En-Se}t.modifiersData[r]=M}}const iu={name:"preventOverflow",enabled:!0,phase:"main",fn:ou,requiresIfExists:["offset"]};function au(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function su(e){return e===_e(e)||!Be(e)?Yr(e):au(e)}function lu(e){var t=e.getBoundingClientRect(),n=At(t.width)/e.offsetWidth||1,r=At(t.height)/e.offsetHeight||1;return n!==1||r!==1}function cu(e,t,n){n===void 0&&(n=!1);var r=Be(t),o=Be(t)&&lu(t),i=lt(t),s=Dt(e,o,n),l={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(r||!r&&!n)&&((We(t)!=="body"||Jr(i))&&(l=su(t)),Be(t)?(c=Dt(t,!0),c.x+=t.clientLeft,c.y+=t.clientTop):i&&(c.x=Kr(i))),{x:s.left+l.scrollLeft-c.x,y:s.top+l.scrollTop-c.y,width:s.width,height:s.height}}function uu(e){var t=new Map,n=new Set,r=[];e.forEach(function(i){t.set(i.name,i)});function o(i){n.add(i.name);var s=[].concat(i.requires||[],i.requiresIfExists||[]);s.forEach(function(l){if(!n.has(l)){var c=t.get(l);c&&o(c)}}),r.push(i)}return e.forEach(function(i){n.has(i.name)||o(i)}),r}function pu(e){var t=uu(e);return Ec.reduce(function(n,r){return n.concat(t.filter(function(o){return o.phase===r}))},[])}function du(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function fu(e){var t=e.reduce(function(n,r){var o=n[r.name];return n[r.name]=o?Object.assign({},o,r,{options:Object.assign({},o.options,r.options),data:Object.assign({},o.data,r.data)}):r,n},{});return Object.keys(t).map(function(n){return t[n]})}var ni={placement:"bottom",modifiers:[],strategy:"absolute"};function ri(){for(var e=arguments.length,t=new Array(e),n=0;ntt({root:["root"]},zl(bu)),ku={},Tu=k.forwardRef(function(t,n){var r;const{anchorEl:o,children:i,direction:s,disablePortal:l,modifiers:c,open:u,placement:p,popperOptions:f,popperRef:d,slotProps:g={},slots:y={},TransitionProps:b}=t,h=pe(t,vu),E=k.useRef(null),j=Le(E,n),w=k.useRef(null),x=Le(w,d),m=k.useRef(x);yt(()=>{m.current=x},[x]),k.useImperativeHandle(d,()=>w.current,[]);const S=wu(p,s),[N,F]=k.useState(S),[L,V]=k.useState(Ln(o));k.useEffect(()=>{w.current&&w.current.forceUpdate()}),k.useEffect(()=>{o&&V(Ln(o))},[o]),yt(()=>{if(!L||!u)return;const D=ee=>{F(ee.placement)};if(process.env.NODE_ENV!=="production"&&L&&Xn(L)&&L.nodeType===1){const ee=L.getBoundingClientRect();process.env.NODE_ENV!=="test"&&ee.top===0&&ee.left===0&&ee.right===0&&ee.bottom===0&&console.warn(["MUI: The `anchorEl` prop provided to the component is invalid.","The anchor element should be part of the document layout.","Make sure the element is present in the document or that it's not display none."].join(` -`))}let $=[{name:"preventOverflow",options:{altBoundary:l}},{name:"flip",options:{altBoundary:l}},{name:"onUpdate",enabled:!0,phase:"afterWrite",fn:({state:ee})=>{D(ee)}}];c!=null&&($=$.concat(c)),f&&f.modifiers!=null&&($=$.concat(f.modifiers));const z=gu(L,E.current,T({placement:S},f,{modifiers:$}));return m.current(z),()=>{z.destroy(),m.current(null)}},[L,l,c,u,f,S]);const C={placement:N};b!==null&&(C.TransitionProps=b);const M=Eu(),R=(r=y.root)!=null?r:"div",B=wt({elementType:R,externalSlotProps:g.root,externalForwardedProps:h,additionalProps:{role:"tooltip",ref:j},ownerState:t,className:M.root});return v.jsx(R,T({},B,{children:typeof i=="function"?i(C):i}))}),ya=k.forwardRef(function(t,n){const{anchorEl:r,children:o,container:i,direction:s="ltr",disablePortal:l=!1,keepMounted:c=!1,modifiers:u,open:p,placement:f="bottom",popperOptions:d=ku,popperRef:g,style:y,transition:b=!1,slotProps:h={},slots:E={}}=t,j=pe(t,yu),[w,x]=k.useState(!0),m=()=>{x(!1)},S=()=>{x(!0)};if(!c&&!p&&(!b||w))return null;let N;if(i)N=i;else if(r){const V=Ln(r);N=V&&Xn(V)?ke(V).body:ke(null).body}const F=!p&&c&&(!b||w)?"none":void 0,L=b?{in:p,onEnter:m,onExited:S}:void 0;return v.jsx(cn,{disablePortal:l,container:N,children:v.jsx(Tu,T({anchorEl:r,direction:s,disablePortal:l,modifiers:u,ref:n,open:b?!w:p,placement:f,popperOptions:d,popperRef:g,slotProps:h,slots:E},j,{style:T({position:"fixed",top:0,left:0,display:F},y),TransitionProps:L,children:o}))})});process.env.NODE_ENV!=="production"&&(ya.propTypes={anchorEl:Ft(a.oneOfType([Ze,a.object,a.func]),e=>{if(e.open){const t=Ln(e.anchorEl);if(t&&Xn(t)&&t.nodeType===1){const n=t.getBoundingClientRect();if(process.env.NODE_ENV!=="test"&&n.top===0&&n.left===0&&n.right===0&&n.bottom===0)return new Error(["MUI: The `anchorEl` prop provided to the component is invalid.","The anchor element should be part of the document layout.","Make sure the element is present in the document or that it's not display none."].join(` -`))}else if(!t||typeof t.getBoundingClientRect!="function"||xu(t)&&t.contextElement!=null&&t.contextElement.nodeType!==1)return new Error(["MUI: The `anchorEl` prop provided to the component is invalid.","It should be an HTML element instance or a virtualElement ","(https://popper.js.org/docs/v2/virtual-elements/)."].join(` -`))}return null}),children:a.oneOfType([a.node,a.func]),container:a.oneOfType([Ze,a.func]),direction:a.oneOf(["ltr","rtl"]),disablePortal:a.bool,keepMounted:a.bool,modifiers:a.arrayOf(a.shape({data:a.object,effect:a.func,enabled:a.bool,fn:a.func,name:a.any,options:a.object,phase:a.oneOf(["afterMain","afterRead","afterWrite","beforeMain","beforeRead","beforeWrite","main","read","write"]),requires:a.arrayOf(a.string),requiresIfExists:a.arrayOf(a.string)})),open:a.bool.isRequired,placement:a.oneOf(["auto-end","auto-start","auto","bottom-end","bottom-start","bottom","left-end","left-start","left","right-end","right-start","right","top-end","top-start","top"]),popperOptions:a.shape({modifiers:a.array,onFirstUpdate:a.func,placement:a.oneOf(["auto-end","auto-start","auto","bottom-end","bottom-start","bottom","left-end","left-start","left","right-end","right-start","right","top-end","top-start","top"]),strategy:a.oneOf(["absolute","fixed"])}),popperRef:qr,slotProps:a.shape({root:a.oneOfType([a.func,a.object])}),slots:a.shape({root:a.elementType}),transition:a.bool});const Ou=["values","unit","step"],Su=e=>{const t=Object.keys(e).map(n=>({key:n,val:e[n]}))||[];return t.sort((n,r)=>n.val-r.val),t.reduce((n,r)=>T({},n,{[r.key]:r.val}),{})};function Cu(e){const{values:t={xs:0,sm:600,md:900,lg:1200,xl:1536},unit:n="px",step:r=5}=e,o=pe(e,Ou),i=Su(t),s=Object.keys(i);function l(d){return`@media (min-width:${typeof t[d]=="number"?t[d]:d}${n})`}function c(d){return`@media (max-width:${(typeof t[d]=="number"?t[d]:d)-r/100}${n})`}function u(d,g){const y=s.indexOf(g);return`@media (min-width:${typeof t[d]=="number"?t[d]:d}${n}) and (max-width:${(y!==-1&&typeof t[s[y]]=="number"?t[s[y]]:g)-r/100}${n})`}function p(d){return s.indexOf(d)+1`@media (min-width:${Zr[e]}px)`};function et(e,t,n){const r=e.theme||{};if(Array.isArray(t)){const i=r.breakpoints||oi;return t.reduce((s,l,c)=>(s[i.up(i.keys[c])]=n(t[c]),s),{})}if(typeof t=="object"){const i=r.breakpoints||oi;return Object.keys(t).reduce((s,l)=>{if(Object.keys(i.values||Zr).indexOf(l)!==-1){const c=i.up(l);s[c]=n(t[l],l)}else{const c=l;s[c]=t[c]}return s},{})}return n(t)}function Mu(e={}){var t;return((t=e.keys)==null?void 0:t.reduce((r,o)=>{const i=e.up(o);return r[i]={},r},{}))||{}}function $u(e,t){return e.reduce((n,r)=>{const o=n[r];return(!o||Object.keys(o).length===0)&&delete n[r],n},t)}function Yn(e,t,n=!0){if(!t||typeof t!="string")return null;if(e&&e.vars&&n){const r=`vars.${t}`.split(".").reduce((o,i)=>o&&o[i]?o[i]:null,e);if(r!=null)return r}return t.split(".").reduce((r,o)=>r&&r[o]!=null?r[o]:null,e)}function Fn(e,t,n,r=n){let o;return typeof e=="function"?o=e(n):Array.isArray(e)?o=e[n]||r:o=Yn(e,n)||r,t&&(o=t(o,r,e)),o}function ye(e){const{prop:t,cssProperty:n=e.prop,themeKey:r,transform:o}=e,i=s=>{if(s[t]==null)return null;const l=s[t],c=s.theme,u=Yn(c,r)||{};return et(s,l,f=>{let d=Fn(u,o,f);return f===d&&typeof f=="string"&&(d=Fn(u,o,`${t}${f==="default"?"":He(f)}`,f)),n===!1?d:{[n]:d}})};return i.propTypes=process.env.NODE_ENV!=="production"?{[t]:ct}:{},i.filterProps=[t],i}function ju(e){const t={};return n=>(t[n]===void 0&&(t[n]=e(n)),t[n])}const Iu={m:"margin",p:"padding"},_u={t:"Top",r:"Right",b:"Bottom",l:"Left",x:["Left","Right"],y:["Top","Bottom"]},ii={marginX:"mx",marginY:"my",paddingX:"px",paddingY:"py"},Au=ju(e=>{if(e.length>2)if(ii[e])e=ii[e];else return[e];const[t,n]=e.split(""),r=Iu[t],o=_u[n]||"";return Array.isArray(o)?o.map(i=>r+i):[r+o]}),Kn=["m","mt","mr","mb","ml","mx","my","margin","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","marginInline","marginInlineStart","marginInlineEnd","marginBlock","marginBlockStart","marginBlockEnd"],Jn=["p","pt","pr","pb","pl","px","py","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","paddingInline","paddingInlineStart","paddingInlineEnd","paddingBlock","paddingBlockStart","paddingBlockEnd"],Du=[...Kn,...Jn];function yn(e,t,n,r){var o;const i=(o=Yn(e,t,!1))!=null?o:n;return typeof i=="number"?s=>typeof s=="string"?s:(process.env.NODE_ENV!=="production"&&typeof s!="number"&&console.error(`MUI: Expected ${r} argument to be a number or a string, got ${s}.`),i*s):Array.isArray(i)?s=>typeof s=="string"?s:(process.env.NODE_ENV!=="production"&&(Number.isInteger(s)?s>i.length-1&&console.error([`MUI: The value provided (${s}) overflows.`,`The supported values are: ${JSON.stringify(i)}.`,`${s} > ${i.length-1}, you need to add the missing values.`].join(` + */var Uo;function Nl(){return Uo||(Uo=1,process.env.NODE_ENV!=="production"&&function(){var e=Symbol.for("react.element"),t=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),i=Symbol.for("react.provider"),s=Symbol.for("react.context"),l=Symbol.for("react.server_context"),c=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),u=Symbol.for("react.suspense_list"),f=Symbol.for("react.memo"),d=Symbol.for("react.lazy"),g=Symbol.for("react.offscreen"),y=!1,b=!1,h=!1,E=!1,I=!1,w;w=Symbol.for("react.module.reference");function x(R){return!!(typeof R=="string"||typeof R=="function"||R===n||R===o||I||R===r||R===p||R===u||E||R===g||y||b||h||typeof R=="object"&&R!==null&&(R.$$typeof===d||R.$$typeof===f||R.$$typeof===i||R.$$typeof===s||R.$$typeof===c||R.$$typeof===w||R.getModuleId!==void 0))}function m(R){if(typeof R=="object"&&R!==null){var ie=R.$$typeof;switch(ie){case e:var we=R.type;switch(we){case n:case o:case r:case p:case u:return we;default:var Oe=we&&we.$$typeof;switch(Oe){case l:case s:case c:case d:case f:case i:return Oe;default:return ie}}case t:return ie}}}var C=s,N=i,F=e,L=c,V=n,S=d,$=f,M=t,B=o,D=r,j=p,z=u,ee=!1,Q=!1;function O(R){return ee||(ee=!0,console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 18+.")),!1}function A(R){return Q||(Q=!0,console.warn("The ReactIs.isConcurrentMode() alias has been deprecated, and will be removed in React 18+.")),!1}function q(R){return m(R)===s}function G(R){return m(R)===i}function U(R){return typeof R=="object"&&R!==null&&R.$$typeof===e}function H(R){return m(R)===c}function X(R){return m(R)===n}function Y(R){return m(R)===d}function W(R){return m(R)===f}function K(R){return m(R)===t}function J(R){return m(R)===o}function oe(R){return m(R)===r}function _(R){return m(R)===p}function Z(R){return m(R)===u}pe.ContextConsumer=C,pe.ContextProvider=N,pe.Element=F,pe.ForwardRef=L,pe.Fragment=V,pe.Lazy=S,pe.Memo=$,pe.Portal=M,pe.Profiler=B,pe.StrictMode=D,pe.Suspense=j,pe.SuspenseList=z,pe.isAsyncMode=O,pe.isConcurrentMode=A,pe.isContextConsumer=q,pe.isContextProvider=G,pe.isElement=U,pe.isForwardRef=H,pe.isFragment=X,pe.isLazy=Y,pe.isMemo=W,pe.isPortal=K,pe.isProfiler=J,pe.isStrictMode=oe,pe.isSuspense=_,pe.isSuspenseList=Z,pe.isValidElementType=x,pe.typeOf=m}()),pe}process.env.NODE_ENV==="production"?Nr.exports=Sl():Nr.exports=Nl();var An=Nr.exports;const Pl=/^\s*function(?:\s|\s*\/\*.*\*\/\s*)+([^(\s/]*)\s*/;function Rl(e){const t=`${e}`.match(Pl);return t&&t[1]||""}function Gi(e,t=""){return e.displayName||e.name||Rl(e)||t}function qo(e,t,n){const r=Gi(t);return e.displayName||(r!==""?`${n}(${r})`:n)}function Ml(e){if(e!=null){if(typeof e=="string")return e;if(typeof e=="function")return Gi(e,"Component");if(typeof e=="object")switch(e.$$typeof){case An.ForwardRef:return qo(e,e.render,"ForwardRef");case An.Memo:return qo(e,e.type,"memo");default:return}}}function Qe(e,t,n,r,o){if(process.env.NODE_ENV==="production")return null;const i=e[t],s=o||t;return i==null?null:i&&i.nodeType!==1?new Error(`Invalid ${r} \`${s}\` supplied to \`${n}\`. Expected an HTMLElement.`):null}const $l=a.oneOfType([a.func,a.object]),Xr=$l;function We(e){if(typeof e!="string")throw new Error(process.env.NODE_ENV!=="production"?"MUI: `capitalize(string)` expects a string argument.":It(7));return e.charAt(0).toUpperCase()+e.slice(1)}function Pr(...e){return e.reduce((t,n)=>n==null?t:function(...o){t.apply(this,o),n.apply(this,o)},()=>{})}function Ki(e,t=166){let n;function r(...o){const i=()=>{e.apply(this,o)};clearTimeout(n),n=setTimeout(i,t)}return r.clear=()=>{clearTimeout(n)},r}function jl(e,t){return process.env.NODE_ENV==="production"?()=>null:(n,r,o,i,s)=>{const l=o||"<>",c=s||r;return typeof n[r]<"u"?new Error(`The ${i} \`${c}\` of \`${l}\` is deprecated. ${t}`):null}}function Il(e,t){var n,r;return k.isValidElement(e)&&t.indexOf((n=e.type.muiName)!=null?n:(r=e.type)==null||(r=r._payload)==null||(r=r.value)==null?void 0:r.muiName)!==-1}function ke(e){return e&&e.ownerDocument||document}function _t(e){return ke(e).defaultView||window}function _l(e,t){if(process.env.NODE_ENV==="production")return()=>null;const n=t?T({},t.propTypes):null;return o=>(i,s,l,c,p,...u)=>{const f=p||s,d=n==null?void 0:n[f];if(d){const g=d(i,s,l,c,p,...u);if(g)return g}return typeof i[s]<"u"&&!i[o]?new Error(`The prop \`${f}\` of \`${e}\` can only be used together with the \`${o}\` prop.`):null}}function Dn(e,t){typeof e=="function"?e(t):e&&(e.current=t)}const Al=typeof window<"u"?k.useLayoutEffect:k.useEffect,wt=Al;let Ho=0;function Dl(e){const[t,n]=k.useState(e),r=e||t;return k.useEffect(()=>{t==null&&(Ho+=1,n(`mui-${Ho}`))},[t]),r}const Wo=k["useId".toString()];function Ji(e){if(Wo!==void 0){const t=Wo();return e??t}return Dl(e)}function Bl(e,t,n,r,o){if(process.env.NODE_ENV==="production")return null;const i=o||t;return typeof e[t]<"u"?new Error(`The prop \`${i}\` is not supported. Please remove it.`):null}function Zi({controlled:e,default:t,name:n,state:r="value"}){const{current:o}=k.useRef(e!==void 0),[i,s]=k.useState(t),l=o?e:i;if(process.env.NODE_ENV!=="production"){k.useEffect(()=>{o!==(e!==void 0)&&console.error([`MUI: A component is changing the ${o?"":"un"}controlled ${r} state of ${n} to be ${o?"un":""}controlled.`,"Elements should not switch from uncontrolled to controlled (or vice versa).",`Decide between using a controlled or uncontrolled ${n} element for the lifetime of the component.`,"The nature of the state is determined during the first render. It's considered controlled if the value is not `undefined`.","More info: https://fb.me/react-controlled-components"].join(` +`))},[r,n,e]);const{current:p}=k.useRef(t);k.useEffect(()=>{!o&&p!==t&&console.error([`MUI: A component is changing the default ${r} state of an uncontrolled ${n} after being initialized. To suppress this warning opt to use a controlled ${n}.`].join(` +`))},[JSON.stringify(t)])}const c=k.useCallback(p=>{o||s(p)},[]);return[l,c]}function pn(e){const t=k.useRef(e);return wt(()=>{t.current=e}),k.useRef((...n)=>(0,t.current)(...n)).current}function Le(...e){return k.useMemo(()=>e.every(t=>t==null)?null:t=>{e.forEach(n=>{Dn(n,t)})},e)}const Xo={};function Ll(e,t){const n=k.useRef(Xo);return n.current===Xo&&(n.current=e(t)),n}const Fl=[];function Vl(e){k.useEffect(e,Fl)}class bn{constructor(){this.currentId=null,this.clear=()=>{this.currentId!==null&&(clearTimeout(this.currentId),this.currentId=null)},this.disposeEffect=()=>this.clear}static create(){return new bn}start(t,n){this.clear(),this.currentId=setTimeout(()=>{this.currentId=null,n()},t)}}function tn(){const e=Ll(bn.create).current;return Vl(e.disposeEffect),e}let Xn=!0,Rr=!1;const zl=new bn,Ul={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function ql(e){const{type:t,tagName:n}=e;return!!(n==="INPUT"&&Ul[t]&&!e.readOnly||n==="TEXTAREA"&&!e.readOnly||e.isContentEditable)}function Hl(e){e.metaKey||e.altKey||e.ctrlKey||(Xn=!0)}function gr(){Xn=!1}function Wl(){this.visibilityState==="hidden"&&Rr&&(Xn=!0)}function Xl(e){e.addEventListener("keydown",Hl,!0),e.addEventListener("mousedown",gr,!0),e.addEventListener("pointerdown",gr,!0),e.addEventListener("touchstart",gr,!0),e.addEventListener("visibilitychange",Wl,!0)}function Yl(e){const{target:t}=e;try{return t.matches(":focus-visible")}catch{}return Xn||ql(t)}function Qi(){const e=k.useCallback(o=>{o!=null&&Xl(o.ownerDocument)},[]),t=k.useRef(!1);function n(){return t.current?(Rr=!0,zl.start(100,()=>{Rr=!1}),t.current=!1,!0):!1}function r(o){return Yl(o)?(t.current=!0,!0):!1}return{isFocusVisibleRef:t,onFocus:r,onBlur:n,ref:e}}function ea(e){const t=e.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}function Gl(e){const t=typeof e;switch(t){case"number":return Number.isNaN(e)?"NaN":Number.isFinite(e)?e!==Math.floor(e)?"float":"number":"Infinity";case"object":return e===null?"null":e.constructor.name;default:return t}}function Kl(e){return typeof e=="number"&&isFinite(e)&&Math.floor(e)===e}const Jl=Number.isInteger||Kl;function ta(e,t,n,r){const o=e[t];if(o==null||!Jl(o)){const i=Gl(o);return new RangeError(`Invalid ${r} \`${t}\` of type \`${i}\` supplied to \`${n}\`, expected \`integer\`.`)}return null}function na(e,t,...n){return e[t]===void 0?null:ta(e,t,...n)}function Mr(){return null}na.isRequired=ta;Mr.isRequired=Mr;const ra=process.env.NODE_ENV==="production"?Mr:na;function oa(e,t){const n=T({},t);return Object.keys(e).forEach(r=>{if(r.toString().match(/^(components|slots)$/))n[r]=T({},e[r],n[r]);else if(r.toString().match(/^(componentsProps|slotProps)$/)){const o=e[r]||{},i=t[r];n[r]={},!i||!Object.keys(i)?n[r]=o:!o||!Object.keys(o)?n[r]=i:(n[r]=T({},i),Object.keys(o).forEach(s=>{n[r][s]=oa(o[s],i[s])}))}else n[r]===void 0&&(n[r]=e[r])}),n}function nt(e,t,n=void 0){const r={};return Object.keys(e).forEach(o=>{r[o]=e[o].reduce((i,s)=>{if(s){const l=t(s);l!==""&&i.push(l),n&&n[s]&&i.push(n[s])}return i},[]).join(" ")}),r}const Yo=e=>e,Zl=()=>{let e=Yo;return{configure(t){e=t},generate(t){return e(t)},reset(){e=Yo}}},Ql=Zl(),ia=Ql,aa={active:"active",checked:"checked",completed:"completed",disabled:"disabled",error:"error",expanded:"expanded",focused:"focused",focusVisible:"focusVisible",open:"open",readOnly:"readOnly",required:"required",selected:"selected"};function Ye(e,t,n="Mui"){const r=aa[t];return r?`${n}-${r}`:`${ia.generate(e)}-${t}`}function st(e,t,n="Mui"){const r={};return t.forEach(o=>{r[o]=Ye(e,o,n)}),r}function ec(e,t=Number.MIN_SAFE_INTEGER,n=Number.MAX_SAFE_INTEGER){return Math.max(t,Math.min(e,n))}function sa(e){return typeof e=="string"}function nn(e,t,n){return e===void 0||sa(e)?t:T({},t,{ownerState:T({},t.ownerState,n)})}const tc={disableDefaultClasses:!1},nc=k.createContext(tc);function rc(e){const{disableDefaultClasses:t}=k.useContext(nc);return n=>t?"":e(n)}function la(e,t=[]){if(e===void 0)return{};const n={};return Object.keys(e).filter(r=>r.match(/^on[A-Z]/)&&typeof e[r]=="function"&&!t.includes(r)).forEach(r=>{n[r]=e[r]}),n}function oc(e,t,n){return typeof e=="function"?e(t,n):e}function Go(e){if(e===void 0)return{};const t={};return Object.keys(e).filter(n=>!(n.match(/^on[A-Z]/)&&typeof e[n]=="function")).forEach(n=>{t[n]=e[n]}),t}function ic(e){const{getSlotProps:t,additionalProps:n,externalSlotProps:r,externalForwardedProps:o,className:i}=e;if(!t){const g=Ee(n==null?void 0:n.className,i,o==null?void 0:o.className,r==null?void 0:r.className),y=T({},n==null?void 0:n.style,o==null?void 0:o.style,r==null?void 0:r.style),b=T({},n,o,r);return g.length>0&&(b.className=g),Object.keys(y).length>0&&(b.style=y),{props:b,internalRef:void 0}}const s=la(T({},o,r)),l=Go(r),c=Go(o),p=t(s),u=Ee(p==null?void 0:p.className,n==null?void 0:n.className,i,o==null?void 0:o.className,r==null?void 0:r.className),f=T({},p==null?void 0:p.style,n==null?void 0:n.style,o==null?void 0:o.style,r==null?void 0:r.style),d=T({},p,n,c,l);return u.length>0&&(d.className=u),Object.keys(f).length>0&&(d.style=f),{props:d,internalRef:p.ref}}const ac=["elementType","externalSlotProps","ownerState","skipResolvingSlotProps"];function xt(e){var t;const{elementType:n,externalSlotProps:r,ownerState:o,skipResolvingSlotProps:i=!1}=e,s=de(e,ac),l=i?{}:oc(r,o),{props:c,internalRef:p}=ic(T({},s,{externalSlotProps:l})),u=Le(p,l==null?void 0:l.ref,(t=e.additionalProps)==null?void 0:t.ref);return nn(n,T({},c,{ref:u}),o)}const ca="base";function sc(e){return`${ca}--${e}`}function lc(e,t){return`${ca}-${e}-${t}`}function pa(e,t){const n=aa[t];return n?sc(n):lc(e,t)}function cc(e,t){const n={};return t.forEach(r=>{n[r]=pa(e,r)}),n}const pc=["input","select","textarea","a[href]","button","[tabindex]","audio[controls]","video[controls]",'[contenteditable]:not([contenteditable="false"])'].join(",");function uc(e){const t=parseInt(e.getAttribute("tabindex")||"",10);return Number.isNaN(t)?e.contentEditable==="true"||(e.nodeName==="AUDIO"||e.nodeName==="VIDEO"||e.nodeName==="DETAILS")&&e.getAttribute("tabindex")===null?0:e.tabIndex:t}function dc(e){if(e.tagName!=="INPUT"||e.type!=="radio"||!e.name)return!1;const t=r=>e.ownerDocument.querySelector(`input[type="radio"]${r}`);let n=t(`[name="${e.name}"]:checked`);return n||(n=t(`[name="${e.name}"]`)),n!==e}function fc(e){return!(e.disabled||e.tagName==="INPUT"&&e.type==="hidden"||dc(e))}function hc(e){const t=[],n=[];return Array.from(e.querySelectorAll(pc)).forEach((r,o)=>{const i=uc(r);i===-1||!fc(r)||(i===0?t.push(r):n.push({documentOrder:o,tabIndex:i,node:r}))}),n.sort((r,o)=>r.tabIndex===o.tabIndex?r.documentOrder-o.documentOrder:r.tabIndex-o.tabIndex).map(r=>r.node).concat(t)}function mc(){return!0}function Bn(e){const{children:t,disableAutoFocus:n=!1,disableEnforceFocus:r=!1,disableRestoreFocus:o=!1,getTabbable:i=hc,isEnabled:s=mc,open:l}=e,c=k.useRef(!1),p=k.useRef(null),u=k.useRef(null),f=k.useRef(null),d=k.useRef(null),g=k.useRef(!1),y=k.useRef(null),b=Le(t.ref,y),h=k.useRef(null);k.useEffect(()=>{!l||!y.current||(g.current=!n)},[n,l]),k.useEffect(()=>{if(!l||!y.current)return;const w=ke(y.current);return y.current.contains(w.activeElement)||(y.current.hasAttribute("tabIndex")||(process.env.NODE_ENV!=="production"&&console.error(["MUI: The modal content node does not accept focus.",'For the benefit of assistive technologies, the tabIndex of the node is being set to "-1".'].join(` +`)),y.current.setAttribute("tabIndex","-1")),g.current&&y.current.focus()),()=>{o||(f.current&&f.current.focus&&(c.current=!0,f.current.focus()),f.current=null)}},[l]),k.useEffect(()=>{if(!l||!y.current)return;const w=ke(y.current),x=N=>{h.current=N,!(r||!s()||N.key!=="Tab")&&w.activeElement===y.current&&N.shiftKey&&(c.current=!0,u.current&&u.current.focus())},m=()=>{const N=y.current;if(N===null)return;if(!w.hasFocus()||!s()||c.current){c.current=!1;return}if(N.contains(w.activeElement)||r&&w.activeElement!==p.current&&w.activeElement!==u.current)return;if(w.activeElement!==d.current)d.current=null;else if(d.current!==null)return;if(!g.current)return;let F=[];if((w.activeElement===p.current||w.activeElement===u.current)&&(F=i(y.current)),F.length>0){var L,V;const S=!!((L=h.current)!=null&&L.shiftKey&&((V=h.current)==null?void 0:V.key)==="Tab"),$=F[0],M=F[F.length-1];typeof $!="string"&&typeof M!="string"&&(S?M.focus():$.focus())}else N.focus()};w.addEventListener("focusin",m),w.addEventListener("keydown",x,!0);const C=setInterval(()=>{w.activeElement&&w.activeElement.tagName==="BODY"&&m()},50);return()=>{clearInterval(C),w.removeEventListener("focusin",m),w.removeEventListener("keydown",x,!0)}},[n,r,o,s,l,i]);const E=w=>{f.current===null&&(f.current=w.relatedTarget),g.current=!0,d.current=w.target;const x=t.props.onFocus;x&&x(w)},I=w=>{f.current===null&&(f.current=w.relatedTarget),g.current=!0};return v.jsxs(k.Fragment,{children:[v.jsx("div",{tabIndex:l?0:-1,onFocus:I,ref:p,"data-testid":"sentinelStart"}),k.cloneElement(t,{ref:b,onFocus:E}),v.jsx("div",{tabIndex:l?0:-1,onFocus:I,ref:u,"data-testid":"sentinelEnd"})]})}process.env.NODE_ENV!=="production"&&(Bn.propTypes={children:gn,disableAutoFocus:a.bool,disableEnforceFocus:a.bool,disableRestoreFocus:a.bool,getTabbable:a.func,isEnabled:a.func,open:a.bool.isRequired});process.env.NODE_ENV!=="production"&&(Bn["propTypes"]=Yi(Bn.propTypes));function gc(e){return typeof e=="function"?e():e}const un=k.forwardRef(function(t,n){const{children:r,container:o,disablePortal:i=!1}=t,[s,l]=k.useState(null),c=Le(k.isValidElement(r)?r.ref:null,n);if(wt(()=>{i||l(gc(o)||document.body)},[o,i]),wt(()=>{if(s&&!i)return Dn(n,s),()=>{Dn(n,null)}},[n,s,i]),i){if(k.isValidElement(r)){const p={ref:c};return k.cloneElement(r,p)}return v.jsx(k.Fragment,{children:r})}return v.jsx(k.Fragment,{children:s&&Is.createPortal(r,s)})});process.env.NODE_ENV!=="production"&&(un.propTypes={children:a.node,container:a.oneOfType([Qe,a.func]),disablePortal:a.bool});process.env.NODE_ENV!=="production"&&(un["propTypes"]=Yi(un.propTypes));function bc(e){const t=ke(e);return t.body===e?_t(e).innerWidth>t.documentElement.clientWidth:e.scrollHeight>e.clientHeight}function an(e,t){t?e.setAttribute("aria-hidden","true"):e.removeAttribute("aria-hidden")}function Ko(e){return parseInt(_t(e).getComputedStyle(e).paddingRight,10)||0}function vc(e){const n=["TEMPLATE","SCRIPT","STYLE","LINK","MAP","META","NOSCRIPT","PICTURE","COL","COLGROUP","PARAM","SLOT","SOURCE","TRACK"].indexOf(e.tagName)!==-1,r=e.tagName==="INPUT"&&e.getAttribute("type")==="hidden";return n||r}function Jo(e,t,n,r,o){const i=[t,n,...r];[].forEach.call(e.children,s=>{const l=i.indexOf(s)===-1,c=!vc(s);l&&c&&an(s,o)})}function br(e,t){let n=-1;return e.some((r,o)=>t(r)?(n=o,!0):!1),n}function yc(e,t){const n=[],r=e.container;if(!t.disableScrollLock){if(bc(r)){const s=ea(ke(r));n.push({value:r.style.paddingRight,property:"padding-right",el:r}),r.style.paddingRight=`${Ko(r)+s}px`;const l=ke(r).querySelectorAll(".mui-fixed");[].forEach.call(l,c=>{n.push({value:c.style.paddingRight,property:"padding-right",el:c}),c.style.paddingRight=`${Ko(c)+s}px`})}let i;if(r.parentNode instanceof DocumentFragment)i=ke(r).body;else{const s=r.parentElement,l=_t(r);i=(s==null?void 0:s.nodeName)==="HTML"&&l.getComputedStyle(s).overflowY==="scroll"?s:r}n.push({value:i.style.overflow,property:"overflow",el:i},{value:i.style.overflowX,property:"overflow-x",el:i},{value:i.style.overflowY,property:"overflow-y",el:i}),i.style.overflow="hidden"}return()=>{n.forEach(({value:i,el:s,property:l})=>{i?s.style.setProperty(l,i):s.style.removeProperty(l)})}}function wc(e){const t=[];return[].forEach.call(e.children,n=>{n.getAttribute("aria-hidden")==="true"&&t.push(n)}),t}class xc{constructor(){this.containers=void 0,this.modals=void 0,this.modals=[],this.containers=[]}add(t,n){let r=this.modals.indexOf(t);if(r!==-1)return r;r=this.modals.length,this.modals.push(t),t.modalRef&&an(t.modalRef,!1);const o=wc(n);Jo(n,t.mount,t.modalRef,o,!0);const i=br(this.containers,s=>s.container===n);return i!==-1?(this.containers[i].modals.push(t),r):(this.containers.push({modals:[t],container:n,restore:null,hiddenSiblings:o}),r)}mount(t,n){const r=br(this.containers,i=>i.modals.indexOf(t)!==-1),o=this.containers[r];o.restore||(o.restore=yc(o,n))}remove(t,n=!0){const r=this.modals.indexOf(t);if(r===-1)return r;const o=br(this.containers,s=>s.modals.indexOf(t)!==-1),i=this.containers[o];if(i.modals.splice(i.modals.indexOf(t),1),this.modals.splice(r,1),i.modals.length===0)i.restore&&i.restore(),t.modalRef&&an(t.modalRef,n),Jo(i.container,t.mount,t.modalRef,i.hiddenSiblings,!1),this.containers.splice(o,1);else{const s=i.modals[i.modals.length-1];s.modalRef&&an(s.modalRef,!1)}return r}isTopModal(t){return this.modals.length>0&&this.modals[this.modals.length-1]===t}}function Ec(e){return typeof e=="function"?e():e}function kc(e){return e?e.props.hasOwnProperty("in"):!1}const Tc=new xc;function Oc(e){const{container:t,disableEscapeKeyDown:n=!1,disableScrollLock:r=!1,manager:o=Tc,closeAfterTransition:i=!1,onTransitionEnter:s,onTransitionExited:l,children:c,onClose:p,open:u,rootRef:f}=e,d=k.useRef({}),g=k.useRef(null),y=k.useRef(null),b=Le(y,f),[h,E]=k.useState(!u),I=kc(c);let w=!0;(e["aria-hidden"]==="false"||e["aria-hidden"]===!1)&&(w=!1);const x=()=>ke(g.current),m=()=>(d.current.modalRef=y.current,d.current.mount=g.current,d.current),C=()=>{o.mount(m(),{disableScrollLock:r}),y.current&&(y.current.scrollTop=0)},N=pn(()=>{const j=Ec(t)||x().body;o.add(m(),j),y.current&&C()}),F=k.useCallback(()=>o.isTopModal(m()),[o]),L=pn(j=>{g.current=j,j&&(u&&F()?C():y.current&&an(y.current,w))}),V=k.useCallback(()=>{o.remove(m(),w)},[w,o]);k.useEffect(()=>()=>{V()},[V]),k.useEffect(()=>{u?N():(!I||!i)&&V()},[u,V,I,i,N]);const S=j=>z=>{var ee;(ee=j.onKeyDown)==null||ee.call(j,z),!(z.key!=="Escape"||z.which===229||!F())&&(n||(z.stopPropagation(),p&&p(z,"escapeKeyDown")))},$=j=>z=>{var ee;(ee=j.onClick)==null||ee.call(j,z),z.target===z.currentTarget&&p&&p(z,"backdropClick")};return{getRootProps:(j={})=>{const z=la(e);delete z.onTransitionEnter,delete z.onTransitionExited;const ee=T({},z,j);return T({role:"presentation"},ee,{onKeyDown:S(ee),ref:b})},getBackdropProps:(j={})=>{const z=j;return T({"aria-hidden":!0},z,{onClick:$(z),open:u})},getTransitionProps:()=>{const j=()=>{E(!1),s&&s()},z=()=>{E(!0),l&&l(),i&&V()};return{onEnter:Pr(j,c==null?void 0:c.props.onEnter),onExited:Pr(z,c==null?void 0:c.props.onExited)}},rootRef:b,portalRef:L,isTopModal:F,exited:h,hasTransition:I}}var Ne="top",Fe="bottom",Ve="right",Pe="left",Yr="auto",vn=[Ne,Fe,Ve,Pe],At="start",dn="end",Cc="clippingParents",ua="viewport",Gt="popper",Sc="reference",Zo=vn.reduce(function(e,t){return e.concat([t+"-"+At,t+"-"+dn])},[]),da=[].concat(vn,[Yr]).reduce(function(e,t){return e.concat([t,t+"-"+At,t+"-"+dn])},[]),Nc="beforeRead",Pc="read",Rc="afterRead",Mc="beforeMain",$c="main",jc="afterMain",Ic="beforeWrite",_c="write",Ac="afterWrite",Dc=[Nc,Pc,Rc,Mc,$c,jc,Ic,_c,Ac];function Xe(e){return e?(e.nodeName||"").toLowerCase():null}function _e(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Et(e){var t=_e(e).Element;return e instanceof t||e instanceof Element}function Be(e){var t=_e(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function Gr(e){if(typeof ShadowRoot>"u")return!1;var t=_e(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function Bc(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var r=t.styles[n]||{},o=t.attributes[n]||{},i=t.elements[n];!Be(i)||!Xe(i)||(Object.assign(i.style,r),Object.keys(o).forEach(function(s){var l=o[s];l===!1?i.removeAttribute(s):i.setAttribute(s,l===!0?"":l)}))})}function Lc(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(r){var o=t.elements[r],i=t.attributes[r]||{},s=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:n[r]),l=s.reduce(function(c,p){return c[p]="",c},{});!Be(o)||!Xe(o)||(Object.assign(o.style,l),Object.keys(i).forEach(function(c){o.removeAttribute(c)}))})}}const Fc={name:"applyStyles",enabled:!0,phase:"write",fn:Bc,effect:Lc,requires:["computeStyles"]};function He(e){return e.split("-")[0]}var vt=Math.max,Ln=Math.min,Dt=Math.round;function $r(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function fa(){return!/^((?!chrome|android).)*safari/i.test($r())}function Bt(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var r=e.getBoundingClientRect(),o=1,i=1;t&&Be(e)&&(o=e.offsetWidth>0&&Dt(r.width)/e.offsetWidth||1,i=e.offsetHeight>0&&Dt(r.height)/e.offsetHeight||1);var s=Et(e)?_e(e):window,l=s.visualViewport,c=!fa()&&n,p=(r.left+(c&&l?l.offsetLeft:0))/o,u=(r.top+(c&&l?l.offsetTop:0))/i,f=r.width/o,d=r.height/i;return{width:f,height:d,top:u,right:p+f,bottom:u+d,left:p,x:p,y:u}}function Kr(e){var t=Bt(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function ha(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&Gr(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function et(e){return _e(e).getComputedStyle(e)}function Vc(e){return["table","td","th"].indexOf(Xe(e))>=0}function lt(e){return((Et(e)?e.ownerDocument:e.document)||window.document).documentElement}function Yn(e){return Xe(e)==="html"?e:e.assignedSlot||e.parentNode||(Gr(e)?e.host:null)||lt(e)}function Qo(e){return!Be(e)||et(e).position==="fixed"?null:e.offsetParent}function zc(e){var t=/firefox/i.test($r()),n=/Trident/i.test($r());if(n&&Be(e)){var r=et(e);if(r.position==="fixed")return null}var o=Yn(e);for(Gr(o)&&(o=o.host);Be(o)&&["html","body"].indexOf(Xe(o))<0;){var i=et(o);if(i.transform!=="none"||i.perspective!=="none"||i.contain==="paint"||["transform","perspective"].indexOf(i.willChange)!==-1||t&&i.willChange==="filter"||t&&i.filter&&i.filter!=="none")return o;o=o.parentNode}return null}function yn(e){for(var t=_e(e),n=Qo(e);n&&Vc(n)&&et(n).position==="static";)n=Qo(n);return n&&(Xe(n)==="html"||Xe(n)==="body"&&et(n).position==="static")?t:n||zc(e)||t}function Jr(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function sn(e,t,n){return vt(e,Ln(t,n))}function Uc(e,t,n){var r=sn(e,t,n);return r>n?n:r}function ma(){return{top:0,right:0,bottom:0,left:0}}function ga(e){return Object.assign({},ma(),e)}function ba(e,t){return t.reduce(function(n,r){return n[r]=e,n},{})}var qc=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,ga(typeof t!="number"?t:ba(t,vn))};function Hc(e){var t,n=e.state,r=e.name,o=e.options,i=n.elements.arrow,s=n.modifiersData.popperOffsets,l=He(n.placement),c=Jr(l),p=[Pe,Ve].indexOf(l)>=0,u=p?"height":"width";if(!(!i||!s)){var f=qc(o.padding,n),d=Kr(i),g=c==="y"?Ne:Pe,y=c==="y"?Fe:Ve,b=n.rects.reference[u]+n.rects.reference[c]-s[c]-n.rects.popper[u],h=s[c]-n.rects.reference[c],E=yn(i),I=E?c==="y"?E.clientHeight||0:E.clientWidth||0:0,w=b/2-h/2,x=f[g],m=I-d[u]-f[y],C=I/2-d[u]/2+w,N=sn(x,C,m),F=c;n.modifiersData[r]=(t={},t[F]=N,t.centerOffset=N-C,t)}}function Wc(e){var t=e.state,n=e.options,r=n.element,o=r===void 0?"[data-popper-arrow]":r;o!=null&&(typeof o=="string"&&(o=t.elements.popper.querySelector(o),!o)||ha(t.elements.popper,o)&&(t.elements.arrow=o))}const Xc={name:"arrow",enabled:!0,phase:"main",fn:Hc,effect:Wc,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Lt(e){return e.split("-")[1]}var Yc={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Gc(e,t){var n=e.x,r=e.y,o=t.devicePixelRatio||1;return{x:Dt(n*o)/o||0,y:Dt(r*o)/o||0}}function ei(e){var t,n=e.popper,r=e.popperRect,o=e.placement,i=e.variation,s=e.offsets,l=e.position,c=e.gpuAcceleration,p=e.adaptive,u=e.roundOffsets,f=e.isFixed,d=s.x,g=d===void 0?0:d,y=s.y,b=y===void 0?0:y,h=typeof u=="function"?u({x:g,y:b}):{x:g,y:b};g=h.x,b=h.y;var E=s.hasOwnProperty("x"),I=s.hasOwnProperty("y"),w=Pe,x=Ne,m=window;if(p){var C=yn(n),N="clientHeight",F="clientWidth";if(C===_e(n)&&(C=lt(n),et(C).position!=="static"&&l==="absolute"&&(N="scrollHeight",F="scrollWidth")),C=C,o===Ne||(o===Pe||o===Ve)&&i===dn){x=Fe;var L=f&&C===m&&m.visualViewport?m.visualViewport.height:C[N];b-=L-r.height,b*=c?1:-1}if(o===Pe||(o===Ne||o===Fe)&&i===dn){w=Ve;var V=f&&C===m&&m.visualViewport?m.visualViewport.width:C[F];g-=V-r.width,g*=c?1:-1}}var S=Object.assign({position:l},p&&Yc),$=u===!0?Gc({x:g,y:b},_e(n)):{x:g,y:b};if(g=$.x,b=$.y,c){var M;return Object.assign({},S,(M={},M[x]=I?"0":"",M[w]=E?"0":"",M.transform=(m.devicePixelRatio||1)<=1?"translate("+g+"px, "+b+"px)":"translate3d("+g+"px, "+b+"px, 0)",M))}return Object.assign({},S,(t={},t[x]=I?b+"px":"",t[w]=E?g+"px":"",t.transform="",t))}function Kc(e){var t=e.state,n=e.options,r=n.gpuAcceleration,o=r===void 0?!0:r,i=n.adaptive,s=i===void 0?!0:i,l=n.roundOffsets,c=l===void 0?!0:l,p={placement:He(t.placement),variation:Lt(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:o,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,ei(Object.assign({},p,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:s,roundOffsets:c})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,ei(Object.assign({},p,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:c})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const Jc={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Kc,data:{}};var Sn={passive:!0};function Zc(e){var t=e.state,n=e.instance,r=e.options,o=r.scroll,i=o===void 0?!0:o,s=r.resize,l=s===void 0?!0:s,c=_e(t.elements.popper),p=[].concat(t.scrollParents.reference,t.scrollParents.popper);return i&&p.forEach(function(u){u.addEventListener("scroll",n.update,Sn)}),l&&c.addEventListener("resize",n.update,Sn),function(){i&&p.forEach(function(u){u.removeEventListener("scroll",n.update,Sn)}),l&&c.removeEventListener("resize",n.update,Sn)}}const Qc={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:Zc,data:{}};var ep={left:"right",right:"left",bottom:"top",top:"bottom"};function Mn(e){return e.replace(/left|right|bottom|top/g,function(t){return ep[t]})}var tp={start:"end",end:"start"};function ti(e){return e.replace(/start|end/g,function(t){return tp[t]})}function Zr(e){var t=_e(e),n=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:n,scrollTop:r}}function Qr(e){return Bt(lt(e)).left+Zr(e).scrollLeft}function np(e,t){var n=_e(e),r=lt(e),o=n.visualViewport,i=r.clientWidth,s=r.clientHeight,l=0,c=0;if(o){i=o.width,s=o.height;var p=fa();(p||!p&&t==="fixed")&&(l=o.offsetLeft,c=o.offsetTop)}return{width:i,height:s,x:l+Qr(e),y:c}}function rp(e){var t,n=lt(e),r=Zr(e),o=(t=e.ownerDocument)==null?void 0:t.body,i=vt(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),s=vt(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),l=-r.scrollLeft+Qr(e),c=-r.scrollTop;return et(o||n).direction==="rtl"&&(l+=vt(n.clientWidth,o?o.clientWidth:0)-i),{width:i,height:s,x:l,y:c}}function eo(e){var t=et(e),n=t.overflow,r=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+r)}function va(e){return["html","body","#document"].indexOf(Xe(e))>=0?e.ownerDocument.body:Be(e)&&eo(e)?e:va(Yn(e))}function ln(e,t){var n;t===void 0&&(t=[]);var r=va(e),o=r===((n=e.ownerDocument)==null?void 0:n.body),i=_e(r),s=o?[i].concat(i.visualViewport||[],eo(r)?r:[]):r,l=t.concat(s);return o?l:l.concat(ln(Yn(s)))}function jr(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function op(e,t){var n=Bt(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function ni(e,t,n){return t===ua?jr(np(e,n)):Et(t)?op(t,n):jr(rp(lt(e)))}function ip(e){var t=ln(Yn(e)),n=["absolute","fixed"].indexOf(et(e).position)>=0,r=n&&Be(e)?yn(e):e;return Et(r)?t.filter(function(o){return Et(o)&&ha(o,r)&&Xe(o)!=="body"}):[]}function ap(e,t,n,r){var o=t==="clippingParents"?ip(e):[].concat(t),i=[].concat(o,[n]),s=i[0],l=i.reduce(function(c,p){var u=ni(e,p,r);return c.top=vt(u.top,c.top),c.right=Ln(u.right,c.right),c.bottom=Ln(u.bottom,c.bottom),c.left=vt(u.left,c.left),c},ni(e,s,r));return l.width=l.right-l.left,l.height=l.bottom-l.top,l.x=l.left,l.y=l.top,l}function ya(e){var t=e.reference,n=e.element,r=e.placement,o=r?He(r):null,i=r?Lt(r):null,s=t.x+t.width/2-n.width/2,l=t.y+t.height/2-n.height/2,c;switch(o){case Ne:c={x:s,y:t.y-n.height};break;case Fe:c={x:s,y:t.y+t.height};break;case Ve:c={x:t.x+t.width,y:l};break;case Pe:c={x:t.x-n.width,y:l};break;default:c={x:t.x,y:t.y}}var p=o?Jr(o):null;if(p!=null){var u=p==="y"?"height":"width";switch(i){case At:c[p]=c[p]-(t[u]/2-n[u]/2);break;case dn:c[p]=c[p]+(t[u]/2-n[u]/2);break}}return c}function fn(e,t){t===void 0&&(t={});var n=t,r=n.placement,o=r===void 0?e.placement:r,i=n.strategy,s=i===void 0?e.strategy:i,l=n.boundary,c=l===void 0?Cc:l,p=n.rootBoundary,u=p===void 0?ua:p,f=n.elementContext,d=f===void 0?Gt:f,g=n.altBoundary,y=g===void 0?!1:g,b=n.padding,h=b===void 0?0:b,E=ga(typeof h!="number"?h:ba(h,vn)),I=d===Gt?Sc:Gt,w=e.rects.popper,x=e.elements[y?I:d],m=ap(Et(x)?x:x.contextElement||lt(e.elements.popper),c,u,s),C=Bt(e.elements.reference),N=ya({reference:C,element:w,strategy:"absolute",placement:o}),F=jr(Object.assign({},w,N)),L=d===Gt?F:C,V={top:m.top-L.top+E.top,bottom:L.bottom-m.bottom+E.bottom,left:m.left-L.left+E.left,right:L.right-m.right+E.right},S=e.modifiersData.offset;if(d===Gt&&S){var $=S[o];Object.keys(V).forEach(function(M){var B=[Ve,Fe].indexOf(M)>=0?1:-1,D=[Ne,Fe].indexOf(M)>=0?"y":"x";V[M]+=$[D]*B})}return V}function sp(e,t){t===void 0&&(t={});var n=t,r=n.placement,o=n.boundary,i=n.rootBoundary,s=n.padding,l=n.flipVariations,c=n.allowedAutoPlacements,p=c===void 0?da:c,u=Lt(r),f=u?l?Zo:Zo.filter(function(y){return Lt(y)===u}):vn,d=f.filter(function(y){return p.indexOf(y)>=0});d.length===0&&(d=f);var g=d.reduce(function(y,b){return y[b]=fn(e,{placement:b,boundary:o,rootBoundary:i,padding:s})[He(b)],y},{});return Object.keys(g).sort(function(y,b){return g[y]-g[b]})}function lp(e){if(He(e)===Yr)return[];var t=Mn(e);return[ti(e),t,ti(t)]}function cp(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var o=n.mainAxis,i=o===void 0?!0:o,s=n.altAxis,l=s===void 0?!0:s,c=n.fallbackPlacements,p=n.padding,u=n.boundary,f=n.rootBoundary,d=n.altBoundary,g=n.flipVariations,y=g===void 0?!0:g,b=n.allowedAutoPlacements,h=t.options.placement,E=He(h),I=E===h,w=c||(I||!y?[Mn(h)]:lp(h)),x=[h].concat(w).reduce(function(U,H){return U.concat(He(H)===Yr?sp(t,{placement:H,boundary:u,rootBoundary:f,padding:p,flipVariations:y,allowedAutoPlacements:b}):H)},[]),m=t.rects.reference,C=t.rects.popper,N=new Map,F=!0,L=x[0],V=0;V=0,D=B?"width":"height",j=fn(t,{placement:S,boundary:u,rootBoundary:f,altBoundary:d,padding:p}),z=B?M?Ve:Pe:M?Fe:Ne;m[D]>C[D]&&(z=Mn(z));var ee=Mn(z),Q=[];if(i&&Q.push(j[$]<=0),l&&Q.push(j[z]<=0,j[ee]<=0),Q.every(function(U){return U})){L=S,F=!1;break}N.set(S,Q)}if(F)for(var O=y?3:1,A=function(H){var X=x.find(function(Y){var W=N.get(Y);if(W)return W.slice(0,H).every(function(K){return K})});if(X)return L=X,"break"},q=O;q>0;q--){var G=A(q);if(G==="break")break}t.placement!==L&&(t.modifiersData[r]._skip=!0,t.placement=L,t.reset=!0)}}const pp={name:"flip",enabled:!0,phase:"main",fn:cp,requiresIfExists:["offset"],data:{_skip:!1}};function ri(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function oi(e){return[Ne,Ve,Fe,Pe].some(function(t){return e[t]>=0})}function up(e){var t=e.state,n=e.name,r=t.rects.reference,o=t.rects.popper,i=t.modifiersData.preventOverflow,s=fn(t,{elementContext:"reference"}),l=fn(t,{altBoundary:!0}),c=ri(s,r),p=ri(l,o,i),u=oi(c),f=oi(p);t.modifiersData[n]={referenceClippingOffsets:c,popperEscapeOffsets:p,isReferenceHidden:u,hasPopperEscaped:f},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":u,"data-popper-escaped":f})}const dp={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:up};function fp(e,t,n){var r=He(e),o=[Pe,Ne].indexOf(r)>=0?-1:1,i=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,s=i[0],l=i[1];return s=s||0,l=(l||0)*o,[Pe,Ve].indexOf(r)>=0?{x:l,y:s}:{x:s,y:l}}function hp(e){var t=e.state,n=e.options,r=e.name,o=n.offset,i=o===void 0?[0,0]:o,s=da.reduce(function(u,f){return u[f]=fp(f,t.rects,i),u},{}),l=s[t.placement],c=l.x,p=l.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=c,t.modifiersData.popperOffsets.y+=p),t.modifiersData[r]=s}const mp={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:hp};function gp(e){var t=e.state,n=e.name;t.modifiersData[n]=ya({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const bp={name:"popperOffsets",enabled:!0,phase:"read",fn:gp,data:{}};function vp(e){return e==="x"?"y":"x"}function yp(e){var t=e.state,n=e.options,r=e.name,o=n.mainAxis,i=o===void 0?!0:o,s=n.altAxis,l=s===void 0?!1:s,c=n.boundary,p=n.rootBoundary,u=n.altBoundary,f=n.padding,d=n.tether,g=d===void 0?!0:d,y=n.tetherOffset,b=y===void 0?0:y,h=fn(t,{boundary:c,rootBoundary:p,padding:f,altBoundary:u}),E=He(t.placement),I=Lt(t.placement),w=!I,x=Jr(E),m=vp(x),C=t.modifiersData.popperOffsets,N=t.rects.reference,F=t.rects.popper,L=typeof b=="function"?b(Object.assign({},t.rects,{placement:t.placement})):b,V=typeof L=="number"?{mainAxis:L,altAxis:L}:Object.assign({mainAxis:0,altAxis:0},L),S=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,$={x:0,y:0};if(C){if(i){var M,B=x==="y"?Ne:Pe,D=x==="y"?Fe:Ve,j=x==="y"?"height":"width",z=C[x],ee=z+h[B],Q=z-h[D],O=g?-F[j]/2:0,A=I===At?N[j]:F[j],q=I===At?-F[j]:-N[j],G=t.elements.arrow,U=g&&G?Kr(G):{width:0,height:0},H=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:ma(),X=H[B],Y=H[D],W=sn(0,N[j],U[j]),K=w?N[j]/2-O-W-X-V.mainAxis:A-W-X-V.mainAxis,J=w?-N[j]/2+O+W+Y+V.mainAxis:q+W+Y+V.mainAxis,oe=t.elements.arrow&&yn(t.elements.arrow),_=oe?x==="y"?oe.clientTop||0:oe.clientLeft||0:0,Z=(M=S==null?void 0:S[x])!=null?M:0,R=z+K-Z-_,ie=z+J-Z,we=sn(g?Ln(ee,R):ee,z,g?vt(Q,ie):Q);C[x]=we,$[x]=we-z}if(l){var Oe,ve=x==="x"?Ne:Pe,pt=x==="x"?Fe:Ve,Ce=C[m],Ge=m==="y"?"height":"width",Me=Ce+h[ve],Ke=Ce-h[pt],xe=[Ne,Pe].indexOf(E)!==-1,Ot=(Oe=S==null?void 0:S[m])!=null?Oe:0,ut=xe?Me:Ce-N[Ge]-F[Ge]-Ot+V.altAxis,zt=xe?Ce+N[Ge]+F[Ge]-Ot-V.altAxis:Ke,kn=g&&xe?Uc(ut,Ce,zt):sn(g?ut:Me,Ce,g?zt:Ke);C[m]=kn,$[m]=kn-Ce}t.modifiersData[r]=$}}const wp={name:"preventOverflow",enabled:!0,phase:"main",fn:yp,requiresIfExists:["offset"]};function xp(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function Ep(e){return e===_e(e)||!Be(e)?Zr(e):xp(e)}function kp(e){var t=e.getBoundingClientRect(),n=Dt(t.width)/e.offsetWidth||1,r=Dt(t.height)/e.offsetHeight||1;return n!==1||r!==1}function Tp(e,t,n){n===void 0&&(n=!1);var r=Be(t),o=Be(t)&&kp(t),i=lt(t),s=Bt(e,o,n),l={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(r||!r&&!n)&&((Xe(t)!=="body"||eo(i))&&(l=Ep(t)),Be(t)?(c=Bt(t,!0),c.x+=t.clientLeft,c.y+=t.clientTop):i&&(c.x=Qr(i))),{x:s.left+l.scrollLeft-c.x,y:s.top+l.scrollTop-c.y,width:s.width,height:s.height}}function Op(e){var t=new Map,n=new Set,r=[];e.forEach(function(i){t.set(i.name,i)});function o(i){n.add(i.name);var s=[].concat(i.requires||[],i.requiresIfExists||[]);s.forEach(function(l){if(!n.has(l)){var c=t.get(l);c&&o(c)}}),r.push(i)}return e.forEach(function(i){n.has(i.name)||o(i)}),r}function Cp(e){var t=Op(e);return Dc.reduce(function(n,r){return n.concat(t.filter(function(o){return o.phase===r}))},[])}function Sp(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function Np(e){var t=e.reduce(function(n,r){var o=n[r.name];return n[r.name]=o?Object.assign({},o,r,{options:Object.assign({},o.options,r.options),data:Object.assign({},o.data,r.data)}):r,n},{});return Object.keys(t).map(function(n){return t[n]})}var ii={placement:"bottom",modifiers:[],strategy:"absolute"};function ai(){for(var e=arguments.length,t=new Array(e),n=0;nnt({root:["root"]},rc($p)),Bp={},Lp=k.forwardRef(function(t,n){var r;const{anchorEl:o,children:i,direction:s,disablePortal:l,modifiers:c,open:p,placement:u,popperOptions:f,popperRef:d,slotProps:g={},slots:y={},TransitionProps:b}=t,h=de(t,jp),E=k.useRef(null),I=Le(E,n),w=k.useRef(null),x=Le(w,d),m=k.useRef(x);wt(()=>{m.current=x},[x]),k.useImperativeHandle(d,()=>w.current,[]);const C=_p(u,s),[N,F]=k.useState(C),[L,V]=k.useState(Fn(o));k.useEffect(()=>{w.current&&w.current.forceUpdate()}),k.useEffect(()=>{o&&V(Fn(o))},[o]),wt(()=>{if(!L||!p)return;const D=ee=>{F(ee.placement)};if(process.env.NODE_ENV!=="production"&&L&&Gn(L)&&L.nodeType===1){const ee=L.getBoundingClientRect();process.env.NODE_ENV!=="test"&&ee.top===0&&ee.left===0&&ee.right===0&&ee.bottom===0&&console.warn(["MUI: The `anchorEl` prop provided to the component is invalid.","The anchor element should be part of the document layout.","Make sure the element is present in the document or that it's not display none."].join(` +`))}let j=[{name:"preventOverflow",options:{altBoundary:l}},{name:"flip",options:{altBoundary:l}},{name:"onUpdate",enabled:!0,phase:"afterWrite",fn:({state:ee})=>{D(ee)}}];c!=null&&(j=j.concat(c)),f&&f.modifiers!=null&&(j=j.concat(f.modifiers));const z=Mp(L,E.current,T({placement:C},f,{modifiers:j}));return m.current(z),()=>{z.destroy(),m.current(null)}},[L,l,c,p,f,C]);const S={placement:N};b!==null&&(S.TransitionProps=b);const $=Dp(),M=(r=y.root)!=null?r:"div",B=xt({elementType:M,externalSlotProps:g.root,externalForwardedProps:h,additionalProps:{role:"tooltip",ref:I},ownerState:t,className:$.root});return v.jsx(M,T({},B,{children:typeof i=="function"?i(S):i}))}),xa=k.forwardRef(function(t,n){const{anchorEl:r,children:o,container:i,direction:s="ltr",disablePortal:l=!1,keepMounted:c=!1,modifiers:p,open:u,placement:f="bottom",popperOptions:d=Bp,popperRef:g,style:y,transition:b=!1,slotProps:h={},slots:E={}}=t,I=de(t,Ip),[w,x]=k.useState(!0),m=()=>{x(!1)},C=()=>{x(!0)};if(!c&&!u&&(!b||w))return null;let N;if(i)N=i;else if(r){const V=Fn(r);N=V&&Gn(V)?ke(V).body:ke(null).body}const F=!u&&c&&(!b||w)?"none":void 0,L=b?{in:u,onEnter:m,onExited:C}:void 0;return v.jsx(un,{disablePortal:l,container:N,children:v.jsx(Lp,T({anchorEl:r,direction:s,disablePortal:l,modifiers:p,ref:n,open:b?!w:u,placement:f,popperOptions:d,popperRef:g,slotProps:h,slots:E},I,{style:T({position:"fixed",top:0,left:0,display:F},y),TransitionProps:L,children:o}))})});process.env.NODE_ENV!=="production"&&(xa.propTypes={anchorEl:Vt(a.oneOfType([Qe,a.object,a.func]),e=>{if(e.open){const t=Fn(e.anchorEl);if(t&&Gn(t)&&t.nodeType===1){const n=t.getBoundingClientRect();if(process.env.NODE_ENV!=="test"&&n.top===0&&n.left===0&&n.right===0&&n.bottom===0)return new Error(["MUI: The `anchorEl` prop provided to the component is invalid.","The anchor element should be part of the document layout.","Make sure the element is present in the document or that it's not display none."].join(` +`))}else if(!t||typeof t.getBoundingClientRect!="function"||Ap(t)&&t.contextElement!=null&&t.contextElement.nodeType!==1)return new Error(["MUI: The `anchorEl` prop provided to the component is invalid.","It should be an HTML element instance or a virtualElement ","(https://popper.js.org/docs/v2/virtual-elements/)."].join(` +`))}return null}),children:a.oneOfType([a.node,a.func]),container:a.oneOfType([Qe,a.func]),direction:a.oneOf(["ltr","rtl"]),disablePortal:a.bool,keepMounted:a.bool,modifiers:a.arrayOf(a.shape({data:a.object,effect:a.func,enabled:a.bool,fn:a.func,name:a.any,options:a.object,phase:a.oneOf(["afterMain","afterRead","afterWrite","beforeMain","beforeRead","beforeWrite","main","read","write"]),requires:a.arrayOf(a.string),requiresIfExists:a.arrayOf(a.string)})),open:a.bool.isRequired,placement:a.oneOf(["auto-end","auto-start","auto","bottom-end","bottom-start","bottom","left-end","left-start","left","right-end","right-start","right","top-end","top-start","top"]),popperOptions:a.shape({modifiers:a.array,onFirstUpdate:a.func,placement:a.oneOf(["auto-end","auto-start","auto","bottom-end","bottom-start","bottom","left-end","left-start","left","right-end","right-start","right","top-end","top-start","top"]),strategy:a.oneOf(["absolute","fixed"])}),popperRef:Xr,slotProps:a.shape({root:a.oneOfType([a.func,a.object])}),slots:a.shape({root:a.elementType}),transition:a.bool});const Fp=["values","unit","step"],Vp=e=>{const t=Object.keys(e).map(n=>({key:n,val:e[n]}))||[];return t.sort((n,r)=>n.val-r.val),t.reduce((n,r)=>T({},n,{[r.key]:r.val}),{})};function zp(e){const{values:t={xs:0,sm:600,md:900,lg:1200,xl:1536},unit:n="px",step:r=5}=e,o=de(e,Fp),i=Vp(t),s=Object.keys(i);function l(d){return`@media (min-width:${typeof t[d]=="number"?t[d]:d}${n})`}function c(d){return`@media (max-width:${(typeof t[d]=="number"?t[d]:d)-r/100}${n})`}function p(d,g){const y=s.indexOf(g);return`@media (min-width:${typeof t[d]=="number"?t[d]:d}${n}) and (max-width:${(y!==-1&&typeof t[s[y]]=="number"?t[s[y]]:g)-r/100}${n})`}function u(d){return s.indexOf(d)+1`@media (min-width:${to[e]}px)`};function tt(e,t,n){const r=e.theme||{};if(Array.isArray(t)){const i=r.breakpoints||si;return t.reduce((s,l,c)=>(s[i.up(i.keys[c])]=n(t[c]),s),{})}if(typeof t=="object"){const i=r.breakpoints||si;return Object.keys(t).reduce((s,l)=>{if(Object.keys(i.values||to).indexOf(l)!==-1){const c=i.up(l);s[c]=n(t[l],l)}else{const c=l;s[c]=t[c]}return s},{})}return n(t)}function Wp(e={}){var t;return((t=e.keys)==null?void 0:t.reduce((r,o)=>{const i=e.up(o);return r[i]={},r},{}))||{}}function Xp(e,t){return e.reduce((n,r)=>{const o=n[r];return(!o||Object.keys(o).length===0)&&delete n[r],n},t)}function Kn(e,t,n=!0){if(!t||typeof t!="string")return null;if(e&&e.vars&&n){const r=`vars.${t}`.split(".").reduce((o,i)=>o&&o[i]?o[i]:null,e);if(r!=null)return r}return t.split(".").reduce((r,o)=>r&&r[o]!=null?r[o]:null,e)}function Vn(e,t,n,r=n){let o;return typeof e=="function"?o=e(n):Array.isArray(e)?o=e[n]||r:o=Kn(e,n)||r,t&&(o=t(o,r,e)),o}function ye(e){const{prop:t,cssProperty:n=e.prop,themeKey:r,transform:o}=e,i=s=>{if(s[t]==null)return null;const l=s[t],c=s.theme,p=Kn(c,r)||{};return tt(s,l,f=>{let d=Vn(p,o,f);return f===d&&typeof f=="string"&&(d=Vn(p,o,`${t}${f==="default"?"":We(f)}`,f)),n===!1?d:{[n]:d}})};return i.propTypes=process.env.NODE_ENV!=="production"?{[t]:ct}:{},i.filterProps=[t],i}function Yp(e){const t={};return n=>(t[n]===void 0&&(t[n]=e(n)),t[n])}const Gp={m:"margin",p:"padding"},Kp={t:"Top",r:"Right",b:"Bottom",l:"Left",x:["Left","Right"],y:["Top","Bottom"]},li={marginX:"mx",marginY:"my",paddingX:"px",paddingY:"py"},Jp=Yp(e=>{if(e.length>2)if(li[e])e=li[e];else return[e];const[t,n]=e.split(""),r=Gp[t],o=Kp[n]||"";return Array.isArray(o)?o.map(i=>r+i):[r+o]}),Jn=["m","mt","mr","mb","ml","mx","my","margin","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","marginInline","marginInlineStart","marginInlineEnd","marginBlock","marginBlockStart","marginBlockEnd"],Zn=["p","pt","pr","pb","pl","px","py","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","paddingInline","paddingInlineStart","paddingInlineEnd","paddingBlock","paddingBlockStart","paddingBlockEnd"],Zp=[...Jn,...Zn];function wn(e,t,n,r){var o;const i=(o=Kn(e,t,!1))!=null?o:n;return typeof i=="number"?s=>typeof s=="string"?s:(process.env.NODE_ENV!=="production"&&typeof s!="number"&&console.error(`MUI: Expected ${r} argument to be a number or a string, got ${s}.`),i*s):Array.isArray(i)?s=>typeof s=="string"?s:(process.env.NODE_ENV!=="production"&&(Number.isInteger(s)?s>i.length-1&&console.error([`MUI: The value provided (${s}) overflows.`,`The supported values are: ${JSON.stringify(i)}.`,`${s} > ${i.length-1}, you need to add the missing values.`].join(` `)):console.error([`MUI: The \`theme.${t}\` array type cannot be combined with non integer values.You should either use an integer value that can be used as index, or define the \`theme.${t}\` as a number.`].join(` `))),i[s]):typeof i=="function"?i:(process.env.NODE_ENV!=="production"&&console.error([`MUI: The \`theme.${t}\` value (${i}) is invalid.`,"It should be a number, an array or a function."].join(` -`)),()=>{})}function wa(e){return yn(e,"spacing",8,"spacing")}function wn(e,t){if(typeof t=="string"||t==null)return t;const n=Math.abs(t),r=e(n);return t>=0?r:typeof r=="number"?-r:`-${r}`}function Bu(e,t){return n=>e.reduce((r,o)=>(r[o]=wn(t,n),r),{})}function Lu(e,t,n,r){if(t.indexOf(n)===-1)return null;const o=Au(n),i=Bu(o,r),s=e[n];return et(e,s,i)}function xa(e,t){const n=wa(e.theme);return Object.keys(e).map(r=>Lu(e,t,r,n)).reduce(sn,{})}function me(e){return xa(e,Kn)}me.propTypes=process.env.NODE_ENV!=="production"?Kn.reduce((e,t)=>(e[t]=ct,e),{}):{};me.filterProps=Kn;function ge(e){return xa(e,Jn)}ge.propTypes=process.env.NODE_ENV!=="production"?Jn.reduce((e,t)=>(e[t]=ct,e),{}):{};ge.filterProps=Jn;process.env.NODE_ENV!=="production"&&Du.reduce((e,t)=>(e[t]=ct,e),{});function Fu(e=8){if(e.mui)return e;const t=wa({spacing:e}),n=(...r)=>(process.env.NODE_ENV!=="production"&&(r.length<=4||console.error(`MUI: Too many arguments provided, expected between 0 and 4, got ${r.length}`)),(r.length===0?[1]:r).map(i=>{const s=t(i);return typeof s=="number"?`${s}px`:s}).join(" "));return n.mui=!0,n}function Zn(...e){const t=e.reduce((r,o)=>(o.filterProps.forEach(i=>{r[i]=o}),r),{}),n=r=>Object.keys(r).reduce((o,i)=>t[i]?sn(o,t[i](r)):o,{});return n.propTypes=process.env.NODE_ENV!=="production"?e.reduce((r,o)=>Object.assign(r,o.propTypes),{}):{},n.filterProps=e.reduce((r,o)=>r.concat(o.filterProps),[]),n}function De(e){return typeof e!="number"?e:`${e}px solid`}function ze(e,t){return ye({prop:e,themeKey:"borders",transform:t})}const Vu=ze("border",De),zu=ze("borderTop",De),Uu=ze("borderRight",De),qu=ze("borderBottom",De),Hu=ze("borderLeft",De),Wu=ze("borderColor"),Gu=ze("borderTopColor"),Xu=ze("borderRightColor"),Yu=ze("borderBottomColor"),Ku=ze("borderLeftColor"),Ju=ze("outline",De),Zu=ze("outlineColor"),Qn=e=>{if(e.borderRadius!==void 0&&e.borderRadius!==null){const t=yn(e.theme,"shape.borderRadius",4,"borderRadius"),n=r=>({borderRadius:wn(t,r)});return et(e,e.borderRadius,n)}return null};Qn.propTypes=process.env.NODE_ENV!=="production"?{borderRadius:ct}:{};Qn.filterProps=["borderRadius"];Zn(Vu,zu,Uu,qu,Hu,Wu,Gu,Xu,Yu,Ku,Qn,Ju,Zu);const er=e=>{if(e.gap!==void 0&&e.gap!==null){const t=yn(e.theme,"spacing",8,"gap"),n=r=>({gap:wn(t,r)});return et(e,e.gap,n)}return null};er.propTypes=process.env.NODE_ENV!=="production"?{gap:ct}:{};er.filterProps=["gap"];const tr=e=>{if(e.columnGap!==void 0&&e.columnGap!==null){const t=yn(e.theme,"spacing",8,"columnGap"),n=r=>({columnGap:wn(t,r)});return et(e,e.columnGap,n)}return null};tr.propTypes=process.env.NODE_ENV!=="production"?{columnGap:ct}:{};tr.filterProps=["columnGap"];const nr=e=>{if(e.rowGap!==void 0&&e.rowGap!==null){const t=yn(e.theme,"spacing",8,"rowGap"),n=r=>({rowGap:wn(t,r)});return et(e,e.rowGap,n)}return null};nr.propTypes=process.env.NODE_ENV!=="production"?{rowGap:ct}:{};nr.filterProps=["rowGap"];const Qu=ye({prop:"gridColumn"}),ep=ye({prop:"gridRow"}),tp=ye({prop:"gridAutoFlow"}),np=ye({prop:"gridAutoColumns"}),rp=ye({prop:"gridAutoRows"}),op=ye({prop:"gridTemplateColumns"}),ip=ye({prop:"gridTemplateRows"}),ap=ye({prop:"gridTemplateAreas"}),sp=ye({prop:"gridArea"});Zn(er,tr,nr,Qu,ep,tp,np,rp,op,ip,ap,sp);function $t(e,t){return t==="grey"?t:e}const lp=ye({prop:"color",themeKey:"palette",transform:$t}),cp=ye({prop:"bgcolor",cssProperty:"backgroundColor",themeKey:"palette",transform:$t}),up=ye({prop:"backgroundColor",themeKey:"palette",transform:$t});Zn(lp,cp,up);function Ie(e){return e<=1&&e!==0?`${e*100}%`:e}const pp=ye({prop:"width",transform:Ie}),Qr=e=>{if(e.maxWidth!==void 0&&e.maxWidth!==null){const t=n=>{var r,o;const i=((r=e.theme)==null||(r=r.breakpoints)==null||(r=r.values)==null?void 0:r[n])||Zr[n];return i?((o=e.theme)==null||(o=o.breakpoints)==null?void 0:o.unit)!=="px"?{maxWidth:`${i}${e.theme.breakpoints.unit}`}:{maxWidth:i}:{maxWidth:Ie(n)}};return et(e,e.maxWidth,t)}return null};Qr.filterProps=["maxWidth"];const dp=ye({prop:"minWidth",transform:Ie}),fp=ye({prop:"height",transform:Ie}),hp=ye({prop:"maxHeight",transform:Ie}),mp=ye({prop:"minHeight",transform:Ie});ye({prop:"size",cssProperty:"width",transform:Ie});ye({prop:"size",cssProperty:"height",transform:Ie});const gp=ye({prop:"boxSizing"});Zn(pp,Qr,dp,fp,hp,mp,gp);const bp={border:{themeKey:"borders",transform:De},borderTop:{themeKey:"borders",transform:De},borderRight:{themeKey:"borders",transform:De},borderBottom:{themeKey:"borders",transform:De},borderLeft:{themeKey:"borders",transform:De},borderColor:{themeKey:"palette"},borderTopColor:{themeKey:"palette"},borderRightColor:{themeKey:"palette"},borderBottomColor:{themeKey:"palette"},borderLeftColor:{themeKey:"palette"},outline:{themeKey:"borders",transform:De},outlineColor:{themeKey:"palette"},borderRadius:{themeKey:"shape.borderRadius",style:Qn},color:{themeKey:"palette",transform:$t},bgcolor:{themeKey:"palette",cssProperty:"backgroundColor",transform:$t},backgroundColor:{themeKey:"palette",transform:$t},p:{style:ge},pt:{style:ge},pr:{style:ge},pb:{style:ge},pl:{style:ge},px:{style:ge},py:{style:ge},padding:{style:ge},paddingTop:{style:ge},paddingRight:{style:ge},paddingBottom:{style:ge},paddingLeft:{style:ge},paddingX:{style:ge},paddingY:{style:ge},paddingInline:{style:ge},paddingInlineStart:{style:ge},paddingInlineEnd:{style:ge},paddingBlock:{style:ge},paddingBlockStart:{style:ge},paddingBlockEnd:{style:ge},m:{style:me},mt:{style:me},mr:{style:me},mb:{style:me},ml:{style:me},mx:{style:me},my:{style:me},margin:{style:me},marginTop:{style:me},marginRight:{style:me},marginBottom:{style:me},marginLeft:{style:me},marginX:{style:me},marginY:{style:me},marginInline:{style:me},marginInlineStart:{style:me},marginInlineEnd:{style:me},marginBlock:{style:me},marginBlockStart:{style:me},marginBlockEnd:{style:me},displayPrint:{cssProperty:!1,transform:e=>({"@media print":{display:e}})},display:{},overflow:{},textOverflow:{},visibility:{},whiteSpace:{},flexBasis:{},flexDirection:{},flexWrap:{},justifyContent:{},alignItems:{},alignContent:{},order:{},flex:{},flexGrow:{},flexShrink:{},alignSelf:{},justifyItems:{},justifySelf:{},gap:{style:er},rowGap:{style:nr},columnGap:{style:tr},gridColumn:{},gridRow:{},gridAutoFlow:{},gridAutoColumns:{},gridAutoRows:{},gridTemplateColumns:{},gridTemplateRows:{},gridTemplateAreas:{},gridArea:{},position:{},zIndex:{themeKey:"zIndex"},top:{},right:{},bottom:{},left:{},boxShadow:{themeKey:"shadows"},width:{transform:Ie},maxWidth:{style:Qr},minWidth:{transform:Ie},height:{transform:Ie},maxHeight:{transform:Ie},minHeight:{transform:Ie},boxSizing:{},fontFamily:{themeKey:"typography"},fontSize:{themeKey:"typography"},fontStyle:{themeKey:"typography"},fontWeight:{themeKey:"typography"},letterSpacing:{},textTransform:{},lineHeight:{},textAlign:{},typography:{cssProperty:!1,themeKey:"typography"}},eo=bp;function vp(...e){const t=e.reduce((r,o)=>r.concat(Object.keys(o)),[]),n=new Set(t);return e.every(r=>n.size===Object.keys(r).length)}function yp(e,t){return typeof e=="function"?e(t):e}function wp(){function e(n,r,o,i){const s={[n]:r,theme:o},l=i[n];if(!l)return{[n]:r};const{cssProperty:c=n,themeKey:u,transform:p,style:f}=l;if(r==null)return null;if(u==="typography"&&r==="inherit")return{[n]:r};const d=Yn(o,u)||{};return f?f(s):et(s,r,y=>{let b=Fn(d,p,y);return y===b&&typeof y=="string"&&(b=Fn(d,p,`${n}${y==="default"?"":He(y)}`,y)),c===!1?b:{[c]:b}})}function t(n){var r;const{sx:o,theme:i={}}=n||{};if(!o)return null;const s=(r=i.unstable_sxConfig)!=null?r:eo;function l(c){let u=c;if(typeof c=="function")u=c(i);else if(typeof c!="object")return c;if(!u)return null;const p=Mu(i.breakpoints),f=Object.keys(p);let d=p;return Object.keys(u).forEach(g=>{const y=yp(u[g],i);if(y!=null)if(typeof y=="object")if(s[g])d=sn(d,e(g,y,i,s));else{const b=et({theme:i},y,h=>({[g]:h}));vp(b,y)?d[g]=t({sx:y,theme:i}):d=sn(d,b)}else d=sn(d,e(g,y,i,s))}),$u(f,d)}return Array.isArray(o)?o.map(l):l(o)}return t}const Ea=wp();Ea.filterProps=["sx"];const to=Ea;function xp(e,t){const n=this;return n.vars&&typeof n.getColorSchemeSelector=="function"?{[n.getColorSchemeSelector(e).replace(/(\[[^\]]+\])/,"*:where($1)")]:t}:n.palette.mode===e?t:{}}const Ep=["breakpoints","palette","spacing","shape"];function no(e={},...t){const{breakpoints:n={},palette:r={},spacing:o,shape:i={}}=e,s=pe(e,Ep),l=Cu(n),c=Fu(o);let u=Je({breakpoints:l,direction:"ltr",components:{},palette:T({mode:"light"},r),spacing:c,shape:T({},Pu,i)},s);return u.applyStyles=xp,u=t.reduce((p,f)=>Je(p,f),u),u.unstable_sxConfig=T({},eo,s==null?void 0:s.unstable_sxConfig),u.unstable_sx=function(f){return to({sx:f,theme:this})},u}function kp(e){return Object.keys(e).length===0}function ka(e=null){const t=k.useContext(Tr.ThemeContext);return!t||kp(t)?e:t}const Tp=no();function Ta(e=Tp){return ka(e)}const Op=["ownerState"],Sp=["variants"],Cp=["name","slot","skipVariantsResolver","skipSx","overridesResolver"];function Np(e){return Object.keys(e).length===0}function Pp(e){return typeof e=="string"&&e.charCodeAt(0)>96}function Mn(e){return e!=="ownerState"&&e!=="theme"&&e!=="sx"&&e!=="as"}const Rp=no(),ai=e=>e&&e.charAt(0).toLowerCase()+e.slice(1);function Cn({defaultTheme:e,theme:t,themeId:n}){return Np(t)?e:t[n]||t}function Mp(e){return e?(t,n)=>n[e]:null}function $n(e,t){let{ownerState:n}=t,r=pe(t,Op);const o=typeof e=="function"?e(T({ownerState:n},r)):e;if(Array.isArray(o))return o.flatMap(i=>$n(i,T({ownerState:n},r)));if(o&&typeof o=="object"&&Array.isArray(o.variants)){const{variants:i=[]}=o;let l=pe(o,Sp);return i.forEach(c=>{let u=!0;typeof c.props=="function"?u=c.props(T({ownerState:n},r,n)):Object.keys(c.props).forEach(p=>{(n==null?void 0:n[p])!==c.props[p]&&r[p]!==c.props[p]&&(u=!1)}),u&&(Array.isArray(l)||(l=[l]),l.push(typeof c.style=="function"?c.style(T({ownerState:n},r,n)):c.style))}),l}return o}function $p(e={}){const{themeId:t,defaultTheme:n=Rp,rootShouldForwardProp:r=Mn,slotShouldForwardProp:o=Mn}=e,i=s=>to(T({},s,{theme:Cn(T({},s,{defaultTheme:n,themeId:t}))}));return i.__mui_systemSx=!0,(s,l={})=>{Tr.internal_processStyles(s,m=>m.filter(S=>!(S!=null&&S.__mui_systemSx)));const{name:c,slot:u,skipVariantsResolver:p,skipSx:f,overridesResolver:d=Mp(ai(u))}=l,g=pe(l,Cp),y=p!==void 0?p:u&&u!=="Root"&&u!=="root"||!1,b=f||!1;let h;process.env.NODE_ENV!=="production"&&c&&(h=`${c}-${ai(u||"Root")}`);let E=Mn;u==="Root"||u==="root"?E=r:u?E=o:Pp(s)&&(E=void 0);const j=Tr(s,T({shouldForwardProp:E,label:h},g)),w=m=>typeof m=="function"&&m.__emotion_real!==m||mt(m)?S=>$n(m,T({},S,{theme:Cn({theme:S.theme,defaultTheme:n,themeId:t})})):m,x=(m,...S)=>{let N=w(m);const F=S?S.map(w):[];c&&d&&F.push(C=>{const M=Cn(T({},C,{defaultTheme:n,themeId:t}));if(!M.components||!M.components[c]||!M.components[c].styleOverrides)return null;const R=M.components[c].styleOverrides,B={};return Object.entries(R).forEach(([D,$])=>{B[D]=$n($,T({},C,{theme:M}))}),d(C,B)}),c&&!y&&F.push(C=>{var M;const R=Cn(T({},C,{defaultTheme:n,themeId:t})),B=R==null||(M=R.components)==null||(M=M[c])==null?void 0:M.variants;return $n({variants:B},T({},C,{theme:R}))}),b||F.push(i);const L=F.length-S.length;if(Array.isArray(m)&&L>0){const C=new Array(L).fill("");N=[...m,...C],N.raw=[...m.raw,...C]}const V=j(N,...F);if(process.env.NODE_ENV!=="production"){let C;c&&(C=`${c}${He(u||"")}`),C===void 0&&(C=`Styled(${gl(s)})`),V.displayName=C}return s.muiName&&(V.muiName=s.muiName),V};return j.withConfig&&(x.withConfig=j.withConfig),x}}function jp(e){const{theme:t,name:n,props:r}=e;return!t||!t.components||!t.components[n]||!t.components[n].defaultProps?r:na(t.components[n].defaultProps,r)}function Ip({props:e,name:t,defaultTheme:n,themeId:r}){let o=Ta(n);return r&&(o=o[r]||o),jp({theme:o,name:t,props:e})}function ro(e,t=0,n=1){return process.env.NODE_ENV!=="production"&&(en)&&console.error(`MUI: The value provided ${e} is out of range [${t}, ${n}].`),Ll(e,t,n)}function _p(e){e=e.slice(1);const t=new RegExp(`.{1,${e.length>=6?2:1}}`,"g");let n=e.match(t);return n&&n[0].length===1&&(n=n.map(r=>r+r)),n?`rgb${n.length===4?"a":""}(${n.map((r,o)=>o<3?parseInt(r,16):Math.round(parseInt(r,16)/255*1e3)/1e3).join(", ")})`:""}function Et(e){if(e.type)return e;if(e.charAt(0)==="#")return Et(_p(e));const t=e.indexOf("("),n=e.substring(0,t);if(["rgb","rgba","hsl","hsla","color"].indexOf(n)===-1)throw new Error(process.env.NODE_ENV!=="production"?`MUI: Unsupported \`${e}\` color. -The following formats are supported: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().`:jt(9,e));let r=e.substring(t+1,e.length-1),o;if(n==="color"){if(r=r.split(" "),o=r.shift(),r.length===4&&r[3].charAt(0)==="/"&&(r[3]=r[3].slice(1)),["srgb","display-p3","a98-rgb","prophoto-rgb","rec-2020"].indexOf(o)===-1)throw new Error(process.env.NODE_ENV!=="production"?`MUI: unsupported \`${o}\` color space. -The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rgb, rec-2020.`:jt(10,o))}else r=r.split(",");return r=r.map(i=>parseFloat(i)),{type:n,values:r,colorSpace:o}}function rr(e){const{type:t,colorSpace:n}=e;let{values:r}=e;return t.indexOf("rgb")!==-1?r=r.map((o,i)=>i<3?parseInt(o,10):o):t.indexOf("hsl")!==-1&&(r[1]=`${r[1]}%`,r[2]=`${r[2]}%`),t.indexOf("color")!==-1?r=`${n} ${r.join(" ")}`:r=`${r.join(", ")}`,`${t}(${r})`}function Ap(e){e=Et(e);const{values:t}=e,n=t[0],r=t[1]/100,o=t[2]/100,i=r*Math.min(o,1-o),s=(u,p=(u+n/30)%12)=>o-i*Math.max(Math.min(p-3,9-p,1),-1);let l="rgb";const c=[Math.round(s(0)*255),Math.round(s(8)*255),Math.round(s(4)*255)];return e.type==="hsla"&&(l+="a",c.push(t[3])),rr({type:l,values:c})}function si(e){e=Et(e);let t=e.type==="hsl"||e.type==="hsla"?Et(Ap(e)).values:e.values;return t=t.map(n=>(e.type!=="color"&&(n/=255),n<=.03928?n/12.92:((n+.055)/1.055)**2.4)),Number((.2126*t[0]+.7152*t[1]+.0722*t[2]).toFixed(3))}function li(e,t){const n=si(e),r=si(t);return(Math.max(n,r)+.05)/(Math.min(n,r)+.05)}function Vn(e,t){return e=Et(e),t=ro(t),(e.type==="rgb"||e.type==="hsl")&&(e.type+="a"),e.type==="color"?e.values[3]=`/${t}`:e.values[3]=t,rr(e)}function Dp(e,t){if(e=Et(e),t=ro(t),e.type.indexOf("hsl")!==-1)e.values[2]*=1-t;else if(e.type.indexOf("rgb")!==-1||e.type.indexOf("color")!==-1)for(let n=0;n<3;n+=1)e.values[n]*=1-t;return rr(e)}function Bp(e,t){if(e=Et(e),t=ro(t),e.type.indexOf("hsl")!==-1)e.values[2]+=(100-e.values[2])*t;else if(e.type.indexOf("rgb")!==-1)for(let n=0;n<3;n+=1)e.values[n]+=(255-e.values[n])*t;else if(e.type.indexOf("color")!==-1)for(let n=0;n<3;n+=1)e.values[n]+=(1-e.values[n])*t;return rr(e)}function Lp(e,t){return T({toolbar:{minHeight:56,[e.up("xs")]:{"@media (orientation: landscape)":{minHeight:48}},[e.up("sm")]:{minHeight:64}}},t)}const Fp={black:"#000",white:"#fff"},dn=Fp,Vp={50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",A100:"#f5f5f5",A200:"#eeeeee",A400:"#bdbdbd",A700:"#616161"},zp=Vp,Up={50:"#f3e5f5",100:"#e1bee7",200:"#ce93d8",300:"#ba68c8",400:"#ab47bc",500:"#9c27b0",600:"#8e24aa",700:"#7b1fa2",800:"#6a1b9a",900:"#4a148c",A100:"#ea80fc",A200:"#e040fb",A400:"#d500f9",A700:"#aa00ff"},Tt=Up,qp={50:"#ffebee",100:"#ffcdd2",200:"#ef9a9a",300:"#e57373",400:"#ef5350",500:"#f44336",600:"#e53935",700:"#d32f2f",800:"#c62828",900:"#b71c1c",A100:"#ff8a80",A200:"#ff5252",A400:"#ff1744",A700:"#d50000"},Ot=qp,Hp={50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100",A100:"#ffd180",A200:"#ffab40",A400:"#ff9100",A700:"#ff6d00"},Yt=Hp,Wp={50:"#e3f2fd",100:"#bbdefb",200:"#90caf9",300:"#64b5f6",400:"#42a5f5",500:"#2196f3",600:"#1e88e5",700:"#1976d2",800:"#1565c0",900:"#0d47a1",A100:"#82b1ff",A200:"#448aff",A400:"#2979ff",A700:"#2962ff"},St=Wp,Gp={50:"#e1f5fe",100:"#b3e5fc",200:"#81d4fa",300:"#4fc3f7",400:"#29b6f6",500:"#03a9f4",600:"#039be5",700:"#0288d1",800:"#0277bd",900:"#01579b",A100:"#80d8ff",A200:"#40c4ff",A400:"#00b0ff",A700:"#0091ea"},Ct=Gp,Xp={50:"#e8f5e9",100:"#c8e6c9",200:"#a5d6a7",300:"#81c784",400:"#66bb6a",500:"#4caf50",600:"#43a047",700:"#388e3c",800:"#2e7d32",900:"#1b5e20",A100:"#b9f6ca",A200:"#69f0ae",A400:"#00e676",A700:"#00c853"},Nt=Xp,Yp=["mode","contrastThreshold","tonalOffset"],ci={text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.6)",disabled:"rgba(0, 0, 0, 0.38)"},divider:"rgba(0, 0, 0, 0.12)",background:{paper:dn.white,default:dn.white},action:{active:"rgba(0, 0, 0, 0.54)",hover:"rgba(0, 0, 0, 0.04)",hoverOpacity:.04,selected:"rgba(0, 0, 0, 0.08)",selectedOpacity:.08,disabled:"rgba(0, 0, 0, 0.26)",disabledBackground:"rgba(0, 0, 0, 0.12)",disabledOpacity:.38,focus:"rgba(0, 0, 0, 0.12)",focusOpacity:.12,activatedOpacity:.12}},br={text:{primary:dn.white,secondary:"rgba(255, 255, 255, 0.7)",disabled:"rgba(255, 255, 255, 0.5)",icon:"rgba(255, 255, 255, 0.5)"},divider:"rgba(255, 255, 255, 0.12)",background:{paper:"#121212",default:"#121212"},action:{active:dn.white,hover:"rgba(255, 255, 255, 0.08)",hoverOpacity:.08,selected:"rgba(255, 255, 255, 0.16)",selectedOpacity:.16,disabled:"rgba(255, 255, 255, 0.3)",disabledBackground:"rgba(255, 255, 255, 0.12)",disabledOpacity:.38,focus:"rgba(255, 255, 255, 0.12)",focusOpacity:.12,activatedOpacity:.24}};function ui(e,t,n,r){const o=r.light||r,i=r.dark||r*1.5;e[t]||(e.hasOwnProperty(n)?e[t]=e[n]:t==="light"?e.light=Bp(e.main,o):t==="dark"&&(e.dark=Dp(e.main,i)))}function Kp(e="light"){return e==="dark"?{main:St[200],light:St[50],dark:St[400]}:{main:St[700],light:St[400],dark:St[800]}}function Jp(e="light"){return e==="dark"?{main:Tt[200],light:Tt[50],dark:Tt[400]}:{main:Tt[500],light:Tt[300],dark:Tt[700]}}function Zp(e="light"){return e==="dark"?{main:Ot[500],light:Ot[300],dark:Ot[700]}:{main:Ot[700],light:Ot[400],dark:Ot[800]}}function Qp(e="light"){return e==="dark"?{main:Ct[400],light:Ct[300],dark:Ct[700]}:{main:Ct[700],light:Ct[500],dark:Ct[900]}}function ed(e="light"){return e==="dark"?{main:Nt[400],light:Nt[300],dark:Nt[700]}:{main:Nt[800],light:Nt[500],dark:Nt[900]}}function td(e="light"){return e==="dark"?{main:Yt[400],light:Yt[300],dark:Yt[700]}:{main:"#ed6c02",light:Yt[500],dark:Yt[900]}}function nd(e){const{mode:t="light",contrastThreshold:n=3,tonalOffset:r=.2}=e,o=pe(e,Yp),i=e.primary||Kp(t),s=e.secondary||Jp(t),l=e.error||Zp(t),c=e.info||Qp(t),u=e.success||ed(t),p=e.warning||td(t);function f(b){const h=li(b,br.text.primary)>=n?br.text.primary:ci.text.primary;if(process.env.NODE_ENV!=="production"){const E=li(b,h);E<3&&console.error([`MUI: The contrast ratio of ${E}:1 for ${h} on ${b}`,"falls below the WCAG recommended absolute minimum contrast ratio of 3:1.","https://www.w3.org/TR/2008/REC-WCAG20-20081211/#visual-audio-contrast-contrast"].join(` -`))}return h}const d=({color:b,name:h,mainShade:E=500,lightShade:j=300,darkShade:w=700})=>{if(b=T({},b),!b.main&&b[E]&&(b.main=b[E]),!b.hasOwnProperty("main"))throw new Error(process.env.NODE_ENV!=="production"?`MUI: The color${h?` (${h})`:""} provided to augmentColor(color) is invalid. -The color object needs to have a \`main\` property or a \`${E}\` property.`:jt(11,h?` (${h})`:"",E));if(typeof b.main!="string")throw new Error(process.env.NODE_ENV!=="production"?`MUI: The color${h?` (${h})`:""} provided to augmentColor(color) is invalid. +`)),()=>{})}function Ea(e){return wn(e,"spacing",8,"spacing")}function xn(e,t){if(typeof t=="string"||t==null)return t;const n=Math.abs(t),r=e(n);return t>=0?r:typeof r=="number"?-r:`-${r}`}function Qp(e,t){return n=>e.reduce((r,o)=>(r[o]=xn(t,n),r),{})}function eu(e,t,n,r){if(t.indexOf(n)===-1)return null;const o=Jp(n),i=Qp(o,r),s=e[n];return tt(e,s,i)}function ka(e,t){const n=Ea(e.theme);return Object.keys(e).map(r=>eu(e,t,r,n)).reduce(cn,{})}function me(e){return ka(e,Jn)}me.propTypes=process.env.NODE_ENV!=="production"?Jn.reduce((e,t)=>(e[t]=ct,e),{}):{};me.filterProps=Jn;function ge(e){return ka(e,Zn)}ge.propTypes=process.env.NODE_ENV!=="production"?Zn.reduce((e,t)=>(e[t]=ct,e),{}):{};ge.filterProps=Zn;process.env.NODE_ENV!=="production"&&Zp.reduce((e,t)=>(e[t]=ct,e),{});function tu(e=8){if(e.mui)return e;const t=Ea({spacing:e}),n=(...r)=>(process.env.NODE_ENV!=="production"&&(r.length<=4||console.error(`MUI: Too many arguments provided, expected between 0 and 4, got ${r.length}`)),(r.length===0?[1]:r).map(i=>{const s=t(i);return typeof s=="number"?`${s}px`:s}).join(" "));return n.mui=!0,n}function Qn(...e){const t=e.reduce((r,o)=>(o.filterProps.forEach(i=>{r[i]=o}),r),{}),n=r=>Object.keys(r).reduce((o,i)=>t[i]?cn(o,t[i](r)):o,{});return n.propTypes=process.env.NODE_ENV!=="production"?e.reduce((r,o)=>Object.assign(r,o.propTypes),{}):{},n.filterProps=e.reduce((r,o)=>r.concat(o.filterProps),[]),n}function De(e){return typeof e!="number"?e:`${e}px solid`}function ze(e,t){return ye({prop:e,themeKey:"borders",transform:t})}const nu=ze("border",De),ru=ze("borderTop",De),ou=ze("borderRight",De),iu=ze("borderBottom",De),au=ze("borderLeft",De),su=ze("borderColor"),lu=ze("borderTopColor"),cu=ze("borderRightColor"),pu=ze("borderBottomColor"),uu=ze("borderLeftColor"),du=ze("outline",De),fu=ze("outlineColor"),er=e=>{if(e.borderRadius!==void 0&&e.borderRadius!==null){const t=wn(e.theme,"shape.borderRadius",4,"borderRadius"),n=r=>({borderRadius:xn(t,r)});return tt(e,e.borderRadius,n)}return null};er.propTypes=process.env.NODE_ENV!=="production"?{borderRadius:ct}:{};er.filterProps=["borderRadius"];Qn(nu,ru,ou,iu,au,su,lu,cu,pu,uu,er,du,fu);const tr=e=>{if(e.gap!==void 0&&e.gap!==null){const t=wn(e.theme,"spacing",8,"gap"),n=r=>({gap:xn(t,r)});return tt(e,e.gap,n)}return null};tr.propTypes=process.env.NODE_ENV!=="production"?{gap:ct}:{};tr.filterProps=["gap"];const nr=e=>{if(e.columnGap!==void 0&&e.columnGap!==null){const t=wn(e.theme,"spacing",8,"columnGap"),n=r=>({columnGap:xn(t,r)});return tt(e,e.columnGap,n)}return null};nr.propTypes=process.env.NODE_ENV!=="production"?{columnGap:ct}:{};nr.filterProps=["columnGap"];const rr=e=>{if(e.rowGap!==void 0&&e.rowGap!==null){const t=wn(e.theme,"spacing",8,"rowGap"),n=r=>({rowGap:xn(t,r)});return tt(e,e.rowGap,n)}return null};rr.propTypes=process.env.NODE_ENV!=="production"?{rowGap:ct}:{};rr.filterProps=["rowGap"];const hu=ye({prop:"gridColumn"}),mu=ye({prop:"gridRow"}),gu=ye({prop:"gridAutoFlow"}),bu=ye({prop:"gridAutoColumns"}),vu=ye({prop:"gridAutoRows"}),yu=ye({prop:"gridTemplateColumns"}),wu=ye({prop:"gridTemplateRows"}),xu=ye({prop:"gridTemplateAreas"}),Eu=ye({prop:"gridArea"});Qn(tr,nr,rr,hu,mu,gu,bu,vu,yu,wu,xu,Eu);function jt(e,t){return t==="grey"?t:e}const ku=ye({prop:"color",themeKey:"palette",transform:jt}),Tu=ye({prop:"bgcolor",cssProperty:"backgroundColor",themeKey:"palette",transform:jt}),Ou=ye({prop:"backgroundColor",themeKey:"palette",transform:jt});Qn(ku,Tu,Ou);function Ie(e){return e<=1&&e!==0?`${e*100}%`:e}const Cu=ye({prop:"width",transform:Ie}),no=e=>{if(e.maxWidth!==void 0&&e.maxWidth!==null){const t=n=>{var r,o;const i=((r=e.theme)==null||(r=r.breakpoints)==null||(r=r.values)==null?void 0:r[n])||to[n];return i?((o=e.theme)==null||(o=o.breakpoints)==null?void 0:o.unit)!=="px"?{maxWidth:`${i}${e.theme.breakpoints.unit}`}:{maxWidth:i}:{maxWidth:Ie(n)}};return tt(e,e.maxWidth,t)}return null};no.filterProps=["maxWidth"];const Su=ye({prop:"minWidth",transform:Ie}),Nu=ye({prop:"height",transform:Ie}),Pu=ye({prop:"maxHeight",transform:Ie}),Ru=ye({prop:"minHeight",transform:Ie});ye({prop:"size",cssProperty:"width",transform:Ie});ye({prop:"size",cssProperty:"height",transform:Ie});const Mu=ye({prop:"boxSizing"});Qn(Cu,no,Su,Nu,Pu,Ru,Mu);const $u={border:{themeKey:"borders",transform:De},borderTop:{themeKey:"borders",transform:De},borderRight:{themeKey:"borders",transform:De},borderBottom:{themeKey:"borders",transform:De},borderLeft:{themeKey:"borders",transform:De},borderColor:{themeKey:"palette"},borderTopColor:{themeKey:"palette"},borderRightColor:{themeKey:"palette"},borderBottomColor:{themeKey:"palette"},borderLeftColor:{themeKey:"palette"},outline:{themeKey:"borders",transform:De},outlineColor:{themeKey:"palette"},borderRadius:{themeKey:"shape.borderRadius",style:er},color:{themeKey:"palette",transform:jt},bgcolor:{themeKey:"palette",cssProperty:"backgroundColor",transform:jt},backgroundColor:{themeKey:"palette",transform:jt},p:{style:ge},pt:{style:ge},pr:{style:ge},pb:{style:ge},pl:{style:ge},px:{style:ge},py:{style:ge},padding:{style:ge},paddingTop:{style:ge},paddingRight:{style:ge},paddingBottom:{style:ge},paddingLeft:{style:ge},paddingX:{style:ge},paddingY:{style:ge},paddingInline:{style:ge},paddingInlineStart:{style:ge},paddingInlineEnd:{style:ge},paddingBlock:{style:ge},paddingBlockStart:{style:ge},paddingBlockEnd:{style:ge},m:{style:me},mt:{style:me},mr:{style:me},mb:{style:me},ml:{style:me},mx:{style:me},my:{style:me},margin:{style:me},marginTop:{style:me},marginRight:{style:me},marginBottom:{style:me},marginLeft:{style:me},marginX:{style:me},marginY:{style:me},marginInline:{style:me},marginInlineStart:{style:me},marginInlineEnd:{style:me},marginBlock:{style:me},marginBlockStart:{style:me},marginBlockEnd:{style:me},displayPrint:{cssProperty:!1,transform:e=>({"@media print":{display:e}})},display:{},overflow:{},textOverflow:{},visibility:{},whiteSpace:{},flexBasis:{},flexDirection:{},flexWrap:{},justifyContent:{},alignItems:{},alignContent:{},order:{},flex:{},flexGrow:{},flexShrink:{},alignSelf:{},justifyItems:{},justifySelf:{},gap:{style:tr},rowGap:{style:rr},columnGap:{style:nr},gridColumn:{},gridRow:{},gridAutoFlow:{},gridAutoColumns:{},gridAutoRows:{},gridTemplateColumns:{},gridTemplateRows:{},gridTemplateAreas:{},gridArea:{},position:{},zIndex:{themeKey:"zIndex"},top:{},right:{},bottom:{},left:{},boxShadow:{themeKey:"shadows"},width:{transform:Ie},maxWidth:{style:no},minWidth:{transform:Ie},height:{transform:Ie},maxHeight:{transform:Ie},minHeight:{transform:Ie},boxSizing:{},fontFamily:{themeKey:"typography"},fontSize:{themeKey:"typography"},fontStyle:{themeKey:"typography"},fontWeight:{themeKey:"typography"},letterSpacing:{},textTransform:{},lineHeight:{},textAlign:{},typography:{cssProperty:!1,themeKey:"typography"}},ro=$u;function ju(...e){const t=e.reduce((r,o)=>r.concat(Object.keys(o)),[]),n=new Set(t);return e.every(r=>n.size===Object.keys(r).length)}function Iu(e,t){return typeof e=="function"?e(t):e}function _u(){function e(n,r,o,i){const s={[n]:r,theme:o},l=i[n];if(!l)return{[n]:r};const{cssProperty:c=n,themeKey:p,transform:u,style:f}=l;if(r==null)return null;if(p==="typography"&&r==="inherit")return{[n]:r};const d=Kn(o,p)||{};return f?f(s):tt(s,r,y=>{let b=Vn(d,u,y);return y===b&&typeof y=="string"&&(b=Vn(d,u,`${n}${y==="default"?"":We(y)}`,y)),c===!1?b:{[c]:b}})}function t(n){var r;const{sx:o,theme:i={}}=n||{};if(!o)return null;const s=(r=i.unstable_sxConfig)!=null?r:ro;function l(c){let p=c;if(typeof c=="function")p=c(i);else if(typeof c!="object")return c;if(!p)return null;const u=Wp(i.breakpoints),f=Object.keys(u);let d=u;return Object.keys(p).forEach(g=>{const y=Iu(p[g],i);if(y!=null)if(typeof y=="object")if(s[g])d=cn(d,e(g,y,i,s));else{const b=tt({theme:i},y,h=>({[g]:h}));ju(b,y)?d[g]=t({sx:y,theme:i}):d=cn(d,b)}else d=cn(d,e(g,y,i,s))}),Xp(f,d)}return Array.isArray(o)?o.map(l):l(o)}return t}const Ta=_u();Ta.filterProps=["sx"];const oo=Ta;function Au(e,t){const n=this;return n.vars&&typeof n.getColorSchemeSelector=="function"?{[n.getColorSchemeSelector(e).replace(/(\[[^\]]+\])/,"*:where($1)")]:t}:n.palette.mode===e?t:{}}const Du=["breakpoints","palette","spacing","shape"];function io(e={},...t){const{breakpoints:n={},palette:r={},spacing:o,shape:i={}}=e,s=de(e,Du),l=zp(n),c=tu(o);let p=Ze({breakpoints:l,direction:"ltr",components:{},palette:T({mode:"light"},r),spacing:c,shape:T({},qp,i)},s);return p.applyStyles=Au,p=t.reduce((u,f)=>Ze(u,f),p),p.unstable_sxConfig=T({},ro,s==null?void 0:s.unstable_sxConfig),p.unstable_sx=function(f){return oo({sx:f,theme:this})},p}function Bu(e){return Object.keys(e).length===0}function Oa(e=null){const t=k.useContext(Or.ThemeContext);return!t||Bu(t)?e:t}const Lu=io();function Ca(e=Lu){return Oa(e)}const Fu=["ownerState"],Vu=["variants"],zu=["name","slot","skipVariantsResolver","skipSx","overridesResolver"];function Uu(e){return Object.keys(e).length===0}function qu(e){return typeof e=="string"&&e.charCodeAt(0)>96}function $n(e){return e!=="ownerState"&&e!=="theme"&&e!=="sx"&&e!=="as"}const Hu=io(),ci=e=>e&&e.charAt(0).toLowerCase()+e.slice(1);function Nn({defaultTheme:e,theme:t,themeId:n}){return Uu(t)?e:t[n]||t}function Wu(e){return e?(t,n)=>n[e]:null}function jn(e,t){let{ownerState:n}=t,r=de(t,Fu);const o=typeof e=="function"?e(T({ownerState:n},r)):e;if(Array.isArray(o))return o.flatMap(i=>jn(i,T({ownerState:n},r)));if(o&&typeof o=="object"&&Array.isArray(o.variants)){const{variants:i=[]}=o;let l=de(o,Vu);return i.forEach(c=>{let p=!0;typeof c.props=="function"?p=c.props(T({ownerState:n},r,n)):Object.keys(c.props).forEach(u=>{(n==null?void 0:n[u])!==c.props[u]&&r[u]!==c.props[u]&&(p=!1)}),p&&(Array.isArray(l)||(l=[l]),l.push(typeof c.style=="function"?c.style(T({ownerState:n},r,n)):c.style))}),l}return o}function Xu(e={}){const{themeId:t,defaultTheme:n=Hu,rootShouldForwardProp:r=$n,slotShouldForwardProp:o=$n}=e,i=s=>oo(T({},s,{theme:Nn(T({},s,{defaultTheme:n,themeId:t}))}));return i.__mui_systemSx=!0,(s,l={})=>{Or.internal_processStyles(s,m=>m.filter(C=>!(C!=null&&C.__mui_systemSx)));const{name:c,slot:p,skipVariantsResolver:u,skipSx:f,overridesResolver:d=Wu(ci(p))}=l,g=de(l,zu),y=u!==void 0?u:p&&p!=="Root"&&p!=="root"||!1,b=f||!1;let h;process.env.NODE_ENV!=="production"&&c&&(h=`${c}-${ci(p||"Root")}`);let E=$n;p==="Root"||p==="root"?E=r:p?E=o:qu(s)&&(E=void 0);const I=Or(s,T({shouldForwardProp:E,label:h},g)),w=m=>typeof m=="function"&&m.__emotion_real!==m||gt(m)?C=>jn(m,T({},C,{theme:Nn({theme:C.theme,defaultTheme:n,themeId:t})})):m,x=(m,...C)=>{let N=w(m);const F=C?C.map(w):[];c&&d&&F.push(S=>{const $=Nn(T({},S,{defaultTheme:n,themeId:t}));if(!$.components||!$.components[c]||!$.components[c].styleOverrides)return null;const M=$.components[c].styleOverrides,B={};return Object.entries(M).forEach(([D,j])=>{B[D]=jn(j,T({},S,{theme:$}))}),d(S,B)}),c&&!y&&F.push(S=>{var $;const M=Nn(T({},S,{defaultTheme:n,themeId:t})),B=M==null||($=M.components)==null||($=$[c])==null?void 0:$.variants;return jn({variants:B},T({},S,{theme:M}))}),b||F.push(i);const L=F.length-C.length;if(Array.isArray(m)&&L>0){const S=new Array(L).fill("");N=[...m,...S],N.raw=[...m.raw,...S]}const V=I(N,...F);if(process.env.NODE_ENV!=="production"){let S;c&&(S=`${c}${We(p||"")}`),S===void 0&&(S=`Styled(${Ml(s)})`),V.displayName=S}return s.muiName&&(V.muiName=s.muiName),V};return I.withConfig&&(x.withConfig=I.withConfig),x}}function Yu(e){const{theme:t,name:n,props:r}=e;return!t||!t.components||!t.components[n]||!t.components[n].defaultProps?r:oa(t.components[n].defaultProps,r)}function Gu({props:e,name:t,defaultTheme:n,themeId:r}){let o=Ca(n);return r&&(o=o[r]||o),Yu({theme:o,name:t,props:e})}function ao(e,t=0,n=1){return process.env.NODE_ENV!=="production"&&(en)&&console.error(`MUI: The value provided ${e} is out of range [${t}, ${n}].`),ec(e,t,n)}function Ku(e){e=e.slice(1);const t=new RegExp(`.{1,${e.length>=6?2:1}}`,"g");let n=e.match(t);return n&&n[0].length===1&&(n=n.map(r=>r+r)),n?`rgb${n.length===4?"a":""}(${n.map((r,o)=>o<3?parseInt(r,16):Math.round(parseInt(r,16)/255*1e3)/1e3).join(", ")})`:""}function kt(e){if(e.type)return e;if(e.charAt(0)==="#")return kt(Ku(e));const t=e.indexOf("("),n=e.substring(0,t);if(["rgb","rgba","hsl","hsla","color"].indexOf(n)===-1)throw new Error(process.env.NODE_ENV!=="production"?`MUI: Unsupported \`${e}\` color. +The following formats are supported: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().`:It(9,e));let r=e.substring(t+1,e.length-1),o;if(n==="color"){if(r=r.split(" "),o=r.shift(),r.length===4&&r[3].charAt(0)==="/"&&(r[3]=r[3].slice(1)),["srgb","display-p3","a98-rgb","prophoto-rgb","rec-2020"].indexOf(o)===-1)throw new Error(process.env.NODE_ENV!=="production"?`MUI: unsupported \`${o}\` color space. +The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rgb, rec-2020.`:It(10,o))}else r=r.split(",");return r=r.map(i=>parseFloat(i)),{type:n,values:r,colorSpace:o}}function or(e){const{type:t,colorSpace:n}=e;let{values:r}=e;return t.indexOf("rgb")!==-1?r=r.map((o,i)=>i<3?parseInt(o,10):o):t.indexOf("hsl")!==-1&&(r[1]=`${r[1]}%`,r[2]=`${r[2]}%`),t.indexOf("color")!==-1?r=`${n} ${r.join(" ")}`:r=`${r.join(", ")}`,`${t}(${r})`}function Ju(e){e=kt(e);const{values:t}=e,n=t[0],r=t[1]/100,o=t[2]/100,i=r*Math.min(o,1-o),s=(p,u=(p+n/30)%12)=>o-i*Math.max(Math.min(u-3,9-u,1),-1);let l="rgb";const c=[Math.round(s(0)*255),Math.round(s(8)*255),Math.round(s(4)*255)];return e.type==="hsla"&&(l+="a",c.push(t[3])),or({type:l,values:c})}function pi(e){e=kt(e);let t=e.type==="hsl"||e.type==="hsla"?kt(Ju(e)).values:e.values;return t=t.map(n=>(e.type!=="color"&&(n/=255),n<=.03928?n/12.92:((n+.055)/1.055)**2.4)),Number((.2126*t[0]+.7152*t[1]+.0722*t[2]).toFixed(3))}function ui(e,t){const n=pi(e),r=pi(t);return(Math.max(n,r)+.05)/(Math.min(n,r)+.05)}function zn(e,t){return e=kt(e),t=ao(t),(e.type==="rgb"||e.type==="hsl")&&(e.type+="a"),e.type==="color"?e.values[3]=`/${t}`:e.values[3]=t,or(e)}function Zu(e,t){if(e=kt(e),t=ao(t),e.type.indexOf("hsl")!==-1)e.values[2]*=1-t;else if(e.type.indexOf("rgb")!==-1||e.type.indexOf("color")!==-1)for(let n=0;n<3;n+=1)e.values[n]*=1-t;return or(e)}function Qu(e,t){if(e=kt(e),t=ao(t),e.type.indexOf("hsl")!==-1)e.values[2]+=(100-e.values[2])*t;else if(e.type.indexOf("rgb")!==-1)for(let n=0;n<3;n+=1)e.values[n]+=(255-e.values[n])*t;else if(e.type.indexOf("color")!==-1)for(let n=0;n<3;n+=1)e.values[n]+=(1-e.values[n])*t;return or(e)}function ed(e,t){return T({toolbar:{minHeight:56,[e.up("xs")]:{"@media (orientation: landscape)":{minHeight:48}},[e.up("sm")]:{minHeight:64}}},t)}const td={black:"#000",white:"#fff"},hn=td,nd={50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",A100:"#f5f5f5",A200:"#eeeeee",A400:"#bdbdbd",A700:"#616161"},rd=nd,od={50:"#f3e5f5",100:"#e1bee7",200:"#ce93d8",300:"#ba68c8",400:"#ab47bc",500:"#9c27b0",600:"#8e24aa",700:"#7b1fa2",800:"#6a1b9a",900:"#4a148c",A100:"#ea80fc",A200:"#e040fb",A400:"#d500f9",A700:"#aa00ff"},Ct=od,id={50:"#ffebee",100:"#ffcdd2",200:"#ef9a9a",300:"#e57373",400:"#ef5350",500:"#f44336",600:"#e53935",700:"#d32f2f",800:"#c62828",900:"#b71c1c",A100:"#ff8a80",A200:"#ff5252",A400:"#ff1744",A700:"#d50000"},St=id,ad={50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100",A100:"#ffd180",A200:"#ffab40",A400:"#ff9100",A700:"#ff6d00"},Kt=ad,sd={50:"#e3f2fd",100:"#bbdefb",200:"#90caf9",300:"#64b5f6",400:"#42a5f5",500:"#2196f3",600:"#1e88e5",700:"#1976d2",800:"#1565c0",900:"#0d47a1",A100:"#82b1ff",A200:"#448aff",A400:"#2979ff",A700:"#2962ff"},Nt=sd,ld={50:"#e1f5fe",100:"#b3e5fc",200:"#81d4fa",300:"#4fc3f7",400:"#29b6f6",500:"#03a9f4",600:"#039be5",700:"#0288d1",800:"#0277bd",900:"#01579b",A100:"#80d8ff",A200:"#40c4ff",A400:"#00b0ff",A700:"#0091ea"},Pt=ld,cd={50:"#e8f5e9",100:"#c8e6c9",200:"#a5d6a7",300:"#81c784",400:"#66bb6a",500:"#4caf50",600:"#43a047",700:"#388e3c",800:"#2e7d32",900:"#1b5e20",A100:"#b9f6ca",A200:"#69f0ae",A400:"#00e676",A700:"#00c853"},Rt=cd,pd=["mode","contrastThreshold","tonalOffset"],di={text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.6)",disabled:"rgba(0, 0, 0, 0.38)"},divider:"rgba(0, 0, 0, 0.12)",background:{paper:hn.white,default:hn.white},action:{active:"rgba(0, 0, 0, 0.54)",hover:"rgba(0, 0, 0, 0.04)",hoverOpacity:.04,selected:"rgba(0, 0, 0, 0.08)",selectedOpacity:.08,disabled:"rgba(0, 0, 0, 0.26)",disabledBackground:"rgba(0, 0, 0, 0.12)",disabledOpacity:.38,focus:"rgba(0, 0, 0, 0.12)",focusOpacity:.12,activatedOpacity:.12}},vr={text:{primary:hn.white,secondary:"rgba(255, 255, 255, 0.7)",disabled:"rgba(255, 255, 255, 0.5)",icon:"rgba(255, 255, 255, 0.5)"},divider:"rgba(255, 255, 255, 0.12)",background:{paper:"#121212",default:"#121212"},action:{active:hn.white,hover:"rgba(255, 255, 255, 0.08)",hoverOpacity:.08,selected:"rgba(255, 255, 255, 0.16)",selectedOpacity:.16,disabled:"rgba(255, 255, 255, 0.3)",disabledBackground:"rgba(255, 255, 255, 0.12)",disabledOpacity:.38,focus:"rgba(255, 255, 255, 0.12)",focusOpacity:.12,activatedOpacity:.24}};function fi(e,t,n,r){const o=r.light||r,i=r.dark||r*1.5;e[t]||(e.hasOwnProperty(n)?e[t]=e[n]:t==="light"?e.light=Qu(e.main,o):t==="dark"&&(e.dark=Zu(e.main,i)))}function ud(e="light"){return e==="dark"?{main:Nt[200],light:Nt[50],dark:Nt[400]}:{main:Nt[700],light:Nt[400],dark:Nt[800]}}function dd(e="light"){return e==="dark"?{main:Ct[200],light:Ct[50],dark:Ct[400]}:{main:Ct[500],light:Ct[300],dark:Ct[700]}}function fd(e="light"){return e==="dark"?{main:St[500],light:St[300],dark:St[700]}:{main:St[700],light:St[400],dark:St[800]}}function hd(e="light"){return e==="dark"?{main:Pt[400],light:Pt[300],dark:Pt[700]}:{main:Pt[700],light:Pt[500],dark:Pt[900]}}function md(e="light"){return e==="dark"?{main:Rt[400],light:Rt[300],dark:Rt[700]}:{main:Rt[800],light:Rt[500],dark:Rt[900]}}function gd(e="light"){return e==="dark"?{main:Kt[400],light:Kt[300],dark:Kt[700]}:{main:"#ed6c02",light:Kt[500],dark:Kt[900]}}function bd(e){const{mode:t="light",contrastThreshold:n=3,tonalOffset:r=.2}=e,o=de(e,pd),i=e.primary||ud(t),s=e.secondary||dd(t),l=e.error||fd(t),c=e.info||hd(t),p=e.success||md(t),u=e.warning||gd(t);function f(b){const h=ui(b,vr.text.primary)>=n?vr.text.primary:di.text.primary;if(process.env.NODE_ENV!=="production"){const E=ui(b,h);E<3&&console.error([`MUI: The contrast ratio of ${E}:1 for ${h} on ${b}`,"falls below the WCAG recommended absolute minimum contrast ratio of 3:1.","https://www.w3.org/TR/2008/REC-WCAG20-20081211/#visual-audio-contrast-contrast"].join(` +`))}return h}const d=({color:b,name:h,mainShade:E=500,lightShade:I=300,darkShade:w=700})=>{if(b=T({},b),!b.main&&b[E]&&(b.main=b[E]),!b.hasOwnProperty("main"))throw new Error(process.env.NODE_ENV!=="production"?`MUI: The color${h?` (${h})`:""} provided to augmentColor(color) is invalid. +The color object needs to have a \`main\` property or a \`${E}\` property.`:It(11,h?` (${h})`:"",E));if(typeof b.main!="string")throw new Error(process.env.NODE_ENV!=="production"?`MUI: The color${h?` (${h})`:""} provided to augmentColor(color) is invalid. \`color.main\` should be a string, but \`${JSON.stringify(b.main)}\` was provided instead. Did you intend to use one of the following approaches? @@ -59,66 +59,121 @@ const theme1 = createTheme({ palette: { const theme2 = createTheme({ palette: { primary: { main: green[500] }, -} });`:jt(12,h?` (${h})`:"",JSON.stringify(b.main)));return ui(b,"light",j,r),ui(b,"dark",w,r),b.contrastText||(b.contrastText=f(b.main)),b},g={dark:br,light:ci};return process.env.NODE_ENV!=="production"&&(g[t]||console.error(`MUI: The palette mode \`${t}\` is not supported.`)),Je(T({common:T({},dn),mode:t,primary:d({color:i,name:"primary"}),secondary:d({color:s,name:"secondary",mainShade:"A400",lightShade:"A200",darkShade:"A700"}),error:d({color:l,name:"error"}),warning:d({color:p,name:"warning"}),info:d({color:c,name:"info"}),success:d({color:u,name:"success"}),grey:zp,contrastThreshold:n,getContrastText:f,augmentColor:d,tonalOffset:r},g[t]),o)}const rd=["fontFamily","fontSize","fontWeightLight","fontWeightRegular","fontWeightMedium","fontWeightBold","htmlFontSize","allVariants","pxToRem"];function od(e){return Math.round(e*1e5)/1e5}const pi={textTransform:"uppercase"},di='"Roboto", "Helvetica", "Arial", sans-serif';function id(e,t){const n=typeof t=="function"?t(e):t,{fontFamily:r=di,fontSize:o=14,fontWeightLight:i=300,fontWeightRegular:s=400,fontWeightMedium:l=500,fontWeightBold:c=700,htmlFontSize:u=16,allVariants:p,pxToRem:f}=n,d=pe(n,rd);process.env.NODE_ENV!=="production"&&(typeof o!="number"&&console.error("MUI: `fontSize` is required to be a number."),typeof u!="number"&&console.error("MUI: `htmlFontSize` is required to be a number."));const g=o/14,y=f||(E=>`${E/u*g}rem`),b=(E,j,w,x,m)=>T({fontFamily:r,fontWeight:E,fontSize:y(j),lineHeight:w},r===di?{letterSpacing:`${od(x/j)}em`}:{},m,p),h={h1:b(i,96,1.167,-1.5),h2:b(i,60,1.2,-.5),h3:b(s,48,1.167,0),h4:b(s,34,1.235,.25),h5:b(s,24,1.334,0),h6:b(l,20,1.6,.15),subtitle1:b(s,16,1.75,.15),subtitle2:b(l,14,1.57,.1),body1:b(s,16,1.5,.15),body2:b(s,14,1.43,.15),button:b(l,14,1.75,.4,pi),caption:b(s,12,1.66,.4),overline:b(s,12,2.66,1,pi),inherit:{fontFamily:"inherit",fontWeight:"inherit",fontSize:"inherit",lineHeight:"inherit",letterSpacing:"inherit"}};return Je(T({htmlFontSize:u,pxToRem:y,fontFamily:r,fontSize:o,fontWeightLight:i,fontWeightRegular:s,fontWeightMedium:l,fontWeightBold:c},h),d,{clone:!1})}const ad=.2,sd=.14,ld=.12;function he(...e){return[`${e[0]}px ${e[1]}px ${e[2]}px ${e[3]}px rgba(0,0,0,${ad})`,`${e[4]}px ${e[5]}px ${e[6]}px ${e[7]}px rgba(0,0,0,${sd})`,`${e[8]}px ${e[9]}px ${e[10]}px ${e[11]}px rgba(0,0,0,${ld})`].join(",")}const cd=["none",he(0,2,1,-1,0,1,1,0,0,1,3,0),he(0,3,1,-2,0,2,2,0,0,1,5,0),he(0,3,3,-2,0,3,4,0,0,1,8,0),he(0,2,4,-1,0,4,5,0,0,1,10,0),he(0,3,5,-1,0,5,8,0,0,1,14,0),he(0,3,5,-1,0,6,10,0,0,1,18,0),he(0,4,5,-2,0,7,10,1,0,2,16,1),he(0,5,5,-3,0,8,10,1,0,3,14,2),he(0,5,6,-3,0,9,12,1,0,3,16,2),he(0,6,6,-3,0,10,14,1,0,4,18,3),he(0,6,7,-4,0,11,15,1,0,4,20,3),he(0,7,8,-4,0,12,17,2,0,5,22,4),he(0,7,8,-4,0,13,19,2,0,5,24,4),he(0,7,9,-4,0,14,21,2,0,5,26,4),he(0,8,9,-5,0,15,22,2,0,6,28,5),he(0,8,10,-5,0,16,24,2,0,6,30,5),he(0,8,11,-5,0,17,26,2,0,6,32,5),he(0,9,11,-5,0,18,28,2,0,7,34,6),he(0,9,12,-6,0,19,29,2,0,7,36,6),he(0,10,13,-6,0,20,31,3,0,8,38,7),he(0,10,13,-6,0,21,33,3,0,8,40,7),he(0,10,14,-6,0,22,35,3,0,8,42,7),he(0,11,14,-7,0,23,36,3,0,9,44,8),he(0,11,15,-7,0,24,38,3,0,9,46,8)],ud=cd,pd=["duration","easing","delay"],dd={easeInOut:"cubic-bezier(0.4, 0, 0.2, 1)",easeOut:"cubic-bezier(0.0, 0, 0.2, 1)",easeIn:"cubic-bezier(0.4, 0, 1, 1)",sharp:"cubic-bezier(0.4, 0, 0.6, 1)"},fd={shortest:150,shorter:200,short:250,standard:300,complex:375,enteringScreen:225,leavingScreen:195};function fi(e){return`${Math.round(e)}ms`}function hd(e){if(!e)return 0;const t=e/36;return Math.round((4+15*t**.25+t/5)*10)}function md(e){const t=T({},dd,e.easing),n=T({},fd,e.duration);return T({getAutoHeightDuration:hd,create:(o=["all"],i={})=>{const{duration:s=n.standard,easing:l=t.easeInOut,delay:c=0}=i,u=pe(i,pd);if(process.env.NODE_ENV!=="production"){const p=d=>typeof d=="string",f=d=>!isNaN(parseFloat(d));!p(o)&&!Array.isArray(o)&&console.error('MUI: Argument "props" must be a string or Array.'),!f(s)&&!p(s)&&console.error(`MUI: Argument "duration" must be a number or a string but found ${s}.`),p(l)||console.error('MUI: Argument "easing" must be a string.'),!f(c)&&!p(c)&&console.error('MUI: Argument "delay" must be a number or a string.'),typeof i!="object"&&console.error(["MUI: Secong argument of transition.create must be an object.","Arguments should be either `create('prop1', options)` or `create(['prop1', 'prop2'], options)`"].join(` -`)),Object.keys(u).length!==0&&console.error(`MUI: Unrecognized argument(s) [${Object.keys(u).join(",")}].`)}return(Array.isArray(o)?o:[o]).map(p=>`${p} ${typeof s=="string"?s:fi(s)} ${l} ${typeof c=="string"?c:fi(c)}`).join(",")}},e,{easing:t,duration:n})}const gd={mobileStepper:1e3,fab:1050,speedDial:1050,appBar:1100,drawer:1200,modal:1300,snackbar:1400,tooltip:1500},bd=gd,vd=["breakpoints","mixins","spacing","palette","transitions","typography","shape"];function yd(e={},...t){const{mixins:n={},palette:r={},transitions:o={},typography:i={}}=e,s=pe(e,vd);if(e.vars)throw new Error(process.env.NODE_ENV!=="production"?"MUI: `vars` is a private field used for CSS variables support.\nPlease use another name.":jt(18));const l=nd(r),c=no(e);let u=Je(c,{mixins:Lp(c.breakpoints,n),palette:l,shadows:ud.slice(),typography:id(l,i),transitions:md(o),zIndex:T({},bd)});if(u=Je(u,s),u=t.reduce((p,f)=>Je(p,f),u),process.env.NODE_ENV!=="production"){const p=["active","checked","completed","disabled","error","expanded","focused","focusVisible","required","selected"],f=(d,g)=>{let y;for(y in d){const b=d[y];if(p.indexOf(y)!==-1&&Object.keys(b).length>0){if(process.env.NODE_ENV!=="production"){const h=Ge("",y);console.error([`MUI: The \`${g}\` component increases the CSS specificity of the \`${y}\` internal state.`,"You can not override it like this: ",JSON.stringify(d,null,2),"",`Instead, you need to use the '&.${h}' syntax:`,JSON.stringify({root:{[`&.${h}`]:b}},null,2),"","https://mui.com/r/state-classes-guide"].join(` -`))}d[y]={}}}};Object.keys(u.components).forEach(d=>{const g=u.components[d].styleOverrides;g&&d.indexOf("Mui")===0&&f(g,d)})}return u.unstable_sxConfig=T({},eo,s==null?void 0:s.unstable_sxConfig),u.unstable_sx=function(f){return to({sx:f,theme:this})},u}const wd=yd(),oo=wd,io="$$material",Oa=e=>Mn(e)&&e!=="classes",xd=$p({themeId:io,defaultTheme:oo,rootShouldForwardProp:Oa}),Te=xd;function xn(){const e=Ta(oo);return process.env.NODE_ENV!=="production"&&k.useDebugValue(e),e[io]||e}function nt({props:e,name:t}){return Ip({props:e,name:t,defaultTheme:oo,themeId:io})}function $r(e,t){return $r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,o){return r.__proto__=o,r},$r(e,t)}function Ed(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,$r(e,t)}const hi={disabled:!1};var kd=process.env.NODE_ENV!=="production"?a.oneOfType([a.number,a.shape({enter:a.number,exit:a.number,appear:a.number}).isRequired]):null;process.env.NODE_ENV!=="production"&&a.oneOfType([a.string,a.shape({enter:a.string,exit:a.string,active:a.string}),a.shape({enter:a.string,enterDone:a.string,enterActive:a.string,exit:a.string,exitDone:a.string,exitActive:a.string})]);const Sa=_.createContext(null);var Td=function(t){return t.scrollTop},tn="unmounted",dt="exited",ft="entering",Mt="entered",jr="exiting",rt=function(e){Ed(t,e);function t(r,o){var i;i=e.call(this,r,o)||this;var s=o,l=s&&!s.isMounting?r.enter:r.appear,c;return i.appearStatus=null,r.in?l?(c=dt,i.appearStatus=ft):c=Mt:r.unmountOnExit||r.mountOnEnter?c=tn:c=dt,i.state={status:c},i.nextCallback=null,i}t.getDerivedStateFromProps=function(o,i){var s=o.in;return s&&i.status===tn?{status:dt}:null};var n=t.prototype;return n.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},n.componentDidUpdate=function(o){var i=null;if(o!==this.props){var s=this.state.status;this.props.in?s!==ft&&s!==Mt&&(i=ft):(s===ft||s===Mt)&&(i=jr)}this.updateStatus(!1,i)},n.componentWillUnmount=function(){this.cancelNextCallback()},n.getTimeouts=function(){var o=this.props.timeout,i,s,l;return i=s=l=o,o!=null&&typeof o!="number"&&(i=o.exit,s=o.enter,l=o.appear!==void 0?o.appear:s),{exit:i,enter:s,appear:l}},n.updateStatus=function(o,i){if(o===void 0&&(o=!1),i!==null)if(this.cancelNextCallback(),i===ft){if(this.props.unmountOnExit||this.props.mountOnEnter){var s=this.props.nodeRef?this.props.nodeRef.current:Zt.findDOMNode(this);s&&Td(s)}this.performEnter(o)}else this.performExit();else this.props.unmountOnExit&&this.state.status===dt&&this.setState({status:tn})},n.performEnter=function(o){var i=this,s=this.props.enter,l=this.context?this.context.isMounting:o,c=this.props.nodeRef?[l]:[Zt.findDOMNode(this),l],u=c[0],p=c[1],f=this.getTimeouts(),d=l?f.appear:f.enter;if(!o&&!s||hi.disabled){this.safeSetState({status:Mt},function(){i.props.onEntered(u)});return}this.props.onEnter(u,p),this.safeSetState({status:ft},function(){i.props.onEntering(u,p),i.onTransitionEnd(d,function(){i.safeSetState({status:Mt},function(){i.props.onEntered(u,p)})})})},n.performExit=function(){var o=this,i=this.props.exit,s=this.getTimeouts(),l=this.props.nodeRef?void 0:Zt.findDOMNode(this);if(!i||hi.disabled){this.safeSetState({status:dt},function(){o.props.onExited(l)});return}this.props.onExit(l),this.safeSetState({status:jr},function(){o.props.onExiting(l),o.onTransitionEnd(s.exit,function(){o.safeSetState({status:dt},function(){o.props.onExited(l)})})})},n.cancelNextCallback=function(){this.nextCallback!==null&&(this.nextCallback.cancel(),this.nextCallback=null)},n.safeSetState=function(o,i){i=this.setNextCallback(i),this.setState(o,i)},n.setNextCallback=function(o){var i=this,s=!0;return this.nextCallback=function(l){s&&(s=!1,i.nextCallback=null,o(l))},this.nextCallback.cancel=function(){s=!1},this.nextCallback},n.onTransitionEnd=function(o,i){this.setNextCallback(i);var s=this.props.nodeRef?this.props.nodeRef.current:Zt.findDOMNode(this),l=o==null&&!this.props.addEndListener;if(!s||l){setTimeout(this.nextCallback,0);return}if(this.props.addEndListener){var c=this.props.nodeRef?[this.nextCallback]:[s,this.nextCallback],u=c[0],p=c[1];this.props.addEndListener(u,p)}o!=null&&setTimeout(this.nextCallback,o)},n.render=function(){var o=this.state.status;if(o===tn)return null;var i=this.props,s=i.children;i.in,i.mountOnEnter,i.unmountOnExit,i.appear,i.enter,i.exit,i.timeout,i.addEndListener,i.onEnter,i.onEntering,i.onEntered,i.onExit,i.onExiting,i.onExited,i.nodeRef;var l=pe(i,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]);return _.createElement(Sa.Provider,{value:null},typeof s=="function"?s(o,l):_.cloneElement(_.Children.only(s),l))},t}(_.Component);rt.contextType=Sa;rt.propTypes=process.env.NODE_ENV!=="production"?{nodeRef:a.shape({current:typeof Element>"u"?a.any:function(e,t,n,r,o,i){var s=e[t];return a.instanceOf(s&&"ownerDocument"in s?s.ownerDocument.defaultView.Element:Element)(e,t,n,r,o,i)}}),children:a.oneOfType([a.func.isRequired,a.element.isRequired]).isRequired,in:a.bool,mountOnEnter:a.bool,unmountOnExit:a.bool,appear:a.bool,enter:a.bool,exit:a.bool,timeout:function(t){var n=kd;t.addEndListener||(n=n.isRequired);for(var r=arguments.length,o=new Array(r>1?r-1:0),i=1;ie.scrollTop;function zn(e,t){var n,r;const{timeout:o,easing:i,style:s={}}=e;return{duration:(n=s.transitionDuration)!=null?n:typeof o=="number"?o:o[t.mode]||0,easing:(r=s.transitionTimingFunction)!=null?r:typeof i=="object"?i[t.mode]:i,delay:s.transitionDelay}}const Od=["addEndListener","appear","children","easing","in","onEnter","onEntered","onEntering","onExit","onExited","onExiting","style","timeout","TransitionComponent"];function Ir(e){return`scale(${e}, ${e**2})`}const Sd={entering:{opacity:1,transform:Ir(1)},entered:{opacity:1,transform:"none"}},vr=typeof navigator<"u"&&/^((?!chrome|android).)*(safari|mobile)/i.test(navigator.userAgent)&&/(os |version\/)15(.|_)4/i.test(navigator.userAgent),ao=k.forwardRef(function(t,n){const{addEndListener:r,appear:o=!0,children:i,easing:s,in:l,onEnter:c,onEntered:u,onEntering:p,onExit:f,onExited:d,onExiting:g,style:y,timeout:b="auto",TransitionComponent:h=Ca}=t,E=pe(t,Od),j=Qt(),w=k.useRef(),x=xn(),m=k.useRef(null),S=Le(m,i.ref,n),N=D=>$=>{if(D){const z=m.current;$===void 0?D(z):D(z,$)}},F=N(p),L=N((D,$)=>{Na(D);const{duration:z,delay:ee,easing:Q}=zn({style:y,timeout:b,easing:s},{mode:"enter"});let O;b==="auto"?(O=x.transitions.getAutoHeightDuration(D.clientHeight),w.current=O):O=z,D.style.transition=[x.transitions.create("opacity",{duration:O,delay:ee}),x.transitions.create("transform",{duration:vr?O:O*.666,delay:ee,easing:Q})].join(","),c&&c(D,$)}),V=N(u),C=N(g),M=N(D=>{const{duration:$,delay:z,easing:ee}=zn({style:y,timeout:b,easing:s},{mode:"exit"});let Q;b==="auto"?(Q=x.transitions.getAutoHeightDuration(D.clientHeight),w.current=Q):Q=$,D.style.transition=[x.transitions.create("opacity",{duration:Q,delay:z}),x.transitions.create("transform",{duration:vr?Q:Q*.666,delay:vr?z:z||Q*.333,easing:ee})].join(","),D.style.opacity=0,D.style.transform=Ir(.75),f&&f(D)}),R=N(d),B=D=>{b==="auto"&&j.start(w.current||0,D),r&&r(m.current,D)};return v.jsx(h,T({appear:o,in:l,nodeRef:m,onEnter:L,onEntered:V,onEntering:F,onExit:M,onExited:R,onExiting:C,addEndListener:B,timeout:b==="auto"?null:b},E,{children:(D,$)=>k.cloneElement(i,T({style:T({opacity:0,transform:Ir(.75),visibility:D==="exited"&&!l?"hidden":void 0},Sd[D],y,i.props.style),ref:S},$))}))});process.env.NODE_ENV!=="production"&&(ao.propTypes={addEndListener:a.func,appear:a.bool,children:mn.isRequired,easing:a.oneOfType([a.shape({enter:a.string,exit:a.string}),a.string]),in:a.bool,onEnter:a.func,onEntered:a.func,onEntering:a.func,onExit:a.func,onExited:a.func,onExiting:a.func,style:a.object,timeout:a.oneOfType([a.oneOf(["auto"]),a.number,a.shape({appear:a.number,enter:a.number,exit:a.number})])});ao.muiSupportAuto=!0;const _r=ao,Cd=e=>{let t;return e<1?t=5.11916*e**2:t=4.5*Math.log(e+1)+2,(t/100).toFixed(2)},mi=Cd,Nd=["anchorEl","component","components","componentsProps","container","disablePortal","keepMounted","modifiers","open","placement","popperOptions","popperRef","transition","slots","slotProps"],Pd=Te(ya,{name:"MuiPopper",slot:"Root",overridesResolver:(e,t)=>t.root})({}),Pa=k.forwardRef(function(t,n){var r;const o=ka(),i=nt({props:t,name:"MuiPopper"}),{anchorEl:s,component:l,components:c,componentsProps:u,container:p,disablePortal:f,keepMounted:d,modifiers:g,open:y,placement:b,popperOptions:h,popperRef:E,transition:j,slots:w,slotProps:x}=i,m=pe(i,Nd),S=(r=w==null?void 0:w.root)!=null?r:c==null?void 0:c.Root,N=T({anchorEl:s,container:p,disablePortal:f,keepMounted:d,modifiers:g,open:y,placement:b,popperOptions:h,popperRef:E,transition:j},m);return v.jsx(Pd,T({as:l,direction:o==null?void 0:o.direction,slots:{root:S},slotProps:x??u},N,{ref:n}))});process.env.NODE_ENV!=="production"&&(Pa.propTypes={anchorEl:a.oneOfType([Ze,a.object,a.func]),children:a.oneOfType([a.node,a.func]),component:a.elementType,components:a.shape({Root:a.elementType}),componentsProps:a.shape({root:a.oneOfType([a.func,a.object])}),container:a.oneOfType([Ze,a.func]),disablePortal:a.bool,keepMounted:a.bool,modifiers:a.arrayOf(a.shape({data:a.object,effect:a.func,enabled:a.bool,fn:a.func,name:a.any,options:a.object,phase:a.oneOf(["afterMain","afterRead","afterWrite","beforeMain","beforeRead","beforeWrite","main","read","write"]),requires:a.arrayOf(a.string),requiresIfExists:a.arrayOf(a.string)})),open:a.bool.isRequired,placement:a.oneOf(["auto-end","auto-start","auto","bottom-end","bottom-start","bottom","left-end","left-start","left","right-end","right-start","right","top-end","top-start","top"]),popperOptions:a.shape({modifiers:a.array,onFirstUpdate:a.func,placement:a.oneOf(["auto-end","auto-start","auto","bottom-end","bottom-start","bottom","left-end","left-start","left","right-end","right-start","right","top-end","top-start","top"]),strategy:a.oneOf(["absolute","fixed"])}),popperRef:qr,slotProps:a.shape({root:a.oneOfType([a.func,a.object])}),slots:a.shape({root:a.elementType}),sx:a.oneOfType([a.arrayOf(a.oneOfType([a.func,a.object,a.bool])),a.func,a.object]),transition:a.bool});const Ra=Pa;function Rd(e){return Ge("MuiTooltip",e)}const Md=st("MuiTooltip",["popper","popperInteractive","popperArrow","popperClose","tooltip","tooltipArrow","touch","tooltipPlacementLeft","tooltipPlacementRight","tooltipPlacementTop","tooltipPlacementBottom","arrow"]),at=Md,$d=["arrow","children","classes","components","componentsProps","describeChild","disableFocusListener","disableHoverListener","disableInteractive","disableTouchListener","enterDelay","enterNextDelay","enterTouchDelay","followCursor","id","leaveDelay","leaveTouchDelay","onClose","onOpen","open","placement","PopperComponent","PopperProps","slotProps","slots","title","TransitionComponent","TransitionProps"];function jd(e){return Math.round(e*1e5)/1e5}const Id=e=>{const{classes:t,disableInteractive:n,arrow:r,touch:o,placement:i}=e,s={popper:["popper",!n&&"popperInteractive",r&&"popperArrow"],tooltip:["tooltip",r&&"tooltipArrow",o&&"touch",`tooltipPlacement${He(i.split("-")[0])}`],arrow:["arrow"]};return tt(s,Rd,t)},_d=Te(Ra,{name:"MuiTooltip",slot:"Popper",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.popper,!n.disableInteractive&&t.popperInteractive,n.arrow&&t.popperArrow,!n.open&&t.popperClose]}})(({theme:e,ownerState:t,open:n})=>T({zIndex:(e.vars||e).zIndex.tooltip,pointerEvents:"none"},!t.disableInteractive&&{pointerEvents:"auto"},!n&&{pointerEvents:"none"},t.arrow&&{[`&[data-popper-placement*="bottom"] .${at.arrow}`]:{top:0,marginTop:"-0.71em","&::before":{transformOrigin:"0 100%"}},[`&[data-popper-placement*="top"] .${at.arrow}`]:{bottom:0,marginBottom:"-0.71em","&::before":{transformOrigin:"100% 0"}},[`&[data-popper-placement*="right"] .${at.arrow}`]:T({},t.isRtl?{right:0,marginRight:"-0.71em"}:{left:0,marginLeft:"-0.71em"},{height:"1em",width:"0.71em","&::before":{transformOrigin:"100% 100%"}}),[`&[data-popper-placement*="left"] .${at.arrow}`]:T({},t.isRtl?{left:0,marginLeft:"-0.71em"}:{right:0,marginRight:"-0.71em"},{height:"1em",width:"0.71em","&::before":{transformOrigin:"0 0"}})})),Ad=Te("div",{name:"MuiTooltip",slot:"Tooltip",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.tooltip,n.touch&&t.touch,n.arrow&&t.tooltipArrow,t[`tooltipPlacement${He(n.placement.split("-")[0])}`]]}})(({theme:e,ownerState:t})=>T({backgroundColor:e.vars?e.vars.palette.Tooltip.bg:Vn(e.palette.grey[700],.92),borderRadius:(e.vars||e).shape.borderRadius,color:(e.vars||e).palette.common.white,fontFamily:e.typography.fontFamily,padding:"4px 8px",fontSize:e.typography.pxToRem(11),maxWidth:300,margin:2,wordWrap:"break-word",fontWeight:e.typography.fontWeightMedium},t.arrow&&{position:"relative",margin:0},t.touch&&{padding:"8px 16px",fontSize:e.typography.pxToRem(14),lineHeight:`${jd(16/14)}em`,fontWeight:e.typography.fontWeightRegular},{[`.${at.popper}[data-popper-placement*="left"] &`]:T({transformOrigin:"right center"},t.isRtl?T({marginLeft:"14px"},t.touch&&{marginLeft:"24px"}):T({marginRight:"14px"},t.touch&&{marginRight:"24px"})),[`.${at.popper}[data-popper-placement*="right"] &`]:T({transformOrigin:"left center"},t.isRtl?T({marginRight:"14px"},t.touch&&{marginRight:"24px"}):T({marginLeft:"14px"},t.touch&&{marginLeft:"24px"})),[`.${at.popper}[data-popper-placement*="top"] &`]:T({transformOrigin:"center bottom",marginBottom:"14px"},t.touch&&{marginBottom:"24px"}),[`.${at.popper}[data-popper-placement*="bottom"] &`]:T({transformOrigin:"center top",marginTop:"14px"},t.touch&&{marginTop:"24px"})})),Dd=Te("span",{name:"MuiTooltip",slot:"Arrow",overridesResolver:(e,t)=>t.arrow})(({theme:e})=>({overflow:"hidden",position:"absolute",width:"1em",height:"0.71em",boxSizing:"border-box",color:e.vars?e.vars.palette.Tooltip.bg:Vn(e.palette.grey[700],.9),"&::before":{content:'""',margin:"auto",display:"block",width:"100%",height:"100%",backgroundColor:"currentColor",transform:"rotate(45deg)"}}));let Nn=!1;const gi=new gn;let Kt={x:0,y:0};function Pn(e,t){return n=>{t&&t(n),e(n)}}const Ma=k.forwardRef(function(t,n){var r,o,i,s,l,c,u,p,f,d,g,y,b,h,E,j,w,x,m;const S=nt({props:t,name:"MuiTooltip"}),{arrow:N=!1,children:F,components:L={},componentsProps:V={},describeChild:C=!1,disableFocusListener:M=!1,disableHoverListener:R=!1,disableInteractive:B=!1,disableTouchListener:D=!1,enterDelay:$=100,enterNextDelay:z=0,enterTouchDelay:ee=700,followCursor:Q=!1,id:O,leaveDelay:A=0,leaveTouchDelay:q=1500,onClose:Y,onOpen:U,open:H,placement:G="bottom",PopperComponent:X,PopperProps:W={},slotProps:K={},slots:J={},title:re,TransitionComponent:I=_r,TransitionProps:Z}=S,P=pe(S,$d),oe=k.isValidElement(F)?F:v.jsx("span",{children:F}),we=xn(),Oe=we.direction==="rtl",[ve,ut]=k.useState(),[Se,Xe]=k.useState(null),Me=k.useRef(!1),Ye=B||Q,xe=Qt(),kt=Qt(),pt=Qt(),Vt=Qt(),[En,po]=Ki({controlled:H,default:!1,name:"Tooltip",state:"open"});let Ke=En;if(process.env.NODE_ENV!=="production"){const{current:te}=k.useRef(H!==void 0);k.useEffect(()=>{ve&&ve.disabled&&!te&&re!==""&&ve.tagName.toLowerCase()==="button"&&console.error(["MUI: You are providing a disabled `button` child to the Tooltip component.","A disabled element does not fire events.","Tooltip needs to listen to the child element's events to display the title.","","Add a simple wrapper element, such as a `span`."].join(` -`))},[re,ve,te])}const or=Yi(O),zt=k.useRef(),kn=ln(()=>{zt.current!==void 0&&(document.body.style.WebkitUserSelect=zt.current,zt.current=void 0),Vt.clear()});k.useEffect(()=>kn,[kn]);const fo=te=>{gi.clear(),Nn=!0,po(!0),U&&!Ke&&U(te)},Tn=ln(te=>{gi.start(800+A,()=>{Nn=!1}),po(!1),Y&&Ke&&Y(te),xe.start(we.transitions.duration.shortest,()=>{Me.current=!1})}),ir=te=>{Me.current&&te.type!=="touchstart"||(ve&&ve.removeAttribute("title"),kt.clear(),pt.clear(),$||Nn&&z?kt.start(Nn?z:$,()=>{fo(te)}):fo(te))},ho=te=>{kt.clear(),pt.start(A,()=>{Tn(te)})},{isFocusVisibleRef:mo,onBlur:ns,onFocus:rs,ref:os}=Ji(),[,go]=k.useState(!1),bo=te=>{ns(te),mo.current===!1&&(go(!1),ho(te))},vo=te=>{ve||ut(te.currentTarget),rs(te),mo.current===!0&&(go(!0),ir(te))},yo=te=>{Me.current=!0;const $e=oe.props;$e.onTouchStart&&$e.onTouchStart(te)},wo=ir,xo=ho,is=te=>{yo(te),pt.clear(),xe.clear(),kn(),zt.current=document.body.style.WebkitUserSelect,document.body.style.WebkitUserSelect="none",Vt.start(ee,()=>{document.body.style.WebkitUserSelect=zt.current,ir(te)})},as=te=>{oe.props.onTouchEnd&&oe.props.onTouchEnd(te),kn(),pt.start(q,()=>{Tn(te)})};k.useEffect(()=>{if(!Ke)return;function te($e){($e.key==="Escape"||$e.key==="Esc")&&Tn($e)}return document.addEventListener("keydown",te),()=>{document.removeEventListener("keydown",te)}},[Tn,Ke]);const ss=Le(oe.ref,os,ut,n);!re&&re!==0&&(Ke=!1);const ar=k.useRef(),ls=te=>{const $e=oe.props;$e.onMouseMove&&$e.onMouseMove(te),Kt={x:te.clientX,y:te.clientY},ar.current&&ar.current.update()},Ut={},sr=typeof re=="string";C?(Ut.title=!Ke&&sr&&!R?re:null,Ut["aria-describedby"]=Ke?or:null):(Ut["aria-label"]=sr?re:null,Ut["aria-labelledby"]=Ke&&!sr?or:null);const Ae=T({},Ut,P,oe.props,{className:Ee(P.className,oe.props.className),onTouchStart:yo,ref:ss},Q?{onMouseMove:ls}:{});process.env.NODE_ENV!=="production"&&(Ae["data-mui-internal-clone-element"]=!0,k.useEffect(()=>{ve&&!ve.getAttribute("data-mui-internal-clone-element")&&console.error(["MUI: The `children` component of the Tooltip is not forwarding its props correctly.","Please make sure that props are spread on the same element that the ref is applied to."].join(` -`))},[ve]));const qt={};D||(Ae.onTouchStart=is,Ae.onTouchEnd=as),R||(Ae.onMouseOver=Pn(wo,Ae.onMouseOver),Ae.onMouseLeave=Pn(xo,Ae.onMouseLeave),Ye||(qt.onMouseOver=wo,qt.onMouseLeave=xo)),M||(Ae.onFocus=Pn(vo,Ae.onFocus),Ae.onBlur=Pn(bo,Ae.onBlur),Ye||(qt.onFocus=vo,qt.onBlur=bo)),process.env.NODE_ENV!=="production"&&oe.props.title&&console.error(["MUI: You have provided a `title` prop to the child of .",`Remove this title prop \`${oe.props.title}\` or the Tooltip component.`].join(` -`));const cs=k.useMemo(()=>{var te;let $e=[{name:"arrow",enabled:!!Se,options:{element:Se,padding:4}}];return(te=W.popperOptions)!=null&&te.modifiers&&($e=$e.concat(W.popperOptions.modifiers)),T({},W.popperOptions,{modifiers:$e})},[Se,W]),Ht=T({},S,{isRtl:Oe,arrow:N,disableInteractive:Ye,placement:G,PopperComponentProp:X,touch:Me.current}),lr=Id(Ht),Eo=(r=(o=J.popper)!=null?o:L.Popper)!=null?r:_d,ko=(i=(s=(l=J.transition)!=null?l:L.Transition)!=null?s:I)!=null?i:_r,To=(c=(u=J.tooltip)!=null?u:L.Tooltip)!=null?c:Ad,Oo=(p=(f=J.arrow)!=null?f:L.Arrow)!=null?p:Dd,us=en(Eo,T({},W,(d=K.popper)!=null?d:V.popper,{className:Ee(lr.popper,W==null?void 0:W.className,(g=(y=K.popper)!=null?y:V.popper)==null?void 0:g.className)}),Ht),ps=en(ko,T({},Z,(b=K.transition)!=null?b:V.transition),Ht),ds=en(To,T({},(h=K.tooltip)!=null?h:V.tooltip,{className:Ee(lr.tooltip,(E=(j=K.tooltip)!=null?j:V.tooltip)==null?void 0:E.className)}),Ht),fs=en(Oo,T({},(w=K.arrow)!=null?w:V.arrow,{className:Ee(lr.arrow,(x=(m=K.arrow)!=null?m:V.arrow)==null?void 0:x.className)}),Ht);return v.jsxs(k.Fragment,{children:[k.cloneElement(oe,Ae),v.jsx(Eo,T({as:X??Ra,placement:G,anchorEl:Q?{getBoundingClientRect:()=>({top:Kt.y,left:Kt.x,right:Kt.x,bottom:Kt.y,width:0,height:0})}:ve,popperRef:ar,open:ve?Ke:!1,id:or,transition:!0},qt,us,{popperOptions:cs,children:({TransitionProps:te})=>v.jsx(ko,T({timeout:we.transitions.duration.shorter},te,ps,{children:v.jsxs(To,T({},ds,{children:[re,N?v.jsx(Oo,T({},fs,{ref:Xe})):null]}))}))}))]})});process.env.NODE_ENV!=="production"&&(Ma.propTypes={arrow:a.bool,children:mn.isRequired,classes:a.object,className:a.string,components:a.shape({Arrow:a.elementType,Popper:a.elementType,Tooltip:a.elementType,Transition:a.elementType}),componentsProps:a.shape({arrow:a.object,popper:a.object,tooltip:a.object,transition:a.object}),describeChild:a.bool,disableFocusListener:a.bool,disableHoverListener:a.bool,disableInteractive:a.bool,disableTouchListener:a.bool,enterDelay:a.number,enterNextDelay:a.number,enterTouchDelay:a.number,followCursor:a.bool,id:a.string,leaveDelay:a.number,leaveTouchDelay:a.number,onClose:a.func,onOpen:a.func,open:a.bool,placement:a.oneOf(["bottom-end","bottom-start","bottom","left-end","left-start","left","right-end","right-start","right","top-end","top-start","top"]),PopperComponent:a.elementType,PopperProps:a.object,slotProps:a.shape({arrow:a.object,popper:a.object,tooltip:a.object,transition:a.object}),slots:a.shape({arrow:a.elementType,popper:a.elementType,tooltip:a.elementType,transition:a.elementType}),sx:a.oneOfType([a.arrayOf(a.oneOfType([a.func,a.object,a.bool])),a.func,a.object]),title:a.node,TransitionComponent:a.elementType,TransitionProps:a.object});const Bd=Ma;var so={},$a={exports:{}};(function(e){function t(n){return n&&n.__esModule?n:{default:n}}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports})($a);var Ld=$a.exports,yr={};function Fd(e){return Ge("MuiSvgIcon",e)}st("MuiSvgIcon",["root","colorPrimary","colorSecondary","colorAction","colorError","colorDisabled","fontSizeInherit","fontSizeSmall","fontSizeMedium","fontSizeLarge"]);const Vd=["children","className","color","component","fontSize","htmlColor","inheritViewBox","titleAccess","viewBox"],zd=e=>{const{color:t,fontSize:n,classes:r}=e,o={root:["root",t!=="inherit"&&`color${He(t)}`,`fontSize${He(n)}`]};return tt(o,Fd,r)},Ud=Te("svg",{name:"MuiSvgIcon",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.color!=="inherit"&&t[`color${He(n.color)}`],t[`fontSize${He(n.fontSize)}`]]}})(({theme:e,ownerState:t})=>{var n,r,o,i,s,l,c,u,p,f,d,g,y;return{userSelect:"none",width:"1em",height:"1em",display:"inline-block",fill:t.hasSvgAsChild?void 0:"currentColor",flexShrink:0,transition:(n=e.transitions)==null||(r=n.create)==null?void 0:r.call(n,"fill",{duration:(o=e.transitions)==null||(o=o.duration)==null?void 0:o.shorter}),fontSize:{inherit:"inherit",small:((i=e.typography)==null||(s=i.pxToRem)==null?void 0:s.call(i,20))||"1.25rem",medium:((l=e.typography)==null||(c=l.pxToRem)==null?void 0:c.call(l,24))||"1.5rem",large:((u=e.typography)==null||(p=u.pxToRem)==null?void 0:p.call(u,35))||"2.1875rem"}[t.fontSize],color:(f=(d=(e.vars||e).palette)==null||(d=d[t.color])==null?void 0:d.main)!=null?f:{action:(g=(e.vars||e).palette)==null||(g=g.action)==null?void 0:g.active,disabled:(y=(e.vars||e).palette)==null||(y=y.action)==null?void 0:y.disabled,inherit:void 0}[t.color]}}),lo=k.forwardRef(function(t,n){const r=nt({props:t,name:"MuiSvgIcon"}),{children:o,className:i,color:s="inherit",component:l="svg",fontSize:c="medium",htmlColor:u,inheritViewBox:p=!1,titleAccess:f,viewBox:d="0 0 24 24"}=r,g=pe(r,Vd),y=k.isValidElement(o)&&o.type==="svg",b=T({},r,{color:s,component:l,fontSize:c,instanceFontSize:t.fontSize,inheritViewBox:p,viewBox:d,hasSvgAsChild:y}),h={};p||(h.viewBox=d);const E=zd(b);return v.jsxs(Ud,T({as:l,className:Ee(E.root,i),focusable:"false",color:u,"aria-hidden":f?void 0:!0,role:f?"img":void 0,ref:n},h,g,y&&o.props,{ownerState:b,children:[y?o.props.children:o,f?v.jsx("title",{children:f}):null]}))});process.env.NODE_ENV!=="production"&&(lo.propTypes={children:a.node,classes:a.object,className:a.string,color:a.oneOfType([a.oneOf(["inherit","action","disabled","primary","secondary","error","info","success","warning"]),a.string]),component:a.elementType,fontSize:a.oneOfType([a.oneOf(["inherit","large","medium","small"]),a.string]),htmlColor:a.string,inheritViewBox:a.bool,shapeRendering:a.string,sx:a.oneOfType([a.arrayOf(a.oneOfType([a.func,a.object,a.bool])),a.func,a.object]),titleAccess:a.string,viewBox:a.string});lo.muiName="SvgIcon";const bi=lo;function ja(e,t){function n(r,o){return v.jsx(bi,T({"data-testid":`${t}Icon`,ref:o},r,{children:e}))}return process.env.NODE_ENV!=="production"&&(n.displayName=`${t}Icon`),n.muiName=bi.muiName,k.memo(k.forwardRef(n))}const qd={configure:e=>{process.env.NODE_ENV!=="production"&&console.warn(["MUI: `ClassNameGenerator` import from `@mui/material/utils` is outdated and might cause unexpected issues.","","You should use `import { unstable_ClassNameGenerator } from '@mui/material/className'` instead","","The detail of the issue: https://github.com/mui/material-ui/issues/30011#issuecomment-1024993401","","The updated documentation: https://mui.com/guides/classname-generator/"].join(` -`)),ra.configure(e)}},Hd=Object.freeze(Object.defineProperty({__proto__:null,capitalize:He,createChainedFunction:Cr,createSvgIcon:ja,debounce:Xi,deprecatedPropType:vl,isMuiElement:yl,ownerDocument:ke,ownerWindow:It,requirePropFactory:wl,setRef:An,unstable_ClassNameGenerator:qd,unstable_useEnhancedEffect:yt,unstable_useId:Yi,unsupportedProp:kl,useControlled:Ki,useEventCallback:ln,useForkRef:Le,useIsFocusVisible:Ji},Symbol.toStringTag,{value:"Module"})),Wd=Js(Hd);var vi;function Gd(){return vi||(vi=1,function(e){"use client";Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.createSvgIcon}});var t=Wd}(yr)),yr}var Xd=Ld;Object.defineProperty(so,"__esModule",{value:!0});var Ia=so.default=void 0,Yd=Xd(Gd()),Kd=v;Ia=so.default=(0,Yd.default)((0,Kd.jsx)("path",{d:"m10 17 5-5-5-5z"}),"ArrowRight");function yi(e,t,n){return e?v.jsx(be.ListItemIcon,{className:`papi-menu-icon-${n?"leading":"trailing"}`,children:v.jsx("img",{src:e,alt:`${n?"Leading":"Trailing"} icon for ${t}`})}):void 0}function co(e){const{onClick:t,label:n,tooltip:r,allowForLeadingIcons:o=!0,iconPathBefore:i=void 0,iconPathAfter:s=void 0,hasAutoFocus:l=!1,className:c,isDisabled:u=!1,isDense:p=!0,isSubMenuParent:f=!1,hasDisabledGutters:d=!1,hasDivider:g=!1,focusVisibleClassName:y,id:b,children:h}=e,E=v.jsx(be.MenuItem,{sx:{lineHeight:.8},autoFocus:l,className:c,disabled:u,dense:p,disableGutters:d,divider:g,focusVisibleClassName:y,onClick:t,id:b,children:n?v.jsxs(v.Fragment,{children:[yi(i,n,!0),v.jsx(be.ListItemText,{primary:n,inset:!i&&o}),f?v.jsx(be.ListItemIcon,{className:"papi-menu-icon-trailing",children:v.jsx(Ia,{})}):yi(s,n,!1)]}):h});return r?v.jsx(Bd,{title:r,placement:"right",children:v.jsx("div",{children:E})}):E}function _a(e){return Object.entries(e.groups).map(([n,r])=>({id:n,group:r}))}function Jd(e){const[t,n]=_.useState(void 0),{parentMenuItem:r,parentItemProps:o,menuDefinition:i}=e,s=u=>{n(u.currentTarget)},l=()=>{n(void 0)},c=()=>{let u=_a(i).filter(p=>"menuItem"in p.group);if(!(r!=null&&r.id))throw new Error("A valid parent menu item is required for submenus.");return u=u.filter(p=>"menuItem"in p.group&&p.group.menuItem===r.id),v.jsx(uo,{...e,includedGroups:u})};return v.jsxs(v.Fragment,{children:[v.jsx(co,{onClick:s,...o,isSubMenuParent:!0}),v.jsx(be.Menu,{anchorEl:t,open:!!t,onClose:l,anchorOrigin:{vertical:"top",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"left"},children:c()},r.id)]})}const Zd=(e,t)=>t.filter(o=>o.group===e).sort((o,i)=>(o.order||0)-(i.order||0));function uo(e){const{menuDefinition:t,onClick:n,commandHandler:r,includedGroups:o}=e,{items:i,allowForLeadingIcons:s}=_.useMemo(()=>{const p=o&&o.length>0?o:_a(t).filter(y=>!("menuItem"in y.group)),f=Object.values(p).sort((y,b)=>(y.group.order||0)-(b.group.order||0)),d=[];f.forEach(y=>{Zd(y.id,t.items).forEach(b=>d.push({item:b,isLastItemInGroup:!1})),d.length>0&&(d[d.length-1].isLastItemInGroup=!0)}),d.length>0&&(d[d.length-1].isLastItemInGroup=!1);const g=d.some(y=>"iconPathBefore"in y.item&&y.item.iconPathBefore);return{items:d,allowForLeadingIcons:g}},[o,t]),l=({item:p,isLastItemInGroup:f})=>({className:"papi-menu-item",label:p.label,tooltip:p.tooltip,iconPathBefore:"iconPathBefore"in p?p.iconPathBefore:void 0,iconPathAfter:"iconPathAfter"in p?p.iconPathAfter:void 0,hasDivider:f,allowForLeadingIcons:s}),[c]=i;if(!c)return v.jsx("div",{});const u=c.item.group;return v.jsx("div",{role:"menu","aria-label":u,children:i.map((p,f)=>{const{item:d}=p,g=l(p);if("command"in d){const y=d.group+f;return v.jsx(co,{onClick:b=>{n==null||n(b),r(d)},...g},y)}return v.jsx(Jd,{parentMenuItem:d,parentItemProps:g,...e},u+d.id)})},u)}function Qd(e){const{menuDefinition:t,columnId:n}=e;let i=Object.entries(t.groups).map(([s,l])=>({id:s,group:l})).filter(s=>"column"in s.group);return n&&"columns"in t&&t.columns[n]&&(i=i.filter(s=>"column"in s.group&&s.group.column===n)),v.jsx(uo,{...e,includedGroups:i})}function ef({commandHandler:e,menuDefinition:t,id:n,metadata:r,onClick:o,className:i}){return v.jsxs(be.Grid,{id:n,item:!0,xs:"auto",role:"menu","aria-label":n,className:`papi-menu-column ${i??""}`,children:[v.jsx("h3",{"aria-label":r.label,className:`papi-menu-column-header ${i??""}`,children:r.label}),v.jsx(be.List,{id:n,dense:!0,className:i??"",children:v.jsx(Qd,{commandHandler:e,menuDefinition:t,columnId:n,onClick:o})})]})}function Aa({commandHandler:e,className:t,multiColumnMenu:n,id:r}){const{columns:o}=n,i=_.useMemo(()=>{const s=new Map;return Object.getOwnPropertyNames(o).forEach(l=>{if(l==="isExtensible")return;const c=l,u=o[c];typeof u=="object"&&typeof u.order=="number"&&!Number.isNaN(u.order)?s.set(u.order,{id:c,metadata:u}):console.warn(`Property ${l} (${typeof u}) on menu ${r} is not a valid column and is being ignored. This might indicate data corruption`)}),Array.from(s.values()).sort((l,c)=>(l.metadata.order||0)-(c.metadata.order||0))},[o,r]);return v.jsx(be.Grid,{container:!0,spacing:0,className:`papi-multi-column-menu ${t??""}`,columns:i.length,role:"menu","aria-label":"GridMenu",id:r,children:i.map((s,l)=>v.jsx(ef,{commandHandler:e,menuDefinition:n,...s,className:t},l))})}const Da=k.createContext({});process.env.NODE_ENV!=="production"&&(Da.displayName="ListContext");const tf=Da;function nf(e){return Ge("MuiList",e)}st("MuiList",["root","padding","dense","subheader"]);const rf=["children","className","component","dense","disablePadding","subheader"],of=e=>{const{classes:t,disablePadding:n,dense:r,subheader:o}=e;return tt({root:["root",!n&&"padding",r&&"dense",o&&"subheader"]},nf,t)},af=Te("ul",{name:"MuiList",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,!n.disablePadding&&t.padding,n.dense&&t.dense,n.subheader&&t.subheader]}})(({ownerState:e})=>T({listStyle:"none",margin:0,padding:0,position:"relative"},!e.disablePadding&&{paddingTop:8,paddingBottom:8},e.subheader&&{paddingTop:0})),Ba=k.forwardRef(function(t,n){const r=nt({props:t,name:"MuiList"}),{children:o,className:i,component:s="ul",dense:l=!1,disablePadding:c=!1,subheader:u}=r,p=pe(r,rf),f=k.useMemo(()=>({dense:l}),[l]),d=T({},r,{component:s,dense:l,disablePadding:c}),g=of(d);return v.jsx(tf.Provider,{value:f,children:v.jsxs(af,T({as:s,className:Ee(g.root,i),ref:n,ownerState:d},p,{children:[u,o]}))})});process.env.NODE_ENV!=="production"&&(Ba.propTypes={children:a.node,classes:a.object,className:a.string,component:a.elementType,dense:a.bool,disablePadding:a.bool,subheader:a.node,sx:a.oneOfType([a.arrayOf(a.oneOfType([a.func,a.object,a.bool])),a.func,a.object])});const sf=Ba,lf=["actions","autoFocus","autoFocusItem","children","className","disabledItemsFocusable","disableListWrap","onKeyDown","variant"];function wr(e,t,n){return e===t?e.firstChild:t&&t.nextElementSibling?t.nextElementSibling:n?null:e.firstChild}function wi(e,t,n){return e===t?n?e.firstChild:e.lastChild:t&&t.previousElementSibling?t.previousElementSibling:n?null:e.lastChild}function La(e,t){if(t===void 0)return!0;let n=e.innerText;return n===void 0&&(n=e.textContent),n=n.trim().toLowerCase(),n.length===0?!1:t.repeating?n[0]===t.keys[0]:n.indexOf(t.keys.join(""))===0}function Jt(e,t,n,r,o,i){let s=!1,l=o(e,t,t?n:!1);for(;l;){if(l===e.firstChild){if(s)return!1;s=!0}const c=r?!1:l.disabled||l.getAttribute("aria-disabled")==="true";if(!l.hasAttribute("tabindex")||!La(l,i)||c)l=o(e,l,n);else return l.focus(),!0}return!1}const Fa=k.forwardRef(function(t,n){const{actions:r,autoFocus:o=!1,autoFocusItem:i=!1,children:s,className:l,disabledItemsFocusable:c=!1,disableListWrap:u=!1,onKeyDown:p,variant:f="selectedMenu"}=t,d=pe(t,lf),g=k.useRef(null),y=k.useRef({keys:[],repeating:!0,previousKeyMatched:!0,lastTime:null});yt(()=>{o&&g.current.focus()},[o]),k.useImperativeHandle(r,()=>({adjustStyleForScrollbar:(w,x)=>{const m=!g.current.style.width;if(w.clientHeight{const x=g.current,m=w.key,S=ke(x).activeElement;if(m==="ArrowDown")w.preventDefault(),Jt(x,S,u,c,wr);else if(m==="ArrowUp")w.preventDefault(),Jt(x,S,u,c,wi);else if(m==="Home")w.preventDefault(),Jt(x,null,u,c,wr);else if(m==="End")w.preventDefault(),Jt(x,null,u,c,wi);else if(m.length===1){const N=y.current,F=m.toLowerCase(),L=performance.now();N.keys.length>0&&(L-N.lastTime>500?(N.keys=[],N.repeating=!0,N.previousKeyMatched=!0):N.repeating&&F!==N.keys[0]&&(N.repeating=!1)),N.lastTime=L,N.keys.push(F);const V=S&&!N.repeating&&La(S,N);N.previousKeyMatched&&(V||Jt(x,S,!1,c,wr,N))?w.preventDefault():N.previousKeyMatched=!1}p&&p(w)},h=Le(g,n);let E=-1;k.Children.forEach(s,(w,x)=>{if(!k.isValidElement(w)){E===x&&(E+=1,E>=s.length&&(E=-1));return}process.env.NODE_ENV!=="production"&&_n.isFragment(w)&&console.error(["MUI: The Menu component doesn't accept a Fragment as a child.","Consider providing an array instead."].join(` -`)),w.props.disabled||(f==="selectedMenu"&&w.props.selected||E===-1)&&(E=x),E===x&&(w.props.disabled||w.props.muiSkipListHighlight||w.type.muiSkipListHighlight)&&(E+=1,E>=s.length&&(E=-1))});const j=k.Children.map(s,(w,x)=>{if(x===E){const m={};return i&&(m.autoFocus=!0),w.props.tabIndex===void 0&&f==="selectedMenu"&&(m.tabIndex=0),k.cloneElement(w,m)}return w});return v.jsx(sf,T({role:"menu",ref:h,className:l,onKeyDown:b,tabIndex:o?0:-1},d,{children:j}))});process.env.NODE_ENV!=="production"&&(Fa.propTypes={autoFocus:a.bool,autoFocusItem:a.bool,children:a.node,className:a.string,disabledItemsFocusable:a.bool,disableListWrap:a.bool,onKeyDown:a.func,variant:a.oneOf(["menu","selectedMenu"])});const cf=Fa,uf=["addEndListener","appear","children","easing","in","onEnter","onEntered","onEntering","onExit","onExited","onExiting","style","timeout","TransitionComponent"],pf={entering:{opacity:1},entered:{opacity:1}},Va=k.forwardRef(function(t,n){const r=xn(),o={enter:r.transitions.duration.enteringScreen,exit:r.transitions.duration.leavingScreen},{addEndListener:i,appear:s=!0,children:l,easing:c,in:u,onEnter:p,onEntered:f,onEntering:d,onExit:g,onExited:y,onExiting:b,style:h,timeout:E=o,TransitionComponent:j=Ca}=t,w=pe(t,uf),x=k.useRef(null),m=Le(x,l.ref,n),S=B=>D=>{if(B){const $=x.current;D===void 0?B($):B($,D)}},N=S(d),F=S((B,D)=>{Na(B);const $=zn({style:h,timeout:E,easing:c},{mode:"enter"});B.style.webkitTransition=r.transitions.create("opacity",$),B.style.transition=r.transitions.create("opacity",$),p&&p(B,D)}),L=S(f),V=S(b),C=S(B=>{const D=zn({style:h,timeout:E,easing:c},{mode:"exit"});B.style.webkitTransition=r.transitions.create("opacity",D),B.style.transition=r.transitions.create("opacity",D),g&&g(B)}),M=S(y),R=B=>{i&&i(x.current,B)};return v.jsx(j,T({appear:s,in:u,nodeRef:x,onEnter:F,onEntered:L,onEntering:N,onExit:C,onExited:M,onExiting:V,addEndListener:R,timeout:E},w,{children:(B,D)=>k.cloneElement(l,T({style:T({opacity:0,visibility:B==="exited"&&!u?"hidden":void 0},pf[B],h,l.props.style),ref:m},D))}))});process.env.NODE_ENV!=="production"&&(Va.propTypes={addEndListener:a.func,appear:a.bool,children:mn.isRequired,easing:a.oneOfType([a.shape({enter:a.string,exit:a.string}),a.string]),in:a.bool,onEnter:a.func,onEntered:a.func,onEntering:a.func,onExit:a.func,onExited:a.func,onExiting:a.func,style:a.object,timeout:a.oneOfType([a.number,a.shape({appear:a.number,enter:a.number,exit:a.number})])});const df=Va;function ff(e){return Ge("MuiBackdrop",e)}st("MuiBackdrop",["root","invisible"]);const hf=["children","className","component","components","componentsProps","invisible","open","slotProps","slots","TransitionComponent","transitionDuration"],mf=e=>{const{classes:t,invisible:n}=e;return tt({root:["root",n&&"invisible"]},ff,t)},gf=Te("div",{name:"MuiBackdrop",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.invisible&&t.invisible]}})(({ownerState:e})=>T({position:"fixed",display:"flex",alignItems:"center",justifyContent:"center",right:0,bottom:0,top:0,left:0,backgroundColor:"rgba(0, 0, 0, 0.5)",WebkitTapHighlightColor:"transparent"},e.invisible&&{backgroundColor:"transparent"})),za=k.forwardRef(function(t,n){var r,o,i;const s=nt({props:t,name:"MuiBackdrop"}),{children:l,className:c,component:u="div",components:p={},componentsProps:f={},invisible:d=!1,open:g,slotProps:y={},slots:b={},TransitionComponent:h=df,transitionDuration:E}=s,j=pe(s,hf),w=T({},s,{component:u,invisible:d}),x=mf(w),m=(r=y.root)!=null?r:f.root;return v.jsx(h,T({in:g,timeout:E},j,{children:v.jsx(gf,T({"aria-hidden":!0},m,{as:(o=(i=b.root)!=null?i:p.Root)!=null?o:u,className:Ee(x.root,c,m==null?void 0:m.className),ownerState:T({},w,m==null?void 0:m.ownerState),classes:x,ref:n,children:l}))}))});process.env.NODE_ENV!=="production"&&(za.propTypes={children:a.node,classes:a.object,className:a.string,component:a.elementType,components:a.shape({Root:a.elementType}),componentsProps:a.shape({root:a.object}),invisible:a.bool,open:a.bool.isRequired,slotProps:a.shape({root:a.object}),slots:a.shape({root:a.elementType}),sx:a.oneOfType([a.arrayOf(a.oneOfType([a.func,a.object,a.bool])),a.func,a.object]),TransitionComponent:a.elementType,transitionDuration:a.oneOfType([a.number,a.shape({appear:a.number,enter:a.number,exit:a.number})])});const bf=za;function vf(e){return Ge("MuiModal",e)}st("MuiModal",["root","hidden","backdrop"]);const yf=["BackdropComponent","BackdropProps","classes","className","closeAfterTransition","children","container","component","components","componentsProps","disableAutoFocus","disableEnforceFocus","disableEscapeKeyDown","disablePortal","disableRestoreFocus","disableScrollLock","hideBackdrop","keepMounted","onBackdropClick","onClose","onTransitionEnter","onTransitionExited","open","slotProps","slots","theme"],wf=e=>{const{open:t,exited:n,classes:r}=e;return tt({root:["root",!t&&n&&"hidden"],backdrop:["backdrop"]},vf,r)},xf=Te("div",{name:"MuiModal",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,!n.open&&n.exited&&t.hidden]}})(({theme:e,ownerState:t})=>T({position:"fixed",zIndex:(e.vars||e).zIndex.modal,right:0,bottom:0,top:0,left:0},!t.open&&t.exited&&{visibility:"hidden"})),Ef=Te(bf,{name:"MuiModal",slot:"Backdrop",overridesResolver:(e,t)=>t.backdrop})({zIndex:-1}),Ua=k.forwardRef(function(t,n){var r,o,i,s,l,c;const u=nt({name:"MuiModal",props:t}),{BackdropComponent:p=Ef,BackdropProps:f,className:d,closeAfterTransition:g=!1,children:y,container:b,component:h,components:E={},componentsProps:j={},disableAutoFocus:w=!1,disableEnforceFocus:x=!1,disableEscapeKeyDown:m=!1,disablePortal:S=!1,disableRestoreFocus:N=!1,disableScrollLock:F=!1,hideBackdrop:L=!1,keepMounted:V=!1,onBackdropClick:C,open:M,slotProps:R,slots:B}=u,D=pe(u,yf),$=T({},u,{closeAfterTransition:g,disableAutoFocus:w,disableEnforceFocus:x,disableEscapeKeyDown:m,disablePortal:S,disableRestoreFocus:N,disableScrollLock:F,hideBackdrop:L,keepMounted:V}),{getRootProps:z,getBackdropProps:ee,getTransitionProps:Q,portalRef:O,isTopModal:A,exited:q,hasTransition:Y}=uc(T({},$,{rootRef:n})),U=T({},$,{exited:q}),H=wf(U),G={};if(y.props.tabIndex===void 0&&(G.tabIndex="-1"),Y){const{onEnter:Z,onExited:P}=Q();G.onEnter=Z,G.onExited=P}const X=(r=(o=B==null?void 0:B.root)!=null?o:E.Root)!=null?r:xf,W=(i=(s=B==null?void 0:B.backdrop)!=null?s:E.Backdrop)!=null?i:p,K=(l=R==null?void 0:R.root)!=null?l:j.root,J=(c=R==null?void 0:R.backdrop)!=null?c:j.backdrop,re=wt({elementType:X,externalSlotProps:K,externalForwardedProps:D,getSlotProps:z,additionalProps:{ref:n,as:h},ownerState:U,className:Ee(d,K==null?void 0:K.className,H==null?void 0:H.root,!U.open&&U.exited&&(H==null?void 0:H.hidden))}),I=wt({elementType:W,externalSlotProps:J,additionalProps:f,getSlotProps:Z=>ee(T({},Z,{onClick:P=>{C&&C(P),Z!=null&&Z.onClick&&Z.onClick(P)}})),className:Ee(J==null?void 0:J.className,f==null?void 0:f.className,H==null?void 0:H.backdrop),ownerState:U});return!V&&!M&&(!Y||q)?null:v.jsx(cn,{ref:O,container:b,disablePortal:S,children:v.jsxs(X,T({},re,{children:[!L&&p?v.jsx(W,T({},I)):null,v.jsx(Dn,{disableEnforceFocus:x,disableAutoFocus:w,disableRestoreFocus:N,isEnabled:A,open:M,children:k.cloneElement(y,G)})]}))})});process.env.NODE_ENV!=="production"&&(Ua.propTypes={BackdropComponent:a.elementType,BackdropProps:a.object,children:mn.isRequired,classes:a.object,className:a.string,closeAfterTransition:a.bool,component:a.elementType,components:a.shape({Backdrop:a.elementType,Root:a.elementType}),componentsProps:a.shape({backdrop:a.oneOfType([a.func,a.object]),root:a.oneOfType([a.func,a.object])}),container:a.oneOfType([Ze,a.func]),disableAutoFocus:a.bool,disableEnforceFocus:a.bool,disableEscapeKeyDown:a.bool,disablePortal:a.bool,disableRestoreFocus:a.bool,disableScrollLock:a.bool,hideBackdrop:a.bool,keepMounted:a.bool,onBackdropClick:a.func,onClose:a.func,onTransitionEnter:a.func,onTransitionExited:a.func,open:a.bool.isRequired,slotProps:a.shape({backdrop:a.oneOfType([a.func,a.object]),root:a.oneOfType([a.func,a.object])}),slots:a.shape({backdrop:a.elementType,root:a.elementType}),sx:a.oneOfType([a.arrayOf(a.oneOfType([a.func,a.object,a.bool])),a.func,a.object])});const kf=Ua;function Tf(e){return Ge("MuiPaper",e)}st("MuiPaper",["root","rounded","outlined","elevation","elevation0","elevation1","elevation2","elevation3","elevation4","elevation5","elevation6","elevation7","elevation8","elevation9","elevation10","elevation11","elevation12","elevation13","elevation14","elevation15","elevation16","elevation17","elevation18","elevation19","elevation20","elevation21","elevation22","elevation23","elevation24"]);const Of=["className","component","elevation","square","variant"],Sf=e=>{const{square:t,elevation:n,variant:r,classes:o}=e,i={root:["root",r,!t&&"rounded",r==="elevation"&&`elevation${n}`]};return tt(i,Tf,o)},Cf=Te("div",{name:"MuiPaper",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],!n.square&&t.rounded,n.variant==="elevation"&&t[`elevation${n.elevation}`]]}})(({theme:e,ownerState:t})=>{var n;return T({backgroundColor:(e.vars||e).palette.background.paper,color:(e.vars||e).palette.text.primary,transition:e.transitions.create("box-shadow")},!t.square&&{borderRadius:e.shape.borderRadius},t.variant==="outlined"&&{border:`1px solid ${(e.vars||e).palette.divider}`},t.variant==="elevation"&&T({boxShadow:(e.vars||e).shadows[t.elevation]},!e.vars&&e.palette.mode==="dark"&&{backgroundImage:`linear-gradient(${Vn("#fff",mi(t.elevation))}, ${Vn("#fff",mi(t.elevation))})`},e.vars&&{backgroundImage:(n=e.vars.overlays)==null?void 0:n[t.elevation]}))}),qa=k.forwardRef(function(t,n){const r=nt({props:t,name:"MuiPaper"}),{className:o,component:i="div",elevation:s=1,square:l=!1,variant:c="elevation"}=r,u=pe(r,Of),p=T({},r,{component:i,elevation:s,square:l,variant:c}),f=Sf(p);return process.env.NODE_ENV!=="production"&&xn().shadows[s]===void 0&&console.error([`MUI: The elevation provided is not available in the theme.`,`Please make sure that \`theme.shadows[${s}]\` is defined.`].join(` -`)),v.jsx(Cf,T({as:i,ownerState:p,className:Ee(f.root,o),ref:n},u))});process.env.NODE_ENV!=="production"&&(qa.propTypes={children:a.node,classes:a.object,className:a.string,component:a.elementType,elevation:Ft(ta,e=>{const{elevation:t,variant:n}=e;return t>0&&n==="outlined"?new Error(`MUI: Combining \`elevation={${t}}\` with \`variant="${n}"\` has no effect. Either use \`elevation={0}\` or use a different \`variant\`.`):null}),square:a.bool,sx:a.oneOfType([a.arrayOf(a.oneOfType([a.func,a.object,a.bool])),a.func,a.object]),variant:a.oneOfType([a.oneOf(["elevation","outlined"]),a.string])});const Nf=qa;function Pf(e){return Ge("MuiPopover",e)}st("MuiPopover",["root","paper"]);const Rf=["onEntering"],Mf=["action","anchorEl","anchorOrigin","anchorPosition","anchorReference","children","className","container","elevation","marginThreshold","open","PaperProps","slots","slotProps","transformOrigin","TransitionComponent","transitionDuration","TransitionProps","disableScrollLock"],$f=["slotProps"];function xi(e,t){let n=0;return typeof t=="number"?n=t:t==="center"?n=e.height/2:t==="bottom"&&(n=e.height),n}function Ei(e,t){let n=0;return typeof t=="number"?n=t:t==="center"?n=e.width/2:t==="right"&&(n=e.width),n}function ki(e){return[e.horizontal,e.vertical].map(t=>typeof t=="number"?`${t}px`:t).join(" ")}function jn(e){return typeof e=="function"?e():e}const jf=e=>{const{classes:t}=e;return tt({root:["root"],paper:["paper"]},Pf,t)},If=Te(kf,{name:"MuiPopover",slot:"Root",overridesResolver:(e,t)=>t.root})({}),Ha=Te(Nf,{name:"MuiPopover",slot:"Paper",overridesResolver:(e,t)=>t.paper})({position:"absolute",overflowY:"auto",overflowX:"hidden",minWidth:16,minHeight:16,maxWidth:"calc(100% - 32px)",maxHeight:"calc(100% - 32px)",outline:0}),Wa=k.forwardRef(function(t,n){var r,o,i;const s=nt({props:t,name:"MuiPopover"}),{action:l,anchorEl:c,anchorOrigin:u={vertical:"top",horizontal:"left"},anchorPosition:p,anchorReference:f="anchorEl",children:d,className:g,container:y,elevation:b=8,marginThreshold:h=16,open:E,PaperProps:j={},slots:w,slotProps:x,transformOrigin:m={vertical:"top",horizontal:"left"},TransitionComponent:S=_r,transitionDuration:N="auto",TransitionProps:{onEntering:F}={},disableScrollLock:L=!1}=s,V=pe(s.TransitionProps,Rf),C=pe(s,Mf),M=(r=x==null?void 0:x.paper)!=null?r:j,R=k.useRef(),B=Le(R,M.ref),D=T({},s,{anchorOrigin:u,anchorReference:f,elevation:b,marginThreshold:h,externalPaperSlotProps:M,transformOrigin:m,TransitionComponent:S,transitionDuration:N,TransitionProps:V}),$=jf(D),z=k.useCallback(()=>{if(f==="anchorPosition")return process.env.NODE_ENV!=="production"&&(p||console.error('MUI: You need to provide a `anchorPosition` prop when using .')),p;const Z=jn(c),P=Z&&Z.nodeType===1?Z:ke(R.current).body,oe=P.getBoundingClientRect();if(process.env.NODE_ENV!=="production"){const we=P.getBoundingClientRect();process.env.NODE_ENV!=="test"&&we.top===0&&we.left===0&&we.right===0&&we.bottom===0&&console.warn(["MUI: The `anchorEl` prop provided to the component is invalid.","The anchor element should be part of the document layout.","Make sure the element is present in the document or that it's not display none."].join(` -`))}return{top:oe.top+xi(oe,u.vertical),left:oe.left+Ei(oe,u.horizontal)}},[c,u.horizontal,u.vertical,p,f]),ee=k.useCallback(Z=>({vertical:xi(Z,m.vertical),horizontal:Ei(Z,m.horizontal)}),[m.horizontal,m.vertical]),Q=k.useCallback(Z=>{const P={width:Z.offsetWidth,height:Z.offsetHeight},oe=ee(P);if(f==="none")return{top:null,left:null,transformOrigin:ki(oe)};const we=z();let Oe=we.top-oe.vertical,ve=we.left-oe.horizontal;const ut=Oe+P.height,Se=ve+P.width,Xe=It(jn(c)),Me=Xe.innerHeight-h,Ye=Xe.innerWidth-h;if(h!==null&&OeMe){const xe=ut-Me;Oe-=xe,oe.vertical+=xe}if(process.env.NODE_ENV!=="production"&&P.height>Me&&P.height&&Me&&console.error(["MUI: The popover component is too tall.",`Some part of it can not be seen on the screen (${P.height-Me}px).`,"Please consider adding a `max-height` to improve the user-experience."].join(` -`)),h!==null&&veYe){const xe=Se-Ye;ve-=xe,oe.horizontal+=xe}return{top:`${Math.round(Oe)}px`,left:`${Math.round(ve)}px`,transformOrigin:ki(oe)}},[c,f,z,ee,h]),[O,A]=k.useState(E),q=k.useCallback(()=>{const Z=R.current;if(!Z)return;const P=Q(Z);P.top!==null&&(Z.style.top=P.top),P.left!==null&&(Z.style.left=P.left),Z.style.transformOrigin=P.transformOrigin,A(!0)},[Q]);k.useEffect(()=>(L&&window.addEventListener("scroll",q),()=>window.removeEventListener("scroll",q)),[c,L,q]);const Y=(Z,P)=>{F&&F(Z,P),q()},U=()=>{A(!1)};k.useEffect(()=>{E&&q()}),k.useImperativeHandle(l,()=>E?{updatePosition:()=>{q()}}:null,[E,q]),k.useEffect(()=>{if(!E)return;const Z=Xi(()=>{q()}),P=It(c);return P.addEventListener("resize",Z),()=>{Z.clear(),P.removeEventListener("resize",Z)}},[c,E,q]);let H=N;N==="auto"&&!S.muiSupportAuto&&(H=void 0);const G=y||(c?ke(jn(c)).body:void 0),X=(o=w==null?void 0:w.root)!=null?o:If,W=(i=w==null?void 0:w.paper)!=null?i:Ha,K=wt({elementType:W,externalSlotProps:T({},M,{style:O?M.style:T({},M.style,{opacity:0})}),additionalProps:{elevation:b,ref:B},ownerState:D,className:Ee($.paper,M==null?void 0:M.className)}),J=wt({elementType:X,externalSlotProps:(x==null?void 0:x.root)||{},externalForwardedProps:C,additionalProps:{ref:n,slotProps:{backdrop:{invisible:!0}},container:G,open:E},ownerState:D,className:Ee($.root,g)}),{slotProps:re}=J,I=pe(J,$f);return v.jsx(X,T({},I,!ia(X)&&{slotProps:re,disableScrollLock:L},{children:v.jsx(S,T({appear:!0,in:E,onEntering:Y,onExited:U,timeout:H},V,{children:v.jsx(W,T({},K,{children:d}))}))}))});process.env.NODE_ENV!=="production"&&(Wa.propTypes={action:qr,anchorEl:Ft(a.oneOfType([Ze,a.func]),e=>{if(e.open&&(!e.anchorReference||e.anchorReference==="anchorEl")){const t=jn(e.anchorEl);if(t&&t.nodeType===1){const n=t.getBoundingClientRect();if(process.env.NODE_ENV!=="test"&&n.top===0&&n.left===0&&n.right===0&&n.bottom===0)return new Error(["MUI: The `anchorEl` prop provided to the component is invalid.","The anchor element should be part of the document layout.","Make sure the element is present in the document or that it's not display none."].join(` +} });`:It(12,h?` (${h})`:"",JSON.stringify(b.main)));return fi(b,"light",I,r),fi(b,"dark",w,r),b.contrastText||(b.contrastText=f(b.main)),b},g={dark:vr,light:di};return process.env.NODE_ENV!=="production"&&(g[t]||console.error(`MUI: The palette mode \`${t}\` is not supported.`)),Ze(T({common:T({},hn),mode:t,primary:d({color:i,name:"primary"}),secondary:d({color:s,name:"secondary",mainShade:"A400",lightShade:"A200",darkShade:"A700"}),error:d({color:l,name:"error"}),warning:d({color:u,name:"warning"}),info:d({color:c,name:"info"}),success:d({color:p,name:"success"}),grey:rd,contrastThreshold:n,getContrastText:f,augmentColor:d,tonalOffset:r},g[t]),o)}const vd=["fontFamily","fontSize","fontWeightLight","fontWeightRegular","fontWeightMedium","fontWeightBold","htmlFontSize","allVariants","pxToRem"];function yd(e){return Math.round(e*1e5)/1e5}const hi={textTransform:"uppercase"},mi='"Roboto", "Helvetica", "Arial", sans-serif';function wd(e,t){const n=typeof t=="function"?t(e):t,{fontFamily:r=mi,fontSize:o=14,fontWeightLight:i=300,fontWeightRegular:s=400,fontWeightMedium:l=500,fontWeightBold:c=700,htmlFontSize:p=16,allVariants:u,pxToRem:f}=n,d=de(n,vd);process.env.NODE_ENV!=="production"&&(typeof o!="number"&&console.error("MUI: `fontSize` is required to be a number."),typeof p!="number"&&console.error("MUI: `htmlFontSize` is required to be a number."));const g=o/14,y=f||(E=>`${E/p*g}rem`),b=(E,I,w,x,m)=>T({fontFamily:r,fontWeight:E,fontSize:y(I),lineHeight:w},r===mi?{letterSpacing:`${yd(x/I)}em`}:{},m,u),h={h1:b(i,96,1.167,-1.5),h2:b(i,60,1.2,-.5),h3:b(s,48,1.167,0),h4:b(s,34,1.235,.25),h5:b(s,24,1.334,0),h6:b(l,20,1.6,.15),subtitle1:b(s,16,1.75,.15),subtitle2:b(l,14,1.57,.1),body1:b(s,16,1.5,.15),body2:b(s,14,1.43,.15),button:b(l,14,1.75,.4,hi),caption:b(s,12,1.66,.4),overline:b(s,12,2.66,1,hi),inherit:{fontFamily:"inherit",fontWeight:"inherit",fontSize:"inherit",lineHeight:"inherit",letterSpacing:"inherit"}};return Ze(T({htmlFontSize:p,pxToRem:y,fontFamily:r,fontSize:o,fontWeightLight:i,fontWeightRegular:s,fontWeightMedium:l,fontWeightBold:c},h),d,{clone:!1})}const xd=.2,Ed=.14,kd=.12;function he(...e){return[`${e[0]}px ${e[1]}px ${e[2]}px ${e[3]}px rgba(0,0,0,${xd})`,`${e[4]}px ${e[5]}px ${e[6]}px ${e[7]}px rgba(0,0,0,${Ed})`,`${e[8]}px ${e[9]}px ${e[10]}px ${e[11]}px rgba(0,0,0,${kd})`].join(",")}const Td=["none",he(0,2,1,-1,0,1,1,0,0,1,3,0),he(0,3,1,-2,0,2,2,0,0,1,5,0),he(0,3,3,-2,0,3,4,0,0,1,8,0),he(0,2,4,-1,0,4,5,0,0,1,10,0),he(0,3,5,-1,0,5,8,0,0,1,14,0),he(0,3,5,-1,0,6,10,0,0,1,18,0),he(0,4,5,-2,0,7,10,1,0,2,16,1),he(0,5,5,-3,0,8,10,1,0,3,14,2),he(0,5,6,-3,0,9,12,1,0,3,16,2),he(0,6,6,-3,0,10,14,1,0,4,18,3),he(0,6,7,-4,0,11,15,1,0,4,20,3),he(0,7,8,-4,0,12,17,2,0,5,22,4),he(0,7,8,-4,0,13,19,2,0,5,24,4),he(0,7,9,-4,0,14,21,2,0,5,26,4),he(0,8,9,-5,0,15,22,2,0,6,28,5),he(0,8,10,-5,0,16,24,2,0,6,30,5),he(0,8,11,-5,0,17,26,2,0,6,32,5),he(0,9,11,-5,0,18,28,2,0,7,34,6),he(0,9,12,-6,0,19,29,2,0,7,36,6),he(0,10,13,-6,0,20,31,3,0,8,38,7),he(0,10,13,-6,0,21,33,3,0,8,40,7),he(0,10,14,-6,0,22,35,3,0,8,42,7),he(0,11,14,-7,0,23,36,3,0,9,44,8),he(0,11,15,-7,0,24,38,3,0,9,46,8)],Od=Td,Cd=["duration","easing","delay"],Sd={easeInOut:"cubic-bezier(0.4, 0, 0.2, 1)",easeOut:"cubic-bezier(0.0, 0, 0.2, 1)",easeIn:"cubic-bezier(0.4, 0, 1, 1)",sharp:"cubic-bezier(0.4, 0, 0.6, 1)"},Nd={shortest:150,shorter:200,short:250,standard:300,complex:375,enteringScreen:225,leavingScreen:195};function gi(e){return`${Math.round(e)}ms`}function Pd(e){if(!e)return 0;const t=e/36;return Math.round((4+15*t**.25+t/5)*10)}function Rd(e){const t=T({},Sd,e.easing),n=T({},Nd,e.duration);return T({getAutoHeightDuration:Pd,create:(o=["all"],i={})=>{const{duration:s=n.standard,easing:l=t.easeInOut,delay:c=0}=i,p=de(i,Cd);if(process.env.NODE_ENV!=="production"){const u=d=>typeof d=="string",f=d=>!isNaN(parseFloat(d));!u(o)&&!Array.isArray(o)&&console.error('MUI: Argument "props" must be a string or Array.'),!f(s)&&!u(s)&&console.error(`MUI: Argument "duration" must be a number or a string but found ${s}.`),u(l)||console.error('MUI: Argument "easing" must be a string.'),!f(c)&&!u(c)&&console.error('MUI: Argument "delay" must be a number or a string.'),typeof i!="object"&&console.error(["MUI: Secong argument of transition.create must be an object.","Arguments should be either `create('prop1', options)` or `create(['prop1', 'prop2'], options)`"].join(` +`)),Object.keys(p).length!==0&&console.error(`MUI: Unrecognized argument(s) [${Object.keys(p).join(",")}].`)}return(Array.isArray(o)?o:[o]).map(u=>`${u} ${typeof s=="string"?s:gi(s)} ${l} ${typeof c=="string"?c:gi(c)}`).join(",")}},e,{easing:t,duration:n})}const Md={mobileStepper:1e3,fab:1050,speedDial:1050,appBar:1100,drawer:1200,modal:1300,snackbar:1400,tooltip:1500},$d=Md,jd=["breakpoints","mixins","spacing","palette","transitions","typography","shape"];function Id(e={},...t){const{mixins:n={},palette:r={},transitions:o={},typography:i={}}=e,s=de(e,jd);if(e.vars)throw new Error(process.env.NODE_ENV!=="production"?"MUI: `vars` is a private field used for CSS variables support.\nPlease use another name.":It(18));const l=bd(r),c=io(e);let p=Ze(c,{mixins:ed(c.breakpoints,n),palette:l,shadows:Od.slice(),typography:wd(l,i),transitions:Rd(o),zIndex:T({},$d)});if(p=Ze(p,s),p=t.reduce((u,f)=>Ze(u,f),p),process.env.NODE_ENV!=="production"){const u=["active","checked","completed","disabled","error","expanded","focused","focusVisible","required","selected"],f=(d,g)=>{let y;for(y in d){const b=d[y];if(u.indexOf(y)!==-1&&Object.keys(b).length>0){if(process.env.NODE_ENV!=="production"){const h=Ye("",y);console.error([`MUI: The \`${g}\` component increases the CSS specificity of the \`${y}\` internal state.`,"You can not override it like this: ",JSON.stringify(d,null,2),"",`Instead, you need to use the '&.${h}' syntax:`,JSON.stringify({root:{[`&.${h}`]:b}},null,2),"","https://mui.com/r/state-classes-guide"].join(` +`))}d[y]={}}}};Object.keys(p.components).forEach(d=>{const g=p.components[d].styleOverrides;g&&d.indexOf("Mui")===0&&f(g,d)})}return p.unstable_sxConfig=T({},ro,s==null?void 0:s.unstable_sxConfig),p.unstable_sx=function(f){return oo({sx:f,theme:this})},p}const _d=Id(),so=_d,lo="$$material",Sa=e=>$n(e)&&e!=="classes",Ad=Xu({themeId:lo,defaultTheme:so,rootShouldForwardProp:Sa}),Te=Ad;function En(){const e=Ca(so);return process.env.NODE_ENV!=="production"&&k.useDebugValue(e),e[lo]||e}function rt({props:e,name:t}){return Gu({props:e,name:t,defaultTheme:so,themeId:lo})}function Ir(e,t){return Ir=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,o){return r.__proto__=o,r},Ir(e,t)}function Dd(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,Ir(e,t)}const bi={disabled:!1};var Bd=process.env.NODE_ENV!=="production"?a.oneOfType([a.number,a.shape({enter:a.number,exit:a.number,appear:a.number}).isRequired]):null;process.env.NODE_ENV!=="production"&&a.oneOfType([a.string,a.shape({enter:a.string,exit:a.string,active:a.string}),a.shape({enter:a.string,enterDone:a.string,enterActive:a.string,exit:a.string,exitDone:a.string,exitActive:a.string})]);const Na=P.createContext(null);var Ld=function(t){return t.scrollTop},rn="unmounted",ft="exited",ht="entering",$t="entered",_r="exiting",ot=function(e){Dd(t,e);function t(r,o){var i;i=e.call(this,r,o)||this;var s=o,l=s&&!s.isMounting?r.enter:r.appear,c;return i.appearStatus=null,r.in?l?(c=ft,i.appearStatus=ht):c=$t:r.unmountOnExit||r.mountOnEnter?c=rn:c=ft,i.state={status:c},i.nextCallback=null,i}t.getDerivedStateFromProps=function(o,i){var s=o.in;return s&&i.status===rn?{status:ft}:null};var n=t.prototype;return n.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},n.componentDidUpdate=function(o){var i=null;if(o!==this.props){var s=this.state.status;this.props.in?s!==ht&&s!==$t&&(i=ht):(s===ht||s===$t)&&(i=_r)}this.updateStatus(!1,i)},n.componentWillUnmount=function(){this.cancelNextCallback()},n.getTimeouts=function(){var o=this.props.timeout,i,s,l;return i=s=l=o,o!=null&&typeof o!="number"&&(i=o.exit,s=o.enter,l=o.appear!==void 0?o.appear:s),{exit:i,enter:s,appear:l}},n.updateStatus=function(o,i){if(o===void 0&&(o=!1),i!==null)if(this.cancelNextCallback(),i===ht){if(this.props.unmountOnExit||this.props.mountOnEnter){var s=this.props.nodeRef?this.props.nodeRef.current:Qt.findDOMNode(this);s&&Ld(s)}this.performEnter(o)}else this.performExit();else this.props.unmountOnExit&&this.state.status===ft&&this.setState({status:rn})},n.performEnter=function(o){var i=this,s=this.props.enter,l=this.context?this.context.isMounting:o,c=this.props.nodeRef?[l]:[Qt.findDOMNode(this),l],p=c[0],u=c[1],f=this.getTimeouts(),d=l?f.appear:f.enter;if(!o&&!s||bi.disabled){this.safeSetState({status:$t},function(){i.props.onEntered(p)});return}this.props.onEnter(p,u),this.safeSetState({status:ht},function(){i.props.onEntering(p,u),i.onTransitionEnd(d,function(){i.safeSetState({status:$t},function(){i.props.onEntered(p,u)})})})},n.performExit=function(){var o=this,i=this.props.exit,s=this.getTimeouts(),l=this.props.nodeRef?void 0:Qt.findDOMNode(this);if(!i||bi.disabled){this.safeSetState({status:ft},function(){o.props.onExited(l)});return}this.props.onExit(l),this.safeSetState({status:_r},function(){o.props.onExiting(l),o.onTransitionEnd(s.exit,function(){o.safeSetState({status:ft},function(){o.props.onExited(l)})})})},n.cancelNextCallback=function(){this.nextCallback!==null&&(this.nextCallback.cancel(),this.nextCallback=null)},n.safeSetState=function(o,i){i=this.setNextCallback(i),this.setState(o,i)},n.setNextCallback=function(o){var i=this,s=!0;return this.nextCallback=function(l){s&&(s=!1,i.nextCallback=null,o(l))},this.nextCallback.cancel=function(){s=!1},this.nextCallback},n.onTransitionEnd=function(o,i){this.setNextCallback(i);var s=this.props.nodeRef?this.props.nodeRef.current:Qt.findDOMNode(this),l=o==null&&!this.props.addEndListener;if(!s||l){setTimeout(this.nextCallback,0);return}if(this.props.addEndListener){var c=this.props.nodeRef?[this.nextCallback]:[s,this.nextCallback],p=c[0],u=c[1];this.props.addEndListener(p,u)}o!=null&&setTimeout(this.nextCallback,o)},n.render=function(){var o=this.state.status;if(o===rn)return null;var i=this.props,s=i.children;i.in,i.mountOnEnter,i.unmountOnExit,i.appear,i.enter,i.exit,i.timeout,i.addEndListener,i.onEnter,i.onEntering,i.onEntered,i.onExit,i.onExiting,i.onExited,i.nodeRef;var l=de(i,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]);return P.createElement(Na.Provider,{value:null},typeof s=="function"?s(o,l):P.cloneElement(P.Children.only(s),l))},t}(P.Component);ot.contextType=Na;ot.propTypes=process.env.NODE_ENV!=="production"?{nodeRef:a.shape({current:typeof Element>"u"?a.any:function(e,t,n,r,o,i){var s=e[t];return a.instanceOf(s&&"ownerDocument"in s?s.ownerDocument.defaultView.Element:Element)(e,t,n,r,o,i)}}),children:a.oneOfType([a.func.isRequired,a.element.isRequired]).isRequired,in:a.bool,mountOnEnter:a.bool,unmountOnExit:a.bool,appear:a.bool,enter:a.bool,exit:a.bool,timeout:function(t){var n=Bd;t.addEndListener||(n=n.isRequired);for(var r=arguments.length,o=new Array(r>1?r-1:0),i=1;ie.scrollTop;function Un(e,t){var n,r;const{timeout:o,easing:i,style:s={}}=e;return{duration:(n=s.transitionDuration)!=null?n:typeof o=="number"?o:o[t.mode]||0,easing:(r=s.transitionTimingFunction)!=null?r:typeof i=="object"?i[t.mode]:i,delay:s.transitionDelay}}const Fd=["addEndListener","appear","children","easing","in","onEnter","onEntered","onEntering","onExit","onExited","onExiting","style","timeout","TransitionComponent"];function Ar(e){return`scale(${e}, ${e**2})`}const Vd={entering:{opacity:1,transform:Ar(1)},entered:{opacity:1,transform:"none"}},yr=typeof navigator<"u"&&/^((?!chrome|android).)*(safari|mobile)/i.test(navigator.userAgent)&&/(os |version\/)15(.|_)4/i.test(navigator.userAgent),co=k.forwardRef(function(t,n){const{addEndListener:r,appear:o=!0,children:i,easing:s,in:l,onEnter:c,onEntered:p,onEntering:u,onExit:f,onExited:d,onExiting:g,style:y,timeout:b="auto",TransitionComponent:h=Pa}=t,E=de(t,Fd),I=tn(),w=k.useRef(),x=En(),m=k.useRef(null),C=Le(m,i.ref,n),N=D=>j=>{if(D){const z=m.current;j===void 0?D(z):D(z,j)}},F=N(u),L=N((D,j)=>{Ra(D);const{duration:z,delay:ee,easing:Q}=Un({style:y,timeout:b,easing:s},{mode:"enter"});let O;b==="auto"?(O=x.transitions.getAutoHeightDuration(D.clientHeight),w.current=O):O=z,D.style.transition=[x.transitions.create("opacity",{duration:O,delay:ee}),x.transitions.create("transform",{duration:yr?O:O*.666,delay:ee,easing:Q})].join(","),c&&c(D,j)}),V=N(p),S=N(g),$=N(D=>{const{duration:j,delay:z,easing:ee}=Un({style:y,timeout:b,easing:s},{mode:"exit"});let Q;b==="auto"?(Q=x.transitions.getAutoHeightDuration(D.clientHeight),w.current=Q):Q=j,D.style.transition=[x.transitions.create("opacity",{duration:Q,delay:z}),x.transitions.create("transform",{duration:yr?Q:Q*.666,delay:yr?z:z||Q*.333,easing:ee})].join(","),D.style.opacity=0,D.style.transform=Ar(.75),f&&f(D)}),M=N(d),B=D=>{b==="auto"&&I.start(w.current||0,D),r&&r(m.current,D)};return v.jsx(h,T({appear:o,in:l,nodeRef:m,onEnter:L,onEntered:V,onEntering:F,onExit:$,onExited:M,onExiting:S,addEndListener:B,timeout:b==="auto"?null:b},E,{children:(D,j)=>k.cloneElement(i,T({style:T({opacity:0,transform:Ar(.75),visibility:D==="exited"&&!l?"hidden":void 0},Vd[D],y,i.props.style),ref:C},j))}))});process.env.NODE_ENV!=="production"&&(co.propTypes={addEndListener:a.func,appear:a.bool,children:gn.isRequired,easing:a.oneOfType([a.shape({enter:a.string,exit:a.string}),a.string]),in:a.bool,onEnter:a.func,onEntered:a.func,onEntering:a.func,onExit:a.func,onExited:a.func,onExiting:a.func,style:a.object,timeout:a.oneOfType([a.oneOf(["auto"]),a.number,a.shape({appear:a.number,enter:a.number,exit:a.number})])});co.muiSupportAuto=!0;const Dr=co,zd=e=>{let t;return e<1?t=5.11916*e**2:t=4.5*Math.log(e+1)+2,(t/100).toFixed(2)},vi=zd,Ud=["anchorEl","component","components","componentsProps","container","disablePortal","keepMounted","modifiers","open","placement","popperOptions","popperRef","transition","slots","slotProps"],qd=Te(xa,{name:"MuiPopper",slot:"Root",overridesResolver:(e,t)=>t.root})({}),Ma=k.forwardRef(function(t,n){var r;const o=Oa(),i=rt({props:t,name:"MuiPopper"}),{anchorEl:s,component:l,components:c,componentsProps:p,container:u,disablePortal:f,keepMounted:d,modifiers:g,open:y,placement:b,popperOptions:h,popperRef:E,transition:I,slots:w,slotProps:x}=i,m=de(i,Ud),C=(r=w==null?void 0:w.root)!=null?r:c==null?void 0:c.Root,N=T({anchorEl:s,container:u,disablePortal:f,keepMounted:d,modifiers:g,open:y,placement:b,popperOptions:h,popperRef:E,transition:I},m);return v.jsx(qd,T({as:l,direction:o==null?void 0:o.direction,slots:{root:C},slotProps:x??p},N,{ref:n}))});process.env.NODE_ENV!=="production"&&(Ma.propTypes={anchorEl:a.oneOfType([Qe,a.object,a.func]),children:a.oneOfType([a.node,a.func]),component:a.elementType,components:a.shape({Root:a.elementType}),componentsProps:a.shape({root:a.oneOfType([a.func,a.object])}),container:a.oneOfType([Qe,a.func]),disablePortal:a.bool,keepMounted:a.bool,modifiers:a.arrayOf(a.shape({data:a.object,effect:a.func,enabled:a.bool,fn:a.func,name:a.any,options:a.object,phase:a.oneOf(["afterMain","afterRead","afterWrite","beforeMain","beforeRead","beforeWrite","main","read","write"]),requires:a.arrayOf(a.string),requiresIfExists:a.arrayOf(a.string)})),open:a.bool.isRequired,placement:a.oneOf(["auto-end","auto-start","auto","bottom-end","bottom-start","bottom","left-end","left-start","left","right-end","right-start","right","top-end","top-start","top"]),popperOptions:a.shape({modifiers:a.array,onFirstUpdate:a.func,placement:a.oneOf(["auto-end","auto-start","auto","bottom-end","bottom-start","bottom","left-end","left-start","left","right-end","right-start","right","top-end","top-start","top"]),strategy:a.oneOf(["absolute","fixed"])}),popperRef:Xr,slotProps:a.shape({root:a.oneOfType([a.func,a.object])}),slots:a.shape({root:a.elementType}),sx:a.oneOfType([a.arrayOf(a.oneOfType([a.func,a.object,a.bool])),a.func,a.object]),transition:a.bool});const $a=Ma;function Hd(e){return Ye("MuiTooltip",e)}const Wd=st("MuiTooltip",["popper","popperInteractive","popperArrow","popperClose","tooltip","tooltipArrow","touch","tooltipPlacementLeft","tooltipPlacementRight","tooltipPlacementTop","tooltipPlacementBottom","arrow"]),at=Wd,Xd=["arrow","children","classes","components","componentsProps","describeChild","disableFocusListener","disableHoverListener","disableInteractive","disableTouchListener","enterDelay","enterNextDelay","enterTouchDelay","followCursor","id","leaveDelay","leaveTouchDelay","onClose","onOpen","open","placement","PopperComponent","PopperProps","slotProps","slots","title","TransitionComponent","TransitionProps"];function Yd(e){return Math.round(e*1e5)/1e5}const Gd=e=>{const{classes:t,disableInteractive:n,arrow:r,touch:o,placement:i}=e,s={popper:["popper",!n&&"popperInteractive",r&&"popperArrow"],tooltip:["tooltip",r&&"tooltipArrow",o&&"touch",`tooltipPlacement${We(i.split("-")[0])}`],arrow:["arrow"]};return nt(s,Hd,t)},Kd=Te($a,{name:"MuiTooltip",slot:"Popper",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.popper,!n.disableInteractive&&t.popperInteractive,n.arrow&&t.popperArrow,!n.open&&t.popperClose]}})(({theme:e,ownerState:t,open:n})=>T({zIndex:(e.vars||e).zIndex.tooltip,pointerEvents:"none"},!t.disableInteractive&&{pointerEvents:"auto"},!n&&{pointerEvents:"none"},t.arrow&&{[`&[data-popper-placement*="bottom"] .${at.arrow}`]:{top:0,marginTop:"-0.71em","&::before":{transformOrigin:"0 100%"}},[`&[data-popper-placement*="top"] .${at.arrow}`]:{bottom:0,marginBottom:"-0.71em","&::before":{transformOrigin:"100% 0"}},[`&[data-popper-placement*="right"] .${at.arrow}`]:T({},t.isRtl?{right:0,marginRight:"-0.71em"}:{left:0,marginLeft:"-0.71em"},{height:"1em",width:"0.71em","&::before":{transformOrigin:"100% 100%"}}),[`&[data-popper-placement*="left"] .${at.arrow}`]:T({},t.isRtl?{left:0,marginLeft:"-0.71em"}:{right:0,marginRight:"-0.71em"},{height:"1em",width:"0.71em","&::before":{transformOrigin:"0 0"}})})),Jd=Te("div",{name:"MuiTooltip",slot:"Tooltip",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.tooltip,n.touch&&t.touch,n.arrow&&t.tooltipArrow,t[`tooltipPlacement${We(n.placement.split("-")[0])}`]]}})(({theme:e,ownerState:t})=>T({backgroundColor:e.vars?e.vars.palette.Tooltip.bg:zn(e.palette.grey[700],.92),borderRadius:(e.vars||e).shape.borderRadius,color:(e.vars||e).palette.common.white,fontFamily:e.typography.fontFamily,padding:"4px 8px",fontSize:e.typography.pxToRem(11),maxWidth:300,margin:2,wordWrap:"break-word",fontWeight:e.typography.fontWeightMedium},t.arrow&&{position:"relative",margin:0},t.touch&&{padding:"8px 16px",fontSize:e.typography.pxToRem(14),lineHeight:`${Yd(16/14)}em`,fontWeight:e.typography.fontWeightRegular},{[`.${at.popper}[data-popper-placement*="left"] &`]:T({transformOrigin:"right center"},t.isRtl?T({marginLeft:"14px"},t.touch&&{marginLeft:"24px"}):T({marginRight:"14px"},t.touch&&{marginRight:"24px"})),[`.${at.popper}[data-popper-placement*="right"] &`]:T({transformOrigin:"left center"},t.isRtl?T({marginRight:"14px"},t.touch&&{marginRight:"24px"}):T({marginLeft:"14px"},t.touch&&{marginLeft:"24px"})),[`.${at.popper}[data-popper-placement*="top"] &`]:T({transformOrigin:"center bottom",marginBottom:"14px"},t.touch&&{marginBottom:"24px"}),[`.${at.popper}[data-popper-placement*="bottom"] &`]:T({transformOrigin:"center top",marginTop:"14px"},t.touch&&{marginTop:"24px"})})),Zd=Te("span",{name:"MuiTooltip",slot:"Arrow",overridesResolver:(e,t)=>t.arrow})(({theme:e})=>({overflow:"hidden",position:"absolute",width:"1em",height:"0.71em",boxSizing:"border-box",color:e.vars?e.vars.palette.Tooltip.bg:zn(e.palette.grey[700],.9),"&::before":{content:'""',margin:"auto",display:"block",width:"100%",height:"100%",backgroundColor:"currentColor",transform:"rotate(45deg)"}}));let Pn=!1;const yi=new bn;let Jt={x:0,y:0};function Rn(e,t){return n=>{t&&t(n),e(n)}}const ja=k.forwardRef(function(t,n){var r,o,i,s,l,c,p,u,f,d,g,y,b,h,E,I,w,x,m;const C=rt({props:t,name:"MuiTooltip"}),{arrow:N=!1,children:F,components:L={},componentsProps:V={},describeChild:S=!1,disableFocusListener:$=!1,disableHoverListener:M=!1,disableInteractive:B=!1,disableTouchListener:D=!1,enterDelay:j=100,enterNextDelay:z=0,enterTouchDelay:ee=700,followCursor:Q=!1,id:O,leaveDelay:A=0,leaveTouchDelay:q=1500,onClose:G,onOpen:U,open:H,placement:X="bottom",PopperComponent:Y,PopperProps:W={},slotProps:K={},slots:J={},title:oe,TransitionComponent:_=Dr,TransitionProps:Z}=C,R=de(C,Xd),ie=k.isValidElement(F)?F:v.jsx("span",{children:F}),we=En(),Oe=we.direction==="rtl",[ve,pt]=k.useState(),[Ce,Ge]=k.useState(null),Me=k.useRef(!1),Ke=B||Q,xe=tn(),Ot=tn(),ut=tn(),zt=tn(),[kn,mo]=Zi({controlled:H,default:!1,name:"Tooltip",state:"open"});let Je=kn;if(process.env.NODE_ENV!=="production"){const{current:te}=k.useRef(H!==void 0);k.useEffect(()=>{ve&&ve.disabled&&!te&&oe!==""&&ve.tagName.toLowerCase()==="button"&&console.error(["MUI: You are providing a disabled `button` child to the Tooltip component.","A disabled element does not fire events.","Tooltip needs to listen to the child element's events to display the title.","","Add a simple wrapper element, such as a `span`."].join(` +`))},[oe,ve,te])}const ir=Ji(O),Ut=k.useRef(),Tn=pn(()=>{Ut.current!==void 0&&(document.body.style.WebkitUserSelect=Ut.current,Ut.current=void 0),zt.clear()});k.useEffect(()=>Tn,[Tn]);const go=te=>{yi.clear(),Pn=!0,mo(!0),U&&!Je&&U(te)},On=pn(te=>{yi.start(800+A,()=>{Pn=!1}),mo(!1),G&&Je&&G(te),xe.start(we.transitions.duration.shortest,()=>{Me.current=!1})}),ar=te=>{Me.current&&te.type!=="touchstart"||(ve&&ve.removeAttribute("title"),Ot.clear(),ut.clear(),j||Pn&&z?Ot.start(Pn?z:j,()=>{go(te)}):go(te))},bo=te=>{Ot.clear(),ut.start(A,()=>{On(te)})},{isFocusVisibleRef:vo,onBlur:ms,onFocus:gs,ref:bs}=Qi(),[,yo]=k.useState(!1),wo=te=>{ms(te),vo.current===!1&&(yo(!1),bo(te))},xo=te=>{ve||pt(te.currentTarget),gs(te),vo.current===!0&&(yo(!0),ar(te))},Eo=te=>{Me.current=!0;const $e=ie.props;$e.onTouchStart&&$e.onTouchStart(te)},ko=ar,To=bo,vs=te=>{Eo(te),ut.clear(),xe.clear(),Tn(),Ut.current=document.body.style.WebkitUserSelect,document.body.style.WebkitUserSelect="none",zt.start(ee,()=>{document.body.style.WebkitUserSelect=Ut.current,ar(te)})},ys=te=>{ie.props.onTouchEnd&&ie.props.onTouchEnd(te),Tn(),ut.start(q,()=>{On(te)})};k.useEffect(()=>{if(!Je)return;function te($e){($e.key==="Escape"||$e.key==="Esc")&&On($e)}return document.addEventListener("keydown",te),()=>{document.removeEventListener("keydown",te)}},[On,Je]);const ws=Le(ie.ref,bs,pt,n);!oe&&oe!==0&&(Je=!1);const sr=k.useRef(),xs=te=>{const $e=ie.props;$e.onMouseMove&&$e.onMouseMove(te),Jt={x:te.clientX,y:te.clientY},sr.current&&sr.current.update()},qt={},lr=typeof oe=="string";S?(qt.title=!Je&&lr&&!M?oe:null,qt["aria-describedby"]=Je?ir:null):(qt["aria-label"]=lr?oe:null,qt["aria-labelledby"]=Je&&!lr?ir:null);const Ae=T({},qt,R,ie.props,{className:Ee(R.className,ie.props.className),onTouchStart:Eo,ref:ws},Q?{onMouseMove:xs}:{});process.env.NODE_ENV!=="production"&&(Ae["data-mui-internal-clone-element"]=!0,k.useEffect(()=>{ve&&!ve.getAttribute("data-mui-internal-clone-element")&&console.error(["MUI: The `children` component of the Tooltip is not forwarding its props correctly.","Please make sure that props are spread on the same element that the ref is applied to."].join(` +`))},[ve]));const Ht={};D||(Ae.onTouchStart=vs,Ae.onTouchEnd=ys),M||(Ae.onMouseOver=Rn(ko,Ae.onMouseOver),Ae.onMouseLeave=Rn(To,Ae.onMouseLeave),Ke||(Ht.onMouseOver=ko,Ht.onMouseLeave=To)),$||(Ae.onFocus=Rn(xo,Ae.onFocus),Ae.onBlur=Rn(wo,Ae.onBlur),Ke||(Ht.onFocus=xo,Ht.onBlur=wo)),process.env.NODE_ENV!=="production"&&ie.props.title&&console.error(["MUI: You have provided a `title` prop to the child of .",`Remove this title prop \`${ie.props.title}\` or the Tooltip component.`].join(` +`));const Es=k.useMemo(()=>{var te;let $e=[{name:"arrow",enabled:!!Ce,options:{element:Ce,padding:4}}];return(te=W.popperOptions)!=null&&te.modifiers&&($e=$e.concat(W.popperOptions.modifiers)),T({},W.popperOptions,{modifiers:$e})},[Ce,W]),Wt=T({},C,{isRtl:Oe,arrow:N,disableInteractive:Ke,placement:X,PopperComponentProp:Y,touch:Me.current}),cr=Gd(Wt),Oo=(r=(o=J.popper)!=null?o:L.Popper)!=null?r:Kd,Co=(i=(s=(l=J.transition)!=null?l:L.Transition)!=null?s:_)!=null?i:Dr,So=(c=(p=J.tooltip)!=null?p:L.Tooltip)!=null?c:Jd,No=(u=(f=J.arrow)!=null?f:L.Arrow)!=null?u:Zd,ks=nn(Oo,T({},W,(d=K.popper)!=null?d:V.popper,{className:Ee(cr.popper,W==null?void 0:W.className,(g=(y=K.popper)!=null?y:V.popper)==null?void 0:g.className)}),Wt),Ts=nn(Co,T({},Z,(b=K.transition)!=null?b:V.transition),Wt),Os=nn(So,T({},(h=K.tooltip)!=null?h:V.tooltip,{className:Ee(cr.tooltip,(E=(I=K.tooltip)!=null?I:V.tooltip)==null?void 0:E.className)}),Wt),Cs=nn(No,T({},(w=K.arrow)!=null?w:V.arrow,{className:Ee(cr.arrow,(x=(m=K.arrow)!=null?m:V.arrow)==null?void 0:x.className)}),Wt);return v.jsxs(k.Fragment,{children:[k.cloneElement(ie,Ae),v.jsx(Oo,T({as:Y??$a,placement:X,anchorEl:Q?{getBoundingClientRect:()=>({top:Jt.y,left:Jt.x,right:Jt.x,bottom:Jt.y,width:0,height:0})}:ve,popperRef:sr,open:ve?Je:!1,id:ir,transition:!0},Ht,ks,{popperOptions:Es,children:({TransitionProps:te})=>v.jsx(Co,T({timeout:we.transitions.duration.shorter},te,Ts,{children:v.jsxs(So,T({},Os,{children:[oe,N?v.jsx(No,T({},Cs,{ref:Ge})):null]}))}))}))]})});process.env.NODE_ENV!=="production"&&(ja.propTypes={arrow:a.bool,children:gn.isRequired,classes:a.object,className:a.string,components:a.shape({Arrow:a.elementType,Popper:a.elementType,Tooltip:a.elementType,Transition:a.elementType}),componentsProps:a.shape({arrow:a.object,popper:a.object,tooltip:a.object,transition:a.object}),describeChild:a.bool,disableFocusListener:a.bool,disableHoverListener:a.bool,disableInteractive:a.bool,disableTouchListener:a.bool,enterDelay:a.number,enterNextDelay:a.number,enterTouchDelay:a.number,followCursor:a.bool,id:a.string,leaveDelay:a.number,leaveTouchDelay:a.number,onClose:a.func,onOpen:a.func,open:a.bool,placement:a.oneOf(["bottom-end","bottom-start","bottom","left-end","left-start","left","right-end","right-start","right","top-end","top-start","top"]),PopperComponent:a.elementType,PopperProps:a.object,slotProps:a.shape({arrow:a.object,popper:a.object,tooltip:a.object,transition:a.object}),slots:a.shape({arrow:a.elementType,popper:a.elementType,tooltip:a.elementType,transition:a.elementType}),sx:a.oneOfType([a.arrayOf(a.oneOfType([a.func,a.object,a.bool])),a.func,a.object]),title:a.node,TransitionComponent:a.elementType,TransitionProps:a.object});const Qd=ja;var po={},Ia={exports:{}};(function(e){function t(n){return n&&n.__esModule?n:{default:n}}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports})(Ia);var ef=Ia.exports,wr={};function tf(e){return Ye("MuiSvgIcon",e)}st("MuiSvgIcon",["root","colorPrimary","colorSecondary","colorAction","colorError","colorDisabled","fontSizeInherit","fontSizeSmall","fontSizeMedium","fontSizeLarge"]);const nf=["children","className","color","component","fontSize","htmlColor","inheritViewBox","titleAccess","viewBox"],rf=e=>{const{color:t,fontSize:n,classes:r}=e,o={root:["root",t!=="inherit"&&`color${We(t)}`,`fontSize${We(n)}`]};return nt(o,tf,r)},of=Te("svg",{name:"MuiSvgIcon",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.color!=="inherit"&&t[`color${We(n.color)}`],t[`fontSize${We(n.fontSize)}`]]}})(({theme:e,ownerState:t})=>{var n,r,o,i,s,l,c,p,u,f,d,g,y;return{userSelect:"none",width:"1em",height:"1em",display:"inline-block",fill:t.hasSvgAsChild?void 0:"currentColor",flexShrink:0,transition:(n=e.transitions)==null||(r=n.create)==null?void 0:r.call(n,"fill",{duration:(o=e.transitions)==null||(o=o.duration)==null?void 0:o.shorter}),fontSize:{inherit:"inherit",small:((i=e.typography)==null||(s=i.pxToRem)==null?void 0:s.call(i,20))||"1.25rem",medium:((l=e.typography)==null||(c=l.pxToRem)==null?void 0:c.call(l,24))||"1.5rem",large:((p=e.typography)==null||(u=p.pxToRem)==null?void 0:u.call(p,35))||"2.1875rem"}[t.fontSize],color:(f=(d=(e.vars||e).palette)==null||(d=d[t.color])==null?void 0:d.main)!=null?f:{action:(g=(e.vars||e).palette)==null||(g=g.action)==null?void 0:g.active,disabled:(y=(e.vars||e).palette)==null||(y=y.action)==null?void 0:y.disabled,inherit:void 0}[t.color]}}),uo=k.forwardRef(function(t,n){const r=rt({props:t,name:"MuiSvgIcon"}),{children:o,className:i,color:s="inherit",component:l="svg",fontSize:c="medium",htmlColor:p,inheritViewBox:u=!1,titleAccess:f,viewBox:d="0 0 24 24"}=r,g=de(r,nf),y=k.isValidElement(o)&&o.type==="svg",b=T({},r,{color:s,component:l,fontSize:c,instanceFontSize:t.fontSize,inheritViewBox:u,viewBox:d,hasSvgAsChild:y}),h={};u||(h.viewBox=d);const E=rf(b);return v.jsxs(of,T({as:l,className:Ee(E.root,i),focusable:"false",color:p,"aria-hidden":f?void 0:!0,role:f?"img":void 0,ref:n},h,g,y&&o.props,{ownerState:b,children:[y?o.props.children:o,f?v.jsx("title",{children:f}):null]}))});process.env.NODE_ENV!=="production"&&(uo.propTypes={children:a.node,classes:a.object,className:a.string,color:a.oneOfType([a.oneOf(["inherit","action","disabled","primary","secondary","error","info","success","warning"]),a.string]),component:a.elementType,fontSize:a.oneOfType([a.oneOf(["inherit","large","medium","small"]),a.string]),htmlColor:a.string,inheritViewBox:a.bool,shapeRendering:a.string,sx:a.oneOfType([a.arrayOf(a.oneOfType([a.func,a.object,a.bool])),a.func,a.object]),titleAccess:a.string,viewBox:a.string});uo.muiName="SvgIcon";const wi=uo;function _a(e,t){function n(r,o){return v.jsx(wi,T({"data-testid":`${t}Icon`,ref:o},r,{children:e}))}return process.env.NODE_ENV!=="production"&&(n.displayName=`${t}Icon`),n.muiName=wi.muiName,k.memo(k.forwardRef(n))}const af={configure:e=>{process.env.NODE_ENV!=="production"&&console.warn(["MUI: `ClassNameGenerator` import from `@mui/material/utils` is outdated and might cause unexpected issues.","","You should use `import { unstable_ClassNameGenerator } from '@mui/material/className'` instead","","The detail of the issue: https://github.com/mui/material-ui/issues/30011#issuecomment-1024993401","","The updated documentation: https://mui.com/guides/classname-generator/"].join(` +`)),ia.configure(e)}},sf=Object.freeze(Object.defineProperty({__proto__:null,capitalize:We,createChainedFunction:Pr,createSvgIcon:_a,debounce:Ki,deprecatedPropType:jl,isMuiElement:Il,ownerDocument:ke,ownerWindow:_t,requirePropFactory:_l,setRef:Dn,unstable_ClassNameGenerator:af,unstable_useEnhancedEffect:wt,unstable_useId:Ji,unsupportedProp:Bl,useControlled:Zi,useEventCallback:pn,useForkRef:Le,useIsFocusVisible:Qi},Symbol.toStringTag,{value:"Module"})),lf=dl(sf);var xi;function cf(){return xi||(xi=1,function(e){"use client";Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.createSvgIcon}});var t=lf}(wr)),wr}var pf=ef;Object.defineProperty(po,"__esModule",{value:!0});var Aa=po.default=void 0,uf=pf(cf()),df=v;Aa=po.default=(0,uf.default)((0,df.jsx)("path",{d:"m10 17 5-5-5-5z"}),"ArrowRight");function Ei(e,t,n){return e?v.jsx(be.ListItemIcon,{className:`papi-menu-icon-${n?"leading":"trailing"}`,children:v.jsx("img",{src:e,alt:`${n?"Leading":"Trailing"} icon for ${t}`})}):void 0}function fo(e){const{onClick:t,label:n,tooltip:r,allowForLeadingIcons:o=!0,iconPathBefore:i=void 0,iconPathAfter:s=void 0,hasAutoFocus:l=!1,className:c,isDisabled:p=!1,isDense:u=!0,isSubMenuParent:f=!1,hasDisabledGutters:d=!1,hasDivider:g=!1,focusVisibleClassName:y,id:b,children:h}=e,E=v.jsx(be.MenuItem,{sx:{lineHeight:.8},autoFocus:l,className:c,disabled:p,dense:u,disableGutters:d,divider:g,focusVisibleClassName:y,onClick:t,id:b,children:n?v.jsxs(v.Fragment,{children:[Ei(i,n,!0),v.jsx(be.ListItemText,{primary:n,inset:!i&&o}),f?v.jsx(be.ListItemIcon,{className:"papi-menu-icon-trailing",children:v.jsx(Aa,{})}):Ei(s,n,!1)]}):h});return r?v.jsx(Qd,{title:r,placement:"right",children:v.jsx("div",{children:E})}):E}function Da(e){return Object.entries(e.groups).map(([n,r])=>({id:n,group:r}))}function ff(e){const[t,n]=P.useState(void 0),{parentMenuItem:r,parentItemProps:o,menuDefinition:i}=e,s=p=>{n(p.currentTarget)},l=()=>{n(void 0)},c=()=>{let p=Da(i).filter(u=>"menuItem"in u.group);if(!(r!=null&&r.id))throw new Error("A valid parent menu item is required for submenus.");return p=p.filter(u=>"menuItem"in u.group&&u.group.menuItem===r.id),v.jsx(ho,{...e,includedGroups:p})};return v.jsxs(v.Fragment,{children:[v.jsx(fo,{onClick:s,...o,isSubMenuParent:!0}),v.jsx(be.Menu,{anchorEl:t,open:!!t,onClose:l,anchorOrigin:{vertical:"top",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"left"},children:c()},r.id)]})}const hf=(e,t)=>t.filter(o=>o.group===e).sort((o,i)=>(o.order||0)-(i.order||0));function ho(e){const{menuDefinition:t,onClick:n,commandHandler:r,includedGroups:o}=e,{items:i,allowForLeadingIcons:s}=P.useMemo(()=>{const u=o&&o.length>0?o:Da(t).filter(y=>!("menuItem"in y.group)),f=Object.values(u).sort((y,b)=>(y.group.order||0)-(b.group.order||0)),d=[];f.forEach(y=>{hf(y.id,t.items).forEach(b=>d.push({item:b,isLastItemInGroup:!1})),d.length>0&&(d[d.length-1].isLastItemInGroup=!0)}),d.length>0&&(d[d.length-1].isLastItemInGroup=!1);const g=d.some(y=>"iconPathBefore"in y.item&&y.item.iconPathBefore);return{items:d,allowForLeadingIcons:g}},[o,t]),l=({item:u,isLastItemInGroup:f})=>({className:"papi-menu-item",label:u.label,tooltip:u.tooltip,iconPathBefore:"iconPathBefore"in u?u.iconPathBefore:void 0,iconPathAfter:"iconPathAfter"in u?u.iconPathAfter:void 0,hasDivider:f,allowForLeadingIcons:s}),[c]=i;if(!c)return v.jsx("div",{});const p=c.item.group;return v.jsx("div",{role:"menu","aria-label":p,children:i.map((u,f)=>{const{item:d}=u,g=l(u);if("command"in d){const y=d.group+f;return v.jsx(fo,{onClick:b=>{n==null||n(b),r(d)},...g},y)}return v.jsx(ff,{parentMenuItem:d,parentItemProps:g,...e},p+d.id)})},p)}function mf(e){const{menuDefinition:t,columnId:n}=e;let i=Object.entries(t.groups).map(([s,l])=>({id:s,group:l})).filter(s=>"column"in s.group);return n&&"columns"in t&&t.columns[n]&&(i=i.filter(s=>"column"in s.group&&s.group.column===n)),v.jsx(ho,{...e,includedGroups:i})}function gf({commandHandler:e,menuDefinition:t,id:n,metadata:r,onClick:o,className:i}){return v.jsxs(be.Grid,{id:n,item:!0,xs:"auto",role:"menu","aria-label":n,className:`papi-menu-column ${i??""}`,children:[v.jsx("h3",{"aria-label":r.label,className:`papi-menu-column-header ${i??""}`,children:r.label}),v.jsx(be.List,{id:n,dense:!0,className:i??"",children:v.jsx(mf,{commandHandler:e,menuDefinition:t,columnId:n,onClick:o})})]})}function Ba({commandHandler:e,className:t,multiColumnMenu:n,id:r}){const{columns:o}=n,i=P.useMemo(()=>{const s=new Map;return Object.getOwnPropertyNames(o).forEach(l=>{if(l==="isExtensible")return;const c=l,p=o[c];typeof p=="object"&&typeof p.order=="number"&&!Number.isNaN(p.order)?s.set(p.order,{id:c,metadata:p}):console.warn(`Property ${l} (${typeof p}) on menu ${r} is not a valid column and is being ignored. This might indicate data corruption`)}),Array.from(s.values()).sort((l,c)=>(l.metadata.order||0)-(c.metadata.order||0))},[o,r]);return v.jsx(be.Grid,{container:!0,spacing:0,className:`papi-multi-column-menu ${t??""}`,columns:i.length,role:"menu","aria-label":"GridMenu",id:r,children:i.map((s,l)=>v.jsx(gf,{commandHandler:e,menuDefinition:n,...s,className:t},l))})}const La=k.createContext({});process.env.NODE_ENV!=="production"&&(La.displayName="ListContext");const bf=La;function vf(e){return Ye("MuiList",e)}st("MuiList",["root","padding","dense","subheader"]);const yf=["children","className","component","dense","disablePadding","subheader"],wf=e=>{const{classes:t,disablePadding:n,dense:r,subheader:o}=e;return nt({root:["root",!n&&"padding",r&&"dense",o&&"subheader"]},vf,t)},xf=Te("ul",{name:"MuiList",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,!n.disablePadding&&t.padding,n.dense&&t.dense,n.subheader&&t.subheader]}})(({ownerState:e})=>T({listStyle:"none",margin:0,padding:0,position:"relative"},!e.disablePadding&&{paddingTop:8,paddingBottom:8},e.subheader&&{paddingTop:0})),Fa=k.forwardRef(function(t,n){const r=rt({props:t,name:"MuiList"}),{children:o,className:i,component:s="ul",dense:l=!1,disablePadding:c=!1,subheader:p}=r,u=de(r,yf),f=k.useMemo(()=>({dense:l}),[l]),d=T({},r,{component:s,dense:l,disablePadding:c}),g=wf(d);return v.jsx(bf.Provider,{value:f,children:v.jsxs(xf,T({as:s,className:Ee(g.root,i),ref:n,ownerState:d},u,{children:[p,o]}))})});process.env.NODE_ENV!=="production"&&(Fa.propTypes={children:a.node,classes:a.object,className:a.string,component:a.elementType,dense:a.bool,disablePadding:a.bool,subheader:a.node,sx:a.oneOfType([a.arrayOf(a.oneOfType([a.func,a.object,a.bool])),a.func,a.object])});const Ef=Fa,kf=["actions","autoFocus","autoFocusItem","children","className","disabledItemsFocusable","disableListWrap","onKeyDown","variant"];function xr(e,t,n){return e===t?e.firstChild:t&&t.nextElementSibling?t.nextElementSibling:n?null:e.firstChild}function ki(e,t,n){return e===t?n?e.firstChild:e.lastChild:t&&t.previousElementSibling?t.previousElementSibling:n?null:e.lastChild}function Va(e,t){if(t===void 0)return!0;let n=e.innerText;return n===void 0&&(n=e.textContent),n=n.trim().toLowerCase(),n.length===0?!1:t.repeating?n[0]===t.keys[0]:n.indexOf(t.keys.join(""))===0}function Zt(e,t,n,r,o,i){let s=!1,l=o(e,t,t?n:!1);for(;l;){if(l===e.firstChild){if(s)return!1;s=!0}const c=r?!1:l.disabled||l.getAttribute("aria-disabled")==="true";if(!l.hasAttribute("tabindex")||!Va(l,i)||c)l=o(e,l,n);else return l.focus(),!0}return!1}const za=k.forwardRef(function(t,n){const{actions:r,autoFocus:o=!1,autoFocusItem:i=!1,children:s,className:l,disabledItemsFocusable:c=!1,disableListWrap:p=!1,onKeyDown:u,variant:f="selectedMenu"}=t,d=de(t,kf),g=k.useRef(null),y=k.useRef({keys:[],repeating:!0,previousKeyMatched:!0,lastTime:null});wt(()=>{o&&g.current.focus()},[o]),k.useImperativeHandle(r,()=>({adjustStyleForScrollbar:(w,x)=>{const m=!g.current.style.width;if(w.clientHeight{const x=g.current,m=w.key,C=ke(x).activeElement;if(m==="ArrowDown")w.preventDefault(),Zt(x,C,p,c,xr);else if(m==="ArrowUp")w.preventDefault(),Zt(x,C,p,c,ki);else if(m==="Home")w.preventDefault(),Zt(x,null,p,c,xr);else if(m==="End")w.preventDefault(),Zt(x,null,p,c,ki);else if(m.length===1){const N=y.current,F=m.toLowerCase(),L=performance.now();N.keys.length>0&&(L-N.lastTime>500?(N.keys=[],N.repeating=!0,N.previousKeyMatched=!0):N.repeating&&F!==N.keys[0]&&(N.repeating=!1)),N.lastTime=L,N.keys.push(F);const V=C&&!N.repeating&&Va(C,N);N.previousKeyMatched&&(V||Zt(x,C,!1,c,xr,N))?w.preventDefault():N.previousKeyMatched=!1}u&&u(w)},h=Le(g,n);let E=-1;k.Children.forEach(s,(w,x)=>{if(!k.isValidElement(w)){E===x&&(E+=1,E>=s.length&&(E=-1));return}process.env.NODE_ENV!=="production"&&An.isFragment(w)&&console.error(["MUI: The Menu component doesn't accept a Fragment as a child.","Consider providing an array instead."].join(` +`)),w.props.disabled||(f==="selectedMenu"&&w.props.selected||E===-1)&&(E=x),E===x&&(w.props.disabled||w.props.muiSkipListHighlight||w.type.muiSkipListHighlight)&&(E+=1,E>=s.length&&(E=-1))});const I=k.Children.map(s,(w,x)=>{if(x===E){const m={};return i&&(m.autoFocus=!0),w.props.tabIndex===void 0&&f==="selectedMenu"&&(m.tabIndex=0),k.cloneElement(w,m)}return w});return v.jsx(Ef,T({role:"menu",ref:h,className:l,onKeyDown:b,tabIndex:o?0:-1},d,{children:I}))});process.env.NODE_ENV!=="production"&&(za.propTypes={autoFocus:a.bool,autoFocusItem:a.bool,children:a.node,className:a.string,disabledItemsFocusable:a.bool,disableListWrap:a.bool,onKeyDown:a.func,variant:a.oneOf(["menu","selectedMenu"])});const Tf=za,Of=["addEndListener","appear","children","easing","in","onEnter","onEntered","onEntering","onExit","onExited","onExiting","style","timeout","TransitionComponent"],Cf={entering:{opacity:1},entered:{opacity:1}},Ua=k.forwardRef(function(t,n){const r=En(),o={enter:r.transitions.duration.enteringScreen,exit:r.transitions.duration.leavingScreen},{addEndListener:i,appear:s=!0,children:l,easing:c,in:p,onEnter:u,onEntered:f,onEntering:d,onExit:g,onExited:y,onExiting:b,style:h,timeout:E=o,TransitionComponent:I=Pa}=t,w=de(t,Of),x=k.useRef(null),m=Le(x,l.ref,n),C=B=>D=>{if(B){const j=x.current;D===void 0?B(j):B(j,D)}},N=C(d),F=C((B,D)=>{Ra(B);const j=Un({style:h,timeout:E,easing:c},{mode:"enter"});B.style.webkitTransition=r.transitions.create("opacity",j),B.style.transition=r.transitions.create("opacity",j),u&&u(B,D)}),L=C(f),V=C(b),S=C(B=>{const D=Un({style:h,timeout:E,easing:c},{mode:"exit"});B.style.webkitTransition=r.transitions.create("opacity",D),B.style.transition=r.transitions.create("opacity",D),g&&g(B)}),$=C(y),M=B=>{i&&i(x.current,B)};return v.jsx(I,T({appear:s,in:p,nodeRef:x,onEnter:F,onEntered:L,onEntering:N,onExit:S,onExited:$,onExiting:V,addEndListener:M,timeout:E},w,{children:(B,D)=>k.cloneElement(l,T({style:T({opacity:0,visibility:B==="exited"&&!p?"hidden":void 0},Cf[B],h,l.props.style),ref:m},D))}))});process.env.NODE_ENV!=="production"&&(Ua.propTypes={addEndListener:a.func,appear:a.bool,children:gn.isRequired,easing:a.oneOfType([a.shape({enter:a.string,exit:a.string}),a.string]),in:a.bool,onEnter:a.func,onEntered:a.func,onEntering:a.func,onExit:a.func,onExited:a.func,onExiting:a.func,style:a.object,timeout:a.oneOfType([a.number,a.shape({appear:a.number,enter:a.number,exit:a.number})])});const Sf=Ua;function Nf(e){return Ye("MuiBackdrop",e)}st("MuiBackdrop",["root","invisible"]);const Pf=["children","className","component","components","componentsProps","invisible","open","slotProps","slots","TransitionComponent","transitionDuration"],Rf=e=>{const{classes:t,invisible:n}=e;return nt({root:["root",n&&"invisible"]},Nf,t)},Mf=Te("div",{name:"MuiBackdrop",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.invisible&&t.invisible]}})(({ownerState:e})=>T({position:"fixed",display:"flex",alignItems:"center",justifyContent:"center",right:0,bottom:0,top:0,left:0,backgroundColor:"rgba(0, 0, 0, 0.5)",WebkitTapHighlightColor:"transparent"},e.invisible&&{backgroundColor:"transparent"})),qa=k.forwardRef(function(t,n){var r,o,i;const s=rt({props:t,name:"MuiBackdrop"}),{children:l,className:c,component:p="div",components:u={},componentsProps:f={},invisible:d=!1,open:g,slotProps:y={},slots:b={},TransitionComponent:h=Sf,transitionDuration:E}=s,I=de(s,Pf),w=T({},s,{component:p,invisible:d}),x=Rf(w),m=(r=y.root)!=null?r:f.root;return v.jsx(h,T({in:g,timeout:E},I,{children:v.jsx(Mf,T({"aria-hidden":!0},m,{as:(o=(i=b.root)!=null?i:u.Root)!=null?o:p,className:Ee(x.root,c,m==null?void 0:m.className),ownerState:T({},w,m==null?void 0:m.ownerState),classes:x,ref:n,children:l}))}))});process.env.NODE_ENV!=="production"&&(qa.propTypes={children:a.node,classes:a.object,className:a.string,component:a.elementType,components:a.shape({Root:a.elementType}),componentsProps:a.shape({root:a.object}),invisible:a.bool,open:a.bool.isRequired,slotProps:a.shape({root:a.object}),slots:a.shape({root:a.elementType}),sx:a.oneOfType([a.arrayOf(a.oneOfType([a.func,a.object,a.bool])),a.func,a.object]),TransitionComponent:a.elementType,transitionDuration:a.oneOfType([a.number,a.shape({appear:a.number,enter:a.number,exit:a.number})])});const $f=qa;function jf(e){return Ye("MuiModal",e)}st("MuiModal",["root","hidden","backdrop"]);const If=["BackdropComponent","BackdropProps","classes","className","closeAfterTransition","children","container","component","components","componentsProps","disableAutoFocus","disableEnforceFocus","disableEscapeKeyDown","disablePortal","disableRestoreFocus","disableScrollLock","hideBackdrop","keepMounted","onBackdropClick","onClose","onTransitionEnter","onTransitionExited","open","slotProps","slots","theme"],_f=e=>{const{open:t,exited:n,classes:r}=e;return nt({root:["root",!t&&n&&"hidden"],backdrop:["backdrop"]},jf,r)},Af=Te("div",{name:"MuiModal",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,!n.open&&n.exited&&t.hidden]}})(({theme:e,ownerState:t})=>T({position:"fixed",zIndex:(e.vars||e).zIndex.modal,right:0,bottom:0,top:0,left:0},!t.open&&t.exited&&{visibility:"hidden"})),Df=Te($f,{name:"MuiModal",slot:"Backdrop",overridesResolver:(e,t)=>t.backdrop})({zIndex:-1}),Ha=k.forwardRef(function(t,n){var r,o,i,s,l,c;const p=rt({name:"MuiModal",props:t}),{BackdropComponent:u=Df,BackdropProps:f,className:d,closeAfterTransition:g=!1,children:y,container:b,component:h,components:E={},componentsProps:I={},disableAutoFocus:w=!1,disableEnforceFocus:x=!1,disableEscapeKeyDown:m=!1,disablePortal:C=!1,disableRestoreFocus:N=!1,disableScrollLock:F=!1,hideBackdrop:L=!1,keepMounted:V=!1,onBackdropClick:S,open:$,slotProps:M,slots:B}=p,D=de(p,If),j=T({},p,{closeAfterTransition:g,disableAutoFocus:w,disableEnforceFocus:x,disableEscapeKeyDown:m,disablePortal:C,disableRestoreFocus:N,disableScrollLock:F,hideBackdrop:L,keepMounted:V}),{getRootProps:z,getBackdropProps:ee,getTransitionProps:Q,portalRef:O,isTopModal:A,exited:q,hasTransition:G}=Oc(T({},j,{rootRef:n})),U=T({},j,{exited:q}),H=_f(U),X={};if(y.props.tabIndex===void 0&&(X.tabIndex="-1"),G){const{onEnter:Z,onExited:R}=Q();X.onEnter=Z,X.onExited=R}const Y=(r=(o=B==null?void 0:B.root)!=null?o:E.Root)!=null?r:Af,W=(i=(s=B==null?void 0:B.backdrop)!=null?s:E.Backdrop)!=null?i:u,K=(l=M==null?void 0:M.root)!=null?l:I.root,J=(c=M==null?void 0:M.backdrop)!=null?c:I.backdrop,oe=xt({elementType:Y,externalSlotProps:K,externalForwardedProps:D,getSlotProps:z,additionalProps:{ref:n,as:h},ownerState:U,className:Ee(d,K==null?void 0:K.className,H==null?void 0:H.root,!U.open&&U.exited&&(H==null?void 0:H.hidden))}),_=xt({elementType:W,externalSlotProps:J,additionalProps:f,getSlotProps:Z=>ee(T({},Z,{onClick:R=>{S&&S(R),Z!=null&&Z.onClick&&Z.onClick(R)}})),className:Ee(J==null?void 0:J.className,f==null?void 0:f.className,H==null?void 0:H.backdrop),ownerState:U});return!V&&!$&&(!G||q)?null:v.jsx(un,{ref:O,container:b,disablePortal:C,children:v.jsxs(Y,T({},oe,{children:[!L&&u?v.jsx(W,T({},_)):null,v.jsx(Bn,{disableEnforceFocus:x,disableAutoFocus:w,disableRestoreFocus:N,isEnabled:A,open:$,children:k.cloneElement(y,X)})]}))})});process.env.NODE_ENV!=="production"&&(Ha.propTypes={BackdropComponent:a.elementType,BackdropProps:a.object,children:gn.isRequired,classes:a.object,className:a.string,closeAfterTransition:a.bool,component:a.elementType,components:a.shape({Backdrop:a.elementType,Root:a.elementType}),componentsProps:a.shape({backdrop:a.oneOfType([a.func,a.object]),root:a.oneOfType([a.func,a.object])}),container:a.oneOfType([Qe,a.func]),disableAutoFocus:a.bool,disableEnforceFocus:a.bool,disableEscapeKeyDown:a.bool,disablePortal:a.bool,disableRestoreFocus:a.bool,disableScrollLock:a.bool,hideBackdrop:a.bool,keepMounted:a.bool,onBackdropClick:a.func,onClose:a.func,onTransitionEnter:a.func,onTransitionExited:a.func,open:a.bool.isRequired,slotProps:a.shape({backdrop:a.oneOfType([a.func,a.object]),root:a.oneOfType([a.func,a.object])}),slots:a.shape({backdrop:a.elementType,root:a.elementType}),sx:a.oneOfType([a.arrayOf(a.oneOfType([a.func,a.object,a.bool])),a.func,a.object])});const Bf=Ha;function Lf(e){return Ye("MuiPaper",e)}st("MuiPaper",["root","rounded","outlined","elevation","elevation0","elevation1","elevation2","elevation3","elevation4","elevation5","elevation6","elevation7","elevation8","elevation9","elevation10","elevation11","elevation12","elevation13","elevation14","elevation15","elevation16","elevation17","elevation18","elevation19","elevation20","elevation21","elevation22","elevation23","elevation24"]);const Ff=["className","component","elevation","square","variant"],Vf=e=>{const{square:t,elevation:n,variant:r,classes:o}=e,i={root:["root",r,!t&&"rounded",r==="elevation"&&`elevation${n}`]};return nt(i,Lf,o)},zf=Te("div",{name:"MuiPaper",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],!n.square&&t.rounded,n.variant==="elevation"&&t[`elevation${n.elevation}`]]}})(({theme:e,ownerState:t})=>{var n;return T({backgroundColor:(e.vars||e).palette.background.paper,color:(e.vars||e).palette.text.primary,transition:e.transitions.create("box-shadow")},!t.square&&{borderRadius:e.shape.borderRadius},t.variant==="outlined"&&{border:`1px solid ${(e.vars||e).palette.divider}`},t.variant==="elevation"&&T({boxShadow:(e.vars||e).shadows[t.elevation]},!e.vars&&e.palette.mode==="dark"&&{backgroundImage:`linear-gradient(${zn("#fff",vi(t.elevation))}, ${zn("#fff",vi(t.elevation))})`},e.vars&&{backgroundImage:(n=e.vars.overlays)==null?void 0:n[t.elevation]}))}),Wa=k.forwardRef(function(t,n){const r=rt({props:t,name:"MuiPaper"}),{className:o,component:i="div",elevation:s=1,square:l=!1,variant:c="elevation"}=r,p=de(r,Ff),u=T({},r,{component:i,elevation:s,square:l,variant:c}),f=Vf(u);return process.env.NODE_ENV!=="production"&&En().shadows[s]===void 0&&console.error([`MUI: The elevation provided is not available in the theme.`,`Please make sure that \`theme.shadows[${s}]\` is defined.`].join(` +`)),v.jsx(zf,T({as:i,ownerState:u,className:Ee(f.root,o),ref:n},p))});process.env.NODE_ENV!=="production"&&(Wa.propTypes={children:a.node,classes:a.object,className:a.string,component:a.elementType,elevation:Vt(ra,e=>{const{elevation:t,variant:n}=e;return t>0&&n==="outlined"?new Error(`MUI: Combining \`elevation={${t}}\` with \`variant="${n}"\` has no effect. Either use \`elevation={0}\` or use a different \`variant\`.`):null}),square:a.bool,sx:a.oneOfType([a.arrayOf(a.oneOfType([a.func,a.object,a.bool])),a.func,a.object]),variant:a.oneOfType([a.oneOf(["elevation","outlined"]),a.string])});const Uf=Wa;function qf(e){return Ye("MuiPopover",e)}st("MuiPopover",["root","paper"]);const Hf=["onEntering"],Wf=["action","anchorEl","anchorOrigin","anchorPosition","anchorReference","children","className","container","elevation","marginThreshold","open","PaperProps","slots","slotProps","transformOrigin","TransitionComponent","transitionDuration","TransitionProps","disableScrollLock"],Xf=["slotProps"];function Ti(e,t){let n=0;return typeof t=="number"?n=t:t==="center"?n=e.height/2:t==="bottom"&&(n=e.height),n}function Oi(e,t){let n=0;return typeof t=="number"?n=t:t==="center"?n=e.width/2:t==="right"&&(n=e.width),n}function Ci(e){return[e.horizontal,e.vertical].map(t=>typeof t=="number"?`${t}px`:t).join(" ")}function In(e){return typeof e=="function"?e():e}const Yf=e=>{const{classes:t}=e;return nt({root:["root"],paper:["paper"]},qf,t)},Gf=Te(Bf,{name:"MuiPopover",slot:"Root",overridesResolver:(e,t)=>t.root})({}),Xa=Te(Uf,{name:"MuiPopover",slot:"Paper",overridesResolver:(e,t)=>t.paper})({position:"absolute",overflowY:"auto",overflowX:"hidden",minWidth:16,minHeight:16,maxWidth:"calc(100% - 32px)",maxHeight:"calc(100% - 32px)",outline:0}),Ya=k.forwardRef(function(t,n){var r,o,i;const s=rt({props:t,name:"MuiPopover"}),{action:l,anchorEl:c,anchorOrigin:p={vertical:"top",horizontal:"left"},anchorPosition:u,anchorReference:f="anchorEl",children:d,className:g,container:y,elevation:b=8,marginThreshold:h=16,open:E,PaperProps:I={},slots:w,slotProps:x,transformOrigin:m={vertical:"top",horizontal:"left"},TransitionComponent:C=Dr,transitionDuration:N="auto",TransitionProps:{onEntering:F}={},disableScrollLock:L=!1}=s,V=de(s.TransitionProps,Hf),S=de(s,Wf),$=(r=x==null?void 0:x.paper)!=null?r:I,M=k.useRef(),B=Le(M,$.ref),D=T({},s,{anchorOrigin:p,anchorReference:f,elevation:b,marginThreshold:h,externalPaperSlotProps:$,transformOrigin:m,TransitionComponent:C,transitionDuration:N,TransitionProps:V}),j=Yf(D),z=k.useCallback(()=>{if(f==="anchorPosition")return process.env.NODE_ENV!=="production"&&(u||console.error('MUI: You need to provide a `anchorPosition` prop when using .')),u;const Z=In(c),R=Z&&Z.nodeType===1?Z:ke(M.current).body,ie=R.getBoundingClientRect();if(process.env.NODE_ENV!=="production"){const we=R.getBoundingClientRect();process.env.NODE_ENV!=="test"&&we.top===0&&we.left===0&&we.right===0&&we.bottom===0&&console.warn(["MUI: The `anchorEl` prop provided to the component is invalid.","The anchor element should be part of the document layout.","Make sure the element is present in the document or that it's not display none."].join(` +`))}return{top:ie.top+Ti(ie,p.vertical),left:ie.left+Oi(ie,p.horizontal)}},[c,p.horizontal,p.vertical,u,f]),ee=k.useCallback(Z=>({vertical:Ti(Z,m.vertical),horizontal:Oi(Z,m.horizontal)}),[m.horizontal,m.vertical]),Q=k.useCallback(Z=>{const R={width:Z.offsetWidth,height:Z.offsetHeight},ie=ee(R);if(f==="none")return{top:null,left:null,transformOrigin:Ci(ie)};const we=z();let Oe=we.top-ie.vertical,ve=we.left-ie.horizontal;const pt=Oe+R.height,Ce=ve+R.width,Ge=_t(In(c)),Me=Ge.innerHeight-h,Ke=Ge.innerWidth-h;if(h!==null&&OeMe){const xe=pt-Me;Oe-=xe,ie.vertical+=xe}if(process.env.NODE_ENV!=="production"&&R.height>Me&&R.height&&Me&&console.error(["MUI: The popover component is too tall.",`Some part of it can not be seen on the screen (${R.height-Me}px).`,"Please consider adding a `max-height` to improve the user-experience."].join(` +`)),h!==null&&veKe){const xe=Ce-Ke;ve-=xe,ie.horizontal+=xe}return{top:`${Math.round(Oe)}px`,left:`${Math.round(ve)}px`,transformOrigin:Ci(ie)}},[c,f,z,ee,h]),[O,A]=k.useState(E),q=k.useCallback(()=>{const Z=M.current;if(!Z)return;const R=Q(Z);R.top!==null&&(Z.style.top=R.top),R.left!==null&&(Z.style.left=R.left),Z.style.transformOrigin=R.transformOrigin,A(!0)},[Q]);k.useEffect(()=>(L&&window.addEventListener("scroll",q),()=>window.removeEventListener("scroll",q)),[c,L,q]);const G=(Z,R)=>{F&&F(Z,R),q()},U=()=>{A(!1)};k.useEffect(()=>{E&&q()}),k.useImperativeHandle(l,()=>E?{updatePosition:()=>{q()}}:null,[E,q]),k.useEffect(()=>{if(!E)return;const Z=Ki(()=>{q()}),R=_t(c);return R.addEventListener("resize",Z),()=>{Z.clear(),R.removeEventListener("resize",Z)}},[c,E,q]);let H=N;N==="auto"&&!C.muiSupportAuto&&(H=void 0);const X=y||(c?ke(In(c)).body:void 0),Y=(o=w==null?void 0:w.root)!=null?o:Gf,W=(i=w==null?void 0:w.paper)!=null?i:Xa,K=xt({elementType:W,externalSlotProps:T({},$,{style:O?$.style:T({},$.style,{opacity:0})}),additionalProps:{elevation:b,ref:B},ownerState:D,className:Ee(j.paper,$==null?void 0:$.className)}),J=xt({elementType:Y,externalSlotProps:(x==null?void 0:x.root)||{},externalForwardedProps:S,additionalProps:{ref:n,slotProps:{backdrop:{invisible:!0}},container:X,open:E},ownerState:D,className:Ee(j.root,g)}),{slotProps:oe}=J,_=de(J,Xf);return v.jsx(Y,T({},_,!sa(Y)&&{slotProps:oe,disableScrollLock:L},{children:v.jsx(C,T({appear:!0,in:E,onEntering:G,onExited:U,timeout:H},V,{children:v.jsx(W,T({},K,{children:d}))}))}))});process.env.NODE_ENV!=="production"&&(Ya.propTypes={action:Xr,anchorEl:Vt(a.oneOfType([Qe,a.func]),e=>{if(e.open&&(!e.anchorReference||e.anchorReference==="anchorEl")){const t=In(e.anchorEl);if(t&&t.nodeType===1){const n=t.getBoundingClientRect();if(process.env.NODE_ENV!=="test"&&n.top===0&&n.left===0&&n.right===0&&n.bottom===0)return new Error(["MUI: The `anchorEl` prop provided to the component is invalid.","The anchor element should be part of the document layout.","Make sure the element is present in the document or that it's not display none."].join(` `))}else return new Error(["MUI: The `anchorEl` prop provided to the component is invalid.",`It should be an Element or PopoverVirtualElement instance but it's \`${t}\` instead.`].join(` -`))}return null}),anchorOrigin:a.shape({horizontal:a.oneOfType([a.oneOf(["center","left","right"]),a.number]).isRequired,vertical:a.oneOfType([a.oneOf(["bottom","center","top"]),a.number]).isRequired}),anchorPosition:a.shape({left:a.number.isRequired,top:a.number.isRequired}),anchorReference:a.oneOf(["anchorEl","anchorPosition","none"]),children:a.node,classes:a.object,className:a.string,container:a.oneOfType([Ze,a.func]),disableScrollLock:a.bool,elevation:ta,marginThreshold:a.number,onClose:a.func,open:a.bool.isRequired,PaperProps:a.shape({component:ul}),slotProps:a.shape({paper:a.oneOfType([a.func,a.object]),root:a.oneOfType([a.func,a.object])}),slots:a.shape({paper:a.elementType,root:a.elementType}),sx:a.oneOfType([a.arrayOf(a.oneOfType([a.func,a.object,a.bool])),a.func,a.object]),transformOrigin:a.shape({horizontal:a.oneOfType([a.oneOf(["center","left","right"]),a.number]).isRequired,vertical:a.oneOfType([a.oneOf(["bottom","center","top"]),a.number]).isRequired}),TransitionComponent:a.elementType,transitionDuration:a.oneOfType([a.oneOf(["auto"]),a.number,a.shape({appear:a.number,enter:a.number,exit:a.number})]),TransitionProps:a.object});const _f=Wa;function Af(e){return Ge("MuiMenu",e)}st("MuiMenu",["root","paper","list"]);const Df=["onEntering"],Bf=["autoFocus","children","className","disableAutoFocusItem","MenuListProps","onClose","open","PaperProps","PopoverClasses","transitionDuration","TransitionProps","variant","slots","slotProps"],Lf={vertical:"top",horizontal:"right"},Ff={vertical:"top",horizontal:"left"},Vf=e=>{const{classes:t}=e;return tt({root:["root"],paper:["paper"],list:["list"]},Af,t)},zf=Te(_f,{shouldForwardProp:e=>Oa(e)||e==="classes",name:"MuiMenu",slot:"Root",overridesResolver:(e,t)=>t.root})({}),Uf=Te(Ha,{name:"MuiMenu",slot:"Paper",overridesResolver:(e,t)=>t.paper})({maxHeight:"calc(100% - 96px)",WebkitOverflowScrolling:"touch"}),qf=Te(cf,{name:"MuiMenu",slot:"List",overridesResolver:(e,t)=>t.list})({outline:0}),Ga=k.forwardRef(function(t,n){var r,o;const i=nt({props:t,name:"MuiMenu"}),{autoFocus:s=!0,children:l,className:c,disableAutoFocusItem:u=!1,MenuListProps:p={},onClose:f,open:d,PaperProps:g={},PopoverClasses:y,transitionDuration:b="auto",TransitionProps:{onEntering:h}={},variant:E="selectedMenu",slots:j={},slotProps:w={}}=i,x=pe(i.TransitionProps,Df),m=pe(i,Bf),S=xn(),N=S.direction==="rtl",F=T({},i,{autoFocus:s,disableAutoFocusItem:u,MenuListProps:p,onEntering:h,PaperProps:g,transitionDuration:b,TransitionProps:x,variant:E}),L=Vf(F),V=s&&!u&&d,C=k.useRef(null),M=(Q,O)=>{C.current&&C.current.adjustStyleForScrollbar(Q,S),h&&h(Q,O)},R=Q=>{Q.key==="Tab"&&(Q.preventDefault(),f&&f(Q,"tabKeyDown"))};let B=-1;k.Children.map(l,(Q,O)=>{k.isValidElement(Q)&&(process.env.NODE_ENV!=="production"&&_n.isFragment(Q)&&console.error(["MUI: The Menu component doesn't accept a Fragment as a child.","Consider providing an array instead."].join(` -`)),Q.props.disabled||(E==="selectedMenu"&&Q.props.selected||B===-1)&&(B=O))});const D=(r=j.paper)!=null?r:Uf,$=(o=w.paper)!=null?o:g,z=wt({elementType:j.root,externalSlotProps:w.root,ownerState:F,className:[L.root,c]}),ee=wt({elementType:D,externalSlotProps:$,ownerState:F,className:L.paper});return v.jsx(zf,T({onClose:f,anchorOrigin:{vertical:"bottom",horizontal:N?"right":"left"},transformOrigin:N?Lf:Ff,slots:{paper:D,root:j.root},slotProps:{root:z,paper:ee},open:d,ref:n,transitionDuration:b,TransitionProps:T({onEntering:M},x),ownerState:F},m,{classes:y,children:v.jsx(qf,T({onKeyDown:R,actions:C,autoFocus:s&&(B===-1||u),autoFocusItem:V,variant:E},p,{className:Ee(L.list,p.className),children:l}))}))});process.env.NODE_ENV!=="production"&&(Ga.propTypes={anchorEl:a.oneOfType([Ze,a.func]),autoFocus:a.bool,children:a.node,classes:a.object,className:a.string,disableAutoFocusItem:a.bool,MenuListProps:a.object,onClose:a.func,open:a.bool.isRequired,PaperProps:a.object,PopoverClasses:a.object,slotProps:a.shape({paper:a.oneOfType([a.func,a.object]),root:a.oneOfType([a.func,a.object])}),slots:a.shape({paper:a.elementType,root:a.elementType}),sx:a.oneOfType([a.arrayOf(a.oneOfType([a.func,a.object,a.bool])),a.func,a.object]),transitionDuration:a.oneOfType([a.oneOf(["auto"]),a.number,a.shape({appear:a.number,enter:a.number,exit:a.number})]),TransitionProps:a.object,variant:a.oneOf(["menu","selectedMenu"])});const Hf=Ga;function Wf({className:e,commandHandler:t,menuDefinition:n,children:r}){var u;const[o,i]=_.useState(void 0),s=_.useCallback(p=>{p.preventDefault(),i(o===void 0?{mouseX:p.clientX+2,mouseY:p.clientY-6}:void 0)},[o]),l=_.useCallback(()=>{i(void 0)},[]),c=_.useMemo(()=>{if(o!==void 0)return{top:o.mouseY,left:o.mouseX}},[o]);return(((u=n==null?void 0:n.items)==null?void 0:u.length)??0)===0||!r?r:v.jsxs("div",{className:`papi-context-menu-target ${e??""}`,onContextMenu:s,children:[r,v.jsx(Hf,{className:`papi-context-menu ${e??""}`,open:o!==void 0,onClose:l,anchorReference:"anchorPosition",anchorPosition:c,children:v.jsx(uo,{menuDefinition:n,commandHandler:t,onClick:l})})]})}const Gf=ja(v.jsx("path",{d:"M3 18h18v-2H3zm0-5h18v-2H3zm0-7v2h18V6z"}),"Menu");function Xf(e){return{preserveValue:!0,...e}}const Un=(e,t,n={})=>{const r=_.useRef(t);r.current=t;const o=_.useRef(n);o.current=Xf(o.current);const[i,s]=_.useState(()=>r.current),[l,c]=_.useState(!0);return _.useEffect(()=>{let u=!0;return c(!!e),(async()=>{if(e){const p=await e();u&&(s(()=>p),c(!1))}})(),()=>{u=!1,o.current.preserveValue||s(()=>r.current)}},[e]),[i,l]};function Xa({menuProvider:e,normalMenu:t,fullMenu:n,commandHandler:r,containerRef:o,className:i,ariaLabelPrefix:s,children:l}){const[c,u]=_.useState(!1),[p,f]=_.useState(!1),d=_.useCallback(()=>{c&&u(!1),f(!1)},[c]),g=_.useCallback(x=>{x.stopPropagation(),u(m=>{const S=!m;return S&&x.shiftKey?f(!0):S||f(!1),S})},[]),y=_.useCallback(x=>(d(),r(x)),[r,d]),[b,h]=_.useState({top:1,left:1});_.useEffect(()=>{if(c){const x=o==null?void 0:o.current;if(x){const m=x.getBoundingClientRect(),S=window.scrollY,N=window.scrollX,F=m.top+S+x.clientHeight,L=m.left+N;h({top:F,left:L})}}},[c,o]);const[E]=Un(_.useCallback(async()=>(e==null?void 0:e(!1))??t,[e,t,c]),t),[j]=Un(_.useCallback(async()=>(e==null?void 0:e(!0))??n??E,[e,n,E,c]),n??E),w=p&&j?j:E;return v.jsxs(v.Fragment,{children:[v.jsx(be.IconButton,{sx:{paddingTop:0,paddingBottom:0},edge:"start",className:`papi-menuButton ${i??""}`,color:"inherit","aria-label":`${s??""} menu button`,onClick:g,children:l??v.jsx(Gf,{})}),v.jsx(be.Drawer,{className:`papi-menu-drawer ${i??""}`,anchor:"left",variant:"temporary",open:c,onClose:d,PaperProps:{className:"papi-menu-drawer-paper",style:{top:b.top,left:b.left}},children:w?v.jsx(Aa,{className:i,id:`${s??""} main menu`,commandHandler:y,multiColumnMenu:w}):void 0})]})}function Yf({id:e,label:t,isDisabled:n=!1,tooltip:r,isTooltipSuppressed:o=!1,adjustMarginToAlignToEdge:i=!1,size:s="medium",className:l,onClick:c,children:u}){return v.jsx(be.IconButton,{id:e,disabled:n,edge:i,size:s,"aria-label":t,title:o?void 0:r??t,className:`papi-icon-button ${l??""}`,onClick:c,children:u})}const Kf=Oi.cva("pr-text-sm pr-font-medium pr-leading-none peer-disabled:pr-cursor-not-allowed peer-disabled:pr-opacity-70"),Ya=_.forwardRef(({className:e,...t},n)=>v.jsx(Si.Root,{ref:n,className:de(Kf(),e),...t}));Ya.displayName=Si.Root.displayName;function fn({id:e,isDisabled:t=!1,hasError:n=!1,isFullWidth:r=!1,helperText:o,label:i,placeholder:s,isRequired:l=!1,className:c,defaultValue:u,value:p,onChange:f,onFocus:d,onBlur:g}){return v.jsxs("div",{className:de("pr-inline-grid pr-items-center pr-gap-1.5",{"pr-w-full":r}),children:[v.jsx(Ya,{htmlFor:e,className:de({"pr-text-red-600":n,"pr-hidden":!i}),children:`${i}${l?"*":""}`}),v.jsx(Hn,{id:e,disabled:t,placeholder:s,required:l,className:de(c,{"pr-border-red-600":n}),defaultValue:u,value:p,onChange:f,onFocus:d,onBlur:g}),v.jsx("p",{className:de({"pr-hidden":!o}),children:o})]})}let xr;const Er=()=>(xr||(xr=ue.allBookIds.map(e=>({bookId:e,label:ue.bookIdToEnglishName(e)}))),xr);function Jf({scrRef:e,handleSubmit:t,id:n}){const r=c=>{t(c)},o=(c,u)=>{const f={bookNum:ue.bookIdToNumber(u.bookId),chapterNum:1,verseNum:1};r(f)},i=c=>{t({...e,chapterNum:+c.target.value})},s=c=>{t({...e,verseNum:+c.target.value})},l=_.useMemo(()=>Er()[e.bookNum-1],[e.bookNum]);return v.jsxs("span",{id:n,className:"pr-flex pr-place-items-center",children:[v.jsx(In,{title:"Book",className:"papi-ref-selector book",value:l,options:Er(),onChange:o,isClearable:!1,width:200}),v.jsx(it,{onClick:()=>r(Ue.offsetBook(e,-1)),disabled:e.bookNum<=Ue.FIRST_SCR_BOOK_NUM,children:"<"}),v.jsx(it,{onClick:()=>r(Ue.offsetBook(e,1)),disabled:e.bookNum>=Er().length,children:">"}),v.jsx(fn,{className:"papi-ref-selector chapter-verse",label:"Chapter",value:e.chapterNum,onChange:i}),v.jsx(it,{onClick:()=>t(Ue.offsetChapter(e,-1)),disabled:e.chapterNum<=Ue.FIRST_SCR_CHAPTER_NUM,children:"<"}),v.jsx(it,{onClick:()=>t(Ue.offsetChapter(e,1)),disabled:e.chapterNum>=Ue.getChaptersForBook(e.bookNum),children:">"}),v.jsx(fn,{className:"papi-ref-selector chapter-verse",label:"Verse",value:e.verseNum,onChange:s}),v.jsx(it,{onClick:()=>t(Ue.offsetVerse(e,-1)),disabled:e.verseNum<=Ue.FIRST_SCR_VERSE_NUM,children:"<"}),v.jsx(it,{onClick:()=>t(Ue.offsetVerse(e,1)),children:">"})]})}function Zf({onSearch:e,placeholder:t,isFullWidth:n}){const[r,o]=_.useState(""),i=s=>{o(s),e(s)};return v.jsx(fn,{isFullWidth:n,className:"search-bar-input",placeholder:t,value:r,onChange:s=>i(s.target.value)})}function Qf({id:e,isDisabled:t=!1,orientation:n="horizontal",min:r=0,max:o=100,step:i=1,showMarks:s=!1,defaultValue:l,value:c,valueLabelDisplay:u="off",className:p,onChange:f,onChangeCommitted:d}){return v.jsx(be.Slider,{id:e,disabled:t,orientation:n,min:r,max:o,step:i,marks:s,defaultValue:l,value:c,valueLabelDisplay:u,className:`papi-slider ${n} ${p??""}`,onChange:f,onChangeCommitted:d})}function eh({autoHideDuration:e=void 0,id:t,isOpen:n=!1,className:r,onClose:o,anchorOrigin:i={vertical:"bottom",horizontal:"left"},ContentProps:s,children:l}){const c={action:(s==null?void 0:s.action)||l,message:s==null?void 0:s.message,className:r};return v.jsx(be.Snackbar,{autoHideDuration:e??void 0,open:n,onClose:o,anchorOrigin:i,id:t,ContentProps:c})}function th({id:e,isChecked:t,isDisabled:n=!1,hasError:r=!1,className:o,onChange:i}){return v.jsx(be.Switch,{id:e,checked:t,disabled:n,className:`papi-switch ${r?"error":""} ${o??""}`,onChange:i})}function Ti({onRowChange:e,row:t,column:n}){const r=o=>{e({...t,[n.key]:o.target.value})};return v.jsx(fn,{defaultValue:t[n.key],onChange:r})}const nh=({onChange:e,disabled:t,checked:n,...r})=>{const o=i=>{e(i.target.checked,i.nativeEvent.shiftKey)};return v.jsx(zr,{...r,isChecked:n,isDisabled:t,onChange:o})};function rh({columns:e,sortColumns:t,onSortColumnsChange:n,onColumnResize:r,defaultColumnWidth:o,defaultColumnMinWidth:i,defaultColumnMaxWidth:s,defaultColumnSortable:l=!0,defaultColumnResizable:c=!0,rows:u,enableSelectColumn:p,selectColumnWidth:f=50,rowKeyGetter:d,rowHeight:g=35,headerRowHeight:y=35,selectedRows:b,onSelectedRowsChange:h,onRowsChange:E,onCellClick:j,onCellDoubleClick:w,onCellContextMenu:x,onCellKeyDown:m,direction:S="ltr",enableVirtualization:N=!0,onCopy:F,onPaste:L,onScroll:V,className:C,"data-testid":M}){const R=_.useMemo(()=>{const B=e.map(D=>typeof D.editable=="function"?{...D,editable:z=>!!D.editable(z),renderEditCell:D.renderEditCell||Ti}:D.editable&&!D.renderEditCell?{...D,renderEditCell:Ti}:D.renderEditCell&&!D.editable?{...D,editable:!1}:D);return p?[{...So.SelectColumn,minWidth:f},...B]:B},[e,p,f]);return v.jsx(So,{columns:R,defaultColumnOptions:{width:o,minWidth:i,maxWidth:s,sortable:l,resizable:c},sortColumns:t,onSortColumnsChange:n,onColumnResize:r,rows:u,rowKeyGetter:d,rowHeight:g,headerRowHeight:y,selectedRows:b,onSelectedRowsChange:h,onRowsChange:E,onCellClick:j,onCellDoubleClick:w,onCellContextMenu:x,onCellKeyDown:m,direction:S,enableVirtualization:N,onCopy:F,onPaste:L,onScroll:V,renderers:{renderCheckbox:nh},className:`papi-table ${C??"rdg-light"}`,"data-testid":M})}function oh({menuProvider:e,commandHandler:t,className:n,id:r,children:o}){const i=_.useRef(void 0);return v.jsx("div",{ref:i,style:{position:"relative"},children:v.jsx(be.AppBar,{position:"static",id:r,children:v.jsxs(be.Toolbar,{className:`papi-toolbar ${n??""}`,variant:"dense",children:[e?v.jsx(Xa,{commandHandler:t,containerRef:i,menuProvider:e}):void 0,o?v.jsx("div",{className:"papi-toolbar-children",children:o}):void 0]})})})}const ih=(e,t)=>{_.useEffect(()=>{if(!e)return()=>{};const n=e(t);return()=>{n()}},[e,t])},kr=()=>!1,ah=(e,t)=>{const[n]=Un(_.useCallback(async()=>{if(!e)return kr;const r=await Promise.resolve(e(t));return async()=>r()},[t,e]),kr,{preserveValue:!1});_.useEffect(()=>()=>{n!==kr&&n()},[n])},sh=Re.Root,Ka=_.forwardRef(({className:e,...t},n)=>v.jsx(Re.List,{ref:n,className:de("pr-inline-flex pr-h-10 pr-items-center pr-justify-center pr-rounded-md pr-bg-muted pr-p-1 pr-text-muted-foreground",e),...t}));Ka.displayName=Re.List.displayName;const Ja=_.forwardRef(({className:e,...t},n)=>v.jsx(Re.Trigger,{ref:n,className:de("pr-inline-flex pr-items-center pr-justify-center pr-whitespace-nowrap pr-rounded-sm pr-px-3 pr-py-1.5 pr-text-sm pr-font-medium pr-ring-offset-background pr-transition-all hover:pr-text-foreground focus-visible:pr-outline-none focus-visible:pr-ring-2 focus-visible:pr-ring-ring focus-visible:pr-ring-offset-2 disabled:pr-pointer-events-none disabled:pr-opacity-50 data-[state=active]:pr-bg-background data-[state=active]:pr-text-foreground data-[state=active]:pr-shadow-sm",e),...t}));Ja.displayName=Re.Trigger.displayName;const Za=_.forwardRef(({className:e,...t},n)=>v.jsx(Re.Content,{ref:n,className:de("pr-mt-2 pr-ring-offset-background focus-visible:pr-outline-none focus-visible:pr-ring-2 focus-visible:pr-ring-ring focus-visible:pr-ring-offset-2",e),...t}));Za.displayName=Re.Content.displayName;const Qa=_.forwardRef(({className:e,...t},n)=>v.jsx(Re.Root,{orientation:"vertical",ref:n,className:de("pr-flex pr-gap-1 pr-rounded-md pr-text-muted-foreground",e),...t}));Qa.displayName=Re.List.displayName;const es=_.forwardRef(({className:e,...t},n)=>v.jsx(Re.List,{ref:n,className:de("pr-flex-fit pr-mlk-items-center pr-w-[124px] pr-justify-center pr-rounded-md pr-bg-muted pr-p-1 pr-text-muted-foreground",e),...t}));es.displayName=Re.List.displayName;const lh=_.forwardRef(({className:e,...t},n)=>v.jsx(Re.Trigger,{ref:n,...t,className:de("overflow-clip pr-inline-flex pr-w-[116px] pr-cursor-pointer pr-items-center pr-justify-center pr-break-words pr-rounded-sm pr-border-0 pr-bg-muted pr-px-3 pr-py-1.5 pr-text-sm pr-font-medium pr-text-inherit pr-ring-offset-background pr-transition-all hover:pr-text-foreground focus-visible:pr-outline-none focus-visible:pr-ring-2 focus-visible:pr-ring-ring focus-visible:pr-ring-offset-2 disabled:pr-pointer-events-none disabled:pr-opacity-50 data-[state=active]:pr-bg-background data-[state=active]:pr-text-foreground data-[state=active]:pr-shadow-sm",e)})),ts=_.forwardRef(({className:e,...t},n)=>v.jsx(Re.Content,{ref:n,className:de("mt-2 pr-ms-5 pr-flex-grow pr-text-foreground pr-ring-offset-background focus-visible:pr-outline-none focus-visible:pr-ring-2 focus-visible:pr-ring-ring focus-visible:pr-ring-offset-2",e),...t}));ts.displayName=Re.Content.displayName;exports.BookChapterControl=Gs;exports.Button=it;exports.ChapterRangeSelector=Xs;exports.Checkbox=zr;exports.Checklist=Ys;exports.ComboBox=In;exports.ContextMenu=Wf;exports.DropdownMenu=ji;exports.DropdownMenuCheckboxItem=Di;exports.DropdownMenuContent=Lr;exports.DropdownMenuGroup=$s;exports.DropdownMenuItem=Fr;exports.DropdownMenuLabel=qn;exports.DropdownMenuPortal=js;exports.DropdownMenuRadioGroup=_s;exports.DropdownMenuRadioItem=Bi;exports.DropdownMenuSeparator=Vr;exports.DropdownMenuShortcut=Li;exports.DropdownMenuSub=Is;exports.DropdownMenuSubContent=Ai;exports.DropdownMenuSubTrigger=_i;exports.DropdownMenuTrigger=Ii;exports.GridMenu=Aa;exports.HamburgerMenuButton=Xa;exports.IconButton=Yf;exports.Input=Hn;exports.LabelPosition=ht;exports.MenuItem=co;exports.RefSelector=Jf;exports.SearchBar=Zf;exports.Slider=Qf;exports.Snackbar=eh;exports.Switch=th;exports.Table=rh;exports.Tabs=sh;exports.TabsContent=Za;exports.TabsList=Ka;exports.TabsTrigger=Ja;exports.TextField=fn;exports.Toolbar=oh;exports.VerticalTabs=Qa;exports.VerticalTabsContent=ts;exports.VerticalTabsList=es;exports.VerticalTabsTrigger=lh;exports.buttonVariants=Fi;exports.useEvent=ih;exports.useEventAsync=ah;exports.usePromise=Un;function ch(e,t="top"){if(!e||typeof document>"u")return;const n=document.head||document.querySelector("head"),r=n.querySelector(":first-child"),o=document.createElement("style");o.appendChild(document.createTextNode(e)),t==="top"&&r?n.insertBefore(o,r):n.appendChild(o)}ch(`.papi-checkbox { - background-color: transparent; +`))}return null}),anchorOrigin:a.shape({horizontal:a.oneOfType([a.oneOf(["center","left","right"]),a.number]).isRequired,vertical:a.oneOfType([a.oneOf(["bottom","center","top"]),a.number]).isRequired}),anchorPosition:a.shape({left:a.number.isRequired,top:a.number.isRequired}),anchorReference:a.oneOf(["anchorEl","anchorPosition","none"]),children:a.node,classes:a.object,className:a.string,container:a.oneOfType([Qe,a.func]),disableScrollLock:a.bool,elevation:ra,marginThreshold:a.number,onClose:a.func,open:a.bool.isRequired,PaperProps:a.shape({component:Ol}),slotProps:a.shape({paper:a.oneOfType([a.func,a.object]),root:a.oneOfType([a.func,a.object])}),slots:a.shape({paper:a.elementType,root:a.elementType}),sx:a.oneOfType([a.arrayOf(a.oneOfType([a.func,a.object,a.bool])),a.func,a.object]),transformOrigin:a.shape({horizontal:a.oneOfType([a.oneOf(["center","left","right"]),a.number]).isRequired,vertical:a.oneOfType([a.oneOf(["bottom","center","top"]),a.number]).isRequired}),TransitionComponent:a.elementType,transitionDuration:a.oneOfType([a.oneOf(["auto"]),a.number,a.shape({appear:a.number,enter:a.number,exit:a.number})]),TransitionProps:a.object});const Kf=Ya;function Jf(e){return Ye("MuiMenu",e)}st("MuiMenu",["root","paper","list"]);const Zf=["onEntering"],Qf=["autoFocus","children","className","disableAutoFocusItem","MenuListProps","onClose","open","PaperProps","PopoverClasses","transitionDuration","TransitionProps","variant","slots","slotProps"],eh={vertical:"top",horizontal:"right"},th={vertical:"top",horizontal:"left"},nh=e=>{const{classes:t}=e;return nt({root:["root"],paper:["paper"],list:["list"]},Jf,t)},rh=Te(Kf,{shouldForwardProp:e=>Sa(e)||e==="classes",name:"MuiMenu",slot:"Root",overridesResolver:(e,t)=>t.root})({}),oh=Te(Xa,{name:"MuiMenu",slot:"Paper",overridesResolver:(e,t)=>t.paper})({maxHeight:"calc(100% - 96px)",WebkitOverflowScrolling:"touch"}),ih=Te(Tf,{name:"MuiMenu",slot:"List",overridesResolver:(e,t)=>t.list})({outline:0}),Ga=k.forwardRef(function(t,n){var r,o;const i=rt({props:t,name:"MuiMenu"}),{autoFocus:s=!0,children:l,className:c,disableAutoFocusItem:p=!1,MenuListProps:u={},onClose:f,open:d,PaperProps:g={},PopoverClasses:y,transitionDuration:b="auto",TransitionProps:{onEntering:h}={},variant:E="selectedMenu",slots:I={},slotProps:w={}}=i,x=de(i.TransitionProps,Zf),m=de(i,Qf),C=En(),N=C.direction==="rtl",F=T({},i,{autoFocus:s,disableAutoFocusItem:p,MenuListProps:u,onEntering:h,PaperProps:g,transitionDuration:b,TransitionProps:x,variant:E}),L=nh(F),V=s&&!p&&d,S=k.useRef(null),$=(Q,O)=>{S.current&&S.current.adjustStyleForScrollbar(Q,C),h&&h(Q,O)},M=Q=>{Q.key==="Tab"&&(Q.preventDefault(),f&&f(Q,"tabKeyDown"))};let B=-1;k.Children.map(l,(Q,O)=>{k.isValidElement(Q)&&(process.env.NODE_ENV!=="production"&&An.isFragment(Q)&&console.error(["MUI: The Menu component doesn't accept a Fragment as a child.","Consider providing an array instead."].join(` +`)),Q.props.disabled||(E==="selectedMenu"&&Q.props.selected||B===-1)&&(B=O))});const D=(r=I.paper)!=null?r:oh,j=(o=w.paper)!=null?o:g,z=xt({elementType:I.root,externalSlotProps:w.root,ownerState:F,className:[L.root,c]}),ee=xt({elementType:D,externalSlotProps:j,ownerState:F,className:L.paper});return v.jsx(rh,T({onClose:f,anchorOrigin:{vertical:"bottom",horizontal:N?"right":"left"},transformOrigin:N?eh:th,slots:{paper:D,root:I.root},slotProps:{root:z,paper:ee},open:d,ref:n,transitionDuration:b,TransitionProps:T({onEntering:$},x),ownerState:F},m,{classes:y,children:v.jsx(ih,T({onKeyDown:M,actions:S,autoFocus:s&&(B===-1||p),autoFocusItem:V,variant:E},u,{className:Ee(L.list,u.className),children:l}))}))});process.env.NODE_ENV!=="production"&&(Ga.propTypes={anchorEl:a.oneOfType([Qe,a.func]),autoFocus:a.bool,children:a.node,classes:a.object,className:a.string,disableAutoFocusItem:a.bool,MenuListProps:a.object,onClose:a.func,open:a.bool.isRequired,PaperProps:a.object,PopoverClasses:a.object,slotProps:a.shape({paper:a.oneOfType([a.func,a.object]),root:a.oneOfType([a.func,a.object])}),slots:a.shape({paper:a.elementType,root:a.elementType}),sx:a.oneOfType([a.arrayOf(a.oneOfType([a.func,a.object,a.bool])),a.func,a.object]),transitionDuration:a.oneOfType([a.oneOf(["auto"]),a.number,a.shape({appear:a.number,enter:a.number,exit:a.number})]),TransitionProps:a.object,variant:a.oneOf(["menu","selectedMenu"])});const ah=Ga;function sh({className:e,commandHandler:t,menuDefinition:n,children:r}){var p;const[o,i]=P.useState(void 0),s=P.useCallback(u=>{u.preventDefault(),i(o===void 0?{mouseX:u.clientX+2,mouseY:u.clientY-6}:void 0)},[o]),l=P.useCallback(()=>{i(void 0)},[]),c=P.useMemo(()=>{if(o!==void 0)return{top:o.mouseY,left:o.mouseX}},[o]);return(((p=n==null?void 0:n.items)==null?void 0:p.length)??0)===0||!r?r:v.jsxs("div",{className:`papi-context-menu-target ${e??""}`,onContextMenu:s,children:[r,v.jsx(ah,{className:`papi-context-menu ${e??""}`,open:o!==void 0,onClose:l,anchorReference:"anchorPosition",anchorPosition:c,children:v.jsx(ho,{menuDefinition:n,commandHandler:t,onClick:l})})]})}const lh=_a(v.jsx("path",{d:"M3 18h18v-2H3zm0-5h18v-2H3zm0-7v2h18V6z"}),"Menu");function ch(e){return{preserveValue:!0,...e}}const qn=(e,t,n={})=>{const r=P.useRef(t);r.current=t;const o=P.useRef(n);o.current=ch(o.current);const[i,s]=P.useState(()=>r.current),[l,c]=P.useState(!0);return P.useEffect(()=>{let p=!0;return c(!!e),(async()=>{if(e){const u=await e();p&&(s(()=>u),c(!1))}})(),()=>{p=!1,o.current.preserveValue||s(()=>r.current)}},[e]),[i,l]};function Ka({menuProvider:e,normalMenu:t,fullMenu:n,commandHandler:r,containerRef:o,className:i,ariaLabelPrefix:s,children:l}){const[c,p]=P.useState(!1),[u,f]=P.useState(!1),d=P.useCallback(()=>{c&&p(!1),f(!1)},[c]),g=P.useCallback(x=>{x.stopPropagation(),p(m=>{const C=!m;return C&&x.shiftKey?f(!0):C||f(!1),C})},[]),y=P.useCallback(x=>(d(),r(x)),[r,d]),[b,h]=P.useState({top:1,left:1});P.useEffect(()=>{if(c){const x=o==null?void 0:o.current;if(x){const m=x.getBoundingClientRect(),C=window.scrollY,N=window.scrollX,F=m.top+C+x.clientHeight,L=m.left+N;h({top:F,left:L})}}},[c,o]);const[E]=qn(P.useCallback(async()=>(e==null?void 0:e(!1))??t,[e,t,c]),t),[I]=qn(P.useCallback(async()=>(e==null?void 0:e(!0))??n??E,[e,n,E,c]),n??E),w=u&&I?I:E;return v.jsxs(v.Fragment,{children:[v.jsx(be.IconButton,{sx:{paddingTop:0,paddingBottom:0},edge:"start",className:`papi-menuButton ${i??""}`,color:"inherit","aria-label":`${s??""} menu button`,onClick:g,children:l??v.jsx(lh,{})}),v.jsx(be.Drawer,{className:`papi-menu-drawer ${i??""}`,anchor:"left",variant:"temporary",open:c,onClose:d,PaperProps:{className:"papi-menu-drawer-paper",style:{top:b.top,left:b.left}},children:w?v.jsx(Ba,{className:i,id:`${s??""} main menu`,commandHandler:y,multiColumnMenu:w}):void 0})]})}function ph({id:e,label:t,isDisabled:n=!1,tooltip:r,isTooltipSuppressed:o=!1,adjustMarginToAlignToEdge:i=!1,size:s="medium",className:l,onClick:c,children:p}){return v.jsx(be.IconButton,{id:e,disabled:n,edge:i,size:s,"aria-label":t,title:o?void 0:r??t,className:`papi-icon-button ${l??""}`,onClick:c,children:p})}const uh=Br.cva("pr-text-sm pr-font-medium pr-leading-none peer-disabled:pr-cursor-not-allowed peer-disabled:pr-opacity-70"),Ja=P.forwardRef(({className:e,...t},n)=>v.jsx(Ni.Root,{ref:n,className:ne(uh(),e),...t}));Ja.displayName=Ni.Root.displayName;function mn({id:e,isDisabled:t=!1,hasError:n=!1,isFullWidth:r=!1,helperText:o,label:i,placeholder:s,isRequired:l=!1,className:c,defaultValue:p,value:u,onChange:f,onFocus:d,onBlur:g}){return v.jsxs("div",{className:ne("pr-inline-grid pr-items-center pr-gap-1.5",{"pr-w-full":r}),children:[v.jsx(Ja,{htmlFor:e,className:ne({"pr-text-red-600":n,"pr-hidden":!i}),children:`${i}${l?"*":""}`}),v.jsx(Wn,{id:e,disabled:t,placeholder:s,required:l,className:ne(c,{"pr-border-red-600":n}),defaultValue:p,value:u,onChange:f,onFocus:d,onBlur:g}),v.jsx("p",{className:ne({"pr-hidden":!o}),children:o})]})}let Er;const kr=()=>(Er||(Er=ue.allBookIds.map(e=>({bookId:e,label:ue.bookIdToEnglishName(e)}))),Er);function dh({scrRef:e,handleSubmit:t,id:n}){const r=c=>{t(c)},o=(c,p)=>{const f={bookNum:ue.bookIdToNumber(p.bookId),chapterNum:1,verseNum:1};r(f)},i=c=>{t({...e,chapterNum:+c.target.value})},s=c=>{t({...e,verseNum:+c.target.value})},l=P.useMemo(()=>kr()[e.bookNum-1],[e.bookNum]);return v.jsxs("span",{id:n,className:"pr-flex pr-place-items-center",children:[v.jsx(_n,{title:"Book",className:"papi-ref-selector book",value:l,options:kr(),onChange:o,isClearable:!1,width:200}),v.jsx(it,{onClick:()=>r(Ue.offsetBook(e,-1)),disabled:e.bookNum<=Ue.FIRST_SCR_BOOK_NUM,children:"<"}),v.jsx(it,{onClick:()=>r(Ue.offsetBook(e,1)),disabled:e.bookNum>=kr().length,children:">"}),v.jsx(mn,{className:"papi-ref-selector chapter-verse",label:"Chapter",value:e.chapterNum,onChange:i}),v.jsx(it,{onClick:()=>t(Ue.offsetChapter(e,-1)),disabled:e.chapterNum<=Ue.FIRST_SCR_CHAPTER_NUM,children:"<"}),v.jsx(it,{onClick:()=>t(Ue.offsetChapter(e,1)),disabled:e.chapterNum>=Ue.getChaptersForBook(e.bookNum),children:">"}),v.jsx(mn,{className:"papi-ref-selector chapter-verse",label:"Verse",value:e.verseNum,onChange:s}),v.jsx(it,{onClick:()=>t(Ue.offsetVerse(e,-1)),disabled:e.verseNum<=Ue.FIRST_SCR_VERSE_NUM,children:"<"}),v.jsx(it,{onClick:()=>t(Ue.offsetVerse(e,1)),children:">"})]})}function fh({onSearch:e,placeholder:t,isFullWidth:n}){const[r,o]=P.useState(""),i=s=>{o(s),e(s)};return v.jsx(mn,{isFullWidth:n,className:"search-bar-input",placeholder:t,value:r,onChange:s=>i(s.target.value)})}function hh({id:e,isDisabled:t=!1,orientation:n="horizontal",min:r=0,max:o=100,step:i=1,showMarks:s=!1,defaultValue:l,value:c,valueLabelDisplay:p="off",className:u,onChange:f,onChangeCommitted:d}){return v.jsx(be.Slider,{id:e,disabled:t,orientation:n,min:r,max:o,step:i,marks:s,defaultValue:l,value:c,valueLabelDisplay:p,className:`papi-slider ${n} ${u??""}`,onChange:f,onChangeCommitted:d})}function mh({autoHideDuration:e=void 0,id:t,isOpen:n=!1,className:r,onClose:o,anchorOrigin:i={vertical:"bottom",horizontal:"left"},ContentProps:s,children:l}){const c={action:(s==null?void 0:s.action)||l,message:s==null?void 0:s.message,className:r};return v.jsx(be.Snackbar,{autoHideDuration:e??void 0,open:n,onClose:o,anchorOrigin:i,id:t,ContentProps:c})}function gh({id:e,isChecked:t,isDisabled:n=!1,hasError:r=!1,className:o,onChange:i}){return v.jsx(be.Switch,{id:e,checked:t,disabled:n,className:`papi-switch ${r?"error":""} ${o??""}`,onChange:i})}function Si({onRowChange:e,row:t,column:n}){const r=o=>{e({...t,[n.key]:o.target.value})};return v.jsx(mn,{defaultValue:t[n.key],onChange:r})}const bh=({onChange:e,disabled:t,checked:n,...r})=>{const o=i=>{e(i.target.checked,i.nativeEvent.shiftKey)};return v.jsx(Hr,{...r,isChecked:n,isDisabled:t,onChange:o})};function vh({columns:e,sortColumns:t,onSortColumnsChange:n,onColumnResize:r,defaultColumnWidth:o,defaultColumnMinWidth:i,defaultColumnMaxWidth:s,defaultColumnSortable:l=!0,defaultColumnResizable:c=!0,rows:p,enableSelectColumn:u,selectColumnWidth:f=50,rowKeyGetter:d,rowHeight:g=35,headerRowHeight:y=35,selectedRows:b,onSelectedRowsChange:h,onRowsChange:E,onCellClick:I,onCellDoubleClick:w,onCellContextMenu:x,onCellKeyDown:m,direction:C="ltr",enableVirtualization:N=!0,onCopy:F,onPaste:L,onScroll:V,className:S,"data-testid":$}){const M=P.useMemo(()=>{const B=e.map(D=>typeof D.editable=="function"?{...D,editable:z=>!!D.editable(z),renderEditCell:D.renderEditCell||Si}:D.editable&&!D.renderEditCell?{...D,renderEditCell:Si}:D.renderEditCell&&!D.editable?{...D,editable:!1}:D);return u?[{...Po.SelectColumn,minWidth:f},...B]:B},[e,u,f]);return v.jsx(Po,{columns:M,defaultColumnOptions:{width:o,minWidth:i,maxWidth:s,sortable:l,resizable:c},sortColumns:t,onSortColumnsChange:n,onColumnResize:r,rows:p,rowKeyGetter:d,rowHeight:g,headerRowHeight:y,selectedRows:b,onSelectedRowsChange:h,onRowsChange:E,onCellClick:I,onCellDoubleClick:w,onCellContextMenu:x,onCellKeyDown:m,direction:C,enableVirtualization:N,onCopy:F,onPaste:L,onScroll:V,renderers:{renderCheckbox:bh},className:`papi-table ${S??"rdg-light"}`,"data-testid":$})}function yh({menuProvider:e,commandHandler:t,className:n,id:r,children:o}){const i=P.useRef(void 0);return v.jsx("div",{ref:i,style:{position:"relative"},children:v.jsx(be.AppBar,{position:"static",id:r,children:v.jsxs(be.Toolbar,{className:`papi-toolbar ${n??""}`,variant:"dense",children:[e?v.jsx(Ka,{commandHandler:t,containerRef:i,menuProvider:e}):void 0,o?v.jsx("div",{className:"papi-toolbar-children",children:o}):void 0]})})})}const wh=(e,t)=>{P.useEffect(()=>{if(!e)return()=>{};const n=e(t);return()=>{n()}},[e,t])},Tr=()=>!1,xh=(e,t)=>{const[n]=qn(P.useCallback(async()=>{if(!e)return Tr;const r=await Promise.resolve(e(t));return async()=>r()},[t,e]),Tr,{preserveValue:!1});P.useEffect(()=>()=>{n!==Tr&&n()},[n])},Eh=Re.Root,Za=P.forwardRef(({className:e,...t},n)=>v.jsx(Re.List,{ref:n,className:ne("pr-inline-flex pr-h-10 pr-items-center pr-justify-center pr-rounded-md pr-bg-muted pr-p-1 pr-text-muted-foreground",e),...t}));Za.displayName=Re.List.displayName;const Qa=P.forwardRef(({className:e,...t},n)=>v.jsx(Re.Trigger,{ref:n,className:ne("pr-inline-flex pr-items-center pr-justify-center pr-whitespace-nowrap pr-rounded-sm pr-px-3 pr-py-1.5 pr-text-sm pr-font-medium pr-ring-offset-background pr-transition-all hover:pr-text-foreground focus-visible:pr-outline-none focus-visible:pr-ring-2 focus-visible:pr-ring-ring focus-visible:pr-ring-offset-2 disabled:pr-pointer-events-none disabled:pr-opacity-50 data-[state=active]:pr-bg-background data-[state=active]:pr-text-foreground data-[state=active]:pr-shadow-sm",e),...t}));Qa.displayName=Re.Trigger.displayName;const es=P.forwardRef(({className:e,...t},n)=>v.jsx(Re.Content,{ref:n,className:ne("pr-mt-2 pr-ring-offset-background focus-visible:pr-outline-none focus-visible:pr-ring-2 focus-visible:pr-ring-ring focus-visible:pr-ring-offset-2",e),...t}));es.displayName=Re.Content.displayName;const ts=P.forwardRef(({className:e,...t},n)=>v.jsx(Re.Root,{orientation:"vertical",ref:n,className:ne("pr-flex pr-gap-1 pr-rounded-md pr-text-muted-foreground",e),...t}));ts.displayName=Re.List.displayName;const ns=P.forwardRef(({className:e,...t},n)=>v.jsx(Re.List,{ref:n,className:ne("pr-flex-fit pr-mlk-items-center pr-w-[124px] pr-justify-center pr-rounded-md pr-bg-muted pr-p-1 pr-text-muted-foreground",e),...t}));ns.displayName=Re.List.displayName;const kh=P.forwardRef(({className:e,...t},n)=>v.jsx(Re.Trigger,{ref:n,...t,className:ne("overflow-clip pr-inline-flex pr-w-[116px] pr-cursor-pointer pr-items-center pr-justify-center pr-break-words pr-rounded-sm pr-border-0 pr-bg-muted pr-px-3 pr-py-1.5 pr-text-sm pr-font-medium pr-text-inherit pr-ring-offset-background pr-transition-all hover:pr-text-foreground focus-visible:pr-outline-none focus-visible:pr-ring-2 focus-visible:pr-ring-ring focus-visible:pr-ring-offset-2 disabled:pr-pointer-events-none disabled:pr-opacity-50 data-[state=active]:pr-bg-background data-[state=active]:pr-text-foreground data-[state=active]:pr-shadow-sm",e)})),rs=P.forwardRef(({className:e,...t},n)=>v.jsx(Re.Content,{ref:n,className:ne("mt-2 pr-ms-5 pr-flex-grow pr-text-foreground pr-ring-offset-background focus-visible:pr-outline-none focus-visible:pr-ring-2 focus-visible:pr-ring-ring focus-visible:pr-ring-offset-2",e),...t}));rs.displayName=Re.Content.displayName;const os=P.forwardRef(({className:e,...t},n)=>v.jsx("div",{ref:n,className:ne("pr-rounded-lg pr-border pr-bg-card pr-text-card-foreground pr-shadow-sm",e),...t}));os.displayName="Card";const is=P.forwardRef(({className:e,...t},n)=>v.jsx("div",{ref:n,className:ne("pr-flex pr-flex-col pr-space-y-1.5 pr-p-6",e),...t}));is.displayName="CardHeader";const as=P.forwardRef(({className:e,...t},n)=>v.jsx("h3",{ref:n,className:ne("pr-text-2xl pr-font-semibold pr-leading-none pr-tracking-tight",e),...t,children:t.children}));as.displayName="CardTitle";const ss=P.forwardRef(({className:e,...t},n)=>v.jsx("p",{ref:n,className:ne("pr-text-sm pr-text-muted-foreground",e),...t}));ss.displayName="CardDescription";const ls=P.forwardRef(({className:e,...t},n)=>v.jsx("div",{ref:n,className:ne("pr-p-6 pr-pt-0",e),...t}));ls.displayName="CardContent";const cs=P.forwardRef(({className:e,...t},n)=>v.jsx("div",{ref:n,className:ne("pr-flex pr-items-center pr-p-6 pr-pt-0",e),...t}));cs.displayName="CardFooter";const Th=Br.cva("pr-relative pr-w-full pr-rounded-lg pr-border pr-p-4 [&>svg~*]:pr-pl-7 [&>svg+div]:pr-translate-y-[-3px] [&>svg]:pr-absolute [&>svg]:pr-left-4 [&>svg]:pr-top-4 [&>svg]:pr-text-foreground",{variants:{variant:{default:"pr-bg-background pr-text-foreground",destructive:"pr-border-destructive/50 pr-text-destructive dark:pr-border-destructive [&>svg]:pr-text-destructive"}},defaultVariants:{variant:"default"}}),ps=P.forwardRef(({className:e,variant:t,...n},r)=>v.jsx("div",{ref:r,role:"alert",className:ne(Th({variant:t}),e),...n}));ps.displayName="Alert";const us=P.forwardRef(({className:e,...t},n)=>v.jsxs("h5",{ref:n,className:ne("pr-mb-1 pr-font-medium pr-leading-none pr-tracking-tight",e),...t,children:[t.children," "]}));us.displayName="AlertTitle";const ds=P.forwardRef(({className:e,...t},n)=>v.jsx("div",{ref:n,className:ne("pr-text-sm [&_p]:pr-leading-relaxed",e),...t}));ds.displayName="AlertDescription";const fs=P.forwardRef(({className:e,...t},n)=>v.jsxs(en.Root,{ref:n,className:ne("pr-relative pr-flex pr-w-full pr-touch-none pr-select-none pr-items-center",e),...t,children:[v.jsx(en.Track,{className:"pr-relative pr-h-2 pr-w-full pr-grow pr-overflow-hidden pr-rounded-full pr-bg-secondary",children:v.jsx(en.Range,{className:"pr-absolute pr-h-full pr-bg-primary"})}),v.jsx(en.Thumb,{className:"pr-block pr-h-5 pr-w-5 pr-rounded-full pr-border-2 pr-border-primary pr-bg-background pr-ring-offset-background pr-transition-colors focus-visible:pr-outline-none focus-visible:pr-ring-2 focus-visible:pr-ring-ring focus-visible:pr-ring-offset-2 disabled:pr-pointer-events-none disabled:pr-opacity-50"})]}));fs.displayName=en.Root.displayName;const hs=P.forwardRef(({className:e,...t},n)=>v.jsx(Cr.Root,{className:ne("pr-peer pr-inline-flex pr-h-6 pr-w-11 pr-shrink-0 pr-cursor-pointer pr-items-center pr-rounded-full pr-border-2 pr-border-transparent pr-transition-colors focus-visible:pr-outline-none focus-visible:pr-ring-2 focus-visible:pr-ring-ring focus-visible:pr-ring-offset-2 focus-visible:pr-ring-offset-background disabled:pr-cursor-not-allowed disabled:pr-opacity-50 data-[state=checked]:pr-bg-primary data-[state=unchecked]:pr-bg-input",e),...t,ref:n,children:v.jsx(Cr.Thumb,{className:ne("pr-pointer-events-none pr-block pr-h-5 pr-w-5 pr-rounded-full pr-bg-background pr-shadow-lg pr-ring-0 pr-transition-transform data-[state=checked]:pr-translate-x-5 data-[state=unchecked]:pr-translate-x-0")})}));hs.displayName=Cr.Root.displayName;exports.Alert=ps;exports.AlertDescription=ds;exports.AlertTitle=us;exports.BookChapterControl=ll;exports.Button=it;exports.Card=os;exports.CardContent=ls;exports.CardDescription=ss;exports.CardFooter=cs;exports.CardHeader=is;exports.CardTitle=as;exports.ChapterRangeSelector=cl;exports.Checkbox=Hr;exports.Checklist=pl;exports.ComboBox=_n;exports.ContextMenu=sh;exports.DropdownMenu=_i;exports.DropdownMenuCheckboxItem=Li;exports.DropdownMenuContent=zr;exports.DropdownMenuGroup=Xs;exports.DropdownMenuItem=Ur;exports.DropdownMenuLabel=Hn;exports.DropdownMenuPortal=Ys;exports.DropdownMenuRadioGroup=Ks;exports.DropdownMenuRadioItem=Fi;exports.DropdownMenuSeparator=qr;exports.DropdownMenuShortcut=Vi;exports.DropdownMenuSub=Gs;exports.DropdownMenuSubContent=Bi;exports.DropdownMenuSubTrigger=Di;exports.DropdownMenuTrigger=Ai;exports.GridMenu=Ba;exports.HamburgerMenuButton=Ka;exports.IconButton=ph;exports.Input=Wn;exports.LabelPosition=mt;exports.MenuItem=fo;exports.RefSelector=dh;exports.SearchBar=fh;exports.ShadCnSlider=fs;exports.ShadCnSwitch=hs;exports.Slider=hh;exports.Snackbar=mh;exports.Switch=gh;exports.Table=vh;exports.Tabs=Eh;exports.TabsContent=es;exports.TabsList=Za;exports.TabsTrigger=Qa;exports.TextField=mn;exports.Toolbar=yh;exports.VerticalTabs=ts;exports.VerticalTabsContent=rs;exports.VerticalTabsList=ns;exports.VerticalTabsTrigger=kh;exports.buttonVariants=zi;exports.useEvent=wh;exports.useEventAsync=xh;exports.usePromise=qn;function Oh(e,t="top"){if(!e||typeof document>"u")return;const n=document.head||document.querySelector("head"),r=n.querySelector(":first-child"),o=document.createElement("style");o.appendChild(document.createTextNode(e)),t==="top"&&r?n.insertBefore(o,r):n.appendChild(o)}Oh(`.papi-icon-button { + border: 0; + border-radius: 3em; + cursor: pointer; + display: inline-block; } -.papi-checkbox.error { - color: #f00; +.papi-icon-button.primary { + background-color: #1ea7fd; + color: white; } -.papi-checkbox.error:hover { - background-color: rgba(255, 0, 0, 0.2); +.papi-icon-button.secondary { + background-color: transparent; + color: #333; } -.papi-checkbox.paratext { +.papi-icon-button.paratext { + background-color: darkgreen; color: greenyellow; } -.papi-checkbox-label.paratext { +.papi-icon-button.paratext.bright { + background-color: greenyellow; color: darkgreen; } +.papi-context-menu-target { + white-space: nowrap; + cursor: context-menu; +} -.papi-checkbox.paratext:hover { - background-color: rgba(0, 100, 0, 0.3); +.papi-context-menu-target * { + white-space: normal; } -.papi-checkbox.paratext.bright { - color: darkgreen; +.papi-context-menu-target:hover { + box-shadow: 0 0 10px rgba(0, 0, 0, 0.07); /* Faint shadowy background */ } -.papi-checkbox-label.paratext.bright { - background-color: greenyellow; +.papi-context-menu-target.paratext:hover { + box-shadow: 0 0 10px rgba(0, 100, 0, 0.07); /* Faint shadowy background */ } -.papi-checkbox.paratext.bright:hover { - background-color: rgba(173, 255, 47, 0.3); +.papi-context-menu-target.paratext.bright:hover { + box-shadow: 0 0 10px rgba(173, 255, 47, 0.07); /* Faint shadowy background */ } -.papi-checkbox.below, -.papi-checkbox.above { - text-align: center; +.papi-context-menu.paratext ul { + background-color: rgb(76, 106, 76); + color: rgb(214, 255, 152); } -.check-item { - flex-wrap: wrap; - vertical-align: middle; + +.papi-context-menu.paratext.bright ul { + color: rgb(76, 106, 76); + background-color: rgb(214, 255, 152); +} +.papi-multi-column-menu { + background-color: rgb(222, 222, 222); + display: flex; + flex-direction: column; + padding-left: 3px; + padding-right: 3px; } -.papi-checkbox { - display: block; +.papi-menu-column { + font-size: 11pt; + font-weight: 600; + padding-bottom: 2px; +} + +.papi-menu-column ul { + padding-top: 0; +} + +.papi-menu-column-header { + background-color: rgb(181, 181, 181); + padding-left: 24px; + margin-top: 0; + margin-bottom: 0; +} + +.papi-multi-column-menu.paratext { + background-color: rgb(76, 106, 76); + color: rgb(214, 255, 152); +} + +.papi-multi-column-menu.paratext.bright { + color: rgb(76, 106, 76); + background-color: rgb(214, 255, 152); +} +.papi-menu-item { + background-color: transparent; +} + +.papi-menu-icon-trailing { + margin-left: 10px; + place-content: flex-end; +} + +.papi-menu-item img { + max-width: 24px; + max-height: 24px; } .papi-combo-box { background-color: transparent; @@ -141,35 +196,132 @@ const theme2 = createTheme({ palette: { background-color: greenyellow; color: darkgreen; } -.papi-context-menu-target { - white-space: nowrap; - cursor: context-menu; +.papi-snackbar { + font-family: Arial, Helvetica, sans-serif; } -.papi-context-menu-target * { - white-space: normal; +.papi-snackbar.primary { + background: #1ea7fd; + color: white; } -.papi-context-menu-target:hover { - box-shadow: 0 0 10px rgba(0, 0, 0, 0.07); /* Faint shadowy background */ +.papi-snackbar.external { + background-color: lightsteelblue; + border-color: white; + border-style: dotted; + padding: 2%; + width: 30%; } -.papi-context-menu-target.paratext:hover { - box-shadow: 0 0 10px rgba(0, 100, 0, 0.07); /* Faint shadowy background */ +.papi-snackbar.secondary { + background: transparent; + color: #333; } -.papi-context-menu-target.paratext.bright:hover { - box-shadow: 0 0 10px rgba(173, 255, 47, 0.07); /* Faint shadowy background */ +.papi-snackbar.alert { + background: lightcoral; } -.papi-context-menu.paratext ul { - background-color: rgb(76, 106, 76); - color: rgb(214, 255, 152); +.papi-snackbar.paratext { + background: darkgreen; + color: greenyellow; } -.papi-context-menu.paratext.bright ul { - color: rgb(76, 106, 76); - background-color: rgb(214, 255, 152); +.papi-snackbar.bright { + background: greenyellow; + color: darkgreen; +} +.papi-slider { + background-color: transparent; + color: #1ea7fd; +} + +.papi-slider.vertical { + min-height: 200px; +} + +.papi-slider.paratext { + background-color: darkgreen; + color: greenyellow; +} + +.papi-slider.paratext.bright { + background-color: greenyellow; + color: darkgreen; +} +.papi-switch { + background-color: transparent; +} + +.papi-switch.primary { + background-color: #1ea7fd; +} + +.papi-switch.secondary { + background-color: #6fc8ff; +} + +.papi-switch.error { + background-color: #f00; +} + +.papi-switch.paratext { + background-color: darkgreen; + color: greenyellow; +} + +.papi-switch.paratext.bright { + background-color: greenyellow; + color: darkgreen; +} +.papi-checkbox { + background-color: transparent; +} + +.papi-checkbox.error { + color: #f00; +} + +.papi-checkbox.error:hover { + background-color: rgba(255, 0, 0, 0.2); +} + +.papi-checkbox.paratext { + color: greenyellow; +} + +.papi-checkbox-label.paratext { + color: darkgreen; +} + +.papi-checkbox.paratext:hover { + background-color: rgba(0, 100, 0, 0.3); +} + +.papi-checkbox.paratext.bright { + color: darkgreen; +} + +.papi-checkbox-label.paratext.bright { + background-color: greenyellow; +} + +.papi-checkbox.paratext.bright:hover { + background-color: rgba(173, 255, 47, 0.3); +} + +.papi-checkbox.below, +.papi-checkbox.above { + text-align: center; +} +.papi-table.paratext { + background-color: darkgreen; + color: greenyellow; +} + +.papi-table.paratext.bright { + color: darkgreen; + background-color: greenyellow; } /* 1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4) @@ -623,6 +775,88 @@ video:where(.pr-twp,.pr-twp *) { --input: 217.2 32.6% 17.5%; --ring: 212.7 26.8% 83.9%; } + + /* using color palette https://supercolorpalette.com/?scp=G0-hsl-99827A-E7DDD0-FEF4E7-FEFAF1-FFFFFF-D8E9E3-719892-07463D-0A433D-083030-041616-000000-85DBB8-F2F52E-CD3737 */ + .paratext-light { + --background: 0, 0%, 100%; + --foreground: 0, 0%, 0%; + --muted: 33.9, 32.4%, 86.1%; + --muted-foreground: 15.5, 13.2%, 53.9%; + --popover: 0, 0%, 100%; + --popover-foreground: 0, 0%, 0%; + --card: 0 0% 100%; + --card-foreground: 0, 0%, 0%; + --border: 220 13% 91%; + --input: 161.3, 26.7%, 88.2%; + --primary: 173.4, 82.1%, 15.3%; + --primary-foreground: 40, 85.7%, 97.3%; + --secondary: 161.3, 26.7%, 88.2%; + --secondary-foreground: 173.4, 82.1%, 15.3%; + --accent: 161.3, 26.7%, 88.2%; + --accent-foreground: 173.4, 82.1%, 15.3%; + --destructive: 0, 60%, 51%; + --destructive-foreground: 210 20% 98%; + --ring: 13.5, 13.2%, 53.9%; + + /* work around for hsl(var(--xx) / 0.y) not working */ + /* stylelint-disable selector-class-pattern */ + .hover\\:pr-bg-primary\\/90:hover { + background-color: hsl(173, 82%, 15%, 0.9); + } + + .hover\\:pr-bg-secondary\\/80:hover { + background-color: hsl(161, 26%, 88%, 0.8); + } + + .hover\\:pr-bg-destructive\\/90:hover { + background-color: hsl(0, 60%, 51%, 0.9); + } + + .pr-bg-muted\\/50, + .hover\\:pr-bg-muted\\/50:hover { + background-color: hsl(33.9, 32.4%, 86.1%, 0.5); + } + } + + .paratext-dark { + --background: 0, 0%, 0%; + --foreground: 0, 0%, 100%; + --muted: 15.5, 13.2%, 53.9%; + --muted-foreground: 33.9, 32.4%, 86.1%; + --popover: 180, 71.4%, 5%; + --popover-foreground: 0, 0%, 100%; + --card: 0 0% 100%; + --card-foreground: 224 71.4% 4.1%; + --border: 220 13% 91%; + --input: 161.3, 26.7%, 88.2%; + --primary: 161.3, 26.7%, 88.2%; + --primary-foreground: 173.4, 82.1%, 15.3%; + --secondary: 180, 71.4%, 11%; + --secondary-foreground: 161.3, 26.7%, 88.2%; + --accent: 180, 71.4%, 11%; + --accent-foreground: 161.3, 26.7%, 88.2%; + --destructive: 0, 60%, 51%; + --destructive-foreground: 210 20% 98%; + --ring: 13.5, 13.2%, 53.9%; + + /* work around for hsl(var(--xx) / 0.y) not working */ + .hover\\:pr-bg-primary\\/90:hover { + background-color: hsl(161.3, 26.7%, 88.2%, 0.9); + } + + .hover\\:pr-bg-secondary\\/80:hover { + background-color: hsl(180, 71.4%, 11%, 0.8); + } + + .hover\\:pr-bg-destructive\\/90:hover { + background-color: hsl(0, 60%, 51%, 0.9); + } + + .pr-bg-muted\\/50, + .hover\\:pr-bg-muted\\/50:hover { + background-color: hsl(15.5, 13.2%, 53.9%, 0.5); + } + } * { border-color: hsl(var(--border)); } @@ -750,6 +984,9 @@ video:where(.pr-twp,.pr-twp *) { white-space: nowrap; border-width: 0; } +.pr-pointer-events-none { + pointer-events: none; +} .pr-fixed { position: fixed; } @@ -796,6 +1033,9 @@ video:where(.pr-twp,.pr-twp *) { margin-top: 1rem; margin-bottom: 1rem; } +.pr-mb-1 { + margin-bottom: 0.25rem; +} .pr-mb-2 { margin-bottom: 0.5rem; } @@ -820,6 +1060,9 @@ video:where(.pr-twp,.pr-twp *) { .pr-box-border { box-sizing: border-box; } +.pr-block { + display: block; +} .pr-inline-block { display: inline-block; } @@ -856,6 +1099,12 @@ video:where(.pr-twp,.pr-twp *) { .pr-h-4 { height: 1rem; } +.pr-h-5 { + height: 1.25rem; +} +.pr-h-6 { + height: 1.5rem; +} .pr-h-8 { height: 2rem; } @@ -865,12 +1114,18 @@ video:where(.pr-twp,.pr-twp *) { .pr-h-\\[1\\.2rem\\] { height: 1.2rem; } +.pr-h-full { + height: 100%; +} .pr-h-px { height: 1px; } .pr-w-10 { width: 2.5rem; } +.pr-w-11 { + width: 2.75rem; +} .pr-w-2 { width: 0.5rem; } @@ -883,6 +1138,9 @@ video:where(.pr-twp,.pr-twp *) { .pr-w-4 { width: 1rem; } +.pr-w-5 { + width: 1.25rem; +} .pr-w-\\[1\\.2rem\\] { width: 1.2rem; } @@ -898,6 +1156,9 @@ video:where(.pr-twp,.pr-twp *) { .pr-min-w-\\[8rem\\] { min-width: 8rem; } +.pr-shrink-0 { + flex-shrink: 0; +} .pr-flex-grow { flex-grow: 1; } @@ -938,12 +1199,18 @@ video:where(.pr-twp,.pr-twp *) { .pr-cursor-pointer { cursor: pointer; } +.pr-touch-none { + touch-action: none; +} .pr-select-none { user-select: none; } .pr-flex-row { flex-direction: row; } +.pr-flex-col { + flex-direction: column; +} .pr-flex-wrap { flex-wrap: wrap; } @@ -985,6 +1252,16 @@ video:where(.pr-twp,.pr-twp *) { margin-right: calc(0.5rem * var(--tw-space-x-reverse)); margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse))); } +.pr-space-y-1 > :not([hidden]) ~ :not([hidden]) { + --tw-space-y-reverse: 0; + margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(0.25rem * var(--tw-space-y-reverse)); +} +.pr-space-y-1\\.5 > :not([hidden]) ~ :not([hidden]) { + --tw-space-y-reverse: 0; + margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(0.375rem * var(--tw-space-y-reverse)); +} .pr-self-stretch { align-self: stretch; } @@ -1003,6 +1280,9 @@ video:where(.pr-twp,.pr-twp *) { .pr-break-words { overflow-wrap: break-word; } +.pr-rounded-full { + border-radius: 9999px; +} .pr-rounded-lg { border-radius: var(--radius); } @@ -1046,12 +1326,18 @@ video:where(.pr-twp,.pr-twp *) { --tw-border-opacity: 1; border-color: rgb(0 0 0 / var(--tw-border-opacity)); } +.pr-border-destructive\\/50 { + border-color: hsl(var(--destructive) / 0.5); +} .pr-border-input { border-color: hsl(var(--input)); } .pr-border-muted { border-color: hsl(var(--muted)); } +.pr-border-primary { + border-color: hsl(var(--primary)); +} .pr-border-red-600 { --tw-border-opacity: 1; border-color: rgb(220 38 38 / var(--tw-border-opacity)); @@ -1086,6 +1372,9 @@ video:where(.pr-twp,.pr-twp *) { .pr-bg-background { background-color: hsl(var(--background)); } +.pr-bg-card { + background-color: hsl(var(--card)); +} .pr-bg-destructive { background-color: hsl(var(--destructive)); } @@ -1120,6 +1409,9 @@ video:where(.pr-twp,.pr-twp *) { .pr-p-4 { padding: 1rem; } +.pr-p-6 { + padding: 1.5rem; +} .pr-px-2 { padding-left: 0.5rem; padding-right: 0.5rem; @@ -1163,6 +1455,9 @@ video:where(.pr-twp,.pr-twp *) { .pr-pr-3 { padding-right: 0.75rem; } +.pr-pt-0 { + padding-top: 0px; +} .pr-pt-4 { padding-top: 1rem; } @@ -1175,6 +1470,10 @@ video:where(.pr-twp,.pr-twp *) { .pr-font-sans { font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; } +.pr-text-2xl { + font-size: 1.5rem; + line-height: 2rem; +} .pr-text-5xl { font-size: 3rem; line-height: 1; @@ -1205,6 +1504,9 @@ video:where(.pr-twp,.pr-twp *) { .pr-leading-none { line-height: 1; } +.pr-tracking-tight { + letter-spacing: -0.025em; +} .pr-tracking-widest { letter-spacing: 0.1em; } @@ -1220,6 +1522,12 @@ video:where(.pr-twp,.pr-twp *) { --tw-text-opacity: 1; color: rgb(37 99 235 / var(--tw-text-opacity)); } +.pr-text-card-foreground { + color: hsl(var(--card-foreground)); +} +.pr-text-destructive { + color: hsl(var(--destructive)); +} .pr-text-destructive-foreground { color: hsl(var(--destructive-foreground)); } @@ -1288,10 +1596,20 @@ video:where(.pr-twp,.pr-twp *) { --tw-shadow-colored: 0 0 #0000; box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); } +.pr-shadow-sm { + --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); + --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} .pr-outline-none { outline: 2px solid transparent; outline-offset: 2px; } +.pr-ring-0 { + --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color); + box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); +} .pr-ring-offset-background { --tw-ring-offset-color: hsl(var(--background)); } @@ -1305,6 +1623,11 @@ video:where(.pr-twp,.pr-twp *) { transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; } +.pr-transition-transform { + transition-property: transform; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} @keyframes enter { from { @@ -1384,6 +1707,9 @@ video:where(.pr-twp,.pr-twp *) { .focus-visible\\:pr-ring-offset-2:focus-visible { --tw-ring-offset-width: 2px; } +.focus-visible\\:pr-ring-offset-background:focus-visible { + --tw-ring-offset-color: hsl(var(--background)); +} .disabled\\:pr-pointer-events-none:disabled { pointer-events: none; } @@ -1402,6 +1728,14 @@ video:where(.pr-twp,.pr-twp *) { .data-\\[disabled\\]\\:pr-pointer-events-none[data-disabled] { pointer-events: none; } +.data-\\[state\\=checked\\]\\:pr-translate-x-5[data-state=checked] { + --tw-translate-x: 1.25rem; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.data-\\[state\\=unchecked\\]\\:pr-translate-x-0[data-state=unchecked] { + --tw-translate-x: 0px; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} .data-\\[highlighted\\]\\:pr-bg-amber-100[data-highlighted] { --tw-bg-opacity: 1; background-color: rgb(254 243 199 / var(--tw-bg-opacity)); @@ -1409,12 +1743,18 @@ video:where(.pr-twp,.pr-twp *) { .data-\\[state\\=active\\]\\:pr-bg-background[data-state=active] { background-color: hsl(var(--background)); } +.data-\\[state\\=checked\\]\\:pr-bg-primary[data-state=checked] { + background-color: hsl(var(--primary)); +} .data-\\[state\\=open\\]\\:pr-bg-accent[data-state=open] { background-color: hsl(var(--accent)); } .data-\\[state\\=selected\\]\\:pr-bg-muted[data-state=selected] { background-color: hsl(var(--muted)); } +.data-\\[state\\=unchecked\\]\\:pr-bg-input[data-state=unchecked] { + background-color: hsl(var(--input)); +} .data-\\[state\\=active\\]\\:pr-text-foreground[data-state=active] { color: hsl(var(--foreground)); } @@ -1491,78 +1831,55 @@ video:where(.pr-twp,.pr-twp *) { --tw-scale-y: 1; transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); } + + .dark\\:pr-border-destructive { + border-color: hsl(var(--destructive)); + } } .\\[\\&\\:has\\(\\[role\\=checkbox\\]\\)\\]\\:pr-pr-0:has([role=checkbox]) { padding-right: 0px; } -.\\[\\&\\>tr\\]\\:last\\:pr-border-b-0:last-child>tr { - border-bottom-width: 0px; -} -.\\[\\&_tr\\:last-child\\]\\:pr-border-0 tr:last-child { - border-width: 0px; +.\\[\\&\\>svg\\+div\\]\\:pr-translate-y-\\[-3px\\]>svg+div { + --tw-translate-y: -3px; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); } -.\\[\\&_tr\\]\\:pr-border-b tr { - border-bottom-width: 1px; +.\\[\\&\\>svg\\]\\:pr-absolute>svg { + position: absolute; } -.papi-multi-column-menu { - background-color: rgb(222, 222, 222); - display: flex; - flex-direction: column; - padding-left: 3px; - padding-right: 3px; +.\\[\\&\\>svg\\]\\:pr-left-4>svg { + left: 1rem; } - -.papi-menu-column { - font-size: 11pt; - font-weight: 600; - padding-bottom: 2px; +.\\[\\&\\>svg\\]\\:pr-top-4>svg { + top: 1rem; } - -.papi-menu-column ul { - padding-top: 0; +.\\[\\&\\>svg\\]\\:pr-text-destructive>svg { + color: hsl(var(--destructive)); } - -.papi-menu-column-header { - background-color: rgb(181, 181, 181); - padding-left: 24px; - margin-top: 0; - margin-bottom: 0; +.\\[\\&\\>svg\\]\\:pr-text-foreground>svg { + color: hsl(var(--foreground)); } - -.papi-multi-column-menu.paratext { - background-color: rgb(76, 106, 76); - color: rgb(214, 255, 152); +.\\[\\&\\>svg\\~\\*\\]\\:pr-pl-7>svg~* { + padding-left: 1.75rem; } - -.papi-multi-column-menu.paratext.bright { - color: rgb(76, 106, 76); - background-color: rgb(214, 255, 152); +.\\[\\&\\>tr\\]\\:last\\:pr-border-b-0:last-child>tr { + border-bottom-width: 0px; } -.papi-icon-button { - border: 0; - border-radius: 3em; - cursor: pointer; - display: inline-block; +.\\[\\&_p\\]\\:pr-leading-relaxed p { + line-height: 1.625; } - -.papi-icon-button.primary { - background-color: #1ea7fd; - color: white; +.\\[\\&_tr\\:last-child\\]\\:pr-border-0 tr:last-child { + border-width: 0px; } - -.papi-icon-button.secondary { - background-color: transparent; - color: #333; +.\\[\\&_tr\\]\\:pr-border-b tr { + border-bottom-width: 1px; } - -.papi-icon-button.paratext { - background-color: darkgreen; - color: greenyellow; +.papi-ref-selector.book { + display: inline-block; + vertical-align: middle; } -.papi-icon-button.paratext.bright { - background-color: greenyellow; - color: darkgreen; +.papi-ref-selector.chapter-verse { + width: 75px; } .search-bar-paper { display: flex; @@ -1572,113 +1889,13 @@ video:where(.pr-twp,.pr-twp *) { .search-button { padding: 10px; } -.papi-menu-item { - background-color: transparent; -} - -.papi-menu-icon-trailing { - margin-left: 10px; - place-content: flex-end; -} - -.papi-menu-item img { - max-width: 24px; - max-height: 24px; -} -.papi-slider { - background-color: transparent; - color: #1ea7fd; -} - -.papi-slider.vertical { - min-height: 200px; -} - -.papi-slider.paratext { - background-color: darkgreen; - color: greenyellow; -} - -.papi-slider.paratext.bright { - background-color: greenyellow; - color: darkgreen; -} -.papi-ref-selector.book { - display: inline-block; +.check-item { + flex-wrap: wrap; vertical-align: middle; } -.papi-ref-selector.chapter-verse { - width: 75px; -} -.papi-table.paratext { - background-color: darkgreen; - color: greenyellow; -} - -.papi-table.paratext.bright { - color: darkgreen; - background-color: greenyellow; -} -.papi-snackbar { - font-family: Arial, Helvetica, sans-serif; -} - -.papi-snackbar.primary { - background: #1ea7fd; - color: white; -} - -.papi-snackbar.external { - background-color: lightsteelblue; - border-color: white; - border-style: dotted; - padding: 2%; - width: 30%; -} - -.papi-snackbar.secondary { - background: transparent; - color: #333; -} - -.papi-snackbar.alert { - background: lightcoral; -} - -.papi-snackbar.paratext { - background: darkgreen; - color: greenyellow; -} - -.papi-snackbar.bright { - background: greenyellow; - color: darkgreen; -} -.papi-switch { - background-color: transparent; -} - -.papi-switch.primary { - background-color: #1ea7fd; -} - -.papi-switch.secondary { - background-color: #6fc8ff; -} - -.papi-switch.error { - background-color: #f00; -} - -.papi-switch.paratext { - background-color: darkgreen; - color: greenyellow; -} - -.papi-switch.paratext.bright { - background-color: greenyellow; - color: darkgreen; +.papi-checkbox { + display: block; } .papi-toolbar { background-color: #eee; diff --git a/lib/platform-bible-react/dist/index.cjs.map b/lib/platform-bible-react/dist/index.cjs.map index 7a37b2772f..eb8225bfdb 100644 --- a/lib/platform-bible-react/dist/index.cjs.map +++ b/lib/platform-bible-react/dist/index.cjs.map @@ -1 +1 @@ -{"version":3,"file":"index.cjs","sources":["../../../node_modules/@sillsdev/scripture/dist/index.es.js","../src/utils/shadcn-ui.util.ts","../src/components/shadcn-ui/dropdown-menu.tsx","../src/components/shadcn-ui/input.tsx","../src/components/book-chapter-control/book-chapter-input.component.tsx","../src/components/book-chapter-control/chapter-select.component.tsx","../src/components/book-chapter-control/book-menu-item.component.tsx","../src/components/book-chapter-control/go-to-menu-item.component.tsx","../src/components/book-chapter-control/book-chapter-control.component.tsx","../src/components/shadcn-ui/button.tsx","../src/components/combo-box.component.tsx","../src/components/chapter-range-selector.component.tsx","../src/components/label-position.model.ts","../src/components/checkbox.component.tsx","../src/components/checklist.component.tsx","../../../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../../../node_modules/@babel/runtime/helpers/esm/extends.js","../../../node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js","../../../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js","../../../node_modules/prop-types/node_modules/react-is/index.js","../../../node_modules/object-assign/index.js","../../../node_modules/prop-types/lib/ReactPropTypesSecret.js","../../../node_modules/prop-types/lib/has.js","../../../node_modules/prop-types/checkPropTypes.js","../../../node_modules/prop-types/factoryWithTypeCheckers.js","../../../node_modules/prop-types/factoryWithThrowingShims.js","../../../node_modules/prop-types/index.js","../../../node_modules/@mui/utils/chainPropTypes/chainPropTypes.js","../../../node_modules/@mui/utils/deepmerge/deepmerge.js","../../../node_modules/@mui/utils/elementAcceptingRef/elementAcceptingRef.js","../../../node_modules/@mui/utils/elementTypeAcceptingRef/elementTypeAcceptingRef.js","../../../node_modules/@mui/utils/exactProp/exactProp.js","../../../node_modules/@mui/utils/formatMuiErrorMessage/formatMuiErrorMessage.js","../../../node_modules/react-is/cjs/react-is.production.min.js","../../../node_modules/react-is/cjs/react-is.development.js","../../../node_modules/react-is/index.js","../../../node_modules/@mui/utils/getDisplayName/getDisplayName.js","../../../node_modules/@mui/utils/HTMLElementType/HTMLElementType.js","../../../node_modules/@mui/utils/refType/refType.js","../../../node_modules/@mui/utils/capitalize/capitalize.js","../../../node_modules/@mui/utils/createChainedFunction/createChainedFunction.js","../../../node_modules/@mui/utils/debounce/debounce.js","../../../node_modules/@mui/utils/deprecatedPropType/deprecatedPropType.js","../../../node_modules/@mui/utils/isMuiElement/isMuiElement.js","../../../node_modules/@mui/utils/ownerDocument/ownerDocument.js","../../../node_modules/@mui/utils/ownerWindow/ownerWindow.js","../../../node_modules/@mui/utils/requirePropFactory/requirePropFactory.js","../../../node_modules/@mui/utils/setRef/setRef.js","../../../node_modules/@mui/utils/useEnhancedEffect/useEnhancedEffect.js","../../../node_modules/@mui/utils/useId/useId.js","../../../node_modules/@mui/utils/unsupportedProp/unsupportedProp.js","../../../node_modules/@mui/utils/useControlled/useControlled.js","../../../node_modules/@mui/utils/useEventCallback/useEventCallback.js","../../../node_modules/@mui/utils/useForkRef/useForkRef.js","../../../node_modules/@mui/utils/useLazyRef/useLazyRef.js","../../../node_modules/@mui/utils/useOnMount/useOnMount.js","../../../node_modules/@mui/utils/useTimeout/useTimeout.js","../../../node_modules/@mui/utils/useIsFocusVisible/useIsFocusVisible.js","../../../node_modules/@mui/utils/getScrollbarSize/getScrollbarSize.js","../../../node_modules/@mui/utils/integerPropType/integerPropType.js","../../../node_modules/@mui/utils/resolveProps/resolveProps.js","../../../node_modules/@mui/utils/composeClasses/composeClasses.js","../../../node_modules/@mui/utils/ClassNameGenerator/ClassNameGenerator.js","../../../node_modules/@mui/utils/generateUtilityClass/generateUtilityClass.js","../../../node_modules/@mui/utils/generateUtilityClasses/generateUtilityClasses.js","../../../node_modules/@mui/utils/clamp/clamp.js","../../../node_modules/@mui/base/utils/isHostComponent.js","../../../node_modules/@mui/base/utils/appendOwnerState.js","../../../node_modules/@mui/base/utils/ClassNameConfigurator.js","../../../node_modules/@mui/base/utils/extractEventHandlers.js","../../../node_modules/@mui/base/utils/resolveComponentProps.js","../../../node_modules/@mui/base/utils/omitEventHandlers.js","../../../node_modules/@mui/base/utils/mergeSlotProps.js","../../../node_modules/@mui/base/utils/useSlotProps.js","../../../node_modules/@mui/base/generateUtilityClass/index.js","../../../node_modules/@mui/base/generateUtilityClasses/index.js","../../../node_modules/@mui/base/FocusTrap/FocusTrap.js","../../../node_modules/@mui/base/Portal/Portal.js","../../../node_modules/@mui/base/unstable_useModal/ModalManager.js","../../../node_modules/@mui/base/unstable_useModal/useModal.js","../../../node_modules/@popperjs/core/lib/enums.js","../../../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../../../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../../../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../../../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../../../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../../../node_modules/@popperjs/core/lib/utils/math.js","../../../node_modules/@popperjs/core/lib/utils/userAgent.js","../../../node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","../../../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../../../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../../../node_modules/@popperjs/core/lib/dom-utils/contains.js","../../../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../../../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../../../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../../../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../../../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../../../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../../../node_modules/@popperjs/core/lib/utils/within.js","../../../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../../../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../../../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../../../node_modules/@popperjs/core/lib/modifiers/arrow.js","../../../node_modules/@popperjs/core/lib/utils/getVariation.js","../../../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../../../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../../../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../../../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../../../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../../../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../../../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../../../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../../../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../../../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../../../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../../../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../../../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../../../node_modules/@popperjs/core/lib/utils/computeOffsets.js","../../../node_modules/@popperjs/core/lib/utils/detectOverflow.js","../../../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../../../node_modules/@popperjs/core/lib/modifiers/flip.js","../../../node_modules/@popperjs/core/lib/modifiers/hide.js","../../../node_modules/@popperjs/core/lib/modifiers/offset.js","../../../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../../../node_modules/@popperjs/core/lib/utils/getAltAxis.js","../../../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../../../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../../../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../../../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../../../node_modules/@popperjs/core/lib/utils/orderModifiers.js","../../../node_modules/@popperjs/core/lib/utils/debounce.js","../../../node_modules/@popperjs/core/lib/utils/mergeByName.js","../../../node_modules/@popperjs/core/lib/createPopper.js","../../../node_modules/@popperjs/core/lib/popper.js","../../../node_modules/@mui/base/Popper/popperClasses.js","../../../node_modules/@mui/base/Popper/Popper.js","../../../node_modules/@mui/system/esm/createTheme/createBreakpoints.js","../../../node_modules/@mui/system/esm/createTheme/shape.js","../../../node_modules/@mui/system/esm/responsivePropType.js","../../../node_modules/@mui/system/esm/merge.js","../../../node_modules/@mui/system/esm/breakpoints.js","../../../node_modules/@mui/system/esm/style.js","../../../node_modules/@mui/system/esm/memoize.js","../../../node_modules/@mui/system/esm/spacing.js","../../../node_modules/@mui/system/esm/createTheme/createSpacing.js","../../../node_modules/@mui/system/esm/compose.js","../../../node_modules/@mui/system/esm/borders.js","../../../node_modules/@mui/system/esm/cssGrid.js","../../../node_modules/@mui/system/esm/palette.js","../../../node_modules/@mui/system/esm/sizing.js","../../../node_modules/@mui/system/esm/styleFunctionSx/defaultSxConfig.js","../../../node_modules/@mui/system/esm/styleFunctionSx/styleFunctionSx.js","../../../node_modules/@mui/system/esm/createTheme/applyStyles.js","../../../node_modules/@mui/system/esm/createTheme/createTheme.js","../../../node_modules/@mui/system/esm/useThemeWithoutDefault.js","../../../node_modules/@mui/system/esm/useTheme.js","../../../node_modules/@mui/system/esm/createStyled.js","../../../node_modules/@mui/system/esm/useThemeProps/getThemeProps.js","../../../node_modules/@mui/system/esm/useThemeProps/useThemeProps.js","../../../node_modules/@mui/system/esm/colorManipulator.js","../../../node_modules/@mui/material/styles/createMixins.js","../../../node_modules/@mui/material/colors/common.js","../../../node_modules/@mui/material/colors/grey.js","../../../node_modules/@mui/material/colors/purple.js","../../../node_modules/@mui/material/colors/red.js","../../../node_modules/@mui/material/colors/orange.js","../../../node_modules/@mui/material/colors/blue.js","../../../node_modules/@mui/material/colors/lightBlue.js","../../../node_modules/@mui/material/colors/green.js","../../../node_modules/@mui/material/styles/createPalette.js","../../../node_modules/@mui/material/styles/createTypography.js","../../../node_modules/@mui/material/styles/shadows.js","../../../node_modules/@mui/material/styles/createTransitions.js","../../../node_modules/@mui/material/styles/zIndex.js","../../../node_modules/@mui/material/styles/createTheme.js","../../../node_modules/@mui/material/styles/defaultTheme.js","../../../node_modules/@mui/material/styles/identifier.js","../../../node_modules/@mui/material/styles/styled.js","../../../node_modules/@mui/material/styles/useTheme.js","../../../node_modules/@mui/material/styles/useThemeProps.js","../../../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../../../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../../../node_modules/react-transition-group/esm/config.js","../../../node_modules/react-transition-group/esm/utils/PropTypes.js","../../../node_modules/react-transition-group/esm/TransitionGroupContext.js","../../../node_modules/react-transition-group/esm/utils/reflow.js","../../../node_modules/react-transition-group/esm/Transition.js","../../../node_modules/@mui/material/transitions/utils.js","../../../node_modules/@mui/material/Grow/Grow.js","../../../node_modules/@mui/material/styles/getOverlayAlpha.js","../../../node_modules/@mui/material/Popper/Popper.js","../../../node_modules/@mui/material/Tooltip/tooltipClasses.js","../../../node_modules/@mui/material/Tooltip/Tooltip.js","../../../node_modules/@babel/runtime/helpers/interopRequireDefault.js","../../../node_modules/@mui/material/SvgIcon/svgIconClasses.js","../../../node_modules/@mui/material/SvgIcon/SvgIcon.js","../../../node_modules/@mui/material/utils/createSvgIcon.js","../../../node_modules/@mui/material/utils/index.js","../../../node_modules/@mui/icons-material/utils/createSvgIcon.js","../../../node_modules/@mui/icons-material/ArrowRight.js","../src/components/menu-item.component.tsx","../src/components/grouped-menu-item-list.component.tsx","../src/components/top-level-menu.component.tsx","../src/components/grid-menu.component.tsx","../../../node_modules/@mui/material/List/ListContext.js","../../../node_modules/@mui/material/List/listClasses.js","../../../node_modules/@mui/material/List/List.js","../../../node_modules/@mui/material/MenuList/MenuList.js","../../../node_modules/@mui/material/Fade/Fade.js","../../../node_modules/@mui/material/Backdrop/backdropClasses.js","../../../node_modules/@mui/material/Backdrop/Backdrop.js","../../../node_modules/@mui/material/Modal/modalClasses.js","../../../node_modules/@mui/material/Modal/Modal.js","../../../node_modules/@mui/material/Paper/paperClasses.js","../../../node_modules/@mui/material/Paper/Paper.js","../../../node_modules/@mui/material/Popover/popoverClasses.js","../../../node_modules/@mui/material/Popover/Popover.js","../../../node_modules/@mui/material/Menu/menuClasses.js","../../../node_modules/@mui/material/Menu/Menu.js","../src/components/context-menu.component.tsx","../../../node_modules/@mui/icons-material/esm/Menu.js","../src/hooks/use-promise.hook.ts","../src/components/hamburger-menu-button.component.tsx","../src/components/icon-button.component.tsx","../src/components/shadcn-ui/label.tsx","../src/components/text-field.component.tsx","../src/components/ref-selector.component.tsx","../src/components/search-bar.component.tsx","../src/components/slider.component.tsx","../src/components/snackbar.component.tsx","../src/components/switch.component.tsx","../src/components/table.component.tsx","../src/components/toolbar.component.tsx","../src/hooks/use-event.hook.ts","../src/hooks/use-event-async.hook.ts","../src/components/shadcn-ui/tabs.tsx","../src/components/shadcn-ui/tabs-vertical.tsx"],"sourcesContent":["var P = Object.defineProperty;\nvar R = (t, e, s) => e in t ? P(t, e, { enumerable: !0, configurable: !0, writable: !0, value: s }) : t[e] = s;\nvar n = (t, e, s) => (R(t, typeof e != \"symbol\" ? e + \"\" : e, s), s);\nclass z {\n constructor() {\n n(this, \"books\");\n n(this, \"firstSelectedBookNum\");\n n(this, \"lastSelectedBookNum\");\n n(this, \"count\");\n n(this, \"selectedBookNumbers\");\n n(this, \"selectedBookIds\");\n }\n}\nconst m = [\n \"GEN\",\n \"EXO\",\n \"LEV\",\n \"NUM\",\n \"DEU\",\n \"JOS\",\n \"JDG\",\n \"RUT\",\n \"1SA\",\n \"2SA\",\n // 10\n \"1KI\",\n \"2KI\",\n \"1CH\",\n \"2CH\",\n \"EZR\",\n \"NEH\",\n \"EST\",\n \"JOB\",\n \"PSA\",\n \"PRO\",\n // 20\n \"ECC\",\n \"SNG\",\n \"ISA\",\n \"JER\",\n \"LAM\",\n \"EZK\",\n \"DAN\",\n \"HOS\",\n \"JOL\",\n \"AMO\",\n // 30\n \"OBA\",\n \"JON\",\n \"MIC\",\n \"NAM\",\n \"HAB\",\n \"ZEP\",\n \"HAG\",\n \"ZEC\",\n \"MAL\",\n \"MAT\",\n // 40\n \"MRK\",\n \"LUK\",\n \"JHN\",\n \"ACT\",\n \"ROM\",\n \"1CO\",\n \"2CO\",\n \"GAL\",\n \"EPH\",\n \"PHP\",\n // 50\n \"COL\",\n \"1TH\",\n \"2TH\",\n \"1TI\",\n \"2TI\",\n \"TIT\",\n \"PHM\",\n \"HEB\",\n \"JAS\",\n \"1PE\",\n // 60\n \"2PE\",\n \"1JN\",\n \"2JN\",\n \"3JN\",\n \"JUD\",\n \"REV\",\n \"TOB\",\n \"JDT\",\n \"ESG\",\n \"WIS\",\n // 70\n \"SIR\",\n \"BAR\",\n \"LJE\",\n \"S3Y\",\n \"SUS\",\n \"BEL\",\n \"1MA\",\n \"2MA\",\n \"3MA\",\n \"4MA\",\n // 80\n \"1ES\",\n \"2ES\",\n \"MAN\",\n \"PS2\",\n \"ODA\",\n \"PSS\",\n \"JSA\",\n // actual variant text for JOS, now in LXA text\n \"JDB\",\n // actual variant text for JDG, now in LXA text\n \"TBS\",\n // actual variant text for TOB, now in LXA text\n \"SST\",\n // actual variant text for SUS, now in LXA text // 90\n \"DNT\",\n // actual variant text for DAN, now in LXA text\n \"BLT\",\n // actual variant text for BEL, now in LXA text\n \"XXA\",\n \"XXB\",\n \"XXC\",\n \"XXD\",\n \"XXE\",\n \"XXF\",\n \"XXG\",\n \"FRT\",\n // 100\n \"BAK\",\n \"OTH\",\n \"3ES\",\n // Used previously but really should be 2ES\n \"EZA\",\n // Used to be called 4ES, but not actually in any known project\n \"5EZ\",\n // Used to be called 5ES, but not actually in any known project\n \"6EZ\",\n // Used to be called 6ES, but not actually in any known project\n \"INT\",\n \"CNC\",\n \"GLO\",\n \"TDX\",\n // 110\n \"NDX\",\n \"DAG\",\n \"PS3\",\n \"2BA\",\n \"LBA\",\n \"JUB\",\n \"ENO\",\n \"1MQ\",\n \"2MQ\",\n \"3MQ\",\n // 120\n \"REP\",\n \"4BA\",\n \"LAO\"\n], v = [\n \"XXA\",\n \"XXB\",\n \"XXC\",\n \"XXD\",\n \"XXE\",\n \"XXF\",\n \"XXG\",\n \"FRT\",\n \"BAK\",\n \"OTH\",\n \"INT\",\n \"CNC\",\n \"GLO\",\n \"TDX\",\n \"NDX\"\n], X = [\n \"Genesis\",\n \"Exodus\",\n \"Leviticus\",\n \"Numbers\",\n \"Deuteronomy\",\n \"Joshua\",\n \"Judges\",\n \"Ruth\",\n \"1 Samuel\",\n \"2 Samuel\",\n \"1 Kings\",\n \"2 Kings\",\n \"1 Chronicles\",\n \"2 Chronicles\",\n \"Ezra\",\n \"Nehemiah\",\n \"Esther (Hebrew)\",\n \"Job\",\n \"Psalms\",\n \"Proverbs\",\n \"Ecclesiastes\",\n \"Song of Songs\",\n \"Isaiah\",\n \"Jeremiah\",\n \"Lamentations\",\n \"Ezekiel\",\n \"Daniel (Hebrew)\",\n \"Hosea\",\n \"Joel\",\n \"Amos\",\n \"Obadiah\",\n \"Jonah\",\n \"Micah\",\n \"Nahum\",\n \"Habakkuk\",\n \"Zephaniah\",\n \"Haggai\",\n \"Zechariah\",\n \"Malachi\",\n \"Matthew\",\n \"Mark\",\n \"Luke\",\n \"John\",\n \"Acts\",\n \"Romans\",\n \"1 Corinthians\",\n \"2 Corinthians\",\n \"Galatians\",\n \"Ephesians\",\n \"Philippians\",\n \"Colossians\",\n \"1 Thessalonians\",\n \"2 Thessalonians\",\n \"1 Timothy\",\n \"2 Timothy\",\n \"Titus\",\n \"Philemon\",\n \"Hebrews\",\n \"James\",\n \"1 Peter\",\n \"2 Peter\",\n \"1 John\",\n \"2 John\",\n \"3 John\",\n \"Jude\",\n \"Revelation\",\n \"Tobit\",\n \"Judith\",\n \"Esther Greek\",\n \"Wisdom of Solomon\",\n \"Sirach (Ecclesiasticus)\",\n \"Baruch\",\n \"Letter of Jeremiah\",\n \"Song of 3 Young Men\",\n \"Susanna\",\n \"Bel and the Dragon\",\n \"1 Maccabees\",\n \"2 Maccabees\",\n \"3 Maccabees\",\n \"4 Maccabees\",\n \"1 Esdras (Greek)\",\n \"2 Esdras (Latin)\",\n \"Prayer of Manasseh\",\n \"Psalm 151\",\n \"Odes\",\n \"Psalms of Solomon\",\n // WARNING, if you change the spelling of the *obsolete* tag be sure to update\n // IsObsolete routine\n \"Joshua A. *obsolete*\",\n \"Judges B. *obsolete*\",\n \"Tobit S. *obsolete*\",\n \"Susanna Th. *obsolete*\",\n \"Daniel Th. *obsolete*\",\n \"Bel Th. *obsolete*\",\n \"Extra A\",\n \"Extra B\",\n \"Extra C\",\n \"Extra D\",\n \"Extra E\",\n \"Extra F\",\n \"Extra G\",\n \"Front Matter\",\n \"Back Matter\",\n \"Other Matter\",\n \"3 Ezra *obsolete*\",\n \"Apocalypse of Ezra\",\n \"5 Ezra (Latin Prologue)\",\n \"6 Ezra (Latin Epilogue)\",\n \"Introduction\",\n \"Concordance \",\n \"Glossary \",\n \"Topical Index\",\n \"Names Index\",\n \"Daniel Greek\",\n \"Psalms 152-155\",\n \"2 Baruch (Apocalypse)\",\n \"Letter of Baruch\",\n \"Jubilees\",\n \"Enoch\",\n \"1 Meqabyan\",\n \"2 Meqabyan\",\n \"3 Meqabyan\",\n \"Reproof (Proverbs 25-31)\",\n \"4 Baruch (Rest of Baruch)\",\n \"Laodiceans\"\n], C = K();\nfunction N(t, e = !0) {\n return e && (t = t.toUpperCase()), t in C ? C[t] : 0;\n}\nfunction B(t) {\n return N(t) > 0;\n}\nfunction x(t) {\n const e = typeof t == \"string\" ? N(t) : t;\n return e >= 40 && e <= 66;\n}\nfunction T(t) {\n return (typeof t == \"string\" ? N(t) : t) <= 39;\n}\nfunction O(t) {\n return t <= 66;\n}\nfunction V(t) {\n const e = typeof t == \"string\" ? N(t) : t;\n return I(e) && !O(e);\n}\nfunction* L() {\n for (let t = 1; t <= m.length; t++)\n yield t;\n}\nconst G = 1, S = m.length;\nfunction H() {\n return [\"XXA\", \"XXB\", \"XXC\", \"XXD\", \"XXE\", \"XXF\", \"XXG\"];\n}\nfunction k(t, e = \"***\") {\n const s = t - 1;\n return s < 0 || s >= m.length ? e : m[s];\n}\nfunction A(t) {\n return t <= 0 || t > S ? \"******\" : X[t - 1];\n}\nfunction y(t) {\n return A(N(t));\n}\nfunction I(t) {\n const e = typeof t == \"number\" ? k(t) : t;\n return B(e) && !v.includes(e);\n}\nfunction q(t) {\n const e = typeof t == \"number\" ? k(t) : t;\n return B(e) && v.includes(e);\n}\nfunction U(t) {\n return X[t - 1].includes(\"*obsolete*\");\n}\nfunction K() {\n const t = {};\n for (let e = 0; e < m.length; e++)\n t[m[e]] = e + 1;\n return t;\n}\nconst f = {\n allBookIds: m,\n nonCanonicalIds: v,\n bookIdToNumber: N,\n isBookIdValid: B,\n isBookNT: x,\n isBookOT: T,\n isBookOTNT: O,\n isBookDC: V,\n allBookNumbers: L,\n firstBook: G,\n lastBook: S,\n extraBooks: H,\n bookNumberToId: k,\n bookNumberToEnglishName: A,\n bookIdToEnglishName: y,\n isCanonical: I,\n isExtraMaterial: q,\n isObsolete: U\n};\nvar l = /* @__PURE__ */ ((t) => (t[t.Unknown = 0] = \"Unknown\", t[t.Original = 1] = \"Original\", t[t.Septuagint = 2] = \"Septuagint\", t[t.Vulgate = 3] = \"Vulgate\", t[t.English = 4] = \"English\", t[t.RussianProtestant = 5] = \"RussianProtestant\", t[t.RussianOrthodox = 6] = \"RussianOrthodox\", t))(l || {});\nconst u = class u {\n // private versInfo: Versification;\n constructor(e) {\n n(this, \"name\");\n n(this, \"fullPath\");\n n(this, \"isPresent\");\n n(this, \"hasVerseSegments\");\n n(this, \"isCustomized\");\n n(this, \"baseVersification\");\n n(this, \"scriptureBooks\");\n n(this, \"_type\");\n if (e != null)\n typeof e == \"string\" ? this.name = e : this._type = e;\n else\n throw new Error(\"Argument null\");\n }\n get type() {\n return this._type;\n }\n equals(e) {\n return !e.type || !this.type ? !1 : e.type === this.type;\n }\n};\nn(u, \"Original\", new u(l.Original)), n(u, \"Septuagint\", new u(l.Septuagint)), n(u, \"Vulgate\", new u(l.Vulgate)), n(u, \"English\", new u(l.English)), n(u, \"RussianProtestant\", new u(l.RussianProtestant)), n(u, \"RussianOrthodox\", new u(l.RussianOrthodox));\nlet c = u;\nfunction E(t, e) {\n const s = e[0];\n for (let r = 1; r < e.length; r++)\n t = t.split(e[r]).join(s);\n return t.split(s);\n}\nvar D = /* @__PURE__ */ ((t) => (t[t.Valid = 0] = \"Valid\", t[t.UnknownVersification = 1] = \"UnknownVersification\", t[t.OutOfRange = 2] = \"OutOfRange\", t[t.VerseOutOfOrder = 3] = \"VerseOutOfOrder\", t[t.VerseRepeated = 4] = \"VerseRepeated\", t))(D || {});\nconst i = class i {\n constructor(e, s, r, o) {\n /** Not yet implemented. */\n n(this, \"firstChapter\");\n /** Not yet implemented. */\n n(this, \"lastChapter\");\n /** Not yet implemented. */\n n(this, \"lastVerse\");\n /** Not yet implemented. */\n n(this, \"hasSegmentsDefined\");\n /** Not yet implemented. */\n n(this, \"text\");\n /** Not yet implemented. */\n n(this, \"BBBCCCVVVS\");\n /** Not yet implemented. */\n n(this, \"longHashCode\");\n /** The versification of the reference. */\n n(this, \"versification\");\n n(this, \"rtlMark\", \"‏\");\n n(this, \"_bookNum\", 0);\n n(this, \"_chapterNum\", 0);\n n(this, \"_verseNum\", 0);\n n(this, \"_verse\");\n if (r == null && o == null)\n if (e != null && typeof e == \"string\") {\n const a = e, h = s != null && s instanceof c ? s : void 0;\n this.setEmpty(h), this.parse(a);\n } else if (e != null && typeof e == \"number\") {\n const a = s != null && s instanceof c ? s : void 0;\n this.setEmpty(a), this._verseNum = e % i.chapterDigitShifter, this._chapterNum = Math.floor(\n e % i.bookDigitShifter / i.chapterDigitShifter\n ), this._bookNum = Math.floor(e / i.bookDigitShifter);\n } else if (s == null)\n if (e != null && e instanceof i) {\n const a = e;\n this._bookNum = a.bookNum, this._chapterNum = a.chapterNum, this._verseNum = a.verseNum, this._verse = a.verse, this.versification = a.versification;\n } else {\n if (e == null)\n return;\n const a = e instanceof c ? e : i.defaultVersification;\n this.setEmpty(a);\n }\n else\n throw new Error(\"VerseRef constructor not supported.\");\n else if (e != null && s != null && r != null)\n if (typeof e == \"string\" && typeof s == \"string\" && typeof r == \"string\")\n this.setEmpty(o), this.updateInternal(e, s, r);\n else if (typeof e == \"number\" && typeof s == \"number\" && typeof r == \"number\")\n this._bookNum = e, this._chapterNum = s, this._verseNum = r, this.versification = o ?? i.defaultVersification;\n else\n throw new Error(\"VerseRef constructor not supported.\");\n else\n throw new Error(\"VerseRef constructor not supported.\");\n }\n /**\n * @deprecated Will be removed in v2. Replace `VerseRef.parse('...')` with `new VerseRef('...')`\n * or refactor to use `VerseRef.tryParse('...')` which has a different return type.\n */\n static parse(e, s = i.defaultVersification) {\n const r = new i(s);\n return r.parse(e), r;\n }\n /**\n * Determines if the verse string is in a valid format (does not consider versification).\n */\n static isVerseParseable(e) {\n return e.length > 0 && \"0123456789\".includes(e[0]) && !e.endsWith(this.verseRangeSeparator) && !e.endsWith(this.verseSequenceIndicator);\n }\n /**\n * Tries to parse the specified string into a verse reference.\n * @param str - The string to attempt to parse.\n * @returns success: `true` if the specified string was successfully parsed, `false` otherwise.\n * @returns verseRef: The result of the parse if successful, or empty VerseRef if it failed\n */\n static tryParse(e) {\n let s;\n try {\n return s = i.parse(e), { success: !0, verseRef: s };\n } catch (r) {\n if (r instanceof d)\n return s = new i(), { success: !1, verseRef: s };\n throw r;\n }\n }\n /**\n * Gets the reference as a comparable integer where the book, chapter, and verse each occupy 3\n * digits.\n * @param bookNum - Book number (this is 1-based, not an index).\n * @param chapterNum - Chapter number.\n * @param verseNum - Verse number.\n * @returns The reference as a comparable integer where the book, chapter, and verse each occupy 3\n * digits.\n */\n static getBBBCCCVVV(e, s, r) {\n return e % i.bcvMaxValue * i.bookDigitShifter + (s >= 0 ? s % i.bcvMaxValue * i.chapterDigitShifter : 0) + (r >= 0 ? r % i.bcvMaxValue : 0);\n }\n /**\n * Parses a verse string and gets the leading numeric portion as a number.\n * @param verseStr - verse string to parse\n * @returns true if the entire string could be parsed as a single, simple verse number (1-999);\n * false if the verse string represented a verse bridge, contained segment letters, or was invalid\n */\n static tryGetVerseNum(e) {\n let s;\n if (!e)\n return s = -1, { success: !0, vNum: s };\n s = 0;\n let r;\n for (let o = 0; o < e.length; o++) {\n if (r = e[o], r < \"0\" || r > \"9\")\n return o === 0 && (s = -1), { success: !1, vNum: s };\n if (s = s * 10 + +r - +\"0\", s > i.bcvMaxValue)\n return s = -1, { success: !1, vNum: s };\n }\n return { success: !0, vNum: s };\n }\n /**\n * Checks to see if a VerseRef hasn't been set - all values are the default.\n */\n get isDefault() {\n return this.bookNum === 0 && this.chapterNum === 0 && this.verseNum === 0 && this.versification == null;\n }\n /**\n * Gets whether the verse contains multiple verses.\n */\n get hasMultiple() {\n return this._verse != null && (this._verse.includes(i.verseRangeSeparator) || this._verse.includes(i.verseSequenceIndicator));\n }\n /**\n * Gets or sets the book of the reference. Book is the 3-letter abbreviation in capital letters,\n * e.g. `'MAT'`.\n */\n get book() {\n return f.bookNumberToId(this.bookNum, \"\");\n }\n set book(e) {\n this.bookNum = f.bookIdToNumber(e);\n }\n /**\n * Gets or sets the chapter of the reference,. e.g. `'3'`.\n */\n get chapter() {\n return this.isDefault || this._chapterNum < 0 ? \"\" : this._chapterNum.toString();\n }\n set chapter(e) {\n const s = +e;\n this._chapterNum = Number.isInteger(s) ? s : -1;\n }\n /**\n * Gets or sets the verse of the reference, including range, segments, and sequences, e.g. `'4'`,\n * or `'4b-5a, 7'`.\n */\n get verse() {\n return this._verse != null ? this._verse : this.isDefault || this._verseNum < 0 ? \"\" : this._verseNum.toString();\n }\n set verse(e) {\n const { success: s, vNum: r } = i.tryGetVerseNum(e);\n this._verse = s ? void 0 : e.replace(this.rtlMark, \"\"), this._verseNum = r, !(this._verseNum >= 0) && ({ vNum: this._verseNum } = i.tryGetVerseNum(this._verse));\n }\n /**\n * Get or set Book based on book number, e.g. `42`.\n */\n get bookNum() {\n return this._bookNum;\n }\n set bookNum(e) {\n if (e <= 0 || e > f.lastBook)\n throw new d(\n \"BookNum must be greater than zero and less than or equal to last book\"\n );\n this._bookNum = e;\n }\n /**\n * Gets or sets the chapter number, e.g. `3`. `-1` if not valid.\n */\n get chapterNum() {\n return this._chapterNum;\n }\n set chapterNum(e) {\n this.chapterNum = e;\n }\n /**\n * Gets or sets verse start number, e.g. `4`. `-1` if not valid.\n */\n get verseNum() {\n return this._verseNum;\n }\n set verseNum(e) {\n this._verseNum = e;\n }\n /**\n * String representing the versification (should ONLY be used for serialization/deserialization).\n *\n * @remarks This is for backwards compatibility when ScrVers was an enumeration.\n */\n get versificationStr() {\n var e;\n return (e = this.versification) == null ? void 0 : e.name;\n }\n set versificationStr(e) {\n this.versification = this.versification != null ? new c(e) : void 0;\n }\n /**\n * Determines if the reference is valid.\n */\n get valid() {\n return this.validStatus === 0;\n }\n /**\n * Get the valid status for this reference.\n */\n get validStatus() {\n return this.validateVerse(i.verseRangeSeparators, i.verseSequenceIndicators);\n }\n /**\n * Gets the reference as a comparable integer where the book,\n * chapter, and verse each occupy three digits and the verse is 0.\n */\n get BBBCCC() {\n return i.getBBBCCCVVV(this._bookNum, this._chapterNum, 0);\n }\n /**\n * Gets the reference as a comparable integer where the book,\n * chapter, and verse each occupy three digits. If verse is not null\n * (i.e., this reference represents a complex reference with verse\n * segments or bridge) this cannot be used for an exact comparison.\n */\n get BBBCCCVVV() {\n return i.getBBBCCCVVV(this._bookNum, this._chapterNum, this._verseNum);\n }\n /**\n * Gets whether the verse is defined as an excluded verse in the versification.\n * Does not handle verse ranges.\n */\n // eslint-disable-next-line @typescript-eslint/class-literal-property-style\n get isExcluded() {\n return !1;\n }\n /**\n * Parses the reference in the specified string.\n * Optionally versification can follow reference as in GEN 3:11/4\n * Throw an exception if\n * - invalid book name\n * - chapter number is missing or not a number\n * - verse number is missing or does not start with a number\n * - versification is invalid\n * @param verseStr - string to parse e.g. 'MAT 3:11'\n */\n parse(e) {\n if (e = e.replace(this.rtlMark, \"\"), e.includes(\"/\")) {\n const a = e.split(\"/\");\n if (e = a[0], a.length > 1)\n try {\n const h = +a[1].trim();\n this.versification = new c(l[h]);\n } catch {\n throw new d(\"Invalid reference : \" + e);\n }\n }\n const s = e.trim().split(\" \");\n if (s.length !== 2)\n throw new d(\"Invalid reference : \" + e);\n const r = s[1].split(\":\"), o = +r[0];\n if (r.length !== 2 || f.bookIdToNumber(s[0]) === 0 || !Number.isInteger(o) || o < 0 || !i.isVerseParseable(r[1]))\n throw new d(\"Invalid reference : \" + e);\n this.updateInternal(s[0], r[0], r[1]);\n }\n /**\n * Simplifies this verse ref so that it has no bridging of verses or\n * verse segments like `'1a'`.\n */\n simplify() {\n this._verse = void 0;\n }\n /**\n * Makes a clone of the reference.\n *\n * @returns The cloned VerseRef.\n */\n clone() {\n return new i(this);\n }\n toString() {\n const e = this.book;\n return e === \"\" ? \"\" : `${e} ${this.chapter}:${this.verse}`;\n }\n /**\n * Compares this `VerseRef` with supplied one.\n * @param verseRef - object to compare this one to.\n * @returns `true` if this `VerseRef` is equal to the supplied on, `false` otherwise.\n */\n equals(e) {\n return e instanceof i ? e._bookNum === this._bookNum && e._chapterNum === this._chapterNum && e._verseNum === this._verseNum && e.verse === this.verse && e.versification != null && this.versification != null && e.versification.equals(this.versification) : !1;\n }\n /**\n * Enumerate all individual verses contained in a VerseRef.\n * Verse ranges are indicated by \"-\" and consecutive verses by \",\"s.\n * Examples:\n * GEN 1:2 returns GEN 1:2\n * GEN 1:1a-3b,5 returns GEN 1:1a, GEN 1:2, GEN 1:3b, GEN 1:5\n * GEN 1:2a-2c returns //! ??????\n *\n * @param specifiedVersesOnly - if set to true return only verses that are\n * explicitly specified only, not verses within a range. Defaults to `false`.\n * @param verseRangeSeparators - Verse range separators.\n * Defaults to `VerseRef.verseRangeSeparators`.\n * @param verseSequenceSeparators - Verse sequence separators.\n * Defaults to `VerseRef.verseSequenceIndicators`.\n * @returns An array of all single verse references in this VerseRef.\n */\n allVerses(e = !1, s = i.verseRangeSeparators, r = i.verseSequenceIndicators) {\n if (this._verse == null || this.chapterNum <= 0)\n return [this.clone()];\n const o = [], a = E(this._verse, r);\n for (const h of a.map((g) => E(g, s))) {\n const g = this.clone();\n g.verse = h[0];\n const w = g.verseNum;\n if (o.push(g), h.length > 1) {\n const p = this.clone();\n if (p.verse = h[1], !e)\n for (let b = w + 1; b < p.verseNum; b++) {\n const J = new i(\n this._bookNum,\n this._chapterNum,\n b,\n this.versification\n );\n this.isExcluded || o.push(J);\n }\n o.push(p);\n }\n }\n return o;\n }\n /**\n * Validates a verse number using the supplied separators rather than the defaults.\n */\n validateVerse(e, s) {\n if (!this.verse)\n return this.internalValid;\n let r = 0;\n for (const o of this.allVerses(!0, e, s)) {\n const a = o.internalValid;\n if (a !== 0)\n return a;\n const h = o.BBBCCCVVV;\n if (r > h)\n return 3;\n if (r === h)\n return 4;\n r = h;\n }\n return 0;\n }\n /**\n * Gets whether a single verse reference is valid.\n */\n get internalValid() {\n return this.versification == null ? 1 : this._bookNum <= 0 || this._bookNum > f.lastBook ? 2 : (f.isCanonical(this._bookNum), 0);\n }\n setEmpty(e = i.defaultVersification) {\n this._bookNum = 0, this._chapterNum = -1, this._verse = void 0, this.versification = e;\n }\n updateInternal(e, s, r) {\n this.bookNum = f.bookIdToNumber(e), this.chapter = s, this.verse = r;\n }\n};\nn(i, \"defaultVersification\", c.English), n(i, \"verseRangeSeparator\", \"-\"), n(i, \"verseSequenceIndicator\", \",\"), n(i, \"verseRangeSeparators\", [i.verseRangeSeparator]), n(i, \"verseSequenceIndicators\", [i.verseSequenceIndicator]), n(i, \"chapterDigitShifter\", 1e3), n(i, \"bookDigitShifter\", i.chapterDigitShifter * i.chapterDigitShifter), n(i, \"bcvMaxValue\", i.chapterDigitShifter - 1), /**\n * The valid status of the VerseRef.\n */\nn(i, \"ValidStatusType\", D);\nlet M = i;\nclass d extends Error {\n}\nexport {\n z as BookSet,\n f as Canon,\n c as ScrVers,\n l as ScrVersType,\n M as VerseRef,\n d as VerseRefException\n};\n//# sourceMappingURL=index.es.js.map\n","import { type ClassValue, clsx } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\n// shadcn/ui uses this export in its boilerplate code\n// eslint-disable-next-line import/prefer-default-export\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","import React from 'react';\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\nimport { Check, ChevronRight, Circle } from 'lucide-react';\n\nimport { cn } from '@/utils/shadcn-ui.util';\n\nexport const DropdownMenu = DropdownMenuPrimitive.Root;\n\nexport const DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;\n\nexport const DropdownMenuGroup = DropdownMenuPrimitive.Group;\n\nexport const DropdownMenuPortal = DropdownMenuPrimitive.Portal;\n\nexport const DropdownMenuSub = DropdownMenuPrimitive.Sub;\n\nexport const DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;\n\nexport type DropdownMenuSubTriggerProps = React.ComponentPropsWithoutRef<\n typeof DropdownMenuPrimitive.SubTrigger\n> & {\n className?: string;\n inset?: boolean;\n};\n\nexport type DropdownMenuSubContentProps = React.ComponentPropsWithoutRef<\n typeof DropdownMenuPrimitive.SubContent\n> & {\n className?: string;\n};\n\nexport type DropdownMenuContentProps = React.ComponentPropsWithoutRef<\n typeof DropdownMenuPrimitive.Content\n> & {\n className?: string;\n sideOffset?: number;\n};\n\nexport type DropdownMenuItemProps = React.ComponentPropsWithoutRef<\n typeof DropdownMenuPrimitive.Item\n> & {\n className?: string;\n inset?: boolean;\n};\n\nexport type DropdownMenuCheckboxItemProps = React.ComponentPropsWithoutRef<\n typeof DropdownMenuPrimitive.CheckboxItem\n> & {\n className?: string;\n checked?: boolean;\n};\n\nexport type DropdownMenuRadioItemProps = React.ComponentPropsWithoutRef<\n typeof DropdownMenuPrimitive.RadioItem\n> & {\n className?: string;\n};\n\nexport type DropdownMenuLabelProps = React.ComponentPropsWithoutRef<\n typeof DropdownMenuPrimitive.Label\n> & {\n className?: string;\n inset?: boolean;\n};\n\nexport type DropdownMenuSeparatorProps = React.ComponentPropsWithoutRef<\n typeof DropdownMenuPrimitive.Separator\n> & {\n className?: string;\n};\n\nexport type DropdownMenuShortcutProps = React.HTMLAttributes & {\n className?: string;\n};\n\nexport const DropdownMenuSubTrigger = React.forwardRef<\n React.ElementRef,\n DropdownMenuSubTriggerProps\n>(({ className, inset, children, ...props }, ref) => (\n \n {children}\n \n \n));\nDropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;\n\nexport const DropdownMenuSubContent = React.forwardRef<\n React.ElementRef,\n DropdownMenuSubContentProps\n>(({ className, ...props }, ref) => (\n \n));\nDropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;\n\nexport const DropdownMenuContent = React.forwardRef<\n React.ElementRef,\n DropdownMenuContentProps\n>(({ className, sideOffset = 4, ...props }, ref) => (\n \n \n \n));\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;\n\nexport const DropdownMenuItem = React.forwardRef<\n React.ElementRef,\n DropdownMenuItemProps\n>(({ className, inset, ...props }, ref) => (\n \n));\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;\n\nexport const DropdownMenuCheckboxItem = React.forwardRef<\n React.ElementRef,\n DropdownMenuCheckboxItemProps\n>(({ className, children, checked, ...props }, ref) => (\n \n \n \n \n \n \n {children}\n \n));\nDropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;\n\nexport const DropdownMenuRadioItem = React.forwardRef<\n React.ElementRef,\n DropdownMenuRadioItemProps\n>(({ className, children, ...props }, ref) => (\n \n \n \n \n \n \n {children}\n \n));\nDropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;\n\nexport const DropdownMenuLabel = React.forwardRef<\n React.ElementRef,\n DropdownMenuLabelProps\n>(({ className, inset, ...props }, ref) => (\n \n));\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;\n\nexport const DropdownMenuSeparator = React.forwardRef<\n React.ElementRef,\n DropdownMenuSeparatorProps\n>(({ className, ...props }, ref) => (\n \n));\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;\n\nexport function DropdownMenuShortcut({ className, ...props }: DropdownMenuShortcutProps) {\n return (\n \n );\n}\nDropdownMenuShortcut.displayName = 'DropdownMenuShortcut';\n","import React from 'react';\nimport { cn } from '@/utils/shadcn-ui.util';\n\nexport interface InputProps extends React.InputHTMLAttributes {}\n\nexport const Input = React.forwardRef(\n ({ className, type, ...props }, ref) => {\n return (\n \n );\n },\n);\nInput.displayName = 'Input';\n","import { FocusEventHandler, forwardRef, KeyboardEvent, MouseEventHandler } from 'react';\nimport { History } from 'lucide-react';\nimport { Input as ShadInput } from '@/components/shadcn-ui/input';\n\nexport type BookChapterInputProps = {\n handleSearch: (searchString: string) => void;\n handleKeyDown: (event: KeyboardEvent) => void;\n handleOnClick: MouseEventHandler;\n handleSubmit: () => void;\n onFocus?: FocusEventHandler;\n value: string;\n placeholder: string;\n};\n\n// Shadcn Input sets type to \"button\"- HAVE to prop spread before setting type\nconst BookChapterInput = forwardRef(\n (\n { handleSearch, handleKeyDown, handleOnClick, handleSubmit, ...props }: BookChapterInputProps,\n ref,\n ) => {\n return (\n
\n handleSearch(event.target.value)}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n handleSubmit();\n }\n handleKeyDown(e);\n }}\n onClick={handleOnClick}\n ref={ref}\n />\n {\n // eslint-disable-next-line no-console\n console.log('back in history');\n }}\n />\n
\n );\n },\n);\n\nexport default BookChapterInput;\n","import { cn } from '@/utils/shadcn-ui.util';\nimport { useCallback } from 'react';\n\nexport type ChapterSelectProps = {\n /**\n * Callback to run when a chapter div is selected\n *\n * @param chapterNumber Number of the chapter that has been selected\n */\n handleSelectChapter: (chapterNumber: number) => void;\n /** The highest chapter number in the book (of course equal to number of chapters in the book) */\n endChapter: number;\n /** The chapter number that is currently selected */\n activeChapter: number;\n /** The chapter number that is currently highlighted using keyboard or mouse navigation */\n highlightedChapter: number;\n /**\n * Callback to run when a chapter is highlighted by the user\n *\n * @param chapterNumber The chapter that is highlighted\n */\n handleHighlightedChapter: (chapterNumber: number) => void;\n};\n\nfunction ChapterSelect({\n handleSelectChapter,\n endChapter,\n activeChapter,\n highlightedChapter,\n handleHighlightedChapter,\n}: ChapterSelectProps) {\n const chapters = Array.from({ length: endChapter }, (_, i) => i + 1);\n\n const handleMouse = useCallback(\n (chapterNumber: number) => {\n handleHighlightedChapter(chapterNumber);\n },\n [handleHighlightedChapter],\n );\n\n return (\n
\n {chapters.map((chapter) => (\n {\n event.preventDefault();\n event.stopPropagation();\n handleSelectChapter(chapter);\n }}\n role=\"button\"\n onKeyDown={(event) => {\n if (event.key === 'Enter') {\n handleSelectChapter(chapter);\n }\n }}\n tabIndex={0}\n onMouseMove={() => handleMouse(chapter)}\n >\n {chapter}\n
\n ))}\n \n );\n}\n\nexport default ChapterSelect;\n","import { Canon } from '@sillsdev/scripture';\nimport { PropsWithChildren, KeyboardEvent, forwardRef } from 'react';\nimport { DropdownMenuItem as ShadDropdownMenuItem } from '@/components/shadcn-ui/dropdown-menu';\nimport { cn } from '@/utils/shadcn-ui.util';\n\nexport type BookType = 'OT' | 'NT' | 'DC';\n\ntype BookMenuItemProps = PropsWithChildren<{\n /** String id of book */\n bookId: string;\n /** Callback to run when a book menu item is selected */\n handleSelectBook: () => void;\n /** Indicates if this menu item is currently selected */\n isSelected: boolean;\n /** Function that is called upon highlighting a book in the dropdown menu */\n handleHighlightBook: () => void;\n /**\n * Function that is called on pressing a key\n *\n * @param event Event that contains information about the key stroke\n */\n handleKeyDown: (event: KeyboardEvent) => void;\n /**\n * Type of book associated with this menu item, coordinates color labels ? Mock up has the labels\n * coordinated to genre\n */\n bookType: BookType;\n}>;\n\nconst BookMenuItem = forwardRef(\n (\n {\n bookId,\n handleSelectBook,\n isSelected,\n handleHighlightBook,\n handleKeyDown,\n bookType,\n children,\n }: BookMenuItemProps,\n ref,\n ) => {\n return (\n {\n // preventDefault() here prevents the entire dropdown menu from closing when selecting this item\n event.preventDefault();\n handleSelectBook();\n }}\n onKeyDown={(event: KeyboardEvent) => {\n handleKeyDown(event);\n }}\n onFocus={handleHighlightBook}\n onMouseMove={handleHighlightBook}\n >\n \n {Canon.bookIdToEnglishName(bookId)}\n \n {isSelected &&
{children}
}\n \n );\n },\n);\n\nexport default BookMenuItem;\n","import { DropdownMenuLabel as ShadDropdownMenuLabel } from '@/components/shadcn-ui/dropdown-menu';\nimport { Bookmark, Clock, ArrowDownWideNarrow } from 'lucide-react';\n\nexport type GoToMenuItemProps = {\n handleSort: () => void;\n handleLocationHistory: () => void;\n handleBookmarks: () => void;\n};\n\nfunction GoToMenuItem({ handleSort, handleLocationHistory, handleBookmarks }: GoToMenuItemProps) {\n return (\n \n

Go To

\n
\n \n \n \n
\n
\n );\n}\n\nexport default GoToMenuItem;\n","import {\n KeyboardEvent as ReactKeyboardEvent,\n useCallback,\n useEffect,\n useLayoutEffect,\n useRef,\n useState,\n} from 'react';\nimport { Canon } from '@sillsdev/scripture';\nimport { ScriptureReference, getChaptersForBook } from 'platform-bible-utils';\nimport {\n DropdownMenuTrigger as ShadDropdownMenuTrigger,\n DropdownMenu as ShadDropdownMenu,\n DropdownMenuContent as ShadDropdownMenuContent,\n DropdownMenuLabel as ShadDropdownMenuLabel,\n DropdownMenuSeparator as ShadDropdownMenuSeparator,\n} from '@/components/shadcn-ui/dropdown-menu';\nimport BookChapterInput from '@/components/book-chapter-control/book-chapter-input.component';\nimport ChapterSelect from '@/components/book-chapter-control/chapter-select.component';\nimport BookMenuItem, { BookType } from '@/components/book-chapter-control/book-menu-item.component';\nimport GoToMenuItem from './go-to-menu-item.component';\n\ntype BookTypeLabels = {\n [bookType in BookType]: string;\n};\ntype BookChapterControlProps = {\n scrRef: ScriptureReference;\n handleSubmit: (scrRef: ScriptureReference) => void;\n};\n\nconst ALL_BOOK_IDS = Canon.allBookIds;\nconst BOOK_TYPE_LABELS: BookTypeLabels = {\n OT: 'Old Testament',\n NT: 'New Testament',\n DC: 'Deuterocanon',\n};\nconst BOOK_TYPE_ARRAY: BookType[] = ['OT', 'NT', 'DC'];\n// This is the height of three menu items to offset scrolling to the selected menu item\n// If you use menuItemRef.clientHeight- includes height of chapter div which is too big\nconst SCROLL_OFFSET = 32 + 32 + 32;\nconst SEARCH_QUERY_FORMATS = [\n /^(\\w+)$/i, // Matches a single word (book name or id)\n /^(\\w+)(?:\\s(\\d+))$/i, // Matches a word followed by a chapter number\n /^(\\w+)(?:\\s(\\d+):(\\d+))$/i, // Matches a word followed by a chapter and verse number\n];\nconst fetchGroupedBooks = (bookType: BookType) => {\n const groupedBooks = {\n OT: ALL_BOOK_IDS.filter((bookId) => Canon.isBookOT(bookId)),\n NT: ALL_BOOK_IDS.filter((bookId) => Canon.isBookNT(bookId)),\n DC: ALL_BOOK_IDS.filter((bookId) => Canon.isBookDC(bookId)),\n };\n return groupedBooks[bookType];\n};\nconst fetchEndChapter = (bookId: string) => {\n // getChaptersForBook returns -1 if not found in scrBookData\n // scrBookData only includes OT and NT, so all DC will return -1\n return getChaptersForBook(Canon.bookIdToNumber(bookId));\n};\n\n/**\n * Gets all of the English names from book ids\n *\n * @returns String[]\n */\nfunction getAllEnglishNames(): string[] {\n const allEnglishNames = ALL_BOOK_IDS.map((bookId) => {\n return Canon.bookIdToEnglishName(bookId);\n });\n return allEnglishNames;\n}\n\n/**\n * Determines if bookName is in allEnglishNames\n *\n * @param bookName Book English name\n * @returns True if bookName is included, false otherwise\n */\nfunction isValidBookEnglishName(bookName: string): boolean {\n return getAllEnglishNames().includes(bookName);\n}\n\n/**\n * Gets a bookId from given English name\n *\n * @param bookName Book English name\n * @returns BookId of provided bookName, undefined otherwise\n */\nfunction getBookIdFromEnglishName(bookName: string): string | undefined {\n // Convert bookName to lowercase and then capitalize the first letter\n const formattedBookName = bookName.toLowerCase().replace(/^\\w/, (c) => c.toUpperCase());\n\n if (isValidBookEnglishName(formattedBookName)) {\n const matchingBookId = ALL_BOOK_IDS.find((bookId) => {\n return Canon.bookIdToEnglishName(bookId) === formattedBookName;\n });\n return matchingBookId;\n }\n\n return undefined;\n}\n\nfunction BookChapterControl({ scrRef, handleSubmit }: BookChapterControlProps) {\n const [searchQuery, setSearchQuery] = useState('');\n const [selectedBookId, setSelectedBookId] = useState(\n Canon.bookNumberToId(scrRef.bookNum),\n );\n const [highlightedChapter, setHighlightedChapter] = useState(scrRef.chapterNum ?? 0);\n const [highlightedBookId, setHighlightedBookId] = useState(\n Canon.bookNumberToId(scrRef.bookNum),\n );\n const [isContentOpen, setIsContentOpen] = useState(false);\n const [isContentOpenDelayed, setIsContentOpenDelayed] = useState(isContentOpen);\n\n // This ref will always be defined\n // eslint-disable-next-line no-type-assertion/no-type-assertion\n const inputRef = useRef(undefined!);\n // eslint-disable-next-line no-type-assertion/no-type-assertion\n const contentRef = useRef(undefined!);\n // eslint-disable-next-line no-type-assertion/no-type-assertion\n const menuItemRef = useRef(undefined!);\n\n const fetchFilteredBooks = useCallback(\n (bookType: BookType) => {\n return fetchGroupedBooks(bookType).filter((bookId: string) => {\n const englishNameLowerCase = Canon.bookIdToEnglishName(bookId).toLowerCase();\n const normalizedQuery = searchQuery.replace(/[^a-zA-Z]/g, '').toLowerCase();\n return (\n englishNameLowerCase.includes(normalizedQuery) || // Match book name\n bookId.toLowerCase().includes(normalizedQuery) // Match book ID\n );\n });\n },\n [searchQuery],\n );\n\n const handleSearchInput = (searchString: string) => {\n setSearchQuery(searchString);\n };\n\n /**\n * Whether to prevent radix's logic from closing the dropdown. This is important because radix\n * tries to close the dropdown when the input first focuses, and we don't want it to do that. But\n * we don't want to prevent the dropdown from closing when we click away from the input, so we\n * don't want to just keep it open if the input is focused\n */\n const shouldPreventAutoClosing = useRef(false);\n\n const controlMenuState = useCallback((open: boolean) => {\n if (shouldPreventAutoClosing.current) {\n shouldPreventAutoClosing.current = false;\n return;\n }\n setIsContentOpen(open);\n }, []);\n\n const updateReference = useCallback(\n (bookId: string, shouldClose: boolean, chapter?: number, verse?: number) => {\n setHighlightedChapter(\n Canon.bookNumberToId(scrRef.bookNum) !== bookId ? 1 : scrRef.chapterNum,\n );\n\n if (shouldClose || fetchEndChapter(bookId) === -1) {\n handleSubmit({\n bookNum: Canon.bookIdToNumber(bookId),\n chapterNum: chapter || 1,\n verseNum: verse || 1,\n });\n\n setIsContentOpen(false);\n setSearchQuery('');\n return;\n }\n\n setSelectedBookId(selectedBookId !== bookId ? bookId : '');\n setIsContentOpen(!shouldClose);\n },\n [handleSubmit, scrRef.bookNum, scrRef.chapterNum, selectedBookId],\n );\n\n const handleSelectChapter = (chapterNumber: number) => {\n if (chapterNumber <= 0 || chapterNumber > fetchEndChapter(selectedBookId)) {\n return;\n }\n updateReference(selectedBookId, true, chapterNumber);\n };\n\n const handleInputSubmit = useCallback(() => {\n SEARCH_QUERY_FORMATS.forEach((format) => {\n const matches = searchQuery.match(format);\n if (matches) {\n // Book should be a bookId or an english name\n const [book, chapter = undefined, verse = undefined] = matches.slice(1);\n const englishName = getBookIdFromEnglishName(book);\n\n if (Canon.isBookIdValid(book) || englishName) {\n updateReference(\n englishName ?? book,\n true,\n chapter ? parseInt(chapter, 10) : 1,\n verse ? parseInt(verse, 10) : 1,\n );\n }\n }\n });\n }, [updateReference, searchQuery]);\n\n const handleKeyDownInput = useCallback(\n (event: ReactKeyboardEvent) => {\n if (!isContentOpen) {\n setIsContentOpen(true);\n } else if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n if (\n typeof menuItemRef !== 'undefined' &&\n // Ref uses null\n // eslint-disable-next-line no-null/no-null\n menuItemRef.current !== null\n ) {\n menuItemRef.current.focus();\n } else if (\n typeof contentRef !== 'undefined' &&\n // Ref uses null\n // eslint-disable-next-line no-null/no-null\n contentRef.current !== null\n ) {\n contentRef.current.focus();\n }\n event.preventDefault();\n }\n },\n [isContentOpen],\n );\n\n const handleKeyDownContent = (event: ReactKeyboardEvent) => {\n // When the dropdown menu has focus, key strokes should give focus to the input component,\n // unless they're navigation keys (arrows and enter)\n const { key } = event;\n if (\n key === 'ArrowRight' ||\n key === 'ArrowLeft' ||\n key === 'ArrowDown' ||\n key === 'ArrowUp' ||\n key === 'Enter'\n ) {\n return;\n }\n\n inputRef.current.dispatchEvent(new KeyboardEvent('keydown', { key }));\n inputRef.current.focus();\n };\n\n const handleKeyDownMenuItem = (event: ReactKeyboardEvent) => {\n const { key } = event;\n if (highlightedBookId === selectedBookId) {\n if (key === 'Enter') {\n event.preventDefault();\n updateReference(selectedBookId, true, highlightedChapter);\n return;\n }\n\n let chapterOffSet = 0;\n if (key === 'ArrowRight') {\n if (highlightedChapter < fetchEndChapter(highlightedBookId)) {\n chapterOffSet = 1;\n } else {\n event.preventDefault();\n return;\n }\n } else if (key === 'ArrowLeft') {\n if (highlightedChapter > 1) {\n chapterOffSet = -1;\n } else {\n event.preventDefault();\n return;\n }\n } else if (key === 'ArrowDown') {\n chapterOffSet = 6;\n } else if (key === 'ArrowUp') {\n chapterOffSet = -6;\n }\n if (\n highlightedChapter + chapterOffSet <= 0 ||\n highlightedChapter + chapterOffSet > fetchEndChapter(highlightedBookId)\n ) {\n setHighlightedChapter(0);\n } else if (chapterOffSet !== 0) {\n setHighlightedChapter(highlightedChapter + chapterOffSet);\n event.preventDefault();\n }\n }\n };\n\n useEffect(() => {\n if (selectedBookId === highlightedBookId) {\n if (selectedBookId === Canon.bookNumberToId(scrRef.bookNum)) {\n setHighlightedChapter(scrRef.chapterNum);\n } else {\n setHighlightedChapter(1);\n }\n } else {\n setHighlightedChapter(0);\n }\n }, [highlightedBookId, scrRef.bookNum, scrRef.chapterNum, selectedBookId]);\n\n // The purpose of these useLayoutEffects and timeout is to delay the scroll just\n // enough so that the refs are defined and available when they are used after the timeout\n useLayoutEffect(() => {\n setIsContentOpenDelayed(isContentOpen);\n }, [isContentOpen]);\n\n useLayoutEffect(() => {\n const scrollTimeout = setTimeout(() => {\n if (isContentOpenDelayed && contentRef.current && menuItemRef.current) {\n const menuItemOffsetTop = menuItemRef.current.offsetTop;\n const scrollPosition = menuItemOffsetTop - SCROLL_OFFSET;\n contentRef.current.scrollTo({ top: scrollPosition, behavior: 'instant' });\n }\n }, 10);\n return () => {\n clearTimeout(scrollTimeout);\n };\n }, [isContentOpenDelayed]);\n\n return (\n
\n \n \n {\n setSelectedBookId(Canon.bookNumberToId(scrRef.bookNum));\n setHighlightedBookId(Canon.bookNumberToId(scrRef.bookNum));\n setHighlightedChapter(scrRef.chapterNum > 0 ? scrRef.chapterNum : 0);\n setIsContentOpen(true);\n inputRef.current.focus();\n }}\n onFocus={() => {\n // Radix thinks we want to close because the input is being focused. Prevent that\n shouldPreventAutoClosing.current = true;\n }}\n handleSubmit={handleInputSubmit}\n placeholder={`${Canon.bookNumberToEnglishName(scrRef.bookNum)} ${scrRef.chapterNum}:${scrRef.verseNum}`}\n />\n \n \n console.log('sorting')}\n handleLocationHistory={() => console.log('location history')}\n handleBookmarks={() => console.log('bookmarks')}\n />\n {BOOK_TYPE_ARRAY.map(\n (bookType, bookTypeIndex) =>\n fetchFilteredBooks(bookType).length > 0 && (\n
\n \n {BOOK_TYPE_LABELS[bookType]}\n \n\n {fetchFilteredBooks(bookType).map((bookId) => (\n
\n updateReference(bookId, false)}\n isSelected={selectedBookId === bookId}\n handleHighlightBook={() => setHighlightedBookId(bookId)}\n handleKeyDown={handleKeyDownMenuItem}\n bookType={bookType}\n ref={(element: HTMLDivElement) => {\n if (selectedBookId === bookId) menuItemRef.current = element;\n }}\n >\n {\n setHighlightedChapter(chapterNumber);\n }}\n />\n \n
\n ))}\n {BOOK_TYPE_ARRAY.length - 1 !== bookTypeIndex ? (\n \n ) : undefined}\n
\n ),\n )}\n \n
\n
\n );\n}\n\nexport default BookChapterControl;\n","import React from 'react';\nimport { Slot } from '@radix-ui/react-slot';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '@/utils/shadcn-ui.util';\n\nexport const buttonVariants = cva(\n 'pr-inline-flex pr-items-center pr-justify-center pr-whitespace-nowrap pr-rounded-md pr-text-sm pr-font-medium pr-ring-offset-background pr-transition-colors focus-visible:pr-outline-none focus-visible:pr-ring-2 focus-visible:pr-ring-ring focus-visible:pr-ring-offset-2 disabled:pr-pointer-events-none disabled:pr-opacity-50',\n {\n variants: {\n variant: {\n default: 'pr-bg-primary pr-text-primary-foreground hover:pr-bg-primary/90',\n destructive: 'pr-bg-destructive pr-text-destructive-foreground hover:pr-bg-destructive/90',\n outline:\n 'pr-border pr-border-input pr-bg-background hover:pr-bg-accent hover:pr-text-accent-foreground',\n secondary: 'pr-bg-secondary pr-text-secondary-foreground hover:pr-bg-secondary/80',\n ghost: 'hover:pr-bg-accent hover:pr-text-accent-foreground',\n link: 'pr-text-primary pr-underline-offset-4 hover:pr-underline',\n },\n size: {\n default: 'pr-h-10 pr-px-4 pr-py-2',\n sm: 'pr-h-9 pr-rounded-md pr-px-3',\n lg: 'pr-h-11 pr-rounded-md pr-px-8',\n icon: 'pr-h-10 pr-w-10',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes,\n VariantProps {\n asChild?: boolean;\n}\n\nexport const Button = React.forwardRef(\n ({ className, variant, size, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : 'button';\n return (\n \n );\n },\n);\nButton.displayName = 'Button';\n","import {\n Autocomplete as MuiComboBox,\n AutocompleteChangeDetails,\n AutocompleteChangeReason,\n TextField as MuiTextField,\n AutocompleteValue,\n} from '@mui/material';\nimport { FocusEventHandler, SyntheticEvent } from 'react';\nimport '@/components/combo-box.component.css';\n\nexport type ComboBoxLabelOption = { label: string };\nexport type ComboBoxOption = string | number | ComboBoxLabelOption;\nexport type ComboBoxValue = AutocompleteValue;\nexport type ComboBoxChangeDetails = AutocompleteChangeDetails;\nexport type ComboBoxChangeReason = AutocompleteChangeReason;\n\nexport type ComboBoxProps = {\n /** Optional unique identifier */\n id?: string;\n /** Text label title for combobox */\n title?: string;\n /**\n * If `true`, the component is disabled.\n *\n * @default false\n */\n isDisabled?: boolean;\n /**\n * If `true`, the component can be cleared, and will have a button to do so\n *\n * @default true\n */\n isClearable?: boolean;\n /**\n * True when (input related to) switch is erroneous\n *\n * @default false\n */\n hasError?: boolean;\n /**\n * If `true`, the input will take up the full width of its container.\n *\n * @default false\n */\n isFullWidth?: boolean;\n /** Width of the combobox in pixels. Setting this prop overrides the `isFullWidth` prop */\n width?: number;\n /** List of available options for the dropdown menu */\n options?: readonly T[];\n /** Additional css classes to help with unique styling of the combo box */\n className?: string;\n /**\n * The selected value that the combo box currently holds. Must be shallow equal to one of the\n * options entries.\n */\n value?: T;\n /** Triggers when content of textfield is changed */\n onChange?: (\n event: SyntheticEvent,\n value: ComboBoxValue,\n reason?: ComboBoxChangeReason,\n details?: ComboBoxChangeDetails | undefined,\n ) => void;\n /** Triggers when textfield gets focus */\n onFocus?: FocusEventHandler; // Storybook crashes when giving the combo box focus\n /** Triggers when textfield loses focus */\n onBlur?: FocusEventHandler;\n /** Used to determine the string value for a given option. */\n getOptionLabel?: (option: ComboBoxOption) => string;\n};\n\n/**\n * Dropdown selector displaying various options from which to choose\n *\n * Thanks to MUI for heavy inspiration and documentation\n * https://mui.com/material-ui/getting-started/overview/\n */\nfunction ComboBox({\n id,\n title,\n isDisabled = false,\n isClearable = true,\n hasError = false,\n isFullWidth = false,\n width,\n options = [],\n className,\n value,\n onChange,\n onFocus,\n onBlur,\n getOptionLabel,\n}: ComboBoxProps) {\n return (\n \n id={id}\n disablePortal\n disabled={isDisabled}\n disableClearable={!isClearable}\n fullWidth={isFullWidth}\n options={options}\n className={`papi-combo-box ${hasError ? 'error' : ''} ${className ?? ''}`}\n value={value}\n onChange={onChange}\n onFocus={onFocus}\n onBlur={onBlur}\n getOptionLabel={getOptionLabel}\n renderInput={(props) => (\n \n )}\n />\n );\n}\n\nexport default ComboBox;\n","import { SyntheticEvent, useEffect, useState } from 'react';\nimport { FormControlLabel } from '@mui/material';\nimport ComboBox from '@/components/combo-box.component';\n\nexport type ChapterRangeSelectorProps = {\n handleSelectStartChapter: (chapter: number) => void;\n handleSelectEndChapter: (chapter: number) => void;\n isDisabled?: boolean;\n chapterCount: number;\n};\n\nexport default function ChapterRangeSelector({\n handleSelectStartChapter,\n handleSelectEndChapter,\n isDisabled = false,\n chapterCount,\n}: ChapterRangeSelectorProps) {\n const [startChapter, setStartChapter] = useState(1);\n const [endChapter, setEndChapter] = useState(chapterCount);\n const [chapterOptions, setChapterOptions] = useState(\n Array.from({ length: chapterCount }, (_, i) => i + 1),\n );\n\n useEffect(() => {\n setStartChapter(1);\n handleSelectStartChapter(1);\n setEndChapter(chapterCount);\n handleSelectEndChapter(chapterCount);\n setChapterOptions(Array.from({ length: chapterCount }, (_, i) => i + 1));\n }, [chapterCount, handleSelectEndChapter, handleSelectStartChapter]);\n\n const onChangeStartChapter = (_event: SyntheticEvent, value: number) => {\n setStartChapter(value);\n handleSelectStartChapter(value);\n if (value > endChapter) {\n setEndChapter(value);\n handleSelectEndChapter(value);\n }\n };\n\n const onChangeEndChapter = (_event: SyntheticEvent, value: number) => {\n setEndChapter(value);\n handleSelectEndChapter(value);\n if (value < startChapter) {\n setStartChapter(value);\n handleSelectStartChapter(value);\n }\n };\n\n return (\n <>\n onChangeStartChapter(e, value as number)}\n className=\"book-selection-chapter\"\n key=\"start chapter\"\n isClearable={false}\n options={chapterOptions}\n getOptionLabel={(option) => option.toString()}\n value={startChapter}\n isDisabled={isDisabled}\n />\n }\n label=\"Chapters\"\n labelPlacement=\"start\"\n />\n onChangeEndChapter(e, value as number)}\n className=\"book-selection-chapter\"\n key=\"end chapter\"\n isClearable={false}\n options={chapterOptions}\n getOptionLabel={(option) => option.toString()}\n value={endChapter}\n isDisabled={isDisabled}\n />\n }\n label=\"to\"\n labelPlacement=\"start\"\n />\n \n );\n}\n","enum LabelPosition {\n After = 'after',\n Before = 'before',\n Above = 'above',\n Below = 'below',\n}\n\nexport default LabelPosition;\n","import { FormLabel, Checkbox as MuiCheckbox } from '@mui/material';\nimport { ChangeEvent } from 'react';\nimport '@/components/checkbox.component.css';\nimport LabelPosition from '@/components/label-position.model';\n\nexport type CheckboxProps = {\n /** Optional unique identifier */\n id?: string;\n /** If `true`, the component is checked. */\n isChecked?: boolean;\n /**\n * If specified, the label that will appear associated with the checkbox.\n *\n * @default '' (no label will be shown)\n */\n labelText?: string;\n /**\n * Indicates the position of the label relative to the checkbox.\n *\n * @default 'after'\n */\n labelPosition?: LabelPosition;\n /**\n * If `true`, the component is in the indeterminate state.\n *\n * @default false\n */\n isIndeterminate?: boolean;\n /** If `true`, the component is checked by default. */\n isDefaultChecked?: boolean;\n /**\n * Enabled status of switch\n *\n * @default false\n */\n isDisabled?: boolean;\n /**\n * True when (input related to) switch is erroneous\n *\n * @default false\n */\n hasError?: boolean;\n /** Additional css classes to help with unique styling of the switch */\n className?: string;\n /**\n * Callback fired when the state is changed.\n *\n * @param event The event source of the callback. You can pull out the new value by accessing\n * event.target.value (string). You can pull out the new checked state by accessing\n * event.target.checked (boolean).\n */\n onChange?: (event: ChangeEvent) => void;\n};\n\n/* function CheckboxContainer({ labelText? = '', isDisabled : boolean, hasError : boolean, children? }) {\n return (\n \n {children}\n labelText\n \n );\n} */\n\n/** Primary UI component for user interaction */\nfunction Checkbox({\n id,\n isChecked,\n labelText = '',\n labelPosition = LabelPosition.After,\n isIndeterminate = false,\n isDefaultChecked,\n isDisabled = false,\n hasError = false,\n className,\n onChange,\n}: CheckboxProps) {\n const checkBox = (\n \n );\n\n let result;\n\n if (labelText) {\n const preceding =\n labelPosition === LabelPosition.Before || labelPosition === LabelPosition.Above;\n\n const labelSpan = (\n \n {labelText}\n \n );\n\n const labelIsInline =\n labelPosition === LabelPosition.Before || labelPosition === LabelPosition.After;\n\n const label = labelIsInline ? labelSpan :
{labelSpan}
;\n\n const checkBoxElement = labelIsInline ? checkBox :
{checkBox}
;\n\n result = (\n \n {preceding && label}\n {checkBoxElement}\n {!preceding && label}\n \n );\n } else {\n result = checkBox;\n }\n return result;\n}\n\nexport default Checkbox;\n","import Checkbox from '@/components/checkbox.component';\nimport '@/components/checklist.component.css';\n\nexport type ChecklistProps = {\n /** Optional string representing the id attribute of the fieldset element */\n id?: string;\n /** Optional string representing CSS class name(s) for styling */\n className?: string;\n /** Optional string representing legend for fieldset element */\n legend?: string;\n /** Array of strings representing the legend text for the fieldset element */\n listItems: string[];\n /** Array of strings representing items to be displayed as checkboxes in the checklist */\n selectedListItems: string[];\n /** Function that takes a string param and is called when a checkbox item is selected or deselected */\n handleSelectListItem: (item: string) => void;\n /**\n * Optional function that takes a string param and returns a string representing the label text\n * for the checkbox associated with that item\n */\n createLabel?: (item: string) => string;\n};\n\n/**\n * Renders a list of checkboxes wrapped in a fieldset element. Each checkbox corresponds to an item\n * from the `listItems` array.\n */\nexport default function Checklist({\n id,\n className,\n legend,\n listItems,\n selectedListItems,\n handleSelectListItem,\n createLabel,\n}: ChecklistProps) {\n return (\n
\n {legend && {legend}}\n {listItems.map((item) => (\n handleSelectListItem(item)}\n />\n ))}\n
\n );\n}\n","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","module.exports = Function.call.bind(Object.prototype.hasOwnProperty);\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n var has = require('./lib/has');\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) { /**/ }\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +\n 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar has = require('./lib/has');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bigint: createPrimitiveTypeChecker('bigint'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message, data) {\n this.message = message;\n this.data = data && typeof data === 'object' ? data: {};\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),\n {expectedType: expectedType}\n );\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var expectedTypes = [];\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);\n if (checkerResult == null) {\n return null;\n }\n if (checkerResult.data && has(checkerResult.data, 'expectedType')) {\n expectedTypes.push(checkerResult.data.expectedType);\n }\n }\n var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function invalidValidatorError(componentName, location, propFullName, key, type) {\n return new PropTypeError(\n (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'\n );\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (has(shapeTypes, key) && typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","export default function chainPropTypes(propType1, propType2) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n return function validate(...args) {\n return propType1(...args) || propType2(...args);\n };\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// https://github.com/sindresorhus/is-plain-obj/blob/main/index.js\nexport function isPlainObject(item) {\n if (typeof item !== 'object' || item === null) {\n return false;\n }\n const prototype = Object.getPrototypeOf(item);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in item) && !(Symbol.iterator in item);\n}\nfunction deepClone(source) {\n if (!isPlainObject(source)) {\n return source;\n }\n const output = {};\n Object.keys(source).forEach(key => {\n output[key] = deepClone(source[key]);\n });\n return output;\n}\nexport default function deepmerge(target, source, options = {\n clone: true\n}) {\n const output = options.clone ? _extends({}, target) : target;\n if (isPlainObject(target) && isPlainObject(source)) {\n Object.keys(source).forEach(key => {\n // Avoid prototype pollution\n if (key === '__proto__') {\n return;\n }\n if (isPlainObject(source[key]) && key in target && isPlainObject(target[key])) {\n // Since `output` is a clone of `target` and we have narrowed `target` in this block we can cast to the same type.\n output[key] = deepmerge(target[key], source[key], options);\n } else if (options.clone) {\n output[key] = isPlainObject(source[key]) ? deepClone(source[key]) : source[key];\n } else {\n output[key] = source[key];\n }\n });\n }\n return output;\n}","import PropTypes from 'prop-types';\nimport chainPropTypes from '../chainPropTypes';\nfunction isClassComponent(elementType) {\n // elementType.prototype?.isReactComponent\n const {\n prototype = {}\n } = elementType;\n return Boolean(prototype.isReactComponent);\n}\nfunction acceptingRef(props, propName, componentName, location, propFullName) {\n const element = props[propName];\n const safePropName = propFullName || propName;\n if (element == null ||\n // When server-side rendering React doesn't warn either.\n // This is not an accurate check for SSR.\n // This is only in place for Emotion compat.\n // TODO: Revisit once https://github.com/facebook/react/issues/20047 is resolved.\n typeof window === 'undefined') {\n return null;\n }\n let warningHint;\n const elementType = element.type;\n /**\n * Blacklisting instead of whitelisting\n *\n * Blacklisting will miss some components, such as React.Fragment. Those will at least\n * trigger a warning in React.\n * We can't whitelist because there is no safe way to detect React.forwardRef\n * or class components. \"Safe\" means there's no public API.\n *\n */\n if (typeof elementType === 'function' && !isClassComponent(elementType)) {\n warningHint = 'Did you accidentally use a plain function component for an element instead?';\n }\n if (warningHint !== undefined) {\n return new Error(`Invalid ${location} \\`${safePropName}\\` supplied to \\`${componentName}\\`. ` + `Expected an element that can hold a ref. ${warningHint} ` + 'For more information see https://mui.com/r/caveat-with-refs-guide');\n }\n return null;\n}\nconst elementAcceptingRef = chainPropTypes(PropTypes.element, acceptingRef);\nelementAcceptingRef.isRequired = chainPropTypes(PropTypes.element.isRequired, acceptingRef);\nexport default elementAcceptingRef;","import PropTypes from 'prop-types';\nimport chainPropTypes from '../chainPropTypes';\nfunction isClassComponent(elementType) {\n // elementType.prototype?.isReactComponent\n const {\n prototype = {}\n } = elementType;\n return Boolean(prototype.isReactComponent);\n}\nfunction elementTypeAcceptingRef(props, propName, componentName, location, propFullName) {\n const propValue = props[propName];\n const safePropName = propFullName || propName;\n if (propValue == null ||\n // When server-side rendering React doesn't warn either.\n // This is not an accurate check for SSR.\n // This is only in place for emotion compat.\n // TODO: Revisit once https://github.com/facebook/react/issues/20047 is resolved.\n typeof window === 'undefined') {\n return null;\n }\n let warningHint;\n\n /**\n * Blacklisting instead of whitelisting\n *\n * Blacklisting will miss some components, such as React.Fragment. Those will at least\n * trigger a warning in React.\n * We can't whitelist because there is no safe way to detect React.forwardRef\n * or class components. \"Safe\" means there's no public API.\n *\n */\n if (typeof propValue === 'function' && !isClassComponent(propValue)) {\n warningHint = 'Did you accidentally provide a plain function component instead?';\n }\n if (warningHint !== undefined) {\n return new Error(`Invalid ${location} \\`${safePropName}\\` supplied to \\`${componentName}\\`. ` + `Expected an element type that can hold a ref. ${warningHint} ` + 'For more information see https://mui.com/r/caveat-with-refs-guide');\n }\n return null;\n}\nexport default chainPropTypes(PropTypes.elementType, elementTypeAcceptingRef);","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// This module is based on https://github.com/airbnb/prop-types-exact repository.\n// However, in order to reduce the number of dependencies and to remove some extra safe checks\n// the module was forked.\n\nconst specialProperty = 'exact-prop: \\u200b';\nexport default function exactProp(propTypes) {\n if (process.env.NODE_ENV === 'production') {\n return propTypes;\n }\n return _extends({}, propTypes, {\n [specialProperty]: props => {\n const unsupportedProps = Object.keys(props).filter(prop => !propTypes.hasOwnProperty(prop));\n if (unsupportedProps.length > 0) {\n return new Error(`The following props are not supported: ${unsupportedProps.map(prop => `\\`${prop}\\``).join(', ')}. Please remove them.`);\n }\n return null;\n }\n });\n}","/**\n * WARNING: Don't import this directly.\n * Use `MuiError` from `@mui/internal-babel-macros/MuiError.macro` instead.\n * @param {number} code\n */\nexport default function formatMuiErrorMessage(code) {\n // Apply babel-plugin-transform-template-literals in loose mode\n // loose mode is safe if we're concatenating primitives\n // see https://babeljs.io/docs/en/babel-plugin-transform-template-literals#loose\n /* eslint-disable prefer-template */\n let url = 'https://mui.com/production-error/?code=' + code;\n for (let i = 1; i < arguments.length; i += 1) {\n // rest params over-transpile for this case\n // eslint-disable-next-line prefer-rest-params\n url += '&args[]=' + encodeURIComponent(arguments[i]);\n }\n return 'Minified MUI error #' + code + '; visit ' + url + ' for the full message.';\n /* eslint-enable prefer-template */\n}","/**\n * @license React\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=Symbol.for(\"react.element\"),c=Symbol.for(\"react.portal\"),d=Symbol.for(\"react.fragment\"),e=Symbol.for(\"react.strict_mode\"),f=Symbol.for(\"react.profiler\"),g=Symbol.for(\"react.provider\"),h=Symbol.for(\"react.context\"),k=Symbol.for(\"react.server_context\"),l=Symbol.for(\"react.forward_ref\"),m=Symbol.for(\"react.suspense\"),n=Symbol.for(\"react.suspense_list\"),p=Symbol.for(\"react.memo\"),q=Symbol.for(\"react.lazy\"),t=Symbol.for(\"react.offscreen\"),u;u=Symbol.for(\"react.module.reference\");\nfunction v(a){if(\"object\"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}exports.ContextConsumer=h;exports.ContextProvider=g;exports.Element=b;exports.ForwardRef=l;exports.Fragment=d;exports.Lazy=q;exports.Memo=p;exports.Portal=c;exports.Profiler=f;exports.StrictMode=e;exports.Suspense=m;\nexports.SuspenseList=n;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return v(a)===h};exports.isContextProvider=function(a){return v(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return v(a)===l};exports.isFragment=function(a){return v(a)===d};exports.isLazy=function(a){return v(a)===q};exports.isMemo=function(a){return v(a)===p};\nexports.isPortal=function(a){return v(a)===c};exports.isProfiler=function(a){return v(a)===f};exports.isStrictMode=function(a){return v(a)===e};exports.isSuspense=function(a){return v(a)===m};exports.isSuspenseList=function(a){return v(a)===n};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||\"object\"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?!0:!1};exports.typeOf=v;\n","/**\n * @license React\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_SERVER_CONTEXT_TYPE = Symbol.for('react.server_context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n case REACT_SUSPENSE_LIST_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_SERVER_CONTEXT_TYPE:\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n}\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar SuspenseList = REACT_SUSPENSE_LIST_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false;\nvar hasWarnedAboutDeprecatedIsConcurrentMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 18+.');\n }\n }\n\n return false;\n}\nfunction isConcurrentMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsConcurrentMode) {\n hasWarnedAboutDeprecatedIsConcurrentMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isConcurrentMode() alias has been deprecated, ' + 'and will be removed in React 18+.');\n }\n }\n\n return false;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\nfunction isSuspenseList(object) {\n return typeOf(object) === REACT_SUSPENSE_LIST_TYPE;\n}\n\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.SuspenseList = SuspenseList;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isSuspenseList = isSuspenseList;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","import { ForwardRef, Memo } from 'react-is';\n\n// Simplified polyfill for IE11 support\n// https://github.com/JamesMGreene/Function.name/blob/58b314d4a983110c3682f1228f845d39ccca1817/Function.name.js#L3\nconst fnNameMatchRegex = /^\\s*function(?:\\s|\\s*\\/\\*.*\\*\\/\\s*)+([^(\\s/]*)\\s*/;\nexport function getFunctionName(fn) {\n const match = `${fn}`.match(fnNameMatchRegex);\n const name = match && match[1];\n return name || '';\n}\nfunction getFunctionComponentName(Component, fallback = '') {\n return Component.displayName || Component.name || getFunctionName(Component) || fallback;\n}\nfunction getWrappedName(outerType, innerType, wrapperName) {\n const functionName = getFunctionComponentName(innerType);\n return outerType.displayName || (functionName !== '' ? `${wrapperName}(${functionName})` : wrapperName);\n}\n\n/**\n * cherry-pick from\n * https://github.com/facebook/react/blob/769b1f270e1251d9dbdce0fcbd9e92e502d059b8/packages/shared/getComponentName.js\n * originally forked from recompose/getDisplayName with added IE11 support\n */\nexport default function getDisplayName(Component) {\n if (Component == null) {\n return undefined;\n }\n if (typeof Component === 'string') {\n return Component;\n }\n if (typeof Component === 'function') {\n return getFunctionComponentName(Component, 'Component');\n }\n\n // TypeScript can't have components as objects but they exist in the form of `memo` or `Suspense`\n if (typeof Component === 'object') {\n switch (Component.$$typeof) {\n case ForwardRef:\n return getWrappedName(Component, Component.render, 'ForwardRef');\n case Memo:\n return getWrappedName(Component, Component.type, 'memo');\n default:\n return undefined;\n }\n }\n return undefined;\n}","export default function HTMLElementType(props, propName, componentName, location, propFullName) {\n if (process.env.NODE_ENV === 'production') {\n return null;\n }\n const propValue = props[propName];\n const safePropName = propFullName || propName;\n if (propValue == null) {\n return null;\n }\n if (propValue && propValue.nodeType !== 1) {\n return new Error(`Invalid ${location} \\`${safePropName}\\` supplied to \\`${componentName}\\`. ` + `Expected an HTMLElement.`);\n }\n return null;\n}","import PropTypes from 'prop-types';\nconst refType = PropTypes.oneOfType([PropTypes.func, PropTypes.object]);\nexport default refType;","import _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\n// It should to be noted that this function isn't equivalent to `text-transform: capitalize`.\n//\n// A strict capitalization should uppercase the first letter of each word in the sentence.\n// We only handle the first word.\nexport default function capitalize(string) {\n if (typeof string !== 'string') {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: \\`capitalize(string)\\` expects a string argument.` : _formatMuiErrorMessage(7));\n }\n return string.charAt(0).toUpperCase() + string.slice(1);\n}","/**\n * Safe chained function.\n *\n * Will only create a new function if needed,\n * otherwise will pass back existing functions or null.\n */\nexport default function createChainedFunction(...funcs) {\n return funcs.reduce((acc, func) => {\n if (func == null) {\n return acc;\n }\n return function chainedFunction(...args) {\n acc.apply(this, args);\n func.apply(this, args);\n };\n }, () => {});\n}","// Corresponds to 10 frames at 60 Hz.\n// A few bytes payload overhead when lodash/debounce is ~3 kB and debounce ~300 B.\nexport default function debounce(func, wait = 166) {\n let timeout;\n function debounced(...args) {\n const later = () => {\n // @ts-ignore\n func.apply(this, args);\n };\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n }\n debounced.clear = () => {\n clearTimeout(timeout);\n };\n return debounced;\n}","export default function deprecatedPropType(validator, reason) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n return (props, propName, componentName, location, propFullName) => {\n const componentNameSafe = componentName || '<>';\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The ${location} \\`${propFullNameSafe}\\` of ` + `\\`${componentNameSafe}\\` is deprecated. ${reason}`);\n }\n return null;\n };\n}","import * as React from 'react';\nexport default function isMuiElement(element, muiNames) {\n var _muiName, _element$type;\n return /*#__PURE__*/React.isValidElement(element) && muiNames.indexOf( // For server components `muiName` is avaialble in element.type._payload.value.muiName\n // relevant info - https://github.com/facebook/react/blob/2807d781a08db8e9873687fccc25c0f12b4fb3d4/packages/react/src/ReactLazy.js#L45\n // eslint-disable-next-line no-underscore-dangle\n (_muiName = element.type.muiName) != null ? _muiName : (_element$type = element.type) == null || (_element$type = _element$type._payload) == null || (_element$type = _element$type.value) == null ? void 0 : _element$type.muiName) !== -1;\n}","export default function ownerDocument(node) {\n return node && node.ownerDocument || document;\n}","import ownerDocument from '../ownerDocument';\nexport default function ownerWindow(node) {\n const doc = ownerDocument(node);\n return doc.defaultView || window;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nexport default function requirePropFactory(componentNameInError, Component) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n\n // eslint-disable-next-line react/forbid-foreign-prop-types\n const prevPropTypes = Component ? _extends({}, Component.propTypes) : null;\n const requireProp = requiredProp => (props, propName, componentName, location, propFullName, ...args) => {\n const propFullNameSafe = propFullName || propName;\n const defaultTypeChecker = prevPropTypes == null ? void 0 : prevPropTypes[propFullNameSafe];\n if (defaultTypeChecker) {\n const typeCheckerResult = defaultTypeChecker(props, propName, componentName, location, propFullName, ...args);\n if (typeCheckerResult) {\n return typeCheckerResult;\n }\n }\n if (typeof props[propName] !== 'undefined' && !props[requiredProp]) {\n return new Error(`The prop \\`${propFullNameSafe}\\` of ` + `\\`${componentNameInError}\\` can only be used together with the \\`${requiredProp}\\` prop.`);\n }\n return null;\n };\n return requireProp;\n}","/**\n * TODO v5: consider making it private\n *\n * passes {value} to {ref}\n *\n * WARNING: Be sure to only call this inside a callback that is passed as a ref.\n * Otherwise, make sure to cleanup the previous {ref} if it changes. See\n * https://github.com/mui/material-ui/issues/13539\n *\n * Useful if you want to expose the ref of an inner component to the public API\n * while still using it inside the component.\n * @param ref A ref callback or ref object. If anything falsy, this is a no-op.\n */\nexport default function setRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n}","'use client';\n\nimport * as React from 'react';\n\n/**\n * A version of `React.useLayoutEffect` that does not show a warning when server-side rendering.\n * This is useful for effects that are only needed for client-side rendering but not for SSR.\n *\n * Before you use this hook, make sure to read https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\n * and confirm it doesn't apply to your use-case.\n */\nconst useEnhancedEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\nexport default useEnhancedEffect;","'use client';\n\nimport * as React from 'react';\nlet globalId = 0;\nfunction useGlobalId(idOverride) {\n const [defaultId, setDefaultId] = React.useState(idOverride);\n const id = idOverride || defaultId;\n React.useEffect(() => {\n if (defaultId == null) {\n // Fallback to this default id when possible.\n // Use the incrementing value for client-side rendering only.\n // We can't use it server-side.\n // If you want to use random values please consider the Birthday Problem: https://en.wikipedia.org/wiki/Birthday_problem\n globalId += 1;\n setDefaultId(`mui-${globalId}`);\n }\n }, [defaultId]);\n return id;\n}\n\n// downstream bundlers may remove unnecessary concatenation, but won't remove toString call -- Workaround for https://github.com/webpack/webpack/issues/14814\nconst maybeReactUseId = React['useId'.toString()];\n/**\n *\n * @example
\n * @param idOverride\n * @returns {string}\n */\nexport default function useId(idOverride) {\n if (maybeReactUseId !== undefined) {\n const reactId = maybeReactUseId();\n return idOverride != null ? idOverride : reactId;\n }\n // eslint-disable-next-line react-hooks/rules-of-hooks -- `React.useId` is invariant at runtime.\n return useGlobalId(idOverride);\n}","export default function unsupportedProp(props, propName, componentName, location, propFullName) {\n if (process.env.NODE_ENV === 'production') {\n return null;\n }\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The prop \\`${propFullNameSafe}\\` is not supported. Please remove it.`);\n }\n return null;\n}","'use client';\n\n/* eslint-disable react-hooks/rules-of-hooks, react-hooks/exhaustive-deps */\nimport * as React from 'react';\nexport default function useControlled({\n controlled,\n default: defaultProp,\n name,\n state = 'value'\n}) {\n // isControlled is ignored in the hook dependency lists as it should never change.\n const {\n current: isControlled\n } = React.useRef(controlled !== undefined);\n const [valueState, setValue] = React.useState(defaultProp);\n const value = isControlled ? controlled : valueState;\n if (process.env.NODE_ENV !== 'production') {\n React.useEffect(() => {\n if (isControlled !== (controlled !== undefined)) {\n console.error([`MUI: A component is changing the ${isControlled ? '' : 'un'}controlled ${state} state of ${name} to be ${isControlled ? 'un' : ''}controlled.`, 'Elements should not switch from uncontrolled to controlled (or vice versa).', `Decide between using a controlled or uncontrolled ${name} ` + 'element for the lifetime of the component.', \"The nature of the state is determined during the first render. It's considered controlled if the value is not `undefined`.\", 'More info: https://fb.me/react-controlled-components'].join('\\n'));\n }\n }, [state, name, controlled]);\n const {\n current: defaultValue\n } = React.useRef(defaultProp);\n React.useEffect(() => {\n if (!isControlled && defaultValue !== defaultProp) {\n console.error([`MUI: A component is changing the default ${state} state of an uncontrolled ${name} after being initialized. ` + `To suppress this warning opt to use a controlled ${name}.`].join('\\n'));\n }\n }, [JSON.stringify(defaultProp)]);\n }\n const setValueIfUncontrolled = React.useCallback(newValue => {\n if (!isControlled) {\n setValue(newValue);\n }\n }, []);\n return [value, setValueIfUncontrolled];\n}","'use client';\n\nimport * as React from 'react';\nimport useEnhancedEffect from '../useEnhancedEffect';\n\n/**\n * Inspired by https://github.com/facebook/react/issues/14099#issuecomment-440013892\n * See RFC in https://github.com/reactjs/rfcs/pull/220\n */\n\nfunction useEventCallback(fn) {\n const ref = React.useRef(fn);\n useEnhancedEffect(() => {\n ref.current = fn;\n });\n return React.useRef((...args) =>\n // @ts-expect-error hide `this`\n (0, ref.current)(...args)).current;\n}\nexport default useEventCallback;","'use client';\n\nimport * as React from 'react';\nimport setRef from '../setRef';\nexport default function useForkRef(...refs) {\n /**\n * This will create a new function if the refs passed to this hook change and are all defined.\n * This means react will call the old forkRef with `null` and the new forkRef\n * with the ref. Cleanup naturally emerges from this behavior.\n */\n return React.useMemo(() => {\n if (refs.every(ref => ref == null)) {\n return null;\n }\n return instance => {\n refs.forEach(ref => {\n setRef(ref, instance);\n });\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, refs);\n}","'use client';\n\nimport * as React from 'react';\nconst UNINITIALIZED = {};\n\n/**\n * A React.useRef() that is initialized lazily with a function. Note that it accepts an optional\n * initialization argument, so the initialization function doesn't need to be an inline closure.\n *\n * @usage\n * const ref = useLazyRef(sortColumns, columns)\n */\nexport default function useLazyRef(init, initArg) {\n const ref = React.useRef(UNINITIALIZED);\n if (ref.current === UNINITIALIZED) {\n ref.current = init(initArg);\n }\n return ref;\n}","'use client';\n\nimport * as React from 'react';\nconst EMPTY = [];\n\n/**\n * A React.useEffect equivalent that runs once, when the component is mounted.\n */\nexport default function useOnMount(fn) {\n /* eslint-disable react-hooks/exhaustive-deps */\n React.useEffect(fn, EMPTY);\n /* eslint-enable react-hooks/exhaustive-deps */\n}","'use client';\n\nimport useLazyRef from '../useLazyRef/useLazyRef';\nimport useOnMount from '../useOnMount/useOnMount';\nexport class Timeout {\n constructor() {\n this.currentId = null;\n this.clear = () => {\n if (this.currentId !== null) {\n clearTimeout(this.currentId);\n this.currentId = null;\n }\n };\n this.disposeEffect = () => {\n return this.clear;\n };\n }\n static create() {\n return new Timeout();\n }\n /**\n * Executes `fn` after `delay`, clearing any previously scheduled call.\n */\n start(delay, fn) {\n this.clear();\n this.currentId = setTimeout(() => {\n this.currentId = null;\n fn();\n }, delay);\n }\n}\nexport default function useTimeout() {\n const timeout = useLazyRef(Timeout.create).current;\n useOnMount(timeout.disposeEffect);\n return timeout;\n}","'use client';\n\n// based on https://github.com/WICG/focus-visible/blob/v4.1.5/src/focus-visible.js\nimport * as React from 'react';\nimport { Timeout } from '../useTimeout/useTimeout';\nlet hadKeyboardEvent = true;\nlet hadFocusVisibleRecently = false;\nconst hadFocusVisibleRecentlyTimeout = new Timeout();\nconst inputTypesWhitelist = {\n text: true,\n search: true,\n url: true,\n tel: true,\n email: true,\n password: true,\n number: true,\n date: true,\n month: true,\n week: true,\n time: true,\n datetime: true,\n 'datetime-local': true\n};\n\n/**\n * Computes whether the given element should automatically trigger the\n * `focus-visible` class being added, i.e. whether it should always match\n * `:focus-visible` when focused.\n * @param {Element} node\n * @returns {boolean}\n */\nfunction focusTriggersKeyboardModality(node) {\n const {\n type,\n tagName\n } = node;\n if (tagName === 'INPUT' && inputTypesWhitelist[type] && !node.readOnly) {\n return true;\n }\n if (tagName === 'TEXTAREA' && !node.readOnly) {\n return true;\n }\n if (node.isContentEditable) {\n return true;\n }\n return false;\n}\n\n/**\n * Keep track of our keyboard modality state with `hadKeyboardEvent`.\n * If the most recent user interaction was via the keyboard;\n * and the key press did not include a meta, alt/option, or control key;\n * then the modality is keyboard. Otherwise, the modality is not keyboard.\n * @param {KeyboardEvent} event\n */\nfunction handleKeyDown(event) {\n if (event.metaKey || event.altKey || event.ctrlKey) {\n return;\n }\n hadKeyboardEvent = true;\n}\n\n/**\n * If at any point a user clicks with a pointing device, ensure that we change\n * the modality away from keyboard.\n * This avoids the situation where a user presses a key on an already focused\n * element, and then clicks on a different element, focusing it with a\n * pointing device, while we still think we're in keyboard modality.\n */\nfunction handlePointerDown() {\n hadKeyboardEvent = false;\n}\nfunction handleVisibilityChange() {\n if (this.visibilityState === 'hidden') {\n // If the tab becomes active again, the browser will handle calling focus\n // on the element (Safari actually calls it twice).\n // If this tab change caused a blur on an element with focus-visible,\n // re-apply the class when the user switches back to the tab.\n if (hadFocusVisibleRecently) {\n hadKeyboardEvent = true;\n }\n }\n}\nfunction prepare(doc) {\n doc.addEventListener('keydown', handleKeyDown, true);\n doc.addEventListener('mousedown', handlePointerDown, true);\n doc.addEventListener('pointerdown', handlePointerDown, true);\n doc.addEventListener('touchstart', handlePointerDown, true);\n doc.addEventListener('visibilitychange', handleVisibilityChange, true);\n}\nexport function teardown(doc) {\n doc.removeEventListener('keydown', handleKeyDown, true);\n doc.removeEventListener('mousedown', handlePointerDown, true);\n doc.removeEventListener('pointerdown', handlePointerDown, true);\n doc.removeEventListener('touchstart', handlePointerDown, true);\n doc.removeEventListener('visibilitychange', handleVisibilityChange, true);\n}\nfunction isFocusVisible(event) {\n const {\n target\n } = event;\n try {\n return target.matches(':focus-visible');\n } catch (error) {\n // Browsers not implementing :focus-visible will throw a SyntaxError.\n // We use our own heuristic for those browsers.\n // Rethrow might be better if it's not the expected error but do we really\n // want to crash if focus-visible malfunctioned?\n }\n\n // No need for validFocusTarget check. The user does that by attaching it to\n // focusable events only.\n return hadKeyboardEvent || focusTriggersKeyboardModality(target);\n}\nexport default function useIsFocusVisible() {\n const ref = React.useCallback(node => {\n if (node != null) {\n prepare(node.ownerDocument);\n }\n }, []);\n const isFocusVisibleRef = React.useRef(false);\n\n /**\n * Should be called if a blur event is fired\n */\n function handleBlurVisible() {\n // checking against potential state variable does not suffice if we focus and blur synchronously.\n // React wouldn't have time to trigger a re-render so `focusVisible` would be stale.\n // Ideally we would adjust `isFocusVisible(event)` to look at `relatedTarget` for blur events.\n // This doesn't work in IE11 due to https://github.com/facebook/react/issues/3751\n // TODO: check again if React releases their internal changes to focus event handling (https://github.com/facebook/react/pull/19186).\n if (isFocusVisibleRef.current) {\n // To detect a tab/window switch, we look for a blur event followed\n // rapidly by a visibility change.\n // If we don't see a visibility change within 100ms, it's probably a\n // regular focus change.\n hadFocusVisibleRecently = true;\n hadFocusVisibleRecentlyTimeout.start(100, () => {\n hadFocusVisibleRecently = false;\n });\n isFocusVisibleRef.current = false;\n return true;\n }\n return false;\n }\n\n /**\n * Should be called if a blur event is fired\n */\n function handleFocusVisible(event) {\n if (isFocusVisible(event)) {\n isFocusVisibleRef.current = true;\n return true;\n }\n return false;\n }\n return {\n isFocusVisibleRef,\n onFocus: handleFocusVisible,\n onBlur: handleBlurVisible,\n ref\n };\n}","// A change of the browser zoom change the scrollbar size.\n// Credit https://github.com/twbs/bootstrap/blob/488fd8afc535ca3a6ad4dc581f5e89217b6a36ac/js/src/util/scrollbar.js#L14-L18\nexport default function getScrollbarSize(doc) {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n const documentWidth = doc.documentElement.clientWidth;\n return Math.abs(window.innerWidth - documentWidth);\n}","export function getTypeByValue(value) {\n const valueType = typeof value;\n switch (valueType) {\n case 'number':\n if (Number.isNaN(value)) {\n return 'NaN';\n }\n if (!Number.isFinite(value)) {\n return 'Infinity';\n }\n if (value !== Math.floor(value)) {\n return 'float';\n }\n return 'number';\n case 'object':\n if (value === null) {\n return 'null';\n }\n return value.constructor.name;\n default:\n return valueType;\n }\n}\n\n// IE 11 support\nfunction ponyfillIsInteger(x) {\n // eslint-disable-next-line no-restricted-globals\n return typeof x === 'number' && isFinite(x) && Math.floor(x) === x;\n}\nconst isInteger = Number.isInteger || ponyfillIsInteger;\nfunction requiredInteger(props, propName, componentName, location) {\n const propValue = props[propName];\n if (propValue == null || !isInteger(propValue)) {\n const propType = getTypeByValue(propValue);\n return new RangeError(`Invalid ${location} \\`${propName}\\` of type \\`${propType}\\` supplied to \\`${componentName}\\`, expected \\`integer\\`.`);\n }\n return null;\n}\nfunction validator(props, propName, ...other) {\n const propValue = props[propName];\n if (propValue === undefined) {\n return null;\n }\n return requiredInteger(props, propName, ...other);\n}\nfunction validatorNoop() {\n return null;\n}\nvalidator.isRequired = requiredInteger;\nvalidatorNoop.isRequired = validatorNoop;\nexport default process.env.NODE_ENV === 'production' ? validatorNoop : validator;","import _extends from \"@babel/runtime/helpers/esm/extends\";\n/**\n * Add keys, values of `defaultProps` that does not exist in `props`\n * @param {object} defaultProps\n * @param {object} props\n * @returns {object} resolved props\n */\nexport default function resolveProps(defaultProps, props) {\n const output = _extends({}, props);\n Object.keys(defaultProps).forEach(propName => {\n if (propName.toString().match(/^(components|slots)$/)) {\n output[propName] = _extends({}, defaultProps[propName], output[propName]);\n } else if (propName.toString().match(/^(componentsProps|slotProps)$/)) {\n const defaultSlotProps = defaultProps[propName] || {};\n const slotProps = props[propName];\n output[propName] = {};\n if (!slotProps || !Object.keys(slotProps)) {\n // Reduce the iteration if the slot props is empty\n output[propName] = defaultSlotProps;\n } else if (!defaultSlotProps || !Object.keys(defaultSlotProps)) {\n // Reduce the iteration if the default slot props is empty\n output[propName] = slotProps;\n } else {\n output[propName] = _extends({}, slotProps);\n Object.keys(defaultSlotProps).forEach(slotPropName => {\n output[propName][slotPropName] = resolveProps(defaultSlotProps[slotPropName], slotProps[slotPropName]);\n });\n }\n } else if (output[propName] === undefined) {\n output[propName] = defaultProps[propName];\n }\n });\n return output;\n}","export default function composeClasses(slots, getUtilityClass, classes = undefined) {\n const output = {};\n Object.keys(slots).forEach(\n // `Object.keys(slots)` can't be wider than `T` because we infer `T` from `slots`.\n // @ts-expect-error https://github.com/microsoft/TypeScript/pull/12253#issuecomment-263132208\n slot => {\n output[slot] = slots[slot].reduce((acc, key) => {\n if (key) {\n const utilityClass = getUtilityClass(key);\n if (utilityClass !== '') {\n acc.push(utilityClass);\n }\n if (classes && classes[key]) {\n acc.push(classes[key]);\n }\n }\n return acc;\n }, []).join(' ');\n });\n return output;\n}","const defaultGenerator = componentName => componentName;\nconst createClassNameGenerator = () => {\n let generate = defaultGenerator;\n return {\n configure(generator) {\n generate = generator;\n },\n generate(componentName) {\n return generate(componentName);\n },\n reset() {\n generate = defaultGenerator;\n }\n };\n};\nconst ClassNameGenerator = createClassNameGenerator();\nexport default ClassNameGenerator;","import ClassNameGenerator from '../ClassNameGenerator';\nexport const globalStateClasses = {\n active: 'active',\n checked: 'checked',\n completed: 'completed',\n disabled: 'disabled',\n error: 'error',\n expanded: 'expanded',\n focused: 'focused',\n focusVisible: 'focusVisible',\n open: 'open',\n readOnly: 'readOnly',\n required: 'required',\n selected: 'selected'\n};\nexport default function generateUtilityClass(componentName, slot, globalStatePrefix = 'Mui') {\n const globalStateClass = globalStateClasses[slot];\n return globalStateClass ? `${globalStatePrefix}-${globalStateClass}` : `${ClassNameGenerator.generate(componentName)}-${slot}`;\n}\nexport function isGlobalState(slot) {\n return globalStateClasses[slot] !== undefined;\n}","import generateUtilityClass from '../generateUtilityClass';\nexport default function generateUtilityClasses(componentName, slots, globalStatePrefix = 'Mui') {\n const result = {};\n slots.forEach(slot => {\n result[slot] = generateUtilityClass(componentName, slot, globalStatePrefix);\n });\n return result;\n}","function clamp(val, min = Number.MIN_SAFE_INTEGER, max = Number.MAX_SAFE_INTEGER) {\n return Math.max(min, Math.min(val, max));\n}\nexport default clamp;","/**\n * Determines if a given element is a DOM element name (i.e. not a React component).\n */\nexport function isHostComponent(element) {\n return typeof element === 'string';\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { isHostComponent } from './isHostComponent';\n\n/**\n * Type of the ownerState based on the type of an element it applies to.\n * This resolves to the provided OwnerState for React components and `undefined` for host components.\n * Falls back to `OwnerState | undefined` when the exact type can't be determined in development time.\n */\n\n/**\n * Appends the ownerState object to the props, merging with the existing one if necessary.\n *\n * @param elementType Type of the element that owns the `existingProps`. If the element is a DOM node or undefined, `ownerState` is not applied.\n * @param otherProps Props of the element.\n * @param ownerState\n */\nexport function appendOwnerState(elementType, otherProps, ownerState) {\n if (elementType === undefined || isHostComponent(elementType)) {\n return otherProps;\n }\n return _extends({}, otherProps, {\n ownerState: _extends({}, otherProps.ownerState, ownerState)\n });\n}","'use client';\n\nimport * as React from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst defaultContextValue = {\n disableDefaultClasses: false\n};\nconst ClassNameConfiguratorContext = /*#__PURE__*/React.createContext(defaultContextValue);\n/**\n * @ignore - internal hook.\n *\n * Wraps the `generateUtilityClass` function and controls how the classes are generated.\n * Currently it only affects whether the classes are applied or not.\n *\n * @returns Function to be called with the `generateUtilityClass` function specific to a component to generate the classes.\n */\nexport function useClassNamesOverride(generateUtilityClass) {\n const {\n disableDefaultClasses\n } = React.useContext(ClassNameConfiguratorContext);\n return slot => {\n if (disableDefaultClasses) {\n return '';\n }\n return generateUtilityClass(slot);\n };\n}\n\n/**\n * Allows to configure the components within to not apply any built-in classes.\n */\nexport function ClassNameConfigurator(props) {\n const {\n disableDefaultClasses,\n children\n } = props;\n const contextValue = React.useMemo(() => ({\n disableDefaultClasses: disableDefaultClasses != null ? disableDefaultClasses : false\n }), [disableDefaultClasses]);\n return /*#__PURE__*/_jsx(ClassNameConfiguratorContext.Provider, {\n value: contextValue,\n children: children\n });\n}","/**\n * Extracts event handlers from a given object.\n * A prop is considered an event handler if it is a function and its name starts with `on`.\n *\n * @param object An object to extract event handlers from.\n * @param excludeKeys An array of keys to exclude from the returned object.\n */\nexport function extractEventHandlers(object, excludeKeys = []) {\n if (object === undefined) {\n return {};\n }\n const result = {};\n Object.keys(object).filter(prop => prop.match(/^on[A-Z]/) && typeof object[prop] === 'function' && !excludeKeys.includes(prop)).forEach(prop => {\n result[prop] = object[prop];\n });\n return result;\n}","/**\n * If `componentProps` is a function, calls it with the provided `ownerState`.\n * Otherwise, just returns `componentProps`.\n */\nexport function resolveComponentProps(componentProps, ownerState, slotState) {\n if (typeof componentProps === 'function') {\n return componentProps(ownerState, slotState);\n }\n return componentProps;\n}","/**\n * Removes event handlers from the given object.\n * A field is considered an event handler if it is a function with a name beginning with `on`.\n *\n * @param object Object to remove event handlers from.\n * @returns Object with event handlers removed.\n */\nexport function omitEventHandlers(object) {\n if (object === undefined) {\n return {};\n }\n const result = {};\n Object.keys(object).filter(prop => !(prop.match(/^on[A-Z]/) && typeof object[prop] === 'function')).forEach(prop => {\n result[prop] = object[prop];\n });\n return result;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport clsx from 'clsx';\nimport { extractEventHandlers } from './extractEventHandlers';\nimport { omitEventHandlers } from './omitEventHandlers';\n/**\n * Merges the slot component internal props (usually coming from a hook)\n * with the externally provided ones.\n *\n * The merge order is (the latter overrides the former):\n * 1. The internal props (specified as a getter function to work with get*Props hook result)\n * 2. Additional props (specified internally on a Base UI component)\n * 3. External props specified on the owner component. These should only be used on a root slot.\n * 4. External props specified in the `slotProps.*` prop.\n * 5. The `className` prop - combined from all the above.\n * @param parameters\n * @returns\n */\nexport function mergeSlotProps(parameters) {\n const {\n getSlotProps,\n additionalProps,\n externalSlotProps,\n externalForwardedProps,\n className\n } = parameters;\n if (!getSlotProps) {\n // The simpler case - getSlotProps is not defined, so no internal event handlers are defined,\n // so we can simply merge all the props without having to worry about extracting event handlers.\n const joinedClasses = clsx(additionalProps == null ? void 0 : additionalProps.className, className, externalForwardedProps == null ? void 0 : externalForwardedProps.className, externalSlotProps == null ? void 0 : externalSlotProps.className);\n const mergedStyle = _extends({}, additionalProps == null ? void 0 : additionalProps.style, externalForwardedProps == null ? void 0 : externalForwardedProps.style, externalSlotProps == null ? void 0 : externalSlotProps.style);\n const props = _extends({}, additionalProps, externalForwardedProps, externalSlotProps);\n if (joinedClasses.length > 0) {\n props.className = joinedClasses;\n }\n if (Object.keys(mergedStyle).length > 0) {\n props.style = mergedStyle;\n }\n return {\n props,\n internalRef: undefined\n };\n }\n\n // In this case, getSlotProps is responsible for calling the external event handlers.\n // We don't need to include them in the merged props because of this.\n\n const eventHandlers = extractEventHandlers(_extends({}, externalForwardedProps, externalSlotProps));\n const componentsPropsWithoutEventHandlers = omitEventHandlers(externalSlotProps);\n const otherPropsWithoutEventHandlers = omitEventHandlers(externalForwardedProps);\n const internalSlotProps = getSlotProps(eventHandlers);\n\n // The order of classes is important here.\n // Emotion (that we use in libraries consuming Base UI) depends on this order\n // to properly override style. It requires the most important classes to be last\n // (see https://github.com/mui/material-ui/pull/33205) for the related discussion.\n const joinedClasses = clsx(internalSlotProps == null ? void 0 : internalSlotProps.className, additionalProps == null ? void 0 : additionalProps.className, className, externalForwardedProps == null ? void 0 : externalForwardedProps.className, externalSlotProps == null ? void 0 : externalSlotProps.className);\n const mergedStyle = _extends({}, internalSlotProps == null ? void 0 : internalSlotProps.style, additionalProps == null ? void 0 : additionalProps.style, externalForwardedProps == null ? void 0 : externalForwardedProps.style, externalSlotProps == null ? void 0 : externalSlotProps.style);\n const props = _extends({}, internalSlotProps, additionalProps, otherPropsWithoutEventHandlers, componentsPropsWithoutEventHandlers);\n if (joinedClasses.length > 0) {\n props.className = joinedClasses;\n }\n if (Object.keys(mergedStyle).length > 0) {\n props.style = mergedStyle;\n }\n return {\n props,\n internalRef: internalSlotProps.ref\n };\n}","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"elementType\", \"externalSlotProps\", \"ownerState\", \"skipResolvingSlotProps\"];\nimport { unstable_useForkRef as useForkRef } from '@mui/utils';\nimport { appendOwnerState } from './appendOwnerState';\nimport { mergeSlotProps } from './mergeSlotProps';\nimport { resolveComponentProps } from './resolveComponentProps';\n/**\n * @ignore - do not document.\n * Builds the props to be passed into the slot of an unstyled component.\n * It merges the internal props of the component with the ones supplied by the user, allowing to customize the behavior.\n * If the slot component is not a host component, it also merges in the `ownerState`.\n *\n * @param parameters.getSlotProps - A function that returns the props to be passed to the slot component.\n */\nexport function useSlotProps(parameters) {\n var _parameters$additiona;\n const {\n elementType,\n externalSlotProps,\n ownerState,\n skipResolvingSlotProps = false\n } = parameters,\n rest = _objectWithoutPropertiesLoose(parameters, _excluded);\n const resolvedComponentsProps = skipResolvingSlotProps ? {} : resolveComponentProps(externalSlotProps, ownerState);\n const {\n props: mergedProps,\n internalRef\n } = mergeSlotProps(_extends({}, rest, {\n externalSlotProps: resolvedComponentsProps\n }));\n const ref = useForkRef(internalRef, resolvedComponentsProps == null ? void 0 : resolvedComponentsProps.ref, (_parameters$additiona = parameters.additionalProps) == null ? void 0 : _parameters$additiona.ref);\n const props = appendOwnerState(elementType, _extends({}, mergedProps, {\n ref\n }), ownerState);\n return props;\n}","import { globalStateClasses } from '@mui/utils/generateUtilityClass';\nconst GLOBAL_CLASS_PREFIX = 'base';\nfunction buildStateClass(state) {\n return `${GLOBAL_CLASS_PREFIX}--${state}`;\n}\nfunction buildSlotClass(componentName, slot) {\n return `${GLOBAL_CLASS_PREFIX}-${componentName}-${slot}`;\n}\nexport function generateUtilityClass(componentName, slot) {\n const globalStateClass = globalStateClasses[slot];\n return globalStateClass ? buildStateClass(globalStateClass) : buildSlotClass(componentName, slot);\n}\nexport function isGlobalState(slot) {\n return globalStateClasses[slot] !== undefined;\n}","import { generateUtilityClass } from '../generateUtilityClass';\nexport function generateUtilityClasses(componentName, slots) {\n const result = {};\n slots.forEach(slot => {\n result[slot] = generateUtilityClass(componentName, slot);\n });\n return result;\n}","'use client';\n\n/* eslint-disable consistent-return, jsx-a11y/no-noninteractive-tabindex */\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { exactProp, elementAcceptingRef, unstable_useForkRef as useForkRef, unstable_ownerDocument as ownerDocument } from '@mui/utils';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n// Inspired by https://github.com/focus-trap/tabbable\nconst candidatesSelector = ['input', 'select', 'textarea', 'a[href]', 'button', '[tabindex]', 'audio[controls]', 'video[controls]', '[contenteditable]:not([contenteditable=\"false\"])'].join(',');\nfunction getTabIndex(node) {\n const tabindexAttr = parseInt(node.getAttribute('tabindex') || '', 10);\n if (!Number.isNaN(tabindexAttr)) {\n return tabindexAttr;\n }\n\n // Browsers do not return `tabIndex` correctly for contentEditable nodes;\n // https://bugs.chromium.org/p/chromium/issues/detail?id=661108&q=contenteditable%20tabindex&can=2\n // so if they don't have a tabindex attribute specifically set, assume it's 0.\n // in Chrome,
,
\n );\n}\n\nexport default ChapterSelect;\n","import { Canon } from '@sillsdev/scripture';\nimport { PropsWithChildren, KeyboardEvent, forwardRef } from 'react';\nimport { DropdownMenuItem as ShadDropdownMenuItem } from '@/components/shadcn-ui/dropdown-menu';\nimport { cn } from '@/utils/shadcn-ui.util';\n\nexport type BookType = 'OT' | 'NT' | 'DC';\n\ntype BookMenuItemProps = PropsWithChildren<{\n /** String id of book */\n bookId: string;\n /** Callback to run when a book menu item is selected */\n handleSelectBook: () => void;\n /** Indicates if this menu item is currently selected */\n isSelected: boolean;\n /** Function that is called upon highlighting a book in the dropdown menu */\n handleHighlightBook: () => void;\n /**\n * Function that is called on pressing a key\n *\n * @param event Event that contains information about the key stroke\n */\n handleKeyDown: (event: KeyboardEvent) => void;\n /**\n * Type of book associated with this menu item, coordinates color labels ? Mock up has the labels\n * coordinated to genre\n */\n bookType: BookType;\n}>;\n\nconst BookMenuItem = forwardRef(\n (\n {\n bookId,\n handleSelectBook,\n isSelected,\n handleHighlightBook,\n handleKeyDown,\n bookType,\n children,\n }: BookMenuItemProps,\n ref,\n ) => {\n return (\n {\n // preventDefault() here prevents the entire dropdown menu from closing when selecting this item\n event.preventDefault();\n handleSelectBook();\n }}\n onKeyDown={(event: KeyboardEvent) => {\n handleKeyDown(event);\n }}\n onFocus={handleHighlightBook}\n onMouseMove={handleHighlightBook}\n >\n \n {Canon.bookIdToEnglishName(bookId)}\n \n {isSelected &&
{children}
}\n \n );\n },\n);\n\nexport default BookMenuItem;\n","import { DropdownMenuLabel as ShadDropdownMenuLabel } from '@/components/shadcn-ui/dropdown-menu';\nimport { Bookmark, Clock, ArrowDownWideNarrow } from 'lucide-react';\n\nexport type GoToMenuItemProps = {\n handleSort: () => void;\n handleLocationHistory: () => void;\n handleBookmarks: () => void;\n};\n\nfunction GoToMenuItem({ handleSort, handleLocationHistory, handleBookmarks }: GoToMenuItemProps) {\n return (\n \n

Go To

\n
\n \n \n \n
\n
\n );\n}\n\nexport default GoToMenuItem;\n","import {\n KeyboardEvent as ReactKeyboardEvent,\n useCallback,\n useEffect,\n useLayoutEffect,\n useRef,\n useState,\n} from 'react';\nimport { Canon } from '@sillsdev/scripture';\nimport { ScriptureReference, getChaptersForBook } from 'platform-bible-utils';\nimport {\n DropdownMenuTrigger as ShadDropdownMenuTrigger,\n DropdownMenu as ShadDropdownMenu,\n DropdownMenuContent as ShadDropdownMenuContent,\n DropdownMenuLabel as ShadDropdownMenuLabel,\n DropdownMenuSeparator as ShadDropdownMenuSeparator,\n} from '@/components/shadcn-ui/dropdown-menu';\nimport BookChapterInput from '@/components/book-chapter-control/book-chapter-input.component';\nimport ChapterSelect from '@/components/book-chapter-control/chapter-select.component';\nimport BookMenuItem, { BookType } from '@/components/book-chapter-control/book-menu-item.component';\nimport GoToMenuItem from './go-to-menu-item.component';\n\ntype BookTypeLabels = {\n [bookType in BookType]: string;\n};\ntype BookChapterControlProps = {\n scrRef: ScriptureReference;\n handleSubmit: (scrRef: ScriptureReference) => void;\n};\n\nconst ALL_BOOK_IDS = Canon.allBookIds;\nconst BOOK_TYPE_LABELS: BookTypeLabels = {\n OT: 'Old Testament',\n NT: 'New Testament',\n DC: 'Deuterocanon',\n};\nconst BOOK_TYPE_ARRAY: BookType[] = ['OT', 'NT', 'DC'];\n// This is the height of three menu items to offset scrolling to the selected menu item\n// If you use menuItemRef.clientHeight- includes height of chapter div which is too big\nconst SCROLL_OFFSET = 32 + 32 + 32;\nconst SEARCH_QUERY_FORMATS = [\n /^(\\w+)$/i, // Matches a single word (book name or id)\n /^(\\w+)(?:\\s(\\d+))$/i, // Matches a word followed by a chapter number\n /^(\\w+)(?:\\s(\\d+):(\\d+))$/i, // Matches a word followed by a chapter and verse number\n];\nconst fetchGroupedBooks = (bookType: BookType) => {\n const groupedBooks = {\n OT: ALL_BOOK_IDS.filter((bookId) => Canon.isBookOT(bookId)),\n NT: ALL_BOOK_IDS.filter((bookId) => Canon.isBookNT(bookId)),\n DC: ALL_BOOK_IDS.filter((bookId) => Canon.isBookDC(bookId)),\n };\n return groupedBooks[bookType];\n};\nconst fetchEndChapter = (bookId: string) => {\n // getChaptersForBook returns -1 if not found in scrBookData\n // scrBookData only includes OT and NT, so all DC will return -1\n return getChaptersForBook(Canon.bookIdToNumber(bookId));\n};\n\n/**\n * Gets all of the English names from book ids\n *\n * @returns String[]\n */\nfunction getAllEnglishNames(): string[] {\n const allEnglishNames = ALL_BOOK_IDS.map((bookId) => {\n return Canon.bookIdToEnglishName(bookId);\n });\n return allEnglishNames;\n}\n\n/**\n * Determines if bookName is in allEnglishNames\n *\n * @param bookName Book English name\n * @returns True if bookName is included, false otherwise\n */\nfunction isValidBookEnglishName(bookName: string): boolean {\n return getAllEnglishNames().includes(bookName);\n}\n\n/**\n * Gets a bookId from given English name\n *\n * @param bookName Book English name\n * @returns BookId of provided bookName, undefined otherwise\n */\nfunction getBookIdFromEnglishName(bookName: string): string | undefined {\n // Convert bookName to lowercase and then capitalize the first letter\n const formattedBookName = bookName.toLowerCase().replace(/^\\w/, (c) => c.toUpperCase());\n\n if (isValidBookEnglishName(formattedBookName)) {\n const matchingBookId = ALL_BOOK_IDS.find((bookId) => {\n return Canon.bookIdToEnglishName(bookId) === formattedBookName;\n });\n return matchingBookId;\n }\n\n return undefined;\n}\n\nfunction BookChapterControl({ scrRef, handleSubmit }: BookChapterControlProps) {\n const [searchQuery, setSearchQuery] = useState('');\n const [selectedBookId, setSelectedBookId] = useState(\n Canon.bookNumberToId(scrRef.bookNum),\n );\n const [highlightedChapter, setHighlightedChapter] = useState(scrRef.chapterNum ?? 0);\n const [highlightedBookId, setHighlightedBookId] = useState(\n Canon.bookNumberToId(scrRef.bookNum),\n );\n const [isContentOpen, setIsContentOpen] = useState(false);\n const [isContentOpenDelayed, setIsContentOpenDelayed] = useState(isContentOpen);\n\n // This ref will always be defined\n // eslint-disable-next-line no-type-assertion/no-type-assertion\n const inputRef = useRef(undefined!);\n // eslint-disable-next-line no-type-assertion/no-type-assertion\n const contentRef = useRef(undefined!);\n // eslint-disable-next-line no-type-assertion/no-type-assertion\n const menuItemRef = useRef(undefined!);\n\n const fetchFilteredBooks = useCallback(\n (bookType: BookType) => {\n return fetchGroupedBooks(bookType).filter((bookId: string) => {\n const englishNameLowerCase = Canon.bookIdToEnglishName(bookId).toLowerCase();\n const normalizedQuery = searchQuery.replace(/[^a-zA-Z]/g, '').toLowerCase();\n return (\n englishNameLowerCase.includes(normalizedQuery) || // Match book name\n bookId.toLowerCase().includes(normalizedQuery) // Match book ID\n );\n });\n },\n [searchQuery],\n );\n\n const handleSearchInput = (searchString: string) => {\n setSearchQuery(searchString);\n };\n\n /**\n * Whether to prevent radix's logic from closing the dropdown. This is important because radix\n * tries to close the dropdown when the input first focuses, and we don't want it to do that. But\n * we don't want to prevent the dropdown from closing when we click away from the input, so we\n * don't want to just keep it open if the input is focused\n */\n const shouldPreventAutoClosing = useRef(false);\n\n const controlMenuState = useCallback((open: boolean) => {\n if (shouldPreventAutoClosing.current) {\n shouldPreventAutoClosing.current = false;\n return;\n }\n setIsContentOpen(open);\n }, []);\n\n const updateReference = useCallback(\n (bookId: string, shouldClose: boolean, chapter?: number, verse?: number) => {\n setHighlightedChapter(\n Canon.bookNumberToId(scrRef.bookNum) !== bookId ? 1 : scrRef.chapterNum,\n );\n\n if (shouldClose || fetchEndChapter(bookId) === -1) {\n handleSubmit({\n bookNum: Canon.bookIdToNumber(bookId),\n chapterNum: chapter || 1,\n verseNum: verse || 1,\n });\n\n setIsContentOpen(false);\n setSearchQuery('');\n return;\n }\n\n setSelectedBookId(selectedBookId !== bookId ? bookId : '');\n setIsContentOpen(!shouldClose);\n },\n [handleSubmit, scrRef.bookNum, scrRef.chapterNum, selectedBookId],\n );\n\n const handleSelectChapter = (chapterNumber: number) => {\n if (chapterNumber <= 0 || chapterNumber > fetchEndChapter(selectedBookId)) {\n return;\n }\n updateReference(selectedBookId, true, chapterNumber);\n };\n\n const handleInputSubmit = useCallback(() => {\n SEARCH_QUERY_FORMATS.forEach((format) => {\n const matches = searchQuery.match(format);\n if (matches) {\n // Book should be a bookId or an english name\n const [book, chapter = undefined, verse = undefined] = matches.slice(1);\n const englishName = getBookIdFromEnglishName(book);\n\n if (Canon.isBookIdValid(book) || englishName) {\n updateReference(\n englishName ?? book,\n true,\n chapter ? parseInt(chapter, 10) : 1,\n verse ? parseInt(verse, 10) : 1,\n );\n }\n }\n });\n }, [updateReference, searchQuery]);\n\n const handleKeyDownInput = useCallback(\n (event: ReactKeyboardEvent) => {\n if (!isContentOpen) {\n setIsContentOpen(true);\n } else if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n if (\n typeof menuItemRef !== 'undefined' &&\n // Ref uses null\n // eslint-disable-next-line no-null/no-null\n menuItemRef.current !== null\n ) {\n menuItemRef.current.focus();\n } else if (\n typeof contentRef !== 'undefined' &&\n // Ref uses null\n // eslint-disable-next-line no-null/no-null\n contentRef.current !== null\n ) {\n contentRef.current.focus();\n }\n event.preventDefault();\n }\n },\n [isContentOpen],\n );\n\n const handleKeyDownContent = (event: ReactKeyboardEvent) => {\n // When the dropdown menu has focus, key strokes should give focus to the input component,\n // unless they're navigation keys (arrows and enter)\n const { key } = event;\n if (\n key === 'ArrowRight' ||\n key === 'ArrowLeft' ||\n key === 'ArrowDown' ||\n key === 'ArrowUp' ||\n key === 'Enter'\n ) {\n return;\n }\n\n inputRef.current.dispatchEvent(new KeyboardEvent('keydown', { key }));\n inputRef.current.focus();\n };\n\n const handleKeyDownMenuItem = (event: ReactKeyboardEvent) => {\n const { key } = event;\n if (highlightedBookId === selectedBookId) {\n if (key === 'Enter') {\n event.preventDefault();\n updateReference(selectedBookId, true, highlightedChapter);\n return;\n }\n\n let chapterOffSet = 0;\n if (key === 'ArrowRight') {\n if (highlightedChapter < fetchEndChapter(highlightedBookId)) {\n chapterOffSet = 1;\n } else {\n event.preventDefault();\n return;\n }\n } else if (key === 'ArrowLeft') {\n if (highlightedChapter > 1) {\n chapterOffSet = -1;\n } else {\n event.preventDefault();\n return;\n }\n } else if (key === 'ArrowDown') {\n chapterOffSet = 6;\n } else if (key === 'ArrowUp') {\n chapterOffSet = -6;\n }\n if (\n highlightedChapter + chapterOffSet <= 0 ||\n highlightedChapter + chapterOffSet > fetchEndChapter(highlightedBookId)\n ) {\n setHighlightedChapter(0);\n } else if (chapterOffSet !== 0) {\n setHighlightedChapter(highlightedChapter + chapterOffSet);\n event.preventDefault();\n }\n }\n };\n\n useEffect(() => {\n if (selectedBookId === highlightedBookId) {\n if (selectedBookId === Canon.bookNumberToId(scrRef.bookNum)) {\n setHighlightedChapter(scrRef.chapterNum);\n } else {\n setHighlightedChapter(1);\n }\n } else {\n setHighlightedChapter(0);\n }\n }, [highlightedBookId, scrRef.bookNum, scrRef.chapterNum, selectedBookId]);\n\n // The purpose of these useLayoutEffects and timeout is to delay the scroll just\n // enough so that the refs are defined and available when they are used after the timeout\n useLayoutEffect(() => {\n setIsContentOpenDelayed(isContentOpen);\n }, [isContentOpen]);\n\n useLayoutEffect(() => {\n const scrollTimeout = setTimeout(() => {\n if (isContentOpenDelayed && contentRef.current && menuItemRef.current) {\n const menuItemOffsetTop = menuItemRef.current.offsetTop;\n const scrollPosition = menuItemOffsetTop - SCROLL_OFFSET;\n contentRef.current.scrollTo({ top: scrollPosition, behavior: 'instant' });\n }\n }, 10);\n return () => {\n clearTimeout(scrollTimeout);\n };\n }, [isContentOpenDelayed]);\n\n return (\n
\n \n \n {\n setSelectedBookId(Canon.bookNumberToId(scrRef.bookNum));\n setHighlightedBookId(Canon.bookNumberToId(scrRef.bookNum));\n setHighlightedChapter(scrRef.chapterNum > 0 ? scrRef.chapterNum : 0);\n setIsContentOpen(true);\n inputRef.current.focus();\n }}\n onFocus={() => {\n // Radix thinks we want to close because the input is being focused. Prevent that\n shouldPreventAutoClosing.current = true;\n }}\n handleSubmit={handleInputSubmit}\n placeholder={`${Canon.bookNumberToEnglishName(scrRef.bookNum)} ${scrRef.chapterNum}:${scrRef.verseNum}`}\n />\n \n \n console.log('sorting')}\n handleLocationHistory={() => console.log('location history')}\n handleBookmarks={() => console.log('bookmarks')}\n />\n {BOOK_TYPE_ARRAY.map(\n (bookType, bookTypeIndex) =>\n fetchFilteredBooks(bookType).length > 0 && (\n
\n \n {BOOK_TYPE_LABELS[bookType]}\n \n\n {fetchFilteredBooks(bookType).map((bookId) => (\n
\n updateReference(bookId, false)}\n isSelected={selectedBookId === bookId}\n handleHighlightBook={() => setHighlightedBookId(bookId)}\n handleKeyDown={handleKeyDownMenuItem}\n bookType={bookType}\n ref={(element: HTMLDivElement) => {\n if (selectedBookId === bookId) menuItemRef.current = element;\n }}\n >\n {\n setHighlightedChapter(chapterNumber);\n }}\n />\n \n
\n ))}\n {BOOK_TYPE_ARRAY.length - 1 !== bookTypeIndex ? (\n \n ) : undefined}\n
\n ),\n )}\n \n
\n
\n );\n}\n\nexport default BookChapterControl;\n","import React from 'react';\nimport { Slot } from '@radix-ui/react-slot';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '@/utils/shadcn-ui.util';\n\nexport const buttonVariants = cva(\n 'pr-inline-flex pr-items-center pr-justify-center pr-whitespace-nowrap pr-rounded-md pr-text-sm pr-font-medium pr-ring-offset-background pr-transition-colors focus-visible:pr-outline-none focus-visible:pr-ring-2 focus-visible:pr-ring-ring focus-visible:pr-ring-offset-2 disabled:pr-pointer-events-none disabled:pr-opacity-50',\n {\n variants: {\n variant: {\n default: 'pr-bg-primary pr-text-primary-foreground hover:pr-bg-primary/90',\n destructive: 'pr-bg-destructive pr-text-destructive-foreground hover:pr-bg-destructive/90',\n outline:\n 'pr-border pr-border-input pr-bg-background hover:pr-bg-accent hover:pr-text-accent-foreground',\n secondary: 'pr-bg-secondary pr-text-secondary-foreground hover:pr-bg-secondary/80',\n ghost: 'hover:pr-bg-accent hover:pr-text-accent-foreground',\n link: 'pr-text-primary pr-underline-offset-4 hover:pr-underline',\n },\n size: {\n default: 'pr-h-10 pr-px-4 pr-py-2',\n sm: 'pr-h-9 pr-rounded-md pr-px-3',\n lg: 'pr-h-11 pr-rounded-md pr-px-8',\n icon: 'pr-h-10 pr-w-10',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes,\n VariantProps {\n asChild?: boolean;\n}\n\nexport const Button = React.forwardRef(\n ({ className, variant, size, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : 'button';\n return (\n \n );\n },\n);\nButton.displayName = 'Button';\n","import {\n Autocomplete as MuiComboBox,\n AutocompleteChangeDetails,\n AutocompleteChangeReason,\n TextField as MuiTextField,\n AutocompleteValue,\n} from '@mui/material';\nimport { FocusEventHandler, SyntheticEvent } from 'react';\nimport '@/components/combo-box.component.css';\n\nexport type ComboBoxLabelOption = { label: string };\nexport type ComboBoxOption = string | number | ComboBoxLabelOption;\nexport type ComboBoxValue = AutocompleteValue;\nexport type ComboBoxChangeDetails = AutocompleteChangeDetails;\nexport type ComboBoxChangeReason = AutocompleteChangeReason;\n\nexport type ComboBoxProps = {\n /** Optional unique identifier */\n id?: string;\n /** Text label title for combobox */\n title?: string;\n /**\n * If `true`, the component is disabled.\n *\n * @default false\n */\n isDisabled?: boolean;\n /**\n * If `true`, the component can be cleared, and will have a button to do so\n *\n * @default true\n */\n isClearable?: boolean;\n /**\n * True when (input related to) switch is erroneous\n *\n * @default false\n */\n hasError?: boolean;\n /**\n * If `true`, the input will take up the full width of its container.\n *\n * @default false\n */\n isFullWidth?: boolean;\n /** Width of the combobox in pixels. Setting this prop overrides the `isFullWidth` prop */\n width?: number;\n /** List of available options for the dropdown menu */\n options?: readonly T[];\n /** Additional css classes to help with unique styling of the combo box */\n className?: string;\n /**\n * The selected value that the combo box currently holds. Must be shallow equal to one of the\n * options entries.\n */\n value?: T;\n /** Triggers when content of textfield is changed */\n onChange?: (\n event: SyntheticEvent,\n value: ComboBoxValue,\n reason?: ComboBoxChangeReason,\n details?: ComboBoxChangeDetails | undefined,\n ) => void;\n /** Triggers when textfield gets focus */\n onFocus?: FocusEventHandler; // Storybook crashes when giving the combo box focus\n /** Triggers when textfield loses focus */\n onBlur?: FocusEventHandler;\n /** Used to determine the string value for a given option. */\n getOptionLabel?: (option: ComboBoxOption) => string;\n};\n\n/**\n * Dropdown selector displaying various options from which to choose\n *\n * Thanks to MUI for heavy inspiration and documentation\n * https://mui.com/material-ui/getting-started/overview/\n */\nfunction ComboBox({\n id,\n title,\n isDisabled = false,\n isClearable = true,\n hasError = false,\n isFullWidth = false,\n width,\n options = [],\n className,\n value,\n onChange,\n onFocus,\n onBlur,\n getOptionLabel,\n}: ComboBoxProps) {\n return (\n \n id={id}\n disablePortal\n disabled={isDisabled}\n disableClearable={!isClearable}\n fullWidth={isFullWidth}\n options={options}\n className={`papi-combo-box ${hasError ? 'error' : ''} ${className ?? ''}`}\n value={value}\n onChange={onChange}\n onFocus={onFocus}\n onBlur={onBlur}\n getOptionLabel={getOptionLabel}\n renderInput={(props) => (\n \n )}\n />\n );\n}\n\nexport default ComboBox;\n","import { SyntheticEvent, useEffect, useState } from 'react';\nimport { FormControlLabel } from '@mui/material';\nimport ComboBox from '@/components/combo-box.component';\n\nexport type ChapterRangeSelectorProps = {\n handleSelectStartChapter: (chapter: number) => void;\n handleSelectEndChapter: (chapter: number) => void;\n isDisabled?: boolean;\n chapterCount: number;\n};\n\nexport default function ChapterRangeSelector({\n handleSelectStartChapter,\n handleSelectEndChapter,\n isDisabled = false,\n chapterCount,\n}: ChapterRangeSelectorProps) {\n const [startChapter, setStartChapter] = useState(1);\n const [endChapter, setEndChapter] = useState(chapterCount);\n const [chapterOptions, setChapterOptions] = useState(\n Array.from({ length: chapterCount }, (_, i) => i + 1),\n );\n\n useEffect(() => {\n setStartChapter(1);\n handleSelectStartChapter(1);\n setEndChapter(chapterCount);\n handleSelectEndChapter(chapterCount);\n setChapterOptions(Array.from({ length: chapterCount }, (_, i) => i + 1));\n }, [chapterCount, handleSelectEndChapter, handleSelectStartChapter]);\n\n const onChangeStartChapter = (_event: SyntheticEvent, value: number) => {\n setStartChapter(value);\n handleSelectStartChapter(value);\n if (value > endChapter) {\n setEndChapter(value);\n handleSelectEndChapter(value);\n }\n };\n\n const onChangeEndChapter = (_event: SyntheticEvent, value: number) => {\n setEndChapter(value);\n handleSelectEndChapter(value);\n if (value < startChapter) {\n setStartChapter(value);\n handleSelectStartChapter(value);\n }\n };\n\n return (\n <>\n onChangeStartChapter(e, value as number)}\n className=\"book-selection-chapter\"\n key=\"start chapter\"\n isClearable={false}\n options={chapterOptions}\n getOptionLabel={(option) => option.toString()}\n value={startChapter}\n isDisabled={isDisabled}\n />\n }\n label=\"Chapters\"\n labelPlacement=\"start\"\n />\n onChangeEndChapter(e, value as number)}\n className=\"book-selection-chapter\"\n key=\"end chapter\"\n isClearable={false}\n options={chapterOptions}\n getOptionLabel={(option) => option.toString()}\n value={endChapter}\n isDisabled={isDisabled}\n />\n }\n label=\"to\"\n labelPlacement=\"start\"\n />\n \n );\n}\n","enum LabelPosition {\n After = 'after',\n Before = 'before',\n Above = 'above',\n Below = 'below',\n}\n\nexport default LabelPosition;\n","import { FormLabel, Checkbox as MuiCheckbox } from '@mui/material';\nimport { ChangeEvent } from 'react';\nimport '@/components/checkbox.component.css';\nimport LabelPosition from '@/components/label-position.model';\n\nexport type CheckboxProps = {\n /** Optional unique identifier */\n id?: string;\n /** If `true`, the component is checked. */\n isChecked?: boolean;\n /**\n * If specified, the label that will appear associated with the checkbox.\n *\n * @default '' (no label will be shown)\n */\n labelText?: string;\n /**\n * Indicates the position of the label relative to the checkbox.\n *\n * @default 'after'\n */\n labelPosition?: LabelPosition;\n /**\n * If `true`, the component is in the indeterminate state.\n *\n * @default false\n */\n isIndeterminate?: boolean;\n /** If `true`, the component is checked by default. */\n isDefaultChecked?: boolean;\n /**\n * Enabled status of switch\n *\n * @default false\n */\n isDisabled?: boolean;\n /**\n * True when (input related to) switch is erroneous\n *\n * @default false\n */\n hasError?: boolean;\n /** Additional css classes to help with unique styling of the switch */\n className?: string;\n /**\n * Callback fired when the state is changed.\n *\n * @param event The event source of the callback. You can pull out the new value by accessing\n * event.target.value (string). You can pull out the new checked state by accessing\n * event.target.checked (boolean).\n */\n onChange?: (event: ChangeEvent) => void;\n};\n\n/* function CheckboxContainer({ labelText? = '', isDisabled : boolean, hasError : boolean, children? }) {\n return (\n \n {children}\n labelText\n \n );\n} */\n\n/** Primary UI component for user interaction */\nfunction Checkbox({\n id,\n isChecked,\n labelText = '',\n labelPosition = LabelPosition.After,\n isIndeterminate = false,\n isDefaultChecked,\n isDisabled = false,\n hasError = false,\n className,\n onChange,\n}: CheckboxProps) {\n const checkBox = (\n \n );\n\n let result;\n\n if (labelText) {\n const preceding =\n labelPosition === LabelPosition.Before || labelPosition === LabelPosition.Above;\n\n const labelSpan = (\n \n {labelText}\n \n );\n\n const labelIsInline =\n labelPosition === LabelPosition.Before || labelPosition === LabelPosition.After;\n\n const label = labelIsInline ? labelSpan :
{labelSpan}
;\n\n const checkBoxElement = labelIsInline ? checkBox :
{checkBox}
;\n\n result = (\n \n {preceding && label}\n {checkBoxElement}\n {!preceding && label}\n \n );\n } else {\n result = checkBox;\n }\n return result;\n}\n\nexport default Checkbox;\n","import Checkbox from '@/components/checkbox.component';\nimport '@/components/checklist.component.css';\n\nexport type ChecklistProps = {\n /** Optional string representing the id attribute of the fieldset element */\n id?: string;\n /** Optional string representing CSS class name(s) for styling */\n className?: string;\n /** Optional string representing legend for fieldset element */\n legend?: string;\n /** Array of strings representing the legend text for the fieldset element */\n listItems: string[];\n /** Array of strings representing items to be displayed as checkboxes in the checklist */\n selectedListItems: string[];\n /** Function that takes a string param and is called when a checkbox item is selected or deselected */\n handleSelectListItem: (item: string) => void;\n /**\n * Optional function that takes a string param and returns a string representing the label text\n * for the checkbox associated with that item\n */\n createLabel?: (item: string) => string;\n};\n\n/**\n * Renders a list of checkboxes wrapped in a fieldset element. Each checkbox corresponds to an item\n * from the `listItems` array.\n */\nexport default function Checklist({\n id,\n className,\n legend,\n listItems,\n selectedListItems,\n handleSelectListItem,\n createLabel,\n}: ChecklistProps) {\n return (\n
\n {legend && {legend}}\n {listItems.map((item) => (\n handleSelectListItem(item)}\n />\n ))}\n
\n );\n}\n","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","module.exports = Function.call.bind(Object.prototype.hasOwnProperty);\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n var has = require('./lib/has');\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) { /**/ }\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +\n 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar has = require('./lib/has');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bigint: createPrimitiveTypeChecker('bigint'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message, data) {\n this.message = message;\n this.data = data && typeof data === 'object' ? data: {};\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),\n {expectedType: expectedType}\n );\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var expectedTypes = [];\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);\n if (checkerResult == null) {\n return null;\n }\n if (checkerResult.data && has(checkerResult.data, 'expectedType')) {\n expectedTypes.push(checkerResult.data.expectedType);\n }\n }\n var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function invalidValidatorError(componentName, location, propFullName, key, type) {\n return new PropTypeError(\n (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'\n );\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (has(shapeTypes, key) && typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","export default function chainPropTypes(propType1, propType2) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n return function validate(...args) {\n return propType1(...args) || propType2(...args);\n };\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// https://github.com/sindresorhus/is-plain-obj/blob/main/index.js\nexport function isPlainObject(item) {\n if (typeof item !== 'object' || item === null) {\n return false;\n }\n const prototype = Object.getPrototypeOf(item);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in item) && !(Symbol.iterator in item);\n}\nfunction deepClone(source) {\n if (!isPlainObject(source)) {\n return source;\n }\n const output = {};\n Object.keys(source).forEach(key => {\n output[key] = deepClone(source[key]);\n });\n return output;\n}\nexport default function deepmerge(target, source, options = {\n clone: true\n}) {\n const output = options.clone ? _extends({}, target) : target;\n if (isPlainObject(target) && isPlainObject(source)) {\n Object.keys(source).forEach(key => {\n // Avoid prototype pollution\n if (key === '__proto__') {\n return;\n }\n if (isPlainObject(source[key]) && key in target && isPlainObject(target[key])) {\n // Since `output` is a clone of `target` and we have narrowed `target` in this block we can cast to the same type.\n output[key] = deepmerge(target[key], source[key], options);\n } else if (options.clone) {\n output[key] = isPlainObject(source[key]) ? deepClone(source[key]) : source[key];\n } else {\n output[key] = source[key];\n }\n });\n }\n return output;\n}","import PropTypes from 'prop-types';\nimport chainPropTypes from '../chainPropTypes';\nfunction isClassComponent(elementType) {\n // elementType.prototype?.isReactComponent\n const {\n prototype = {}\n } = elementType;\n return Boolean(prototype.isReactComponent);\n}\nfunction acceptingRef(props, propName, componentName, location, propFullName) {\n const element = props[propName];\n const safePropName = propFullName || propName;\n if (element == null ||\n // When server-side rendering React doesn't warn either.\n // This is not an accurate check for SSR.\n // This is only in place for Emotion compat.\n // TODO: Revisit once https://github.com/facebook/react/issues/20047 is resolved.\n typeof window === 'undefined') {\n return null;\n }\n let warningHint;\n const elementType = element.type;\n /**\n * Blacklisting instead of whitelisting\n *\n * Blacklisting will miss some components, such as React.Fragment. Those will at least\n * trigger a warning in React.\n * We can't whitelist because there is no safe way to detect React.forwardRef\n * or class components. \"Safe\" means there's no public API.\n *\n */\n if (typeof elementType === 'function' && !isClassComponent(elementType)) {\n warningHint = 'Did you accidentally use a plain function component for an element instead?';\n }\n if (warningHint !== undefined) {\n return new Error(`Invalid ${location} \\`${safePropName}\\` supplied to \\`${componentName}\\`. ` + `Expected an element that can hold a ref. ${warningHint} ` + 'For more information see https://mui.com/r/caveat-with-refs-guide');\n }\n return null;\n}\nconst elementAcceptingRef = chainPropTypes(PropTypes.element, acceptingRef);\nelementAcceptingRef.isRequired = chainPropTypes(PropTypes.element.isRequired, acceptingRef);\nexport default elementAcceptingRef;","import PropTypes from 'prop-types';\nimport chainPropTypes from '../chainPropTypes';\nfunction isClassComponent(elementType) {\n // elementType.prototype?.isReactComponent\n const {\n prototype = {}\n } = elementType;\n return Boolean(prototype.isReactComponent);\n}\nfunction elementTypeAcceptingRef(props, propName, componentName, location, propFullName) {\n const propValue = props[propName];\n const safePropName = propFullName || propName;\n if (propValue == null ||\n // When server-side rendering React doesn't warn either.\n // This is not an accurate check for SSR.\n // This is only in place for emotion compat.\n // TODO: Revisit once https://github.com/facebook/react/issues/20047 is resolved.\n typeof window === 'undefined') {\n return null;\n }\n let warningHint;\n\n /**\n * Blacklisting instead of whitelisting\n *\n * Blacklisting will miss some components, such as React.Fragment. Those will at least\n * trigger a warning in React.\n * We can't whitelist because there is no safe way to detect React.forwardRef\n * or class components. \"Safe\" means there's no public API.\n *\n */\n if (typeof propValue === 'function' && !isClassComponent(propValue)) {\n warningHint = 'Did you accidentally provide a plain function component instead?';\n }\n if (warningHint !== undefined) {\n return new Error(`Invalid ${location} \\`${safePropName}\\` supplied to \\`${componentName}\\`. ` + `Expected an element type that can hold a ref. ${warningHint} ` + 'For more information see https://mui.com/r/caveat-with-refs-guide');\n }\n return null;\n}\nexport default chainPropTypes(PropTypes.elementType, elementTypeAcceptingRef);","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// This module is based on https://github.com/airbnb/prop-types-exact repository.\n// However, in order to reduce the number of dependencies and to remove some extra safe checks\n// the module was forked.\n\nconst specialProperty = 'exact-prop: \\u200b';\nexport default function exactProp(propTypes) {\n if (process.env.NODE_ENV === 'production') {\n return propTypes;\n }\n return _extends({}, propTypes, {\n [specialProperty]: props => {\n const unsupportedProps = Object.keys(props).filter(prop => !propTypes.hasOwnProperty(prop));\n if (unsupportedProps.length > 0) {\n return new Error(`The following props are not supported: ${unsupportedProps.map(prop => `\\`${prop}\\``).join(', ')}. Please remove them.`);\n }\n return null;\n }\n });\n}","/**\n * WARNING: Don't import this directly.\n * Use `MuiError` from `@mui/internal-babel-macros/MuiError.macro` instead.\n * @param {number} code\n */\nexport default function formatMuiErrorMessage(code) {\n // Apply babel-plugin-transform-template-literals in loose mode\n // loose mode is safe if we're concatenating primitives\n // see https://babeljs.io/docs/en/babel-plugin-transform-template-literals#loose\n /* eslint-disable prefer-template */\n let url = 'https://mui.com/production-error/?code=' + code;\n for (let i = 1; i < arguments.length; i += 1) {\n // rest params over-transpile for this case\n // eslint-disable-next-line prefer-rest-params\n url += '&args[]=' + encodeURIComponent(arguments[i]);\n }\n return 'Minified MUI error #' + code + '; visit ' + url + ' for the full message.';\n /* eslint-enable prefer-template */\n}","/**\n * @license React\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=Symbol.for(\"react.element\"),c=Symbol.for(\"react.portal\"),d=Symbol.for(\"react.fragment\"),e=Symbol.for(\"react.strict_mode\"),f=Symbol.for(\"react.profiler\"),g=Symbol.for(\"react.provider\"),h=Symbol.for(\"react.context\"),k=Symbol.for(\"react.server_context\"),l=Symbol.for(\"react.forward_ref\"),m=Symbol.for(\"react.suspense\"),n=Symbol.for(\"react.suspense_list\"),p=Symbol.for(\"react.memo\"),q=Symbol.for(\"react.lazy\"),t=Symbol.for(\"react.offscreen\"),u;u=Symbol.for(\"react.module.reference\");\nfunction v(a){if(\"object\"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}exports.ContextConsumer=h;exports.ContextProvider=g;exports.Element=b;exports.ForwardRef=l;exports.Fragment=d;exports.Lazy=q;exports.Memo=p;exports.Portal=c;exports.Profiler=f;exports.StrictMode=e;exports.Suspense=m;\nexports.SuspenseList=n;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return v(a)===h};exports.isContextProvider=function(a){return v(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return v(a)===l};exports.isFragment=function(a){return v(a)===d};exports.isLazy=function(a){return v(a)===q};exports.isMemo=function(a){return v(a)===p};\nexports.isPortal=function(a){return v(a)===c};exports.isProfiler=function(a){return v(a)===f};exports.isStrictMode=function(a){return v(a)===e};exports.isSuspense=function(a){return v(a)===m};exports.isSuspenseList=function(a){return v(a)===n};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||\"object\"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?!0:!1};exports.typeOf=v;\n","/**\n * @license React\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_SERVER_CONTEXT_TYPE = Symbol.for('react.server_context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n case REACT_SUSPENSE_LIST_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_SERVER_CONTEXT_TYPE:\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n}\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar SuspenseList = REACT_SUSPENSE_LIST_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false;\nvar hasWarnedAboutDeprecatedIsConcurrentMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 18+.');\n }\n }\n\n return false;\n}\nfunction isConcurrentMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsConcurrentMode) {\n hasWarnedAboutDeprecatedIsConcurrentMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isConcurrentMode() alias has been deprecated, ' + 'and will be removed in React 18+.');\n }\n }\n\n return false;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\nfunction isSuspenseList(object) {\n return typeOf(object) === REACT_SUSPENSE_LIST_TYPE;\n}\n\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.SuspenseList = SuspenseList;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isSuspenseList = isSuspenseList;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","import { ForwardRef, Memo } from 'react-is';\n\n// Simplified polyfill for IE11 support\n// https://github.com/JamesMGreene/Function.name/blob/58b314d4a983110c3682f1228f845d39ccca1817/Function.name.js#L3\nconst fnNameMatchRegex = /^\\s*function(?:\\s|\\s*\\/\\*.*\\*\\/\\s*)+([^(\\s/]*)\\s*/;\nexport function getFunctionName(fn) {\n const match = `${fn}`.match(fnNameMatchRegex);\n const name = match && match[1];\n return name || '';\n}\nfunction getFunctionComponentName(Component, fallback = '') {\n return Component.displayName || Component.name || getFunctionName(Component) || fallback;\n}\nfunction getWrappedName(outerType, innerType, wrapperName) {\n const functionName = getFunctionComponentName(innerType);\n return outerType.displayName || (functionName !== '' ? `${wrapperName}(${functionName})` : wrapperName);\n}\n\n/**\n * cherry-pick from\n * https://github.com/facebook/react/blob/769b1f270e1251d9dbdce0fcbd9e92e502d059b8/packages/shared/getComponentName.js\n * originally forked from recompose/getDisplayName with added IE11 support\n */\nexport default function getDisplayName(Component) {\n if (Component == null) {\n return undefined;\n }\n if (typeof Component === 'string') {\n return Component;\n }\n if (typeof Component === 'function') {\n return getFunctionComponentName(Component, 'Component');\n }\n\n // TypeScript can't have components as objects but they exist in the form of `memo` or `Suspense`\n if (typeof Component === 'object') {\n switch (Component.$$typeof) {\n case ForwardRef:\n return getWrappedName(Component, Component.render, 'ForwardRef');\n case Memo:\n return getWrappedName(Component, Component.type, 'memo');\n default:\n return undefined;\n }\n }\n return undefined;\n}","export default function HTMLElementType(props, propName, componentName, location, propFullName) {\n if (process.env.NODE_ENV === 'production') {\n return null;\n }\n const propValue = props[propName];\n const safePropName = propFullName || propName;\n if (propValue == null) {\n return null;\n }\n if (propValue && propValue.nodeType !== 1) {\n return new Error(`Invalid ${location} \\`${safePropName}\\` supplied to \\`${componentName}\\`. ` + `Expected an HTMLElement.`);\n }\n return null;\n}","import PropTypes from 'prop-types';\nconst refType = PropTypes.oneOfType([PropTypes.func, PropTypes.object]);\nexport default refType;","import _formatMuiErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\n// It should to be noted that this function isn't equivalent to `text-transform: capitalize`.\n//\n// A strict capitalization should uppercase the first letter of each word in the sentence.\n// We only handle the first word.\nexport default function capitalize(string) {\n if (typeof string !== 'string') {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: \\`capitalize(string)\\` expects a string argument.` : _formatMuiErrorMessage(7));\n }\n return string.charAt(0).toUpperCase() + string.slice(1);\n}","/**\n * Safe chained function.\n *\n * Will only create a new function if needed,\n * otherwise will pass back existing functions or null.\n */\nexport default function createChainedFunction(...funcs) {\n return funcs.reduce((acc, func) => {\n if (func == null) {\n return acc;\n }\n return function chainedFunction(...args) {\n acc.apply(this, args);\n func.apply(this, args);\n };\n }, () => {});\n}","// Corresponds to 10 frames at 60 Hz.\n// A few bytes payload overhead when lodash/debounce is ~3 kB and debounce ~300 B.\nexport default function debounce(func, wait = 166) {\n let timeout;\n function debounced(...args) {\n const later = () => {\n // @ts-ignore\n func.apply(this, args);\n };\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n }\n debounced.clear = () => {\n clearTimeout(timeout);\n };\n return debounced;\n}","export default function deprecatedPropType(validator, reason) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n return (props, propName, componentName, location, propFullName) => {\n const componentNameSafe = componentName || '<>';\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The ${location} \\`${propFullNameSafe}\\` of ` + `\\`${componentNameSafe}\\` is deprecated. ${reason}`);\n }\n return null;\n };\n}","import * as React from 'react';\nexport default function isMuiElement(element, muiNames) {\n var _muiName, _element$type;\n return /*#__PURE__*/React.isValidElement(element) && muiNames.indexOf( // For server components `muiName` is avaialble in element.type._payload.value.muiName\n // relevant info - https://github.com/facebook/react/blob/2807d781a08db8e9873687fccc25c0f12b4fb3d4/packages/react/src/ReactLazy.js#L45\n // eslint-disable-next-line no-underscore-dangle\n (_muiName = element.type.muiName) != null ? _muiName : (_element$type = element.type) == null || (_element$type = _element$type._payload) == null || (_element$type = _element$type.value) == null ? void 0 : _element$type.muiName) !== -1;\n}","export default function ownerDocument(node) {\n return node && node.ownerDocument || document;\n}","import ownerDocument from '../ownerDocument';\nexport default function ownerWindow(node) {\n const doc = ownerDocument(node);\n return doc.defaultView || window;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nexport default function requirePropFactory(componentNameInError, Component) {\n if (process.env.NODE_ENV === 'production') {\n return () => null;\n }\n\n // eslint-disable-next-line react/forbid-foreign-prop-types\n const prevPropTypes = Component ? _extends({}, Component.propTypes) : null;\n const requireProp = requiredProp => (props, propName, componentName, location, propFullName, ...args) => {\n const propFullNameSafe = propFullName || propName;\n const defaultTypeChecker = prevPropTypes == null ? void 0 : prevPropTypes[propFullNameSafe];\n if (defaultTypeChecker) {\n const typeCheckerResult = defaultTypeChecker(props, propName, componentName, location, propFullName, ...args);\n if (typeCheckerResult) {\n return typeCheckerResult;\n }\n }\n if (typeof props[propName] !== 'undefined' && !props[requiredProp]) {\n return new Error(`The prop \\`${propFullNameSafe}\\` of ` + `\\`${componentNameInError}\\` can only be used together with the \\`${requiredProp}\\` prop.`);\n }\n return null;\n };\n return requireProp;\n}","/**\n * TODO v5: consider making it private\n *\n * passes {value} to {ref}\n *\n * WARNING: Be sure to only call this inside a callback that is passed as a ref.\n * Otherwise, make sure to cleanup the previous {ref} if it changes. See\n * https://github.com/mui/material-ui/issues/13539\n *\n * Useful if you want to expose the ref of an inner component to the public API\n * while still using it inside the component.\n * @param ref A ref callback or ref object. If anything falsy, this is a no-op.\n */\nexport default function setRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n}","'use client';\n\nimport * as React from 'react';\n\n/**\n * A version of `React.useLayoutEffect` that does not show a warning when server-side rendering.\n * This is useful for effects that are only needed for client-side rendering but not for SSR.\n *\n * Before you use this hook, make sure to read https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\n * and confirm it doesn't apply to your use-case.\n */\nconst useEnhancedEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\nexport default useEnhancedEffect;","'use client';\n\nimport * as React from 'react';\nlet globalId = 0;\nfunction useGlobalId(idOverride) {\n const [defaultId, setDefaultId] = React.useState(idOverride);\n const id = idOverride || defaultId;\n React.useEffect(() => {\n if (defaultId == null) {\n // Fallback to this default id when possible.\n // Use the incrementing value for client-side rendering only.\n // We can't use it server-side.\n // If you want to use random values please consider the Birthday Problem: https://en.wikipedia.org/wiki/Birthday_problem\n globalId += 1;\n setDefaultId(`mui-${globalId}`);\n }\n }, [defaultId]);\n return id;\n}\n\n// downstream bundlers may remove unnecessary concatenation, but won't remove toString call -- Workaround for https://github.com/webpack/webpack/issues/14814\nconst maybeReactUseId = React['useId'.toString()];\n/**\n *\n * @example
\n * @param idOverride\n * @returns {string}\n */\nexport default function useId(idOverride) {\n if (maybeReactUseId !== undefined) {\n const reactId = maybeReactUseId();\n return idOverride != null ? idOverride : reactId;\n }\n // eslint-disable-next-line react-hooks/rules-of-hooks -- `React.useId` is invariant at runtime.\n return useGlobalId(idOverride);\n}","export default function unsupportedProp(props, propName, componentName, location, propFullName) {\n if (process.env.NODE_ENV === 'production') {\n return null;\n }\n const propFullNameSafe = propFullName || propName;\n if (typeof props[propName] !== 'undefined') {\n return new Error(`The prop \\`${propFullNameSafe}\\` is not supported. Please remove it.`);\n }\n return null;\n}","'use client';\n\n/* eslint-disable react-hooks/rules-of-hooks, react-hooks/exhaustive-deps */\nimport * as React from 'react';\nexport default function useControlled({\n controlled,\n default: defaultProp,\n name,\n state = 'value'\n}) {\n // isControlled is ignored in the hook dependency lists as it should never change.\n const {\n current: isControlled\n } = React.useRef(controlled !== undefined);\n const [valueState, setValue] = React.useState(defaultProp);\n const value = isControlled ? controlled : valueState;\n if (process.env.NODE_ENV !== 'production') {\n React.useEffect(() => {\n if (isControlled !== (controlled !== undefined)) {\n console.error([`MUI: A component is changing the ${isControlled ? '' : 'un'}controlled ${state} state of ${name} to be ${isControlled ? 'un' : ''}controlled.`, 'Elements should not switch from uncontrolled to controlled (or vice versa).', `Decide between using a controlled or uncontrolled ${name} ` + 'element for the lifetime of the component.', \"The nature of the state is determined during the first render. It's considered controlled if the value is not `undefined`.\", 'More info: https://fb.me/react-controlled-components'].join('\\n'));\n }\n }, [state, name, controlled]);\n const {\n current: defaultValue\n } = React.useRef(defaultProp);\n React.useEffect(() => {\n if (!isControlled && defaultValue !== defaultProp) {\n console.error([`MUI: A component is changing the default ${state} state of an uncontrolled ${name} after being initialized. ` + `To suppress this warning opt to use a controlled ${name}.`].join('\\n'));\n }\n }, [JSON.stringify(defaultProp)]);\n }\n const setValueIfUncontrolled = React.useCallback(newValue => {\n if (!isControlled) {\n setValue(newValue);\n }\n }, []);\n return [value, setValueIfUncontrolled];\n}","'use client';\n\nimport * as React from 'react';\nimport useEnhancedEffect from '../useEnhancedEffect';\n\n/**\n * Inspired by https://github.com/facebook/react/issues/14099#issuecomment-440013892\n * See RFC in https://github.com/reactjs/rfcs/pull/220\n */\n\nfunction useEventCallback(fn) {\n const ref = React.useRef(fn);\n useEnhancedEffect(() => {\n ref.current = fn;\n });\n return React.useRef((...args) =>\n // @ts-expect-error hide `this`\n (0, ref.current)(...args)).current;\n}\nexport default useEventCallback;","'use client';\n\nimport * as React from 'react';\nimport setRef from '../setRef';\nexport default function useForkRef(...refs) {\n /**\n * This will create a new function if the refs passed to this hook change and are all defined.\n * This means react will call the old forkRef with `null` and the new forkRef\n * with the ref. Cleanup naturally emerges from this behavior.\n */\n return React.useMemo(() => {\n if (refs.every(ref => ref == null)) {\n return null;\n }\n return instance => {\n refs.forEach(ref => {\n setRef(ref, instance);\n });\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, refs);\n}","'use client';\n\nimport * as React from 'react';\nconst UNINITIALIZED = {};\n\n/**\n * A React.useRef() that is initialized lazily with a function. Note that it accepts an optional\n * initialization argument, so the initialization function doesn't need to be an inline closure.\n *\n * @usage\n * const ref = useLazyRef(sortColumns, columns)\n */\nexport default function useLazyRef(init, initArg) {\n const ref = React.useRef(UNINITIALIZED);\n if (ref.current === UNINITIALIZED) {\n ref.current = init(initArg);\n }\n return ref;\n}","'use client';\n\nimport * as React from 'react';\nconst EMPTY = [];\n\n/**\n * A React.useEffect equivalent that runs once, when the component is mounted.\n */\nexport default function useOnMount(fn) {\n /* eslint-disable react-hooks/exhaustive-deps */\n React.useEffect(fn, EMPTY);\n /* eslint-enable react-hooks/exhaustive-deps */\n}","'use client';\n\nimport useLazyRef from '../useLazyRef/useLazyRef';\nimport useOnMount from '../useOnMount/useOnMount';\nexport class Timeout {\n constructor() {\n this.currentId = null;\n this.clear = () => {\n if (this.currentId !== null) {\n clearTimeout(this.currentId);\n this.currentId = null;\n }\n };\n this.disposeEffect = () => {\n return this.clear;\n };\n }\n static create() {\n return new Timeout();\n }\n /**\n * Executes `fn` after `delay`, clearing any previously scheduled call.\n */\n start(delay, fn) {\n this.clear();\n this.currentId = setTimeout(() => {\n this.currentId = null;\n fn();\n }, delay);\n }\n}\nexport default function useTimeout() {\n const timeout = useLazyRef(Timeout.create).current;\n useOnMount(timeout.disposeEffect);\n return timeout;\n}","'use client';\n\n// based on https://github.com/WICG/focus-visible/blob/v4.1.5/src/focus-visible.js\nimport * as React from 'react';\nimport { Timeout } from '../useTimeout/useTimeout';\nlet hadKeyboardEvent = true;\nlet hadFocusVisibleRecently = false;\nconst hadFocusVisibleRecentlyTimeout = new Timeout();\nconst inputTypesWhitelist = {\n text: true,\n search: true,\n url: true,\n tel: true,\n email: true,\n password: true,\n number: true,\n date: true,\n month: true,\n week: true,\n time: true,\n datetime: true,\n 'datetime-local': true\n};\n\n/**\n * Computes whether the given element should automatically trigger the\n * `focus-visible` class being added, i.e. whether it should always match\n * `:focus-visible` when focused.\n * @param {Element} node\n * @returns {boolean}\n */\nfunction focusTriggersKeyboardModality(node) {\n const {\n type,\n tagName\n } = node;\n if (tagName === 'INPUT' && inputTypesWhitelist[type] && !node.readOnly) {\n return true;\n }\n if (tagName === 'TEXTAREA' && !node.readOnly) {\n return true;\n }\n if (node.isContentEditable) {\n return true;\n }\n return false;\n}\n\n/**\n * Keep track of our keyboard modality state with `hadKeyboardEvent`.\n * If the most recent user interaction was via the keyboard;\n * and the key press did not include a meta, alt/option, or control key;\n * then the modality is keyboard. Otherwise, the modality is not keyboard.\n * @param {KeyboardEvent} event\n */\nfunction handleKeyDown(event) {\n if (event.metaKey || event.altKey || event.ctrlKey) {\n return;\n }\n hadKeyboardEvent = true;\n}\n\n/**\n * If at any point a user clicks with a pointing device, ensure that we change\n * the modality away from keyboard.\n * This avoids the situation where a user presses a key on an already focused\n * element, and then clicks on a different element, focusing it with a\n * pointing device, while we still think we're in keyboard modality.\n */\nfunction handlePointerDown() {\n hadKeyboardEvent = false;\n}\nfunction handleVisibilityChange() {\n if (this.visibilityState === 'hidden') {\n // If the tab becomes active again, the browser will handle calling focus\n // on the element (Safari actually calls it twice).\n // If this tab change caused a blur on an element with focus-visible,\n // re-apply the class when the user switches back to the tab.\n if (hadFocusVisibleRecently) {\n hadKeyboardEvent = true;\n }\n }\n}\nfunction prepare(doc) {\n doc.addEventListener('keydown', handleKeyDown, true);\n doc.addEventListener('mousedown', handlePointerDown, true);\n doc.addEventListener('pointerdown', handlePointerDown, true);\n doc.addEventListener('touchstart', handlePointerDown, true);\n doc.addEventListener('visibilitychange', handleVisibilityChange, true);\n}\nexport function teardown(doc) {\n doc.removeEventListener('keydown', handleKeyDown, true);\n doc.removeEventListener('mousedown', handlePointerDown, true);\n doc.removeEventListener('pointerdown', handlePointerDown, true);\n doc.removeEventListener('touchstart', handlePointerDown, true);\n doc.removeEventListener('visibilitychange', handleVisibilityChange, true);\n}\nfunction isFocusVisible(event) {\n const {\n target\n } = event;\n try {\n return target.matches(':focus-visible');\n } catch (error) {\n // Browsers not implementing :focus-visible will throw a SyntaxError.\n // We use our own heuristic for those browsers.\n // Rethrow might be better if it's not the expected error but do we really\n // want to crash if focus-visible malfunctioned?\n }\n\n // No need for validFocusTarget check. The user does that by attaching it to\n // focusable events only.\n return hadKeyboardEvent || focusTriggersKeyboardModality(target);\n}\nexport default function useIsFocusVisible() {\n const ref = React.useCallback(node => {\n if (node != null) {\n prepare(node.ownerDocument);\n }\n }, []);\n const isFocusVisibleRef = React.useRef(false);\n\n /**\n * Should be called if a blur event is fired\n */\n function handleBlurVisible() {\n // checking against potential state variable does not suffice if we focus and blur synchronously.\n // React wouldn't have time to trigger a re-render so `focusVisible` would be stale.\n // Ideally we would adjust `isFocusVisible(event)` to look at `relatedTarget` for blur events.\n // This doesn't work in IE11 due to https://github.com/facebook/react/issues/3751\n // TODO: check again if React releases their internal changes to focus event handling (https://github.com/facebook/react/pull/19186).\n if (isFocusVisibleRef.current) {\n // To detect a tab/window switch, we look for a blur event followed\n // rapidly by a visibility change.\n // If we don't see a visibility change within 100ms, it's probably a\n // regular focus change.\n hadFocusVisibleRecently = true;\n hadFocusVisibleRecentlyTimeout.start(100, () => {\n hadFocusVisibleRecently = false;\n });\n isFocusVisibleRef.current = false;\n return true;\n }\n return false;\n }\n\n /**\n * Should be called if a blur event is fired\n */\n function handleFocusVisible(event) {\n if (isFocusVisible(event)) {\n isFocusVisibleRef.current = true;\n return true;\n }\n return false;\n }\n return {\n isFocusVisibleRef,\n onFocus: handleFocusVisible,\n onBlur: handleBlurVisible,\n ref\n };\n}","// A change of the browser zoom change the scrollbar size.\n// Credit https://github.com/twbs/bootstrap/blob/488fd8afc535ca3a6ad4dc581f5e89217b6a36ac/js/src/util/scrollbar.js#L14-L18\nexport default function getScrollbarSize(doc) {\n // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n const documentWidth = doc.documentElement.clientWidth;\n return Math.abs(window.innerWidth - documentWidth);\n}","export function getTypeByValue(value) {\n const valueType = typeof value;\n switch (valueType) {\n case 'number':\n if (Number.isNaN(value)) {\n return 'NaN';\n }\n if (!Number.isFinite(value)) {\n return 'Infinity';\n }\n if (value !== Math.floor(value)) {\n return 'float';\n }\n return 'number';\n case 'object':\n if (value === null) {\n return 'null';\n }\n return value.constructor.name;\n default:\n return valueType;\n }\n}\n\n// IE 11 support\nfunction ponyfillIsInteger(x) {\n // eslint-disable-next-line no-restricted-globals\n return typeof x === 'number' && isFinite(x) && Math.floor(x) === x;\n}\nconst isInteger = Number.isInteger || ponyfillIsInteger;\nfunction requiredInteger(props, propName, componentName, location) {\n const propValue = props[propName];\n if (propValue == null || !isInteger(propValue)) {\n const propType = getTypeByValue(propValue);\n return new RangeError(`Invalid ${location} \\`${propName}\\` of type \\`${propType}\\` supplied to \\`${componentName}\\`, expected \\`integer\\`.`);\n }\n return null;\n}\nfunction validator(props, propName, ...other) {\n const propValue = props[propName];\n if (propValue === undefined) {\n return null;\n }\n return requiredInteger(props, propName, ...other);\n}\nfunction validatorNoop() {\n return null;\n}\nvalidator.isRequired = requiredInteger;\nvalidatorNoop.isRequired = validatorNoop;\nexport default process.env.NODE_ENV === 'production' ? validatorNoop : validator;","import _extends from \"@babel/runtime/helpers/esm/extends\";\n/**\n * Add keys, values of `defaultProps` that does not exist in `props`\n * @param {object} defaultProps\n * @param {object} props\n * @returns {object} resolved props\n */\nexport default function resolveProps(defaultProps, props) {\n const output = _extends({}, props);\n Object.keys(defaultProps).forEach(propName => {\n if (propName.toString().match(/^(components|slots)$/)) {\n output[propName] = _extends({}, defaultProps[propName], output[propName]);\n } else if (propName.toString().match(/^(componentsProps|slotProps)$/)) {\n const defaultSlotProps = defaultProps[propName] || {};\n const slotProps = props[propName];\n output[propName] = {};\n if (!slotProps || !Object.keys(slotProps)) {\n // Reduce the iteration if the slot props is empty\n output[propName] = defaultSlotProps;\n } else if (!defaultSlotProps || !Object.keys(defaultSlotProps)) {\n // Reduce the iteration if the default slot props is empty\n output[propName] = slotProps;\n } else {\n output[propName] = _extends({}, slotProps);\n Object.keys(defaultSlotProps).forEach(slotPropName => {\n output[propName][slotPropName] = resolveProps(defaultSlotProps[slotPropName], slotProps[slotPropName]);\n });\n }\n } else if (output[propName] === undefined) {\n output[propName] = defaultProps[propName];\n }\n });\n return output;\n}","export default function composeClasses(slots, getUtilityClass, classes = undefined) {\n const output = {};\n Object.keys(slots).forEach(\n // `Object.keys(slots)` can't be wider than `T` because we infer `T` from `slots`.\n // @ts-expect-error https://github.com/microsoft/TypeScript/pull/12253#issuecomment-263132208\n slot => {\n output[slot] = slots[slot].reduce((acc, key) => {\n if (key) {\n const utilityClass = getUtilityClass(key);\n if (utilityClass !== '') {\n acc.push(utilityClass);\n }\n if (classes && classes[key]) {\n acc.push(classes[key]);\n }\n }\n return acc;\n }, []).join(' ');\n });\n return output;\n}","const defaultGenerator = componentName => componentName;\nconst createClassNameGenerator = () => {\n let generate = defaultGenerator;\n return {\n configure(generator) {\n generate = generator;\n },\n generate(componentName) {\n return generate(componentName);\n },\n reset() {\n generate = defaultGenerator;\n }\n };\n};\nconst ClassNameGenerator = createClassNameGenerator();\nexport default ClassNameGenerator;","import ClassNameGenerator from '../ClassNameGenerator';\nexport const globalStateClasses = {\n active: 'active',\n checked: 'checked',\n completed: 'completed',\n disabled: 'disabled',\n error: 'error',\n expanded: 'expanded',\n focused: 'focused',\n focusVisible: 'focusVisible',\n open: 'open',\n readOnly: 'readOnly',\n required: 'required',\n selected: 'selected'\n};\nexport default function generateUtilityClass(componentName, slot, globalStatePrefix = 'Mui') {\n const globalStateClass = globalStateClasses[slot];\n return globalStateClass ? `${globalStatePrefix}-${globalStateClass}` : `${ClassNameGenerator.generate(componentName)}-${slot}`;\n}\nexport function isGlobalState(slot) {\n return globalStateClasses[slot] !== undefined;\n}","import generateUtilityClass from '../generateUtilityClass';\nexport default function generateUtilityClasses(componentName, slots, globalStatePrefix = 'Mui') {\n const result = {};\n slots.forEach(slot => {\n result[slot] = generateUtilityClass(componentName, slot, globalStatePrefix);\n });\n return result;\n}","function clamp(val, min = Number.MIN_SAFE_INTEGER, max = Number.MAX_SAFE_INTEGER) {\n return Math.max(min, Math.min(val, max));\n}\nexport default clamp;","/**\n * Determines if a given element is a DOM element name (i.e. not a React component).\n */\nexport function isHostComponent(element) {\n return typeof element === 'string';\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { isHostComponent } from './isHostComponent';\n\n/**\n * Type of the ownerState based on the type of an element it applies to.\n * This resolves to the provided OwnerState for React components and `undefined` for host components.\n * Falls back to `OwnerState | undefined` when the exact type can't be determined in development time.\n */\n\n/**\n * Appends the ownerState object to the props, merging with the existing one if necessary.\n *\n * @param elementType Type of the element that owns the `existingProps`. If the element is a DOM node or undefined, `ownerState` is not applied.\n * @param otherProps Props of the element.\n * @param ownerState\n */\nexport function appendOwnerState(elementType, otherProps, ownerState) {\n if (elementType === undefined || isHostComponent(elementType)) {\n return otherProps;\n }\n return _extends({}, otherProps, {\n ownerState: _extends({}, otherProps.ownerState, ownerState)\n });\n}","'use client';\n\nimport * as React from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst defaultContextValue = {\n disableDefaultClasses: false\n};\nconst ClassNameConfiguratorContext = /*#__PURE__*/React.createContext(defaultContextValue);\n/**\n * @ignore - internal hook.\n *\n * Wraps the `generateUtilityClass` function and controls how the classes are generated.\n * Currently it only affects whether the classes are applied or not.\n *\n * @returns Function to be called with the `generateUtilityClass` function specific to a component to generate the classes.\n */\nexport function useClassNamesOverride(generateUtilityClass) {\n const {\n disableDefaultClasses\n } = React.useContext(ClassNameConfiguratorContext);\n return slot => {\n if (disableDefaultClasses) {\n return '';\n }\n return generateUtilityClass(slot);\n };\n}\n\n/**\n * Allows to configure the components within to not apply any built-in classes.\n */\nexport function ClassNameConfigurator(props) {\n const {\n disableDefaultClasses,\n children\n } = props;\n const contextValue = React.useMemo(() => ({\n disableDefaultClasses: disableDefaultClasses != null ? disableDefaultClasses : false\n }), [disableDefaultClasses]);\n return /*#__PURE__*/_jsx(ClassNameConfiguratorContext.Provider, {\n value: contextValue,\n children: children\n });\n}","/**\n * Extracts event handlers from a given object.\n * A prop is considered an event handler if it is a function and its name starts with `on`.\n *\n * @param object An object to extract event handlers from.\n * @param excludeKeys An array of keys to exclude from the returned object.\n */\nexport function extractEventHandlers(object, excludeKeys = []) {\n if (object === undefined) {\n return {};\n }\n const result = {};\n Object.keys(object).filter(prop => prop.match(/^on[A-Z]/) && typeof object[prop] === 'function' && !excludeKeys.includes(prop)).forEach(prop => {\n result[prop] = object[prop];\n });\n return result;\n}","/**\n * If `componentProps` is a function, calls it with the provided `ownerState`.\n * Otherwise, just returns `componentProps`.\n */\nexport function resolveComponentProps(componentProps, ownerState, slotState) {\n if (typeof componentProps === 'function') {\n return componentProps(ownerState, slotState);\n }\n return componentProps;\n}","/**\n * Removes event handlers from the given object.\n * A field is considered an event handler if it is a function with a name beginning with `on`.\n *\n * @param object Object to remove event handlers from.\n * @returns Object with event handlers removed.\n */\nexport function omitEventHandlers(object) {\n if (object === undefined) {\n return {};\n }\n const result = {};\n Object.keys(object).filter(prop => !(prop.match(/^on[A-Z]/) && typeof object[prop] === 'function')).forEach(prop => {\n result[prop] = object[prop];\n });\n return result;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport clsx from 'clsx';\nimport { extractEventHandlers } from './extractEventHandlers';\nimport { omitEventHandlers } from './omitEventHandlers';\n/**\n * Merges the slot component internal props (usually coming from a hook)\n * with the externally provided ones.\n *\n * The merge order is (the latter overrides the former):\n * 1. The internal props (specified as a getter function to work with get*Props hook result)\n * 2. Additional props (specified internally on a Base UI component)\n * 3. External props specified on the owner component. These should only be used on a root slot.\n * 4. External props specified in the `slotProps.*` prop.\n * 5. The `className` prop - combined from all the above.\n * @param parameters\n * @returns\n */\nexport function mergeSlotProps(parameters) {\n const {\n getSlotProps,\n additionalProps,\n externalSlotProps,\n externalForwardedProps,\n className\n } = parameters;\n if (!getSlotProps) {\n // The simpler case - getSlotProps is not defined, so no internal event handlers are defined,\n // so we can simply merge all the props without having to worry about extracting event handlers.\n const joinedClasses = clsx(additionalProps == null ? void 0 : additionalProps.className, className, externalForwardedProps == null ? void 0 : externalForwardedProps.className, externalSlotProps == null ? void 0 : externalSlotProps.className);\n const mergedStyle = _extends({}, additionalProps == null ? void 0 : additionalProps.style, externalForwardedProps == null ? void 0 : externalForwardedProps.style, externalSlotProps == null ? void 0 : externalSlotProps.style);\n const props = _extends({}, additionalProps, externalForwardedProps, externalSlotProps);\n if (joinedClasses.length > 0) {\n props.className = joinedClasses;\n }\n if (Object.keys(mergedStyle).length > 0) {\n props.style = mergedStyle;\n }\n return {\n props,\n internalRef: undefined\n };\n }\n\n // In this case, getSlotProps is responsible for calling the external event handlers.\n // We don't need to include them in the merged props because of this.\n\n const eventHandlers = extractEventHandlers(_extends({}, externalForwardedProps, externalSlotProps));\n const componentsPropsWithoutEventHandlers = omitEventHandlers(externalSlotProps);\n const otherPropsWithoutEventHandlers = omitEventHandlers(externalForwardedProps);\n const internalSlotProps = getSlotProps(eventHandlers);\n\n // The order of classes is important here.\n // Emotion (that we use in libraries consuming Base UI) depends on this order\n // to properly override style. It requires the most important classes to be last\n // (see https://github.com/mui/material-ui/pull/33205) for the related discussion.\n const joinedClasses = clsx(internalSlotProps == null ? void 0 : internalSlotProps.className, additionalProps == null ? void 0 : additionalProps.className, className, externalForwardedProps == null ? void 0 : externalForwardedProps.className, externalSlotProps == null ? void 0 : externalSlotProps.className);\n const mergedStyle = _extends({}, internalSlotProps == null ? void 0 : internalSlotProps.style, additionalProps == null ? void 0 : additionalProps.style, externalForwardedProps == null ? void 0 : externalForwardedProps.style, externalSlotProps == null ? void 0 : externalSlotProps.style);\n const props = _extends({}, internalSlotProps, additionalProps, otherPropsWithoutEventHandlers, componentsPropsWithoutEventHandlers);\n if (joinedClasses.length > 0) {\n props.className = joinedClasses;\n }\n if (Object.keys(mergedStyle).length > 0) {\n props.style = mergedStyle;\n }\n return {\n props,\n internalRef: internalSlotProps.ref\n };\n}","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"elementType\", \"externalSlotProps\", \"ownerState\", \"skipResolvingSlotProps\"];\nimport { unstable_useForkRef as useForkRef } from '@mui/utils';\nimport { appendOwnerState } from './appendOwnerState';\nimport { mergeSlotProps } from './mergeSlotProps';\nimport { resolveComponentProps } from './resolveComponentProps';\n/**\n * @ignore - do not document.\n * Builds the props to be passed into the slot of an unstyled component.\n * It merges the internal props of the component with the ones supplied by the user, allowing to customize the behavior.\n * If the slot component is not a host component, it also merges in the `ownerState`.\n *\n * @param parameters.getSlotProps - A function that returns the props to be passed to the slot component.\n */\nexport function useSlotProps(parameters) {\n var _parameters$additiona;\n const {\n elementType,\n externalSlotProps,\n ownerState,\n skipResolvingSlotProps = false\n } = parameters,\n rest = _objectWithoutPropertiesLoose(parameters, _excluded);\n const resolvedComponentsProps = skipResolvingSlotProps ? {} : resolveComponentProps(externalSlotProps, ownerState);\n const {\n props: mergedProps,\n internalRef\n } = mergeSlotProps(_extends({}, rest, {\n externalSlotProps: resolvedComponentsProps\n }));\n const ref = useForkRef(internalRef, resolvedComponentsProps == null ? void 0 : resolvedComponentsProps.ref, (_parameters$additiona = parameters.additionalProps) == null ? void 0 : _parameters$additiona.ref);\n const props = appendOwnerState(elementType, _extends({}, mergedProps, {\n ref\n }), ownerState);\n return props;\n}","import { globalStateClasses } from '@mui/utils/generateUtilityClass';\nconst GLOBAL_CLASS_PREFIX = 'base';\nfunction buildStateClass(state) {\n return `${GLOBAL_CLASS_PREFIX}--${state}`;\n}\nfunction buildSlotClass(componentName, slot) {\n return `${GLOBAL_CLASS_PREFIX}-${componentName}-${slot}`;\n}\nexport function generateUtilityClass(componentName, slot) {\n const globalStateClass = globalStateClasses[slot];\n return globalStateClass ? buildStateClass(globalStateClass) : buildSlotClass(componentName, slot);\n}\nexport function isGlobalState(slot) {\n return globalStateClasses[slot] !== undefined;\n}","import { generateUtilityClass } from '../generateUtilityClass';\nexport function generateUtilityClasses(componentName, slots) {\n const result = {};\n slots.forEach(slot => {\n result[slot] = generateUtilityClass(componentName, slot);\n });\n return result;\n}","'use client';\n\n/* eslint-disable consistent-return, jsx-a11y/no-noninteractive-tabindex */\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { exactProp, elementAcceptingRef, unstable_useForkRef as useForkRef, unstable_ownerDocument as ownerDocument } from '@mui/utils';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n// Inspired by https://github.com/focus-trap/tabbable\nconst candidatesSelector = ['input', 'select', 'textarea', 'a[href]', 'button', '[tabindex]', 'audio[controls]', 'video[controls]', '[contenteditable]:not([contenteditable=\"false\"])'].join(',');\nfunction getTabIndex(node) {\n const tabindexAttr = parseInt(node.getAttribute('tabindex') || '', 10);\n if (!Number.isNaN(tabindexAttr)) {\n return tabindexAttr;\n }\n\n // Browsers do not return `tabIndex` correctly for contentEditable nodes;\n // https://bugs.chromium.org/p/chromium/issues/detail?id=661108&q=contenteditable%20tabindex&can=2\n // so if they don't have a tabindex attribute specifically set, assume it's 0.\n // in Chrome,
,