text-editor-studio-ts
Version:
A powerful mobile-responsive rich text editor built with Lexical and React
3 lines • 531 kB
JavaScript
"use strict";Object.create;var e=Object.defineProperty,i=(Object.getOwnPropertyDescriptor,Object.getOwnPropertyNames,Object.getPrototypeOf,Object.prototype.hasOwnProperty,(i,o,s)=>((i,o,s)=>o in i?e(i,o,{enumerable:!0,configurable:!0,writable:!0,value:s}):i[o]=s)(i,"symbol"!=typeof o?o+"":o,s));const o=require("react/jsx-runtime"),s=require("react"),t=require("lexical"),n=require("@lexical/html"),a=require("@radix-ui/react-tooltip"),r=require("clsx"),c=require("tailwind-merge"),l=require("@lexical/code"),d=require("@lexical/hashtag"),g=require("@lexical/link"),u=require("@lexical/list"),m=require("@lexical/overflow"),p=require("@lexical/utils"),_=require("@lexical/rich-text"),v=require("@lexical/table"),y=require("@lexical/selection"),h=require("katex"),f=require("@lexical/markdown"),b=require("@lexical/text"),j=require("react-dom"),w=require("@radix-ui/react-separator"),x=require("lucide-react"),k=require("@radix-ui/react-select"),N=require("class-variance-authority"),S=require("@radix-ui/react-slot"),C=require("@radix-ui/react-dialog"),E=require("@radix-ui/react-popover"),T=require("cmdk"),O=require("@radix-ui/react-label"),P=require("@radix-ui/react-tabs"),A=require("@radix-ui/react-checkbox"),R=require("@radix-ui/react-toggle-group");require("@radix-ui/react-toggle");const M=require("react-colorful"),D=require("lodash-es"),B=require("react-error-boundary");function F(e){const i=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e)for(const o in e)if("default"!==o){const s=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(i,o,s.get?s:{enumerable:!0,get:()=>e[o]})}return i.default=e,Object.freeze(i)}const I=F(s),$=F(a),L=F(w),z=F(k),q=F(C),K=F(E),H=F(O),W=F(P),Y=F(A),U=F(R),J=s.createContext(null);function G(e,i){let o=null;return null!=e&&(o=e[1]),{getTheme:function(){return null!=i?i:null!=o?o.getTheme():null}}}function V(){const e=s.useContext(J);return null==e&&function(e,...i){const o=new URL("https://lexical.dev/docs/error"),s=new URLSearchParams;s.append("code",e);for(const t of i)s.append("v",t);throw o.search=s.toString(),Error(`Minified Lexical error #${e}; visit ${o.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}(8),e}const X="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,Z=X?s.useLayoutEffect:s.useEffect,Q={tag:"history-merge"};function ee({initialConfig:e,children:i}){const n=s.useMemo(()=>{const{theme:i,namespace:o,nodes:s,onError:n,editorState:a,html:r}=e,c=G(null,i),l=t.createEditor({editable:e.editable,html:r,namespace:o,nodes:s,onError:e=>n(e,l),theme:i});return function(e,i){if(null!==i)if(void 0===i)e.update(()=>{const i=t.$getRoot();if(i.isEmpty()){const o=t.$createParagraphNode();i.append(o);const s=X?document.activeElement:null;(null!==t.$getSelection()||null!==s&&s===e.getRootElement())&&o.select()}},Q);else if(null!==i)switch(typeof i){case"string":{const o=e.parseEditorState(i);e.setEditorState(o,Q);break}case"object":e.setEditorState(i,Q);break;case"function":e.update(()=>{t.$getRoot().isEmpty()&&i(e)},Q)}}(l,a),[l,c]},[]);return Z(()=>{const i=e.editable,[o]=n;o.setEditable(void 0===i||i)},[]),o.jsx(J.Provider,{value:n,children:i})}const ie="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?s.useLayoutEffect:s.useEffect;function oe({ignoreHistoryMergeTagChange:e=!0,ignoreSelectionChange:i=!1,onChange:o}){const[s]=V();return ie(()=>{if(o)return s.registerUpdateListener(({editorState:t,dirtyElements:n,dirtyLeaves:a,prevEditorState:r,tags:c})=>{i&&0===n.size&&0===a.size||e&&c.has("history-merge")||r.isEmpty()||o(t,s,c)})},[s,e,i,o]),null}const se=s.createContext({isLinkEditMode:!1,setIsLinkEditMode:()=>{}});function te({children:e}){const[i,t]=s.useState(!1);return o.jsx(se.Provider,{value:{isLinkEditMode:i,setIsLinkEditMode:t},children:e})}function ne(){if(!se)throw new Error("useFloatingLinkContext must be used within a FloatingLinkContext");return s.useContext(se)}const ae=s.createContext([e=>()=>{},e=>{}]);function re({children:e}){const i=s.useMemo(()=>{let e=null;const i=new Set;return[o=>(o(e),i.add(o),()=>{i.delete(o)}),o=>{e=o;for(const e of Array.from(i))e(o)}]},[]);return o.jsx(ae.Provider,{value:i,children:e})}const ce=()=>{const[e,i]=s.useContext(ae),[o,t]=s.useState(null);return s.useEffect(()=>e(e=>{t(e)}),[e]),[o,i]};function le(...e){return c.twMerge(r.clsx(e))}function de({delayDuration:e=0,...i}){return o.jsx($.Provider,{"data-slot":"tooltip-provider",delayDuration:e,...i})}function ge(e,i){return e.getEditorState().read(()=>{const e=t.$getNodeByKey(i);return null!==e&&e.isSelected()})}function ue(e){const[i]=V(),[o,n]=s.useState(()=>ge(i,e));return s.useEffect(()=>{let o=!0;const s=i.registerUpdateListener(()=>{o&&n(ge(i,e))});return()=>{o=!1,s()}},[i,e]),[o,s.useCallback(o=>{i.update(()=>{let i=t.$getSelection();t.$isNodeSelection(i)||(i=t.$createNodeSelection(),t.$setSelection(i)),t.$isNodeSelection(i)&&(o?i.add(e):i.delete(e))})},[i,e]),s.useCallback(()=>{i.update(()=>{const e=t.$getSelection();t.$isNodeSelection(e)&&e.clear()})},[i])]}const me=t.createCommand("INSERT_HORIZONTAL_RULE_COMMAND");function pe({nodeKey:e}){const[i]=V(),[o,n,a]=ue(e);return s.useEffect(()=>p.mergeRegister(i.registerCommand(t.CLICK_COMMAND,s=>{const t=i.getElementByKey(e);return s.target===t&&(s.shiftKey||a(),n(!o),!0)},t.COMMAND_PRIORITY_LOW)),[a,i,o,e,n]),s.useEffect(()=>{const s=i.getElementByKey(e),t=i._config.theme.hrSelected??"selected";null!==s&&(o?p.addClassNamesToElement(s,t):p.removeClassNamesFromElement(s,t))},[i,o,e]),null}let _e=class e extends t.DecoratorNode{static getType(){return"horizontalrule"}static clone(i){return new e(i.__key)}static importJSON(e){return ye().updateFromJSON(e)}static importDOM(){return{hr:()=>({conversion:ve,priority:0})}}exportDOM(){return{element:document.createElement("hr")}}createDOM(e){const i=document.createElement("hr");return p.addClassNamesToElement(i,e.theme.hr),i}getTextContent(){return"\n"}isInline(){return!1}updateDOM(){return!1}decorate(){return o.jsx(pe,{nodeKey:this.__key})}};function ve(){return{node:ye()}}function ye(){return t.$applyNodeReplacement(new _e)}function he(e){return e instanceof _e}const fe=new WeakMap;function be(e){const i=e.changedTouches[0];return void 0===i?null:[i.clientX,i.clientY]}function je(e,i){let o=fe.get(e);if(void 0===o){const i=new Set,s=e=>{void 0!==o&&(o.start=be(e))},t=e=>{if(void 0===o)return;const s=o.start;if(null===s)return;const t=be(e);for(const o of Array.from(i))null!==t&&o([t[0]-s[0],t[1]-s[1]],e)};e.addEventListener("touchstart",s),e.addEventListener("touchend",t),o={handleTouchend:t,handleTouchstart:s,listeners:i,start:null},fe.set(e,o)}return o.listeners.add(i),()=>function(e,i){const o=fe.get(e);if(void 0===o)return;const s=o.listeners;s.delete(i),0===s.size&&(fe.delete(e),e.removeEventListener("touchstart",o.handleTouchstart),e.removeEventListener("touchend",o.handleTouchend))}(e,i)}const we=Math.random().toString(36).replace(/[^a-z]+/g,"").substr(0,5);function xe(e){if(!t.$isRangeSelection(e)||!e.isCollapsed())return[!1,""];const i=e.getNodes()[0],o=e.anchor;if(!t.$isTextNode(i)||!i.isSimpleText()||!y.$isAtNodeEnd(o))return[!1,""];const s=[],n=i.getTextContent();let a,r=i.getTextContentSize();for(;r--&&r>=0&&" "!==(a=n[r]);)s.push(a);return 0===s.length?[!1,""]:[!0,s.reverse().join("")]}function ke(){const[e]=V(),[,i]=ce(),o=s.useCallback(e=>{const i=new Ne;console.time("query");const o=i.query(e);return console.timeEnd("query"),o},[]);return s.useEffect(()=>{let s=null,n=null,a=null,r=null;function c(){const e=null!==s?t.$getNodeByKey(s):null;null!==e&&e.isAttached()&&(e.remove(),s=null),null!==r&&(r.dismiss(),r=null),n=null,a=null,i(null)}function l(){if(null===a||null===s)return!1;const e=t.$getNodeByKey(s);if(null===e)return!1;const i=t.$createTextNode(a);return e.replace(i),i.selectNext(),c(),!0}function d(e){return!!l()&&(e.preventDefault(),!0)}const g=e.getRootElement();return p.mergeRegister(e.registerNodeTransform(Ce,function(e){const i=e.getKey();e.__uuid===we&&i!==s&&c()}),e.registerUpdateListener(function(){e.update(()=>{const l=t.$getSelection(),[d,g]=xe(l);d?g!==n&&(c(),r=o(g),r.promise.then(o=>{null!==r&&function(o,c){r===o&&null!==c&&e.update(()=>{const e=t.$getSelection(),[o,r]=xe(e);if(!o||r!==n||!t.$isRangeSelection(e))return;const l=e.clone(),d=Ee(we);s=d.getKey(),e.insertNodes([d]),t.$setSelection(l),a=c,i(c)},{tag:"history-merge"})}(r,o)}).catch(()=>{}),n=g):c()})}),e.registerCommand(t.KEY_TAB_COMMAND,d,t.COMMAND_PRIORITY_LOW),e.registerCommand(t.KEY_ARROW_RIGHT_COMMAND,d,t.COMMAND_PRIORITY_LOW),...null!==g?[(u=g,m=function(i,o){e.update(()=>{l()&&o.preventDefault()})},je(u,(e,i)=>{const[o,s]=e;o>0&&o>Math.abs(s)&&m(o,i)}))]:[],function(){e.update(()=>{c()})});var u,m},[e,o,i]),null}class Ne{constructor(){i(this,"DATABASE",Se),i(this,"LATENCY",200),i(this,"query",e=>{let i=!1;return{dismiss:()=>{i=!0},promise:new Promise((o,s)=>{setTimeout(()=>{if(i)return s("Dismissed");const t=e.length;if(""===e||t<4)return o(null);const n=e.charCodeAt(0),a=n>=65&&n<=90,r=a?String.fromCharCode(n+32)+e.substring(1):e,c=this.DATABASE.find(e=>e.startsWith(r)??null);if(void 0===c)return o(null);const l=(a?String.fromCharCode(c.charCodeAt(0)-32)+c.substring(1):c).substring(t);return o(""===l?null:l)},this.LATENCY)})}})}}const Se=["information","available","copyright","university","management","international","development","education","community","technology","following","resources","including","directory","government","department","description","insurance","different","categories","conditions","accessories","september","questions","application","financial","equipment","performance","experience","important","activities","additional","something","professional","committee","washington","california","reference","companies","computers","president","australia","discussion","entertainment","agreement","marketing","association","collection","solutions","electronics","technical","microsoft","conference","environment","statement","downloads","applications","requirements","individual","subscribe","everything","production","commercial","advertising","treatment","newsletter","knowledge","currently","construction","registered","protection","engineering","published","corporate","customers","materials","countries","standards","political","advertise","environmental","availability","employment","commission","administration","institute","sponsored","electronic","condition","effective","organization","selection","corporation","executive","necessary","according","particular","facilities","opportunities","appropriate","statistics","investment","christmas","registration","furniture","wednesday","structure","distribution","industrial","potential","responsible","communications","associated","foundation","documents","communication","independent","operating","developed","telephone","population","navigation","operations","therefore","christian","understand","publications","worldwide","connection","publisher","introduction","properties","accommodation","excellent","opportunity","assessment","especially","interface","operation","restaurants","beautiful","locations","significant","technologies","manufacturer","providing","authority","considered","programme","enterprise","educational","employees","alternative","processing","responsibility","resolution","publication","relations","photography","components","assistance","completed","organizations","otherwise","transportation","disclaimer","membership","recommended","background","character","maintenance","functions","trademarks","phentermine","submitted","television","interested","throughout","established","programming","regarding","instructions","increased","understanding","beginning","associates","instruments","businesses","specified","restaurant","procedures","relationship","traditional","sometimes","themselves","transport","interesting","evaluation","implementation","galleries","references","presented","literature","respective","definition","secretary","networking","australian","magazines","francisco","individuals","guidelines","installation","described","attention","difference","regulations","certificate","directions","documentation","automotive","successful","communities","situation","publishing","emergency","developing","determine","temperature","announcements","historical","ringtones","difficult","scientific","satellite","particularly","functional","monitoring","architecture","recommend","dictionary","accounting","manufacturing","professor","generally","continued","techniques","permission","generation","component","guarantee","processes","interests","paperback","classifieds","supported","competition","providers","characters","thousands","apartments","generated","administrative","practices","reporting","essential","affiliate","immediately","designated","integrated","configuration","comprehensive","universal","presentation","languages","compliance","improvement","pennsylvania","challenge","acceptance","strategies","affiliates","multimedia","certified","computing","interactive","procedure","leadership","religious","breakfast","developer","approximately","recommendations","comparison","automatically","minnesota","adventure","institutions","assistant","advertisement","headlines","yesterday","determined","wholesale","extension","statements","completely","electrical","applicable","manufacturers","classical","dedicated","direction","basketball","wisconsin","personnel","identified","professionals","advantage","newsletters","estimated","anonymous","miscellaneous","integration","interview","framework","installed","massachusetts","associate","frequently","discussions","laboratory","destination","intelligence","specifications","tripadvisor","residential","decisions","industries","partnership","editorial","expression","provisions","principles","suggestions","replacement","strategic","economics","compatible","apartment","netherlands","consulting","recreation","participants","favorites","translation","estimates","protected","philadelphia","officials","contained","legislation","parameters","relationships","tennessee","representative","frequency","introduced","departments","residents","displayed","performed","administrator","addresses","permanent","agriculture","constitutes","portfolio","practical","delivered","collectibles","infrastructure","exclusive","originally","utilities","philosophy","regulation","reduction","nutrition","recording","secondary","wonderful","announced","prevention","mentioned","automatic","healthcare","maintained","increasing","connected","directors","participation","containing","combination","amendment","guaranteed","libraries","distributed","singapore","enterprises","convention","principal","certification","previously","buildings","household","batteries","positions","subscription","contemporary","panasonic","permalink","signature","provision","certainly","newspaper","liability","trademark","trackback","americans","promotion","conversion","reasonable","broadband","influence","importance","webmaster","prescription","specifically","represent","conservation","louisiana","javascript","marketplace","evolution","certificates","objectives","suggested","concerned","structures","encyclopedia","continuing","interracial","competitive","suppliers","preparation","receiving","accordance","discussed","elizabeth","reservations","playstation","instruction","annotation","differences","establish","expressed","paragraph","mathematics","compensation","conducted","percentage","mississippi","requested","connecticut","personals","immediate","agricultural","supporting","collections","participate","specialist","experienced","investigation","institution","searching","proceedings","transmission","characteristics","experiences","extremely","verzeichnis","contracts","concerning","developers","equivalent","chemistry","neighborhood","variables","continues","curriculum","psychology","responses","circumstances","identification","appliances","elementary","unlimited","printable","enforcement","hardcover","celebrity","chocolate","hampshire","bluetooth","controlled","requirement","authorities","representatives","pregnancy","biography","attractions","transactions","authorized","retirement","financing","efficiency","efficient","commitment","specialty","interviews","qualified","discovery","classified","confidence","lifestyle","consistent","clearance","connections","inventory","converter","organisation","objective","indicated","securities","volunteer","democratic","switzerland","parameter","processor","dimensions","contribute","challenges","recognition","submission","encourage","regulatory","inspection","consumers","territory","transaction","manchester","contributions","continuous","resulting","cambridge","initiative","execution","disability","increases","contractor","examination","indicates","committed","extensive","affordable","candidate","databases","outstanding","perspective","messenger","tournament","consideration","discounts","catalogue","publishers","caribbean","reservation","remaining","depending","expansion","purchased","performing","collected","absolutely","featuring","implement","scheduled","calculator","significantly","temporary","sufficient","awareness","vancouver","contribution","measurement","constitution","packaging","consultation","northwest","classroom","democracy","wallpaper","merchandise","resistance","baltimore","candidates","charlotte","biological","transition","preferences","instrument","classification","physician","hollywood","wikipedia","spiritual","photographs","relatively","satisfaction","represents","pittsburgh","preferred","intellectual","comfortable","interaction","listening","effectively","experimental","revolution","consolidation","landscape","dependent","mechanical","consultants","applicant","cooperation","acquisition","implemented","directories","recognized","notification","licensing","textbooks","diversity","cleveland","investments","accessibility","sensitive","templates","completion","universities","technique","contractors","subscriptions","calculate","alexander","broadcast","converted","anniversary","improvements","specification","accessible","accessory","typically","representation","arrangements","conferences","uniprotkb","consumption","birmingham","afternoon","consultant","controller","ownership","committees","legislative","researchers","unsubscribe","molecular","residence","attorneys","operators","sustainable","philippines","statistical","innovation","employers","definitions","elections","stainless","newspapers","hospitals","exception","successfully","indonesia","primarily","capabilities","recommendation","recruitment","organized","improving","expensive","organisations","explained","programmes","expertise","mechanism","jewellery","eventually","agreements","considering","innovative","conclusion","disorders","collaboration","detection","formation","engineers","proposals","moderator","tutorials","settlement","collectables","fantastic","governments","purchasing","appointed","operational","corresponding","descriptions","determination","animation","productions","telecommunications","instructor","approaches","highlights","designers","melbourne","scientists","blackjack","argentina","possibility","commissioner","dangerous","reliability","unfortunately","respectively","volunteers","attachment","appointment","workshops","hurricane","represented","mortgages","responsibilities","carefully","productivity","investors","underground","diagnosis","principle","vacations","calculated","appearance","incorporated","notebooks","algorithm","valentine","involving","investing","christopher","admission","terrorism","parliament","situations","allocated","corrections","structural","municipal","describes","disabilities","substance","prohibited","addressed","simulation","initiatives","concentration","interpretation","bankruptcy","optimization","substances","discovered","restrictions","participating","exhibition","composition","nationwide","definitely","existence","commentary","limousines","developments","immigration","destinations","necessarily","attribute","apparently","surrounding","mountains","popularity","postposted","coordinator","obviously","fundamental","substantial","progressive","championship","sacramento","impossible","depression","testimonials","memorabilia","cartridge","explanation","cincinnati","subsection","electricity","permitted","workplace","confirmed","wallpapers","infection","eligibility","involvement","placement","observations","vbulletin","subsequent","motorcycle","disclosure","establishment","presentations","undergraduate","occupation","donations","associations","citysearch","radiation","seriously","elsewhere","pollution","conservative","guestbook","effectiveness","demonstrate","atmosphere","experiment","purchases","federation","assignment","chemicals","everybody","nashville","counseling","acceptable","satisfied","measurements","milwaukee","medication","warehouse","shareware","violation","configure","stability","southwest","institutional","expectations","independence","metabolism","personally","excellence","somewhere","attributes","recognize","screening","thumbnail","forgotten","intelligent","edinburgh","obligation","regardless","restricted","republican","merchants","attendance","arguments","amsterdam","adventures","announcement","appreciate","regularly","mechanisms","customize","tradition","indicators","emissions","physicians","complaint","experiments","afghanistan","scholarship","governance","supplements","camcorder","implementing","ourselves","conversation","capability","producing","precision","contributed","reproduction","ingredients","franchise","complaints","promotions","rehabilitation","maintaining","environments","reception","correctly","consequences","geography","appearing","integrity","discrimination","processed","implications","functionality","intermediate","emotional","platforms","overnight","geographic","preliminary","districts","introduce","promotional","chevrolet","specialists","generator","suspension","correction","authentication","communicate","supplement","showtimes","promoting","machinery","bandwidth","probability","dimension","schedules","admissions","quarterly","illustrated","continental","alternate","achievement","limitations","automated","passenger","convenient","orientation","childhood","flexibility","jurisdiction","displaying","encouraged","cartridges","declaration","automation","advantages","preparing","recipient","extensions","athletics","southeast","alternatives","determining","personalized","conditioning","partnerships","destruction","increasingly","migration","basically","conventional","applicants","occupational","adjustment","treatments","camcorders","difficulty","collective","coalition","enrollment","producers","collector","interfaces","advertisers","representing","observation","restoration","convenience","returning","opposition","container","defendant","confirmation","supervisor","peripherals","bestsellers","departure","minneapolis","interactions","intervention","attraction","modification","customized","understood","assurance","happening","amendments","metropolitan","compilation","verification","attractive","recordings","jefferson","gardening","obligations","orchestra","polyphonic","outsourcing","adjustable","allocation","discipline","demonstrated","identifying","alphabetical","dispatched","installing","voluntary","photographer","messaging","constructed","additions","requiring","engagement","refinance","calendars","arrangement","conclusions","bibliography","compatibility","furthermore","cooperative","measuring","jacksonville","headquarters","transfers","transformation","attachments","administrators","personality","facilitate","subscriber","priorities","bookstore","parenting","incredible","commonwealth","pharmaceutical","manhattan","workforce","organizational","portuguese","everywhere","discharge","halloween","hazardous","methodology","housewares","reputation","resistant","democrats","recycling","qualifications","slideshow","variation","transferred","photograph","distributor","underlying","wrestling","photoshop","gathering","projection","mathematical","specialized","diagnostic","indianapolis","corporations","criticism","automobile","confidential","statutory","accommodations","northeast","downloaded","paintings","injection","yorkshire","populations","protective","initially","indicator","eliminate","sunglasses","preference","threshold","venezuela","exploration","sequences","astronomy","translate","announces","compression","establishing","constitutional","perfectly","instantly","litigation","submissions","broadcasting","horizontal","terrorist","informational","ecommerce","suffering","prospective","ultimately","artificial","spectacular","coordination","connector","affiliated","activation","naturally","subscribers","mitsubishi","underwear","potentially","constraints","inclusive","dimensional","considerable","selecting","processors","pantyhose","difficulties","complexity","constantly","barcelona","presidential","documentary","territories","palestinian","legislature","hospitality","procurement","theoretical","exercises","surveillance","protocols","highlight","substitute","inclusion","hopefully","brilliant","evaluated","assignments","termination","households","authentic","montgomery","architectural","louisville","macintosh","movements","amenities","virtually","authorization","projector","comparative","psychological","surprised","genealogy","expenditure","liverpool","connectivity","algorithms","similarly","collaborative","excluding","commander","suggestion","spotlight","investigate","connecting","logistics","proportion","significance","symposium","essentials","protecting","transmitted","screenshots","intensive","switching","correspondence","supervision","expenditures","separation","testimony","celebrities","mandatory","boundaries","syndication","celebration","filtering","luxembourg","offensive","deployment","colleagues","separated","directive","governing","retailers","occasionally","attending","recruiting","instructional","traveling","permissions","biotechnology","prescribed","catherine","reproduced","calculation","consolidated","occasions","equations","exceptional","respondents","considerations","queensland","musicians","composite","unavailable","essentially","designing","assessments","brunswick","sensitivity","preservation","streaming","intensity","technological","syndicate","antivirus","addressing","discounted","bangladesh","constitute","concluded","desperate","demonstration","governmental","manufactured","graduation","variations","addiction","springfield","synthesis","undefined","unemployment","enhancement","newcastle","performances","societies","brazilian","identical","petroleum","norwegian","retention","exchanges","soundtrack","wondering","profession","separately","physiology","collecting","participant","scholarships","recreational","dominican","friendship","expanding","provincial","investigations","medications","rochester","advertiser","encryption","downloadable","sophisticated","possession","laboratories","vegetables","thumbnails","stockings","respondent","destroyed","manufacture","wordpress","vulnerability","accountability","celebrate","accredited","appliance","compressed","scheduling","perspectives","mortality","christians","therapeutic","impressive","accordingly","architect","challenging","microwave","accidents","relocation","contributors","violations","temperatures","competitions","discretion","cosmetics","repository","concentrations","christianity","negotiations","realistic","generating","christina","congressional","photographic","modifications","millennium","achieving","fisheries","exceptions","reactions","macromedia","companion","divisions","additionally","fellowship","victorian","copyrights","lithuania","mastercard","chronicles","obtaining","distribute","decorative","enlargement","campaigns","conjunction","instances","indigenous","validation","corruption","incentives","cholesterol","differential","scientist","starsmerchant","arthritis","nevertheless","practitioners","transcript","inflation","compounds","contracting","structured","reasonably","graduates","recommends","controlling","distributors","arlington","particles","extraordinary","indicating","coordinate","exclusively","limitation","widescreen","illustration","construct","inquiries","inspiration","affecting","downloading","aggregate","forecasts","complicated","shopzilla","decorating","expressions","shakespeare","connectors","conflicts","travelers","offerings","incorrect","furnishings","guatemala","perception","renaissance","pathology","ordinance","photographers","infections","configured","festivals","possibilities","contributing","analytical","circulation","assumption","jerusalem","transexuales","invention","technician","executives","enquiries","cognitive","exploring","registrar","supporters","withdrawal","predicted","saskatchewan","cancellation","ministers","veterinary","prostores","relevance","incentive","butterfly","mechanics","numerical","reflection","accompanied","invitation","princeton","spirituality","meanwhile","proprietary","childrens","thumbzilla","porcelain","pichunter","translated","columnists","consensus","delivering","journalism","intention","undertaken","statewide","semiconductor","illustrations","happiness","substantially","identifier","calculations","conducting","accomplished","calculators","impression","correlation","fragrance","neighbors","transparent","charleston","champions","selections","projectors","inappropriate","comparing","vocational","pharmacies","introducing","appreciated","albuquerque","distinguished","projected","assumptions","shareholders","developmental","regulated","anticipated","completing","comparable","confusion","copyrighted","warranties","documented","paperbacks","keyboards","vulnerable","reflected","respiratory","notifications","transexual","mainstream","evaluating","subcommittee","maternity","journalists","foundations","volleyball","liabilities","decreased","tolerance","creativity","describing","lightning","quotations","inspector","bookmarks","behavioral","riverside","bathrooms","abilities","initiated","nonprofit","lancaster","suspended","containers","attitudes","simultaneously","integrate","sociology","screenshot","exhibitions","confident","retrieved","officially","consortium","recipients","delicious","traditions","periodically","hungarian","referring","transform","educators","vegetable","humanities","independently","alignment","henderson","britannica","competitors","visibility","consciousness","encounter","resolutions","accessing","attempted","witnesses","administered","strengthen","frederick","aggressive","advertisements","sublimedirectory","disturbed","determines","sculpture","motivation","pharmacology","passengers","quantities","petersburg","consistently","powerpoint","obituaries","punishment","appreciation","subsequently","providence","restriction","incorporate","backgrounds","treasurer","lightweight","transcription","complications","scripting","remembered","synthetic","testament","specifics","partially","wilderness","generations","tournaments","sponsorship","headphones","proceeding","volkswagen","uncertainty","breakdown","reconstruction","subsidiary","strengths","encouraging","furnished","terrorists","comparisons","beneficial","distributions","viewpicture","threatened","republicans","discusses","responded","abstracts","prediction","pharmaceuticals","thesaurus","individually","battlefield","literally","ecological","appraisal","consisting","submitting","citations","geographical","mozambique","disclaimers","championships","sheffield","finishing","wellington","prospects","bulgarian","aboriginal","remarkable","preventing","productive","boulevard","compliant","penalties","imagination","refurbished","activated","conferencing","armstrong","politicians","trackbacks","accommodate","christine","accepting","precipitation","isolation","sustained","approximate","programmer","greetings","inherited","incomplete","chronicle","legitimate","biographies","investigator","plaintiff","prisoners","mediterranean","nightlife","architects","entrepreneur","freelance","excessive","screensaver","valuation","unexpected","cigarette","characteristic","metallica","consequently","appointments","narrative","academics","quantitative","screensavers","subdivision","distinction","livestock","exemption","sustainability","formatting","nutritional","nicaragua","affiliation","relatives","satisfactory","revolutionary","bracelets","telephony","breathing","thickness","adjustments","graphical","discussing","aerospace","meaningful","maintains","shortcuts","voyeurweb","extending","specifies","accreditation","blackberry","meditation","microphone","macedonia","combining","instrumental","organizing","moderators","kazakhstan","standings","partition","invisible","translations","commodity","kilometers","thanksgiving","guarantees","indication","congratulations","cigarettes","controllers","consultancy","conventions","coordinates","responding","physically","stakeholders","hydrocodone","consecutive","attempting","representations","competing","peninsula","accurately","considers","ministries","vacancies","parliamentary","acknowledge","thoroughly","nottingham","identifies","questionnaire","qualification","modelling","miniature","interstate","consequence","systematic","perceived","madagascar","presenting","troubleshooting","uzbekistan","centuries","magnitude","richardson","fragrances","vocabulary","earthquake","fundraising","geological","assessing","introduces","webmasters","computational","acdbentity","participated","handhelds","answering","impressed","conspiracy","organizer","combinations","preceding","cumulative","amplifier","arbitrary","prominent","lexington","contacted","recorders","occasional","innovations","postcards","reviewing","explicitly","transsexual","citizenship","informative","girlfriend","bloomberg","hierarchy","influenced","abandoned","complement","mauritius","checklist","requesting","lauderdale","scenarios","extraction","elevation","utilization","beverages","calibration","efficiently","entertaining","prerequisite","hypothesis","medicines","regression","enhancements","renewable","intersection","passwords","consistency","collectors","azerbaijan","astrology","occurring","supplemental","travelling","induction","precisely","spreading","provinces","widespread","incidence","incidents","enhancing","interference","palestine","listprice","atmospheric","knowledgestorm","referenced","publicity","proposition","allowance","designation","duplicate","criterion","civilization","vietnamese","tremendous","corrected","encountered","internationally","surrounded","creatures","commented","accomplish","vegetarian","newfoundland","investigated","ambassador","stephanie","contacting","vegetation","findarticles","specially","infectious","continuity","phenomenon","conscious","referrals","differently","integrating","revisions","reasoning","charitable","annotated","convinced","burlington","replacing","researcher","watershed","occupations","acknowledged","equilibrium","characterized","privilege","qualifying","estimation","pediatric","techrepublic","institutes","brochures","traveller","appropriations","suspected","benchmark","beginners","instructors","highlighted","stationery","unauthorized","competent","contributor","demonstrates","gradually","desirable","journalist","afterwards","religions","explosion","signatures","disciplines","daughters","conversations","simplified","motherboard","bibliographic","champagne","deviation","superintendent","housewives","influences","inspections","irrigation","hydraulic","robertson","penetration","conviction","omissions","retrieval","qualities","prototype","importantly","apparatus","explaining","nomination","empirical","dependence","sexuality","polyester","commitments","suggesting","remainder","privileges","televisions","specializing","commodities","motorcycles","concentrate","reproductive","molecules","refrigerator","intervals","sentences","exclusion","workstation","holocaust","receivers","disposition","navigator","investigators","marijuana","cathedral","fairfield","fascinating","landscapes","lafayette","computation","cardiovascular","salvation","predictions","accompanying","selective","arbitration","configuring","editorials","sacrifice","removable","convergence","gibraltar","anthropology","malpractice","reporters","necessity","rendering","hepatitis","nationally","waterproof","specialties","humanitarian","invitations","functioning","economies","alexandria","bacterial","undertake","continuously","achievements","convertible","secretariat","paragraphs","adolescent","nominations","cancelled","introductory","reservoir","occurrence","worcester","demographic","disciplinary","respected","portraits","interpreted","evaluations","elimination","hypothetical","immigrants","complimentary","helicopter","performer","commissions","powerseller","graduated","surprising","unnecessary","dramatically","yugoslavia","characterization","likelihood","fundamentals","contamination","endangered","compromise","expiration","namespace","peripheral","negotiation","opponents","nominated","confidentiality","electoral","changelog","alternatively","greensboro","controversial","recovered","upgrading","frontpage","demanding","defensive","forbidden","programmers","monitored","installations","deutschland","practitioner","motivated","smithsonian","examining","revelation","delegation","dictionaries","greenhouse","transparency","currencies","survivors","positioning","descending","temporarily","frequencies","reflections","municipality","detective","experiencing","fireplace","endorsement","psychiatry","persistent","summaries","looksmart","magnificent","colleague","adaptation","paintball","enclosure","supervisors","westminster","distances","absorption","treasures","transcripts","disappointed","continually","communist","collectible","entrepreneurs","creations","acquisitions","biodiversity","excitement","presently","mysterious","librarian","subsidiaries","stockholm","indonesian","therapist","promising","relaxation","thereafter","commissioners","forwarding","nightmare","reductions","southampton","organisms","telescope","portsmouth","advancement","harassment","generators","generates","replication","inexpensive","receptors","interventions","huntington","internship","aluminium","snowboard","beastality","evanescence","coordinated","shipments","antarctica","chancellor","controversy","legendary","beautifully","antibodies","examinations","immunology","departmental","terminology","gentleman","reproduce","convicted","roommates","threatening","spokesman","activists","frankfurt","encourages","assembled","restructuring","terminals","simulations","sufficiently","conditional","crossword","conceptual","liechtenstein","translator","automobiles","continent","longitude","challenged","telecharger","insertion","instrumentation","constraint","groundwater","strengthening","insulation","infringement","subjective","swaziland","varieties","mediawiki","configurations"];class Ce extends t.DecoratorNode{constructor(e,o){super(o),i(this,"__uuid"),this.__uuid=e}static clone(e){return new Ce(e.__uuid,e.__key)}static getType(){return"autocomplete"}static importJSON(e){return Ee(e.uuid)}exportJSON(){return{...super.exportJSON(),type:"autocomplete",uuid:this.__uuid,version:1}}updateDOM(e,i,o){return!1}createDOM(e){return document.createElement("span")}decorate(e,i){return this.__uuid!==we?null:o.jsx(Te,{className:i.theme.autocomplete})}}function Ee(e){return new Ce(e)}function Te({className:e}){const[i]=ce(),s=window.navigator.userAgentData,t=void 0!==s?s.mobile:window.innerWidth<=800&&window.innerHeight<=600;return o.jsxs("span",{className:e,spellCheck:"false",children:[i," ",t?"(SWIPE ⮕)":"(TAB)"]})}const Oe="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,Pe=Oe&&"documentMode"in document?document.documentMode:null;Oe&&"InputEvent"in window&&!Pe&&new window.InputEvent("input");const Ae=Oe&&/^(?=.*Chrome).*/i.test(navigator.userAgent);function Re(e,i){if(!e)throw new Error("Internal Lexical error: invariant() is meant to be replaced at compile time. There is no runtime version. Error: "+i)}function Me(e){e.hidden="until-found"}function De(e){return{node:Fe(void 0===e.open||e.open)}}class Be extends t.ElementNode{constructor(e,o){super(o),i(this,"__open"),this.__open=e}static getType(){return"collapsible-container"}static clone(e){return new Be(e.__open,e.__key)}createDOM(e,i){let o;if(Ae)o=document.createElement("div"),o.setAttribute("open","");else{const e=document.createElement("details");e.open=this.__open,e.addEventListener("toggle",()=>{i.getEditorState().read(()=>this.getOpen())!==e.open&&i.update(()=>this.toggleOpen())}),o=e}return o.className="bg-background-system-body-primary border border-border-system-global-secondary rounded-lg mb-2",o}updateDOM(e,i){const o=this.__open;if(e.__open!==o)if(Ae){const e=i.children[1];Re(t.isHTMLElement(e),"Expected contentDom to be an HTMLElement"),o?(i.setAttribute("open",""),e.hidden=!1):(i.removeAttribute("open"),Me(e))}else i.open=this.__open;return!1}static importDOM(){return{details:e=>({conversion:De,priority:1})}}static importJSON(e){return Fe(e.open)}exportDOM(){const e=document.createElement("details");return e.className="bg-background-system-body-primary border border-border-system-global-secondary rounded-lg mb-2",e.setAttribute("open",this.__open.toString()),{element:e}}exportJSON(){return{...super.exportJSON(),open:this.__open,type:"collapsible-container",version:1}}setOpen(e){this.getWritable().__open=e}getOpen(){return this.getLatest().__open}toggleOpen(){this.setOpen(!this.getOpen())}}function Fe(e){return new Be(e)}function Ie(e){return e instanceof Be}function $e(e){return{node:ze()}}class Le extends t.ElementNode{static getType(){return"collapsible-content"}static clone(e){return new Le(e.__key)}createDOM(e,i){const o=document.createElement("div");return o.classList.add("pt-0","pr-1","pb-1","pl-4"),Ae&&(i.getEditorState().read(()=>{const e=this.getParentOrThrow();Re(Ie(e),"Expected parent node to be a CollapsibleContainerNode"),e.__open||Me(o)}),function(e,i){e.onbeforematch=i}(o,()=>{i.update(()=>{const e=this.getParentOrThrow().getLatest();Re(Ie(e),"Expected parent node to be a CollapsibleContainerNode"),e.__open||e.toggleOpen()})})),o}updateDOM(e,i){return!1}static importDOM(){return{div:e=>e.hasAttribute("data-lexical-collapsible-content")?{conversion:$e,priority:2}:null}}exportDOM(){const e=document.createElement("div");return e.classList.add("pt-0","pr-1","pb-1","pl-4"),e.setAttribute("data-lexical-collapsible-content","true"),{element:e}}static importJSON(e){return ze()}isShadowRoot(){return!0}exportJSON(){return{...super.exportJSON(),type:"collapsible-content",version:1}}}function ze(){return new Le}function qe(e){return e instanceof Le}function Ke(e){return{node:We()}}class He extends t.ElementNode{static getType(){return"collapsible-title"}static clone(e){return new He(e.__key)}createDOM(e,i){const o=document.createElement("summary");return o.classList.add("Collapsible__title"),Ae&&o.addEventListener("click",()=>{i.update(()=>{const e=this.getLatest().getParentOrThrow();Re(Ie(e),"Expected parent node to be a CollapsibleContainerNode"),e.toggleOpen()})}),o}updateDOM(e,i){return!1}static importDOM(){return{summary:e=>({conversion:Ke,priority:1})}}static importJSON(e){return We()}exportJSON(){return{...super.exportJSON(),type:"collapsible-title",version:1}}collapseAtStart(e){return this.getParentOrThrow().insertBefore(this),!0}static transform(){return e=>{Re(Ye(e),"node is not a CollapsibleTitleNode"),e.isEmpty()&&e.remove()}}insertNewAfter(e,i=!0){const o=this.getParentOrThrow();if(!Ie(o))throw new Error("CollapsibleTitleNode expects to be child of CollapsibleContainerNode");if(o.getOpen()){const e=this.getNextSibling();if(!qe(e))throw new Error("CollapsibleTitleNode expects to have CollapsibleContentNode sibling");const i=e.getFirstChild();if(t.$isElementNode(i))return i;{const i=t.$createParagraphNode();return e.append(i),i}}{const e=t.$createParagraphNode();return o.insertAfter(e,i),e}}}function We(){return new He}function Ye(e){return e instanceof He}class Ue extends t.DecoratorNode{constructor(e,i){super(i),this.__format=e||""}exportJSON(){return{...super.exportJSON(),format:this.__format||""}}updateFromJSON(e){return super.updateFromJSON(e).setFormat(e.format||"")}canIndent(){return!1}createDOM(){return document.createElement("div")}updateDOM(){return!1}setFormat(e){const i=this.getWritable();return i.__format=e,i}isInline(){return!1}}function Je(e){return e instanceof Ue}function Ge({children:e,format:i,nodeKey:n,className:a}){const[r]=V(),[c,l,d]=ue(n),g=s.useRef(null);return s.useEffect(()=>p.mergeRegister(r.registerCommand(t.FORMAT_ELEMENT_COMMAND,e=>{if(c){const i=t.$getSelection();if(t.$isNodeSelection(i)){const i=t.$getNodeByKey(n);Je(i)&&i.setFormat(e)}else if(t.$isRangeSelection(i)){const o=i.getNodes();for(const i of o)Je(i)?i.setFormat(e):p.$getNearestBlockElementAncestorOrThrow(i).setFormat(e)}return!0}return!1},t.COMMAND_PRIORITY_LOW),r.registerCommand(t.CLICK_COMMAND,e=>e.target===g.current&&(e.preventDefault(),e.shiftKey||d(),l(!c),!0),t.COMMAND_PRIORITY_LOW)),[d,r,c,n,l]),o.jsx("div",{className:[a.base,c?a.focus:null].filter(Boolean).join(" "),ref:g,style:{textAlign:i||void 0},children:e})}function Ve({className:e,format:i,nodeKey:s,documentID:t}){return o.jsx(Ge,{className:e,format:i,nodeKey:s,children:o.jsx("iframe",{width:"560",height:"315",src:`https://www.figma.com/embed?embed_host=lexical&url= https://www.figma.com/file/${t}`,allowFullScreen:!0})})}class Xe extends Ue{constructor(e,o,s){super(o,s),i(this,"__id"),this.__id=e}static getType(){return"figma"}static clone(e){return new Xe(e.__id,e.__format,e.__key)}static importJSON(e){const i=Ze(e.documentID);return i.setFormat(e.format),i}exportJSON(){return{...super.exportJSON(),documentID:this.__id,type:"figma",version:1}}updateDOM(){return!1}getId(){return this.__id}getTextContent(e,i){return`https://www.figma.com/file/${this.__id}`}decorate(e,i){const s=i.theme.embedBlock||{},t={base:s.base||"",focus:s.focus||""};return o.jsx(Ve,{className:t,format:this.__format,nodeKey:this.getKey(),documentID:this.__id})}}function Ze(e){return new Xe(e)}function Qe(e){const i=e.getAttribute("data-lexical-tweet-id");if(i){return{node:si(i)}}return null}let ei=!0;function ii({className:e,format:i,loadingComponent:t,nodeKey:n,onError:a,onLoad:r,tweetID:c}){const l=s.useRef(null),d=s.useRef(""),[g,u]=s.useState(!1),m=s.useCallback(async()=>{try{await window.twttr.widgets.createTweet(c,l.current),u(!1),ei=!1,r&&r()}catch(e){a&&a(String(e))}},[a,r,c]);return s.useEffect(()=>{if(c!==d.current){if(u(!0),ei){const e=document.createElement("script");e.src="https://platform.twitter.com/widgets.js",e.async=!0,document.body?.appendChild(e),e.onload=m,a&&(e.onerror=a)}else m();d&&(d.current=c)}},[m,a,c]),o.jsxs(Ge,{className:e,format:i,nodeKey:n,children:[g?t:null,o.jsx("div",{style:{display:"inline-block",width:"550px"},ref:l})]})}class oi extends Ue{constructor(e,o,s){super(o,s),i(this,"__id"),this.__id=e}static getType(){return"tweet"}static clone(e){return new oi(e.__id,e.__format,e.__key)}static importJSON(e){const i=si(e.id);return i.setFormat(e.format),i}exportJSON(){return{...super.exportJSON(),id:this.getId(),type:"tweet",version:1}}static importDOM(){return{div:e=>e.hasAttribute("data-lexical-tweet-id")?{conversion:Qe,priority:2}:null}}exportDOM(){const e=document.createElement("div");e.setAttribute("data-lexical-tweet-id",this.__id);const i=document.createTextNode(this.getTextContent());return e.append(i),{element:e}}getId(){return this.__id}getTextContent(e,i){return`https://x.com/i/web/status/${this.__id}`}decorate(e,i){const s=i.theme.embedBlock||{},t={base:s.base||"",focus:s.focus||""};return o.jsx(ii,{className:t,format:this.__format,loadingComponent:"Loading...",nodeKey:this.getKey(),tweetID:this.__id})}}function si(e){return new oi(e)}function ti({className:e,format:i,nodeKey:s,videoID:t}){return o.jsx(Ge,{className:e,format:i,nodeKey:s,children:o.jsx("iframe",{width:"560",height:"315",src:`https://www.youtube-nocookie.com/embed/${t}`,frameBorder:"0",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0,title:"YouTube video"})})}function ni(e){const i=e.getAttribute("data-lexical-youtube");if(i){return{node:ri(i)}}return null}class ai extends Ue{constructor(e,o,s){super(o,s),i(this,"__id"),this.__id=e}static getType(){return"youtube"}static clone(e){return new ai(e.__id,e.__format,e.__key)}static importJSON(e){const i=ri(e.videoID);return i.setFormat(e.format),i}exportJSON(){return{...super.exportJSON(),type:"youtube",version:1,videoID:this.__id}}exportDOM(){const e=document.createElement("iframe");return e.setAttribute("data-lexical-youtube",this.__id),e.setAttribute("width","560"),e.setAttribute("height","315"),e.setAttribute("src",`https://www.youtube-nocookie.com/embed/${this.__id}`),e.setAttribute("frameborder","0"),e.setAttribute("allow","accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"),e.setAttribute("allowfullscreen","true"),e.setAttribute("title","YouTube video"),{element:e}}static importDOM(){return{iframe:e=>e.hasAttribute("data-lexical-youtube")?{conversion:ni,priority:1}:null}}updateDOM(){return!1}getId(){return this.__id}getTextContent(e,i){return`https://www.youtube.com/watch?v=${this.__id}`}decorate(e,i){const s=i.theme.embedBlock||{},t={base:s.base||"",focus:s.focus||""};return o.jsx(ti,{className:t,format:this.__format,nodeKey:this.getKey(),videoID:this.__id})}}function ri(e){return new ai(e)}class ci extends t.TextNode{constructor(e,o,s){super(o,s),i(this,"__className"),this.__className=e}static getType(){return"emoji"}static clone(e){return new ci(e.__className,e.__text,e.__key)}createDOM(e){const i=document.createElement("span"),o=super.createDOM(e);return i.className=this.__className,o.className="emoji-inner",i.appendChild(o),i}updateDOM(e,i,o){const s=i.firstChild;return null===s||(super.updateDOM(e,s,o),!1)}static importJSON(e){const i=li(e.className,e.text);return i.setFormat(e.format),i.setDetail(e.detail),i.setMode(e.mode),i.setStyle(e.style),i}exportJSON(){return{...super.exportJSON(),className:this.getClassName(),type:"emoji"}}getClassName(){return this.getLatest().__className}}function li(e,i){const o=new ci(e,i).setMode("token");return t.$applyNodeReplacement(o)}const di=s.lazy(()=>Promise.resolve().then(()=>require("./equation-component-CpuvXGaQ.cjs")));function gi(e){let i=e.getAttribute("data-lexical-equation");const o="true"===e.getAttribute("data-lexical-inline");if(i=atob(i||""),i){return{node:mi(i,o)}}return null}class ui extends t.DecoratorNode{constructor(e,o,s){super(s),i(this,"__equation"),i(this,"__inline"),this.__equation=e,this.__inline=o??!1}static getType(){return"equation"}static clone(e){return new ui(e.__equation,e.__inline,e.__key)}static importJSON(e){return mi(e.equation,e.inline)}exportJSON(){return{equation:this.getEquation(),inline:this.__inline,type:"equation",version:1}}createDOM(e){const i=document.createElement(this.__inline?"span":"div");return i.className="editor-equation user-action-none cursor-default focus:ring-2 focus:ring-primary focus:ring-offset-2 inline-block",i}exportDOM(){const e=document.createElement(this.__inline?"span":"div"),i=btoa(this.__equation);return e.setAttribute("data-lexical-equation",i),e.setAttribute("data-lexical-inline",`${this.__inline}`),h.render(this.__equation,e,{displayMode:!this.__inline,errorColor:"var(--content-presentation-state-negative-primary)",output:"html",strict:"warn",throwOnError:!1,trust:!1}),{element:e}}static importDOM(){return{div:e=>e.hasAttribute("data-lexical-equation")?{conversion:gi,priority:2}:null,span:e=>e.hasAttribute("data-lexical-equation")?{conversion:gi,priority:1}:null}}updateDOM(e){return this.__inline!==e.__inline}getTextContent(){return this.__equation}getEquation(){return this.__equation}setEquation(e){this.getWritable().__equation=e}decorate(){return o.jsx(s.Suspense,{fallback:null,children:o.jsx(di,{equation:this.__equation,inline:this.__inline,nodeKey:this.__key})})}}function mi(e="",i=!1){const o=new ui(e,i);return t.$applyNodeReplacement(o)}function pi(e){return e instanceof ui}const _i=s.lazy(()=>Promise.resolve().then(()=>require("./excalidraw-component-C5Za8rqo.cjs")));function vi(e){const i=e.getAttribute("data-lexical-excalidraw-json"),o=window.getComputedStyle(e),s=o.getPropertyValue("height"),t=o.getPropertyValue("width"),n=s&&"inherit"!==s?parseInt(s,10):"inherit",a=t&&"inherit"!==t?parseInt(t,10):"inherit";if(i){return{node:hi(i,a,n)}}return null}class yi extends t.DecoratorNode{constructor(e="[]",o="inherit",s="inherit",t){super(t),i(this,"__data"),i(this,"__width"),i(this,"__height"),this.__data=e,this.__width=o,this.__height=s}static getType(){return"excalidraw"}static clone(e){return new yi(e.__data,e.__width,e.__height,e.__key)}static importJSON(e){return new yi(e.data,e.width??"inherit",e.height??"inherit")}exportJSON(){return{data:this.__data,height:"inherit"===this.__height?void 0:this.__height,type:"excalidraw",version:1,width:"inherit"===this.__width?void 0:this.__width}}createDOM(e){const i=document.createElement("span"),o=e.theme.image;return void 0!==o&&(i.className=o),i}updateDOM(){return!1}static importDOM(){return{span:e=>e.hasAttribute("data-lexical-excalidraw-json")?{conversion:vi,priority:1}:null}}exportDOM(e){const i=document.createElement("span");i.style.display="inline-block";const o=e.getElementByKey(this.getKey());if(null!==o){const e=o.querySelector("svg");null!==e&&(i.innerHTML=e.outerHTML)}return i.style.width="inherit"===this.__width?"inherit":`${this.__width}px`,i.style.height="inherit"===this.__height?"inherit":`${this.__height}px`,i.setAttribute("data-lexical-excalidraw-json",this.__data),{element:i}}setData(e){this.getWritable().__data=e}getWidth(){return this.getLatest().__width}setWidth(e){this.getWritable().__width=e}getHeight(){return this.getLatest().__height}setHeight(e){this.getWritable().__height=e}decorate(){return o.jsx(s.Suspense,{fallback:null,children:o.jsx(_i,{nodeKey:this.getKey(),data:this.__data,width:this.__width,height:this.__height})})}}function hi(e="[]",i="inherit",o="inherit"){return new yi(e,i,o)}const fi=s.lazy(()=>Promise.resolve().then(()=>require("./image-component-BHEd7PZU.cjs")));function bi(e){const i=e;if(i.src.startsWith("file:///")||function(e){return null!=e.parentElement&&"LI"===e.parentElement.tagName&&null===e.previousSibling&&"checkbox"===e.getAttribute("aria-roledescription")}(i))return null;const{alt:o,src:s,width:t,height:n}=i;return{node:wi({altText:o,height:n,src:s,width:t})}}class ji extends t.DecoratorNode{constructor(e,o,s,n,a,r,c,l,d){super(d),i(this,"__src"),i(this,"__altText"),i(this,"__width"),i(this,"__height"),i(this,"__maxWidth"),i(this,"__showCaption"),i(this,"__caption"),i(this,"__captionsEnabled"),this.__src=e,this.__altText=o,this.__maxWidth=s,this.__width=n||"inherit",this.__height=a||"inherit",this.__showCaption=r||!1,this.__caption=c||t.createEditor({nodes:[]}),this.__captionsEnabled=l||void 0===l}static getType(){return"image"}static clone(e){return new ji(e.__src,e.__altText,e.__maxWidth,e.__width,e.__height,e.__showCaption,e.__caption,e.__captionsEnabled,e.__key)}static importJSON(e){const{altText:i,height:o,width:s,maxWidth:t,caption:n,src:a,showCaption:r}=e,c=wi({altText:i,height:o,maxWidth:t,showCaption:r,src:a,width:s}),l=c.__caption,d=l.parseEditorState(n.editorState);return d.isEmpty()||l.setEditorState(d),c}exportDOM(){const e=document.createElement("img");return e.setAttribute("src",this.__src),e.setAttribute("alt",this.__altText),e.setAttribute("width",this.__width.toString()),e.setAttribute("height",this.__height.toString()),{element:e}}static importDOM(){return{img:()=>({conversion:bi,priority:0})}}exportJSON(){return{altText:this.getAltText(),caption:this.__caption.toJSON(),height:"inherit"===this.__height?0:this.__height,maxWidth:this.__maxWidth,showCaption:this.__showCaption,src:this.getSrc(),type:"image",version:1,width:"inherit"===this.__width?0:this.__width}}setWidthAndHeight(e,i){const o=this.getWritable();o.__width=e,o.__height=i}setShowCaption(e){this.getWritable().__showCaption=e}createDOM(e){const i=document.createElement("span"),o=e.theme.image;return void 0!==o&&(i.className=o),i}updateDOM(){return!1}getSrc(){return this.__src}getAltText(){return this.__altText}decorate(){return o.jsx(s.Suspense,{fallback:null,children:o.jsx(fi,{src:this.__src,altText:this.__altText,width:this.__width,height:this.__height,maxWidth:this.__maxWidth,nodeKey:this.getKey(),showCaption:this.__showCaption,caption:this.__caption,captionsEnabled:this.__captionsEnabled,resizable:!0})})}}function wi({altText:e,height:i,maxWidth:o=500,captionsEnabled:s,src:n,width:a,showCaption:r,caption:c,key:l}){return t.$applyNodeReplacement(new ji(n,e,o,a,i,r,c,s,l))}function xi(e){return e instanceof ji}const ki=s.lazy(()=>Promise.resolve().then(()=>require("./inline-image-component-DufDpKRG.cjs")));function Ni(e){if(e instanceof HTMLImageElement){const{alt:i,src:o,width:s,height:t}=e;return{node:Ci({altText:i,height:t,src:o,width:s})}}return null}class Si extends t.DecoratorNode{constructor(e,o,s,n,a,r,c,l){super(l),i(this,"__src"),i(this,"__altText"),i(this,"__width"),i(this,"__height"),i(this,"__showCaption"),i(this,"__caption"),i(this,"__position"),this.__src=e,this.__altText=o,this.__width=n||"inherit",this.__height=a||"inherit",this.__showCaption=r||!1,this.__caption=c||t.createEditor(),this.__position=s}static getType(){return"inline-image"}static clone(e){return new Si(e.__src,e.__altText,e.__position,e.__width,e.__height,e.__showCaption,e.__caption,e.__key)}static importJSON(e){const{altText:i,height:o,width:s,caption:t,src:n,showCaption:a,position:r}=e,c=Ci({altText:i,height:o,position:r,showCaption:a,src:n,width:s}),l=c.__caption,d=l.parseEditorState(t.editorState);return d.isEmpty()||l.setEditorState(d),c}static importDOM(){return{img:()=>({conversion:Ni,priority:0})}}exportDOM(){const e=document.createElement("img");return e.setAttribute("src",this.__src),e.setAttribute("alt",this.__altText),e.setAttribute("width",this.__width.toString()),e.setAttribute("height",this.__height.toString()),{element:e}}exportJSON(){return{altText:this.getAltText(),caption:this.__caption.toJSON(),height:"inherit"===this.__height?0:this.__height,position:this.__position,showCaption:this.__showCaption,src:this.getSrc(),type:"inline-image",version:1,width:"inherit"===this.__width?0:this.__width}}getSrc(){return this.__src}getAltText(){return this.__altText}setAltText(e){this.getWritable().__altText=e}setWidthAndHeight(e,i){const o=this.getWritable();o.__width=e,o.__height=i}getShowCaption(){return this.__showCaption}setShowCaption(e){this.getWritable().__showCaption=e}getPosition(){return this.__position}setPosition(e){this.getWritable().__position=e}update(e){const i=this.getWritable(),{altText:o,showCaption:s,position:t}=e;void 0!==o&&(i.__altText=o),void 0!==s&&(i.__showCaption=s),void 0!==t&&(i.__position=t)}getPositionClassName(){switch(this.__position){case"left":return"float-left w-1/2";case"right":return"float-right w-1/2 ";case"full":return"w-full";default:return""}}createDOM(e){const i=document.createElement("span"),o=`${e.theme.inlineImage} ${this.getPositionClassName()}`;return void 0!==o&&(i.className=o),i}updateDOM(e,i,o){if(this.__position!==e.__position){const e=`${o.theme.inlineImage} ${this.getPositionClassName()}`;void 0!==e&&(i.className=e)}return!1}decorate(){return o.jsx(s.Suspense,{fallback:null,children:o.jsx(ki,{src:this.__src,altText:this.__altText,width:this.__width,height:this.__height,nodeKey:this.getKey(),showCaption:this.__showCaption,caption:this.__caption,position:this.__position})})}}function Ci({altText:e,position:i,height:o,src:s,width:n,showCaption:a,caption:r,key:c}){return t.$applyNodeReplacement(new Si(s,e,i,n,o,a,r,c))}function Ei(e){return e instanceof Si}class Ti extends t.TextNode{static getType(){return"keyword"}static clone(e){return new Ti(e.__text,e.__key)}static importJSON(e){const i=Oi(e.text);return i.setFormat(e.format),i.setDetail(e.detail),i.setMode(e.mode),i.setStyle(e.style),i}exportJSON(){return{...super.exportJSON(),type:"keyword",version:1}}createDOM(e){const i=super.createDOM(e);return i.style.cursor="default",i.className="keyword text-purple-900 font-bold",i}canInsertTextBefore(){return!1}canInsertTextAfter(){return!1}isTextEntity(){return!0}}function Oi(e){return new Ti(e)}function Pi(e){const i=window.getComputedStyle(e).getPropertyValue("grid-template-columns");if(i){return{node:Ri(i)}}return null}class Ai extends t.ElementNode{constructor(e,o){super(o),i(this,"__templateColumns"),this.__templateColumns=e}static getType(){return"layout-container"}static clone(e){return new Ai(e.__templateColumns,e.__key)}createDOM(e){const i=document.createElement("div");return i.style.gridTemplateColumns=this.__templateColumns,"string"==typeof e.theme.layoutContainer&&p.addClassNamesToElement(i,e.theme.layoutContainer),i}exportDOM(){const e=document.createElement("div");return e.style.gridTemplateColumns=this.__templateColumns,e.setAttribute("data-lexical-layout-container","true"),{element:e}}updateDOM(e,i){return e.__templateColumns!==this.__templateColumns&&(i.style.gridTemplateColumns=this.__templateColumns),!1}static importDOM(){return{div:e=>e.hasAttribute("data-lexical-layout-container")?{conversion:Pi,priority:2}:null}}static importJSON(e){return Ri(e.templateColumns)}isShadowRoot(){return!0}canBeEmpty(){return!1}exportJSON(){return{...super.exportJSON(),templateColumns:this.__templateColumns,type:"layout-container",version:1}}getTemplateColumns(){return this.getLatest().__templateColumns}setTemplateColumns(e){this.getWritable().__templateColumns=e}}function Ri(e){return new Ai(e)}function Mi(e){return e instanceof Ai}class Di extends t.ElementNode{static getType(){return"layout-item"}static clone(e){return new Di(e.__key)}createDOM(e){const i=document.createElement("div");return"string"==typeof e.theme.layoutItem&&p.addClassNamesToElement(i,e.theme.layoutItem),i}updateDOM(){return!1}static importDOM(){return{}}static importJSON(){return Bi()}isShadowRoot(){return!0}exportJSON(){return{...super.exportJSON(),type:"layout-item",version:1}}}function Bi(){return new Di}function Fi(e){return e instanceof Di}function Ii(e){const i=e.textContent;if(null!==i){return{node:Li(i)}}return null}class $i extends t.TextNode{constructor(e,o,s){super(o??e,s),i(this,"__mention"),this.__mention=e}static getType(){return"mention"}static clone(e){return new $i(e.__mention,e.__text,e.__key)}static importJSON(e){const i=Li(e.mentionName);return i.setTextContent(e.text),i.setFormat(e.format),i.setDetail(e.detail),i.setMode(e.mode),i.setStyle(e.style),i}exportJSON(){return{...super.exportJSON(),mentionName:this.__mention,type:"mention",version:1}}createDOM(e){const i=super.createDOM(e);return i.style.cssText="background-color: var(--background-presentation-action-selected)",i.className="mention",i}exportDOM(){const e=document.createElement("span");return e.setAttribute("data-lexical-mention","true"),e.textContent=this.__text,{element:e}}static importDOM(){return{span:e=>e.hasAttribute("data-lexical-mention")?{conversion:Ii,priority:1}:null}}isTextEntity(){return!0}canInsertTextBefore(){return!1}canInsertTextAfter(){return!1}}function Li(e){const i=new $i(e);return i.setMode("segmented").toggleDirectionless(),t.$applyNodeReplacement(i)}function zi({nodeKey:e}){const[i]=V(),[o,n,a]=ue(e),r=s.useCallback(e=>{e.preventDefault();const s=t.$getSelection();return o&&t.$isNodeSelection(s)&&i.update(()=>{s.getNodes().forEach(e=>{(function(e){return e instanceof qi})(e)&&e.remove()})}),!1},[i,o]);return s.useEffect(()=>p.mergeRegister(i.registerCommand(t.CLICK_COMMAND,s=>{const t=i.getElementByKey(e);return s.target===t&&(s.shiftKey||a(),n(!o),!0)},t.COMMAND_PRIORITY_LOW),i.registerCommand(t.KEY_DELETE_COMMAND,r,t.COMMAND_PRIORITY_LOW),i.registerCommand(t.KEY_BACKSPACE_COMMAND,r,t.COMMAND_PRIORITY_LOW)),[a,i,o,e,r,n]),s.useEffect(()=>{const s=i.getElementByKey(e);null!==s&&(o?(s.classList.add("!border-border-presentation-state-focus"),s.classList.add("!after:text-content-presentation-state-focus"),s.classList.add("!before:opacity-100")):(s.classList.remove("!border-border-presentation-state-focus"),s.classList.remove("!after:text-content-presentation-state-focus"),s.classList.remove("!before:opacity-100")))},[i,o,e]),null}class qi extends t.DecoratorNode{static getType(){return"page-break"}static clone(e){return new qi(e.__key)}static importJSON(){return Hi()}static importDOM(){return{figure:e=>e.getAttribute("type")!==this.getType()?null:{conversion:Ki,priority:t.COMMAND_PRIORITY_HIGH}}}exportJSON(){return{type:this.getType(),version:1}}createDOM(){const e=document.createElement("figure");return e.setAttribute("type",this.getType()),e.style.pageBreakAfter="always",e.className="\n relative block w-[calc(100%+56px)] overflow-visible \n -ml-[28px] mt-7 mb-7\n border-0 border-t border-b border-dashed border-border-system-global-secondary\n bg-background-system-body-secondary\n before:content-[''] \n before:absolute before:top-1/2 before:-translate-y-1/2\n before:left-10 before:opacity-50\n before:bg-cover before:w-4 before:h-4\n after:content-['PAGE_BREAK']\n after:absolute after:top-1/2 after:left-1/2 \n after:-translate-x-1/2 after:-translate-y-1/2\n after:block after:py-0.5 after:px-1.5\n after:border after:border-solid after:border-border-system-global-secondary\n after:bg-background-system-body-primary after:text-xs after:text-content-system-global-primary after:font-semibold\n ",e}getTextContent(){return"\n"}isInline(){return!1}updateDOM(){return!1}decorate(){return o.jsx(zi,{nodeKey:this.__key})}}function Ki(){return{node:Hi()}}function Hi(){return new qi}const Wi=s.lazy(()=>Promise.resolve().then(()=>require("./poll-component-DOhGFREM.cjs")));function Yi(e=""){return{text:e,uid:Math.random().toString(36).replace(/[^a-z]+/g,"").substr(0,5),votes:[]}}function Ui(e,i,o){return{text:i,uid:e.uid,votes:o||Array.from(e.votes)}}function Ji(e){const i=e.getAttribute("data-lexical-poll-question"),o=e.getAttribute("data-lexical-poll-options");if(null!==i&&null!==o){return{node:Vi(i,JSON.parse(o))}}return null}class Gi extends t.DecoratorNode{constructor(e,o,s){super(s),i(this,"__question"),i(this,"__options"),this.__question=e,this.__options=o}static getType(){return"poll"}static clone(e){return new Gi(e.__question,e.__options,e.__key)}static importJSON(e){const i=Vi(e.question,e.options);return e.options.forEach(i.addOption),i}exportJSON(){return{options:this.__options,question:this.__question,type:"poll",version:1}}addOption(e){const i=this.getWritable(),o=Array.from(i.__options);o.push(e),i.__options=o}deleteOption(e){const i=this.getWritable(),o=Array.from(i.__options),s=o.indexOf(e);o.splice(s,1),i.__options=o}setOptionText(e,i){const o=this.getWritable(),s=Ui(e,i),t=Array.from(o.__options),n=t.indexOf(e);t[n]=s,o.__options=t}toggleVote(e,i){const o=this.getWritable(),s=e.votes,t=Array.from(s),n=s.indexOf(i);-1===n?t.push(i):t.splice(n,1);const a=Ui(e,e.text,t),r=Array.from(o.__options),c=r.indexOf(e);r[c]=a,o.__options=r}static importDOM(){return{span:e=>e.hasAttribute("data-lexical-poll-question")?{conversion:Ji,priority:2}:null}}exportDOM(){const e=document.createElement("span");return e.setAttribute("data-lexical-poll-question",this.__question),e.setAttribute("data-lexical-poll-options",JSON.stringify(this.__options)),{element:e}}createDOM(){const e=document.createElement("span");return e.style.display="inline-block",e}updateDOM(){return!1}decorate(){return o.jsx(s.Suspense,{fallback:null,children:o.jsx(Wi,{question:this.__question,options:this.__options,nodeKey:this.__key})})}}function Vi(e,i){return new Gi(e,i)}const Xi=[_.HeadingNode,t.ParagraphNode,t.TextNode,_.QuoteNode,u.ListNode,u.ListItemNode,g.LinkNode,m.OverflowNode,d.HashtagNode,v.TableNode,v.TableCellNode,v.TableRowNode,l.CodeNode,l.CodeHighlightNode,_e,$i,qi,ji,Si,ci,Ti,yi,Gi,Ai,Di,ui,Be,Le,He,g.AutoLinkNode,Xe,oi,ai,Ce];function Zi({defaultSelection:e}){const[i]=V();return s.useEffect(()=>{i.focus(()=>{const e=document.activeElement,o=i.getRootElement();null===o||null!==e&&o.contains(e)||o.focus({preventScroll:!0})},{defaultSelection:e})},[e,i]),null}function Qi(){const[e]=V();return s.useEffect(()=>u.registerCheckList(e),[e]),null}function eo({newTab:e=!0,disabled:i=!1}){const[o]=V();return s.useEffect(()=>{const s=s=>{const n=s.target;if(!t.isDOMNode(n))return;const a=t.getNearestEditorFromDOMNode(n);if(null===a)return;let r=null,c=null;if(a.update(()=>{const e=t.$getNearestNodeFromDOMNode(n);if(null!==e){const o=p.$findMatchingParent(e,t.$isElementNode);if(!i)if(g.$isLinkNode(o))r=o.sanitizeUrl(o.getURL()),c=o.getTarget();else{const e=function(e,i){let o=e;for(;null!=o;){if(i(o))return o;o=o.parentNode}return null}(n,p.isHTMLAnchorElement);null!==e&&(r=e.href,c=e.target)}}}),null===r||""===r)return;const l=o.getEditorState().read(t.$getSelection);if(t.$isRangeSelection(l)&&!l.isCollapsed())return void s.preventDefault();const d="auxclick"===s.type&&1===s.button;window.open(r,e||d||s.metaKey||s.ctrlKey||"_blank"===c?"_blank":"_self"),s.preventDefault()},n=e=>{1===e.button&&s(e)};return o.registerRootListener((e,i)=>{null!==i&&(i.removeEventListener("click",s),i.removeEventListener("mouseup",n)),null!==e&&(e.addEventListener("click",s),e.addEventListener("mouseup",n))})},[o,e,i]),null}function io(e,i){return(io=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,i){return e.__proto__=i,e})(e,i)}var oo={error:null},so=function(e){var i,o;function s(){for(var i,o=arguments.length,s=new Array(o),t=0;t<o;t++)s[t]=arguments[t];return(i=e.call.apply(e,[this].concat(s))||this).state=oo,i.resetErrorBoundary=function(){for(var e,o=arguments.length,s=new Array(o),t=0;t<o;t++)s[t]=arguments[t];null==i.props.onReset||(e=i.props).onReset.apply(e,s),i.reset()},i}o=e,(i=s).prototype=Object.create(o.prototype),i.prototype.constructor=i,io(i,o),s.getDerivedStateFromError=function(e){return{error:e}};var t=s.prototype;return t.reset=function(){this.setState(oo)},t.componentDidCatch=function(e,i){var o,s;null==(o=(s=this.props).onError)||o.call(s,e,i)},t.componentDidUpdate=function(e,i){var o,s,t,n,a=this.state.error,r=this.props.resetKeys;null!==a&&null!==i.error&&(void 0===(t=e.resetKeys)&&(t=[]),void 0===(n=r)&&(n=[]),t.length!==n.length||t.some(function(e,i){return!Object.is(e,n[i])}))&&(null==(o=(s=this.props).onResetKeysChange)||o.call(s,e.resetKeys,r),this.reset())},t.render=function(){var e=this.state.error,i=this.props,o=i.fallbackRender,s=i.FallbackComponent,t=i.fallback;if(null!==e){var n={error:e,resetErrorBoundary:this.resetErrorBoundary};if(I.isValidElement(t))return t;if("function"==typeof o)return o(n);if(s)return I.createElement(s,n);throw new Error("react-error-boundary requires either a fallback, fallbackRender, or FallbackComponent prop")}return this.props.children},s}(I.Component);function to({children:e,onError:i}){return o.jsx(so,{fallback:o.jsx("div",{style:{border:"1px solid #f00",color:"#f00",padding:"8px"},children:"An error was thrown."}),onError:i,children:e})}function no(e,i,o){const[t]=V();s.useEffect(()=>p.mergeRegister(...b.registerLexicalTextEntity(t,e,i,o)),[o,t,e,i])}const ao=new RegExp(function(){const{alpha:e,alphanumeric:i,hashChars:o}=function(){const e=String.fromCharCode,i="A-Za-zªµºÀ-ÖØ-öø-Ɂɐ-ˁˆ-ˑˠ-ˤˮͺΆΈ-ΊΌΎ-ΡΣ-ώϐ-ϵϷ-ҁҊ-ӎӐ-ӹԀ-ԏԱ-Ֆՙա-ևא-תװ-ײء-غـ-يٮ-ٯٱ-ۓەۥ-ۦۮ-ۯۺ-ۼۿܐܒ-ܯݍ-ݭހ-ޥޱऄ-हऽॐक़-ॡॽঅ-ঌএ-ঐও-নপ-রলশ-হঽৎড়-ঢ়য়-ৡৰ-ৱਅ-ਊਏ-ਐਓ-ਨਪ-ਰਲ-ਲ਼ਵ-ਸ਼ਸ-ਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલ-ળવ-હઽૐૠ-ૡଅ-ଌଏ-ଐଓ-ନପ-ରଲ-ଳଵ-ହଽଡ଼-ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கங-சஜஞ-டண-தந-பம-ஹఅ-ఌఎ-ఐఒ-నప-ళవ-హౠ-ౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠ-ೡഅ-ഌഎ-ഐഒ-നപ-ഹൠ-ൡඅ-ඖක-නඳ-රලව-ෆก-ะา-ำเ-ๆກ-ຂຄງ-ຈຊຍດ-ທນ-ຟມ-ຣລວສ-ຫອ-ະາ-ຳຽເ-ໄໆໜ-ໝༀཀ-ཇཉ-ཪྈ-ྋက-အဣ-ဧဩ-ဪၐ-ၕႠ-Ⴥა-ჺჼᄀ-ᅙᅟ-ᆢᆨ-ᇹሀ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙶᚁ-ᚚᚠ-ᛪᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᤀ-ᤜᥐ-ᥭᥰ-ᥴᦀ-ᦩᧁ-ᧇᨀ-ᨖᴀ-ᶿḀ-ẛẠ-ỹἀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₔℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℱℳ-ℹℼ-ℿⅅ-ⅉⰀ-Ⱞⰰ-ⱞⲀ-ⳤⴀ-ⴥⴰ-ⵥⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〆〱-〵〻-〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄬㄱ-ㆎㆠ-ㆷㇰ-ㇿ㐀-䶵一-龻ꀀ-ꒌꠀ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢ가-힣豈-鶴侮-頻並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּ-סּףּ-פּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵÀ-ÖØ-öø-ÿĀ-ɏɓ-ɔɖ-ɗəɛɣɨɯɲʉʋʻ̀-ͯḀ-ỿЀ-ӿԀ-ԧⷠ-ⷿꙀ-֑ꚟ-ֿׁ-ׂׄ-ׇׅא-תװ-״-ﬨשׁ-זּטּ-לּמּנּ-סּףּ-פּצּ-ﭏؐ-ؚؠ-ٟٮ-ۓە-ۜ۞-۪ۨ-ۯۺ-ۼۿݐ-ݿࢠࢢ-ࢬࣤ-ࣾﭐ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼ-ก-ฺเ-๎ᄀ-ᇿ-ㆅꥠ-가-ힰ-ᄀ-ᅵァ-ヺー-ヾヲ-゚0-9A-Za-zぁ-ゖ゙-ゞ㐀-䶿一-鿿"+e(173824)+"-"+e(177983)+e(177984)+"-"+e(178207)+e(194560)+"-"+e(195103)+"〃々〻";return{alpha:i,alphanumeric:i+"̀-ͯ҃-֑҆-ֹֻ-ֽֿׁ-ׂׄ-ׇׅؐ-ًؕ-ٰٞۖ-ۜ۟-ۤۧ-۪ۨ-ܑۭܰ-݊ަ-ްँ-ः़ा-्॑-॔ॢ-ॣঁ-ঃ়া-ৄে-ৈো-্ৗৢ-ৣਁ-ਃ਼ਾ-ੂੇ-ੈੋ-੍ੰ-ੱઁ-ઃ઼ા-ૅે-ૉો-્ૢ-ૣଁ-ଃ଼ା-ୃେ-ୈୋ-୍ୖ-ୗஂா-ூெ-ைொ-்ௗఁ-ఃా-ౄె-ైొ-్ౕ-ౖಂ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕ-ೖം-ഃാ-ൃെ-ൈൊ-്ൗං-ඃ්ා-ුූෘ-ෟෲ-ෳัิ-ฺ็-๎ັິ-ູົ-ຼ່-ໍ༘-༹༙༵༷༾-༿ཱ-྄྆-྇ྐ-ྗྙ-ྼ࿆ာ-ဲံ-္ၖ-ၙ፟ᜒ-᜔ᜲ-᜴ᝒ-ᝓᝲ-ᝳា-៓៝᠋-᠍ᢩᤠ-ᤫᤰ-᤻ᦰ-ᧀᧈ-ᧉᨗ-ᨛ᷀-᷃⃐-⃥⃜⃡-⃫〪-゙〯-゚ꠂ꠆ꠋꠣ-ꠧﬞ︀-️︠-︣0-9٠-٩۰-۹०-९০-৯੦-੯૦-૯୦-୯௦-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩၀-၉០-៩᠐-᠙᥆-᥏᧐-᧙0-9_",hashChars:"#\\uFF03"}}(),s="["+i+"]";return"(^|$|[^&/"+i+"])(["+o+"])("+s+"*["+e+"]"+s+"*)"}(),"i");function ro(){const[e]=V();s.useEffect(()=>{if(!e.hasNodes([d.HashtagNode]))throw new Error("HashtagPlugin: HashtagNode not registered on editor")},[e]);const i=s.useCallback(e=>d.$createHashtagNode(e.getTextContent()),[]);return no(s.useCallback(e=>{const i=ao.exec(e);if(null===i)return null;const o=i[3].length+1,s=i.index+i[1].length;return{end:s+o,start:s}},[]),d.HashtagNode,i),null}function co(e,i){let o=Date.now(),s=0;return(n,a,r,c,l,d)=>{const g=Date.now();if(d.has("historic"))return s=0,o=g,2;const u=function(e,i,o,s,n){if(null===e||0===o.size&&0===s.size&&!n)return 0;const a=i._selection,r=e._selection;if(n)return 1;if(!(t.$isRangeSelection(a)&&t.$isRangeSelection(r)&&r.isCollapsed()&&a.isCollapsed()))return 0;const c=function(e,i,o){const s=e._nodeMap,n=[];for(const t of i){const e=s.get(t);void 0!==e&&n.push(e)}for(const[a,r]of o){if(!r)continue;const e=s.get(a);void 0===e||t.$isRootNode(e)||n.push(e)}return n}(i,o,s);if(0===c.length)return 0;if(c.length>1){const o=i._nodeMap,s=o.get(a.anchor.key),n=o.get(r.anchor.key);return s&&n&&!e._nodeMap.has(s.__key)&&t.$isTextNode(s)&&1===s.__text.length&&1===a.anchor.offset?2:0}const l=c[0],d=e._nodeMap.get(l.__key);if(!t.$isTextNode(d)||!t.$isTextNode(l)||d.__mode!==l.__mode)return 0;const g=d.__text,u=l.__text;if(g===u)return 0;const m=a.anchor,p=r.anchor;if(m.key!==p.key||"text"!==m.type)return 0;const _=m.offset,v=p.offset,y=u.length-g.length;return 1===y&&v===_-1?2:-1===y&&v===_+1?3:-1===y&&v===_?4:0}(n,a,c,l,e.isComposing()),m=(()=>{const m=null===r||r.editor===e,p=d.has("history-push");if(!p&&m&&d.has("history-merge"))return 0;if(null===n)return 1;const _=a._selection;return c.size>0||l.size>0?!1===p&&0!==u&&u===s&&g<o+i&&m||1===c.size&&function(e,i,o){const s=i._nodeMap.get(e),n=o._nodeMap.get(e),a=i._selection,r=o._selection;return!(t.$isRangeSelection(a)&&t.$isRangeSelection(r)&&"element"===a.anchor.type&&"element"===a.focus.type&&"text"===r.anchor.type&&"text"===r.focus.type||!t.$isTextNode(s)||!t.$isTextNode(n)||s.__parent!==n.__parent)&&JSON.stringify(i.read(()=>s.exportJSON()))===JSON.stringify(o.read(()=>n.exportJSON()))}(Array.from(c)[0],n,a)?0:1:null!==_?0:2})();return o=g,s=u,m}}function lo(e){e.undoStack=[],e.redoStack=[],e.current=null}function go({delay:e,externalHistoryState:i}){const[o]=V();return function(e,i,o=1e3){const n=s.useMemo(()=>i||{current:null,redoStack:[],undoStack:[]},[i]);s.useEffect(()=>function(e,i,o){const s=co(e,o);return p.mergeRegister(e.registerCommand(t.UNDO_COMMAND,()=>(function(e,i){const o=i.redoStack,s=i.undoStack;if(0!==s.length){const n=i.current,a=s.pop();null!==n&&(o.push(n),e.dispatchCommand(t.CAN_REDO_COMMAND,!0)),0===s.length&&e.dispatchCommand(t.CAN_UNDO_COMMAND,!1),i.current=a||null,a&&a.editor.setEditorState(a.editorState,{tag:"historic"})}}(e,i),!0),t.COMMAND_PRIORITY_EDITOR),e.registerCommand(t.REDO_COMMAND,()=>(function(e,i){const o=i.redoStack,s=i.undoStack;if(0!==o.length){const n=i.current;null!==n&&(s.push(n),e.dispatchCommand(t.CAN_UNDO_COMMAND,!0));const a=o.pop();0===o.length&&e.dispatchCommand(t.CAN_REDO_COMMAND,!1),i.current=a||null,a&&a.editor.setEditorState(a.editorState,{tag:"historic"})}}(e,i),!0),t.COMMAND_PRIORITY_EDITOR),e.registerCommand(t.CLEAR_EDITOR_COMMAND,()=>(lo(i),!1),t.COMMAND_PRIORITY_EDITOR),e.registerCommand(t.CLEAR_HISTORY_COMMAND,()=>(lo(i),e.dispatchCommand(t.CAN_REDO_COMMAND,!1),e.dispatchCommand(t.CAN_UNDO_COMMAND,!1),!0),t.COMMAND_PRIORITY_EDITOR),e.registerUpdateListener(({editorState:o,prevEditorState:n,dirtyLeaves:a,dirtyElements:r,tags:c})=>{const l=i.current,d=i.redoStack,g=i.undoStack,u=null===l?null:l.editorState;if(null!==l&&o===u)return;const m=s(n,o,l,a,r,c);if(1===m)0!==d.length&&(i.redoStack=[],e.dispatchCommand(t.CAN_REDO_COMMAND,!1)),null!==l&&(g.push({...l}),e.dispatchCommand(t.CAN_UNDO_COMMAND,!0));else if(2===m)return;i.current={editor:e,editorState:o}}))}(e,n,o),[o,e,n])}(o,i,e),null}function uo(){const[e]=V();return s.useEffect(()=>e.registerCommand(me,e=>{const i=t.$getSelection();if(!t.$isRangeSelection(i))return!1;if(null!==i.focus.getNode()){const e=ye();p.$insertNodeToNearestRoot(e)}return!0},t.COMMAND_PRIORITY_EDITOR),[e]),null}function mo({hasStrictIndent:e=!1}){const[i]=V();return s.useEffect(()=>{if(!i.hasNodes([u.ListNode,u.ListItemNode]))throw new Error("ListPlugin: ListNode and/or ListItemNode not registered on editor")},[i]),s.useEffect(()=>{if(e)return u.registerListStrictIndentTransform(i)},[i,e]),o=i,s.useEffect(()=>u.registerList(o),[o]),null;var o}const po=[{dependencies:[_e],export:e=>he(e)?"***":null,regExp:/^(---|\*\*\*|___)\s?$/,replace:(e,i,o,s)=>{const t=ye();s||null!=e.getNextSibling()?e.replace(t):e.insertBefore(t),t.selectNext()},type:"element"},...f.TRANSFORMERS];function _o({transformers:e=po}){const[i]=V();return s.useEffect(()=>f.registerMarkdownShortcuts(i,e),[i,e]),null}const vo="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?s.useLayoutEffect:s.useEffect;function yo(e){return{initialValueFn:()=>e.isEditable(),subscribe:i=>e.registerEditableListener(i)}}function ho(){return function(e){const[i]=V(),o=s.useMemo(()=>e(i),[i,e]),[t,n]=s.useState(()=>o.initialValueFn()),a=s.useRef(t);return vo(()=>{const{initialValueFn:e,subscribe:i}=o,s=e();return a.current!==s&&(a.current=s,n(s)),i(e=>{a.current=e,n(e)})},[o,e]),t}(yo)}const fo="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?s.useLayoutEffect:s.useEffect;function bo(e){return e.getEditorState().read(b.$canShowPlaceholderCurry(e.isComposing()))}function jo({contentEditable:e,placeholder:i=null,ErrorBoundary:n}){const[a]=V(),r=function(e,i){const[t,n]=s.useState(()=>e.getDecorators());return fo(()=>e.registerDecoratorListener(e=>{j.flushSync(()=>{n(e)})}),[e]),s.useEffect(()=>{n(e.getDecorators())},[e]),s.useMemo(()=>{const n=[],a=Object.keys(t);for(let r=0;r<a.length;r++){const c=a[r],l=o.jsx(i,{onError:i=>e._onError(i),children:o.jsx(s.Suspense,{fallback:null,children:t[c]})}),d=e.getElementByKey(c);null!==d&&n.push(j.createPortal(l,d,c))}return n},[i,t,e])}(a,n);return fo(()=>p.mergeRegister(_.registerRichText(c),function(i){const o=window.location.origin,s=s=>{if(s.origin!==o)return;const n=i.getRootElement();if(document.activeElement!==n)return;const a=s.data;if("string"==typeof a){let o;try{o=JSON.parse(a)}catch(e){return}if(o&&"nuanria_messaging"===o.protocol&&"request"===o.type){const e=o.payload;if(e&&"makeChanges"===e.functionId){const o=e.args;if(o){const[e,n,a,r,c,l]=o;i.update(()=>{const i=t.$getSelection();if(t.$isRangeSelection(i)){const o=i.anchor;let l=o.getNode(),d=0,g=0;if(t.$isTextNode(l)&&e>=0&&n>=0&&(d=e,g=e+n,i.setTextNodeRange(l,d,l,g)),d===g&&""===a||(i.insertRawText(a),l=o.getNode()),t.$isTextNode(l)){d=r,g=r+c;const e=l.getTextContentSize();d=d>e?e:d,g=g>e?e:g,i.setTextNodeRange(l,d,l,g)}s.stopImmediatePropagation()}})}}}}};return window.addEventListener("message",s,!0),()=>{window.removeEventListener("message",s,!0)}}(c)),[c=a]),o.jsxs(o.Fragment,{children:[e,o.jsx(wo,{content:i}),r]});var c}function wo({content:e}){const[i]=V(),o=function(e){const[i,o]=s.useState(()=>bo(e));return fo(()=>{function i(){const i=bo(e);o(i)}return i(),p.mergeRegister(e.registerUpdateListener(()=>{i()}),e.registerEditableListener(()=>{i()}))},[e]),i}(i),t=ho();return o?"function"==typeof e?e(t):e:null}function xo({maxIndent:e}){const[i]=V();return s.useEffect(()=>{return o=i,s=e,p.mergeRegister(o.registerCommand(t.KEY_TAB_COMMAND,e=>{const i=t.$getSelection();if(!t.$isRangeSelection(i))return!1;e.preventDefault();const s=function(e){const i=e.getNodes();if(p.$filter(i,e=>t.$isBlockElementNode(e)&&e.canIndent()?e:null).length>0)return!0;const o=e.anchor,s=e.focus,n=s.isBefore(o)?s:o,a=n.getNode(),r=p.$getNearestBlockElementAncestorOrThrow(a);if(r.canIndent()){const e=r.getKey();let i=t.$createRangeSelection();if(i.anchor.set(e,0,"element"),i.focus.set(e,0,"element"),i=t.$normalizeSelection__EXPERIMENTAL(i),i.anchor.is(n))return!0}return!1}(i)?e.shiftKey?t.OUTDENT_CONTENT_COMMAND:t.INDENT_CONTENT_COMMAND:t.INSERT_TAB_COMMAND;return o.dispatchCommand(s,void 0)},t.COMMAND_PRIORITY_EDITOR),o.registerCommand(t.INDENT_CONTENT_COMMAND,()=>{if(null==s)return!1;const e=t.$getSelection();if(!t.$isRangeSelection(e))return!1;const i=e.getNodes().map(e=>p.$getNearestBlockElementAncestorOrThrow(e).getIndent());return Math.max(...i)+1>=s},t.COMMAND_PRIORITY_CRITICAL));var o,s},[i,e]),null}function ko({hasCellMerge:e=!0,hasCellBackgroundColor:i=!0,hasTabHandler:o=!0,hasHorizontalScroll:t=!1}){const[n]=V();return s.useEffect(()=>{v.setScrollableTablesActive(n,t)},[n,t]),s.useEffect(()=>v.registerTablePlugin(n),[n]),s.useEffect(()=>v.registerTableSelectionObserver(n,o),[n,o]),s.useEffect(()=>{if(!e)return v.registerTableCellUnmergeTransform(n)},[n,e]),s.useEffect(()=>{if(!i)return n.registerNodeTransform(v.TableCellNode,e=>{null!==e.getBackgroundColor()&&e.setBackgroundColor(null)})},[n,i,e]),null}const No=I.forwardRef(({className:e,orientation:i="horizontal",decorative:s=!0,...t},n)=>o.jsx(L.Root,{ref:n,decorative:s,orientation:i,className:le("shrink-0 bg-black","horizontal"===i?"h-[1px] w-full":"h-full w-[1px]",e),...t}));No.displayName=L.Root.displayName;const So=s.createContext({activeEditor:{},$updateToolbar:()=>{},blockType:"paragraph",setBlockType:()=>{},showModal:()=>{}});function Co({activeEditor:e,$updateToolbar:i,blockType:s,setBlockType:t,showModal:n,children:a}){return o.jsx(So.Provider,{value:{activeEditor:e,$updateToolbar:i,blockType:s,setBlockType:t,showModal:n},children:a})}function Eo(){return s.useContext(So)}function To(e){const[i]=V(),{activeEditor:o}=Eo();s.useEffect(()=>o.registerCommand(t.SELECTION_CHANGE_COMMAND,()=>{const i=t.$getSelection();return i&&e(i),!1},t.COMMAND_PRIORITY_CRITICAL),[i,e]),s.useEffect(()=>{o.getEditorState().read(()=>{const i=t.$getSelection();i&&e(i)})},[o,e])}const Oo={paragraph:{label:"Paragraph",icon:o.jsx(x.TextIcon,{className:"size-4"})},h1:{label:"Heading 1",icon:o.jsx(x.Heading1Icon,{className:"size-4"})},h2:{label:"Heading 2",icon:o.jsx(x.Heading2Icon,{className:"size-4"})},h3:{label:"Heading 3",icon:o.jsx(x.Heading3Icon,{className:"size-4"})},number:{label:"Numbered List",icon:o.jsx(x.ListOrderedIcon,{className:"size-4"})},bullet:{label:"Bulleted List",icon:o.jsx(x.ListIcon,{className:"size-4"})},check:{label:"Check List",icon:o.jsx(x.ListTodoIcon,{className:"size-4"})},code:{label:"Code Block",icon:o.jsx(x.CodeIcon,{className:"size-4"})},quote:{label:"Quote",icon:o.jsx(x.QuoteIcon,{className:"size-4"})}};function Po(...e){return c.twMerge(r.clsx(e))}const Ao=s.forwardRef(({is_loading:e=!1,variant:i,size:t,asChild:n,as:a="button",buttonType:r,className:c,disabled:l,theme:d,children:g,containerClassName:u,...m},p)=>{const _=n?S.Slot:a;return o.jsx(_,{...m,"data-theme":d,disabled:l||e,ref:p,className:Po(Mo({variant:i,size:t,is_loading:e,buttonType:r,disabled:l}),c),children:n?s.cloneElement(g,{},o.jsxs("div",{className:Po("px-[3px] flex items-center justify-center gap-[3px] has-[>i]:p-0",u),children:[g.props.children,e&&o.jsx(Ro,{size:t})]})):o.jsxs("div",{className:Po("px-[3px] flex items-center justify-center gap-[3px] has-[>i]:p-0",u),children:[g,e&&o.jsx(Ro,{size:t})]})})});function Ro({size:e,className:i}){const s=N.cva("animate-spin ",{variants:{size:{S:"w-[12px] h-[12px]",M:"w-[18px] h-[18px]",L:"w-[20px] h-[20px]",XL:"w-[20px] h-[20px]"}},defaultVariants:{size:"M"}});return o.jsxs("svg",{className:Po(s({size:e,className:i})),viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[o.jsx("path",{d:"M11 6C11 8.76142 8.76142 11 6 11C3.23858 11 1 8.76142 1 6C1 3.23858 3.23858 1 6 1C8.76142 1 11 3.23858 11 6ZM2.25 6C2.25 8.07107 3.92893 9.75 6 9.75C8.07107 9.75 9.75 8.07107 9.75 6C9.75 3.92893 8.07107 2.25 6 2.25C3.92893 2.25 2.25 3.92893 2.25 6Z",fill:"currentColor"}),o.jsx("path",{d:"M11 6C11 5.34339 10.8707 4.69321 10.6194 4.08658C10.3681 3.47995 9.99983 2.92876 9.53553 2.46447C9.07124 2.00017 8.52004 1.63188 7.91342 1.3806C7.30679 1.12933 6.65661 1 6 1V2.25C6.49246 2.25 6.98009 2.347 7.43506 2.53545C7.89003 2.72391 8.30343 3.00013 8.65165 3.34835C8.99987 3.69657 9.27609 4.10997 9.46455 4.56494C9.653 5.01991 9.75 5.50754 9.75 6H11Z",fill:"currentColor"})]})}Ao.displayName="Button";const Mo=N.cva("flex items-center whitespace-nowrap justify-center transition-[background,color] duration-200 ease-in-out border border-transparent outline-none leading-none [&-i]:!leading-none",{variants:{variant:{PrimeStyle:["bg-background-presentation-action-secondary","text-content-presentation-action-light-primary","hover:bg-background-presentation-action-hover","hover:text-content-presentation-action-hover","focus:lg:focus:md:border lg:focus:md:border-border-presentation-state-focus","active:bg-background-presentation-action-hover active:text-content-presentation-action-hover"],BlueSecStyle:["bg-background-presentation-action-secondary","text-content-presentation-action-light-primary","hover:bg-background-presentation-state-information-primary","hover:text-content-presentation-action-hover","focus:lg:border focus:lg:border-border-presentation-state-focus","active:bg-background-presentation-state-information-primary active:text-content-presentation-action-hover"],YelSecStyle:["bg-background-presentation-action-secondary","text-content-presentation-action-light-primary","hover:bg-background-presentation-state-warning-primary","hover:text-content-presentation-action-light-primary","focus:lg:border focus:lg:border-border-presentation-state-focus","active:bg-background-presentation-state-warning-primary active:text-content-presentation-action-light-primary"],RedSecStyle:["bg-background-presentation-action-secondary","text-content-presentation-action-light-primary","hover:bg-background-presentation-state-negative-primary","hover:text-content-presentation-action-hover","focus:lg:border focus:lg:border-border-presentation-state-focus","active:bg-background-presentation-state-negative-primary active:text-content-presentation-action-hover"],BorderStyle:["text-content-presentation-action-light-primary","border border-border-presentation-action-disabled","bg-background-presentation-action-borderstyle","hover:bg-background-presentation-action-hover","hover:text-content-presentation-action-hover","focus:lg:border focus:lg:border-border-presentation-state-focus","focus:lg:text-content-presentation-action-light-primary","focus:hover:lg:text-content-presentation-action-hover","active:bg-background-presentation-action-hover active:text-content-presentation-action-hover"],PrimeContStyle:["text-content-presentation-action-light-primary","border-transparent bg-transparent","hover:bg-background-presentation-action-contstyle-hover","hover:text-content-presentation-action-light-primary","focus:lg:border focus:lg:border-border-presentation-state-focus","focus:lg:bg-background-presentation-action-borderstyle","active:bg-background-presentation-action-contstyle-hover active:text-content-presentation-action-light-primary"],BlueContStyle:["text-content-presentation-action-light-primary","border-transparent bg-transparent","hover:bg-background-presentation-action-contstyle-hover","hover:text-content-presentation-action-information-hover","focus:lg:border focus:lg:border-border-presentation-state-focus","focus:lg:bg-background-presentation-action-borderstyle","active:bg-background-presentation-action-contstyle-hover active:text-content-presentation-action-information-hover"],RedContStyle:["text-content-presentation-action-light-primary","border-transparent bg-transparent","hover:bg-background-presentation-action-contstyle-hover","hover:text-content-presentation-action-negative-hover","focus:lg:border focus:lg:border-border-presentation-state-focus","focus:lg:bg-background-presentation-action-borderstyle","active:bg-background-presentation-action-contstyle-hover active:text-content-presentation-action-negative-hover"]},size:{S:"h-[22px] px-[6px] typography-body-small-medium rounded-[4px] [&_i]:text-[12px]",M:"h-[28px] px-[14px] typography-body-large-medium rounded-[4px] [&_i]:text-[18px]",L:"h-[34px] px-[22px] typography-body-large-medium rounded-[6px] [&_i]:text-[20px]",XL:"h-[40px] px-[30px] typography-headers-medium-medium rounded-[6px] [&_i]:text-[22px]"},is_loading:{true:"[&_i]:hidden"},disabled:{true:"cursor-not-allowed"},buttonType:{button:"",icon:""}},defaultVariants:{size:"M",variant:"PrimeStyle",buttonType:"button"},compoundVariants:[{is_loading:!0,className:["cursor-wait","bg-background-presentation-action-hover","text-content-presentation-action-hover","hover:bg-background-presentation-action-hover","hover:text-content-presentation-action-hover","focus:lg:border focus:lg:border-transparent","active:bg-background-presentation-action-hover active:text-content-presentation-action-hover"]},{disabled:!0,className:["cursor-not-allowed","pointer-events-none","bg-background-presentation-action-disabled","text-content-presentation-state-disabled","border-transparent"]},{buttonType:"icon",size:"S",className:"w-[22px] h-[22px] p-0 leading-[0]"},{buttonType:"icon",size:"M",className:"w-[28px] h-[28px] p-0 leading-[0]"},{buttonType:"icon",size:"L",className:"w-[34px] h-[34px] p-0 leading-[0]"},{buttonType:"icon",size:"XL",className:"w-[40px] h-[40px] p-0 leading-[0]"}]}),Do=$.Provider,Bo=$.Root,Fo=$.Trigger,Io=s.forwardRef(({className:e,sideOffset:i=4,...s},t)=>o.jsx($.Portal,{children:o.jsx($.Content,{ref:t,sideOffset:i,className:Po("z-50 overflow-hidden rounded-md bg-background-system-body-tertiary px-3 py-1.5 text-xs text-content-system-global-primary animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-tooltip-content-transform-origin]",e),...s})}));Io.displayName=$.Content.displayName;const $o=$.Arrow,Lo=N.cva("typography-body-medium-regular rounded-[4px] p-1",{variants:{variant:{primary:"bg-background-system-body-tertiary text-content-system-global-primary",highlight:"bg-background-presentation-state-information-primary text-content-system-global-primary"}},defaultVariants:{variant:"primary"}}),zo=({children:e,open:i,text:s,theme:t="dark",onOpenChange:n,toolTipSide:a,contentAlign:r="center",avoidCollisions:c=!0,delay:l=400,tip:d=!0,variant:g,className:u,...m})=>o.jsx(Do,{children:o.jsxs(Bo,{delayDuration:l,...void 0!==i&&{open:i},...n&&{onOpenChange:n},children:[o.jsx(Fo,{"aria-label":"Open tooltip",asChild:!0,children:e}),o.jsxs(Io,{"data-theme":t,sideOffset:2,side:a,align:r,avoidCollisions:c,className:Po(Lo({variant:g,className:u})),...m,children:[s,d&&o.jsx($o,{className:Po("fill-background-system-body-tertiary",{"fill-wavy-navy-900":"highlight"===g})})]})]})}),qo=z.Root,Ko=z.Group,Ho=z.Value,Wo=s.forwardRef(({className:e,children:i,size:s="M",variant:t="PresentationStyle",errors:n,theme:a,icon:r,...c},l)=>o.jsx(zo,{toolTipSide:"top",open:void 0!==n,text:n,children:o.jsxs(z.Trigger,{"data-theme":a,ref:l,className:Po(Vo({size:s,variant:t,error:void 0!==n}),e),...c,children:[o.jsx("p",{className:Po({"[&_span]:text-content-system-global-secondary":!c.value}),children:i}),o.jsx(Ao,{as:"span",buttonType:"icon",className:Po(["group-aria-expanded:bg-background-presentation-action-hover","group-aria-expanded:text-content-system-global-primary"]),children:o.jsx("i",{className:Po("ri-arrow-down-s-line transition-all duration-100 ease-in-out group-aria-expanded:rotate-180",{"!text-[12px]":"S"===s},{"!text-[16px]":"M"===s},{"!text-[18px]":"L"===s},{"!text-[26px]":"XL"===s},{icon:r})})})]})}));Wo.displayName="SelectTrigger";s.forwardRef(({className:e,...i},s)=>o.jsx(z.ScrollUpButton,{ref:s,className:Po("flex cursor-default items-center justify-center py-1 ",e),...i,children:o.jsx("i",{className:"h-4 w-4 ri-arrow-up-s-line",color:"var(--content-presentation-action-light-primary)"})})).displayName="SelectScrollUpButton";s.forwardRef(({className:e,...i},s)=>o.jsx(z.ScrollDownButton,{ref:s,className:Po("flex cursor-default items-center justify-center py-1",e),...i,children:o.jsx("i",{color:"var(--content-presentation-action-light-primary)",className:"h-4 w-4 ri-arrow-down-s-line"})})).displayName="SelectScrollDownButton";const Yo=s.forwardRef(({className:e,children:i,variant:s="PresentationStyle",position:t="popper",theme:n,...a},r)=>o.jsx(z.Portal,{children:o.jsx(z.Content,{"data-theme":n,ref:r,className:Po(Jo({variant:s}),e),position:t,...a,children:o.jsx(z.Viewport,{children:i})})}));Yo.displayName="SelectContent";s.forwardRef(({className:e,...i},s)=>o.jsx(z.Label,{ref:s,className:Po("px-2 py-1.5 text-sm font-semibold",e),...i})).displayName="SelectLabel";const Uo=s.forwardRef(({className:e,children:i,size:s="M",variant:t="Default",active:n,...a},r)=>o.jsx(z.Item,{ref:r,className:Po(Go({variant:t,active:n,size:s}),e),...a,children:o.jsx(z.ItemText,{children:i})}));Uo.displayName="SelectItem";s.forwardRef(({className:e,...i},s)=>o.jsx(z.Separator,{ref:s,className:Po("-mx-1 my-1 h-px bg-background-system-body-secondary",e),...i})).displayName="SelectSeparator";const Jo=N.cva(["p-1","rounded-[8px]","min-w-[240px]","border","outline-none","overflow-scroll","data-[state=open]:animate-in","data-[state=closed]:animate-out","data-[state=closed]:fade-out-0","data-[state=open]:fade-in-0","overflow-x-hidden","scrollbar-hide","z-[1000]"],{variants:{variant:{SystemStyle:["border-border-system-global-secondary","bg-background-system-body-primary","shadow-xl"],PresentationStyle:["border-border-presentation-global-primary","bg-background-presentation-form-base","shadow-lg"]},defaultVariants:{variant:"PresentationStyle"}}}),Go=N.cva(["text-content-presentation-action-light-primary","outline-none","border","border-transparent","flex","gap-[8px]","items-center","justify-start","text-overflow","overflow-hidden","px-[12px]","rounded-[4px]","transition-all","ease-in-out","duration-300"],{variants:{variant:{Default:["text-content-presentation-action-light-primary","bg-background-presentation-action-dropdown-primary","hover:bg-background-presentation-action-hover","hover:text-content-presentation-action-hover","focus:bg-background-presentation-action-hover","focus:text-content-presentation-action-hover","disabled:text-content-presentation-state-disabled","disabled:bg-white-00"],Warning:["text-content-presentation-state-information","hover:bg-background-presentation-state-information-primary","focus:bg-background-presentation-state-information-primary","focus:text-content-presentation-action-hover","hover:text-content-presentation-action-hover"],Negative:["text-content-presentation-state-negative","hover:bg-background-presentation-state-negative-primary","hover:text-content-presentation-action-hover","focus:bg-background-presentation-state-negative-primary","focus:text-content-presentation-action-hover","active:text-content-presentation-state-negative"],SystemStyle:["bg-background-system-body-primary","text-content-system-global-primary","hover:bg-background-system-action-secondary-hover","hover:text-content-system-action-primary-hover","hover:border-border-system-action-primary-hover","focus:bg-background-system-action-secondary-hover","focus:text-content-system-action-primary-hover","focus:border-border-system-action-primary-hover","disabled:bg-background-system-body-secondary","disabled:text-content-system-global-disabled"]},size:{S:["typography-body-small-regular","h-[24px]"],M:["typography-body-medium-regular","h-[32px]"]},disabled:{true:["text-content-presentation-state-disabled","bg-white-00"]},active:{true:["bg-background-presentation-action-selected","text-content-presentation-action-light-primary"]},defaultVariants:{variant:"Default",size:"M",active:!1,disabled:!1}},compoundVariants:[{active:!0,variant:"Warning",className:["text-content-presentation-state-negative"]}]}),Vo=N.cva(["flex flex-row rounded-[4px] justify-between items-center outline-none","rounded-[4px]","[&_span]:text-content-presentation-action-light-primary","typography-body-small-regular","[&_p]:px-[10px] [&_p]:whitespace-nowrap","group","w-fit","border","transition-all duration-200 ease-in-out","hover:shadow-md","focus:shadow-md"],{variants:{variant:{PresentationStyle:["bg-background-presentation-form-field-primary","hover:bg-background-presentation-form-field-hover","focus:bg-background-presentation-form-field-hover","border-none"],SystemStyle:["bg-black-alpha-20","text-content-system-global-primary","border-border-system-global-secondary","hover:border-border-presentation-state-focus","hover:bg-purple-alpha-10","focus:border-border-presentation-state-focus","focus:bg-purple-alpha-10"]},error:{true:["border-border-presentation-state-negative","caret-border-presentation-state-negative","hover:border-border-presentation-state-negative","hover:caret-border-presentation-state-negative"]},size:{S:["[&_span]:h-[22px] [&_span]:w-[22px] [&_p]:typography-body-small-medium"],M:["[&_span]:h-[26px] [&_span]:w-[26px] [&_p]:typography-body-medium-medium"],L:["[&_span]:h-[28px] [&_span]:w-[28px] [&_p]:typography-body-large-medium"],XL:["h-[40px] p-[4px] rounded-[6px] [&_span]:h-[32px] [&_span]:w-[32px] [&_p]:typography-body-large-regular [&_p]:px-[4px]"]}},defaultVariants:{size:"M"}});function Xo({children:e}){const{activeEditor:i,blockType:s,setBlockType:n}=Eo();return To(function(e){if(t.$isRangeSelection(e)){const o=e.anchor.getNode();let s="root"===o.getKey()?o:p.$findMatchingParent(o,e=>{const i=e.getParent();return null!==i&&t.$isRootOrShadowRoot(i)});null===s&&(s=o.getTopLevelElementOrThrow());const a=s.getKey();if(null!==i.getElementByKey(a))if(u.$isListNode(s)){const e=p.$getNearestNodeOfType(o,u.ListNode),i=e?e.getListType():s.getListType();n(i)}else{const e=_.$isHeadingNode(s)?s.getTag():s.getType();e in Oo&&n(e)}}}),o.jsxs(qo,{value:s,onValueChange:e=>{n(e)},children:[o.jsx(Wo,{className:"h-8 [&_span]:w-fit [&_span]:text-content-presentation-action-light-primary w-fit justify-start gap-1 [&_p]:flex [&_p]:items-center [&_p]:gap-2 [&_p]:h-full [&_p]:m-0 [&_p]:w-fit",children:o.jsxs("div",{className:"flex items-center gap-1 font-normal text-content-presentation-action-light-primary",children:[Oo[s].icon,Oo[s].label]})}),o.jsx(Yo,{children:o.jsx(Ko,{children:e})})]})}const Zo="bullet";function Qo(){const{activeEditor:e,blockType:i}=Eo();return o.jsx(Uo,{value:Zo,onPointerDown:()=>{"number"!==i?e.dispatchCommand(u.INSERT_UNORDERED_LIST_COMMAND,void 0):e.update(()=>{const e=t.$getSelection();t.$isRangeSelection(e)&&y.$setBlocksType(e,()=>t.$createParagraphNode())})},children:o.jsxs("div",{className:"flex flex-nowrap items-center gap-1",children:[Oo[Zo].icon,Oo[Zo].label]})})}const es="check";function is(){const{activeEditor:e,blockType:i}=Eo();return o.jsx(Uo,{value:es,onPointerDown:()=>{"number"!==i?e.dispatchCommand(u.INSERT_CHECK_LIST_COMMAND,void 0):e.update(()=>{const e=t.$getSelection();t.$isRangeSelection(e)&&y.$setBlocksType(e,()=>t.$createParagraphNode())})},children:o.jsxs("div",{className:"flex flex-nowrap items-center gap-1",children:[Oo[es].icon,Oo[es].label]})})}const os="code";function ss(){const{activeEditor:e,blockType:i}=Eo();return o.jsx(Uo,{value:"code",onPointerDown:()=>{"code"!==i&&e.update(()=>{let e=t.$getSelection();if(null!==e)if(e.isCollapsed())y.$setBlocksType(e,()=>l.$createCodeNode());else{const i=e.getTextContent(),o=l.$createCodeNode();e.insertNodes([o]),e=t.$getSelection(),t.$isRangeSelection(e)&&e.insertRawText(i)}})},children:o.jsxs("div",{className:"flex flex-nowrap items-center gap-1",children:[Oo[os].icon,Oo[os].label]})})}function ts({levels:e=[]}){const{activeEditor:i,blockType:s}=Eo();return e.map(e=>o.jsx(Uo,{value:e,onPointerDown:()=>{var o;s!==(o=e)&&i.update(()=>{const e=t.$getSelection();y.$setBlocksType(e,()=>_.$createHeadingNode(o))})},children:o.jsxs("div",{className:"flex flex-nowrap items-center gap-1",children:[Oo[e].icon,Oo[e].label]})},e))}const ns="number";function as(){const{activeEditor:e,blockType:i}=Eo();return o.jsx(Uo,{value:ns,onPointerDown:()=>{"number"!==i?e.dispatchCommand(u.INSERT_ORDERED_LIST_COMMAND,void 0):e.update(()=>{const e=t.$getSelection();t.$isRangeSelection(e)&&y.$setBlocksType(e,()=>t.$createParagraphNode())})},children:o.jsxs("div",{className:"flex flex-nowrap items-center gap-1",children:[Oo[ns].icon,Oo[ns].label]})})}const rs="paragraph";function cs(){const{activeEditor:e}=Eo();return o.jsx(Uo,{value:rs,onPointerDown:()=>{e.update(()=>{const e=t.$getSelection();t.$isRangeSelection(e)&&y.$setBlocksType(e,()=>t.$createParagraphNode())})},children:o.jsxs("div",{className:"flex flex-nowrap items-center gap-1",children:[Oo[rs].icon,Oo[rs].label]})})}const ls="quote";function ds(){const{activeEditor:e,blockType:i}=Eo();return o.jsx(Uo,{value:"quote",onPointerDown:()=>{"quote"!==i&&e.update(()=>{const e=t.$getSelection();y.$setBlocksType(e,()=>_.$createQuoteNode())})},children:o.jsxs("div",{className:"flex flex-nowrap items-center gap-1",children:[Oo[ls].icon,Oo[ls].label]})})}const gs=q.Root,us=q.Portal,ms=q.Close,ps=I.forwardRef(({className:e,...i},s)=>o.jsx(q.Overlay,{ref:s,className:Po("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...i}));ps.displayName=q.Overlay.displayName;const _s=I.forwardRef(({className:e,children:i,...s},t)=>o.jsxs(us,{children:[o.jsx(ps,{}),o.jsx(q.Content,{ref:t,className:Po("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border border-border-system-global-secondary bg-background-system-body-primary p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",e),...s,children:i})]}));_s.displayName=q.Content.displayName,I.forwardRef(({className:e,children:i,...s},t)=>o.jsx(q.Close,{ref:t,...s,className:Po("m-0 p-0 h-fit",e),children:i}));const vs=({className:e,...i})=>o.jsx("div",{className:Po("flex flex-col space-y-1.5 text-center sm:text-left",e),...i});vs.displayName="DialogHeader";const ys=({className:e,...i})=>o.jsx("div",{className:Po("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...i});ys.displayName="DialogFooter";const hs=I.forwardRef(({className:e,...i},s)=>o.jsx(q.Title,{ref:s,className:Po("text-lg font-semibold leading-none tracking-tight text-content-system-global-primary",e),...i}));hs.displayName=q.Title.displayName;function fs(){const[e,i]=s.useState(null),t=s.useCallback(()=>{i(null)},[]);return[s.useMemo(()=>{if(null===e)return null;const{title:i,content:s}=e;return o.jsx(gs,{open:!0,onOpenChange:t,children:o.jsxs(_s,{children:[o.jsx(vs,{children:o.jsx(hs,{children:i})}),s]})})},[e,t]),s.useCallback((e,o,s=!1)=>{i({closeOnClickOutside:s,content:o(t),title:e})},[t])]}function bs({children:e}){const[i]=fs();return o.jsxs(o.Fragment,{children:[i,o.jsxs(qo,{value:"",children:[o.jsxs(Wo,{className:"h-8 [&_span]:w-fit [&_span]:text-content-presentation-action-light-primary w-fit justify-start gap-1 [&_p]:flex [&_p]:items-center [&_p]:gap-2 [&_p]:h-full [&_p]:m-0 [&_p]:w-fit",children:[o.jsx(x.PlusIcon,{className:"size-4 mt-0.5"}),o.jsx("span",{className:"flex h-full text-center shrink-0 items-center w-full",children:"Insert"})]}),o.jsx(Yo,{children:o.jsx(Ko,{children:e})})]})]})}I.forwardRef(({className:e,...i},s)=>o.jsx(q.Description,{ref:s,className:Po("text-sm text-content-system-global-secondary",e),...i})).displayName=q.Description.displayName;const js=t.createCommand();function ws(){const[e]=V();return s.useEffect(()=>{if(!e.hasNodes([Be,He,Le]))throw new Error("CollapsiblePlugin: CollapsibleContainerNode, CollapsibleTitleNode, or CollapsibleContentNode not registered on editor");const i=()=>{const e=t.$getSelection();if(t.$isRangeSelection(e)&&e.isCollapsed()&&0===e.anchor.offset){const i=p.$findMatchingParent(e.anchor.getNode(),Ie);if(Ie(i)){const o=i.getParent();null!==o&&o.getFirstChild()===i&&e.anchor.key===i.getFirstDescendant()?.getKey()&&i.insertBefore(t.$createParagraphNode())}}return!1},o=()=>{const e=t.$getSelection();if(t.$isRangeSelection(e)&&e.isCollapsed()){const i=p.$findMatchingParent(e.anchor.getNode(),Ie);if(Ie(i)){const o=i.getParent();if(null!==o&&o.getLastChild()===i){const o=i.getFirstDescendant(),s=i.getLastDescendant();(null!==s&&e.anchor.key===s.getKey()&&e.anchor.offset===s.getTextContentSize()||null!==o&&e.anchor.key===o.getKey()&&e.anchor.offset===o.getTextContentSize())&&i.insertAfter(t.$createParagraphNode())}}}return!1};return p.mergeRegister(e.registerNodeTransform(Le,e=>{if(!Ie(e.getParent())){const i=e.getChildren();for(const o of i)e.insertBefore(o);e.remove()}}),e.registerNodeTransform(He,e=>{Ie(e.getParent())||e.replace(t.$createParagraphNode().append(...e.getChildren()))}),e.registerNodeTransform(Be,e=>{const i=e.getChildren();if(2!==i.length||!Ye(i[0])||!qe(i[1])){for(const o of i)e.insertBefore(o);e.remove()}}),e.registerCommand(t.DELETE_CHARACTER_COMMAND,()=>{const e=t.$getSelection();if(!t.$isRangeSelection(e)||!e.isCollapsed()||0!==e.anchor.offset)return!1;const i=e.anchor.getNode().getTopLevelElement();if(null===i)return!1;const o=i.getPreviousSibling();return!(!Ie(o)||o.getOpen())&&(o.setOpen(!0),!0)},t.COMMAND_PRIORITY_LOW),e.registerCommand(t.KEY_ARROW_DOWN_COMMAND,o,t.COMMAND_PRIORITY_LOW),e.registerCommand(t.KEY_ARROW_RIGHT_COMMAND,o,t.COMMAND_PRIORITY_LOW),e.registerCommand(t.KEY_ARROW_UP_COMMAND,i,t.COMMAND_PRIORITY_LOW),e.registerCommand(t.KEY_ARROW_LEFT_COMMAND,i,t.COMMAND_PRIORITY_LOW),e.registerCommand(t.INSERT_PARAGRAPH_COMMAND,()=>{const e=t.$getSelection();if(t.$isRangeSelection(e)){const i=p.$findMatchingParent(e.anchor.getNode(),e=>Ye(e));if(Ye(i)){const e=i.getParent();if(e&&Ie(e))return e.getOpen()||e.toggleOpen(),i.getNextSibling()?.selectEnd(),!0}}return!1},t.COMMAND_PRIORITY_LOW),e.registerCommand(js,()=>(e.update(()=>{const e=We(),i=t.$createParagraphNode();p.$insertNodeToNearestRoot(Fe(!0).append(e.append(i),ze().append(t.$createParagraphNode()))),i.select()}),!0),t.COMMAND_PRIORITY_LOW))},[e]),null}function xs(){const{activeEditor:e}=Eo();return o.jsx(Uo,{value:"collapsible",onPointerUp:()=>e.dispatchCommand(js,void 0),children:o.jsxs("div",{className:"flex flex-nowrap items-center gap-1",children:[o.jsx(x.ChevronRightIcon,{className:"size-4"}),o.jsx("span",{children:"Collapsible container"})]})})}function ks({...e}){return o.jsx(z.Root,{"data-slot":"select",...e})}function Ns({...e}){return o.jsx(z.Value,{"data-slot":"select-value",...e})}function Ss({className:e,size:i="default",children:s,...t}){return o.jsxs(z.Trigger,{"data-slot":"select-trigger","data-size":i,className:le("border-border-system-global-secondary data-[placeholder]:text-content-system-global-secondary [&_svg:not([class*='text-'])]:text-content-system-global-secondary focus-visible:border-border-presentation-state-focus focus-visible:ring-border-presentation-state-focus/50 aria-invalid:ring-border-presentation-state-negative/20 aria-invalid:border-border-presentation-state-negative bg-background-system-body-primary hover:bg-background-presentation-action-hover flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...t,children:[s,o.jsx(z.Icon,{asChild:!0,children:o.jsx(x.ChevronDownIcon,{className:"size-4 opacity-50"})})]})}function Cs({className:e,children:i,position:s="popper",...t}){return o.jsx(z.Portal,{children:o.jsxs(z.Content,{"data-slot":"select-content",className:le("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md","popper"===s&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:s,...t,children:[o.jsx(Ts,{}),o.jsx(z.Viewport,{className:le("p-1","popper"===s&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:i}),o.jsx(Os,{})]})})}function Es({className:e,children:i,...s}){return o.jsxs(z.Item,{"data-slot":"select-item",className:le("focus:bg-background-presentation-action-selected focus:text-content-system-global-primary [&_svg:not([class*='text-'])]:text-content-system-global-secondary relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...s,children:[o.jsx("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:o.jsx(z.ItemIndicator,{children:o.jsx(x.CheckIcon,{className:"size-4"})})}),o.jsx(z.ItemText,{children:i})]})}function Ts({className:e,...i}){return o.jsx(z.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:le("flex cursor-default items-center justify-center py-1",e),...i,children:o.jsx(x.ChevronUpIcon,{className:"size-4"})})}function Os({className:e,...i}){return o.jsx(z.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:le("flex cursor-default items-center justify-center py-1",e),...i,children:o.jsx(x.ChevronDownIcon,{className:"size-4"})})}const Ps=[{label:"2 columns (equal width)",value:"1fr 1fr"},{label:"2 columns (25% - 75%)",value:"1fr 3fr"},{label:"3 columns (equal width)",value:"1fr 1fr 1fr"},{label:"3 columns (25% - 50% - 25%)",value:"1fr 2fr 1fr"},{label:"4 columns (equal width)",value:"1fr 1fr 1fr 1fr"}];function As({activeEditor:e,onClose:i}){const[t,n]=s.useState(Ps[0].value),a=Ps.find(e=>e.value===t)?.label;return o.jsxs(o.Fragment,{children:[o.jsxs(ks,{onValueChange:n,defaultValue:t,children:[o.jsx(Ss,{className:"w-full",children:o.jsx(Ns,{placeholder:a})}),o.jsx(Cs,{className:"w-full",children:Ps.map(({label:e,value:i})=>o.jsx(Es,{value:i,children:e},i))})]}),o.jsx(Ao,{onClick:()=>{e.dispatchCommand(Rs,t),i()},children:"Insert"})]})}const Rs=t.createCommand(),Ms=t.createCommand();function Ds(){const[e]=V();return s.useEffect(()=>{if(!e.hasNodes([Ai,Di]))throw new Error("LayoutPlugin: LayoutContainerNode, or LayoutItemNode not registered on editor");const i=e=>{const i=t.$getSelection();if(t.$isRangeSelection(i)&&i.isCollapsed()&&0===i.anchor.offset){const o=p.$findMatchingParent(i.anchor.getNode(),Mi);if(Mi(o)){const s=o.getParent(),n=s&&(e?s.getFirstChild():s?.getLastChild()),a=e?o.getFirstDescendant()?.getKey():o.getLastDescendant()?.getKey();null!==s&&n===o&&i.anchor.key===a&&(e?o.insertBefore(t.$createParagraphNode()):o.insertAfter(t.$createParagraphNode()))}}return!1};return p.mergeRegister(e.registerCommand(t.KEY_ARROW_DOWN_COMMAND,()=>i(!1),t.COMMAND_PRIORITY_LOW),e.registerCommand(t.KEY_ARROW_RIGHT_COMMAND,()=>i(!1),t.COMMAND_PRIORITY_LOW),e.registerCommand(t.KEY_ARROW_UP_COMMAND,()=>i(!0),t.COMMAND_PRIORITY_LOW),e.registerCommand(t.KEY_ARROW_LEFT_COMMAND,()=>i(!0),t.COMMAND_PRIORITY_LOW),e.registerCommand(Rs,i=>(e.update(()=>{const e=Ri(i),o=Bs(i);for(let i=0;i<o;i++)e.append(Bi().append(t.$createParagraphNode()));p.$insertNodeToNearestRoot(e),e.selectStart()}),!0),t.COMMAND_PRIORITY_EDITOR),e.registerCommand(Ms,({template:i,nodeKey:o})=>(e.update(()=>{const e=t.$getNodeByKey(o);if(!Mi(e))return;const s=Bs(i),n=Bs(e.getTemplateColumns());if(s>n)for(let i=n;i<s;i++)e.append(Bi().append(t.$createParagraphNode()));else if(s<n)for(let i=n-1;i>=s;i--){const o=e.getChildAtIndex(i);Fi(o)&&o.remove()}e.setTemplateColumns(i)}),!0),t.COMMAND_PRIORITY_EDITOR),e.registerNodeTransform(Di,e=>{if(!Mi(e.getParent())){const i=e.getChildren();for(const o of i)e.insertBefore(o);e.remove()}}),e.registerNodeTransform(Ai,e=>{const i=e.getChildren();if(!i.every(Fi)){for(const o of i)e.insertBefore(o);e.remove()}}))},[e]),null}function Bs(e){return e.trim().split(/\s+/).length}function Fs(){const{activeEditor:e,showModal:i}=Eo();return o.jsx(Uo,{value:"columns",onPointerUp:()=>i("Insert Columns Layout",i=>o.jsx(As,{activeEditor:e,onClose:i})),children:o.jsxs("div",{className:"flex flex-nowrap items-center gap-1",children:[o.jsx(x.Columns3Icon,{className:"size-4"}),o.jsx("span",{children:"Columns Layout"})]})})}const Is="startTransition",$s="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,Ls=$s?s.useLayoutEffect:s.useEffect;let zs=class{constructor(e){this.key=e,this.ref={current:null},this.setRefElement=this.setRefElement.bind(this)}setRefElement(e){this.ref={current:e}}};const qs=e=>{const i=document.getElementById("typeahead-menu");if(!i)return;const o=i.getBoundingClientRect();o.top+o.height>window.innerHeight&&i.scrollIntoView({block:"center"}),o.top<0&&i.scrollIntoView({block:"center"}),e.scrollIntoView({block:"nearest"})};function Ks(e,i){const o=e.getBoundingClientRect(),s=i.getBoundingClientRect();return o.top>s.top&&o.top<s.bottom}const Hs=t.createCommand("SCROLL_TYPEAHEAD_OPTION_INTO_VIEW_COMMAND");function Ws({close:e,editor:i,anchorElementRef:o,resolution:n,options:a,menuRenderFn:r,onSelectOption:c,shouldSplitNodeWithQuery:l=!1,commandPriority:d=t.COMMAND_PRIORITY_LOW,preselectFirstItem:g=!0}){const[u,m]=s.useState(null),_=n.match&&n.match.matchingString;s.useEffect(()=>{g&&m(0)},[_,g]);const v=s.useCallback(o=>{i.update(()=>{const i=null!=n.match&&l?function(e){const i=t.$getSelection();if(!t.$isRangeSelection(i)||!i.isCollapsed())return null;const o=i.anchor;if("text"!==o.type)return null;const s=o.getNode();if(!s.isSimpleText())return null;const n=o.offset,a=s.getTextContent().slice(0,n),r=e.replaceableString.length,c=n-function(e,i,o){let s=o;for(let t=s;t<=i.length;t++)e.slice(-t)===i.substring(0,t)&&(s=t);return s}(a,e.matchingString,r);if(c<0)return null;let l;return 0===c?[l]=s.splitText(n):[,l]=s.splitText(c,n),l}(n.match):null;c(o,i,e,n.match?n.match.matchingString:"")})},[i,l,n.match,c,e]),y=s.useCallback(e=>{const o=i.getRootElement();null!==o&&(o.setAttribute("aria-activedescendant","typeahead-item-"+e),m(e))},[i]);return s.useEffect(()=>()=>{const e=i.getRootElement();null!==e&&e.removeAttribute("aria-activedescendant")},[i]),Ls(()=>{null===a?m(null):null===u&&g&&y(0)},[a,u,y,g]),s.useEffect(()=>p.mergeRegister(i.registerCommand(Hs,({option:e})=>!(!e.ref||null==e.ref.current||(qs(e.ref.current),0)),d)),[i,y,d]),s.useEffect(()=>p.mergeRegister(i.registerCommand(t.KEY_ARROW_DOWN_COMMAND,e=>{const o=e;if(null!==a&&a.length){const e=null===u?0:u!==a.length-1?u+1:0;y(e);const s=a[e];null!=s.ref&&s.ref.current&&i.dispatchCommand(Hs,{index:e,option:s}),o.preventDefault(),o.stopImmediatePropagation()}return!0},d),i.registerCommand(t.KEY_ARROW_UP_COMMAND,e=>{const i=e;if(null!==a&&a.length){const e=null===u?a.length-1:0!==u?u-1:a.length-1;y(e);const o=a[e];null!=o.ref&&o.ref.current&&qs(o.ref.current),i.preventDefault(),i.stopImmediatePropagation()}return!0},d),i.registerCommand(t.KEY_ESCAPE_COMMAND,i=>{const o=i;return o.preventDefault(),o.stopImmediatePropagation(),e(),!0},d),i.registerCommand(t.KEY_TAB_COMMAND,e=>{const i=e;return null!==a&&null!==u&&null!=a[u]&&(i.preventDefault(),i.stopImmediatePropagation(),v(a[u]),!0)},d),i.registerCommand(t.KEY_ENTER_COMMAND,e=>null!==a&&null!==u&&null!=a[u]&&(null!==e&&(e.preventDefault(),e.stopImmediatePropagation()),v(a[u]),!0),d)),[v,e,i,a,u,y,d]),r(o,s.useMemo(()=>({options:a,selectOptionAndCleanUp:v,selectedIndex:u,setHighlightedIndex:m}),[v,u,a]),n.match?n.match.matchingString:"")}function Ys(e,i){null!=i&&(e.className=i),e.setAttribute("aria-label","Typeahead menu"),e.setAttribute("role","listbox"),e.style.display="block",e.style.position="absolute"}function Us({options:e,nodeKey:i,onClose:n,onOpen:a,onSelectOption:r,menuRenderFn:c,anchorClassName:l,commandPriority:d=t.COMMAND_PRIORITY_LOW,parent:g}){const[u]=V(),[m,p]=s.useState(null),_=function(e,i,o,t=($s?document.body:void 0),n=!0){const[a]=V(),r=s.useRef($s?document.createElement("div"):null),c=s.useCallback(()=>{if(null===r.current||void 0===t)return;r.current.style.top=r.current.style.bottom;const i=a.getRootElement(),s=r.current,c=s.firstChild;if(null!==i&&null!==e){const{left:a,top:l,width:d,height:g}=e.getRect(),u=r.current.offsetHeight;if(s.style.top=`${l+u+3+(n?window.pageYOffset:0)}px`,s.style.left=`${a+window.pageXOffset}px`,s.style.height=`${g}px`,s.style.width=`${d}px`,null!==c){c.style.top=`${l}`;const e=c.getBoundingClientRect(),o=e.height,t=e.width,r=i.getBoundingClientRect();a+t>r.right&&(s.style.left=`${r.right-t+window.pageXOffset}px`),(l+o>window.innerHeight||l+o>r.bottom)&&l-r.top>o+g&&(s.style.top=`${l-o-g+(n?window.pageYOffset:0)}px`)}s.isConnected||(Ys(s,o),t.append(s)),s.setAttribute("id","typeahead-menu"),r.current=s,i.setAttribute("aria-controls","typeahead-menu")}},[a,e,n,o,t]);s.useEffect(()=>{const i=a.getRootElement();return null!==e&&c(),()=>{null!==i&&i.removeAttribute("aria-controls");const e=r.current;null!==e&&e.isConnected&&(e.remove(),e.removeAttribute("id"))}},[a,c,e]);const l=s.useCallback(o=>{null!==e&&(o||i(null))},[e,i]);!function(e,i,o,t){const[n]=V();s.useEffect(()=>{if(null!=i&&null!=e){const e=n.getRootElement(),s=null!=e?function(e){let i=getComputedStyle(e);const o="absolute"===i.position,s=/(auto|scroll)/;if("fixed"===i.position)return document.body;for(let t=e;t=t.parentElement;)if(i=getComputedStyle(t),(!o||"static"!==i.position)&&s.test(i.overflow+i.overflowY+i.overflowX))return t;return document.body}(e):document.body;let a=!1,r=Ks(i,s);const c=function(){a||(window.requestAnimationFrame(function(){o(),a=!1}),a=!0);const e=Ks(i,s);e!==r&&(r=e,null!=t&&t(e))},l=new ResizeObserver(o);return window.addEventListener("resize",o),document.addEventListener("scroll",c,{capture:!0,passive:!0}),l.observe(i),()=>{l.unobserve(i),window.removeEventListener("resize",o),document.removeEventListener("scroll",c,!0)}}},[i,n,t,o,e])}(e,r.current,c,l);const d=r.current;return null!=d&&(Ys(d,o),null!=t&&t.append(d)),r}(m,p,l,g),v=s.useCallback(()=>{p(null),null!=n&&null!==m&&n()},[n,m]),y=s.useCallback(e=>{p(e),null!=a&&null===m&&a(e)},[a,m]),h=s.useCallback(()=>{i?u.update(()=>{const e=t.$getNodeByKey(i),o=u.getElementByKey(i);var n;null!=e&&null!=o&&null==m&&(n=()=>y({getRect:()=>o.getBoundingClientRect()}),Is in s?s[Is](n):n())}):null==i&&null!=m&&v()},[v,u,i,y,m]);return s.useEffect(()=>{h()},[h,i]),s.useEffect(()=>{if(null!=i)return u.registerUpdateListener(({dirtyElements:e})=>{e.get(i)&&h()})},[u,h,i]),null===_.current||null===m||null===u?null:o.jsx(Ws,{close:v,resolution:m,editor:u,anchorElementRef:_,options:e,menuRenderFn:c,onSelectOption:r,commandPriority:d})}const Js=/((https?:\/\/(www\.)?)|(www\.))[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)/,Gs=t.createCommand("INSERT_EMBED_COMMAND");class Vs extends zs{constructor(e,i){super(e),this.title=e,this.onSelect=i.onSelect.bind(this)}}function Xs({embedConfigs:e,onOpenEmbedModalForConfig:i,getMenuOptions:n,menuRenderFn:a,menuCommandPriority:r=t.COMMAND_PRIORITY_LOW}){const[c]=V(),[l,d]=s.useState(null),[u,m]=s.useState(null),_=s.useCallback(()=>{d(null),m(null)},[]),v=s.useCallback(async i=>{const o=c.getEditorState().read(function(){const e=t.$getNodeByKey(i);if(g.$isLinkNode(e))return e.getURL()});if(void 0!==o)for(const s of e)null!=await Promise.resolve(s.parseUrl(o))&&(m(s),d(i))},[c,e]);s.useEffect(()=>p.mergeRegister(...[g.LinkNode,g.AutoLinkNode].map(e=>c.registerMutationListener(e,(...e)=>((e,{updateTags:i,dirtyLeaves:o})=>{for(const[s,t]of e)"created"===t&&i.has("paste")&&o.size<=3?v(s):s===l&&_()})(...e),{skipInitialization:!0}))),[v,c,e,l,_]),s.useEffect(()=>c.registerCommand(Gs,o=>{const s=e.find(({type:e})=>e===o);return!!s&&(i(s),!0)},t.COMMAND_PRIORITY_EDITOR),[c,e,i]);const y=s.useCallback(async function(){if(null!=u&&null!=l){const e=c.getEditorState().read(()=>{const e=t.$getNodeByKey(l);return g.$isLinkNode(e)?e:null});if(g.$isLinkNode(e)){const i=await Promise.resolve(u.parseUrl(e.__url));null!=i&&c.update(()=>{t.$getSelection()||e.selectEnd(),u.insertNode(c,i),e.isAttached()&&e.remove()})}}},[u,c,l]),h=s.useMemo(()=>null!=u&&null!=l?n(u,y,_):[],[u,y,n,l,_]),f=s.useCallback((e,i,o)=>{c.update(()=>{e.onSelect(i),o()})},[c]);return null!=l?o.jsx(Us,{nodeKey:l,onClose:_,onSelectOption:f,options:h,menuRenderFn:a,commandPriority:r}):null}function Zs({className:e,...i}){return o.jsx(T.Command,{"data-slot":"command",className:le("bg-background-presentation-form-base text-content-presentation-action-light-primary flex h-full w-full flex-col overflow-hidden rounded-md",e),...i})}function Qs({className:e,...i}){return o.jsx(T.Command.List,{"data-slot":"command-list",className:le("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto","[&::-webkit-scrollbar]:w-2","[&::-webkit-scrollbar-track]:bg-transparent","[&::-webkit-scrollbar-thumb]:rounded-full","[&::-webkit-scrollbar-thumb]:bg-background-system-body-secondary",e),...i})}function et({className:e,...i}){return o.jsx(T.Command.Group,{"data-slot":"command-group",className:le("text-content-system-global-primary [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium",e),...i})}function it({className:e,...i}){return o.jsx(T.Command.Separator,{"data-slot":"command-separator",className:le("bg-border -mx-1 h-px",e),...i})}function ot({className:e,...i}){return o.jsx(T.Command.Item,{"data-slot":"command-item",className:le("data-[selected=true]:bg-background-presentation-action-selected data-[selected=true]:text-content-system-global-primary [&_svg:not([class*='text-'])]:text-content-system-global-secondary relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...i})}function st({className:e,type:i,...s}){return o.jsx("input",{type:i,"data-slot":"input",className:le("file:text-content-system-global-primary placeholder:text-content-system-global-secondary selection:bg-background-presentation-action-selected selection:text-content-system-global-primary bg-background-system-body-primary border-border-system-global-secondary text-content-system-global-primary flex h-9 w-full min-w-0 rounded-md border px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-border-presentation-state-focus focus-visible:ring-border-presentation-state-focus/50 focus-visible:ring-[3px]","aria-invalid:ring-border-presentation-state-negative/20 aria-invalid:border-border-presentation-state-negative",e),...s})}function tt({...e}){return o.jsx(K.Root,{"data-slot":"popover",...e})}function nt({...e}){return o.jsx(K.Trigger,{"data-slot":"popover-trigger",...e})}function at({className:e,align:i="center",sideOffset:s=4,...t}){return o.jsx(K.Portal,{children:o.jsx(K.Content,{"data-slot":"popover-content",align:i,sideOffset:s,className:le("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",e),...t})})}const rt=t.createCommand("INSERT_FIGMA_COMMAND");function ct(){const[e]=V();return s.useEffect(()=>{if(!e.hasNodes([Xe]))throw new Error("FigmaPlugin: FigmaNode not registered on editor");return e.registerCommand(rt,e=>{const i=Ze(e);return p.$insertNodeToNearestRoot(i),!0},t.COMMAND_PRIORITY_EDITOR)},[e]),null}const lt=t.createCommand("INSERT_TWEET_COMMAND");function dt(){const[e]=V();return s.useEffect(()=>{if(!e.hasNodes([oi]))throw new Error("TwitterPlugin: TweetNode not registered on editor");return e.registerCommand(lt,e=>{const i=si(e);return p.$insertNodeToNearestRoot(i),!0},t.COMMAND_PRIORITY_EDITOR)},[e]),null}const gt=t.createCommand("INSERT_YOUTUBE_COMMAND");function ut(){const[e]=V();return s.useEffect(()=>{if(!e.hasNodes([ai]))throw new Error("YouTubePlugin: YouTubeNode not registered on editor");return e.registerCommand(gt,e=>{const i=ri(e);return p.$insertNodeToNearestRoot(i),!0},t.COMMAND_PRIORITY_EDITOR)},[e]),null}const mt={contentName:"Youtube Video",exampleUrl:"https://www.youtube.com/watch?v=jNQXAC9IVRw",icon:o.jsx(x.YoutubeIcon,{className:"size-4"}),insertNode:(e,i)=>{e.dispatchCommand(gt,i.id)},keywords:["youtube","video"],parseUrl:async e=>{const i=/^.*(youtu\.be\/|v\/|u\/\w\/|embed\/|watch\?v=|&v=)([^#&?]*).*/.exec(e),o=i&&11===i?.[2].length?i[2]:null;return null!=o?{id:o,url:e}:null},type:"youtube-video"},pt=[{contentName:"Tweet",exampleUrl:"https://twitter.com/jack/status/20",icon:o.jsx(x.TwitterIcon,{className:"size-4"}),insertNode:(e,i)=>{e.dispatchCommand(lt,i.id)},keywords:["tweet","twitter"],parseUrl:e=>{const i=/^https:\/\/(twitter|x)\.com\/(#!\/)?(\w+)\/status(es)*\/(\d+)/.exec(e);return null!=i?{id:i[5],url:i[1]}:null},type:"tweet"},mt,{contentName:"Figma Document",exampleUrl:"https://www.figma.com/file/LKQ4FJ4bTnCSjedbRpk931/Sample-File",icon:o.jsx(x.FigmaIcon,{className:"size-4"}),insertNode:(e,i)=>{e.dispatchCommand(rt,i.id)},keywords:["figma","figma.com","mock-up"],parseUrl:e=>{const i=/https:\/\/([\w.-]+\.)?figma.com\/(file|proto)\/([0-9a-zA-Z]{22,128})(?:\/.*)?$/.exec(e);return null!=i?{id:i[3],url:i[0]}:null},type:"figma"}];function _t({embedConfig:e,onClose:i}){const[t,n]=s.useState(""),[a]=V(),[r,c]=s.useState(null),l=s.useMemo(()=>((e,i)=>{let o;return s=>{window.clearTimeout(o),o=window.setTimeout(()=>{e(s)},i)}})(i=>{const o=Js.exec(i);null!=e&&null!=i&&null!=o?Promise.resolve(e.parseUrl(i)).then(e=>{c(e)}):null!=r&&c(null)},200),[e,r]);return o.jsx("div",{className:"",children:o.jsxs("div",{className:"space-y-4",children:[o.jsx(st,{type:"text",placeholder:e.exampleUrl,value:t,"data-test-id":`${e.type}-embed-modal-url`,onChange:e=>{const{value:i}=e.target;n(i),l(i)}}),o.jsx(ys,{children:o.jsx(Ao,{disabled:!r,onClick:()=>{null!=r&&(e.insertNode(a,r),i())},"data-test-id":`${e.type}-embed-modal-submit-btn`,children:"Embed"})})]})})}function vt(){const[e,i]=fs();return o.jsxs(o.Fragment,{children:[e,o.jsx(Xs,{embedConfigs:pt,onOpenEmbedModalForConfig:e=>{i(`Embed ${e.contentName}`,i=>o.jsx(_t,{embedConfig:e,onClose:i}))},getMenuOptions:(e,i,o)=>[new Vs("Dismiss",{onSelect:o}),new Vs(`Embed ${e.contentName}`,{onSelect:i})],menuRenderFn:(e,{selectedIndex:i,options:s,selectOptionAndCleanUp:t,setHighlightedIndex:n})=>e.current?o.jsx(tt,{open:!0,children:o.jsx(E.PopoverPortal,{container:e.current,children:o.jsxs("div",{className:"-translate-y-full transform",children:[o.jsx(nt,{}),o.jsx(at,{className:"w-[200px] p-0",align:"start",side:"right",children:o.jsx(Zs,{children:o.jsx(Qs,{children:o.jsx(et,{children:s.map((e,i)=>o.jsx(ot,{value:e.title,onSelect:()=>{t(e)},className:"flex items-center gap-2",children:e.title},e.key))})})})})]})})}):null})]})}function yt(){const{activeEditor:e}=Eo();return pt.map(i=>o.jsx(Uo,{value:i.type,onPointerUp:()=>{e.dispatchCommand(Gs,i.type)},children:o.jsxs("div",{className:"flex flex-nowrap items-center gap-1",children:[i.icon,o.jsx("span",{children:i.contentName})]})},i.type))}function ht(){const{activeEditor:e}=Eo();return o.jsx(Uo,{value:"horizontal-rule",onPointerUp:()=>e.dispatchCommand(me,void 0),children:o.jsxs("div",{className:"flex flex-nowrap items-center gap-1",children:[o.jsx(x.ScissorsIcon,{className:"size-4"}),o.jsx("span",{children:"Horizontal Rule"})]})})}function ft({className:e,...i}){return o.jsx(H.Root,{"data-slot":"label",className:le("flex items-center gap-2 text-sm leading-none font-medium select-none text-content-system-global-primary group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",e),...i})}function bt({className:e,...i}){return o.jsx(W.Root,{"data-slot":"tabs",className:le("flex flex-col gap-2",e),...i})}function jt({className:e,...i}){return o.jsx(W.List,{"data-slot":"tabs-list",className:le("bg-background-presentation-form-base text-content-system-global-secondary inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]",e),...i})}function wt({className:e,...i}){return o.jsx(W.Trigger,{"data-slot":"tabs-trigger",className:le("data-[state=active]:bg-background-system-body-primary data-[state=active]:text-content-system-global-primary focus-visible:border-border-presentation-state-focus focus-visible:ring-border-presentation-state-focus/50 focus-visible:outline-border-presentation-state-focus text-content-system-global-primary inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...i})}function xt({className:e,...i}){return o.jsx(W.Content,{"data-slot":"tabs-content",className:le("flex-1 outline-none",e),...i})}const kt=t.createCommand("INSERT_IMAGE_COMMAND");function Nt({onClick:e}){const[i,t]=s.useState(""),[n,a]=s.useState(""),r=""===i;return o.jsxs("div",{className:"grid gap-4 py-4",children:[o.jsxs("div",{className:"grid gap-2",children:[o.jsx(ft,{htmlFor:"image-url",children:"Image URL"}),o.jsx(st,{id:"image-url",placeholder:"i.e. https://source.unsplash.com/random",onChange:e=>t(e.target.value),value:i,"data-test-id":"image-modal-url-input"})]}),o.jsxs("div",{className:"grid gap-2",children:[o.jsx(ft,{htmlFor:"alt-text",children:"Alt Text"}),o.jsx(st,{id:"alt-text",placeholder:"Random unsplash image",onChange:e=>a(e.target.value),value:n,"data-test-id":"image-modal-alt-text-input"})]}),o.jsx(ys,{children:o.jsx(Ao,{type:"submit",disabled:r,onClick:()=>e({altText:n,src:i}),"data-test-id":"image-modal-confirm-btn",children:"Confirm"})})]})}function St({onClick:e}){const[i,t]=s.useState(""),[n,a]=s.useState(""),r=""===i;return o.jsxs("div",{className:"grid gap-4 py-4",children:[o.jsxs("div",{className:"grid gap-2",children:[o.jsx(ft,{htmlFor:"image-upload",children:"Image Upload"}),o.jsx(st,{id:"image-upload",type:"file",onChange:e=>(e=>{const i=new FileReader;i.onload=function(){return"string"==typeof i.result&&t(i.result),""},null!==e&&i.readAsDataURL(e[0])})(e.target.files),accept:"image/*","data-test-id":"image-modal-file-upload"})]}),o.jsxs("div",{className:"grid gap-2",children:[o.jsx(ft,{htmlFor:"alt-text",children:"Alt Text"}),o.jsx(st,{id:"alt-text",placeholder:"Descriptive alternative text",onChange:e=>a(e.target.value),value:n,"data-test-id":"image-modal-alt-text-input"})]}),o.jsx(Ao,{type:"submit",disabled:r,onClick:()=>e({altText:n,src:i}),"data-test-id":"image-modal-file-upload-btn",children:"Confirm"})]})}function Ct({activeEditor:e,onClose:i}){const t=s.useRef(!1);s.useEffect(()=>{t.current=!1;const e=e=>{t.current=e.altKey};return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}},[e]);const n=o=>{e.dispatchCommand(kt,o),i()};return o.jsxs(bt,{defaultValue:"url",children:[o.jsxs(jt,{className:"w-full",children:[o.jsx(wt,{value:"url",className:"w-full",children:"URL"}),o.jsx(wt,{value:"file",className:"w-full",children:"File"})]}),o.jsx(xt,{value:"url",children:o.jsx(Nt,{onClick:n})}),o.jsx(xt,{value:"file",children:o.jsx(St,{onClick:n})})]})}function Et({captionsEnabled:e}){const[i]=V();return s.useEffect(()=>{if(!i.hasNodes([ji]))throw new Error("ImagesPlugin: ImageNode not registered on editor");return p.mergeRegister(i.registerCommand(kt,e=>(i.update(()=>{const i=wi(e);t.$insertNodes([i]),t.$isRootOrShadowRoot(i.getParentOrThrow())&&p.$wrapNodeInElement(i,t.$createParagraphNode).selectEnd()}),!0),t.COMMAND_PRIORITY_EDITOR),i.registerCommand(t.DRAGSTART_COMMAND,e=>function(e){const i=Tt();if(!i)return!1;const o=e.dataTransfer;if(!o)return!1;const s="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",t=document.createElement("img");return t.src=s,o.setData("text/plain","_"),o.setDragImage(t,0,0),o.setData("application/x-lexical-drag",JSON.stringify({data:{altText:i.__altText,caption:i.__caption,height:i.__height,key:i.getKey(),maxWidth:i.__maxWidth,showCaption:i.__showCaption,src:i.__src,width:i.__width},type:"image"})),!0}(e),t.COMMAND_PRIORITY_HIGH),i.registerCommand(t.DRAGOVER_COMMAND,e=>function(e){if(!Tt())return!1;Ot(e)||e.preventDefault();return!0}(e),t.COMMAND_PRIORITY_LOW),i.registerCommand(t.DROP_COMMAND,e=>function(e,i){const o=Tt();if(!o)return!1;const s=function(e){const i=e.dataTransfer?.getData("application/x-lexical-drag");if(!i)return null;const{type:o,data:s}=JSON.parse(i);if("image"!==o)return null;return s}(e);if(!s)return!1;e.preventDefault(),Ot(e)&&(i.update(()=>{const i=function(e){let i;const o=e.target,s=null==o?null:9===o.nodeType?o.defaultView:o.ownerDocument.defaultView,t=(e=>Oe?(e||window).getSelection():null)(s);if(document.caretRangeFromPoint)i=document.caretRangeFromPoint(e.clientX,e.clientY);else{if(!e.rangeParent||null===t)throw Error("Cannot get the selection when dragging");t.collapse(e.rangeParent,e.rangeOffset||0),i=t.getRangeAt(0)}return i}(e);o.remove();const s=t.$createRangeSelection();null!=i&&s.applyDOMRange(i),t.$setSelection(s)}),i.dispatchCommand(kt,s));return!0}(e,i),t.COMMAND_PRIORITY_HIGH))},[e,i]),null}function Tt(){const e=t.$getSelection();if(!t.$isNodeSelection(e))return null;const i=e.getNodes()[0];return xi(i)?i:null}function Ot(e){const i=e.target;return!!(i&&i instanceof HTMLElement&&!i.closest("code, span.editor-image")&&i.parentElement&&i.parentElement.closest("div.ContentEditable__root"))}function Pt(){const{activeEditor:e,showModal:i}=Eo();return o.jsx(Uo,{value:"image",onPointerUp:()=>{i("Insert Image",i=>o.jsx(Ct,{activeEditor:e,onClose:i}))},children:o.jsxs("div",{className:"flex flex-nowrap items-center gap-1",children:[o.jsx(x.ImageIcon,{className:"size-4"}),o.jsx("span",{children:"Image"})]})})}function At({className:e,...i}){return o.jsx(Y.Root,{"data-slot":"checkbox",className:le("peer border-border-system-global-secondary bg-background-system-body-primary data-[state=checked]:bg-background-presentation-action-primary data-[state=checked]:text-content-presentation-action-light-primary data-[state=checked]:border-border-presentation-action-primary focus-visible:border-border-presentation-state-focus focus-visible:ring-border-presentation-state-focus/50 aria-invalid:ring-border-presentation-state-negative/20 aria-invalid:border-border-presentation-state-negative size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",e),...i,children:o.jsx(Y.Indicator,{"data-slot":"checkbox-indicator",className:"flex items-center justify-center text-current transition-none",children:o.jsx(x.CheckIcon,{className:"size-3.5"})})})}const Rt=t.createCommand("INSERT_INLINE_IMAGE_COMMAND");function Mt({activeEditor:e,onClose:i}){const t=s.useRef(!1),[n,a]=s.useState(""),[r,c]=s.useState(""),[l,d]=s.useState(!1),[g,u]=s.useState("left"),m=""===n;s.useEffect(()=>{t.current=!1;const e=e=>{t.current=e.altKey};return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}},[e]);return o.jsxs("div",{className:"grid gap-4 py-4",children:[o.jsxs("div",{className:"grid gap-2",children:[o.jsx(ft,{htmlFor:"image",children:"Image Upload"}),o.jsx(st,{id:"image",type:"file",onChange:e=>(e=>{const i=new FileReader;i.onload=function(){return"string"==typeof i.result&&a(i.result),""},null!==e&&i.readAsDataURL(e[0])})(e.target.files),accept:"image/*","data-test-id":"image-modal-file-upload"})]}),o.jsxs("div",{className:"grid gap-2",children:[o.jsx(ft,{htmlFor:"alt-text",children:"Alt Text"}),o.jsx(st,{id:"alt-text",placeholder:"Descriptive alternative text",onChange:e=>c(e.target.value),value:r,"data-test-id":"image-modal-alt-text-input"})]}),o.jsxs("div",{className:"grid gap-2",children:[o.jsx(ft,{htmlFor:"position",children:"Position"}),o.jsxs(qo,{defaultValue:"left",onValueChange:e=>u(e),children:[o.jsx(Wo,{id:"position",children:o.jsx(Ho,{placeholder:"Select position"})}),o.jsxs(Yo,{children:[o.jsx(Uo,{value:"left",children:"Left"}),o.jsx(Uo,{value:"right",children:"Right"}),o.jsx(Uo,{value:"full",children:"Full Width"})]})]})]}),o.jsxs("div",{className:"flex items-center space-x-2",children:[o.jsx(At,{id:"caption",checked:l,onCheckedChange:e=>d(e)}),o.jsx(ft,{htmlFor:"caption",children:"Show Caption"})]}),o.jsx(Ao,{"data-test-id":"image-modal-file-upload-btn",disabled:m,onClick:()=>(()=>{const o={altText:r,position:g,showCaption:l,src:n};e.dispatchCommand(Rt,o),i()})(),children:"Confirm"})]})}function Dt(){const[e]=V();return s.useEffect(()=>{if(!e.hasNodes([Si]))throw new Error("ImagesPlugin: ImageNode not registered on editor");return p.mergeRegister(e.registerCommand(Rt,i=>(e.update(()=>{const e=Ci(i);t.$insertNodes([e]),t.$isRootOrShadowRoot(e.getParentOrThrow())&&p.$wrapNodeInElement(e,t.$createParagraphNode).selectEnd()}),!0),t.COMMAND_PRIORITY_EDITOR),e.registerCommand(t.DRAGSTART_COMMAND,e=>function(e){const i=Bt();if(!i)return!1;const o=e.dataTransfer;if(!o)return!1;const s="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",t=document.createElement("img");return t.src=s,o.setData("text/plain","_"),o.setDragImage(t,0,0),o.setData("application/x-lexical-drag",JSON.stringify({data:{altText:i.__altText,caption:i.__caption,height:i.__height,key:i.getKey(),showCaption:i.__showCaption,src:i.__src,width:i.__width},type:"image"})),!0}(e),t.COMMAND_PRIORITY_HIGH),e.registerCommand(t.DRAGOVER_COMMAND,e=>function(e){if(!Bt())return!1;Ft(e)||e.preventDefault();return!0}(e),t.COMMAND_PRIORITY_LOW),e.registerCommand(t.DROP_COMMAND,i=>function(e,i){const o=Bt();if(!o)return!1;const s=function(e){const i=e.dataTransfer?.getData("application/x-lexical-drag");if(!i)return null;const{type:o,data:s}=JSON.parse(i);if("image"!==o)return null;return s}(e);if(!s)return!1;e.preventDefault(),Ft(e)&&(i.update(()=>{const i=function(e){let i;const o=e.target,s=null==o?null:9===o.nodeType?o.defaultView:o.ownerDocument.defaultView,t=(e=>Oe?(e||window).getSelection():null)(s);if(document.caretRangeFromPoint)i=document.caretRangeFromPoint(e.clientX,e.clientY);else{if(!e.rangeParent||null===t)throw Error("Cannot get the selection when dragging");t.collapse(e.rangeParent,e.rangeOffset||0),i=t.getRangeAt(0)}return i}(e);o.remove();const s=t.$createRangeSelection();null!=i&&s.applyDOMRange(i),t.$setSelection(s)}),i.dispatchCommand(Rt,s));return!0}(i,e),t.COMMAND_PRIORITY_HIGH))},[e]),null}function Bt(){const e=t.$getSelection();if(!t.$isNodeSelection(e))return null;const i=e.getNodes()[0];return Ei(i)?i:null}function Ft(e){const i=e.target;return!!(i&&i instanceof HTMLElement&&!i.closest("code, span.editor-image")&&i.parentElement&&i.parentElement.closest("div.ContentEditable__root"))}function It(){const{activeEditor:e,showModal:i}=Eo();return o.jsx(Uo,{value:"inline-image",onPointerUp:()=>i("Insert Inline Image",i=>o.jsx(Mt,{activeEditor:e,onClose:i})),children:o.jsxs("div",{className:"flex flex-nowrap items-center gap-1",children:[o.jsx(x.FileImageIcon,{className:"size-4"}),o.jsx("span",{children:"Inline Image"})]})})}const $t=t.createCommand();function Lt(){const[e]=V();return s.useEffect(()=>{if(!e.hasNodes([qi]))throw new Error("PageBreakPlugin: PageBreakNode is not registered on editor");return p.mergeRegister(e.registerCommand($t,()=>{const e=t.$getSelection();if(!t.$isRangeSelection(e))return!1;if(null!==e.focus.getNode()){const e=Hi();p.$insertNodeToNearestRoot(e)}return!0},t.COMMAND_PRIORITY_EDITOR))},[e]),null}function zt(){const{activeEditor:e}=Eo();return o.jsx(Uo,{value:"page-break",onPointerUp:()=>e.dispatchCommand($t,void 0),children:o.jsxs("div",{className:"flex flex-nowrap items-center gap-1",children:[o.jsx(x.SquareSplitVerticalIcon,{className:"size-4"}),o.jsx("span",{children:"Page Break"})]})})}const qt=t.createCommand("INSERT_POLL_COMMAND");function Kt({activeEditor:e,onClose:i}){const[t,n]=s.useState("");return o.jsxs(o.Fragment,{children:[o.jsxs("div",{children:[o.jsx(ft,{children:"Question"}),o.jsx(st,{onChange:e=>n(e.target.value),value:t})]}),o.jsx(ys,{children:o.jsx(Ao,{disabled:""===t.trim(),onClick:()=>{e.dispatchCommand(qt,t),i()},children:"Confirm"})})]})}function Ht(){const[e]=V();return s.useEffect(()=>{if(!e.hasNodes([Gi]))throw new Error("PollPlugin: PollNode not registered on editor");return e.registerCommand(qt,e=>{const i=Vi(e,[Yi(),Yi()]);return t.$insertNodes([i]),t.$isRootOrShadowRoot(i.getParentOrThrow())&&p.$wrapNodeInElement(i,t.$createParagraphNode).selectEnd(),!0},t.COMMAND_PRIORITY_EDITOR)},[e]),null}function Wt(){const{activeEditor:e,showModal:i}=Eo();return o.jsx(Uo,{value:"poll",onPointerUp:()=>i("Insert Poll",i=>o.jsx(Kt,{activeEditor:e,onClose:i})),children:o.jsxs("div",{className:"flex flex-nowrap items-center gap-1",children:[o.jsx(x.ListChecksIcon,{className:"size-4"}),o.jsx("span",{children:"Poll"})]})})}function Yt({activeEditor:e,onClose:i}){const[t,n]=s.useState("5"),[a,r]=s.useState("5"),[c,l]=s.useState(!0);s.useEffect(()=>{const e=Number(t),i=Number(a);l(!(e&&e>0&&e<=500&&i&&i>0&&i<=50))},[t,a]);return o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"grid gap-4",children:[o.jsxs("div",{className:"grid gap-2",children:[o.jsx(ft,{htmlFor:"rows",children:"Number of rows"}),o.jsx(st,{id:"rows",placeholder:"# of rows (1-500)",onChange:e=>n(e.target.value),value:t,"data-test-id":"table-modal-rows",type:"number"})]}),o.jsxs("div",{className:"grid gap-2",children:[o.jsx(ft,{htmlFor:"columns",children:"Number of columns"}),o.jsx(st,{id:"columns",placeholder:"# of columns (1-50)",onChange:e=>r(e.target.value),value:a,"data-test-id":"table-modal-columns",type:"number"})]})]}),o.jsx(ys,{"data-test-id":"table-model-confirm-insert",children:o.jsx(Ao,{disabled:c,onClick:()=>{e.dispatchCommand(v.INSERT_TABLE_COMMAND,{columns:a,rows:t}),i()},children:"Confirm"})})]})}function Ut(){const{activeEditor:e,showModal:i}=Eo();return o.jsx(Uo,{value:"table",onPointerUp:()=>i("Insert Table",i=>o.jsx(Yt,{activeEditor:e,onClose:i})),children:o.jsxs("div",{className:"flex flex-nowrap items-center gap-1",children:[o.jsx(x.TableIcon,{className:"size-4"}),o.jsx("span",{children:"Table"})]})})}function Jt(){const{activeEditor:e}=Eo(),i=s.useCallback(()=>{e.update(()=>{const e=t.$getSelection();if(t.$isRangeSelection(e)||v.$isTableSelection(e)){const i=e.anchor,o=e.focus,s=e.getNodes(),n=e.extract();if(i.key===o.key&&i.offset===o.offset)return;s.forEach((e,a)=>{if(t.$isTextNode(e)){let r=e;0===a&&0!==i.offset&&(r=r.splitText(i.offset)[1]||r),a===s.length-1&&(r=r.splitText(o.offset)[0]||r);const c=n[0];1===s.length&&t.$isTextNode(c)&&(r=c),""!==r.__style&&r.setStyle(""),0!==r.__format&&(r.setFormat(0),p.$getNearestBlockElementAncestorOrThrow(r).setFormat("")),e=r}else _.$isHeadingNode(e)||_.$isQuoteNode(e)?e.replace(t.$createParagraphNode(),!0):Je(e)&&e.setFormat("")})}})},[e]);return o.jsx(Ao,{size:"M",variant:"BlueContStyle",className:"h-8 w-8",onClick:i,children:o.jsx("i",{className:"ri-format-clear"})})}t.createCommand("INSERT_NEW_TABLE_COMMAND"),s.createContext({cellEditorConfig:null,cellEditorPlugins:null,set:()=>{}});const Gt=function(){const e=[];for(const[i,o]of Object.entries(l.CODE_LANGUAGE_FRIENDLY_NAME_MAP))e.push([i,o]);return e}();function Vt(){const{activeEditor:e}=Eo(),[i,n]=s.useState(""),[a,r]=s.useState(null);To(i=>{if(t.$isRangeSelection(i)){const o=i.anchor.getNode();let s="root"===o.getKey()?o:p.$findMatchingParent(o,e=>{const i=e.getParent();return null!==i&&t.$isRootOrShadowRoot(i)});null===s&&(s=o.getTopLevelElementOrThrow());const a=s.getKey();if(null!==e.getElementByKey(a)&&(r(a),!u.$isListNode(s)&&l.$isCodeNode(s))){const e=s.getLanguage();return void n(e?l.CODE_LANGUAGE_MAP[e]||e:"")}}});const c=s.useCallback(i=>{e.update(()=>{if(null!==a){const e=t.$getNodeByKey(a);l.$isCodeNode(e)&&e.setLanguage(i)}})},[e,a]);return o.jsxs(qo,{children:[o.jsx(Wo,{className:"h-8 [&_span]:w-fit [&_span]:text-content-presentation-action-light-primary w-fit justify-start gap-1 [&_p]:flex [&_p]:items-center [&_p]:gap-2 [&_p]:h-full [&_p]:m-0 [&_p]:w-fit",children:o.jsx("span",{className:"flex h-full text-center shrink-0 items-center w-full",children:l.getLanguageFriendlyName(i)})}),o.jsx(Yo,{children:Gt.map(([e,i])=>o.jsx(Uo,{value:e,onPointerUp:()=>{c(e)},children:i},e))})]})}const Xt=N.cva("inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium hover:bg-background-presentation-action-hover hover:text-content-system-global-primary disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-background-presentation-action-selected data-[state=on]:text-content-system-global-primary [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 focus-visible:border-border-presentation-state-focus focus-visible:ring-border-presentation-state-focus/50 focus-visible:ring-[3px] outline-none transition-[color,box-shadow] aria-invalid:ring-border-presentation-state-negative/20 aria-invalid:border-border-presentation-state-negative whitespace-nowrap",{variants:{variant:{default:"bg-transparent",outline:"border border-border-system-global-secondary bg-transparent shadow-xs hover:bg-background-presentation-action-hover hover:text-content-system-global-primary",BlueContStyle:["text-content-presentation-action-light-primary","border-transparent bg-transparent","hover:bg-background-presentation-action-contstyle-hover","hover:text-content-presentation-action-information-hover","focus:lg:border focus:lg:border-border-presentation-state-focus","focus:lg:bg-background-presentation-action-borderstyle","active:bg-background-presentation-action-contstyle-hover active:text-content-presentation-action-information-hover","data-[state=on]:bg-background-presentation-action-contstyle-hover data-[state=on]:text-content-presentation-action-information-hover"]},size:{default:"h-9 px-2 min-w-9",sm:"h-8 px-1.5 min-w-8",lg:"h-10 px-2.5 min-w-10"}},defaultVariants:{variant:"default",size:"default"}}),Zt=I.createContext({size:"default",variant:"default"}),Qt=I.forwardRef(({className:e,variant:i,size:s,children:t,...n},a)=>o.jsx(U.Root,{ref:a,className:le("flex items-center justify-center gap-1",e),...n,children:o.jsx(Zt.Provider,{value:{variant:i,size:s},children:t})}));Qt.displayName=U.Root.displayName;const en=I.forwardRef(({className:e,children:i,variant:s,size:t,...n},a)=>{const r=I.useContext(Zt);return o.jsx(U.Item,{ref:a,className:le(Xt({variant:r.variant||s,size:r.size||t}),e),...n,children:i})});function on(e){const i=e.anchor,o=e.focus,s=e.anchor.getNode(),t=e.focus.getNode();if(s===t)return s;return e.isBackward()?y.$isAtNodeEnd(o)?s:t:y.$isAtNodeEnd(i)?s:t}en.displayName=U.Item.displayName;const sn={left:{icon:o.jsx("i",{className:"ri-align-left"}),iconRTL:"left-align",name:"Left Align"},center:{icon:o.jsx("i",{className:"ri-align-center"}),iconRTL:"center-align",name:"Center Align"},right:{icon:o.jsx("i",{className:"ri-align-right"}),iconRTL:"right-align",name:"Right Align"},justify:{icon:o.jsx("i",{className:"ri-align-justify"}),iconRTL:"justify-align",name:"Justify Align"}};function tn(){const{activeEditor:e}=Eo(),[i,n]=s.useState("left");To(e=>{if(t.$isRangeSelection(e)){const i=on(e),o=i.getParent();let s;g.$isLinkNode(o)&&(s=p.$findMatchingParent(i,e=>t.$isElementNode(e)&&!e.isInline())),n(t.$isElementNode(s)?s.getFormatType():t.$isElementNode(i)?i.getFormatType():o?.getFormatType()||"left")}});return o.jsxs(Qt,{type:"single",value:i,defaultValue:i,onValueChange:i=>{i&&(n(i),"indent"===i?e.dispatchCommand(t.INDENT_CONTENT_COMMAND,void 0):"outdent"===i?e.dispatchCommand(t.OUTDENT_CONTENT_COMMAND,void 0):e.dispatchCommand(t.FORMAT_ELEMENT_COMMAND,i))},className:"flex gap-1",variant:"BlueContStyle",children:[Object.entries(sn).map(([e,i])=>o.jsx(en,{value:e,variant:"BlueContStyle","aria-label":i.name,size:"sm",className:"h-8 w-8 p-0 ",children:i.icon},e)),o.jsx(No,{orientation:"vertical",className:"h-8 bg-border-presentation-global-primary"}),o.jsx(en,{value:"outdent","aria-label":"Outdent",variant:"BlueContStyle",size:"sm",className:"h-8 w-8 ",children:o.jsx("i",{className:"ri-indent-decrease"})}),o.jsx(en,{value:"indent",variant:"BlueContStyle","aria-label":"Indent",size:"sm",className:"h-8 w-8 ",children:o.jsx("i",{className:"ri-indent-increase"})})]})}function nn({disabled:e=!1,stopCloseOnClickSelf:i=!0,color:s,onChange:t,icon:n,label:a,...r}){return o.jsxs(tt,{modal:!0,children:[o.jsx(nt,{asChild:!0,disabled:e,children:o.jsx(Ao,{size:"M",variant:"BlueContStyle",className:"h-8 w-8",...r,children:o.jsx("span",{children:n})})}),o.jsxs(at,{className:"w-[200px] p-0",children:[o.jsx(M.HexColorPicker,{color:s,onChange:e=>t?.(e,!1)}),o.jsx(st,{maxLength:7,onChange:e=>{e.stopPropagation(),t?.(e?.currentTarget?.value,!1)},value:s})]})]})}function an(){const{activeEditor:e}=Eo(),[i,n]=s.useState("var(--background-system-body-primary)");To(e=>{t.$isRangeSelection(e)&&n(y.$getSelectionStyleValueForProperty(e,"background-color","var(--background-system-body-primary)"))});const a=s.useCallback((i,o)=>{e.update(()=>{const e=t.$getSelection();null!==e&&y.$patchStyleText(e,i)},o?{tag:"historic"}:{})},[e]),r=s.useCallback((e,i)=>{a({"background-color":e},i)},[a]);return o.jsx(nn,{icon:o.jsx(x.PaintBucketIcon,{className:"size-4"}),color:i,onChange:r,title:"text background color"})}function rn(){const{activeEditor:e}=Eo(),[i,n]=s.useState("var(--content-system-global-primary)");To(e=>{t.$isRangeSelection(e)&&n(y.$getSelectionStyleValueForProperty(e,"color","var(--content-system-global-primary)"))});const a=s.useCallback((i,o)=>{e.update(()=>{const e=t.$getSelection();null!==e&&y.$patchStyleText(e,i)},o?{tag:"historic"}:{})},[e]),r=s.useCallback((e,i)=>{a({color:e},i)},[a]);return o.jsx(nn,{icon:o.jsx("i",{className:"ri-font-color"}),color:i,onChange:r,title:"text color"})}const cn=["Arial","Verdana","Times New Roman","Georgia","Courier New","Trebuchet MS"];function ln(){const e="font-family",[i,n]=s.useState("Arial"),{activeEditor:a}=Eo();To(e=>{t.$isRangeSelection(e)&&n(y.$getSelectionStyleValueForProperty(e,"font-family","Arial"))});const r=s.useCallback(i=>{a.update(()=>{const o=t.$getSelection();null!==o&&y.$patchStyleText(o,{[e]:i})})},[a,e]);return o.jsxs(qo,{value:i,onValueChange:e=>{n(e),r(e)},"aria-label":"Formatting options for font family",children:[o.jsxs(Wo,{className:"h-8 [&_span]:w-fit [&_span]:text-content-presentation-action-light-primary w-fit justify-start gap-1 [&_p]:flex [&_p]:items-center [&_p]:gap-2 [&_p]:h-full [&_p]:m-0 [&_p]:w-fit",children:[o.jsx(x.TypeIcon,{className:"size-4"}),o.jsx("span",{className:"flex h-full text-center shrink-0 items-center w-full",children:i})]}),o.jsx(Yo,{children:cn.map(e=>o.jsx(Uo,{value:e,children:e},e))})]})}const dn={bold:"ri-bold",italic:"ri-italic",underline:"ri-underline",strikethrough:"ri-strikethrough",code:"ri-code-s-slash-line"};function gn({format:e}){const{activeEditor:i}=Eo(),[n,a]=s.useState(!1);To(i=>{(t.$isRangeSelection(i)||v.$isTableSelection(i))&&a(i.hasFormat(e))});const r=dn[e];return o.jsx(Ao,{"aria-label":`Button ${e}`,variant:"BlueContStyle",size:"M",onClick:()=>{i.dispatchCommand(t.FORMAT_TEXT_COMMAND,e)},children:o.jsx("i",{className:`${r} `})})}function un(){const e="font-size",[i,n]=s.useState(16),{activeEditor:a}=Eo();To(e=>{if(t.$isRangeSelection(e)){const i=y.$getSelectionStyleValueForProperty(e,"font-size","16px");n(parseInt(i)||16)}});const r=s.useCallback(i=>{const o=Math.min(Math.max(i,1),72);a.update(()=>{const i=t.$getSelection();null!==i&&y.$patchStyleText(i,{[e]:`${o}px`})}),n(o)},[a,e]);return o.jsx("div",{className:"flex items-center gap-1",children:o.jsxs("div",{className:"flex items-center gap-1",children:[o.jsx(Ao,{variant:"BlueContStyle",size:"M",onClick:()=>r(i-1),disabled:i<=1,children:o.jsx("i",{className:"ri-subtract-line"})}),o.jsx(st,{value:i,onChange:e=>r(parseInt(e.target.value)||16),className:"h-8 w-12 text-center",min:1,max:72}),o.jsx(Ao,{variant:"BlueContStyle",size:"M",onClick:()=>r(i+1),disabled:i>=72,children:o.jsx("i",{className:"ri-add-fill"})})]})})}function mn(){const[e]=V(),{activeEditor:i,$updateToolbar:n}=Eo(),[a,r]=s.useState(e.isEditable()),[c,l]=s.useState(!1),[d,g]=s.useState(!1);return s.useEffect(()=>p.mergeRegister(e.registerEditableListener(e=>{r(e)}),i.registerUpdateListener(({editorState:e})=>{e.read(()=>{n()})}),i.registerCommand(t.CAN_UNDO_COMMAND,e=>(l(e),!1),t.COMMAND_PRIORITY_CRITICAL),i.registerCommand(t.CAN_REDO_COMMAND,e=>(g(e),!1),t.COMMAND_PRIORITY_CRITICAL)),[n,i,e]),o.jsxs("div",{className:"flex items-center gap-1",children:[o.jsx(Ao,{disabled:!c||!a,onClick:()=>{i.dispatchCommand(t.UNDO_COMMAND,void 0)},title:"Undo (⌘Z)",type:"button","aria-label":"Undo",size:"M",className:"h-8 w-8",variant:"BlueContStyle",children:o.jsx("i",{className:"ri-arrow-go-back-line"})}),o.jsx(Ao,{disabled:!d||!a,onClick:()=>{i.dispatchCommand(t.REDO_COMMAND,void 0)},title:"Redo (⇧⌘Z)",type:"button","aria-label":"Redo",size:"M",className:"h-8 w-8",variant:"BlueContStyle",children:o.jsx("i",{className:"ri-arrow-go-forward-line"})})]})}const pn=new Set(["http:","https:","mailto:","sms:","tel:"]);function _n(e){try{const i=new URL(e);if(!pn.has(i.protocol))return"about:blank"}catch{return e}return e}const vn=new RegExp(/((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=+$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=+$,\w]+@)[A-Za-z0-9.-]+)((?:\/[+~%/.\w-_]*)?\??(?:[-+=&;%@.\w_]*)#?(?:[\w]*))?)/);function yn(e){return"https://"===e||vn.test(e)}function hn(){const{activeEditor:e}=Eo(),{setIsLinkEditMode:i}=ne(),[n,a]=s.useState(!1);To(e=>{if(t.$isRangeSelection(e)){const i=on(e),o=i.getParent();g.$isLinkNode(o)||g.$isLinkNode(i)?a(!0):a(!1)}}),s.useEffect(()=>e.registerCommand(t.KEY_MODIFIER_COMMAND,o=>{const s=o,{code:t,ctrlKey:a,metaKey:r}=s;if("KeyK"===t&&(a||r)){let o;return s.preventDefault(),n?(i(!1),o=null):(i(!0),o=_n("https://")),e.dispatchCommand(g.TOGGLE_LINK_COMMAND,o)}return!1},t.COMMAND_PRIORITY_NORMAL),[e,n,i]);const r=s.useCallback(()=>{n?(i(!1),e.dispatchCommand(g.TOGGLE_LINK_COMMAND,null)):(i(!0),e.dispatchCommand(g.TOGGLE_LINK_COMMAND,_n("https://")))},[e,n,i]);return o.jsx(Ao,{size:"M",variant:"BlueContStyle","aria-label":"Button link",onClick:r,children:o.jsx("i",{className:"ri-link"})})}function fn(){const{activeEditor:e}=Eo(),[i,n]=s.useState(!1),[a,r]=s.useState(!1);return To(e=>{(t.$isRangeSelection(e)||v.$isTableSelection(e))&&(n(e.hasFormat("subscript")),r(e.hasFormat("superscript")))}),o.jsxs(Qt,{type:"single",variant:"BlueContStyle",defaultValue:i?"subscript":a?"superscript":"",children:[o.jsx(en,{value:"subscript",variant:"BlueContStyle","aria-label":"Toggle subscript",onClick:()=>{e.dispatchCommand(t.FORMAT_TEXT_COMMAND,"subscript")},size:"sm",className:"h-8 w-8",children:o.jsx("i",{className:"ri-subscript"})}),o.jsx(en,{value:"superscript",variant:"BlueContStyle","aria-label":"Toggle superscript",onClick:()=>{e.dispatchCommand(t.FORMAT_TEXT_COMMAND,"superscript")},size:"sm",className:"h-8 w-8",children:o.jsx("i",{className:"ri-superscript"})})]})}function bn(e,i=e=>e){return o=>{const s=e.exec(o);return null===s?null:{index:s.index,length:s[0].length,text:s[0],url:i(s[0])}}}function jn(e,i){for(let o=0;o<i.length;o++){const s=i[o](e);if(s)return s}return null}const wn=/[.,;\s]/;function xn(e){return wn.test(e)}function kn(e){return xn(e[e.length-1])}function Nn(e){return xn(e[0])}function Sn(e){let i=e.getPreviousSibling();return t.$isElementNode(i)&&(i=i.getLastDescendant()),null===i||t.$isLineBreakNode(i)||t.$isTextNode(i)&&kn(i.getTextContent())}function Cn(e){let i=e.getNextSibling();return t.$isElementNode(i)&&(i=i.getFirstDescendant()),null===i||t.$isLineBreakNode(i)||t.$isTextNode(i)&&Nn(i.getTextContent())}function En(e,i,o,s){return!!(e>0?xn(o[e-1]):Sn(s[0]))&&(i<o.length?xn(o[i]):Cn(s[s.length-1]))}function Tn(e,i,o){const s=[],t=[],n=[];let a=0,r=0;const c=[...e];for(;c.length>0;){const e=c[0],l=e.getTextContent().length,d=r;r+l<=i?(s.push(e),a+=l):d>=o?n.push(e):t.push(e),r+=l,c.shift()}return[a,s,t,n]}function On(e,i,o,s){const n=g.$createAutoLinkNode(s.url,s.attributes);if(1===e.length){let a,r=e[0];0===i?[a,r]=r.splitText(o):[,a,r]=r.splitText(i,o);const c=t.$createTextNode(s.text);return c.setFormat(a.getFormat()),c.setDetail(a.getDetail()),c.setStyle(a.getStyle()),n.append(c),a.replace(n),r}if(e.length>1){const s=e[0];let a,r=s.getTextContent().length;0===i?a=s:[,a]=s.splitText(i);const c=[];let l;for(let i=1;i<e.length;i++){const s=e[i],t=s.getTextContent().length,n=r;if(n<o)if(r+t<=o)c.push(s);else{const[e,i]=s.splitText(o-n);c.push(e),l=i}r+=t}const d=t.$getSelection(),g=d?d.getNodes().find(t.$isTextNode):void 0,u=t.$createTextNode(a.getTextContent());return u.setFormat(a.getFormat()),u.setDetail(a.getDetail()),u.setStyle(a.getStyle()),n.append(u,...c),g&&g===a&&(t.$isRangeSelection(d)?u.select(d.anchor.offset,d.focus.offset):t.$isNodeSelection(d)&&u.select(0,u.getTextContent().length)),a.replace(n),l}}function Pn(e,i,o){const s=e.getChildren(),n=s.length;for(let l=0;l<n;l++){const i=s[l];if(!t.$isTextNode(i)||!i.isSimpleText())return An(e),void o(null,e.getURL())}const a=e.getTextContent(),r=jn(a,i);if(null===r||r.text!==a)return An(e),void o(null,e.getURL());if(!Sn(e)||!Cn(e))return An(e),void o(null,e.getURL());const c=e.getURL();if(c!==r.url&&(e.setURL(r.url),o(r.url,c)),r.attributes){const i=e.getRel();i!==r.attributes.rel&&(e.setRel(r.attributes.rel||null),o(r.attributes.rel||null,i));const s=e.getTarget();s!==r.attributes.target&&(e.setTarget(r.attributes.target||null),o(r.attributes.target||null,s))}}function An(e){const i=e.getChildren();for(let o=i.length-1;o>=0;o--)e.insertAfter(i[o]);return e.remove(),i.map(e=>e.getLatest())}function Rn({matchers:e,onChange:i}){const[o]=V();return n=o,a=e,r=i,s.useEffect(()=>{n.hasNodes([g.AutoLinkNode])||function(e,...i){const o=new URL("https://lexical.dev/docs/error"),s=new URLSearchParams;s.append("code",e);for(const t of i)s.append("v",t);throw o.search=s.toString(),Error(`Minified Lexical error #${e}; visit ${o.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}(77);const e=(e,i)=>{r&&r(e,i)};return p.mergeRegister(n.registerNodeTransform(t.TextNode,i=>{const o=i.getParentOrThrow(),s=i.getPreviousSibling();g.$isAutoLinkNode(o)&&!o.getIsUnlinked()?Pn(o,a,e):g.$isLinkNode(o)||(!i.isSimpleText()||!Nn(i.getTextContent())&&g.$isAutoLinkNode(s)||function(e,i,o){let s=[...e];const t=s.map(e=>e.getTextContent()).join("");let n,a=t,r=0;for(;(n=jn(a,i))&&null!==n;){const e=n.index,i=e+n.length;if(En(r+e,r+i,t,s)){const[t,,a,c]=Tn(s,r+e,r+i),l=On(a,r+e-t,r+i-t,n);s=l?[l,...c]:c,o(n.url,null),r=0}else r+=i;a=a.substring(i)}}(function(e){const i=[e];let o=e.getNextSibling();for(;null!==o&&t.$isTextNode(o)&&o.isSimpleText()&&(i.push(o),!/[\s]/.test(o.getTextContent()));)o=o.getNextSibling();return i}(i),a,e),function(e,i,o){const s=e.getPreviousSibling(),t=e.getNextSibling(),n=e.getTextContent();var a;!g.$isAutoLinkNode(s)||s.getIsUnlinked()||Nn(n)&&(a=n,!(s.isEmailURI()?/^\.[a-zA-Z]{2,}/.test(a):/^\.[a-zA-Z0-9]{1,}/.test(a)))||(s.append(e),Pn(s,i,o),o(null,s.getURL())),!g.$isAutoLinkNode(t)||t.getIsUnlinked()||kn(n)||(An(t),Pn(t,i,o),o(null,t.getURL()))}(i,a,e))}),n.registerCommand(g.TOGGLE_LINK_COMMAND,e=>{const i=t.$getSelection();return!(null!==e||!t.$isRangeSelection(i)||(i.extract().forEach(e=>{const i=e.getParent();if(g.$isAutoLinkNode(i))return i.setIsUnlinked(!i.getIsUnlinked()),i.markDirty(),!0}),1))},t.COMMAND_PRIORITY_LOW))},[n,a,r]),null;var n,a,r}const Mn=[bn(/((https?:\/\/(www\.)?)|(www\.))[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)(?<![-.+():%])/,e=>e.startsWith("http")?e:`https://${e}`),bn(/(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))/,e=>`mailto:${e}`)];function Dn(){return o.jsx(Rn,{matchers:Mn})}function Bn(e,i,o){const t=s.useRef(null);return t.current=e,s.useMemo(()=>D.debounce((...e)=>{t.current&&t.current(...e)},i,{maxWait:o}),[i,o])}function Fn({editor:e,getCodeDOMNode:i}){const[n,a]=s.useState(!1),r=Bn(()=>{a(!1)},1e3);return o.jsx("button",{className:"flex shrink-0 cursor-pointer items-center rounded border border-transparent bg-none p-1 uppercase text-content-system-global-primary/50",onClick:async function(){const o=i();if(!o)return;let s="";e.update(()=>{const e=t.$getNearestNodeFromDOMNode(o);l.$isCodeNode(e)&&(s=e.getTextContent());const i=t.$getSelection();t.$setSelection(i)});try{await navigator.clipboard.writeText(s),a(!0),r()}catch(n){console.error("Failed to copy: ",n)}},"aria-label":"copy",children:n?o.jsx(x.CircleCheckIcon,{className:"size-4"}):o.jsx(x.CopyIcon,{className:"size-4"})})}function In({anchorElem:e}){const[i]=V(),[n,a]=s.useState(""),[r,c]=s.useState(!1),[d,g]=s.useState(!1),[u,m]=s.useState({right:"0",top:"0"}),p=s.useRef(new Set),_=s.useRef(null);const v=Bn(o=>{const{codeDOMNode:s,isOutside:n}=function(e){const i=e.target;if(i&&i instanceof HTMLElement){const e=i.closest("code.EditorTheme__code");return{codeDOMNode:e,isOutside:!(e||i.closest("div.code-action-menu-container"))}}return{codeDOMNode:null,isOutside:!0}}(o);if(n)return void c(!1);if(!s)return;_.current=s;let r=null,d="";if(i.update(()=>{const e=t.$getNearestNodeFromDOMNode(s);l.$isCodeNode(e)&&(r=e,d=r.getLanguage()||"")}),r){const{y:i,right:o}=e.getBoundingClientRect(),{y:t,right:n}=s.getBoundingClientRect();a(d),c(!0),m({right:o-n+8+"px",top:t-i+"px"})}},50,1e3);s.useEffect(()=>{if(d)return document.addEventListener("mousemove",v),()=>{c(!1),v.cancel(),document.removeEventListener("mousemove",v)}},[d,v]),s.useEffect(()=>i.registerMutationListener(l.CodeNode,e=>{i.getEditorState().read(()=>{for(const[i,o]of Array.from(e))switch(o){case"created":p.current.add(i);break;case"destroyed":p.current.delete(i)}}),g(p.current.size>0)},{skipInitialization:!1}),[i]);const y=l.getLanguageFriendlyName(n);return o.jsx(o.Fragment,{children:r?o.jsxs("div",{className:"code-action-menu-container user-select-none absolute flex h-9 flex-row items-center space-x-1 text-xs text-content-system-global-primary/50",style:{...u},children:[o.jsx("div",{children:y}),o.jsx(Fn,{editor:i,getCodeDOMNode:function(){return _.current}})]}):null})}function $n({anchorElem:e}){return e?j.createPortal(o.jsx(In,{anchorElem:e}),e):null}function Ln(){const[e]=V();return s.useEffect(()=>l.registerCodeHighlighting(e),[e]),null}const zn="startTransition",qn="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,Kn=qn?s.useLayoutEffect:s.useEffect;let Hn=class{constructor(e){this.key=e,this.ref={current:null},this.setRefElement=this.setRefElement.bind(this)}setRefElement(e){this.ref={current:e}}};const Wn=e=>{const i=document.getElementById("typeahead-menu");if(!i)return;const o=i.getBoundingClientRect();o.top+o.height>window.innerHeight&&i.scrollIntoView({block:"center"}),o.top<0&&i.scrollIntoView({block:"center"}),e.scrollIntoView({block:"nearest"})};function Yn(e,i){const o=e.getBoundingClientRect(),s=i.getBoundingClientRect();return o.top>s.top&&o.top<s.bottom}const Un=t.createCommand("SCROLL_TYPEAHEAD_OPTION_INTO_VIEW_COMMAND");function Jn({close:e,editor:i,anchorElementRef:o,resolution:n,options:a,menuRenderFn:r,onSelectOption:c,shouldSplitNodeWithQuery:l=!1,commandPriority:d=t.COMMAND_PRIORITY_LOW,preselectFirstItem:g=!0}){const[u,m]=s.useState(null),_=n.match&&n.match.matchingString;s.useEffect(()=>{g&&m(0)},[_,g]);const v=s.useCallback(o=>{i.update(()=>{const i=null!=n.match&&l?function(e){const i=t.$getSelection();if(!t.$isRangeSelection(i)||!i.isCollapsed())return null;const o=i.anchor;if("text"!==o.type)return null;const s=o.getNode();if(!s.isSimpleText())return null;const n=o.offset,a=s.getTextContent().slice(0,n),r=e.replaceableString.length,c=n-function(e,i,o){let s=o;for(let t=s;t<=i.length;t++)e.slice(-t)===i.substring(0,t)&&(s=t);return s}(a,e.matchingString,r);if(c<0)return null;let l;return 0===c?[l]=s.splitText(n):[,l]=s.splitText(c,n),l}(n.match):null;c(o,i,e,n.match?n.match.matchingString:"")})},[i,l,n.match,c,e]),y=s.useCallback(e=>{const o=i.getRootElement();null!==o&&(o.setAttribute("aria-activedescendant","typeahead-item-"+e),m(e))},[i]);return s.useEffect(()=>()=>{const e=i.getRootElement();null!==e&&e.removeAttribute("aria-activedescendant")},[i]),Kn(()=>{null===a?m(null):null===u&&g&&y(0)},[a,u,y,g]),s.useEffect(()=>p.mergeRegister(i.registerCommand(Un,({option:e})=>!(!e.ref||null==e.ref.current||(Wn(e.ref.current),0)),d)),[i,y,d]),s.useEffect(()=>p.mergeRegister(i.registerCommand(t.KEY_ARROW_DOWN_COMMAND,e=>{const o=e;if(null!==a&&a.length){const e=null===u?0:u!==a.length-1?u+1:0;y(e);const s=a[e];null!=s.ref&&s.ref.current&&i.dispatchCommand(Un,{index:e,option:s}),o.preventDefault(),o.stopImmediatePropagation()}return!0},d),i.registerCommand(t.KEY_ARROW_UP_COMMAND,e=>{const i=e;if(null!==a&&a.length){const e=null===u?a.length-1:0!==u?u-1:a.length-1;y(e);const o=a[e];null!=o.ref&&o.ref.current&&Wn(o.ref.current),i.preventDefault(),i.stopImmediatePropagation()}return!0},d),i.registerCommand(t.KEY_ESCAPE_COMMAND,i=>{const o=i;return o.preventDefault(),o.stopImmediatePropagation(),e(),!0},d),i.registerCommand(t.KEY_TAB_COMMAND,e=>{const i=e;return null!==a&&null!==u&&null!=a[u]&&(i.preventDefault(),i.stopImmediatePropagation(),v(a[u]),!0)},d),i.registerCommand(t.KEY_ENTER_COMMAND,e=>null!==a&&null!==u&&null!=a[u]&&(null!==e&&(e.preventDefault(),e.stopImmediatePropagation()),v(a[u]),!0),d)),[v,e,i,a,u,y,d]),r(o,s.useMemo(()=>({options:a,selectOptionAndCleanUp:v,selectedIndex:u,setHighlightedIndex:m}),[v,u,a]),n.match?n.match.matchingString:"")}function Gn(e,i){null!=i&&(e.className=i),e.setAttribute("aria-label","Typeahead menu"),e.setAttribute("role","listbox"),e.style.display="block",e.style.position="absolute"}function Vn(e,{minLength:i=1,maxLength:o=75}){return s.useCallback(s=>{const t=new RegExp("(^|\\s|\\()(["+e+"]((?:[^"+e+"\\.,\\+\\*\\?\\$\\@\\|#{}\\(\\)\\^\\-\\[\\]\\\\/!%'\"~=<>_:;\\s]){0,"+o+"}))$").exec(s);if(null!==t){const e=t[1],o=t[3];if(o.length>=i)return{leadOffset:t.index+e.length,matchingString:o,replaceableString:t[2]}}return null},[o,i,e])}t.createCommand("SCROLL_TYPEAHEAD_OPTION_INTO_VIEW_COMMAND");const Xn=s.lazy(()=>Promise.resolve().then(()=>require("./lexical-typeahead-menu-plugin-BH_mHMPh.cjs")));function Zn({baseOptions:e=[],dynamicOptionsFn:i}){const[t]=V(),[n,a]=fs(),[r,c]=s.useState(null),l=Vn("/",{minLength:0}),d=s.useMemo(()=>{if(!r)return e;const o=new RegExp(r,"i");return[...i?.({queryString:r})||[],...e.filter(e=>o.test(e.title)||e.keywords.some(e=>o.test(e)))]},[t,r,a]),g=s.useCallback((e,i,o,s)=>{t.update(()=>{i?.remove(),e.onSelect(s,t,a),o()})},[t]);return o.jsxs(o.Fragment,{children:[n,o.jsx(s.Suspense,{fallback:o.jsx("div",{children:"Loading..."}),children:o.jsx(Xn,{onQueryChange:c,onSelectOption:g,triggerFn:l,options:d,menuRenderFn:(e,{selectedIndex:i,selectOptionAndCleanUp:s,setHighlightedIndex:t})=>e.current&&d.length?j.createPortal(o.jsx("div",{className:"fixed w-[250px] rounded-md shadow-md bg-background-system-body-primary border border-border-system-global-secondary",children:o.jsx(Zs,{onKeyDown:e=>{"ArrowUp"===e.key?(e.preventDefault(),t(null!==i?(i-1+d.length)%d.length:d.length-1)):"ArrowDown"===e.key&&(e.preventDefault(),t(null!==i?(i+1)%d.length:0))},children:o.jsx(Qs,{children:o.jsx(et,{children:d.map((e,t)=>o.jsxs(ot,{value:e.title,onSelect:()=>{s(e)},className:"flex items-center gap-2 "+(i===t?"bg-background-presentation-action-selected text-content-system-global-primary":"!bg-transparent text-content-system-global-primary hover:bg-background-presentation-action-hover"),children:[e.icon,e.title]},e.key))})})})}),e.current):null})})]})}const Qn="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,ea=Qn?s.useLayoutEffect:s.useEffect;let ia=class{constructor(e){this.key=e,this.ref={current:null},this.setRefElement=this.setRefElement.bind(this)}setRefElement(e){this.ref={current:e}}};const oa=e=>{const i=document.getElementById("typeahead-menu");if(!i)return;const o=i.getBoundingClientRect();o.top+o.height>window.innerHeight&&i.scrollIntoView({block:"center"}),o.top<0&&i.scrollIntoView({block:"center"}),e.scrollIntoView({block:"nearest"})};function sa(e,i){const o=e.getBoundingClientRect(),s=i.getBoundingClientRect();return o.top>s.top&&o.top<s.bottom}const ta=t.createCommand("SCROLL_TYPEAHEAD_OPTION_INTO_VIEW_COMMAND");function na({close:e,editor:i,anchorElementRef:o,resolution:n,options:a,menuRenderFn:r,onSelectOption:c,shouldSplitNodeWithQuery:l=!1,commandPriority:d=t.COMMAND_PRIORITY_LOW,preselectFirstItem:g=!0}){const[u,m]=s.useState(null),_=n.match&&n.match.matchingString;s.useEffect(()=>{g&&m(0)},[_,g]);const v=s.useCallback(o=>{i.update(()=>{const i=null!=n.match&&l?function(e){const i=t.$getSelection();if(!t.$isRangeSelection(i)||!i.isCollapsed())return null;const o=i.anchor;if("text"!==o.type)return null;const s=o.getNode();if(!s.isSimpleText())return null;const n=o.offset,a=s.getTextContent().slice(0,n),r=e.replaceableString.length,c=n-function(e,i,o){let s=o;for(let t=s;t<=i.length;t++)e.slice(-t)===i.substring(0,t)&&(s=t);return s}(a,e.matchingString,r);if(c<0)return null;let l;return 0===c?[l]=s.splitText(n):[,l]=s.splitText(c,n),l}(n.match):null;c(o,i,e,n.match?n.match.matchingString:"")})},[i,l,n.match,c,e]),y=s.useCallback(e=>{const o=i.getRootElement();null!==o&&(o.setAttribute("aria-activedescendant","typeahead-item-"+e),m(e))},[i]);return s.useEffect(()=>()=>{const e=i.getRootElement();null!==e&&e.removeAttribute("aria-activedescendant")},[i]),ea(()=>{null===a?m(null):null===u&&g&&y(0)},[a,u,y,g]),s.useEffect(()=>p.mergeRegister(i.registerCommand(ta,({option:e})=>!(!e.ref||null==e.ref.current||(oa(e.ref.current),0)),d)),[i,y,d]),s.useEffect(()=>p.mergeRegister(i.registerCommand(t.KEY_ARROW_DOWN_COMMAND,e=>{const o=e;if(null!==a&&a.length){const e=null===u?0:u!==a.length-1?u+1:0;y(e);const s=a[e];null!=s.ref&&s.ref.current&&i.dispatchCommand(ta,{index:e,option:s}),o.preventDefault(),o.stopImmediatePropagation()}return!0},d),i.registerCommand(t.KEY_ARROW_UP_COMMAND,e=>{const i=e;if(null!==a&&a.length){const e=null===u?a.length-1:0!==u?u-1:a.length-1;y(e);const o=a[e];null!=o.ref&&o.ref.current&&oa(o.ref.current),i.preventDefault(),i.stopImmediatePropagation()}return!0},d),i.registerCommand(t.KEY_ESCAPE_COMMAND,i=>{const o=i;return o.preventDefault(),o.stopImmediatePropagation(),e(),!0},d),i.registerCommand(t.KEY_TAB_COMMAND,e=>{const i=e;return null!==a&&null!==u&&null!=a[u]&&(i.preventDefault(),i.stopImmediatePropagation(),v(a[u]),!0)},d),i.registerCommand(t.KEY_ENTER_COMMAND,e=>null!==a&&null!==u&&null!=a[u]&&(null!==e&&(e.preventDefault(),e.stopImmediatePropagation()),v(a[u]),!0),d)),[v,e,i,a,u,y,d]),r(o,s.useMemo(()=>({options:a,selectOptionAndCleanUp:v,selectedIndex:u,setHighlightedIndex:m}),[v,u,a]),n.match?n.match.matchingString:"")}function aa(e,i){null!=i&&(e.className=i),e.setAttribute("aria-label","Typeahead menu"),e.setAttribute("role","listbox"),e.style.display="block",e.style.position="absolute"}const ra=s.lazy(()=>Promise.resolve().then(()=>require("./lexical-context-menu-plugin-DSOUuI7I.cjs")));class ca extends ia{constructor(e,o){super(e),i(this,"title"),i(this,"onSelect"),this.title=e,this.onSelect=o.onSelect.bind(this)}}function la(){const[e]=V(),[i,n]=s.useState(!1),a=s.useMemo(()=>[new ca("Copy",{onSelect:i=>{e.dispatchCommand(t.COPY_COMMAND,null)}}),new ca("Cut",{onSelect:i=>{e.dispatchCommand(t.CUT_COMMAND,null)}}),new ca("Paste",{onSelect:i=>{navigator.clipboard.read().then(async function(){const i=new DataTransfer,o=(await navigator.clipboard.read())[0];if("denied"===(await navigator.permissions.query({name:"clipboard-read"})).state)return void alert("Not allowed to paste from clipboard.");for(const e of o.types){const s=await(await o.getType(e)).text();i.setData(e,s)}const s=new ClipboardEvent("paste",{clipboardData:i});e.dispatchCommand(t.PASTE_COMMAND,s)})}}),new ca("Paste as Plain Text",{onSelect:i=>{navigator.clipboard.read().then(async function(){if("denied"===(await navigator.permissions.query({name:"clipboard-read"})).state)return void alert("Not allowed to paste from clipboard.");const i=new DataTransfer,o=await navigator.clipboard.readText();i.setData("text/plain",o);const s=new ClipboardEvent("paste",{clipboardData:i});e.dispatchCommand(t.PASTE_COMMAND,s)})}}),new ca("Delete Node",{onSelect:e=>{const i=t.$getSelection();if(t.$isRangeSelection(i)){const e=i.anchor.getNode().getParents().at(-2);e?.remove()}}})],[e]),[r,c]=s.useState(a),l=s.useCallback((i,o,s)=>{e.update(()=>{i.onSelect(o),s()})},[e]);return o.jsx(s.Suspense,{fallback:o.jsx("div",{children:"Loading..."}),children:o.jsx(ra,{options:r,onSelectOption:(e,i)=>{l(e,i,()=>{n(!1)})},onWillOpen:i=>{let o=a;n(!0),e.update(()=>{const s=t.$getNearestNodeFromDOMNode(i.target);if(s){const i=s.getParent();g.$isLinkNode(i)&&(o=[new ca("Remove Link",{onSelect:i=>{e.dispatchCommand(g.TOGGLE_LINK_COMMAND,null)}}),...a])}}),c(o)},onOpen:()=>{n(!0)},onClose:()=>{n(!1)},menuRenderFn:(e,{options:s,selectOptionAndCleanUp:t},{setMenuRef:a})=>e.current?o.jsx(tt,{open:i,onOpenChange:n,children:o.jsx(E.PopoverPortal,{container:e.current,children:o.jsxs("div",{children:[o.jsx(nt,{ref:a,style:{marginLeft:e.current?.style.width,userSelect:"none"}}),o.jsx(at,{className:"w-[200px] p-1",children:o.jsx(Zs,{children:o.jsx(Qs,{children:r.map(e=>o.jsx(ot,{onSelect:()=>{t(e)},children:e.title},e.key))})})})]})})}):null})})}const da=["image/","image/heic","image/heif","image/gif","image/webp"];function ga(){const[e]=V();return s.useEffect(()=>e.registerCommand(_.DRAG_DROP_PASTE,i=>((async()=>{const o=await p.mediaFileReader(i,[da].flatMap(e=>e));for(const{file:i,result:s}of o)p.isMimeType(i,da)&&e.dispatchCommand(kt,{altText:i.name,src:s})})(),!0),t.COMMAND_PRIORITY_LOW),[e]),null}let ua=class{constructor(e,i){this._x=e,this._y=i}get x(){return this._x}get y(){return this._y}equals({x:e,y:i}){return this.x===e&&this.y===i}calcDeltaXTo({x:e}){return this.x-e}calcDeltaYTo({y:e}){return this.y-e}calcHorizontalDistanceTo(e){return Math.abs(this.calcDeltaXTo(e))}calcVerticalDistance(e){return Math.abs(this.calcDeltaYTo(e))}calcDistanceTo(e){return Math.sqrt(Math.pow(this.calcDeltaXTo(e),2)+Math.pow(this.calcDeltaYTo(e),2))}};class ma{constructor(e,i,o,s){const[t,n]=i<=s?[i,s]:[s,i],[a,r]=e<=o?[e,o]:[o,e];this._top=t,this._right=r,this._left=a,this._bottom=n}get top(){return this._top}get right(){return this._right}get bottom(){return this._bottom}get left(){return this._left}get width(){return Math.abs(this._left-this._right)}get height(){return Math.abs(this._bottom-this._top)}equals({top:e,left:i,bottom:o,right:s}){return e===this._top&&o===this._bottom&&i===this._left&&s===this._right}contains(e){if(e instanceof ua){const{x:i,y:o}=e,s=o<this._top,t=o>this._bottom,n=i<this._left,a=i>this._right;return{reason:{isOnBottomSide:t,isOnLeftSide:n,isOnRightSide:a,isOnTopSide:s},result:!(s||t||n||a)}}{const{top:i,left:o,bottom:s,right:t}=e;return i>=this._top&&i<=this._bottom&&s>=this._top&&s<=this._bottom&&o>=this._left&&o<=this._right&&t>=this._left&&t<=this._right}}intersectsWith(e){const{left:i,top:o,width:s,height:t}=e,{left:n,top:a,width:r,height:c}=this;return(i+s>=n+r?i+s:n+r)-(i<=n?i:n)<=s+r&&(o+t>=a+c?o+t:a+c)-(o<=a?o:a)<=t+c}generateNewRect({left:e=this.left,top:i=this.top,right:o=this.right,bottom:s=this.bottom}){return new ma(e,i,o,s)}static fromLTRB(e,i,o,s){return new ma(e,i,o,s)}static fromLWTH(e,i,o,s){return new ma(e,o,e+i,o+s)}static fromPoints(e,i){const{y:o,x:s}=e,{y:t,x:n}=i;return ma.fromLTRB(s,o,n,t)}static fromDOM(e){const{top:i,width:o,left:s,height:t}=e.getBoundingClientRect();return ma.fromLWTH(s,o,i,t)}}const pa="application/x-lexical-drag-block";let _a=1/0;function va(e){const i=(e,i)=>e?parseFloat(window.getComputedStyle(e)[i]):0,{marginTop:o,marginBottom:s}=window.getComputedStyle(e),t=i(e.previousElementSibling,"marginBottom"),n=i(e.nextElementSibling,"marginTop"),a=Math.max(parseFloat(o),t);return{marginBottom:Math.max(parseFloat(s),n),marginTop:a}}function ya(e,i,o,s=!1){const n=e.getBoundingClientRect(),a=i.getEditorState().read(()=>t.$getRoot().getChildrenKeys());let r=null;return i.getEditorState().read(()=>{if(s){const[e,s]=[i.getElementByKey(a[0]),i.getElementByKey(a[a.length-1])],[t,n]=[null!=e?e.getBoundingClientRect():void 0,null!=s?s.getBoundingClientRect():void 0];if(t&&n){const i=p.calculateZoomLevel(e),a=p.calculateZoomLevel(s);if(o.y/i<t.top?r=e:o.y/a>n.bottom&&(r=s),r)return}}let e=0===(t=a.length)?1/0:_a>=0&&_a<t?_a:Math.floor(t/2);var t;let c=0;for(;e>=0&&e<a.length;){const s=a[e],t=i.getElementByKey(s);if(null===t)break;const l=p.calculateZoomLevel(t),d=new ua(o.x/l,o.y/l),g=ma.fromDOM(t),{marginTop:u,marginBottom:m}=va(t),_=g.generateNewRect({bottom:g.bottom+m,left:n.left,right:n.right,top:g.top-u}),{result:v,reason:{isOnTopSide:y,isOnBottomSide:h}}=_.contains(d);if(v){r=t,_a=e;break}0===c&&(c=y?-1:h?1:1/0),e+=c}}),r}function ha(e,i,n,a,r,c,l,d,g){const u=i.parentElement,m=s.useRef(!1),[v,y]=s.useState(null),h=s.useCallback(e=>{y(e),g&&g(e)},[g]);return s.useEffect(()=>{function o(o){const s=o.target;if(!p.isHTMLElement(s))return void h(null);if(d(s))return;const t=ya(i,e,o);h(t)}function s(){h(null)}return null!=u&&(u.addEventListener("mousemove",o),u.addEventListener("mouseleave",s)),()=>{null!=u&&(u.removeEventListener("mousemove",o),u.removeEventListener("mouseleave",s))}},[u,i,e,d,h]),s.useEffect(()=>{n.current&&function(e,i,o){if(!e)return i.style.opacity="0",void(i.style.transform="translate(-10000px, -10000px)");const s=e.getBoundingClientRect(),t=window.getComputedStyle(e),n=i.getBoundingClientRect(),a=o.getBoundingClientRect();let r=parseInt(t.lineHeight,10);isNaN(r)&&(r=s.bottom-s.top);const c=s.top+(r-n.height)/2-a.top;i.style.opacity="1",i.style.transform=`translate(4px, ${c}px)`}(v,n.current,i)},[i,v,n]),s.useEffect(()=>p.mergeRegister(e.registerCommand(t.DRAGOVER_COMMAND,o=>function(o){if(!m.current)return!1;const[s]=_.eventFiles(o);if(s)return!1;const{pageY:t,target:n}=o;if(!p.isHTMLElement(n))return!1;const r=ya(i,e,o,!0),c=a.current;return null!==r&&null!==c&&(function(e,i,o,s){const{top:t,height:n}=i.getBoundingClientRect(),{top:a,width:r}=s.getBoundingClientRect(),{marginTop:c,marginBottom:l}=va(i);let d=t;o>=t?d+=n+l/2:d-=c/2;const g=d-a-2;e.style.transform=`translate(24px, ${g}px)`,e.style.width=r-48+"px",e.style.opacity=".4"}(c,r,t/p.calculateZoomLevel(n),i),o.preventDefault(),!0)}(o),t.COMMAND_PRIORITY_LOW),e.registerCommand(t.DROP_COMMAND,o=>function(o){if(!m.current)return!1;const[s]=_.eventFiles(o);if(s)return!1;const{target:n,dataTransfer:a,pageY:r}=o,c=null!=a?a.getData(pa):"",l=t.$getNodeByKey(c);if(!l)return!1;if(!p.isHTMLElement(n))return!1;const d=ya(i,e,o,!0);if(!d)return!1;const g=t.$getNearestNodeFromDOMNode(d);if(!g)return!1;if(g===l)return!0;const u=d.getBoundingClientRect().top;return r/p.calculateZoomLevel(n)>=u?g.insertAfter(l):g.insertBefore(l),h(null),!0}(o),t.COMMAND_PRIORITY_HIGH)),[i,e,a,h]),j.createPortal(o.jsxs(o.Fragment,{children:[o.jsx("div",{draggable:!0,onDragStart:function(i){const o=i.dataTransfer;if(!o||!v)return;!function(e,i){const{transform:o}=i.style;i.style.transform="translateZ(0)",e.setDragImage(i,0,0),setTimeout(()=>{i.style.transform=o})}(o,v);let s="";e.update(()=>{const e=t.$getNearestNodeFromDOMNode(v);e&&(s=e.getKey())}),m.current=!0,o.setData(pa,s)},onDragEnd:function(){var e;m.current=!1,(e=a.current)&&(e.style.opacity="0",e.style.transform="translate(-10000px, -10000px)")},children:r&&c}),l]}),i)}function fa({anchorElem:e=document.body,menuRef:i,targetLineRef:o,menuComponent:s,targetLineComponent:t,isOnMenu:n,onElementChanged:a}){const[r]=V();return ha(r,e,i,o,r._editable,s,t,n,a)}function ba(e){return!!e.closest(".draggable-block-menu")}function ja({anchorElem:e}){const i=s.useRef(null),t=s.useRef(null);if(!e)return null;return o.jsx(fa,{anchorElem:e,menuRef:i,targetLineRef:t,menuComponent:o.jsxs("div",{ref:i,className:" test draggable-block-menu absolute left-0 top-0 flex items-center cursor-grab rounded-sm px-[1px] py-0.5 opacity-0 will-change-transform active:cursor-grabbing",children:[o.jsx("button",{onClick:()=>{const e=document.activeElement;e instanceof HTMLElement&&(e.focus(),document.execCommand("insertText",!1,"/"))},className:"ml-1 p-0.5 rounded-sm cursor-pointer",title:"slash command",children:o.jsx(x.Plus,{className:"size-4 opacity-30"})}),o.jsx("button",{className:"p-0.5 rounded-sm cursor-pointer",children:o.jsx(x.GripVerticalIcon,{className:"size-4 opacity-30"})})]}),targetLineComponent:o.jsx("div",{ref:t,className:"pointer-events-none absolute left-0 top-0 h-1 bg-content-system-global-secondary opacity-0 will-change-transform"}),isOnMenu:ba})}const wa=s.lazy(()=>Promise.resolve().then(()=>require("./lexical-typeahead-menu-plugin-BH_mHMPh.cjs")));class xa extends Hn{constructor(e,o,s){super(e),i(this,"title"),i(this,"emoji"),i(this,"keywords"),this.title=e,this.emoji=o,this.keywords=s.keywords||[]}}function ka(){const[e]=V(),[i,n]=s.useState(null),[a,r]=s.useState([]),[c,l]=s.useState(!1);s.useEffect(()=>{Promise.resolve().then(()=>Ir).then(e=>r(e.default))},[]);const d=s.useMemo(()=>null!=a?a.map(({emoji:e,aliases:i,tags:o})=>new xa(i[0],e,{keywords:[...i,...o]})):[],[a]),g=Vn(":",{minLength:0}),u=s.useMemo(()=>d.filter(e=>null!=i?!(!new RegExp(i,"gi").exec(e.title)&&null==e.keywords)&&e.keywords.some(e=>new RegExp(i,"gi").exec(e)):d).slice(0,10),[d,i]),m=s.useCallback((i,o,s)=>{e.update(()=>{const e=t.$getSelection();t.$isRangeSelection(e)&&null!=i&&(o&&o.remove(),e.insertNodes([t.$createTextNode(i.emoji)]),s())})},[e]);return o.jsx(s.Suspense,{fallback:o.jsx("div",{children:"Loading..."}),children:o.jsx(wa,{onQueryChange:n,onSelectOption:m,triggerFn:g,options:u,onOpen:()=>{l(!0)},onClose:()=>{l(!1)},menuRenderFn:(e,{selectedIndex:i,selectOptionAndCleanUp:s,setHighlightedIndex:t})=>e.current&&u.length?j.createPortal(o.jsx("div",{className:"fixed w-[200px] rounded-md shadow-md",children:o.jsx(Zs,{onKeyDown:e=>{"ArrowUp"===e.key?(e.preventDefault(),t(null!==i?(i-1+u.length)%u.length:u.length-1)):"ArrowDown"===e.key&&(e.preventDefault(),t(null!==i?(i+1)%u.length:0))},children:o.jsx(Qs,{children:o.jsx(et,{children:u.map((e,t)=>o.jsxs(ot,{value:e.title,onSelect:()=>{s(e)},className:"flex items-center gap-2 "+(i===t?"bg-background-presentation-action-selected":"!bg-transparent"),children:[e.emoji," ",e.title]},e.key))})})})}),e.current):null})})}const Na=new Map([[":)",["emoji happysmile","🙂"]],[":D",["emoji veryhappysmile","😀"]],[":(",["emoji unhappysmile","🙁"]],["<3",["emoji heart","❤"]]]);function Sa(e){const i=e.getTextContent();for(let o=0;o<i.length;o++){const s=Na.get(i[o])||Na.get(i.slice(o,o+2));if(void 0!==s){const[i,t]=s;let n;0===o?[n]=e.splitText(o+2):[,n]=e.splitText(o,o+2);const a=li(i,t);return n.replace(a),a}}return null}function Ca(e){let i=e;for(;null!==i;){if(!i.isSimpleText())return;i=Sa(i)}}function Ea(){const[e]=V();return function(e){s.useEffect(()=>{if(!e.hasNodes([ci]))throw new Error("EmojisPlugin: EmojiNode not registered on editor");return e.registerNodeTransform(t.TextNode,Ca)},[e])}(e),null}const Ta=N.cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-border-presentation-state-focus focus-visible:ring-border-presentation-state-focus/50 focus-visible:ring-[3px] aria-invalid:ring-border-presentation-state-negative/20 aria-invalid:border-border-presentation-state-negative",{variants:{variant:{default:"bg-background-presentation-action-primary text-content-presentation-action-light-primary shadow-xs hover:bg-background-presentation-action-primary/90",destructive:"bg-background-presentation-state-negative-primary text-content-presentation-action-light-primary shadow-xs hover:bg-background-presentation-state-negative-primary/90 focus-visible:ring-border-presentation-state-negative",outline:"border border-border-system-global-secondary bg-background-system-body-primary shadow-xs hover:bg-background-presentation-action-hover hover:text-content-system-global-primary",secondary:"bg-background-presentation-action-secondary text-content-system-global-primary shadow-xs hover:bg-background-presentation-action-hover",ghost:"hover:bg-background-presentation-action-hover hover:text-content-system-global-primary",link:"text-content-presentation-action-link-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9"}},defaultVariants:{variant:"default",size:"default"}});function Oa({className:e,variant:i,size:s,asChild:t=!1,...n}){const a=t?S.Slot:"button";return o.jsx(a,{"data-slot":"button",className:le(Ta({variant:i,size:s,className:e})),...n})}function Pa({className:e,...i}){return o.jsx("textarea",{"data-slot":"textarea",className:le("border-border-system-global-secondary placeholder:text-content-system-global-secondary focus-visible:border-border-presentation-state-focus focus-visible:ring-border-presentation-state-focus/50 aria-invalid:ring-border-presentation-state-negative/20 aria-invalid:border-border-presentation-state-negative bg-background-system-body-primary flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),...i})}function Aa({equation:e,inline:i,onDoubleClick:t}){const n=s.useRef(null);return s.useEffect(()=>{const o=n.current;null!==o&&h.render(e,o,{displayMode:!i,errorColor:"var(--content-presentation-state-negative-primary)",output:"html",strict:"warn",throwOnError:!1,trust:!1})},[e,i]),o.jsxs(o.Fragment,{children:[o.jsx("img",{src:"#",alt:""}),o.jsx("span",{role:"button",tabIndex:-1,onDoubleClick:t,ref:n}),o.jsx("img",{src:"#",alt:""})]})}function Ra({onConfirm:e,initialEquation:i=""}){const[t]=V(),[n,a]=s.useState(i),[r,c]=s.useState(!0),l=s.useCallback(()=>{e(n,r)},[e,n,r]),d=s.useCallback(()=>{c(!r)},[c,r]);return o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"flex items-center space-x-2",children:[o.jsx(ft,{htmlFor:"inline-toggle",className:"text-sm font-medium",children:"Inline"}),o.jsx(At,{id:"inline-toggle",checked:r,onCheckedChange:d})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx(ft,{htmlFor:"equation-input",className:"text-sm font-medium",children:"Equation"}),r?o.jsx(st,{id:"equation-input",onChange:e=>a(e.target.value),value:n,placeholder:"Enter inline equation..."}):o.jsx(Pa,{id:"equation-input",onChange:e=>a(e.target.value),value:n,placeholder:"Enter block equation...",className:"min-h-[100px]"})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx(ft,{className:"text-sm font-medium",children:"Visualization"}),o.jsx("div",{className:"rounded-md border bg-muted p-4",children:o.jsx(B.ErrorBoundary,{onError:e=>t._onError(e),fallback:null,children:o.jsx(Aa,{equation:n,inline:!1,onDoubleClick:()=>null})})})]}),o.jsx("div",{className:"flex justify-end",children:o.jsx(Oa,{onClick:l,children:"Confirm"})})]})}const Ma=t.createCommand("INSERT_EQUATION_COMMAND");function Da({activeEditor:e,onClose:i}){const t=s.useCallback((o,s)=>{e.dispatchCommand(Ma,{equation:o,inline:s}),i()},[e,i]);return o.jsx(Ra,{onConfirm:t})}function Ba(){const[e]=V();return s.useEffect(()=>{if(!e.hasNodes([ui]))throw new Error("EquationsPlugins: EquationsNode not registered on editor");return e.registerCommand(Ma,e=>{const{equation:i,inline:o}=e,s=mi(i,o);return t.$insertNodes([s]),t.$isRootOrShadowRoot(s.getParentOrThrow())&&p.$wrapNodeInElement(s,t.$createParagraphNode).selectEnd(),!0},t.COMMAND_PRIORITY_EDITOR)},[e]),null}const Fa=s.lazy(()=>Promise.resolve().then(()=>require("./excalidraw-CSTfdZ0A.cjs")));function Ia({closeOnClickOutside:e=!1,onSave:i,initialElements:t,initialAppState:n,initialFiles:a,isShown:r=!1,onDelete:c,onClose:l}){const d=s.useRef(null),[g,u]=(()=>{const[e,i]=s.useState(null);return[e,s.useCallback(e=>i(e),[])]})(),[m,p]=s.useState(!1),[_,v]=s.useState(t),[y,h]=s.useState(a);s.useEffect(()=>{null!==d.current&&d.current.focus()},[]),s.useEffect(()=>{let i=null;const o=i=>{const o=i.target;null!==d.current&&!d.current.contains(o)&&e&&c()};return null!==d.current&&(i=d.current?.parentElement,null!==i&&i?.addEventListener("click",o)),()=>{null!==i&&i?.removeEventListener("click",o)}},[e,c]),s.useLayoutEffect(()=>{const e=d.current,i=e=>{"Escape"===e.key&&c()};return null!==e&&e.addEventListener("keydown",i),()=>{null!==e&&e.removeEventListener("keydown",i)}},[_,y,c]);function f(){return o.jsxs(gs,{open:m,onOpenChange:p,children:[o.jsx(_s,{children:"Are you sure you want to discard the changes?"}),o.jsx(ms,{asChild:!0,children:o.jsx(Ao,{onClick:()=>{p(!1),l()},children:"Discard"})}),o.jsx(ms,{asChild:!0,children:o.jsx(Ao,{onClick:()=>p(!1),children:"Cancel"})})]})}if(!1===r)return null;return o.jsxs(gs,{open:r,children:[o.jsx(C.DialogTrigger,{}),o.jsx(_s,{className:"h-4/6 max-w-4xl overflow-hidden p-0",children:o.jsx("div",{className:"relative",role:"dialog",children:o.jsx("div",{className:"h-full w-full",ref:d,tabIndex:-1,children:o.jsxs("div",{className:"h-full w-full",children:[m&&o.jsx(f,{}),o.jsx(s.Suspense,{fallback:o.jsx("div",{className:"flex h-full items-center justify-center",children:"Loading..."}),children:o.jsx(Fa,{onChange:(e,i,o)=>{v(e),h(o)},excalidrawAPI:u,initialData:{appState:n||{isLoading:!1},elements:t,files:a}})}),o.jsxs("div",{className:"absolute bottom-5 right-1/2 z-10 flex translate-x-1/2 gap-2",children:[o.jsx(Ao,{onClick:l,children:"Discard"}),o.jsx(Ao,{onClick:()=>{if(_&&_.filter(e=>!e.isDeleted).length>0){const e=g?.getAppState();i(_,{exportBackground:e?.exportBackground,exportScale:e?.exportScale,exportWithDarkMode:"dark"===e?.theme,isBindingEnabled:e?.isBindingEnabled,isLoading:e?.isLoading,name:e?.name,theme:e?.theme,viewBackgroundColor:e?.viewBackgroundColor,viewModeEnabled:e?.viewModeEnabled,zenModeEnabled:e?.zenModeEnabled,zoom:e?.zoom},y)}else c()},children:"Save"})]})]})})})})]})}const $a=t.createCommand("INSERT_EXCALIDRAW_COMMAND");function La(){const[e]=V(),[i,n]=s.useState(!1);s.useEffect(()=>{if(!e.hasNodes([yi]))throw new Error("ExcalidrawPlugin: ExcalidrawNode not registered on editor");return e.registerCommand($a,()=>(n(!0),!0),t.COMMAND_PRIORITY_EDITOR)},[e]);return o.jsx(Ia,{initialElements:[],initialAppState:{},initialFiles:{},isShown:i,onDelete:()=>{n(!1)},onClose:()=>{n(!1)},onSave:(i,o,s)=>{e.update(()=>{const e=hi();e.setData(JSON.stringify({appState:o,elements:i,files:s})),t.$insertNodes([e]),t.$isRootOrShadowRoot(e.getParentOrThrow())&&p.$wrapNodeInElement(e,t.$createParagraphNode).selectEnd()}),n(!1)},closeOnClickOutside:!1})}function za(e,i,o,s=10,t=5){const n=o.parentElement;if(null===e||!n)return i.style.opacity="0",void(i.style.transform="translate(-10000px, -10000px)");const a=i.getBoundingClientRect(),r=o.getBoundingClientRect(),c=n.getBoundingClientRect();let l=e.top-s,d=e.left-t;l<c.top&&(l+=a.height+e.height+2*s),d+a.width>c.right&&(d=c.right-a.width-t),l-=r.top,d-=r.left,i.style.opacity="1",i.style.transform=`translate(${d}px, ${l}px)`}function qa({editor:e,isLink:i,setIsLink:n,anchorElem:a,isLinkEditMode:r,setIsLinkEditMode:c}){const l=s.useRef(null),d=s.useRef(null),[u,m]=s.useState(""),[_,v]=s.useState("https://"),[y,h]=s.useState(null),f=s.useCallback(()=>{const i=t.$getSelection();if(t.$isRangeSelection(i)){const e=on(i),o=p.$findMatchingParent(e,g.$isLinkNode);o?m(o.getURL()):g.$isLinkNode(e)?m(e.getURL()):m(""),r&&v(u)}const o=l.current,s=window.getSelection(),n=document.activeElement;if(null===o)return;const d=e.getRootElement();if(null!==i&&null!==s&&null!==d&&d.contains(s.anchorNode)&&e.isEditable()){const e=s.focusNode?.parentElement?.getBoundingClientRect();e&&(e.y+=40,za(e,o,a)),h(i)}else n&&"link-input"===n.className||(null!==d&&za(null,o,a),h(null),c(!1),m(""));return!0},[a,e,c,r,u]);s.useEffect(()=>{const i=a.parentElement,o=()=>{e.getEditorState().read(()=>{f()})};return window.addEventListener("resize",o),i&&i.addEventListener("scroll",o),()=>{window.removeEventListener("resize",o),i&&i.removeEventListener("scroll",o)}},[a.parentElement,e,f]),s.useEffect(()=>p.mergeRegister(e.registerUpdateListener(({editorState:e})=>{e.read(()=>{f()})}),e.registerCommand(t.SELECTION_CHANGE_COMMAND,()=>(f(),!0),t.COMMAND_PRIORITY_LOW),e.registerCommand(t.KEY_ESCAPE_COMMAND,()=>!!i&&(n(!1),!0),t.COMMAND_PRIORITY_HIGH)),[e,f,n,i]),s.useEffect(()=>{e.getEditorState().read(()=>{f()})},[e,f]),s.useEffect(()=>{r&&d.current&&(d.current.focus(),n(!0))},[r,i]);const b=()=>{null!==y&&(""!==u&&(e.dispatchCommand(g.TOGGLE_LINK_COMMAND,_n(_)),e.update(()=>{const e=t.$getSelection();if(t.$isRangeSelection(e)){const i=on(e).getParent();if(g.$isAutoLinkNode(i)){const e=g.$createLinkNode(i.getURL(),{rel:i.__rel,target:i.__target,title:i.__title});i.replace(e,!0)}}})),v("https://"),c(!1))};return o.jsx("div",{ref:l,className:"absolute left-0 top-0 w-full max-w-sm rounded-md opacity-0 shadow-md",children:i?r?o.jsxs("div",{className:"flex items-center space-x-2 rounded-md border p-1 pl-2",children:[o.jsx(st,{ref:d,value:_,onChange:e=>v(e.target.value),onKeyDown:e=>{"Enter"===e.key?(e.preventDefault(),b()):"Escape"===e.key&&(e.preventDefault(),c(!1))},className:"flex-grow"}),o.jsx(Ao,{size:"M",variant:"BlueContStyle",onClick:()=>{c(!1),n(!1)},className:"shrink-0",children:o.jsx(x.X,{className:"h-4 w-4"})}),o.jsx(Ao,{size:"M",variant:"BlueContStyle",onClick:b,className:"shrink-0",children:o.jsx(x.Check,{className:"h-4 w-4"})})]}):o.jsxs("div",{className:"flex items-center justify-between rounded-md border p-1 pl-2",children:[o.jsx("a",{href:_n(u),target:"_blank",rel:"noopener noreferrer",className:"overflow-hidden text-ellipsis whitespace-nowrap text-sm",children:u}),o.jsxs("div",{className:"flex",children:[o.jsx(Ao,{size:"M",variant:"BlueContStyle",onClick:()=>{v(u),c(!0)},children:o.jsx(x.Pencil,{className:"h-4 w-4"})}),o.jsx(Ao,{size:"M",variant:"RedContStyle",onClick:()=>{e.dispatchCommand(g.TOGGLE_LINK_COMMAND,null)},children:o.jsx(x.Trash,{className:"h-4 w-4"})})]})]}):null})}function Ka({anchorElem:e}){const[i]=V(),{isLinkEditMode:n,setIsLinkEditMode:a}=ne();return function(e,i,n,a){const[r,c]=s.useState(e),[l,d]=s.useState(!1);return s.useEffect(()=>{function i(){const e=t.$getSelection();if(t.$isRangeSelection(e)){const i=on(e),o=p.$findMatchingParent(i,g.$isLinkNode),s=p.$findMatchingParent(i,g.$isAutoLinkNode);if(!o&&!s)return void d(!1);const n=e.getNodes().filter(e=>!t.$isLineBreakNode(e)).find(e=>{const i=p.$findMatchingParent(e,g.$isLinkNode),t=p.$findMatchingParent(e,g.$isAutoLinkNode);return o&&!o.is(i)||i&&!i.is(o)||s&&!s.is(t)||t&&(!t.is(s)||t.getIsUnlinked())});d(!n)}}return p.mergeRegister(e.registerUpdateListener(({editorState:e})=>{e.read(()=>{i()})}),e.registerCommand(t.SELECTION_CHANGE_COMMAND,(e,o)=>(i(),c(o),!1),t.COMMAND_PRIORITY_CRITICAL),e.registerCommand(t.CLICK_COMMAND,e=>{const i=t.$getSelection();if(t.$isRangeSelection(i)){const o=on(i),s=p.$findMatchingParent(o,g.$isLinkNode);if(g.$isLinkNode(s)&&(e.metaKey||e.ctrlKey))return window.open(s.getURL(),"_blank"),!0}return!1},t.COMMAND_PRIORITY_LOW))},[e]),i?j.createPortal(o.jsx(qa,{editor:r,isLink:l,anchorElem:i,setIsLink:d,isLinkEditMode:n,setIsLinkEditMode:a}),i):null}(i,e,n,a)}function Ha({editor:e,anchorElem:i,isLink:n,isBold:a,isItalic:r,isUnderline:c,isCode:l,isStrikethrough:d,isSubscript:u,isSuperscript:m,setIsLinkEditMode:_}){const v=s.useRef(null),y=s.useCallback(()=>{n?(_(!1),e.dispatchCommand(g.TOGGLE_LINK_COMMAND,null)):(_(!0),e.dispatchCommand(g.TOGGLE_LINK_COMMAND,"https://"))},[e,n,_]);function h(e){if(v?.current&&(1===e.buttons||3===e.buttons)&&"none"!==v.current.style.pointerEvents){const i=e.clientX,o=e.clientY,s=document.elementFromPoint(i,o);v.current.contains(s)||(v.current.style.pointerEvents="none")}}function f(e){v?.current&&"auto"!==v.current.style.pointerEvents&&(v.current.style.pointerEvents="auto")}s.useEffect(()=>{if(v?.current)return document.addEventListener("mousemove",h),document.addEventListener("mouseup",f),()=>{document.removeEventListener("mousemove",h),document.removeEventListener("mouseup",f)}},[v]);const b=s.useCallback(()=>{const o=t.$getSelection(),s=v.current,a=window.getSelection();if(null===s)return;const r=e.getRootElement();if(null!==o&&null!==a&&!a.isCollapsed&&null!==r&&r.contains(a.anchorNode)){const e=function(e,i){const o=e.getRangeAt(0);let s;if(e.anchorNode===i){let e=i;for(;null!=e.firstElementChild;)e=e.firstElementChild;s=e.getBoundingClientRect()}else s=o.getBoundingClientRect();return s}(a,r);!function(e,i,o,s=!1,t=10,n=5){const a=o.parentElement;if(null===e||!a)return i.style.opacity="0",void(i.style.transform="translate(-10000px, -10000px)");const r=i.getBoundingClientRect(),c=o.getBoundingClientRect(),l=a.getBoundingClientRect();let d=e.top-r.height-t,g=e.left-n;d<l.top&&(d+=r.height+e.height+t*(s?9:2)),g+r.width>l.right&&(g=l.right-r.width-n),d-=c.top,g-=c.left,i.style.opacity="1",i.style.transform=`translate(${g}px, ${d}px)`}(e,s,i,n)}},[e,i,n]);return s.useEffect(()=>{const o=i.parentElement,s=()=>{e.getEditorState().read(()=>{b()})};return window.addEventListener("resize",s),o&&o.addEventListener("scroll",s),()=>{window.removeEventListener("resize",s),o&&o.removeEventListener("scroll",s)}},[e,b,i]),s.useEffect(()=>(e.getEditorState().read(()=>{b()}),p.mergeRegister(e.registerUpdateListener(({editorState:e})=>{e.read(()=>{b()})}),e.registerCommand(t.SELECTION_CHANGE_COMMAND,()=>(b(),!1),t.COMMAND_PRIORITY_LOW))),[e,b]),o.jsx("div",{ref:v,className:"absolute left-0 top-0 z-50 flex gap-0.5 rounded-[4px] border border-border-system-global-secondary p-1 opacity-0 shadow-md transition-opacity duration-200 will-change-transform bg-background-system-body-primary",children:e.isEditable()&&o.jsxs(o.Fragment,{children:[o.jsxs(Qt,{type:"multiple",size:"sm",className:"gap-0",defaultValue:[a?"bold":"",r?"italic":"",c?"underline":"",d?"strikethrough":"",u?"subscript":"",m?"superscript":"",l?"code":"",n?"link":""],children:[o.jsx(en,{value:"bold","aria-label":"Toggle bold",className:"text-content-system-global-primary hover:text-white data-[state=on]:text-content-system-global-primary",onClick:()=>{e.dispatchCommand(t.FORMAT_TEXT_COMMAND,"bold")},children:o.jsx("i",{className:"ri-bold"})}),o.jsx(en,{value:"italic","aria-label":"Toggle italic",className:"text-content-system-global-primary hover:text-white data-[state=on]:text-content-system-global-primary",onClick:()=>{e.dispatchCommand(t.FORMAT_TEXT_COMMAND,"italic")},children:o.jsx("i",{className:"ri-italic"})}),o.jsx(en,{value:"underline","aria-label":"Toggle underline",className:"text-content-system-global-primary hover:text-white data-[state=on]:text-content-system-global-primary",onClick:()=>{e.dispatchCommand(t.FORMAT_TEXT_COMMAND,"underline")},children:o.jsx("i",{className:"ri-underline"})}),o.jsx(en,{value:"strikethrough","aria-label":"Toggle strikethrough",className:"text-content-system-global-primary hover:text-white data-[state=on]:text-content-system-global-primary",onClick:()=>{e.dispatchCommand(t.FORMAT_TEXT_COMMAND,"strikethrough")},children:o.jsx("i",{className:"ri-strikethrough"})}),o.jsx(No,{orientation:"vertical",className:"mx-0.5 h-5 bg-border-system-global-secondary"}),o.jsx(en,{value:"code","aria-label":"Toggle code",className:"text-content-system-global-primary hover:text-white data-[state=on]:text-content-system-global-primary",onClick:()=>{e.dispatchCommand(t.FORMAT_TEXT_COMMAND,"code")},children:o.jsx("i",{className:"ri-code-line"})}),o.jsx(en,{value:"link","aria-label":"Toggle link",className:"text-content-system-global-primary hover:text-white data-[state=on]:text-content-system-global-primary",onClick:y,children:o.jsx("i",{className:"ri-link"})}),o.jsx(No,{orientation:"vertical",className:"mx-0.5 h-5 bg-border-system-global-secondary"})]}),o.jsxs(Qt,{type:"single",size:"sm",className:"gap-0",defaultValue:u?"subscript":m?"superscript":"",children:[o.jsx(en,{value:"subscript","aria-label":"Toggle subscript",className:"text-content-system-global-primary hover:text-white data-[state=on]:text-content-system-global-primary",onClick:()=>{e.dispatchCommand(t.FORMAT_TEXT_COMMAND,"subscript")},children:o.jsx(x.SubscriptIcon,{className:"h-4 w-4"})}),o.jsx(en,{value:"superscript","aria-label":"Toggle superscript",className:"text-content-system-global-primary hover:text-white data-[state=on]:text-content-system-global-primary",onClick:()=>{e.dispatchCommand(t.FORMAT_TEXT_COMMAND,"superscript")},children:o.jsx(x.SuperscriptIcon,{className:"h-4 w-4"})})]})]})})}function Wa({anchorElem:e}){const[i]=V(),{setIsLinkEditMode:n}=ne();return function(e,i,n){const[a,r]=s.useState(!1),[c,d]=s.useState(!1),[u,m]=s.useState(!1),[_,v]=s.useState(!1),[y,h]=s.useState(!1),[f,b]=s.useState(!1),[w,x]=s.useState(!1),[k,N]=s.useState(!1),[S,C]=s.useState(!1),E=s.useCallback(()=>{e.getEditorState().read(()=>{if(e.isComposing())return;const i=t.$getSelection(),o=window.getSelection(),s=e.getRootElement();if(!(null===o||t.$isRangeSelection(i)&&null!==s&&s.contains(o.anchorNode)))return void r(!1);if(!t.$isRangeSelection(i))return;const n=on(i);m(i.hasFormat("bold")),v(i.hasFormat("italic")),h(i.hasFormat("underline")),b(i.hasFormat("strikethrough")),x(i.hasFormat("subscript")),N(i.hasFormat("superscript")),C(i.hasFormat("code"));const a=n.getParent();g.$isLinkNode(a)||g.$isLinkNode(n)?d(!0):d(!1),l.$isCodeHighlightNode(i.anchor.getNode())||""===i.getTextContent()?r(!1):r(t.$isTextNode(n)||t.$isParagraphNode(n));const c=i.getTextContent().replace(/\n/g,"");i.isCollapsed()||""!==c||r(!1)})},[e]);return s.useEffect(()=>(document.addEventListener("selectionchange",E),()=>{document.removeEventListener("selectionchange",E)}),[E]),s.useEffect(()=>p.mergeRegister(e.registerUpdateListener(()=>{E()}),e.registerRootListener(()=>{null===e.getRootElement()&&r(!1)})),[e,E]),a&&i?j.createPortal(o.jsx(Ha,{editor:e,anchorElem:i,isLink:c,isBold:u,isItalic:_,isStrikethrough:f,isSubscript:w,isSuperscript:k,isUnderline:y,isCode:S,setIsLinkEditMode:n}),i):null}(i,e,n)}const Ya=/(^|$|[^A-Za-zªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԧԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠࢢ-ࢬऄ-हऽॐक़-ॡॱ-ॷॹ-ॿঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-ళవ-హఽౘౙౠౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൠൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤜᥐ-ᥭᥰ-ᥴᦀ-ᦫᧁ-ᧇᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎↃↄⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々〆〱-〵〻〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚗꚠ-ꛥꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꪀ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ])(congrats|congratulations|gratuluju|gratuluji|gratulujeme|blahopřeju|blahopřeji|blahopřejeme|Til lykke|Tillykke|Glückwunsch|Gratuliere|felicitaciones|enhorabuena|paljon onnea|onnittelut|Félicitations|gratula|gratulálok|gratulálunk|congratulazioni|complimenti|おめでとう|おめでとうございます|축하해|축하해요|gratulerer|Gefeliciteerd|gratulacje|Parabéns|parabéns|felicitações|felicitări|мои поздравления|поздравляем|поздравляю|gratulujem|blahoželám|ยินดีด้วย|ขอแสดงความยินดี|tebrikler|tebrik ederim|恭喜|祝贺你|恭喜你|恭喜|恭喜|baie geluk|veels geluk|অভিনন্দন|Čestitam|Čestitke|Čestitamo|Συγχαρητήρια|Μπράβο|અભિનંદન|badhai|बधाई|अभिनंदन|Честитам|Свака част|hongera|வாழ்த்துகள்|வாழ்த்துக்கள்|అభినందనలు|അഭിനന്ദനങ്ങൾ|Chúc mừng|מזל טוב|mazel tov|mazal tov)(^|$|[^A-Za-zªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԧԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠࢢ-ࢬऄ-हऽॐक़-ॡॱ-ॷॹ-ॿঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-ళవ-హఽౘౙౠౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൠൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤜᥐ-ᥭᥰ-ᥴᦀ-ᦫᧁ-ᧇᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎↃↄⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々〆〱-〵〻〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚗꚠ-ꛥꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꪀ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ])/i;function Ua(){const[e]=V();s.useEffect(()=>{if(!e.hasNodes([Ti]))throw new Error("KeywordsPlugin: KeywordNode not registered on editor")},[e]);const i=s.useCallback(e=>Oi(e.getTextContent()),[]);return no(s.useCallback(e=>{const i=Ya.exec(e);if(null===i)return null;const o=i[2].length,s=i.index+i[1].length;return{end:s+o,start:s}},[]),Ti,i),null}function Ja({validateUrl:e,attributes:i}){const[o]=V();return s.useEffect(()=>{if(!o.hasNodes([g.LinkNode]))throw new Error("LinkPlugin: LinkNode not registered on editor");return p.mergeRegister(o.registerCommand(g.TOGGLE_LINK_COMMAND,o=>{if(null===o)return g.$toggleLink(o),!0;if("string"==typeof o)return!(void 0!==e&&!e(o)||(g.$toggleLink(o,i),0));{const{url:e,target:s,rel:t,title:n}=o;return g.$toggleLink(e,{...i,rel:t,target:s,title:n}),!0}},t.COMMAND_PRIORITY_LOW),void 0!==e?o.registerCommand(t.PASTE_COMMAND,s=>{const n=t.$getSelection();if(!t.$isRangeSelection(n)||n.isCollapsed()||!p.objectKlassEquals(s,ClipboardEvent))return!1;if(null===s.clipboardData)return!1;const a=s.clipboardData.getData("text");return!!e(a)&&!n.getNodes().some(e=>t.$isElementNode(e))&&(o.dispatchCommand(g.TOGGLE_LINK_COMMAND,{...i,url:a}),s.preventDefault(),!0)},t.COMMAND_PRIORITY_LOW):()=>{})},[o,e,i]),null}function Ga(){return o.jsx(Ja,{validateUrl:yn})}function Va(e){const i=t.$getSelection();if(!t.$isRangeSelection(i))return!1;const o=function(e){const i=e.getNodes();return 0===i.length?new Set([e.anchor.getNode().getParentOrThrow(),e.focus.getNode().getParentOrThrow()]):new Set(i.map(e=>t.$isElementNode(e)?e:e.getParentOrThrow()))}(i);let s=0;for(const t of Array.from(o))if(u.$isListNode(t))s=Math.max(u.$getListDepth(t)+1,s);else if(u.$isListItemNode(t)){const e=t.getParent();if(!u.$isListNode(e))throw new Error("ListMaxIndentLevelPlugin: A ListItemNode must have a ListNode for a parent.");s=Math.max(u.$getListDepth(e)+1,s)}return s>e}function Xa({maxDepth:e=7}){const[i]=V();return s.useEffect(()=>i.registerCommand(t.INDENT_CONTENT_COMMAND,()=>Va(e),t.COMMAND_PRIORITY_CRITICAL),[i,e]),null}const Za=s.lazy(()=>Promise.resolve().then(()=>require("./lexical-typeahead-menu-plugin-BH_mHMPh.cjs"))),Qa={PUNCTUATION:"\\.,\\+\\*\\?\\$\\@\\|#{}\\(\\)\\^\\-\\[\\]\\\\/!%'\"~=<>_:;"}.PUNCTUATION,er=["@"].join(""),ir="[^"+er+Qa+"\\s]",or=new RegExp("(^|\\s|\\()(["+er+"]((?:"+ir+("(?:\\.[ |$]| |["+Qa+"]|)")+"){0,75}))$"),sr=new RegExp("(^|\\s|\\()(["+er+"]((?:"+ir+"){0,50}))$"),tr=new Map,nr=["Aayla Secura","Adi Gallia","Admiral Dodd Rancit","Admiral Firmus Piett","Admiral Gial Ackbar","Admiral Ozzel","Admiral Raddus","Admiral Terrinald Screed","Admiral Trench","Admiral U.O. Statura","Agen Kolar","Agent Kallus","Aiolin and Morit Astarte","Aks Moe","Almec","Alton Kastle","Amee","AP-5","Armitage Hux","Artoo","Arvel Crynyd","Asajj Ventress","Aurra Sing","AZI-3","Bala-Tik","Barada","Bargwill Tomder","Baron Papanoida","Barriss Offee","Baze Malbus","Bazine Netal","BB-8","BB-9E","Ben Quadinaros","Berch Teller","Beru Lars","Bib Fortuna","Biggs Darklighter","Black Krrsantan","Bo-Katan Kryze","Boba Fett","Bobbajo","Bodhi Rook","Borvo the Hutt","Boss Nass","Bossk","Breha Antilles-Organa","Bren Derlin","Brendol Hux","BT-1","C-3PO","C1-10P","Cad Bane","Caluan Ematt","Captain Gregor","Captain Phasma","Captain Quarsh Panaka","Captain Rex","Carlist Rieekan","Casca Panzoro","Cassian Andor","Cassio Tagge","Cham Syndulla","Che Amanwe Papanoida","Chewbacca","Chi Eekway Papanoida","Chief Chirpa","Chirrut Îmwe","Ciena Ree","Cin Drallig","Clegg Holdfast","Cliegg Lars","Coleman Kcaj","Coleman Trebor","Colonel Kaplan","Commander Bly","Commander Cody (CC-2224)","Commander Fil (CC-3714)","Commander Fox","Commander Gree","Commander Jet","Commander Wolffe","Conan Antonio Motti","Conder Kyl","Constable Zuvio","Cordé","Cpatain Typho","Crix Madine","Cut Lawquane","Dak Ralter","Dapp","Darth Bane","Darth Maul","Darth Tyranus","Daultay Dofine","Del Meeko","Delian Mors","Dengar","Depa Billaba","Derek Klivian","Dexter Jettster","Dineé Ellberger","DJ","Doctor Aphra","Doctor Evazan","Dogma","Dormé","Dr. Cylo","Droidbait","Droopy McCool","Dryden Vos","Dud Bolt","Ebe E. Endocott","Echuu Shen-Jon","Eeth Koth","Eighth Brother","Eirtaé","Eli Vanto","Ellé","Ello Asty","Embo","Eneb Ray","Enfys Nest","EV-9D9","Evaan Verlaine","Even Piell","Ezra Bridger","Faro Argyus","Feral","Fifth Brother","Finis Valorum","Finn","Fives","FN-1824","FN-2003","Fodesinbeed Annodue","Fulcrum","FX-7","GA-97","Galen Erso","Gallius Rax",'Garazeb "Zeb" Orrelios',"Gardulla the Hutt","Garrick Versio","Garven Dreis","Gavyn Sykes","Gideon Hask","Gizor Dellso","Gonk droid","Grand Inquisitor","Greeata Jendowanian","Greedo","Greer Sonnel","Grievous","Grummgar","Gungi","Hammerhead","Han Solo","Harter Kalonia","Has Obbit","Hera Syndulla","Hevy","Hondo Ohnaka","Huyang","Iden Versio","IG-88","Ima-Gun Di","Inquisitors","Inspector Thanoth","Jabba","Jacen Syndulla","Jan Dodonna","Jango Fett","Janus Greejatus","Jar Jar Binks","Jas Emari","Jaxxon","Jek Tono Porkins","Jeremoch Colton","Jira","Jobal Naberrie","Jocasta Nu","Joclad Danva","Joh Yowza","Jom Barell","Joph Seastriker","Jova Tarkin","Jubnuk","Jyn Erso","K-2SO","Kanan Jarrus","Karbin","Karina the Great","Kes Dameron","Ketsu Onyo","Ki-Adi-Mundi","King Katuunko","Kit Fisto","Kitster Banai","Klaatu","Klik-Klak","Korr Sella","Kylo Ren","L3-37","Lama Su","Lando Calrissian","Lanever Villecham","Leia Organa","Letta Turmond","Lieutenant Kaydel Ko Connix","Lieutenant Thire","Lobot","Logray","Lok Durd","Longo Two-Guns","Lor San Tekka","Lorth Needa","Lott Dod","Luke Skywalker","Lumat","Luminara Unduli","Lux Bonteri","Lyn Me","Lyra Erso","Mace Windu","Malakili","Mama the Hutt","Mars Guo","Mas Amedda","Mawhonic","Max Rebo","Maximilian Veers","Maz Kanata","ME-8D9","Meena Tills","Mercurial Swift","Mina Bonteri","Miraj Scintel","Mister Bones","Mod Terrik","Moden Canady","Mon Mothma","Moradmin Bast","Moralo Eval","Morley","Mother Talzin","Nahdar Vebb","Nahdonnis Praji","Nien Nunb","Niima the Hutt","Nines","Norra Wexley","Nute Gunray","Nuvo Vindi","Obi-Wan Kenobi","Odd Ball","Ody Mandrell","Omi","Onaconda Farr","Oola","OOM-9","Oppo Rancisis","Orn Free Taa","Oro Dassyne","Orrimarko","Osi Sobeck","Owen Lars","Pablo-Jill","Padmé Amidala","Pagetti Rook","Paige Tico","Paploo","Petty Officer Thanisson","Pharl McQuarrie","Plo Koon","Po Nudo","Poe Dameron","Poggle the Lesser","Pong Krell","Pooja Naberrie","PZ-4CO","Quarrie","Quay Tolsite","Queen Apailana","Queen Jamillia","Queen Neeyutnee","Qui-Gon Jinn","Quiggold","Quinlan Vos","R2-D2","R2-KT","R3-S6","R4-P17","R5-D4","RA-7","Rabé","Rako Hardeen","Ransolm Casterfo","Rappertunie","Ratts Tyerell","Raymus Antilles","Ree-Yees","Reeve Panzoro","Rey","Ric Olié","Riff Tamson","Riley","Rinnriyin Di","Rio Durant","Rogue Squadron","Romba","Roos Tarpals","Rose Tico","Rotta the Hutt","Rukh","Rune Haako","Rush Clovis","Ruwee Naberrie","Ryoo Naberrie","Sabé","Sabine Wren","Saché","Saelt-Marae","Saesee Tiin","Salacious B. Crumb","San Hill","Sana Starros","Sarco Plank","Sarkli","Satine Kryze","Savage Opress","Sebulba","Senator Organa","Sergeant Kreel","Seventh Sister","Shaak Ti","Shara Bey","Shmi Skywalker","Shu Mai","Sidon Ithano","Sifo-Dyas","Sim Aloo","Siniir Rath Velus","Sio Bibble","Sixth Brother","Slowen Lo","Sly Moore","Snaggletooth","Snap Wexley","Snoke","Sola Naberrie","Sora Bulq","Strono Tuggs","Sy Snootles","Tallissan Lintra","Tarfful","Tasu Leech","Taun We","TC-14","Tee Watt Kaa","Teebo","Teedo","Teemto Pagalies","Temiri Blagg","Tessek","Tey How","Thane Kyrell","The Bendu","The Smuggler","Thrawn","Tiaan Jerjerrod","Tion Medon","Tobias Beckett","Tulon Voidgazer","Tup","U9-C4","Unkar Plutt","Val Beckett","Vanden Willard","Vice Admiral Amilyn Holdo","Vober Dand","WAC-47","Wag Too","Wald","Walrus Man","Warok","Wat Tambor","Watto","Wedge Antilles","Wes Janson","Wicket W. Warrick","Wilhuff Tarkin","Wollivan","Wuher","Wullf Yularen","Xamuel Lennox","Yaddle","Yarael Poof","Yoda","Zam Wesell","Zev Senesca","Ziro the Hutt","Zuckuss"],ar={search(e,i){setTimeout(()=>{const o=nr.filter(i=>i.toLowerCase().includes(e.toLowerCase()));i(o)},500)}};function rr(e){return function(e,i){let o=or.exec(e);if(null===o&&(o=sr.exec(e)),null!==o){const e=o[1],s=o[3];if(s.length>=i)return{leadOffset:o.index+e.length,matchingString:s,replaceableString:o[2]}}return null}(e,1)}class cr extends Hn{constructor(e,o){super(e),i(this,"name"),i(this,"picture"),this.name=e,this.picture=o}}function lr(){const[e]=V(),[i,t]=s.useState(null),n=function(e){const[i,o]=s.useState([]);return s.useEffect(()=>{const i=tr.get(e);null!=e?null!==i&&(void 0===i?(tr.set(e,null),ar.search(e,i=>{tr.set(e,i),o(i)})):o(i)):o([])},[e]),i}(i),a=Vn("/",{minLength:0}),r=s.useMemo(()=>n.map(e=>new cr(e,o.jsx(x.CircleUserRoundIcon,{className:"size-4"}))).slice(0,5),[n]),c=s.useCallback((i,o,s)=>{e.update(()=>{const e=Li(i.name);o&&o.replace(e),e.select(),s()})},[e]),l=s.useCallback(i=>null!==a(i,e)?null:rr(i),[a,e]);return o.jsx(s.Suspense,{fallback:o.jsx("div",{children:"Loading..."}),children:o.jsx(Za,{onQueryChange:t,onSelectOption:c,triggerFn:l,options:r,menuRenderFn:(e,{selectedIndex:i,selectOptionAndCleanUp:s,setHighlightedIndex:t})=>e.current&&n.length?j.createPortal(o.jsx("div",{className:"fixed w-[200px] rounded-md shadow-md",children:o.jsx(Zs,{onKeyDown:e=>{"ArrowUp"===e.key?(e.preventDefault(),t(null!==i?(i-1+r.length)%r.length:r.length-1)):"ArrowDown"===e.key&&(e.preventDefault(),t(null!==i?(i+1)%r.length:0))},children:o.jsx(Qs,{children:o.jsx(et,{children:r.map((e,t)=>o.jsxs(ot,{value:e.name,onSelect:()=>{s(e)},className:"flex items-center gap-2 "+(i===t?"bg-background-presentation-action-selected":"!bg-transparent"),children:[e.picture,e.name]},e.key))})})})}),e.current):null})})}let dr=0,gr=!1;function ur(){const[e]=V();return s.useEffect(()=>(gr||(window.addEventListener("keydown",e=>{"Tab"===e.key&&(dr=e.timeStamp)},!0),gr=!0),e.registerCommand(t.FOCUS_COMMAND,e=>{const i=t.$getSelection();return t.$isRangeSelection(i)&&dr+100>e.timeStamp&&t.$setSelection(i.clone()),!1},1)),[e]),null}function mr(e){const i=e.getShape();return{columns:i.toX-i.fromX+1,rows:i.toY-i.fromY+1}}function pr(e){if(1!==e.getChildrenSize())return!1;const i=e.getFirstChildOrThrow();return!(!t.$isParagraphNode(i)||!i.isEmpty())}function _r(e){return e.getEditorState().read(()=>{const e=t.$getSelection();if(t.$isRangeSelection(e)||v.$isTableSelection(e)){const[i]=v.$getNodeTriplet(e.anchor);if(v.$isTableCellNode(i))return i.getBackgroundColor()}return null})}function vr({onClose:e,tableCellNode:i,setIsMenuOpen:n,contextRef:a,cellMerge:r}){const[c]=V(),l=s.useRef(null),[d,g]=s.useState(i),[u,m]=s.useState({columns:1,rows:1}),[p,_]=s.useState(!1),[y,h]=s.useState(!1),[f,b]=s.useState(()=>_r(c)||"");s.useEffect(()=>c.registerMutationListener(v.TableCellNode,e=>{"updated"===e.get(d.getKey())&&(c.getEditorState().read(()=>{g(d.getLatest())}),b(_r(c)||""))},{skipInitialization:!0}),[c,d]),s.useEffect(()=>{c.getEditorState().read(()=>{const e=t.$getSelection();if(v.$isTableSelection(e)){const i=mr(e);m(mr(e)),_(i.columns>1||i.rows>1)}h(function(){const e=t.$getSelection();if(t.$isRangeSelection(e)&&!e.isCollapsed()||v.$isTableSelection(e)&&!e.anchor.is(e.focus)||!t.$isRangeSelection(e)&&!v.$isTableSelection(e))return!1;const[i]=v.$getNodeTriplet(e.anchor);return i.__colSpan>1||i.__rowSpan>1}())})},[c]),s.useEffect(()=>{const e=a.current,i=l.current,o=c.getRootElement();if(null!=e&&null!=i&&null!=o){const s=o.getBoundingClientRect(),t=e.getBoundingClientRect();i.style.opacity="1";const n=i.getBoundingClientRect(),a=5;let r=t.right+a;if(r+n.width>window.innerWidth||r+n.width>s.right){const e=t.left-n.width-a;r=(e<0?a:e)+window.pageXOffset}i.style.left=`${r+window.pageXOffset}px`;let c=t.top;if(c+n.height>window.innerHeight){const e=t.bottom-n.height;c=(e<0?a:e)+window.pageYOffset}i.style.top=`${c+ +window.pageYOffset}px`}},[a,l,c]),s.useEffect(()=>{function e(e){null==l.current||null==a.current||l.current.contains(e.target)||a.current.contains(e.target)||n(!1)}return window.addEventListener("click",e),()=>window.removeEventListener("click",e)},[n,a]);const j=s.useCallback(()=>{c.update(()=>{if(d.isAttached()){const e=v.$getTableNodeFromLexicalNodeOrThrow(d),i=c.getElementByKey(e.getKey());if(!i)throw new Error("Expected to find tableElement in DOM");const o=v.getTableObserverFromTableElement(i);null!==o&&o.$clearHighlight(),e.markDirty(),g(d.getLatest())}t.$getRoot().selectStart()})},[c,d]),w=()=>{c.update(()=>{const i=t.$getSelection();if(v.$isTableSelection(i)){const{columns:o,rows:s}=mr(i),n=i.getNodes();let a=null;for(let e=0;e<n.length;e++){const i=n[e];if(v.$isTableCellNode(i))if(null===a){i.setColSpan(o).setRowSpan(s),a=i;let e;pr(i)&&t.$isParagraphNode(e=i.getFirstChild())&&e.remove()}else if(v.$isTableCellNode(a)){pr(i)||a.append(...i.getChildren()),i.remove()}}null!==a&&(0===a.getChildrenSize()&&a.append(t.$createParagraphNode()),function(e){const i=e.getLastDescendant();t.$isTextNode(i)?i.select():t.$isElementNode(i)?i.selectEnd():null!==i&&i.selectNext()}(a)),e()}})},k=s.useCallback(i=>{c.update(()=>{v.$insertTableRow__EXPERIMENTAL(i),e()})},[c,e]),N=s.useCallback(i=>{c.update(()=>{for(let e=0;e<u.columns;e++)v.$insertTableColumn__EXPERIMENTAL(i);e()})},[c,e,u.columns]),S=s.useCallback(()=>{c.update(()=>{v.$deleteTableRow__EXPERIMENTAL(),e()})},[c,e]),C=s.useCallback(()=>{c.update(()=>{v.$getTableNodeFromLexicalNodeOrThrow(d).remove(),j(),e()})},[c,d,j,e]),E=s.useCallback(()=>{c.update(()=>{v.$deleteTableColumn__EXPERIMENTAL(),e()})},[c,e]),T=s.useCallback(()=>{c.update(()=>{const i=v.$getTableNodeFromLexicalNodeOrThrow(d),o=v.$getTableRowIndexFromTableCellNode(d),s=i.getChildren();if(o>=s.length||o<0)throw new Error("Expected table cell to be inside of table row.");const t=s[o];if(!v.$isTableRowNode(t))throw new Error("Expected table row");const n=d.getHeaderStyles()^v.TableCellHeaderStates.ROW;t.getChildren().forEach(e=>{if(!v.$isTableCellNode(e))throw new Error("Expected table cell");e.setHeaderStyles(n,v.TableCellHeaderStates.ROW)}),j(),e()})},[c,d,j,e]),O=s.useCallback(()=>{c.update(()=>{const i=v.$getTableNodeFromLexicalNodeOrThrow(d),o=v.$getTableColumnIndexFromTableCellNode(d),s=i.getChildren();if(o>=Math.max(...s.map(e=>e.getChildren().length))||o<0)throw new Error("Expected table cell to be inside of table row.");const t=d.getHeaderStyles()^v.TableCellHeaderStates.COLUMN;for(let e=0;e<s.length;e++){const i=s[e];if(!v.$isTableRowNode(i))throw new Error("Expected table row");const n=i.getChildren();if(o>=n.length)continue;const a=n[o];if(!v.$isTableCellNode(a))throw new Error("Expected table cell");a.setHeaderStyles(t,v.TableCellHeaderStates.COLUMN)}j(),e()})},[c,d,j,e]),P=s.useCallback(()=>{c.update(()=>{if(d.isAttached()){const e=v.$getTableNodeFromLexicalNodeOrThrow(d);e&&e.setRowStriping(!e.getRowStriping())}j(),e()})},[c,d,j,e]),A=s.useCallback(e=>{c.update(()=>{const i=t.$getSelection();if(t.$isRangeSelection(i)||v.$isTableSelection(i)){const[o]=v.$getNodeTriplet(i.anchor);if(v.$isTableCellNode(o)&&o.setBackgroundColor(e),v.$isTableSelection(i)){const o=i.getNodes();for(let i=0;i<o.length;i++){const s=o[i];v.$isTableCellNode(s)&&s.setBackgroundColor(e)}}}})},[c]);let R=null;return r&&(p?R=o.jsx(ot,{onSelect:()=>w(),children:"Merge cells"}):y&&(R=o.jsx(ot,{onSelect:()=>{c.update(()=>{v.$unmergeCell()})},children:"Unmerge cells"}))),o.jsx(o.Fragment,{children:o.jsx(Zs,{children:o.jsx(Qs,{children:o.jsxs(et,{children:[R,o.jsxs(ot,{className:"flex justify-between",children:["Background color",o.jsx(nn,{color:f,onChange:A,icon:o.jsx(x.PaintBucketIcon,{className:"size-4"})})]}),o.jsx(ot,{onSelect:()=>P(),children:"Toggle row striping"}),o.jsx(it,{}),o.jsxs(ot,{onSelect:()=>k(!1),children:["Insert"," ",1===u.rows?"row":`${u.rows} rows`," ","above"]}),o.jsxs(ot,{onSelect:()=>k(!0),children:["Insert"," ",1===u.rows?"row":`${u.rows} rows`," ","below"]}),o.jsx(it,{}),o.jsxs(ot,{onSelect:()=>N(!1),children:["Insert"," ",1===u.columns?"column":`${u.columns} columns`," ","left"]}),o.jsxs(ot,{onSelect:()=>N(!0),children:["Insert"," ",1===u.columns?"column":`${u.columns} columns`," ","right"]}),o.jsx(it,{}),o.jsx(ot,{onSelect:()=>E(),children:"Delete column"}),o.jsx(ot,{onSelect:()=>S(),children:"Delete row"}),o.jsx(ot,{onSelect:()=>C(),children:"Delete table"}),o.jsx(it,{}),o.jsxs(ot,{onSelect:()=>T(),children:[(d.__headerState&v.TableCellHeaderStates.ROW)===v.TableCellHeaderStates.ROW?"Remove":"Add"," ","row header"]}),o.jsxs(ot,{onSelect:()=>O(),children:[(d.__headerState&v.TableCellHeaderStates.COLUMN)===v.TableCellHeaderStates.COLUMN?"Remove":"Add"," ","column header"]})]})})})})}function yr({anchorElem:e,cellMerge:i}){const[n]=V(),a=s.useRef(null),r=s.useRef(null),[c,l]=s.useState(!1),[d,g]=s.useState(null),u=s.useCallback(()=>{const e=a.current,i=t.$getSelection(),o=window.getSelection(),s=document.activeElement;if(null==i||null==e)return void g(null);const r=n.getRootElement();if(t.$isRangeSelection(i)&&null!==r&&null!==o&&r.contains(o.anchorNode)){const e=v.$getTableCellNodeFromLexicalNode(i.anchor.getNode());if(null==e)return void g(null);if(null==n.getElementByKey(e.getKey()))return void g(null);g(e)}else s||g(null)},[n]);s.useEffect(()=>n.registerUpdateListener(()=>{n.getEditorState().read(()=>{u()})})),s.useEffect(()=>{const i=a.current;if(null!=i&&null!=d){const o=n.getElementByKey(d.getKey());if(null!=o){const s=o.getBoundingClientRect(),t=i.getBoundingClientRect(),n=e.getBoundingClientRect(),a=s.top-n.top+4,r=s.right-t.width-10-n.left;i.style.opacity="1",i.style.transform=`translate(${r}px, ${a}px)`}else i.style.opacity="0",i.style.transform="translate(-10000px, -10000px)"}},[a,d,n,e]);const m=s.useRef(d);return s.useEffect(()=>{m.current!==d&&l(!1),m.current=d},[m,d]),o.jsx("div",{className:"table-cell-action-button-container absolute top-0 will-change-transform",ref:a,children:null!=d&&o.jsxs(tt,{open:c,onOpenChange:l,children:[o.jsx(nt,{asChild:!0,children:o.jsx("button",{type:"button",className:"relative flex cursor-pointer items-center justify-center bg-none",onClick:e=>{e.stopPropagation(),l(!c)},ref:r,children:o.jsx(x.ChevronDownIcon,{className:"h-4 w-4"})})}),o.jsx(at,{className:"w-[200px] p-0",children:o.jsx(vr,{contextRef:r,setIsMenuOpen:l,onClose:()=>l(!1),tableCellNode:d,cellMerge:i})})]})})}function hr({anchorElem:e,cellMerge:i=!1}){const s=ho();return e?j.createPortal(s?o.jsx(yr,{anchorElem:e,cellMerge:i}):null,e):null}function fr({editor:e}){const i=s.useRef(null),n=s.useRef(null),a=s.useRef(null),r=s.useRef(null),[c,l]=s.useState(null),[d,g]=s.useState(null),[u,m]=s.useState(!1),[_,y]=s.useState(null),h=s.useCallback(()=>{g(null),i.current=null,y(null),r.current=null,a.current=null},[]);s.useEffect(()=>e.registerNodeTransform(v.TableNode,e=>{if(e.getColWidths())return e;const i=e.getColumnCount();return e.setColWidths(Array(i).fill(92)),e}),[e]),s.useEffect(()=>{const o=o=>{setTimeout(()=>{const s=o.target;if(_)l({x:o.clientX,y:o.clientY});else if(m((e=>!(1&~e.buttons))(o)),!(n.current&&n.current.contains(s)||i.current===s)){i.current=s;const o=v.getDOMCellFromTarget(s);o&&d!==o?e.update(()=>{const n=t.$getNearestNodeFromDOMNode(o.elem);if(!n)throw new Error("TableCellResizer: Table cell node not found.");const r=v.$getTableNodeFromLexicalNodeOrThrow(n),c=e.getElementByKey(r.getKey());if(!c)throw new Error("TableCellResizer: Table element not found.");i.current=s,a.current=c.getBoundingClientRect(),g(o)}):null==o&&h()}},0)},s=()=>{setTimeout(()=>{m(!0)},0)},r=()=>{setTimeout(()=>{m(!1)},0)},c=e.registerRootListener((e,i)=>{i?.removeEventListener("mousemove",o),i?.removeEventListener("mousedown",s),i?.removeEventListener("mouseup",r),e?.addEventListener("mousemove",o),e?.addEventListener("mousedown",s),e?.addEventListener("mouseup",r)});return()=>{c()}},[d,_,e,h]);const f=e=>"bottom"===e,b=s.useCallback(i=>{if(!d)throw new Error("TableCellResizer: Expected active cell.");e.update(()=>{const o=t.$getNearestNodeFromDOMNode(d.elem);if(!v.$isTableCellNode(o))throw new Error("TableCellResizer: Table cell node not found.");const s=v.$getTableNodeFromLexicalNodeOrThrow(o),n=v.$getTableRowIndexFromTableCellNode(o)+o.getRowSpan()-1,a=s.getChildren();if(n>=a.length||n<0)throw new Error("Expected table cell to be inside of table row.");const r=a[n];if(!v.$isTableRowNode(r))throw new Error("Expected table row");let c=r.getHeight();if(void 0===c){const i=r.getChildren();c=Math.min(...i.map(i=>j(i,e)??1/0))}const l=Math.max(c+i,33);r.setHeight(l)},{tag:"skip-scroll-into-view"})},[d,e]),j=(e,i)=>{const o=i.getElementByKey(e.getKey());return o?.clientHeight},w=s.useCallback(i=>{if(!d)throw new Error("TableCellResizer: Expected active cell.");e.update(()=>{const e=t.$getNearestNodeFromDOMNode(d.elem);if(!v.$isTableCellNode(e))throw new Error("TableCellResizer: Table cell node not found.");const o=v.$getTableNodeFromLexicalNodeOrThrow(e),[s]=v.$computeTableMapSkipCellCheck(o,null,null),n=((e,i)=>{for(let o=0;o<i.length;o++)for(let s=0;s<i[o].length;s++)if(i[o][s].cell===e)return s})(e,s);if(void 0===n)throw new Error("TableCellResizer: Table column not found.");const a=o.getColWidths();if(!a)return;const r=a[n];if(void 0===r)return;const c=[...a],l=Math.max(r+i,92);c[n]=l,o.setColWidths(c)},{tag:"skip-scroll-into-view"})},[d,e]),x=s.useCallback(e=>{const i=o=>{if(o.preventDefault(),o.stopPropagation(),!d)throw new Error("TableCellResizer: Expected active cell.");if(r.current){const{x:s,y:t}=r.current;if(null===d)return;const n=p.calculateZoomLevel(o.target);if(f(e)){const e=(o.clientY-t)/n;b(e)}else{const e=(o.clientX-s)/n;w(e)}h(),document.removeEventListener("mouseup",i)}};return i},[d,h,w,b]),k=s.useCallback(e=>i=>{if(i.preventDefault(),i.stopPropagation(),!d)throw new Error("TableCellResizer: Expected active cell.");r.current={x:i.clientX,y:i.clientY},l(r.current),y(e),document.addEventListener("mouseup",x(e))},[d,x]),N=s.useCallback(()=>{if(d){const{height:e,width:i,top:o,left:s}=d.elem.getBoundingClientRect(),t=p.calculateZoomLevel(d.elem),n=10,r={bottom:{backgroundColor:"none",cursor:"row-resize",height:`${n}px`,left:`${window.pageXOffset+s}px`,top:window.pageYOffset+o+e-n/2+"px",width:`${i}px`},right:{backgroundColor:"none",cursor:"col-resize",height:`${e}px`,left:window.pageXOffset+s+i-n/2+"px",top:`${window.pageYOffset+o}px`,width:`${n}px`}},l=a.current;return _&&c&&l&&(f(_)?(r[_].left=`${window.pageXOffset+l.left}px`,r[_].top=`${window.pageYOffset+c.y/t}px`,r[_].height="3px",r[_].width=`${l.width}px`):(r[_].top=`${window.pageYOffset+l.top}px`,r[_].left=`${window.pageXOffset+c.x/t}px`,r[_].width="3px",r[_].height=`${l.height}px`),r[_].backgroundColor="var(--background-presentation-action-selected)"),r}return{bottom:null,left:null,right:null,top:null}},[d,_,c])();return o.jsx("div",{ref:n,children:null!=d&&!u&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"TableCellResizer__ui absolute",style:N.right||void 0,onMouseDown:k("right")}),o.jsx("div",{className:"TableCellResizer__ui absolute",style:N.bottom||void 0,onMouseDown:k("bottom")})]})})}function br(){const[e]=V(),i=ho(),[t,n]=s.useState(null);return s.useEffect(()=>{n(document.body)},[]),s.useMemo(()=>i&&t?j.createPortal(o.jsx(fr,{editor:e}),t):null,[e,i,t])}function jr({anchorElem:e}){const[i]=V(),n=ho(),[a,r]=s.useState(!1),[c,l]=s.useState(!1),[d,g]=s.useState(!1),[u,m]=s.useState({}),_=s.useRef(new Set),y=s.useRef(null),h=Bn(o=>{const{isOutside:s,tableDOMNode:n}=function(e){const i=e.target;if(i&&i instanceof HTMLElement){const e=i.closest("td.EditorTheme__tableCell, th.EditorTheme__tableCell");return{isOutside:!(e||i.closest("button.EditorTheme__tableAddRows")||i.closest("button.EditorTheme__tableAddColumns")||i.closest("div.TableCellResizer__resizer")),tableDOMNode:e}}return{isOutside:!0,tableDOMNode:null}}(o);if(s)return r(!1),void l(!1);if(!n)return;y.current=n;let a=null,c=null,d=null;if(i.update(()=>{const e=t.$getNearestNodeFromDOMNode(n);if(v.$isTableCellNode(e)){const o=p.$findMatchingParent(e,e=>v.$isTableNode(e));if(!v.$isTableNode(o))return;if(d=i.getElementByKey(o?.getKey()),d){const i=o.getChildrenSize(),s=o.getChildAtIndex(0)?.getChildrenSize(),t=v.$getTableRowIndexFromTableCellNode(e),n=v.$getTableColumnIndexFromTableCellNode(e);t===i-1?a=e:n===s-1&&(c=e)}}}),d){const{width:i,y:o,right:s,left:t,bottom:n,height:g}=d.getBoundingClientRect(),{y:u,left:p}=e.getBoundingClientRect();a?(l(!1),r(!0),m({height:20,left:t-p,top:n-u+5,width:i})):c&&(l(!0),r(!1),m({height:g,left:s-p+5,top:o-u,width:20}))}},50,250),f=s.useMemo(()=>new ResizeObserver(()=>{r(!1),l(!1)}),[]);s.useEffect(()=>{if(d)return document.addEventListener("mousemove",h),()=>{r(!1),l(!1),h.cancel(),document.removeEventListener("mousemove",h)}},[d,h]),s.useEffect(()=>p.mergeRegister(i.registerMutationListener(v.TableNode,e=>{i.getEditorState().read(()=>{for(const[o,s]of Array.from(e)){const e=i.getElementByKey(o);switch(s){case"created":_.current.add(o),g(_.current.size>0),e&&f.observe(e);break;case"destroyed":_.current.delete(o),g(_.current.size>0),f.disconnect(),_.current.forEach(e=>{const o=i.getElementByKey(e);o&&f.observe(o)})}}})},{skipInitialization:!1})),[i,f]);const b=e=>{i.update(()=>{if(y.current){const i=t.$getNearestNodeFromDOMNode(y.current);i?.selectEnd(),e?(v.$insertTableRow__EXPERIMENTAL(),r(!1)):(v.$insertTableColumn__EXPERIMENTAL(),l(!1))}})};return n?o.jsxs(o.Fragment,{children:[a&&o.jsx("button",{className:"EditorTheme__tableAddRows absolute flex w-[calc(100%-25px)] cursor-pointer items-center justify-center border-0 bg-background-presentation-action-secondary hover:bg-background-presentation-action-hover",style:{...u},onClick:()=>b(!0),children:o.jsx(x.PlusIcon,{className:"h-4 w-4"})}),c&&o.jsx("button",{className:"EditorTheme__tableAddColumns absolute flex w-[calc(100%-25px)] cursor-pointer items-center justify-center border-0 bg-background-presentation-action-secondary hover:bg-background-presentation-action-hover",style:{...u},onClick:()=>b(!1),children:o.jsx(x.PlusIcon,{className:"h-4 w-4"})})]}):null}function wr({anchorElem:e}){const i=ho();return e&&i?j.createPortal(o.jsx(jr,{anchorElem:e}),e):null}function xr({children:e}){const[i]=V(),[n,a]=s.useState(i),[r,c]=s.useState("paragraph"),[l,d]=fs();return s.useEffect(()=>n.registerCommand(t.SELECTION_CHANGE_COMMAND,(e,i)=>(a(i),!1),t.COMMAND_PRIORITY_CRITICAL),[i]),o.jsxs(Co,{activeEditor:n,$updateToolbar:()=>{},blockType:r,setBlockType:c,showModal:d,children:[l,e({blockType:r})]})}const kr="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?s.useLayoutEffect:s.useEffect;const Nr=s.forwardRef(function({editor:e,ariaActiveDescendant:i,ariaAutoComplete:t,ariaControls:n,ariaDescribedBy:a,ariaErrorMessage:r,ariaExpanded:c,ariaInvalid:l,ariaLabel:d,ariaLabelledBy:g,ariaMultiline:u,ariaOwns:m,ariaRequired:p,autoCapitalize:_,className:v,id:y,role:h="textbox",spellCheck:f=!0,style:b,tabIndex:j,"data-testid":w,...x},k){const[N,S]=s.useState(e.isEditable()),C=s.useCallback(i=>{i&&i.ownerDocument&&i.ownerDocument.defaultView?e.setRootElement(i):e.setRootElement(null)},[e]),E=s.useMemo(()=>function(...e){return i=>{e.forEach(e=>{"function"==typeof e?e(i):null!=e&&(e.current=i)})}}(k,C),[C,k]);return kr(()=>(S(e.isEditable()),e.registerEditableListener(e=>{S(e)})),[e]),o.jsx("div",{"aria-activedescendant":N?i:void 0,"aria-autocomplete":N?t:"none","aria-controls":N?n:void 0,"aria-describedby":a,...null!=r?{"aria-errormessage":r}:{},"aria-expanded":N&&"combobox"===h?!!c:void 0,...null!=l?{"aria-invalid":l}:{},"aria-label":d,"aria-labelledby":g,"aria-multiline":u,"aria-owns":N?m:void 0,"aria-readonly":!N||void 0,"aria-required":p,autoCapitalize:_,className:v,contentEditable:N,"data-testid":w,id:y,ref:E,role:N?h:void 0,spellCheck:f,style:b,tabIndex:j,...x})});function Sr(e){return e.getEditorState().read(b.$canShowPlaceholderCurry(e.isComposing()))}const Cr=s.forwardRef(function(e,i){const{placeholder:s,...t}=e,[n]=V();return o.jsxs(o.Fragment,{children:[o.jsx(Nr,{editor:n,...t,ref:i}),null!=s&&o.jsx(Er,{editor:n,content:s})]})});function Er({content:e,editor:i}){const t=function(e){const[i,o]=s.useState(()=>Sr(e));return kr(()=>{function i(){const i=Sr(e);o(i)}return i(),p.mergeRegister(e.registerUpdateListener(()=>{i()}),e.registerEditableListener(()=>{i()}))},[e]),i}(i),[n,a]=s.useState(i.isEditable());if(s.useLayoutEffect(()=>(a(i.isEditable()),i.registerEditableListener(e=>{a(e)})),[i]),!t)return null;let r=null;return"function"==typeof e?r=e(n):null!==e&&(r=e),null===r?null:o.jsx("div",{"aria-hidden":!0,children:r})}function Tr({placeholder:e,className:i,placeholderClassName:s}){return o.jsx(Cr,{className:i??"ContentEditable__root relative block bg-background-system-body-primary text-content-system-global-primary overflow-auto min-h-full !px-12 py-4 focus:outline-none max-w-full overflow-x-hidden whitespace-pre-wrap break-words","aria-placeholder":e,placeholder:o.jsx("div",{className:s??"pointer-events-none absolute left-0 top-0 select-none overflow-hidden text-ellipsis px-8 py-[18px] text-content-system-global-secondary",children:e})})}class Or extends Hn{constructor(e,o){super(e),i(this,"title"),i(this,"icon"),i(this,"keywords"),i(this,"keyboardShortcut"),i(this,"onSelect"),this.title=e,this.keywords=o.keywords||[],this.icon=o.icon,this.keyboardShortcut=o.keyboardShortcut,this.onSelect=o.onSelect.bind(this)}}function Pr({alignment:e}){return new Or(`Align ${e}`,{icon:o.jsx(Ar,{alignment:e}),keywords:["align","justify",e],onSelect:(i,o)=>o.dispatchCommand(t.FORMAT_ELEMENT_COMMAND,e)})}function Ar({alignment:e}){switch(e){case"left":return o.jsx(x.AlignLeftIcon,{className:"size-4"});case"center":return o.jsx(x.AlignCenterIcon,{className:"size-4"});case"right":return o.jsx(x.AlignRightIcon,{className:"size-4"});case"justify":return o.jsx(x.AlignJustifyIcon,{className:"size-4"})}}function Rr({n:e}){return new Or(`Heading ${e}`,{icon:o.jsx(Mr,{n:e}),keywords:["heading","header",`h${e}`],onSelect:(i,o)=>o.update(()=>{const i=t.$getSelection();t.$isRangeSelection(i)&&y.$setBlocksType(i,()=>_.$createHeadingNode(`h${e}`))})})}function Mr({n:e}){switch(e){case 1:return o.jsx(x.Heading1Icon,{className:"size-4"});case 2:return o.jsx(x.Heading2Icon,{className:"size-4"});case 3:return o.jsx(x.Heading3Icon,{className:"size-4"})}}function Dr({queryString:e}){const i=[];if(null==e)return i;const s=e.match(/^([1-9]\d?)(?:x([1-9]\d?)?)?$/);if(null!==s){const e=s[1],t=s[2]?[s[2]]:[1,2,3,4,5,6,7,8,9,10].map(String);i.push(...t.map(i=>new Or(`${e}x${i} Table`,{icon:o.jsx("i",{className:"icon table"}),keywords:["table"],onSelect:(o,s)=>s.dispatchCommand(v.INSERT_TABLE_COMMAND,{columns:i,rows:e})})))}return i}function Br({embed:e}){const i=pt.find(i=>i.type===e);return new Or(`Embed ${i.contentName}`,{icon:i.icon,keywords:[...i.keywords,"embed"],onSelect:(e,o)=>o.dispatchCommand(Gs,i.type)})}const Fr=[{description:"grinning face",emoji:"😀",category:"Smileys & Emotion",aliases:["grinning"],tags:["smile","happy"],unicode_version:"6.1",ios_version:"6.0"},{emoji:"😃",description:"grinning face with big eyes",category:"Smileys & Emotion",aliases:["smiley"],tags:["happy","joy","haha"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😄",description:"grinning face with smiling eyes",category:"Smileys & Emotion",aliases:["smile"],tags:["happy","joy","laugh","pleased"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😁",description:"beaming face with smiling eyes",category:"Smileys & Emotion",aliases:["grin"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😆",description:"grinning squinting face",category:"Smileys & Emotion",aliases:["laughing","satisfied"],tags:["happy","haha"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😅",description:"grinning face with sweat",category:"Smileys & Emotion",aliases:["sweat_smile"],tags:["hot"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🤣",description:"rolling on the floor laughing",category:"Smileys & Emotion",aliases:["rofl"],tags:["lol","laughing"],unicode_version:"9.0",ios_version:"10.2"},{emoji:"😂",description:"face with tears of joy",category:"Smileys & Emotion",aliases:["joy"],tags:["tears"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🙂",description:"slightly smiling face",category:"Smileys & Emotion",aliases:["slightly_smiling_face"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🙃",description:"upside-down face",category:"Smileys & Emotion",aliases:["upside_down_face"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"😉",description:"winking face",category:"Smileys & Emotion",aliases:["wink"],tags:["flirt"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😊",description:"smiling face with smiling eyes",category:"Smileys & Emotion",aliases:["blush"],tags:["proud"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😇",description:"smiling face with halo",category:"Smileys & Emotion",aliases:["innocent"],tags:["angel"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥰",description:"smiling face with hearts",category:"Smileys & Emotion",aliases:["smiling_face_with_three_hearts"],tags:["love"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"😍",description:"smiling face with heart-eyes",category:"Smileys & Emotion",aliases:["heart_eyes"],tags:["love","crush"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🤩",description:"star-struck",category:"Smileys & Emotion",aliases:["star_struck"],tags:["eyes"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"😘",description:"face blowing a kiss",category:"Smileys & Emotion",aliases:["kissing_heart"],tags:["flirt"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😗",description:"kissing face",category:"Smileys & Emotion",aliases:["kissing"],tags:[],unicode_version:"6.1",ios_version:"6.0"},{emoji:"☺️",description:"smiling face",category:"Smileys & Emotion",aliases:["relaxed"],tags:["blush","pleased"],unicode_version:"",ios_version:"6.0"},{emoji:"😚",description:"kissing face with closed eyes",category:"Smileys & Emotion",aliases:["kissing_closed_eyes"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😙",description:"kissing face with smiling eyes",category:"Smileys & Emotion",aliases:["kissing_smiling_eyes"],tags:[],unicode_version:"6.1",ios_version:"6.0"},{emoji:"🥲",description:"smiling face with tear",category:"Smileys & Emotion",aliases:["smiling_face_with_tear"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"😋",description:"face savoring food",category:"Smileys & Emotion",aliases:["yum"],tags:["tongue","lick"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😛",description:"face with tongue",category:"Smileys & Emotion",aliases:["stuck_out_tongue"],tags:[],unicode_version:"6.1",ios_version:"6.0"},{emoji:"😜",description:"winking face with tongue",category:"Smileys & Emotion",aliases:["stuck_out_tongue_winking_eye"],tags:["prank","silly"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🤪",description:"zany face",category:"Smileys & Emotion",aliases:["zany_face"],tags:["goofy","wacky"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"😝",description:"squinting face with tongue",category:"Smileys & Emotion",aliases:["stuck_out_tongue_closed_eyes"],tags:["prank"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🤑",description:"money-mouth face",category:"Smileys & Emotion",aliases:["money_mouth_face"],tags:["rich"],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🤗",description:"hugging face",category:"Smileys & Emotion",aliases:["hugs"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🤭",description:"face with hand over mouth",category:"Smileys & Emotion",aliases:["hand_over_mouth"],tags:["quiet","whoops"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🤫",description:"shushing face",category:"Smileys & Emotion",aliases:["shushing_face"],tags:["silence","quiet"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🤔",description:"thinking face",category:"Smileys & Emotion",aliases:["thinking"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🤐",description:"zipper-mouth face",category:"Smileys & Emotion",aliases:["zipper_mouth_face"],tags:["silence","hush"],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🤨",description:"face with raised eyebrow",category:"Smileys & Emotion",aliases:["raised_eyebrow"],tags:["suspicious"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"😐",description:"neutral face",category:"Smileys & Emotion",aliases:["neutral_face"],tags:["meh"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😑",description:"expressionless face",category:"Smileys & Emotion",aliases:["expressionless"],tags:[],unicode_version:"6.1",ios_version:"6.0"},{emoji:"😶",description:"face without mouth",category:"Smileys & Emotion",aliases:["no_mouth"],tags:["mute","silence"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😶🌫️",description:"face in clouds",category:"Smileys & Emotion",aliases:["face_in_clouds"],tags:[],unicode_version:"13.1",ios_version:"14.0"},{emoji:"😏",description:"smirking face",category:"Smileys & Emotion",aliases:["smirk"],tags:["smug"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😒",description:"unamused face",category:"Smileys & Emotion",aliases:["unamused"],tags:["meh"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🙄",description:"face with rolling eyes",category:"Smileys & Emotion",aliases:["roll_eyes"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"😬",description:"grimacing face",category:"Smileys & Emotion",aliases:["grimacing"],tags:[],unicode_version:"6.1",ios_version:"6.0"},{emoji:"😮💨",description:"face exhaling",category:"Smileys & Emotion",aliases:["face_exhaling"],tags:[],unicode_version:"13.1",ios_version:"14.0"},{emoji:"🤥",description:"lying face",category:"Smileys & Emotion",aliases:["lying_face"],tags:["liar"],unicode_version:"9.0",ios_version:"10.2"},{emoji:"😌",description:"relieved face",category:"Smileys & Emotion",aliases:["relieved"],tags:["whew"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😔",description:"pensive face",category:"Smileys & Emotion",aliases:["pensive"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😪",description:"sleepy face",category:"Smileys & Emotion",aliases:["sleepy"],tags:["tired"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🤤",description:"drooling face",category:"Smileys & Emotion",aliases:["drooling_face"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"😴",description:"sleeping face",category:"Smileys & Emotion",aliases:["sleeping"],tags:["zzz"],unicode_version:"6.1",ios_version:"6.0"},{emoji:"😷",description:"face with medical mask",category:"Smileys & Emotion",aliases:["mask"],tags:["sick","ill"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🤒",description:"face with thermometer",category:"Smileys & Emotion",aliases:["face_with_thermometer"],tags:["sick"],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🤕",description:"face with head-bandage",category:"Smileys & Emotion",aliases:["face_with_head_bandage"],tags:["hurt"],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🤢",description:"nauseated face",category:"Smileys & Emotion",aliases:["nauseated_face"],tags:["sick","barf","disgusted"],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🤮",description:"face vomiting",category:"Smileys & Emotion",aliases:["vomiting_face"],tags:["barf","sick"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🤧",description:"sneezing face",category:"Smileys & Emotion",aliases:["sneezing_face"],tags:["achoo","sick"],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🥵",description:"hot face",category:"Smileys & Emotion",aliases:["hot_face"],tags:["heat","sweating"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🥶",description:"cold face",category:"Smileys & Emotion",aliases:["cold_face"],tags:["freezing","ice"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🥴",description:"woozy face",category:"Smileys & Emotion",aliases:["woozy_face"],tags:["groggy"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"😵",description:"knocked-out face",category:"Smileys & Emotion",aliases:["dizzy_face"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😵💫",description:"face with spiral eyes",category:"Smileys & Emotion",aliases:["face_with_spiral_eyes"],tags:[],unicode_version:"13.1",ios_version:"14.0"},{emoji:"🤯",description:"exploding head",category:"Smileys & Emotion",aliases:["exploding_head"],tags:["mind","blown"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🤠",description:"cowboy hat face",category:"Smileys & Emotion",aliases:["cowboy_hat_face"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🥳",description:"partying face",category:"Smileys & Emotion",aliases:["partying_face"],tags:["celebration","birthday"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🥸",description:"disguised face",category:"Smileys & Emotion",aliases:["disguised_face"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"😎",description:"smiling face with sunglasses",category:"Smileys & Emotion",aliases:["sunglasses"],tags:["cool"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🤓",description:"nerd face",category:"Smileys & Emotion",aliases:["nerd_face"],tags:["geek","glasses"],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🧐",description:"face with monocle",category:"Smileys & Emotion",aliases:["monocle_face"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"😕",description:"confused face",category:"Smileys & Emotion",aliases:["confused"],tags:[],unicode_version:"6.1",ios_version:"6.0"},{emoji:"😟",description:"worried face",category:"Smileys & Emotion",aliases:["worried"],tags:["nervous"],unicode_version:"6.1",ios_version:"6.0"},{emoji:"🙁",description:"slightly frowning face",category:"Smileys & Emotion",aliases:["slightly_frowning_face"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"☹️",description:"frowning face",category:"Smileys & Emotion",aliases:["frowning_face"],tags:[],unicode_version:"",ios_version:"9.1"},{emoji:"😮",description:"face with open mouth",category:"Smileys & Emotion",aliases:["open_mouth"],tags:["surprise","impressed","wow"],unicode_version:"6.1",ios_version:"6.0"},{emoji:"😯",description:"hushed face",category:"Smileys & Emotion",aliases:["hushed"],tags:["silence","speechless"],unicode_version:"6.1",ios_version:"6.0"},{emoji:"😲",description:"astonished face",category:"Smileys & Emotion",aliases:["astonished"],tags:["amazed","gasp"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😳",description:"flushed face",category:"Smileys & Emotion",aliases:["flushed"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥺",description:"pleading face",category:"Smileys & Emotion",aliases:["pleading_face"],tags:["puppy","eyes"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"😦",description:"frowning face with open mouth",category:"Smileys & Emotion",aliases:["frowning"],tags:[],unicode_version:"6.1",ios_version:"6.0"},{emoji:"😧",description:"anguished face",category:"Smileys & Emotion",aliases:["anguished"],tags:["stunned"],unicode_version:"6.1",ios_version:"6.0"},{emoji:"😨",description:"fearful face",category:"Smileys & Emotion",aliases:["fearful"],tags:["scared","shocked","oops"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😰",description:"anxious face with sweat",category:"Smileys & Emotion",aliases:["cold_sweat"],tags:["nervous"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😥",description:"sad but relieved face",category:"Smileys & Emotion",aliases:["disappointed_relieved"],tags:["phew","sweat","nervous"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😢",description:"crying face",category:"Smileys & Emotion",aliases:["cry"],tags:["sad","tear"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😭",description:"loudly crying face",category:"Smileys & Emotion",aliases:["sob"],tags:["sad","cry","bawling"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😱",description:"face screaming in fear",category:"Smileys & Emotion",aliases:["scream"],tags:["horror","shocked"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😖",description:"confounded face",category:"Smileys & Emotion",aliases:["confounded"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😣",description:"persevering face",category:"Smileys & Emotion",aliases:["persevere"],tags:["struggling"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😞",description:"disappointed face",category:"Smileys & Emotion",aliases:["disappointed"],tags:["sad"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😓",description:"downcast face with sweat",category:"Smileys & Emotion",aliases:["sweat"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😩",description:"weary face",category:"Smileys & Emotion",aliases:["weary"],tags:["tired"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😫",description:"tired face",category:"Smileys & Emotion",aliases:["tired_face"],tags:["upset","whine"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥱",description:"yawning face",category:"Smileys & Emotion",aliases:["yawning_face"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"😤",description:"face with steam from nose",category:"Smileys & Emotion",aliases:["triumph"],tags:["smug"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😡",description:"pouting face",category:"Smileys & Emotion",aliases:["rage","pout"],tags:["angry"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😠",description:"angry face",category:"Smileys & Emotion",aliases:["angry"],tags:["mad","annoyed"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🤬",description:"face with symbols on mouth",category:"Smileys & Emotion",aliases:["cursing_face"],tags:["foul"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"😈",description:"smiling face with horns",category:"Smileys & Emotion",aliases:["smiling_imp"],tags:["devil","evil","horns"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👿",description:"angry face with horns",category:"Smileys & Emotion",aliases:["imp"],tags:["angry","devil","evil","horns"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💀",description:"skull",category:"Smileys & Emotion",aliases:["skull"],tags:["dead","danger","poison"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"☠️",description:"skull and crossbones",category:"Smileys & Emotion",aliases:["skull_and_crossbones"],tags:["danger","pirate"],unicode_version:"",ios_version:"9.1"},{emoji:"💩",description:"pile of poo",category:"Smileys & Emotion",aliases:["hankey","poop","shit"],tags:["crap"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🤡",description:"clown face",category:"Smileys & Emotion",aliases:["clown_face"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"👹",description:"ogre",category:"Smileys & Emotion",aliases:["japanese_ogre"],tags:["monster"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👺",description:"goblin",category:"Smileys & Emotion",aliases:["japanese_goblin"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👻",description:"ghost",category:"Smileys & Emotion",aliases:["ghost"],tags:["halloween"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👽",description:"alien",category:"Smileys & Emotion",aliases:["alien"],tags:["ufo"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👾",description:"alien monster",category:"Smileys & Emotion",aliases:["space_invader"],tags:["game","retro"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🤖",description:"robot",category:"Smileys & Emotion",aliases:["robot"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"😺",description:"grinning cat",category:"Smileys & Emotion",aliases:["smiley_cat"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😸",description:"grinning cat with smiling eyes",category:"Smileys & Emotion",aliases:["smile_cat"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😹",description:"cat with tears of joy",category:"Smileys & Emotion",aliases:["joy_cat"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😻",description:"smiling cat with heart-eyes",category:"Smileys & Emotion",aliases:["heart_eyes_cat"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😼",description:"cat with wry smile",category:"Smileys & Emotion",aliases:["smirk_cat"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😽",description:"kissing cat",category:"Smileys & Emotion",aliases:["kissing_cat"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🙀",description:"weary cat",category:"Smileys & Emotion",aliases:["scream_cat"],tags:["horror"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😿",description:"crying cat",category:"Smileys & Emotion",aliases:["crying_cat_face"],tags:["sad","tear"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"😾",description:"pouting cat",category:"Smileys & Emotion",aliases:["pouting_cat"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🙈",description:"see-no-evil monkey",category:"Smileys & Emotion",aliases:["see_no_evil"],tags:["monkey","blind","ignore"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🙉",description:"hear-no-evil monkey",category:"Smileys & Emotion",aliases:["hear_no_evil"],tags:["monkey","deaf"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🙊",description:"speak-no-evil monkey",category:"Smileys & Emotion",aliases:["speak_no_evil"],tags:["monkey","mute","hush"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💋",description:"kiss mark",category:"Smileys & Emotion",aliases:["kiss"],tags:["lipstick"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💌",description:"love letter",category:"Smileys & Emotion",aliases:["love_letter"],tags:["email","envelope"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💘",description:"heart with arrow",category:"Smileys & Emotion",aliases:["cupid"],tags:["love","heart"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💝",description:"heart with ribbon",category:"Smileys & Emotion",aliases:["gift_heart"],tags:["chocolates"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💖",description:"sparkling heart",category:"Smileys & Emotion",aliases:["sparkling_heart"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💗",description:"growing heart",category:"Smileys & Emotion",aliases:["heartpulse"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💓",description:"beating heart",category:"Smileys & Emotion",aliases:["heartbeat"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💞",description:"revolving hearts",category:"Smileys & Emotion",aliases:["revolving_hearts"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💕",description:"two hearts",category:"Smileys & Emotion",aliases:["two_hearts"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💟",description:"heart decoration",category:"Smileys & Emotion",aliases:["heart_decoration"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"❣️",description:"heart exclamation",category:"Smileys & Emotion",aliases:["heavy_heart_exclamation"],tags:[],unicode_version:"",ios_version:"9.1"},{emoji:"💔",description:"broken heart",category:"Smileys & Emotion",aliases:["broken_heart"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"❤️🔥",description:"heart on fire",category:"Smileys & Emotion",aliases:["heart_on_fire"],tags:[],unicode_version:"13.1",ios_version:"14.0"},{emoji:"❤️🩹",description:"mending heart",category:"Smileys & Emotion",aliases:["mending_heart"],tags:[],unicode_version:"13.1",ios_version:"14.0"},{emoji:"❤️",description:"red heart",category:"Smileys & Emotion",aliases:["heart"],tags:["love"],unicode_version:"",ios_version:"6.0"},{emoji:"🧡",description:"orange heart",category:"Smileys & Emotion",aliases:["orange_heart"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"💛",description:"yellow heart",category:"Smileys & Emotion",aliases:["yellow_heart"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💚",description:"green heart",category:"Smileys & Emotion",aliases:["green_heart"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💙",description:"blue heart",category:"Smileys & Emotion",aliases:["blue_heart"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💜",description:"purple heart",category:"Smileys & Emotion",aliases:["purple_heart"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🤎",description:"brown heart",category:"Smileys & Emotion",aliases:["brown_heart"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🖤",description:"black heart",category:"Smileys & Emotion",aliases:["black_heart"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🤍",description:"white heart",category:"Smileys & Emotion",aliases:["white_heart"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"💯",description:"hundred points",category:"Smileys & Emotion",aliases:["100"],tags:["score","perfect"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💢",description:"anger symbol",category:"Smileys & Emotion",aliases:["anger"],tags:["angry"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💥",description:"collision",category:"Smileys & Emotion",aliases:["boom","collision"],tags:["explode"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💫",description:"dizzy",category:"Smileys & Emotion",aliases:["dizzy"],tags:["star"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💦",description:"sweat droplets",category:"Smileys & Emotion",aliases:["sweat_drops"],tags:["water","workout"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💨",description:"dashing away",category:"Smileys & Emotion",aliases:["dash"],tags:["wind","blow","fast"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕳️",description:"hole",category:"Smileys & Emotion",aliases:["hole"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"💣",description:"bomb",category:"Smileys & Emotion",aliases:["bomb"],tags:["boom"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💬",description:"speech balloon",category:"Smileys & Emotion",aliases:["speech_balloon"],tags:["comment"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👁️🗨️",description:"eye in speech bubble",category:"Smileys & Emotion",aliases:["eye_speech_bubble"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🗨️",description:"left speech bubble",category:"Smileys & Emotion",aliases:["left_speech_bubble"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🗯️",description:"right anger bubble",category:"Smileys & Emotion",aliases:["right_anger_bubble"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"💭",description:"thought balloon",category:"Smileys & Emotion",aliases:["thought_balloon"],tags:["thinking"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💤",description:"zzz",category:"Smileys & Emotion",aliases:["zzz"],tags:["sleeping"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👋",description:"waving hand",category:"People & Body",aliases:["wave"],tags:["goodbye"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🤚",description:"raised back of hand",category:"People & Body",aliases:["raised_back_of_hand"],tags:[],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🖐️",description:"hand with fingers splayed",category:"People & Body",aliases:["raised_hand_with_fingers_splayed"],tags:[],unicode_version:"7.0",ios_version:"9.1",skin_tones:!0},{emoji:"✋",description:"raised hand",category:"People & Body",aliases:["hand","raised_hand"],tags:["highfive","stop"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🖖",description:"vulcan salute",category:"People & Body",aliases:["vulcan_salute"],tags:["prosper","spock"],unicode_version:"7.0",ios_version:"8.3",skin_tones:!0},{emoji:"👌",description:"OK hand",category:"People & Body",aliases:["ok_hand"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🤌",description:"pinched fingers",category:"People & Body",aliases:["pinched_fingers"],tags:[],unicode_version:"13.0",ios_version:"14.0",skin_tones:!0},{emoji:"🤏",description:"pinching hand",category:"People & Body",aliases:["pinching_hand"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"✌️",description:"victory hand",category:"People & Body",aliases:["v"],tags:["victory","peace"],unicode_version:"",ios_version:"6.0",skin_tones:!0},{emoji:"🤞",description:"crossed fingers",category:"People & Body",aliases:["crossed_fingers"],tags:["luck","hopeful"],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🤟",description:"love-you gesture",category:"People & Body",aliases:["love_you_gesture"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🤘",description:"sign of the horns",category:"People & Body",aliases:["metal"],tags:[],unicode_version:"8.0",ios_version:"9.1",skin_tones:!0},{emoji:"🤙",description:"call me hand",category:"People & Body",aliases:["call_me_hand"],tags:[],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"👈",description:"backhand index pointing left",category:"People & Body",aliases:["point_left"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👉",description:"backhand index pointing right",category:"People & Body",aliases:["point_right"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👆",description:"backhand index pointing up",category:"People & Body",aliases:["point_up_2"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🖕",description:"middle finger",category:"People & Body",aliases:["middle_finger","fu"],tags:[],unicode_version:"7.0",ios_version:"9.1",skin_tones:!0},{emoji:"👇",description:"backhand index pointing down",category:"People & Body",aliases:["point_down"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"☝️",description:"index pointing up",category:"People & Body",aliases:["point_up"],tags:[],unicode_version:"",ios_version:"6.0",skin_tones:!0},{emoji:"👍",description:"thumbs up",category:"People & Body",aliases:["+1","thumbsup"],tags:["approve","ok"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👎",description:"thumbs down",category:"People & Body",aliases:["-1","thumbsdown"],tags:["disapprove","bury"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"✊",description:"raised fist",category:"People & Body",aliases:["fist_raised","fist"],tags:["power"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👊",description:"oncoming fist",category:"People & Body",aliases:["fist_oncoming","facepunch","punch"],tags:["attack"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🤛",description:"left-facing fist",category:"People & Body",aliases:["fist_left"],tags:[],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🤜",description:"right-facing fist",category:"People & Body",aliases:["fist_right"],tags:[],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"👏",description:"clapping hands",category:"People & Body",aliases:["clap"],tags:["praise","applause"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🙌",description:"raising hands",category:"People & Body",aliases:["raised_hands"],tags:["hooray"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👐",description:"open hands",category:"People & Body",aliases:["open_hands"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🤲",description:"palms up together",category:"People & Body",aliases:["palms_up_together"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🤝",description:"handshake",category:"People & Body",aliases:["handshake"],tags:["deal"],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🙏",description:"folded hands",category:"People & Body",aliases:["pray"],tags:["please","hope","wish"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"✍️",description:"writing hand",category:"People & Body",aliases:["writing_hand"],tags:[],unicode_version:"",ios_version:"9.1",skin_tones:!0},{emoji:"💅",description:"nail polish",category:"People & Body",aliases:["nail_care"],tags:["beauty","manicure"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🤳",description:"selfie",category:"People & Body",aliases:["selfie"],tags:[],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"💪",description:"flexed biceps",category:"People & Body",aliases:["muscle"],tags:["flex","bicep","strong","workout"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🦾",description:"mechanical arm",category:"People & Body",aliases:["mechanical_arm"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🦿",description:"mechanical leg",category:"People & Body",aliases:["mechanical_leg"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🦵",description:"leg",category:"People & Body",aliases:["leg"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🦶",description:"foot",category:"People & Body",aliases:["foot"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"👂",description:"ear",category:"People & Body",aliases:["ear"],tags:["hear","sound","listen"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🦻",description:"ear with hearing aid",category:"People & Body",aliases:["ear_with_hearing_aid"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"👃",description:"nose",category:"People & Body",aliases:["nose"],tags:["smell"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🧠",description:"brain",category:"People & Body",aliases:["brain"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🫀",description:"anatomical heart",category:"People & Body",aliases:["anatomical_heart"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🫁",description:"lungs",category:"People & Body",aliases:["lungs"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🦷",description:"tooth",category:"People & Body",aliases:["tooth"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🦴",description:"bone",category:"People & Body",aliases:["bone"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"👀",description:"eyes",category:"People & Body",aliases:["eyes"],tags:["look","see","watch"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👁️",description:"eye",category:"People & Body",aliases:["eye"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"👅",description:"tongue",category:"People & Body",aliases:["tongue"],tags:["taste"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👄",description:"mouth",category:"People & Body",aliases:["lips"],tags:["kiss"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👶",description:"baby",category:"People & Body",aliases:["baby"],tags:["child","newborn"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🧒",description:"child",category:"People & Body",aliases:["child"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"👦",description:"boy",category:"People & Body",aliases:["boy"],tags:["child"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👧",description:"girl",category:"People & Body",aliases:["girl"],tags:["child"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🧑",description:"person",category:"People & Body",aliases:["adult"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"👱",description:"person: blond hair",category:"People & Body",aliases:["blond_haired_person"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👨",description:"man",category:"People & Body",aliases:["man"],tags:["mustache","father","dad"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🧔",description:"person: beard",category:"People & Body",aliases:["bearded_person"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧔♂️",description:"man: beard",category:"People & Body",aliases:["man_beard"],tags:[],unicode_version:"13.1",ios_version:"14.0",skin_tones:!0},{emoji:"🧔♀️",description:"woman: beard",category:"People & Body",aliases:["woman_beard"],tags:[],unicode_version:"13.1",ios_version:"14.0",skin_tones:!0},{emoji:"👨🦰",description:"man: red hair",category:"People & Body",aliases:["red_haired_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"👨🦱",description:"man: curly hair",category:"People & Body",aliases:["curly_haired_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"👨🦳",description:"man: white hair",category:"People & Body",aliases:["white_haired_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"👨🦲",description:"man: bald",category:"People & Body",aliases:["bald_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"👩",description:"woman",category:"People & Body",aliases:["woman"],tags:["girls"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👩🦰",description:"woman: red hair",category:"People & Body",aliases:["red_haired_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧑🦰",description:"person: red hair",category:"People & Body",aliases:["person_red_hair"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👩🦱",description:"woman: curly hair",category:"People & Body",aliases:["curly_haired_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧑🦱",description:"person: curly hair",category:"People & Body",aliases:["person_curly_hair"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👩🦳",description:"woman: white hair",category:"People & Body",aliases:["white_haired_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧑🦳",description:"person: white hair",category:"People & Body",aliases:["person_white_hair"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👩🦲",description:"woman: bald",category:"People & Body",aliases:["bald_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧑🦲",description:"person: bald",category:"People & Body",aliases:["person_bald"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👱♀️",description:"woman: blond hair",category:"People & Body",aliases:["blond_haired_woman","blonde_woman"],tags:[],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"👱♂️",description:"man: blond hair",category:"People & Body",aliases:["blond_haired_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧓",description:"older person",category:"People & Body",aliases:["older_adult"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"👴",description:"old man",category:"People & Body",aliases:["older_man"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👵",description:"old woman",category:"People & Body",aliases:["older_woman"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🙍",description:"person frowning",category:"People & Body",aliases:["frowning_person"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🙍♂️",description:"man frowning",category:"People & Body",aliases:["frowning_man"],tags:[],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"🙍♀️",description:"woman frowning",category:"People & Body",aliases:["frowning_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🙎",description:"person pouting",category:"People & Body",aliases:["pouting_face"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🙎♂️",description:"man pouting",category:"People & Body",aliases:["pouting_man"],tags:[],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"🙎♀️",description:"woman pouting",category:"People & Body",aliases:["pouting_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🙅",description:"person gesturing NO",category:"People & Body",aliases:["no_good"],tags:["stop","halt","denied"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🙅♂️",description:"man gesturing NO",category:"People & Body",aliases:["no_good_man","ng_man"],tags:["stop","halt","denied"],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"🙅♀️",description:"woman gesturing NO",category:"People & Body",aliases:["no_good_woman","ng_woman"],tags:["stop","halt","denied"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🙆",description:"person gesturing OK",category:"People & Body",aliases:["ok_person"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🙆♂️",description:"man gesturing OK",category:"People & Body",aliases:["ok_man"],tags:[],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"🙆♀️",description:"woman gesturing OK",category:"People & Body",aliases:["ok_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"💁",description:"person tipping hand",category:"People & Body",aliases:["tipping_hand_person","information_desk_person"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"💁♂️",description:"man tipping hand",category:"People & Body",aliases:["tipping_hand_man","sassy_man"],tags:["information"],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"💁♀️",description:"woman tipping hand",category:"People & Body",aliases:["tipping_hand_woman","sassy_woman"],tags:["information"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🙋",description:"person raising hand",category:"People & Body",aliases:["raising_hand"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🙋♂️",description:"man raising hand",category:"People & Body",aliases:["raising_hand_man"],tags:[],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"🙋♀️",description:"woman raising hand",category:"People & Body",aliases:["raising_hand_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧏",description:"deaf person",category:"People & Body",aliases:["deaf_person"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"🧏♂️",description:"deaf man",category:"People & Body",aliases:["deaf_man"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"🧏♀️",description:"deaf woman",category:"People & Body",aliases:["deaf_woman"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"🙇",description:"person bowing",category:"People & Body",aliases:["bow"],tags:["respect","thanks"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🙇♂️",description:"man bowing",category:"People & Body",aliases:["bowing_man"],tags:["respect","thanks"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🙇♀️",description:"woman bowing",category:"People & Body",aliases:["bowing_woman"],tags:["respect","thanks"],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"🤦",description:"person facepalming",category:"People & Body",aliases:["facepalm"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🤦♂️",description:"man facepalming",category:"People & Body",aliases:["man_facepalming"],tags:[],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🤦♀️",description:"woman facepalming",category:"People & Body",aliases:["woman_facepalming"],tags:[],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🤷",description:"person shrugging",category:"People & Body",aliases:["shrug"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🤷♂️",description:"man shrugging",category:"People & Body",aliases:["man_shrugging"],tags:[],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🤷♀️",description:"woman shrugging",category:"People & Body",aliases:["woman_shrugging"],tags:[],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🧑⚕️",description:"health worker",category:"People & Body",aliases:["health_worker"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨⚕️",description:"man health worker",category:"People & Body",aliases:["man_health_worker"],tags:["doctor","nurse"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👩⚕️",description:"woman health worker",category:"People & Body",aliases:["woman_health_worker"],tags:["doctor","nurse"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🧑🎓",description:"student",category:"People & Body",aliases:["student"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨🎓",description:"man student",category:"People & Body",aliases:["man_student"],tags:["graduation"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👩🎓",description:"woman student",category:"People & Body",aliases:["woman_student"],tags:["graduation"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🧑🏫",description:"teacher",category:"People & Body",aliases:["teacher"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨🏫",description:"man teacher",category:"People & Body",aliases:["man_teacher"],tags:["school","professor"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👩🏫",description:"woman teacher",category:"People & Body",aliases:["woman_teacher"],tags:["school","professor"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🧑⚖️",description:"judge",category:"People & Body",aliases:["judge"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨⚖️",description:"man judge",category:"People & Body",aliases:["man_judge"],tags:["justice"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👩⚖️",description:"woman judge",category:"People & Body",aliases:["woman_judge"],tags:["justice"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🧑🌾",description:"farmer",category:"People & Body",aliases:["farmer"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨🌾",description:"man farmer",category:"People & Body",aliases:["man_farmer"],tags:[],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👩🌾",description:"woman farmer",category:"People & Body",aliases:["woman_farmer"],tags:[],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🧑🍳",description:"cook",category:"People & Body",aliases:["cook"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨🍳",description:"man cook",category:"People & Body",aliases:["man_cook"],tags:["chef"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👩🍳",description:"woman cook",category:"People & Body",aliases:["woman_cook"],tags:["chef"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🧑🔧",description:"mechanic",category:"People & Body",aliases:["mechanic"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨🔧",description:"man mechanic",category:"People & Body",aliases:["man_mechanic"],tags:[],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👩🔧",description:"woman mechanic",category:"People & Body",aliases:["woman_mechanic"],tags:[],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🧑🏭",description:"factory worker",category:"People & Body",aliases:["factory_worker"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨🏭",description:"man factory worker",category:"People & Body",aliases:["man_factory_worker"],tags:[],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👩🏭",description:"woman factory worker",category:"People & Body",aliases:["woman_factory_worker"],tags:[],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🧑💼",description:"office worker",category:"People & Body",aliases:["office_worker"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨💼",description:"man office worker",category:"People & Body",aliases:["man_office_worker"],tags:["business"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👩💼",description:"woman office worker",category:"People & Body",aliases:["woman_office_worker"],tags:["business"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🧑🔬",description:"scientist",category:"People & Body",aliases:["scientist"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨🔬",description:"man scientist",category:"People & Body",aliases:["man_scientist"],tags:["research"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👩🔬",description:"woman scientist",category:"People & Body",aliases:["woman_scientist"],tags:["research"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🧑💻",description:"technologist",category:"People & Body",aliases:["technologist"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨💻",description:"man technologist",category:"People & Body",aliases:["man_technologist"],tags:["coder"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👩💻",description:"woman technologist",category:"People & Body",aliases:["woman_technologist"],tags:["coder"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🧑🎤",description:"singer",category:"People & Body",aliases:["singer"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨🎤",description:"man singer",category:"People & Body",aliases:["man_singer"],tags:["rockstar"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👩🎤",description:"woman singer",category:"People & Body",aliases:["woman_singer"],tags:["rockstar"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🧑🎨",description:"artist",category:"People & Body",aliases:["artist"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨🎨",description:"man artist",category:"People & Body",aliases:["man_artist"],tags:["painter"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👩🎨",description:"woman artist",category:"People & Body",aliases:["woman_artist"],tags:["painter"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🧑✈️",description:"pilot",category:"People & Body",aliases:["pilot"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨✈️",description:"man pilot",category:"People & Body",aliases:["man_pilot"],tags:[],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👩✈️",description:"woman pilot",category:"People & Body",aliases:["woman_pilot"],tags:[],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🧑🚀",description:"astronaut",category:"People & Body",aliases:["astronaut"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨🚀",description:"man astronaut",category:"People & Body",aliases:["man_astronaut"],tags:["space"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👩🚀",description:"woman astronaut",category:"People & Body",aliases:["woman_astronaut"],tags:["space"],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🧑🚒",description:"firefighter",category:"People & Body",aliases:["firefighter"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨🚒",description:"man firefighter",category:"People & Body",aliases:["man_firefighter"],tags:[],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👩🚒",description:"woman firefighter",category:"People & Body",aliases:["woman_firefighter"],tags:[],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"👮",description:"police officer",category:"People & Body",aliases:["police_officer","cop"],tags:["law"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👮♂️",description:"man police officer",category:"People & Body",aliases:["policeman"],tags:["law","cop"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"👮♀️",description:"woman police officer",category:"People & Body",aliases:["policewoman"],tags:["law","cop"],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"🕵️",description:"detective",category:"People & Body",aliases:["detective"],tags:["sleuth"],unicode_version:"7.0",ios_version:"9.1",skin_tones:!0},{emoji:"🕵️♂️",description:"man detective",category:"People & Body",aliases:["male_detective"],tags:["sleuth"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🕵️♀️",description:"woman detective",category:"People & Body",aliases:["female_detective"],tags:["sleuth"],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"💂",description:"guard",category:"People & Body",aliases:["guard"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"💂♂️",description:"man guard",category:"People & Body",aliases:["guardsman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"💂♀️",description:"woman guard",category:"People & Body",aliases:["guardswoman"],tags:[],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"🥷",description:"ninja",category:"People & Body",aliases:["ninja"],tags:[],unicode_version:"13.0",ios_version:"14.0",skin_tones:!0},{emoji:"👷",description:"construction worker",category:"People & Body",aliases:["construction_worker"],tags:["helmet"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👷♂️",description:"man construction worker",category:"People & Body",aliases:["construction_worker_man"],tags:["helmet"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"👷♀️",description:"woman construction worker",category:"People & Body",aliases:["construction_worker_woman"],tags:["helmet"],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"🤴",description:"prince",category:"People & Body",aliases:["prince"],tags:["crown","royal"],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"👸",description:"princess",category:"People & Body",aliases:["princess"],tags:["crown","royal"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👳",description:"person wearing turban",category:"People & Body",aliases:["person_with_turban"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👳♂️",description:"man wearing turban",category:"People & Body",aliases:["man_with_turban"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"👳♀️",description:"woman wearing turban",category:"People & Body",aliases:["woman_with_turban"],tags:[],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"👲",description:"person with skullcap",category:"People & Body",aliases:["man_with_gua_pi_mao"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🧕",description:"woman with headscarf",category:"People & Body",aliases:["woman_with_headscarf"],tags:["hijab"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🤵",description:"person in tuxedo",category:"People & Body",aliases:["person_in_tuxedo"],tags:["groom","marriage","wedding"],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🤵♂️",description:"man in tuxedo",category:"People & Body",aliases:["man_in_tuxedo"],tags:[],unicode_version:"13.0",ios_version:"14.0",skin_tones:!0},{emoji:"🤵♀️",description:"woman in tuxedo",category:"People & Body",aliases:["woman_in_tuxedo"],tags:[],unicode_version:"13.0",ios_version:"14.0",skin_tones:!0},{emoji:"👰",description:"person with veil",category:"People & Body",aliases:["person_with_veil"],tags:["marriage","wedding"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👰♂️",description:"man with veil",category:"People & Body",aliases:["man_with_veil"],tags:[],unicode_version:"13.0",ios_version:"14.0",skin_tones:!0},{emoji:"👰♀️",description:"woman with veil",category:"People & Body",aliases:["woman_with_veil","bride_with_veil"],tags:[],unicode_version:"13.0",ios_version:"14.0",skin_tones:!0},{emoji:"🤰",description:"pregnant woman",category:"People & Body",aliases:["pregnant_woman"],tags:[],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🤱",description:"breast-feeding",category:"People & Body",aliases:["breast_feeding"],tags:["nursing"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"👩🍼",description:"woman feeding baby",category:"People & Body",aliases:["woman_feeding_baby"],tags:[],unicode_version:"13.0",ios_version:"14.0",skin_tones:!0},{emoji:"👨🍼",description:"man feeding baby",category:"People & Body",aliases:["man_feeding_baby"],tags:[],unicode_version:"13.0",ios_version:"14.0",skin_tones:!0},{emoji:"🧑🍼",description:"person feeding baby",category:"People & Body",aliases:["person_feeding_baby"],tags:[],unicode_version:"13.0",ios_version:"14.0",skin_tones:!0},{emoji:"👼",description:"baby angel",category:"People & Body",aliases:["angel"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🎅",description:"Santa Claus",category:"People & Body",aliases:["santa"],tags:["christmas"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🤶",description:"Mrs. Claus",category:"People & Body",aliases:["mrs_claus"],tags:["santa"],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🧑🎄",description:"mx claus",category:"People & Body",aliases:["mx_claus"],tags:[],unicode_version:"13.0",ios_version:"14.0",skin_tones:!0},{emoji:"🦸",description:"superhero",category:"People & Body",aliases:["superhero"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🦸♂️",description:"man superhero",category:"People & Body",aliases:["superhero_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🦸♀️",description:"woman superhero",category:"People & Body",aliases:["superhero_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🦹",description:"supervillain",category:"People & Body",aliases:["supervillain"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🦹♂️",description:"man supervillain",category:"People & Body",aliases:["supervillain_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🦹♀️",description:"woman supervillain",category:"People & Body",aliases:["supervillain_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧙",description:"mage",category:"People & Body",aliases:["mage"],tags:["wizard"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧙♂️",description:"man mage",category:"People & Body",aliases:["mage_man"],tags:["wizard"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧙♀️",description:"woman mage",category:"People & Body",aliases:["mage_woman"],tags:["wizard"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧚",description:"fairy",category:"People & Body",aliases:["fairy"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧚♂️",description:"man fairy",category:"People & Body",aliases:["fairy_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧚♀️",description:"woman fairy",category:"People & Body",aliases:["fairy_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧛",description:"vampire",category:"People & Body",aliases:["vampire"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧛♂️",description:"man vampire",category:"People & Body",aliases:["vampire_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧛♀️",description:"woman vampire",category:"People & Body",aliases:["vampire_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧜",description:"merperson",category:"People & Body",aliases:["merperson"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧜♂️",description:"merman",category:"People & Body",aliases:["merman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧜♀️",description:"mermaid",category:"People & Body",aliases:["mermaid"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧝",description:"elf",category:"People & Body",aliases:["elf"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧝♂️",description:"man elf",category:"People & Body",aliases:["elf_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧝♀️",description:"woman elf",category:"People & Body",aliases:["elf_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧞",description:"genie",category:"People & Body",aliases:["genie"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧞♂️",description:"man genie",category:"People & Body",aliases:["genie_man"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧞♀️",description:"woman genie",category:"People & Body",aliases:["genie_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧟",description:"zombie",category:"People & Body",aliases:["zombie"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧟♂️",description:"man zombie",category:"People & Body",aliases:["zombie_man"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧟♀️",description:"woman zombie",category:"People & Body",aliases:["zombie_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"💆",description:"person getting massage",category:"People & Body",aliases:["massage"],tags:["spa"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"💆♂️",description:"man getting massage",category:"People & Body",aliases:["massage_man"],tags:["spa"],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"💆♀️",description:"woman getting massage",category:"People & Body",aliases:["massage_woman"],tags:["spa"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"💇",description:"person getting haircut",category:"People & Body",aliases:["haircut"],tags:["beauty"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"💇♂️",description:"man getting haircut",category:"People & Body",aliases:["haircut_man"],tags:[],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"💇♀️",description:"woman getting haircut",category:"People & Body",aliases:["haircut_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🚶",description:"person walking",category:"People & Body",aliases:["walking"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🚶♂️",description:"man walking",category:"People & Body",aliases:["walking_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🚶♀️",description:"woman walking",category:"People & Body",aliases:["walking_woman"],tags:[],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"🧍",description:"person standing",category:"People & Body",aliases:["standing_person"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"🧍♂️",description:"man standing",category:"People & Body",aliases:["standing_man"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"🧍♀️",description:"woman standing",category:"People & Body",aliases:["standing_woman"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"🧎",description:"person kneeling",category:"People & Body",aliases:["kneeling_person"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"🧎♂️",description:"man kneeling",category:"People & Body",aliases:["kneeling_man"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"🧎♀️",description:"woman kneeling",category:"People & Body",aliases:["kneeling_woman"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"🧑🦯",description:"person with white cane",category:"People & Body",aliases:["person_with_probing_cane"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨🦯",description:"man with white cane",category:"People & Body",aliases:["man_with_probing_cane"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"👩🦯",description:"woman with white cane",category:"People & Body",aliases:["woman_with_probing_cane"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"🧑🦼",description:"person in motorized wheelchair",category:"People & Body",aliases:["person_in_motorized_wheelchair"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨🦼",description:"man in motorized wheelchair",category:"People & Body",aliases:["man_in_motorized_wheelchair"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"👩🦼",description:"woman in motorized wheelchair",category:"People & Body",aliases:["woman_in_motorized_wheelchair"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"🧑🦽",description:"person in manual wheelchair",category:"People & Body",aliases:["person_in_manual_wheelchair"],tags:[],unicode_version:"12.1",ios_version:"13.2",skin_tones:!0},{emoji:"👨🦽",description:"man in manual wheelchair",category:"People & Body",aliases:["man_in_manual_wheelchair"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"👩🦽",description:"woman in manual wheelchair",category:"People & Body",aliases:["woman_in_manual_wheelchair"],tags:[],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"🏃",description:"person running",category:"People & Body",aliases:["runner","running"],tags:["exercise","workout","marathon"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🏃♂️",description:"man running",category:"People & Body",aliases:["running_man"],tags:["exercise","workout","marathon"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🏃♀️",description:"woman running",category:"People & Body",aliases:["running_woman"],tags:["exercise","workout","marathon"],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"💃",description:"woman dancing",category:"People & Body",aliases:["woman_dancing","dancer"],tags:["dress"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🕺",description:"man dancing",category:"People & Body",aliases:["man_dancing"],tags:["dancer"],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🕴️",description:"person in suit levitating",category:"People & Body",aliases:["business_suit_levitating"],tags:[],unicode_version:"7.0",ios_version:"9.1",skin_tones:!0},{emoji:"👯",description:"people with bunny ears",category:"People & Body",aliases:["dancers"],tags:["bunny"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👯♂️",description:"men with bunny ears",category:"People & Body",aliases:["dancing_men"],tags:["bunny"],unicode_version:"6.0",ios_version:"10.0"},{emoji:"👯♀️",description:"women with bunny ears",category:"People & Body",aliases:["dancing_women"],tags:["bunny"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧖",description:"person in steamy room",category:"People & Body",aliases:["sauna_person"],tags:["steamy"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧖♂️",description:"man in steamy room",category:"People & Body",aliases:["sauna_man"],tags:["steamy"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧖♀️",description:"woman in steamy room",category:"People & Body",aliases:["sauna_woman"],tags:["steamy"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧗",description:"person climbing",category:"People & Body",aliases:["climbing"],tags:["bouldering"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧗♂️",description:"man climbing",category:"People & Body",aliases:["climbing_man"],tags:["bouldering"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧗♀️",description:"woman climbing",category:"People & Body",aliases:["climbing_woman"],tags:["bouldering"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🤺",description:"person fencing",category:"People & Body",aliases:["person_fencing"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🏇",description:"horse racing",category:"People & Body",aliases:["horse_racing"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"⛷️",description:"skier",category:"People & Body",aliases:["skier"],tags:[],unicode_version:"5.2",ios_version:"9.1"},{emoji:"🏂",description:"snowboarder",category:"People & Body",aliases:["snowboarder"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🏌️",description:"person golfing",category:"People & Body",aliases:["golfing"],tags:[],unicode_version:"7.0",ios_version:"9.1",skin_tones:!0},{emoji:"🏌️♂️",description:"man golfing",category:"People & Body",aliases:["golfing_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🏌️♀️",description:"woman golfing",category:"People & Body",aliases:["golfing_woman"],tags:[],unicode_version:"",ios_version:"10.0",skin_tones:!0},{emoji:"🏄",description:"person surfing",category:"People & Body",aliases:["surfer"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🏄♂️",description:"man surfing",category:"People & Body",aliases:["surfing_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🏄♀️",description:"woman surfing",category:"People & Body",aliases:["surfing_woman"],tags:[],unicode_version:"7.0",ios_version:"10.0",skin_tones:!0},{emoji:"🚣",description:"person rowing boat",category:"People & Body",aliases:["rowboat"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🚣♂️",description:"man rowing boat",category:"People & Body",aliases:["rowing_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🚣♀️",description:"woman rowing boat",category:"People & Body",aliases:["rowing_woman"],tags:[],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"🏊",description:"person swimming",category:"People & Body",aliases:["swimmer"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🏊♂️",description:"man swimming",category:"People & Body",aliases:["swimming_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🏊♀️",description:"woman swimming",category:"People & Body",aliases:["swimming_woman"],tags:[],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"⛹️",description:"person bouncing ball",category:"People & Body",aliases:["bouncing_ball_person"],tags:["basketball"],unicode_version:"5.2",ios_version:"9.1",skin_tones:!0},{emoji:"⛹️♂️",description:"man bouncing ball",category:"People & Body",aliases:["bouncing_ball_man","basketball_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"⛹️♀️",description:"woman bouncing ball",category:"People & Body",aliases:["bouncing_ball_woman","basketball_woman"],tags:[],unicode_version:"7.0",ios_version:"10.0",skin_tones:!0},{emoji:"🏋️",description:"person lifting weights",category:"People & Body",aliases:["weight_lifting"],tags:["gym","workout"],unicode_version:"7.0",ios_version:"9.1",skin_tones:!0},{emoji:"🏋️♂️",description:"man lifting weights",category:"People & Body",aliases:["weight_lifting_man"],tags:["gym","workout"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🏋️♀️",description:"woman lifting weights",category:"People & Body",aliases:["weight_lifting_woman"],tags:["gym","workout"],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"🚴",description:"person biking",category:"People & Body",aliases:["bicyclist"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🚴♂️",description:"man biking",category:"People & Body",aliases:["biking_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🚴♀️",description:"woman biking",category:"People & Body",aliases:["biking_woman"],tags:[],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"🚵",description:"person mountain biking",category:"People & Body",aliases:["mountain_bicyclist"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🚵♂️",description:"man mountain biking",category:"People & Body",aliases:["mountain_biking_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🚵♀️",description:"woman mountain biking",category:"People & Body",aliases:["mountain_biking_woman"],tags:[],unicode_version:"6.0",ios_version:"10.0",skin_tones:!0},{emoji:"🤸",description:"person cartwheeling",category:"People & Body",aliases:["cartwheeling"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🤸♂️",description:"man cartwheeling",category:"People & Body",aliases:["man_cartwheeling"],tags:[],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🤸♀️",description:"woman cartwheeling",category:"People & Body",aliases:["woman_cartwheeling"],tags:[],unicode_version:"",ios_version:"10.2",skin_tones:!0},{emoji:"🤼",description:"people wrestling",category:"People & Body",aliases:["wrestling"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🤼♂️",description:"men wrestling",category:"People & Body",aliases:["men_wrestling"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🤼♀️",description:"women wrestling",category:"People & Body",aliases:["women_wrestling"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🤽",description:"person playing water polo",category:"People & Body",aliases:["water_polo"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🤽♂️",description:"man playing water polo",category:"People & Body",aliases:["man_playing_water_polo"],tags:[],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🤽♀️",description:"woman playing water polo",category:"People & Body",aliases:["woman_playing_water_polo"],tags:[],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🤾",description:"person playing handball",category:"People & Body",aliases:["handball_person"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🤾♂️",description:"man playing handball",category:"People & Body",aliases:["man_playing_handball"],tags:[],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🤾♀️",description:"woman playing handball",category:"People & Body",aliases:["woman_playing_handball"],tags:[],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🤹",description:"person juggling",category:"People & Body",aliases:["juggling_person"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🤹♂️",description:"man juggling",category:"People & Body",aliases:["man_juggling"],tags:[],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🤹♀️",description:"woman juggling",category:"People & Body",aliases:["woman_juggling"],tags:[],unicode_version:"9.0",ios_version:"10.2",skin_tones:!0},{emoji:"🧘",description:"person in lotus position",category:"People & Body",aliases:["lotus_position"],tags:["meditation"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧘♂️",description:"man in lotus position",category:"People & Body",aliases:["lotus_position_man"],tags:["meditation"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🧘♀️",description:"woman in lotus position",category:"People & Body",aliases:["lotus_position_woman"],tags:["meditation"],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"🛀",description:"person taking bath",category:"People & Body",aliases:["bath"],tags:["shower"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"🛌",description:"person in bed",category:"People & Body",aliases:["sleeping_bed"],tags:[],unicode_version:"7.0",ios_version:"9.1",skin_tones:!0},{emoji:"🧑🤝🧑",description:"people holding hands",category:"People & Body",aliases:["people_holding_hands"],tags:["couple","date"],unicode_version:"12.0",ios_version:"13.0",skin_tones:!0},{emoji:"👭",description:"women holding hands",category:"People & Body",aliases:["two_women_holding_hands"],tags:["couple","date"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👫",description:"woman and man holding hands",category:"People & Body",aliases:["couple"],tags:["date"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👬",description:"men holding hands",category:"People & Body",aliases:["two_men_holding_hands"],tags:["couple","date"],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"💏",description:"kiss",category:"People & Body",aliases:["couplekiss"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👩❤️💋👨",description:"kiss: woman, man",category:"People & Body",aliases:["couplekiss_man_woman"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"👨❤️💋👨",description:"kiss: man, man",category:"People & Body",aliases:["couplekiss_man_man"],tags:[],unicode_version:"6.0",ios_version:"8.3",skin_tones:!0},{emoji:"👩❤️💋👩",description:"kiss: woman, woman",category:"People & Body",aliases:["couplekiss_woman_woman"],tags:[],unicode_version:"6.0",ios_version:"8.3",skin_tones:!0},{emoji:"💑",description:"couple with heart",category:"People & Body",aliases:["couple_with_heart"],tags:[],unicode_version:"6.0",ios_version:"6.0",skin_tones:!0},{emoji:"👩❤️👨",description:"couple with heart: woman, man",category:"People & Body",aliases:["couple_with_heart_woman_man"],tags:[],unicode_version:"11.0",ios_version:"12.1",skin_tones:!0},{emoji:"👨❤️👨",description:"couple with heart: man, man",category:"People & Body",aliases:["couple_with_heart_man_man"],tags:[],unicode_version:"6.0",ios_version:"8.3",skin_tones:!0},{emoji:"👩❤️👩",description:"couple with heart: woman, woman",category:"People & Body",aliases:["couple_with_heart_woman_woman"],tags:[],unicode_version:"6.0",ios_version:"8.3",skin_tones:!0},{emoji:"👪",description:"family",category:"People & Body",aliases:["family"],tags:["home","parents","child"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👨👩👦",description:"family: man, woman, boy",category:"People & Body",aliases:["family_man_woman_boy"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"👨👩👧",description:"family: man, woman, girl",category:"People & Body",aliases:["family_man_woman_girl"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"👨👩👧👦",description:"family: man, woman, girl, boy",category:"People & Body",aliases:["family_man_woman_girl_boy"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"👨👩👦👦",description:"family: man, woman, boy, boy",category:"People & Body",aliases:["family_man_woman_boy_boy"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"👨👩👧👧",description:"family: man, woman, girl, girl",category:"People & Body",aliases:["family_man_woman_girl_girl"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"👨👨👦",description:"family: man, man, boy",category:"People & Body",aliases:["family_man_man_boy"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"👨👨👧",description:"family: man, man, girl",category:"People & Body",aliases:["family_man_man_girl"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"👨👨👧👦",description:"family: man, man, girl, boy",category:"People & Body",aliases:["family_man_man_girl_boy"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"👨👨👦👦",description:"family: man, man, boy, boy",category:"People & Body",aliases:["family_man_man_boy_boy"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"👨👨👧👧",description:"family: man, man, girl, girl",category:"People & Body",aliases:["family_man_man_girl_girl"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"👩👩👦",description:"family: woman, woman, boy",category:"People & Body",aliases:["family_woman_woman_boy"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"👩👩👧",description:"family: woman, woman, girl",category:"People & Body",aliases:["family_woman_woman_girl"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"👩👩👧👦",description:"family: woman, woman, girl, boy",category:"People & Body",aliases:["family_woman_woman_girl_boy"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"👩👩👦👦",description:"family: woman, woman, boy, boy",category:"People & Body",aliases:["family_woman_woman_boy_boy"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"👩👩👧👧",description:"family: woman, woman, girl, girl",category:"People & Body",aliases:["family_woman_woman_girl_girl"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"👨👦",description:"family: man, boy",category:"People & Body",aliases:["family_man_boy"],tags:[],unicode_version:"6.0",ios_version:"10.0"},{emoji:"👨👦👦",description:"family: man, boy, boy",category:"People & Body",aliases:["family_man_boy_boy"],tags:[],unicode_version:"6.0",ios_version:"10.0"},{emoji:"👨👧",description:"family: man, girl",category:"People & Body",aliases:["family_man_girl"],tags:[],unicode_version:"6.0",ios_version:"10.0"},{emoji:"👨👧👦",description:"family: man, girl, boy",category:"People & Body",aliases:["family_man_girl_boy"],tags:[],unicode_version:"6.0",ios_version:"10.0"},{emoji:"👨👧👧",description:"family: man, girl, girl",category:"People & Body",aliases:["family_man_girl_girl"],tags:[],unicode_version:"6.0",ios_version:"10.0"},{emoji:"👩👦",description:"family: woman, boy",category:"People & Body",aliases:["family_woman_boy"],tags:[],unicode_version:"6.0",ios_version:"10.0"},{emoji:"👩👦👦",description:"family: woman, boy, boy",category:"People & Body",aliases:["family_woman_boy_boy"],tags:[],unicode_version:"6.0",ios_version:"10.0"},{emoji:"👩👧",description:"family: woman, girl",category:"People & Body",aliases:["family_woman_girl"],tags:[],unicode_version:"6.0",ios_version:"10.0"},{emoji:"👩👧👦",description:"family: woman, girl, boy",category:"People & Body",aliases:["family_woman_girl_boy"],tags:[],unicode_version:"6.0",ios_version:"10.0"},{emoji:"👩👧👧",description:"family: woman, girl, girl",category:"People & Body",aliases:["family_woman_girl_girl"],tags:[],unicode_version:"6.0",ios_version:"10.0"},{emoji:"🗣️",description:"speaking head",category:"People & Body",aliases:["speaking_head"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"👤",description:"bust in silhouette",category:"People & Body",aliases:["bust_in_silhouette"],tags:["user"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👥",description:"busts in silhouette",category:"People & Body",aliases:["busts_in_silhouette"],tags:["users","group","team"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🫂",description:"people hugging",category:"People & Body",aliases:["people_hugging"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"👣",description:"footprints",category:"People & Body",aliases:["footprints"],tags:["feet","tracks"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐵",description:"monkey face",category:"Animals & Nature",aliases:["monkey_face"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐒",description:"monkey",category:"Animals & Nature",aliases:["monkey"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🦍",description:"gorilla",category:"Animals & Nature",aliases:["gorilla"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🦧",description:"orangutan",category:"Animals & Nature",aliases:["orangutan"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🐶",description:"dog face",category:"Animals & Nature",aliases:["dog"],tags:["pet"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐕",description:"dog",category:"Animals & Nature",aliases:["dog2"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🦮",description:"guide dog",category:"Animals & Nature",aliases:["guide_dog"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🐕🦺",description:"service dog",category:"Animals & Nature",aliases:["service_dog"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🐩",description:"poodle",category:"Animals & Nature",aliases:["poodle"],tags:["dog"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐺",description:"wolf",category:"Animals & Nature",aliases:["wolf"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🦊",description:"fox",category:"Animals & Nature",aliases:["fox_face"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🦝",description:"raccoon",category:"Animals & Nature",aliases:["raccoon"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🐱",description:"cat face",category:"Animals & Nature",aliases:["cat"],tags:["pet"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐈",description:"cat",category:"Animals & Nature",aliases:["cat2"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐈⬛",description:"black cat",category:"Animals & Nature",aliases:["black_cat"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🦁",description:"lion",category:"Animals & Nature",aliases:["lion"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🐯",description:"tiger face",category:"Animals & Nature",aliases:["tiger"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐅",description:"tiger",category:"Animals & Nature",aliases:["tiger2"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐆",description:"leopard",category:"Animals & Nature",aliases:["leopard"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐴",description:"horse face",category:"Animals & Nature",aliases:["horse"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐎",description:"horse",category:"Animals & Nature",aliases:["racehorse"],tags:["speed"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🦄",description:"unicorn",category:"Animals & Nature",aliases:["unicorn"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🦓",description:"zebra",category:"Animals & Nature",aliases:["zebra"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🦌",description:"deer",category:"Animals & Nature",aliases:["deer"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🦬",description:"bison",category:"Animals & Nature",aliases:["bison"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🐮",description:"cow face",category:"Animals & Nature",aliases:["cow"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐂",description:"ox",category:"Animals & Nature",aliases:["ox"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐃",description:"water buffalo",category:"Animals & Nature",aliases:["water_buffalo"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐄",description:"cow",category:"Animals & Nature",aliases:["cow2"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐷",description:"pig face",category:"Animals & Nature",aliases:["pig"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐖",description:"pig",category:"Animals & Nature",aliases:["pig2"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐗",description:"boar",category:"Animals & Nature",aliases:["boar"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐽",description:"pig nose",category:"Animals & Nature",aliases:["pig_nose"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐏",description:"ram",category:"Animals & Nature",aliases:["ram"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐑",description:"ewe",category:"Animals & Nature",aliases:["sheep"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐐",description:"goat",category:"Animals & Nature",aliases:["goat"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐪",description:"camel",category:"Animals & Nature",aliases:["dromedary_camel"],tags:["desert"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐫",description:"two-hump camel",category:"Animals & Nature",aliases:["camel"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🦙",description:"llama",category:"Animals & Nature",aliases:["llama"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🦒",description:"giraffe",category:"Animals & Nature",aliases:["giraffe"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🐘",description:"elephant",category:"Animals & Nature",aliases:["elephant"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🦣",description:"mammoth",category:"Animals & Nature",aliases:["mammoth"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🦏",description:"rhinoceros",category:"Animals & Nature",aliases:["rhinoceros"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🦛",description:"hippopotamus",category:"Animals & Nature",aliases:["hippopotamus"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🐭",description:"mouse face",category:"Animals & Nature",aliases:["mouse"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐁",description:"mouse",category:"Animals & Nature",aliases:["mouse2"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐀",description:"rat",category:"Animals & Nature",aliases:["rat"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐹",description:"hamster",category:"Animals & Nature",aliases:["hamster"],tags:["pet"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐰",description:"rabbit face",category:"Animals & Nature",aliases:["rabbit"],tags:["bunny"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐇",description:"rabbit",category:"Animals & Nature",aliases:["rabbit2"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐿️",description:"chipmunk",category:"Animals & Nature",aliases:["chipmunk"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🦫",description:"beaver",category:"Animals & Nature",aliases:["beaver"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🦔",description:"hedgehog",category:"Animals & Nature",aliases:["hedgehog"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🦇",description:"bat",category:"Animals & Nature",aliases:["bat"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🐻",description:"bear",category:"Animals & Nature",aliases:["bear"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐻❄️",description:"polar bear",category:"Animals & Nature",aliases:["polar_bear"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🐨",description:"koala",category:"Animals & Nature",aliases:["koala"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐼",description:"panda",category:"Animals & Nature",aliases:["panda_face"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🦥",description:"sloth",category:"Animals & Nature",aliases:["sloth"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🦦",description:"otter",category:"Animals & Nature",aliases:["otter"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🦨",description:"skunk",category:"Animals & Nature",aliases:["skunk"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🦘",description:"kangaroo",category:"Animals & Nature",aliases:["kangaroo"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🦡",description:"badger",category:"Animals & Nature",aliases:["badger"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🐾",description:"paw prints",category:"Animals & Nature",aliases:["feet","paw_prints"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🦃",description:"turkey",category:"Animals & Nature",aliases:["turkey"],tags:["thanksgiving"],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🐔",description:"chicken",category:"Animals & Nature",aliases:["chicken"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐓",description:"rooster",category:"Animals & Nature",aliases:["rooster"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐣",description:"hatching chick",category:"Animals & Nature",aliases:["hatching_chick"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐤",description:"baby chick",category:"Animals & Nature",aliases:["baby_chick"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐥",description:"front-facing baby chick",category:"Animals & Nature",aliases:["hatched_chick"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐦",description:"bird",category:"Animals & Nature",aliases:["bird"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐧",description:"penguin",category:"Animals & Nature",aliases:["penguin"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕊️",description:"dove",category:"Animals & Nature",aliases:["dove"],tags:["peace"],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🦅",description:"eagle",category:"Animals & Nature",aliases:["eagle"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🦆",description:"duck",category:"Animals & Nature",aliases:["duck"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🦢",description:"swan",category:"Animals & Nature",aliases:["swan"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🦉",description:"owl",category:"Animals & Nature",aliases:["owl"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🦤",description:"dodo",category:"Animals & Nature",aliases:["dodo"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🪶",description:"feather",category:"Animals & Nature",aliases:["feather"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🦩",description:"flamingo",category:"Animals & Nature",aliases:["flamingo"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🦚",description:"peacock",category:"Animals & Nature",aliases:["peacock"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🦜",description:"parrot",category:"Animals & Nature",aliases:["parrot"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🐸",description:"frog",category:"Animals & Nature",aliases:["frog"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐊",description:"crocodile",category:"Animals & Nature",aliases:["crocodile"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐢",description:"turtle",category:"Animals & Nature",aliases:["turtle"],tags:["slow"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🦎",description:"lizard",category:"Animals & Nature",aliases:["lizard"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🐍",description:"snake",category:"Animals & Nature",aliases:["snake"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐲",description:"dragon face",category:"Animals & Nature",aliases:["dragon_face"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐉",description:"dragon",category:"Animals & Nature",aliases:["dragon"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🦕",description:"sauropod",category:"Animals & Nature",aliases:["sauropod"],tags:["dinosaur"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🦖",description:"T-Rex",category:"Animals & Nature",aliases:["t-rex"],tags:["dinosaur"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🐳",description:"spouting whale",category:"Animals & Nature",aliases:["whale"],tags:["sea"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐋",description:"whale",category:"Animals & Nature",aliases:["whale2"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐬",description:"dolphin",category:"Animals & Nature",aliases:["dolphin","flipper"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🦭",description:"seal",category:"Animals & Nature",aliases:["seal"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🐟",description:"fish",category:"Animals & Nature",aliases:["fish"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐠",description:"tropical fish",category:"Animals & Nature",aliases:["tropical_fish"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐡",description:"blowfish",category:"Animals & Nature",aliases:["blowfish"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🦈",description:"shark",category:"Animals & Nature",aliases:["shark"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🐙",description:"octopus",category:"Animals & Nature",aliases:["octopus"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐚",description:"spiral shell",category:"Animals & Nature",aliases:["shell"],tags:["sea","beach"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐌",description:"snail",category:"Animals & Nature",aliases:["snail"],tags:["slow"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🦋",description:"butterfly",category:"Animals & Nature",aliases:["butterfly"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🐛",description:"bug",category:"Animals & Nature",aliases:["bug"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐜",description:"ant",category:"Animals & Nature",aliases:["ant"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🐝",description:"honeybee",category:"Animals & Nature",aliases:["bee","honeybee"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🪲",description:"beetle",category:"Animals & Nature",aliases:["beetle"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🐞",description:"lady beetle",category:"Animals & Nature",aliases:["lady_beetle"],tags:["bug"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🦗",description:"cricket",category:"Animals & Nature",aliases:["cricket"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🪳",description:"cockroach",category:"Animals & Nature",aliases:["cockroach"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🕷️",description:"spider",category:"Animals & Nature",aliases:["spider"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🕸️",description:"spider web",category:"Animals & Nature",aliases:["spider_web"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🦂",description:"scorpion",category:"Animals & Nature",aliases:["scorpion"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🦟",description:"mosquito",category:"Animals & Nature",aliases:["mosquito"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🪰",description:"fly",category:"Animals & Nature",aliases:["fly"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🪱",description:"worm",category:"Animals & Nature",aliases:["worm"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🦠",description:"microbe",category:"Animals & Nature",aliases:["microbe"],tags:["germ"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"💐",description:"bouquet",category:"Animals & Nature",aliases:["bouquet"],tags:["flowers"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌸",description:"cherry blossom",category:"Animals & Nature",aliases:["cherry_blossom"],tags:["flower","spring"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💮",description:"white flower",category:"Animals & Nature",aliases:["white_flower"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏵️",description:"rosette",category:"Animals & Nature",aliases:["rosette"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🌹",description:"rose",category:"Animals & Nature",aliases:["rose"],tags:["flower"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥀",description:"wilted flower",category:"Animals & Nature",aliases:["wilted_flower"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🌺",description:"hibiscus",category:"Animals & Nature",aliases:["hibiscus"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌻",description:"sunflower",category:"Animals & Nature",aliases:["sunflower"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌼",description:"blossom",category:"Animals & Nature",aliases:["blossom"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌷",description:"tulip",category:"Animals & Nature",aliases:["tulip"],tags:["flower"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌱",description:"seedling",category:"Animals & Nature",aliases:["seedling"],tags:["plant"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🪴",description:"potted plant",category:"Animals & Nature",aliases:["potted_plant"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🌲",description:"evergreen tree",category:"Animals & Nature",aliases:["evergreen_tree"],tags:["wood"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌳",description:"deciduous tree",category:"Animals & Nature",aliases:["deciduous_tree"],tags:["wood"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌴",description:"palm tree",category:"Animals & Nature",aliases:["palm_tree"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌵",description:"cactus",category:"Animals & Nature",aliases:["cactus"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌾",description:"sheaf of rice",category:"Animals & Nature",aliases:["ear_of_rice"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌿",description:"herb",category:"Animals & Nature",aliases:["herb"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"☘️",description:"shamrock",category:"Animals & Nature",aliases:["shamrock"],tags:[],unicode_version:"4.1",ios_version:"9.1"},{emoji:"🍀",description:"four leaf clover",category:"Animals & Nature",aliases:["four_leaf_clover"],tags:["luck"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍁",description:"maple leaf",category:"Animals & Nature",aliases:["maple_leaf"],tags:["canada"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍂",description:"fallen leaf",category:"Animals & Nature",aliases:["fallen_leaf"],tags:["autumn"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍃",description:"leaf fluttering in wind",category:"Animals & Nature",aliases:["leaves"],tags:["leaf"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍇",description:"grapes",category:"Food & Drink",aliases:["grapes"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍈",description:"melon",category:"Food & Drink",aliases:["melon"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍉",description:"watermelon",category:"Food & Drink",aliases:["watermelon"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍊",description:"tangerine",category:"Food & Drink",aliases:["tangerine","orange","mandarin"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍋",description:"lemon",category:"Food & Drink",aliases:["lemon"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍌",description:"banana",category:"Food & Drink",aliases:["banana"],tags:["fruit"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍍",description:"pineapple",category:"Food & Drink",aliases:["pineapple"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥭",description:"mango",category:"Food & Drink",aliases:["mango"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🍎",description:"red apple",category:"Food & Drink",aliases:["apple"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍏",description:"green apple",category:"Food & Drink",aliases:["green_apple"],tags:["fruit"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍐",description:"pear",category:"Food & Drink",aliases:["pear"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍑",description:"peach",category:"Food & Drink",aliases:["peach"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍒",description:"cherries",category:"Food & Drink",aliases:["cherries"],tags:["fruit"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍓",description:"strawberry",category:"Food & Drink",aliases:["strawberry"],tags:["fruit"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🫐",description:"blueberries",category:"Food & Drink",aliases:["blueberries"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🥝",description:"kiwi fruit",category:"Food & Drink",aliases:["kiwi_fruit"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🍅",description:"tomato",category:"Food & Drink",aliases:["tomato"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🫒",description:"olive",category:"Food & Drink",aliases:["olive"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🥥",description:"coconut",category:"Food & Drink",aliases:["coconut"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🥑",description:"avocado",category:"Food & Drink",aliases:["avocado"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🍆",description:"eggplant",category:"Food & Drink",aliases:["eggplant"],tags:["aubergine"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥔",description:"potato",category:"Food & Drink",aliases:["potato"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🥕",description:"carrot",category:"Food & Drink",aliases:["carrot"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🌽",description:"ear of corn",category:"Food & Drink",aliases:["corn"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌶️",description:"hot pepper",category:"Food & Drink",aliases:["hot_pepper"],tags:["spicy"],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🫑",description:"bell pepper",category:"Food & Drink",aliases:["bell_pepper"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🥒",description:"cucumber",category:"Food & Drink",aliases:["cucumber"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🥬",description:"leafy green",category:"Food & Drink",aliases:["leafy_green"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🥦",description:"broccoli",category:"Food & Drink",aliases:["broccoli"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧄",description:"garlic",category:"Food & Drink",aliases:["garlic"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🧅",description:"onion",category:"Food & Drink",aliases:["onion"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🍄",description:"mushroom",category:"Food & Drink",aliases:["mushroom"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥜",description:"peanuts",category:"Food & Drink",aliases:["peanuts"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🌰",description:"chestnut",category:"Food & Drink",aliases:["chestnut"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍞",description:"bread",category:"Food & Drink",aliases:["bread"],tags:["toast"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥐",description:"croissant",category:"Food & Drink",aliases:["croissant"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🥖",description:"baguette bread",category:"Food & Drink",aliases:["baguette_bread"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🫓",description:"flatbread",category:"Food & Drink",aliases:["flatbread"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🥨",description:"pretzel",category:"Food & Drink",aliases:["pretzel"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🥯",description:"bagel",category:"Food & Drink",aliases:["bagel"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🥞",description:"pancakes",category:"Food & Drink",aliases:["pancakes"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🧇",description:"waffle",category:"Food & Drink",aliases:["waffle"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🧀",description:"cheese wedge",category:"Food & Drink",aliases:["cheese"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🍖",description:"meat on bone",category:"Food & Drink",aliases:["meat_on_bone"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍗",description:"poultry leg",category:"Food & Drink",aliases:["poultry_leg"],tags:["meat","chicken"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥩",description:"cut of meat",category:"Food & Drink",aliases:["cut_of_meat"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🥓",description:"bacon",category:"Food & Drink",aliases:["bacon"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🍔",description:"hamburger",category:"Food & Drink",aliases:["hamburger"],tags:["burger"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍟",description:"french fries",category:"Food & Drink",aliases:["fries"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍕",description:"pizza",category:"Food & Drink",aliases:["pizza"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌭",description:"hot dog",category:"Food & Drink",aliases:["hotdog"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🥪",description:"sandwich",category:"Food & Drink",aliases:["sandwich"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🌮",description:"taco",category:"Food & Drink",aliases:["taco"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🌯",description:"burrito",category:"Food & Drink",aliases:["burrito"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🫔",description:"tamale",category:"Food & Drink",aliases:["tamale"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🥙",description:"stuffed flatbread",category:"Food & Drink",aliases:["stuffed_flatbread"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🧆",description:"falafel",category:"Food & Drink",aliases:["falafel"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🥚",description:"egg",category:"Food & Drink",aliases:["egg"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🍳",description:"cooking",category:"Food & Drink",aliases:["fried_egg"],tags:["breakfast"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥘",description:"shallow pan of food",category:"Food & Drink",aliases:["shallow_pan_of_food"],tags:["paella","curry"],unicode_version:"",ios_version:"10.2"},{emoji:"🍲",description:"pot of food",category:"Food & Drink",aliases:["stew"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🫕",description:"fondue",category:"Food & Drink",aliases:["fondue"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🥣",description:"bowl with spoon",category:"Food & Drink",aliases:["bowl_with_spoon"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🥗",description:"green salad",category:"Food & Drink",aliases:["green_salad"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🍿",description:"popcorn",category:"Food & Drink",aliases:["popcorn"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🧈",description:"butter",category:"Food & Drink",aliases:["butter"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🧂",description:"salt",category:"Food & Drink",aliases:["salt"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🥫",description:"canned food",category:"Food & Drink",aliases:["canned_food"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🍱",description:"bento box",category:"Food & Drink",aliases:["bento"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍘",description:"rice cracker",category:"Food & Drink",aliases:["rice_cracker"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍙",description:"rice ball",category:"Food & Drink",aliases:["rice_ball"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍚",description:"cooked rice",category:"Food & Drink",aliases:["rice"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍛",description:"curry rice",category:"Food & Drink",aliases:["curry"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍜",description:"steaming bowl",category:"Food & Drink",aliases:["ramen"],tags:["noodle"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍝",description:"spaghetti",category:"Food & Drink",aliases:["spaghetti"],tags:["pasta"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍠",description:"roasted sweet potato",category:"Food & Drink",aliases:["sweet_potato"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍢",description:"oden",category:"Food & Drink",aliases:["oden"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍣",description:"sushi",category:"Food & Drink",aliases:["sushi"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍤",description:"fried shrimp",category:"Food & Drink",aliases:["fried_shrimp"],tags:["tempura"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍥",description:"fish cake with swirl",category:"Food & Drink",aliases:["fish_cake"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥮",description:"moon cake",category:"Food & Drink",aliases:["moon_cake"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🍡",description:"dango",category:"Food & Drink",aliases:["dango"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥟",description:"dumpling",category:"Food & Drink",aliases:["dumpling"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🥠",description:"fortune cookie",category:"Food & Drink",aliases:["fortune_cookie"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🥡",description:"takeout box",category:"Food & Drink",aliases:["takeout_box"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🦀",description:"crab",category:"Food & Drink",aliases:["crab"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🦞",description:"lobster",category:"Food & Drink",aliases:["lobster"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🦐",description:"shrimp",category:"Food & Drink",aliases:["shrimp"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🦑",description:"squid",category:"Food & Drink",aliases:["squid"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🦪",description:"oyster",category:"Food & Drink",aliases:["oyster"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🍦",description:"soft ice cream",category:"Food & Drink",aliases:["icecream"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍧",description:"shaved ice",category:"Food & Drink",aliases:["shaved_ice"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍨",description:"ice cream",category:"Food & Drink",aliases:["ice_cream"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍩",description:"doughnut",category:"Food & Drink",aliases:["doughnut"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍪",description:"cookie",category:"Food & Drink",aliases:["cookie"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎂",description:"birthday cake",category:"Food & Drink",aliases:["birthday"],tags:["party"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍰",description:"shortcake",category:"Food & Drink",aliases:["cake"],tags:["dessert"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🧁",description:"cupcake",category:"Food & Drink",aliases:["cupcake"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🥧",description:"pie",category:"Food & Drink",aliases:["pie"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🍫",description:"chocolate bar",category:"Food & Drink",aliases:["chocolate_bar"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍬",description:"candy",category:"Food & Drink",aliases:["candy"],tags:["sweet"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍭",description:"lollipop",category:"Food & Drink",aliases:["lollipop"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍮",description:"custard",category:"Food & Drink",aliases:["custard"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍯",description:"honey pot",category:"Food & Drink",aliases:["honey_pot"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍼",description:"baby bottle",category:"Food & Drink",aliases:["baby_bottle"],tags:["milk"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥛",description:"glass of milk",category:"Food & Drink",aliases:["milk_glass"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"☕",description:"hot beverage",category:"Food & Drink",aliases:["coffee"],tags:["cafe","espresso"],unicode_version:"4.0",ios_version:"6.0"},{emoji:"🫖",description:"teapot",category:"Food & Drink",aliases:["teapot"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🍵",description:"teacup without handle",category:"Food & Drink",aliases:["tea"],tags:["green","breakfast"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍶",description:"sake",category:"Food & Drink",aliases:["sake"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍾",description:"bottle with popping cork",category:"Food & Drink",aliases:["champagne"],tags:["bottle","bubbly","celebration"],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🍷",description:"wine glass",category:"Food & Drink",aliases:["wine_glass"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍸",description:"cocktail glass",category:"Food & Drink",aliases:["cocktail"],tags:["drink"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍹",description:"tropical drink",category:"Food & Drink",aliases:["tropical_drink"],tags:["summer","vacation"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍺",description:"beer mug",category:"Food & Drink",aliases:["beer"],tags:["drink"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🍻",description:"clinking beer mugs",category:"Food & Drink",aliases:["beers"],tags:["drinks"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥂",description:"clinking glasses",category:"Food & Drink",aliases:["clinking_glasses"],tags:["cheers","toast"],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🥃",description:"tumbler glass",category:"Food & Drink",aliases:["tumbler_glass"],tags:["whisky"],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🥤",description:"cup with straw",category:"Food & Drink",aliases:["cup_with_straw"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧋",description:"bubble tea",category:"Food & Drink",aliases:["bubble_tea"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🧃",description:"beverage box",category:"Food & Drink",aliases:["beverage_box"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🧉",description:"mate",category:"Food & Drink",aliases:["mate"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🧊",description:"ice",category:"Food & Drink",aliases:["ice_cube"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🥢",description:"chopsticks",category:"Food & Drink",aliases:["chopsticks"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🍽️",description:"fork and knife with plate",category:"Food & Drink",aliases:["plate_with_cutlery"],tags:["dining","dinner"],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🍴",description:"fork and knife",category:"Food & Drink",aliases:["fork_and_knife"],tags:["cutlery"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥄",description:"spoon",category:"Food & Drink",aliases:["spoon"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🔪",description:"kitchen knife",category:"Food & Drink",aliases:["hocho","knife"],tags:["cut","chop"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏺",description:"amphora",category:"Food & Drink",aliases:["amphora"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🌍",description:"globe showing Europe-Africa",category:"Travel & Places",aliases:["earth_africa"],tags:["globe","world","international"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌎",description:"globe showing Americas",category:"Travel & Places",aliases:["earth_americas"],tags:["globe","world","international"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌏",description:"globe showing Asia-Australia",category:"Travel & Places",aliases:["earth_asia"],tags:["globe","world","international"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌐",description:"globe with meridians",category:"Travel & Places",aliases:["globe_with_meridians"],tags:["world","global","international"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🗺️",description:"world map",category:"Travel & Places",aliases:["world_map"],tags:["travel"],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🗾",description:"map of Japan",category:"Travel & Places",aliases:["japan"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🧭",description:"compass",category:"Travel & Places",aliases:["compass"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🏔️",description:"snow-capped mountain",category:"Travel & Places",aliases:["mountain_snow"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"⛰️",description:"mountain",category:"Travel & Places",aliases:["mountain"],tags:[],unicode_version:"5.2",ios_version:"9.1"},{emoji:"🌋",description:"volcano",category:"Travel & Places",aliases:["volcano"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🗻",description:"mount fuji",category:"Travel & Places",aliases:["mount_fuji"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏕️",description:"camping",category:"Travel & Places",aliases:["camping"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🏖️",description:"beach with umbrella",category:"Travel & Places",aliases:["beach_umbrella"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🏜️",description:"desert",category:"Travel & Places",aliases:["desert"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🏝️",description:"desert island",category:"Travel & Places",aliases:["desert_island"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🏞️",description:"national park",category:"Travel & Places",aliases:["national_park"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🏟️",description:"stadium",category:"Travel & Places",aliases:["stadium"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🏛️",description:"classical building",category:"Travel & Places",aliases:["classical_building"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🏗️",description:"building construction",category:"Travel & Places",aliases:["building_construction"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🧱",description:"brick",category:"Travel & Places",aliases:["bricks"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🪨",description:"rock",category:"Travel & Places",aliases:["rock"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🪵",description:"wood",category:"Travel & Places",aliases:["wood"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🛖",description:"hut",category:"Travel & Places",aliases:["hut"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🏘️",description:"houses",category:"Travel & Places",aliases:["houses"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🏚️",description:"derelict house",category:"Travel & Places",aliases:["derelict_house"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🏠",description:"house",category:"Travel & Places",aliases:["house"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏡",description:"house with garden",category:"Travel & Places",aliases:["house_with_garden"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏢",description:"office building",category:"Travel & Places",aliases:["office"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏣",description:"Japanese post office",category:"Travel & Places",aliases:["post_office"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏤",description:"post office",category:"Travel & Places",aliases:["european_post_office"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏥",description:"hospital",category:"Travel & Places",aliases:["hospital"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏦",description:"bank",category:"Travel & Places",aliases:["bank"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏨",description:"hotel",category:"Travel & Places",aliases:["hotel"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏩",description:"love hotel",category:"Travel & Places",aliases:["love_hotel"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏪",description:"convenience store",category:"Travel & Places",aliases:["convenience_store"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏫",description:"school",category:"Travel & Places",aliases:["school"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏬",description:"department store",category:"Travel & Places",aliases:["department_store"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏭",description:"factory",category:"Travel & Places",aliases:["factory"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏯",description:"Japanese castle",category:"Travel & Places",aliases:["japanese_castle"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏰",description:"castle",category:"Travel & Places",aliases:["european_castle"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💒",description:"wedding",category:"Travel & Places",aliases:["wedding"],tags:["marriage"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🗼",description:"Tokyo tower",category:"Travel & Places",aliases:["tokyo_tower"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🗽",description:"Statue of Liberty",category:"Travel & Places",aliases:["statue_of_liberty"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"⛪",description:"church",category:"Travel & Places",aliases:["church"],tags:[],unicode_version:"5.2",ios_version:"6.0"},{emoji:"🕌",description:"mosque",category:"Travel & Places",aliases:["mosque"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🛕",description:"hindu temple",category:"Travel & Places",aliases:["hindu_temple"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🕍",description:"synagogue",category:"Travel & Places",aliases:["synagogue"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"⛩️",description:"shinto shrine",category:"Travel & Places",aliases:["shinto_shrine"],tags:[],unicode_version:"5.2",ios_version:"9.1"},{emoji:"🕋",description:"kaaba",category:"Travel & Places",aliases:["kaaba"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"⛲",description:"fountain",category:"Travel & Places",aliases:["fountain"],tags:[],unicode_version:"5.2",ios_version:"6.0"},{emoji:"⛺",description:"tent",category:"Travel & Places",aliases:["tent"],tags:["camping"],unicode_version:"5.2",ios_version:"6.0"},{emoji:"🌁",description:"foggy",category:"Travel & Places",aliases:["foggy"],tags:["karl"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌃",description:"night with stars",category:"Travel & Places",aliases:["night_with_stars"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏙️",description:"cityscape",category:"Travel & Places",aliases:["cityscape"],tags:["skyline"],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🌄",description:"sunrise over mountains",category:"Travel & Places",aliases:["sunrise_over_mountains"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌅",description:"sunrise",category:"Travel & Places",aliases:["sunrise"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌆",description:"cityscape at dusk",category:"Travel & Places",aliases:["city_sunset"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌇",description:"sunset",category:"Travel & Places",aliases:["city_sunrise"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌉",description:"bridge at night",category:"Travel & Places",aliases:["bridge_at_night"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"♨️",description:"hot springs",category:"Travel & Places",aliases:["hotsprings"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"🎠",description:"carousel horse",category:"Travel & Places",aliases:["carousel_horse"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎡",description:"ferris wheel",category:"Travel & Places",aliases:["ferris_wheel"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎢",description:"roller coaster",category:"Travel & Places",aliases:["roller_coaster"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💈",description:"barber pole",category:"Travel & Places",aliases:["barber"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎪",description:"circus tent",category:"Travel & Places",aliases:["circus_tent"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚂",description:"locomotive",category:"Travel & Places",aliases:["steam_locomotive"],tags:["train"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚃",description:"railway car",category:"Travel & Places",aliases:["railway_car"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚄",description:"high-speed train",category:"Travel & Places",aliases:["bullettrain_side"],tags:["train"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚅",description:"bullet train",category:"Travel & Places",aliases:["bullettrain_front"],tags:["train"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚆",description:"train",category:"Travel & Places",aliases:["train2"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚇",description:"metro",category:"Travel & Places",aliases:["metro"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚈",description:"light rail",category:"Travel & Places",aliases:["light_rail"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚉",description:"station",category:"Travel & Places",aliases:["station"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚊",description:"tram",category:"Travel & Places",aliases:["tram"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚝",description:"monorail",category:"Travel & Places",aliases:["monorail"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚞",description:"mountain railway",category:"Travel & Places",aliases:["mountain_railway"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚋",description:"tram car",category:"Travel & Places",aliases:["train"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚌",description:"bus",category:"Travel & Places",aliases:["bus"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚍",description:"oncoming bus",category:"Travel & Places",aliases:["oncoming_bus"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚎",description:"trolleybus",category:"Travel & Places",aliases:["trolleybus"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚐",description:"minibus",category:"Travel & Places",aliases:["minibus"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚑",description:"ambulance",category:"Travel & Places",aliases:["ambulance"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚒",description:"fire engine",category:"Travel & Places",aliases:["fire_engine"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚓",description:"police car",category:"Travel & Places",aliases:["police_car"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚔",description:"oncoming police car",category:"Travel & Places",aliases:["oncoming_police_car"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚕",description:"taxi",category:"Travel & Places",aliases:["taxi"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚖",description:"oncoming taxi",category:"Travel & Places",aliases:["oncoming_taxi"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚗",description:"automobile",category:"Travel & Places",aliases:["car","red_car"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚘",description:"oncoming automobile",category:"Travel & Places",aliases:["oncoming_automobile"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚙",description:"sport utility vehicle",category:"Travel & Places",aliases:["blue_car"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🛻",description:"pickup truck",category:"Travel & Places",aliases:["pickup_truck"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🚚",description:"delivery truck",category:"Travel & Places",aliases:["truck"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚛",description:"articulated lorry",category:"Travel & Places",aliases:["articulated_lorry"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚜",description:"tractor",category:"Travel & Places",aliases:["tractor"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏎️",description:"racing car",category:"Travel & Places",aliases:["racing_car"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🏍️",description:"motorcycle",category:"Travel & Places",aliases:["motorcycle"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🛵",description:"motor scooter",category:"Travel & Places",aliases:["motor_scooter"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🦽",description:"manual wheelchair",category:"Travel & Places",aliases:["manual_wheelchair"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🦼",description:"motorized wheelchair",category:"Travel & Places",aliases:["motorized_wheelchair"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🛺",description:"auto rickshaw",category:"Travel & Places",aliases:["auto_rickshaw"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🚲",description:"bicycle",category:"Travel & Places",aliases:["bike"],tags:["bicycle"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🛴",description:"kick scooter",category:"Travel & Places",aliases:["kick_scooter"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🛹",description:"skateboard",category:"Travel & Places",aliases:["skateboard"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🛼",description:"roller skate",category:"Travel & Places",aliases:["roller_skate"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🚏",description:"bus stop",category:"Travel & Places",aliases:["busstop"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🛣️",description:"motorway",category:"Travel & Places",aliases:["motorway"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🛤️",description:"railway track",category:"Travel & Places",aliases:["railway_track"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🛢️",description:"oil drum",category:"Travel & Places",aliases:["oil_drum"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"⛽",description:"fuel pump",category:"Travel & Places",aliases:["fuelpump"],tags:[],unicode_version:"5.2",ios_version:"6.0"},{emoji:"🚨",description:"police car light",category:"Travel & Places",aliases:["rotating_light"],tags:["911","emergency"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚥",description:"horizontal traffic light",category:"Travel & Places",aliases:["traffic_light"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚦",description:"vertical traffic light",category:"Travel & Places",aliases:["vertical_traffic_light"],tags:["semaphore"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🛑",description:"stop sign",category:"Travel & Places",aliases:["stop_sign"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🚧",description:"construction",category:"Travel & Places",aliases:["construction"],tags:["wip"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"⚓",description:"anchor",category:"Travel & Places",aliases:["anchor"],tags:["ship"],unicode_version:"4.1",ios_version:"6.0"},{emoji:"⛵",description:"sailboat",category:"Travel & Places",aliases:["boat","sailboat"],tags:[],unicode_version:"5.2",ios_version:"6.0"},{emoji:"🛶",description:"canoe",category:"Travel & Places",aliases:["canoe"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🚤",description:"speedboat",category:"Travel & Places",aliases:["speedboat"],tags:["ship"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🛳️",description:"passenger ship",category:"Travel & Places",aliases:["passenger_ship"],tags:["cruise"],unicode_version:"7.0",ios_version:"9.1"},{emoji:"⛴️",description:"ferry",category:"Travel & Places",aliases:["ferry"],tags:[],unicode_version:"5.2",ios_version:"9.1"},{emoji:"🛥️",description:"motor boat",category:"Travel & Places",aliases:["motor_boat"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🚢",description:"ship",category:"Travel & Places",aliases:["ship"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"✈️",description:"airplane",category:"Travel & Places",aliases:["airplane"],tags:["flight"],unicode_version:"",ios_version:"6.0"},{emoji:"🛩️",description:"small airplane",category:"Travel & Places",aliases:["small_airplane"],tags:["flight"],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🛫",description:"airplane departure",category:"Travel & Places",aliases:["flight_departure"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🛬",description:"airplane arrival",category:"Travel & Places",aliases:["flight_arrival"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🪂",description:"parachute",category:"Travel & Places",aliases:["parachute"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"💺",description:"seat",category:"Travel & Places",aliases:["seat"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚁",description:"helicopter",category:"Travel & Places",aliases:["helicopter"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚟",description:"suspension railway",category:"Travel & Places",aliases:["suspension_railway"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚠",description:"mountain cableway",category:"Travel & Places",aliases:["mountain_cableway"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚡",description:"aerial tramway",category:"Travel & Places",aliases:["aerial_tramway"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🛰️",description:"satellite",category:"Travel & Places",aliases:["artificial_satellite"],tags:["orbit","space"],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🚀",description:"rocket",category:"Travel & Places",aliases:["rocket"],tags:["ship","launch"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🛸",description:"flying saucer",category:"Travel & Places",aliases:["flying_saucer"],tags:["ufo"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🛎️",description:"bellhop bell",category:"Travel & Places",aliases:["bellhop_bell"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🧳",description:"luggage",category:"Travel & Places",aliases:["luggage"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"⌛",description:"hourglass done",category:"Travel & Places",aliases:["hourglass"],tags:["time"],unicode_version:"",ios_version:"6.0"},{emoji:"⏳",description:"hourglass not done",category:"Travel & Places",aliases:["hourglass_flowing_sand"],tags:["time"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"⌚",description:"watch",category:"Travel & Places",aliases:["watch"],tags:["time"],unicode_version:"",ios_version:"6.0"},{emoji:"⏰",description:"alarm clock",category:"Travel & Places",aliases:["alarm_clock"],tags:["morning"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"⏱️",description:"stopwatch",category:"Travel & Places",aliases:["stopwatch"],tags:[],unicode_version:"6.0",ios_version:"9.1"},{emoji:"⏲️",description:"timer clock",category:"Travel & Places",aliases:["timer_clock"],tags:[],unicode_version:"6.0",ios_version:"9.1"},{emoji:"🕰️",description:"mantelpiece clock",category:"Travel & Places",aliases:["mantelpiece_clock"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🕛",description:"twelve o’clock",category:"Travel & Places",aliases:["clock12"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕧",description:"twelve-thirty",category:"Travel & Places",aliases:["clock1230"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕐",description:"one o’clock",category:"Travel & Places",aliases:["clock1"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕜",description:"one-thirty",category:"Travel & Places",aliases:["clock130"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕑",description:"two o’clock",category:"Travel & Places",aliases:["clock2"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕝",description:"two-thirty",category:"Travel & Places",aliases:["clock230"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕒",description:"three o’clock",category:"Travel & Places",aliases:["clock3"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕞",description:"three-thirty",category:"Travel & Places",aliases:["clock330"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕓",description:"four o’clock",category:"Travel & Places",aliases:["clock4"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕟",description:"four-thirty",category:"Travel & Places",aliases:["clock430"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕔",description:"five o’clock",category:"Travel & Places",aliases:["clock5"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕠",description:"five-thirty",category:"Travel & Places",aliases:["clock530"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕕",description:"six o’clock",category:"Travel & Places",aliases:["clock6"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕡",description:"six-thirty",category:"Travel & Places",aliases:["clock630"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕖",description:"seven o’clock",category:"Travel & Places",aliases:["clock7"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕢",description:"seven-thirty",category:"Travel & Places",aliases:["clock730"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕗",description:"eight o’clock",category:"Travel & Places",aliases:["clock8"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕣",description:"eight-thirty",category:"Travel & Places",aliases:["clock830"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕘",description:"nine o’clock",category:"Travel & Places",aliases:["clock9"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕤",description:"nine-thirty",category:"Travel & Places",aliases:["clock930"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕙",description:"ten o’clock",category:"Travel & Places",aliases:["clock10"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕥",description:"ten-thirty",category:"Travel & Places",aliases:["clock1030"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕚",description:"eleven o’clock",category:"Travel & Places",aliases:["clock11"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕦",description:"eleven-thirty",category:"Travel & Places",aliases:["clock1130"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌑",description:"new moon",category:"Travel & Places",aliases:["new_moon"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌒",description:"waxing crescent moon",category:"Travel & Places",aliases:["waxing_crescent_moon"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌓",description:"first quarter moon",category:"Travel & Places",aliases:["first_quarter_moon"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌔",description:"waxing gibbous moon",category:"Travel & Places",aliases:["moon","waxing_gibbous_moon"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌕",description:"full moon",category:"Travel & Places",aliases:["full_moon"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌖",description:"waning gibbous moon",category:"Travel & Places",aliases:["waning_gibbous_moon"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌗",description:"last quarter moon",category:"Travel & Places",aliases:["last_quarter_moon"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌘",description:"waning crescent moon",category:"Travel & Places",aliases:["waning_crescent_moon"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌙",description:"crescent moon",category:"Travel & Places",aliases:["crescent_moon"],tags:["night"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌚",description:"new moon face",category:"Travel & Places",aliases:["new_moon_with_face"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌛",description:"first quarter moon face",category:"Travel & Places",aliases:["first_quarter_moon_with_face"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌜",description:"last quarter moon face",category:"Travel & Places",aliases:["last_quarter_moon_with_face"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌡️",description:"thermometer",category:"Travel & Places",aliases:["thermometer"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"☀️",description:"sun",category:"Travel & Places",aliases:["sunny"],tags:["weather"],unicode_version:"",ios_version:"6.0"},{emoji:"🌝",description:"full moon face",category:"Travel & Places",aliases:["full_moon_with_face"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌞",description:"sun with face",category:"Travel & Places",aliases:["sun_with_face"],tags:["summer"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🪐",description:"ringed planet",category:"Travel & Places",aliases:["ringed_planet"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"⭐",description:"star",category:"Travel & Places",aliases:["star"],tags:[],unicode_version:"5.1",ios_version:"6.0"},{emoji:"🌟",description:"glowing star",category:"Travel & Places",aliases:["star2"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌠",description:"shooting star",category:"Travel & Places",aliases:["stars"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌌",description:"milky way",category:"Travel & Places",aliases:["milky_way"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"☁️",description:"cloud",category:"Travel & Places",aliases:["cloud"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"⛅",description:"sun behind cloud",category:"Travel & Places",aliases:["partly_sunny"],tags:["weather","cloud"],unicode_version:"5.2",ios_version:"6.0"},{emoji:"⛈️",description:"cloud with lightning and rain",category:"Travel & Places",aliases:["cloud_with_lightning_and_rain"],tags:[],unicode_version:"5.2",ios_version:"9.1"},{emoji:"🌤️",description:"sun behind small cloud",category:"Travel & Places",aliases:["sun_behind_small_cloud"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🌥️",description:"sun behind large cloud",category:"Travel & Places",aliases:["sun_behind_large_cloud"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🌦️",description:"sun behind rain cloud",category:"Travel & Places",aliases:["sun_behind_rain_cloud"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🌧️",description:"cloud with rain",category:"Travel & Places",aliases:["cloud_with_rain"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🌨️",description:"cloud with snow",category:"Travel & Places",aliases:["cloud_with_snow"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🌩️",description:"cloud with lightning",category:"Travel & Places",aliases:["cloud_with_lightning"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🌪️",description:"tornado",category:"Travel & Places",aliases:["tornado"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🌫️",description:"fog",category:"Travel & Places",aliases:["fog"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🌬️",description:"wind face",category:"Travel & Places",aliases:["wind_face"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🌀",description:"cyclone",category:"Travel & Places",aliases:["cyclone"],tags:["swirl"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌈",description:"rainbow",category:"Travel & Places",aliases:["rainbow"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌂",description:"closed umbrella",category:"Travel & Places",aliases:["closed_umbrella"],tags:["weather","rain"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"☂️",description:"umbrella",category:"Travel & Places",aliases:["open_umbrella"],tags:[],unicode_version:"",ios_version:"9.1"},{emoji:"☔",description:"umbrella with rain drops",category:"Travel & Places",aliases:["umbrella"],tags:["rain","weather"],unicode_version:"4.0",ios_version:"6.0"},{emoji:"⛱️",description:"umbrella on ground",category:"Travel & Places",aliases:["parasol_on_ground"],tags:["beach_umbrella"],unicode_version:"5.2",ios_version:"9.1"},{emoji:"⚡",description:"high voltage",category:"Travel & Places",aliases:["zap"],tags:["lightning","thunder"],unicode_version:"4.0",ios_version:"6.0"},{emoji:"❄️",description:"snowflake",category:"Travel & Places",aliases:["snowflake"],tags:["winter","cold","weather"],unicode_version:"",ios_version:"6.0"},{emoji:"☃️",description:"snowman",category:"Travel & Places",aliases:["snowman_with_snow"],tags:["winter","christmas"],unicode_version:"",ios_version:"9.1"},{emoji:"⛄",description:"snowman without snow",category:"Travel & Places",aliases:["snowman"],tags:["winter"],unicode_version:"5.2",ios_version:"6.0"},{emoji:"☄️",description:"comet",category:"Travel & Places",aliases:["comet"],tags:[],unicode_version:"",ios_version:"9.1"},{emoji:"🔥",description:"fire",category:"Travel & Places",aliases:["fire"],tags:["burn"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💧",description:"droplet",category:"Travel & Places",aliases:["droplet"],tags:["water"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🌊",description:"water wave",category:"Travel & Places",aliases:["ocean"],tags:["sea"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎃",description:"jack-o-lantern",category:"Activities",aliases:["jack_o_lantern"],tags:["halloween"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎄",description:"Christmas tree",category:"Activities",aliases:["christmas_tree"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎆",description:"fireworks",category:"Activities",aliases:["fireworks"],tags:["festival","celebration"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎇",description:"sparkler",category:"Activities",aliases:["sparkler"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🧨",description:"firecracker",category:"Activities",aliases:["firecracker"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"✨",description:"sparkles",category:"Activities",aliases:["sparkles"],tags:["shiny"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎈",description:"balloon",category:"Activities",aliases:["balloon"],tags:["party","birthday"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎉",description:"party popper",category:"Activities",aliases:["tada"],tags:["hooray","party"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎊",description:"confetti ball",category:"Activities",aliases:["confetti_ball"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎋",description:"tanabata tree",category:"Activities",aliases:["tanabata_tree"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎍",description:"pine decoration",category:"Activities",aliases:["bamboo"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎎",description:"Japanese dolls",category:"Activities",aliases:["dolls"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎏",description:"carp streamer",category:"Activities",aliases:["flags"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎐",description:"wind chime",category:"Activities",aliases:["wind_chime"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎑",description:"moon viewing ceremony",category:"Activities",aliases:["rice_scene"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🧧",description:"red envelope",category:"Activities",aliases:["red_envelope"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🎀",description:"ribbon",category:"Activities",aliases:["ribbon"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎁",description:"wrapped gift",category:"Activities",aliases:["gift"],tags:["present","birthday","christmas"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎗️",description:"reminder ribbon",category:"Activities",aliases:["reminder_ribbon"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🎟️",description:"admission tickets",category:"Activities",aliases:["tickets"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🎫",description:"ticket",category:"Activities",aliases:["ticket"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎖️",description:"military medal",category:"Activities",aliases:["medal_military"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🏆",description:"trophy",category:"Activities",aliases:["trophy"],tags:["award","contest","winner"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏅",description:"sports medal",category:"Activities",aliases:["medal_sports"],tags:["gold","winner"],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🥇",description:"1st place medal",category:"Activities",aliases:["1st_place_medal"],tags:["gold"],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🥈",description:"2nd place medal",category:"Activities",aliases:["2nd_place_medal"],tags:["silver"],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🥉",description:"3rd place medal",category:"Activities",aliases:["3rd_place_medal"],tags:["bronze"],unicode_version:"9.0",ios_version:"10.2"},{emoji:"⚽",description:"soccer ball",category:"Activities",aliases:["soccer"],tags:["sports"],unicode_version:"5.2",ios_version:"6.0"},{emoji:"⚾",description:"baseball",category:"Activities",aliases:["baseball"],tags:["sports"],unicode_version:"5.2",ios_version:"6.0"},{emoji:"🥎",description:"softball",category:"Activities",aliases:["softball"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🏀",description:"basketball",category:"Activities",aliases:["basketball"],tags:["sports"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏐",description:"volleyball",category:"Activities",aliases:["volleyball"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🏈",description:"american football",category:"Activities",aliases:["football"],tags:["sports"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏉",description:"rugby football",category:"Activities",aliases:["rugby_football"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎾",description:"tennis",category:"Activities",aliases:["tennis"],tags:["sports"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥏",description:"flying disc",category:"Activities",aliases:["flying_disc"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🎳",description:"bowling",category:"Activities",aliases:["bowling"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏏",description:"cricket game",category:"Activities",aliases:["cricket_game"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🏑",description:"field hockey",category:"Activities",aliases:["field_hockey"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🏒",description:"ice hockey",category:"Activities",aliases:["ice_hockey"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🥍",description:"lacrosse",category:"Activities",aliases:["lacrosse"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🏓",description:"ping pong",category:"Activities",aliases:["ping_pong"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🏸",description:"badminton",category:"Activities",aliases:["badminton"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🥊",description:"boxing glove",category:"Activities",aliases:["boxing_glove"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🥋",description:"martial arts uniform",category:"Activities",aliases:["martial_arts_uniform"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🥅",description:"goal net",category:"Activities",aliases:["goal_net"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"⛳",description:"flag in hole",category:"Activities",aliases:["golf"],tags:[],unicode_version:"5.2",ios_version:"6.0"},{emoji:"⛸️",description:"ice skate",category:"Activities",aliases:["ice_skate"],tags:["skating"],unicode_version:"5.2",ios_version:"9.1"},{emoji:"🎣",description:"fishing pole",category:"Activities",aliases:["fishing_pole_and_fish"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🤿",description:"diving mask",category:"Activities",aliases:["diving_mask"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🎽",description:"running shirt",category:"Activities",aliases:["running_shirt_with_sash"],tags:["marathon"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎿",description:"skis",category:"Activities",aliases:["ski"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🛷",description:"sled",category:"Activities",aliases:["sled"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🥌",description:"curling stone",category:"Activities",aliases:["curling_stone"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🎯",description:"bullseye",category:"Activities",aliases:["dart"],tags:["target"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🪀",description:"yo-yo",category:"Activities",aliases:["yo_yo"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🪁",description:"kite",category:"Activities",aliases:["kite"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🎱",description:"pool 8 ball",category:"Activities",aliases:["8ball"],tags:["pool","billiards"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔮",description:"crystal ball",category:"Activities",aliases:["crystal_ball"],tags:["fortune"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🪄",description:"magic wand",category:"Activities",aliases:["magic_wand"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🧿",description:"nazar amulet",category:"Activities",aliases:["nazar_amulet"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🎮",description:"video game",category:"Activities",aliases:["video_game"],tags:["play","controller","console"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕹️",description:"joystick",category:"Activities",aliases:["joystick"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🎰",description:"slot machine",category:"Activities",aliases:["slot_machine"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎲",description:"game die",category:"Activities",aliases:["game_die"],tags:["dice","gambling"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🧩",description:"puzzle piece",category:"Activities",aliases:["jigsaw"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧸",description:"teddy bear",category:"Activities",aliases:["teddy_bear"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🪅",description:"piñata",category:"Activities",aliases:["pinata"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🪆",description:"nesting dolls",category:"Activities",aliases:["nesting_dolls"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"♠️",description:"spade suit",category:"Activities",aliases:["spades"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"♥️",description:"heart suit",category:"Activities",aliases:["hearts"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"♦️",description:"diamond suit",category:"Activities",aliases:["diamonds"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"♣️",description:"club suit",category:"Activities",aliases:["clubs"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"♟️",description:"chess pawn",category:"Activities",aliases:["chess_pawn"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🃏",description:"joker",category:"Activities",aliases:["black_joker"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🀄",description:"mahjong red dragon",category:"Activities",aliases:["mahjong"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"🎴",description:"flower playing cards",category:"Activities",aliases:["flower_playing_cards"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎭",description:"performing arts",category:"Activities",aliases:["performing_arts"],tags:["theater","drama"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🖼️",description:"framed picture",category:"Activities",aliases:["framed_picture"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🎨",description:"artist palette",category:"Activities",aliases:["art"],tags:["design","paint"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🧵",description:"thread",category:"Activities",aliases:["thread"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🪡",description:"sewing needle",category:"Activities",aliases:["sewing_needle"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🧶",description:"yarn",category:"Activities",aliases:["yarn"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🪢",description:"knot",category:"Activities",aliases:["knot"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"👓",description:"glasses",category:"Objects",aliases:["eyeglasses"],tags:["glasses"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕶️",description:"sunglasses",category:"Objects",aliases:["dark_sunglasses"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🥽",description:"goggles",category:"Objects",aliases:["goggles"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🥼",description:"lab coat",category:"Objects",aliases:["lab_coat"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🦺",description:"safety vest",category:"Objects",aliases:["safety_vest"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"👔",description:"necktie",category:"Objects",aliases:["necktie"],tags:["shirt","formal"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👕",description:"t-shirt",category:"Objects",aliases:["shirt","tshirt"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👖",description:"jeans",category:"Objects",aliases:["jeans"],tags:["pants"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🧣",description:"scarf",category:"Objects",aliases:["scarf"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧤",description:"gloves",category:"Objects",aliases:["gloves"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧥",description:"coat",category:"Objects",aliases:["coat"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧦",description:"socks",category:"Objects",aliases:["socks"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"👗",description:"dress",category:"Objects",aliases:["dress"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👘",description:"kimono",category:"Objects",aliases:["kimono"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥻",description:"sari",category:"Objects",aliases:["sari"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🩱",description:"one-piece swimsuit",category:"Objects",aliases:["one_piece_swimsuit"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🩲",description:"briefs",category:"Objects",aliases:["swim_brief"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🩳",description:"shorts",category:"Objects",aliases:["shorts"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"👙",description:"bikini",category:"Objects",aliases:["bikini"],tags:["beach"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👚",description:"woman’s clothes",category:"Objects",aliases:["womans_clothes"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👛",description:"purse",category:"Objects",aliases:["purse"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👜",description:"handbag",category:"Objects",aliases:["handbag"],tags:["bag"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👝",description:"clutch bag",category:"Objects",aliases:["pouch"],tags:["bag"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🛍️",description:"shopping bags",category:"Objects",aliases:["shopping"],tags:["bags"],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🎒",description:"backpack",category:"Objects",aliases:["school_satchel"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🩴",description:"thong sandal",category:"Objects",aliases:["thong_sandal"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"👞",description:"man’s shoe",category:"Objects",aliases:["mans_shoe","shoe"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👟",description:"running shoe",category:"Objects",aliases:["athletic_shoe"],tags:["sneaker","sport","running"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🥾",description:"hiking boot",category:"Objects",aliases:["hiking_boot"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🥿",description:"flat shoe",category:"Objects",aliases:["flat_shoe"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"👠",description:"high-heeled shoe",category:"Objects",aliases:["high_heel"],tags:["shoe"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👡",description:"woman’s sandal",category:"Objects",aliases:["sandal"],tags:["shoe"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🩰",description:"ballet shoes",category:"Objects",aliases:["ballet_shoes"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"👢",description:"woman’s boot",category:"Objects",aliases:["boot"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👑",description:"crown",category:"Objects",aliases:["crown"],tags:["king","queen","royal"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"👒",description:"woman’s hat",category:"Objects",aliases:["womans_hat"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎩",description:"top hat",category:"Objects",aliases:["tophat"],tags:["hat","classy"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎓",description:"graduation cap",category:"Objects",aliases:["mortar_board"],tags:["education","college","university","graduation"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🧢",description:"billed cap",category:"Objects",aliases:["billed_cap"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🪖",description:"military helmet",category:"Objects",aliases:["military_helmet"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"⛑️",description:"rescue worker’s helmet",category:"Objects",aliases:["rescue_worker_helmet"],tags:[],unicode_version:"5.2",ios_version:"9.1"},{emoji:"📿",description:"prayer beads",category:"Objects",aliases:["prayer_beads"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"💄",description:"lipstick",category:"Objects",aliases:["lipstick"],tags:["makeup"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💍",description:"ring",category:"Objects",aliases:["ring"],tags:["wedding","marriage","engaged"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💎",description:"gem stone",category:"Objects",aliases:["gem"],tags:["diamond"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔇",description:"muted speaker",category:"Objects",aliases:["mute"],tags:["sound","volume"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔈",description:"speaker low volume",category:"Objects",aliases:["speaker"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔉",description:"speaker medium volume",category:"Objects",aliases:["sound"],tags:["volume"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔊",description:"speaker high volume",category:"Objects",aliases:["loud_sound"],tags:["volume"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📢",description:"loudspeaker",category:"Objects",aliases:["loudspeaker"],tags:["announcement"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📣",description:"megaphone",category:"Objects",aliases:["mega"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📯",description:"postal horn",category:"Objects",aliases:["postal_horn"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔔",description:"bell",category:"Objects",aliases:["bell"],tags:["sound","notification"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔕",description:"bell with slash",category:"Objects",aliases:["no_bell"],tags:["volume","off"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎼",description:"musical score",category:"Objects",aliases:["musical_score"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎵",description:"musical note",category:"Objects",aliases:["musical_note"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎶",description:"musical notes",category:"Objects",aliases:["notes"],tags:["music"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎙️",description:"studio microphone",category:"Objects",aliases:["studio_microphone"],tags:["podcast"],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🎚️",description:"level slider",category:"Objects",aliases:["level_slider"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🎛️",description:"control knobs",category:"Objects",aliases:["control_knobs"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🎤",description:"microphone",category:"Objects",aliases:["microphone"],tags:["sing"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎧",description:"headphone",category:"Objects",aliases:["headphones"],tags:["music","earphones"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📻",description:"radio",category:"Objects",aliases:["radio"],tags:["podcast"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎷",description:"saxophone",category:"Objects",aliases:["saxophone"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🪗",description:"accordion",category:"Objects",aliases:["accordion"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🎸",description:"guitar",category:"Objects",aliases:["guitar"],tags:["rock"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎹",description:"musical keyboard",category:"Objects",aliases:["musical_keyboard"],tags:["piano"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎺",description:"trumpet",category:"Objects",aliases:["trumpet"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎻",description:"violin",category:"Objects",aliases:["violin"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🪕",description:"banjo",category:"Objects",aliases:["banjo"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🥁",description:"drum",category:"Objects",aliases:["drum"],tags:[],unicode_version:"",ios_version:"10.2"},{emoji:"🪘",description:"long drum",category:"Objects",aliases:["long_drum"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"📱",description:"mobile phone",category:"Objects",aliases:["iphone"],tags:["smartphone","mobile"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📲",description:"mobile phone with arrow",category:"Objects",aliases:["calling"],tags:["call","incoming"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"☎️",description:"telephone",category:"Objects",aliases:["phone","telephone"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"📞",description:"telephone receiver",category:"Objects",aliases:["telephone_receiver"],tags:["phone","call"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📟",description:"pager",category:"Objects",aliases:["pager"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📠",description:"fax machine",category:"Objects",aliases:["fax"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔋",description:"battery",category:"Objects",aliases:["battery"],tags:["power"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔌",description:"electric plug",category:"Objects",aliases:["electric_plug"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💻",description:"laptop",category:"Objects",aliases:["computer"],tags:["desktop","screen"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🖥️",description:"desktop computer",category:"Objects",aliases:["desktop_computer"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🖨️",description:"printer",category:"Objects",aliases:["printer"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"⌨️",description:"keyboard",category:"Objects",aliases:["keyboard"],tags:[],unicode_version:"",ios_version:"9.1"},{emoji:"🖱️",description:"computer mouse",category:"Objects",aliases:["computer_mouse"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🖲️",description:"trackball",category:"Objects",aliases:["trackball"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"💽",description:"computer disk",category:"Objects",aliases:["minidisc"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💾",description:"floppy disk",category:"Objects",aliases:["floppy_disk"],tags:["save"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💿",description:"optical disk",category:"Objects",aliases:["cd"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📀",description:"dvd",category:"Objects",aliases:["dvd"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🧮",description:"abacus",category:"Objects",aliases:["abacus"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🎥",description:"movie camera",category:"Objects",aliases:["movie_camera"],tags:["film","video"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎞️",description:"film frames",category:"Objects",aliases:["film_strip"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"📽️",description:"film projector",category:"Objects",aliases:["film_projector"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🎬",description:"clapper board",category:"Objects",aliases:["clapper"],tags:["film"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📺",description:"television",category:"Objects",aliases:["tv"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📷",description:"camera",category:"Objects",aliases:["camera"],tags:["photo"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📸",description:"camera with flash",category:"Objects",aliases:["camera_flash"],tags:["photo"],unicode_version:"7.0",ios_version:"9.1"},{emoji:"📹",description:"video camera",category:"Objects",aliases:["video_camera"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📼",description:"videocassette",category:"Objects",aliases:["vhs"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔍",description:"magnifying glass tilted left",category:"Objects",aliases:["mag"],tags:["search","zoom"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔎",description:"magnifying glass tilted right",category:"Objects",aliases:["mag_right"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🕯️",description:"candle",category:"Objects",aliases:["candle"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"💡",description:"light bulb",category:"Objects",aliases:["bulb"],tags:["idea","light"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔦",description:"flashlight",category:"Objects",aliases:["flashlight"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏮",description:"red paper lantern",category:"Objects",aliases:["izakaya_lantern","lantern"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🪔",description:"diya lamp",category:"Objects",aliases:["diya_lamp"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"📔",description:"notebook with decorative cover",category:"Objects",aliases:["notebook_with_decorative_cover"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📕",description:"closed book",category:"Objects",aliases:["closed_book"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📖",description:"open book",category:"Objects",aliases:["book","open_book"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📗",description:"green book",category:"Objects",aliases:["green_book"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📘",description:"blue book",category:"Objects",aliases:["blue_book"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📙",description:"orange book",category:"Objects",aliases:["orange_book"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📚",description:"books",category:"Objects",aliases:["books"],tags:["library"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📓",description:"notebook",category:"Objects",aliases:["notebook"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📒",description:"ledger",category:"Objects",aliases:["ledger"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📃",description:"page with curl",category:"Objects",aliases:["page_with_curl"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📜",description:"scroll",category:"Objects",aliases:["scroll"],tags:["document"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📄",description:"page facing up",category:"Objects",aliases:["page_facing_up"],tags:["document"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📰",description:"newspaper",category:"Objects",aliases:["newspaper"],tags:["press"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🗞️",description:"rolled-up newspaper",category:"Objects",aliases:["newspaper_roll"],tags:["press"],unicode_version:"7.0",ios_version:"9.1"},{emoji:"📑",description:"bookmark tabs",category:"Objects",aliases:["bookmark_tabs"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔖",description:"bookmark",category:"Objects",aliases:["bookmark"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏷️",description:"label",category:"Objects",aliases:["label"],tags:["tag"],unicode_version:"7.0",ios_version:"9.1"},{emoji:"💰",description:"money bag",category:"Objects",aliases:["moneybag"],tags:["dollar","cream"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🪙",description:"coin",category:"Objects",aliases:["coin"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"💴",description:"yen banknote",category:"Objects",aliases:["yen"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💵",description:"dollar banknote",category:"Objects",aliases:["dollar"],tags:["money"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💶",description:"euro banknote",category:"Objects",aliases:["euro"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💷",description:"pound banknote",category:"Objects",aliases:["pound"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💸",description:"money with wings",category:"Objects",aliases:["money_with_wings"],tags:["dollar"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💳",description:"credit card",category:"Objects",aliases:["credit_card"],tags:["subscription"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🧾",description:"receipt",category:"Objects",aliases:["receipt"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"💹",description:"chart increasing with yen",category:"Objects",aliases:["chart"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"✉️",description:"envelope",category:"Objects",aliases:["envelope"],tags:["letter","email"],unicode_version:"",ios_version:"6.0"},{emoji:"📧",description:"e-mail",category:"Objects",aliases:["email","e-mail"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📨",description:"incoming envelope",category:"Objects",aliases:["incoming_envelope"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📩",description:"envelope with arrow",category:"Objects",aliases:["envelope_with_arrow"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📤",description:"outbox tray",category:"Objects",aliases:["outbox_tray"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📥",description:"inbox tray",category:"Objects",aliases:["inbox_tray"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📦",description:"package",category:"Objects",aliases:["package"],tags:["shipping"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📫",description:"closed mailbox with raised flag",category:"Objects",aliases:["mailbox"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📪",description:"closed mailbox with lowered flag",category:"Objects",aliases:["mailbox_closed"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📬",description:"open mailbox with raised flag",category:"Objects",aliases:["mailbox_with_mail"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📭",description:"open mailbox with lowered flag",category:"Objects",aliases:["mailbox_with_no_mail"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📮",description:"postbox",category:"Objects",aliases:["postbox"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🗳️",description:"ballot box with ballot",category:"Objects",aliases:["ballot_box"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"✏️",description:"pencil",category:"Objects",aliases:["pencil2"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"✒️",description:"black nib",category:"Objects",aliases:["black_nib"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"🖋️",description:"fountain pen",category:"Objects",aliases:["fountain_pen"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🖊️",description:"pen",category:"Objects",aliases:["pen"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🖌️",description:"paintbrush",category:"Objects",aliases:["paintbrush"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🖍️",description:"crayon",category:"Objects",aliases:["crayon"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"📝",description:"memo",category:"Objects",aliases:["memo","pencil"],tags:["document","note"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💼",description:"briefcase",category:"Objects",aliases:["briefcase"],tags:["business"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📁",description:"file folder",category:"Objects",aliases:["file_folder"],tags:["directory"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📂",description:"open file folder",category:"Objects",aliases:["open_file_folder"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🗂️",description:"card index dividers",category:"Objects",aliases:["card_index_dividers"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"📅",description:"calendar",category:"Objects",aliases:["date"],tags:["calendar","schedule"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📆",description:"tear-off calendar",category:"Objects",aliases:["calendar"],tags:["schedule"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🗒️",description:"spiral notepad",category:"Objects",aliases:["spiral_notepad"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🗓️",description:"spiral calendar",category:"Objects",aliases:["spiral_calendar"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"📇",description:"card index",category:"Objects",aliases:["card_index"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📈",description:"chart increasing",category:"Objects",aliases:["chart_with_upwards_trend"],tags:["graph","metrics"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📉",description:"chart decreasing",category:"Objects",aliases:["chart_with_downwards_trend"],tags:["graph","metrics"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📊",description:"bar chart",category:"Objects",aliases:["bar_chart"],tags:["stats","metrics"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📋",description:"clipboard",category:"Objects",aliases:["clipboard"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📌",description:"pushpin",category:"Objects",aliases:["pushpin"],tags:["location"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📍",description:"round pushpin",category:"Objects",aliases:["round_pushpin"],tags:["location"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📎",description:"paperclip",category:"Objects",aliases:["paperclip"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🖇️",description:"linked paperclips",category:"Objects",aliases:["paperclips"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"📏",description:"straight ruler",category:"Objects",aliases:["straight_ruler"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📐",description:"triangular ruler",category:"Objects",aliases:["triangular_ruler"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"✂️",description:"scissors",category:"Objects",aliases:["scissors"],tags:["cut"],unicode_version:"",ios_version:"6.0"},{emoji:"🗃️",description:"card file box",category:"Objects",aliases:["card_file_box"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🗄️",description:"file cabinet",category:"Objects",aliases:["file_cabinet"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🗑️",description:"wastebasket",category:"Objects",aliases:["wastebasket"],tags:["trash"],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🔒",description:"locked",category:"Objects",aliases:["lock"],tags:["security","private"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔓",description:"unlocked",category:"Objects",aliases:["unlock"],tags:["security"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔏",description:"locked with pen",category:"Objects",aliases:["lock_with_ink_pen"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔐",description:"locked with key",category:"Objects",aliases:["closed_lock_with_key"],tags:["security"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔑",description:"key",category:"Objects",aliases:["key"],tags:["lock","password"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🗝️",description:"old key",category:"Objects",aliases:["old_key"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🔨",description:"hammer",category:"Objects",aliases:["hammer"],tags:["tool"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🪓",description:"axe",category:"Objects",aliases:["axe"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"⛏️",description:"pick",category:"Objects",aliases:["pick"],tags:[],unicode_version:"5.2",ios_version:"9.1"},{emoji:"⚒️",description:"hammer and pick",category:"Objects",aliases:["hammer_and_pick"],tags:[],unicode_version:"4.1",ios_version:"9.1"},{emoji:"🛠️",description:"hammer and wrench",category:"Objects",aliases:["hammer_and_wrench"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🗡️",description:"dagger",category:"Objects",aliases:["dagger"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"⚔️",description:"crossed swords",category:"Objects",aliases:["crossed_swords"],tags:[],unicode_version:"4.1",ios_version:"9.1"},{emoji:"🔫",description:"water pistol",category:"Objects",aliases:["gun"],tags:["shoot","weapon"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🪃",description:"boomerang",category:"Objects",aliases:["boomerang"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🏹",description:"bow and arrow",category:"Objects",aliases:["bow_and_arrow"],tags:["archery"],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🛡️",description:"shield",category:"Objects",aliases:["shield"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🪚",description:"carpentry saw",category:"Objects",aliases:["carpentry_saw"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🔧",description:"wrench",category:"Objects",aliases:["wrench"],tags:["tool"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🪛",description:"screwdriver",category:"Objects",aliases:["screwdriver"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🔩",description:"nut and bolt",category:"Objects",aliases:["nut_and_bolt"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"⚙️",description:"gear",category:"Objects",aliases:["gear"],tags:[],unicode_version:"4.1",ios_version:"9.1"},{emoji:"🗜️",description:"clamp",category:"Objects",aliases:["clamp"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"⚖️",description:"balance scale",category:"Objects",aliases:["balance_scale"],tags:[],unicode_version:"4.1",ios_version:"9.1"},{emoji:"🦯",description:"white cane",category:"Objects",aliases:["probing_cane"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🔗",description:"link",category:"Objects",aliases:["link"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"⛓️",description:"chains",category:"Objects",aliases:["chains"],tags:[],unicode_version:"5.2",ios_version:"9.1"},{emoji:"🪝",description:"hook",category:"Objects",aliases:["hook"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🧰",description:"toolbox",category:"Objects",aliases:["toolbox"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧲",description:"magnet",category:"Objects",aliases:["magnet"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🪜",description:"ladder",category:"Objects",aliases:["ladder"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"⚗️",description:"alembic",category:"Objects",aliases:["alembic"],tags:[],unicode_version:"4.1",ios_version:"9.1"},{emoji:"🧪",description:"test tube",category:"Objects",aliases:["test_tube"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧫",description:"petri dish",category:"Objects",aliases:["petri_dish"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧬",description:"dna",category:"Objects",aliases:["dna"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🔬",description:"microscope",category:"Objects",aliases:["microscope"],tags:["science","laboratory","investigate"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔭",description:"telescope",category:"Objects",aliases:["telescope"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📡",description:"satellite antenna",category:"Objects",aliases:["satellite"],tags:["signal"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💉",description:"syringe",category:"Objects",aliases:["syringe"],tags:["health","hospital","needle"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🩸",description:"drop of blood",category:"Objects",aliases:["drop_of_blood"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"💊",description:"pill",category:"Objects",aliases:["pill"],tags:["health","medicine"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🩹",description:"adhesive bandage",category:"Objects",aliases:["adhesive_bandage"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🩺",description:"stethoscope",category:"Objects",aliases:["stethoscope"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🚪",description:"door",category:"Objects",aliases:["door"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🛗",description:"elevator",category:"Objects",aliases:["elevator"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🪞",description:"mirror",category:"Objects",aliases:["mirror"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🪟",description:"window",category:"Objects",aliases:["window"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🛏️",description:"bed",category:"Objects",aliases:["bed"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🛋️",description:"couch and lamp",category:"Objects",aliases:["couch_and_lamp"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🪑",description:"chair",category:"Objects",aliases:["chair"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🚽",description:"toilet",category:"Objects",aliases:["toilet"],tags:["wc"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🪠",description:"plunger",category:"Objects",aliases:["plunger"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🚿",description:"shower",category:"Objects",aliases:["shower"],tags:["bath"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🛁",description:"bathtub",category:"Objects",aliases:["bathtub"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🪤",description:"mouse trap",category:"Objects",aliases:["mouse_trap"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🪒",description:"razor",category:"Objects",aliases:["razor"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🧴",description:"lotion bottle",category:"Objects",aliases:["lotion_bottle"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧷",description:"safety pin",category:"Objects",aliases:["safety_pin"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧹",description:"broom",category:"Objects",aliases:["broom"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧺",description:"basket",category:"Objects",aliases:["basket"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧻",description:"roll of paper",category:"Objects",aliases:["roll_of_paper"],tags:["toilet"],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🪣",description:"bucket",category:"Objects",aliases:["bucket"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🧼",description:"soap",category:"Objects",aliases:["soap"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🪥",description:"toothbrush",category:"Objects",aliases:["toothbrush"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🧽",description:"sponge",category:"Objects",aliases:["sponge"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🧯",description:"fire extinguisher",category:"Objects",aliases:["fire_extinguisher"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🛒",description:"shopping cart",category:"Objects",aliases:["shopping_cart"],tags:[],unicode_version:"9.0",ios_version:"10.2"},{emoji:"🚬",description:"cigarette",category:"Objects",aliases:["smoking"],tags:["cigarette"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"⚰️",description:"coffin",category:"Objects",aliases:["coffin"],tags:["funeral"],unicode_version:"4.1",ios_version:"9.1"},{emoji:"🪦",description:"headstone",category:"Objects",aliases:["headstone"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"⚱️",description:"funeral urn",category:"Objects",aliases:["funeral_urn"],tags:[],unicode_version:"4.1",ios_version:"9.1"},{emoji:"🗿",description:"moai",category:"Objects",aliases:["moyai"],tags:["stone"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🪧",description:"placard",category:"Objects",aliases:["placard"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🏧",description:"ATM sign",category:"Symbols",aliases:["atm"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚮",description:"litter in bin sign",category:"Symbols",aliases:["put_litter_in_its_place"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚰",description:"potable water",category:"Symbols",aliases:["potable_water"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"♿",description:"wheelchair symbol",category:"Symbols",aliases:["wheelchair"],tags:["accessibility"],unicode_version:"4.1",ios_version:"6.0"},{emoji:"🚹",description:"men’s room",category:"Symbols",aliases:["mens"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚺",description:"women’s room",category:"Symbols",aliases:["womens"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚻",description:"restroom",category:"Symbols",aliases:["restroom"],tags:["toilet"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚼",description:"baby symbol",category:"Symbols",aliases:["baby_symbol"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚾",description:"water closet",category:"Symbols",aliases:["wc"],tags:["toilet","restroom"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🛂",description:"passport control",category:"Symbols",aliases:["passport_control"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🛃",description:"customs",category:"Symbols",aliases:["customs"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🛄",description:"baggage claim",category:"Symbols",aliases:["baggage_claim"],tags:["airport"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🛅",description:"left luggage",category:"Symbols",aliases:["left_luggage"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"⚠️",description:"warning",category:"Symbols",aliases:["warning"],tags:["wip"],unicode_version:"4.0",ios_version:"6.0"},{emoji:"🚸",description:"children crossing",category:"Symbols",aliases:["children_crossing"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"⛔",description:"no entry",category:"Symbols",aliases:["no_entry"],tags:["limit"],unicode_version:"5.2",ios_version:"6.0"},{emoji:"🚫",description:"prohibited",category:"Symbols",aliases:["no_entry_sign"],tags:["block","forbidden"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚳",description:"no bicycles",category:"Symbols",aliases:["no_bicycles"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚭",description:"no smoking",category:"Symbols",aliases:["no_smoking"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚯",description:"no littering",category:"Symbols",aliases:["do_not_litter"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚱",description:"non-potable water",category:"Symbols",aliases:["non-potable_water"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚷",description:"no pedestrians",category:"Symbols",aliases:["no_pedestrians"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📵",description:"no mobile phones",category:"Symbols",aliases:["no_mobile_phones"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔞",description:"no one under eighteen",category:"Symbols",aliases:["underage"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"☢️",description:"radioactive",category:"Symbols",aliases:["radioactive"],tags:[],unicode_version:"",ios_version:"9.1"},{emoji:"☣️",description:"biohazard",category:"Symbols",aliases:["biohazard"],tags:[],unicode_version:"",ios_version:"9.1"},{emoji:"⬆️",description:"up arrow",category:"Symbols",aliases:["arrow_up"],tags:[],unicode_version:"4.0",ios_version:"6.0"},{emoji:"↗️",description:"up-right arrow",category:"Symbols",aliases:["arrow_upper_right"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"➡️",description:"right arrow",category:"Symbols",aliases:["arrow_right"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"↘️",description:"down-right arrow",category:"Symbols",aliases:["arrow_lower_right"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"⬇️",description:"down arrow",category:"Symbols",aliases:["arrow_down"],tags:[],unicode_version:"4.0",ios_version:"6.0"},{emoji:"↙️",description:"down-left arrow",category:"Symbols",aliases:["arrow_lower_left"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"⬅️",description:"left arrow",category:"Symbols",aliases:["arrow_left"],tags:[],unicode_version:"4.0",ios_version:"6.0"},{emoji:"↖️",description:"up-left arrow",category:"Symbols",aliases:["arrow_upper_left"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"↕️",description:"up-down arrow",category:"Symbols",aliases:["arrow_up_down"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"↔️",description:"left-right arrow",category:"Symbols",aliases:["left_right_arrow"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"↩️",description:"right arrow curving left",category:"Symbols",aliases:["leftwards_arrow_with_hook"],tags:["return"],unicode_version:"",ios_version:"6.0"},{emoji:"↪️",description:"left arrow curving right",category:"Symbols",aliases:["arrow_right_hook"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"⤴️",description:"right arrow curving up",category:"Symbols",aliases:["arrow_heading_up"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"⤵️",description:"right arrow curving down",category:"Symbols",aliases:["arrow_heading_down"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"🔃",description:"clockwise vertical arrows",category:"Symbols",aliases:["arrows_clockwise"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔄",description:"counterclockwise arrows button",category:"Symbols",aliases:["arrows_counterclockwise"],tags:["sync"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔙",description:"BACK arrow",category:"Symbols",aliases:["back"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔚",description:"END arrow",category:"Symbols",aliases:["end"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔛",description:"ON! arrow",category:"Symbols",aliases:["on"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔜",description:"SOON arrow",category:"Symbols",aliases:["soon"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔝",description:"TOP arrow",category:"Symbols",aliases:["top"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🛐",description:"place of worship",category:"Symbols",aliases:["place_of_worship"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"⚛️",description:"atom symbol",category:"Symbols",aliases:["atom_symbol"],tags:[],unicode_version:"4.1",ios_version:"9.1"},{emoji:"🕉️",description:"om",category:"Symbols",aliases:["om"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"✡️",description:"star of David",category:"Symbols",aliases:["star_of_david"],tags:[],unicode_version:"",ios_version:"9.1"},{emoji:"☸️",description:"wheel of dharma",category:"Symbols",aliases:["wheel_of_dharma"],tags:[],unicode_version:"",ios_version:"9.1"},{emoji:"☯️",description:"yin yang",category:"Symbols",aliases:["yin_yang"],tags:[],unicode_version:"",ios_version:"9.1"},{emoji:"✝️",description:"latin cross",category:"Symbols",aliases:["latin_cross"],tags:[],unicode_version:"",ios_version:"9.1"},{emoji:"☦️",description:"orthodox cross",category:"Symbols",aliases:["orthodox_cross"],tags:[],unicode_version:"",ios_version:"9.1"},{emoji:"☪️",description:"star and crescent",category:"Symbols",aliases:["star_and_crescent"],tags:[],unicode_version:"",ios_version:"9.1"},{emoji:"☮️",description:"peace symbol",category:"Symbols",aliases:["peace_symbol"],tags:[],unicode_version:"",ios_version:"9.1"},{emoji:"🕎",description:"menorah",category:"Symbols",aliases:["menorah"],tags:[],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🔯",description:"dotted six-pointed star",category:"Symbols",aliases:["six_pointed_star"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"♈",description:"Aries",category:"Symbols",aliases:["aries"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"♉",description:"Taurus",category:"Symbols",aliases:["taurus"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"♊",description:"Gemini",category:"Symbols",aliases:["gemini"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"♋",description:"Cancer",category:"Symbols",aliases:["cancer"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"♌",description:"Leo",category:"Symbols",aliases:["leo"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"♍",description:"Virgo",category:"Symbols",aliases:["virgo"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"♎",description:"Libra",category:"Symbols",aliases:["libra"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"♏",description:"Scorpio",category:"Symbols",aliases:["scorpius"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"♐",description:"Sagittarius",category:"Symbols",aliases:["sagittarius"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"♑",description:"Capricorn",category:"Symbols",aliases:["capricorn"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"♒",description:"Aquarius",category:"Symbols",aliases:["aquarius"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"♓",description:"Pisces",category:"Symbols",aliases:["pisces"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"⛎",description:"Ophiuchus",category:"Symbols",aliases:["ophiuchus"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔀",description:"shuffle tracks button",category:"Symbols",aliases:["twisted_rightwards_arrows"],tags:["shuffle"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔁",description:"repeat button",category:"Symbols",aliases:["repeat"],tags:["loop"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔂",description:"repeat single button",category:"Symbols",aliases:["repeat_one"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"▶️",description:"play button",category:"Symbols",aliases:["arrow_forward"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"⏩",description:"fast-forward button",category:"Symbols",aliases:["fast_forward"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"⏭️",description:"next track button",category:"Symbols",aliases:["next_track_button"],tags:[],unicode_version:"6.0",ios_version:"9.1"},{emoji:"⏯️",description:"play or pause button",category:"Symbols",aliases:["play_or_pause_button"],tags:[],unicode_version:"6.0",ios_version:"9.1"},{emoji:"◀️",description:"reverse button",category:"Symbols",aliases:["arrow_backward"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"⏪",description:"fast reverse button",category:"Symbols",aliases:["rewind"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"⏮️",description:"last track button",category:"Symbols",aliases:["previous_track_button"],tags:[],unicode_version:"6.0",ios_version:"9.1"},{emoji:"🔼",description:"upwards button",category:"Symbols",aliases:["arrow_up_small"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"⏫",description:"fast up button",category:"Symbols",aliases:["arrow_double_up"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔽",description:"downwards button",category:"Symbols",aliases:["arrow_down_small"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"⏬",description:"fast down button",category:"Symbols",aliases:["arrow_double_down"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"⏸️",description:"pause button",category:"Symbols",aliases:["pause_button"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"⏹️",description:"stop button",category:"Symbols",aliases:["stop_button"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"⏺️",description:"record button",category:"Symbols",aliases:["record_button"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"⏏️",description:"eject button",category:"Symbols",aliases:["eject_button"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🎦",description:"cinema",category:"Symbols",aliases:["cinema"],tags:["film","movie"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔅",description:"dim button",category:"Symbols",aliases:["low_brightness"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔆",description:"bright button",category:"Symbols",aliases:["high_brightness"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📶",description:"antenna bars",category:"Symbols",aliases:["signal_strength"],tags:["wifi"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📳",description:"vibration mode",category:"Symbols",aliases:["vibration_mode"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📴",description:"mobile phone off",category:"Symbols",aliases:["mobile_phone_off"],tags:["mute","off"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"♀️",description:"female sign",category:"Symbols",aliases:["female_sign"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"♂️",description:"male sign",category:"Symbols",aliases:["male_sign"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"⚧️",description:"transgender symbol",category:"Symbols",aliases:["transgender_symbol"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"✖️",description:"multiply",category:"Symbols",aliases:["heavy_multiplication_x"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"➕",description:"plus",category:"Symbols",aliases:["heavy_plus_sign"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"➖",description:"minus",category:"Symbols",aliases:["heavy_minus_sign"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"➗",description:"divide",category:"Symbols",aliases:["heavy_division_sign"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"♾️",description:"infinity",category:"Symbols",aliases:["infinity"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"‼️",description:"double exclamation mark",category:"Symbols",aliases:["bangbang"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"⁉️",description:"exclamation question mark",category:"Symbols",aliases:["interrobang"],tags:[],unicode_version:"3.0",ios_version:"6.0"},{emoji:"❓",description:"red question mark",category:"Symbols",aliases:["question"],tags:["confused"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"❔",description:"white question mark",category:"Symbols",aliases:["grey_question"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"❕",description:"white exclamation mark",category:"Symbols",aliases:["grey_exclamation"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"❗",description:"red exclamation mark",category:"Symbols",aliases:["exclamation","heavy_exclamation_mark"],tags:["bang"],unicode_version:"5.2",ios_version:"6.0"},{emoji:"〰️",description:"wavy dash",category:"Symbols",aliases:["wavy_dash"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"💱",description:"currency exchange",category:"Symbols",aliases:["currency_exchange"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💲",description:"heavy dollar sign",category:"Symbols",aliases:["heavy_dollar_sign"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"⚕️",description:"medical symbol",category:"Symbols",aliases:["medical_symbol"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"♻️",description:"recycling symbol",category:"Symbols",aliases:["recycle"],tags:["environment","green"],unicode_version:"3.2",ios_version:"6.0"},{emoji:"⚜️",description:"fleur-de-lis",category:"Symbols",aliases:["fleur_de_lis"],tags:[],unicode_version:"4.1",ios_version:"9.1"},{emoji:"🔱",description:"trident emblem",category:"Symbols",aliases:["trident"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"📛",description:"name badge",category:"Symbols",aliases:["name_badge"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔰",description:"Japanese symbol for beginner",category:"Symbols",aliases:["beginner"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"⭕",description:"hollow red circle",category:"Symbols",aliases:["o"],tags:[],unicode_version:"5.2",ios_version:"6.0"},{emoji:"✅",description:"check mark button",category:"Symbols",aliases:["white_check_mark"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"☑️",description:"check box with check",category:"Symbols",aliases:["ballot_box_with_check"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"✔️",description:"check mark",category:"Symbols",aliases:["heavy_check_mark"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"❌",description:"cross mark",category:"Symbols",aliases:["x"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"❎",description:"cross mark button",category:"Symbols",aliases:["negative_squared_cross_mark"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"➰",description:"curly loop",category:"Symbols",aliases:["curly_loop"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"➿",description:"double curly loop",category:"Symbols",aliases:["loop"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"〽️",description:"part alternation mark",category:"Symbols",aliases:["part_alternation_mark"],tags:[],unicode_version:"3.2",ios_version:"6.0"},{emoji:"✳️",description:"eight-spoked asterisk",category:"Symbols",aliases:["eight_spoked_asterisk"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"✴️",description:"eight-pointed star",category:"Symbols",aliases:["eight_pointed_black_star"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"❇️",description:"sparkle",category:"Symbols",aliases:["sparkle"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"©️",description:"copyright",category:"Symbols",aliases:["copyright"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"®️",description:"registered",category:"Symbols",aliases:["registered"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"™️",description:"trade mark",category:"Symbols",aliases:["tm"],tags:["trademark"],unicode_version:"",ios_version:"6.0"},{emoji:"#️⃣",description:"keycap: #",category:"Symbols",aliases:["hash"],tags:["number"],unicode_version:"",ios_version:"6.0"},{emoji:"*️⃣",description:"keycap: *",category:"Symbols",aliases:["asterisk"],tags:[],unicode_version:"",ios_version:"9.1"},{emoji:"0️⃣",description:"keycap: 0",category:"Symbols",aliases:["zero"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"1️⃣",description:"keycap: 1",category:"Symbols",aliases:["one"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"2️⃣",description:"keycap: 2",category:"Symbols",aliases:["two"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"3️⃣",description:"keycap: 3",category:"Symbols",aliases:["three"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"4️⃣",description:"keycap: 4",category:"Symbols",aliases:["four"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"5️⃣",description:"keycap: 5",category:"Symbols",aliases:["five"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"6️⃣",description:"keycap: 6",category:"Symbols",aliases:["six"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"7️⃣",description:"keycap: 7",category:"Symbols",aliases:["seven"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"8️⃣",description:"keycap: 8",category:"Symbols",aliases:["eight"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"9️⃣",description:"keycap: 9",category:"Symbols",aliases:["nine"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"🔟",description:"keycap: 10",category:"Symbols",aliases:["keycap_ten"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔠",description:"input latin uppercase",category:"Symbols",aliases:["capital_abcd"],tags:["letters"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔡",description:"input latin lowercase",category:"Symbols",aliases:["abcd"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔢",description:"input numbers",category:"Symbols",aliases:["1234"],tags:["numbers"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔣",description:"input symbols",category:"Symbols",aliases:["symbols"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔤",description:"input latin letters",category:"Symbols",aliases:["abc"],tags:["alphabet"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🅰️",description:"A button (blood type)",category:"Symbols",aliases:["a"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🆎",description:"AB button (blood type)",category:"Symbols",aliases:["ab"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🅱️",description:"B button (blood type)",category:"Symbols",aliases:["b"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🆑",description:"CL button",category:"Symbols",aliases:["cl"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🆒",description:"COOL button",category:"Symbols",aliases:["cool"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🆓",description:"FREE button",category:"Symbols",aliases:["free"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"ℹ️",description:"information",category:"Symbols",aliases:["information_source"],tags:[],unicode_version:"3.0",ios_version:"6.0"},{emoji:"🆔",description:"ID button",category:"Symbols",aliases:["id"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"Ⓜ️",description:"circled M",category:"Symbols",aliases:["m"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"🆕",description:"NEW button",category:"Symbols",aliases:["new"],tags:["fresh"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🆖",description:"NG button",category:"Symbols",aliases:["ng"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🅾️",description:"O button (blood type)",category:"Symbols",aliases:["o2"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🆗",description:"OK button",category:"Symbols",aliases:["ok"],tags:["yes"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🅿️",description:"P button",category:"Symbols",aliases:["parking"],tags:[],unicode_version:"5.2",ios_version:"6.0"},{emoji:"🆘",description:"SOS button",category:"Symbols",aliases:["sos"],tags:["help","emergency"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🆙",description:"UP! button",category:"Symbols",aliases:["up"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🆚",description:"VS button",category:"Symbols",aliases:["vs"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🈁",description:"Japanese “here” button",category:"Symbols",aliases:["koko"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🈂️",description:"Japanese “service charge” button",category:"Symbols",aliases:["sa"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🈷️",description:"Japanese “monthly amount” button",category:"Symbols",aliases:["u6708"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🈶",description:"Japanese “not free of charge” button",category:"Symbols",aliases:["u6709"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🈯",description:"Japanese “reserved” button",category:"Symbols",aliases:["u6307"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"🉐",description:"Japanese “bargain” button",category:"Symbols",aliases:["ideograph_advantage"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🈹",description:"Japanese “discount” button",category:"Symbols",aliases:["u5272"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🈚",description:"Japanese “free of charge” button",category:"Symbols",aliases:["u7121"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"🈲",description:"Japanese “prohibited” button",category:"Symbols",aliases:["u7981"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🉑",description:"Japanese “acceptable” button",category:"Symbols",aliases:["accept"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🈸",description:"Japanese “application” button",category:"Symbols",aliases:["u7533"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🈴",description:"Japanese “passing grade” button",category:"Symbols",aliases:["u5408"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🈳",description:"Japanese “vacancy” button",category:"Symbols",aliases:["u7a7a"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"㊗️",description:"Japanese “congratulations” button",category:"Symbols",aliases:["congratulations"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"㊙️",description:"Japanese “secret” button",category:"Symbols",aliases:["secret"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"🈺",description:"Japanese “open for business” button",category:"Symbols",aliases:["u55b6"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🈵",description:"Japanese “no vacancy” button",category:"Symbols",aliases:["u6e80"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔴",description:"red circle",category:"Symbols",aliases:["red_circle"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🟠",description:"orange circle",category:"Symbols",aliases:["orange_circle"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🟡",description:"yellow circle",category:"Symbols",aliases:["yellow_circle"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🟢",description:"green circle",category:"Symbols",aliases:["green_circle"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🔵",description:"blue circle",category:"Symbols",aliases:["large_blue_circle"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🟣",description:"purple circle",category:"Symbols",aliases:["purple_circle"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🟤",description:"brown circle",category:"Symbols",aliases:["brown_circle"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"⚫",description:"black circle",category:"Symbols",aliases:["black_circle"],tags:[],unicode_version:"4.1",ios_version:"6.0"},{emoji:"⚪",description:"white circle",category:"Symbols",aliases:["white_circle"],tags:[],unicode_version:"4.1",ios_version:"6.0"},{emoji:"🟥",description:"red square",category:"Symbols",aliases:["red_square"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🟧",description:"orange square",category:"Symbols",aliases:["orange_square"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🟨",description:"yellow square",category:"Symbols",aliases:["yellow_square"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🟩",description:"green square",category:"Symbols",aliases:["green_square"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🟦",description:"blue square",category:"Symbols",aliases:["blue_square"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🟪",description:"purple square",category:"Symbols",aliases:["purple_square"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"🟫",description:"brown square",category:"Symbols",aliases:["brown_square"],tags:[],unicode_version:"12.0",ios_version:"13.0"},{emoji:"⬛",description:"black large square",category:"Symbols",aliases:["black_large_square"],tags:[],unicode_version:"5.1",ios_version:"6.0"},{emoji:"⬜",description:"white large square",category:"Symbols",aliases:["white_large_square"],tags:[],unicode_version:"5.1",ios_version:"6.0"},{emoji:"◼️",description:"black medium square",category:"Symbols",aliases:["black_medium_square"],tags:[],unicode_version:"3.2",ios_version:"6.0"},{emoji:"◻️",description:"white medium square",category:"Symbols",aliases:["white_medium_square"],tags:[],unicode_version:"3.2",ios_version:"6.0"},{emoji:"◾",description:"black medium-small square",category:"Symbols",aliases:["black_medium_small_square"],tags:[],unicode_version:"3.2",ios_version:"6.0"},{emoji:"◽",description:"white medium-small square",category:"Symbols",aliases:["white_medium_small_square"],tags:[],unicode_version:"3.2",ios_version:"6.0"},{emoji:"▪️",description:"black small square",category:"Symbols",aliases:["black_small_square"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"▫️",description:"white small square",category:"Symbols",aliases:["white_small_square"],tags:[],unicode_version:"",ios_version:"6.0"},{emoji:"🔶",description:"large orange diamond",category:"Symbols",aliases:["large_orange_diamond"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔷",description:"large blue diamond",category:"Symbols",aliases:["large_blue_diamond"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔸",description:"small orange diamond",category:"Symbols",aliases:["small_orange_diamond"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔹",description:"small blue diamond",category:"Symbols",aliases:["small_blue_diamond"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔺",description:"red triangle pointed up",category:"Symbols",aliases:["small_red_triangle"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔻",description:"red triangle pointed down",category:"Symbols",aliases:["small_red_triangle_down"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"💠",description:"diamond with a dot",category:"Symbols",aliases:["diamond_shape_with_a_dot_inside"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔘",description:"radio button",category:"Symbols",aliases:["radio_button"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔳",description:"white square button",category:"Symbols",aliases:["white_square_button"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🔲",description:"black square button",category:"Symbols",aliases:["black_square_button"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏁",description:"chequered flag",category:"Flags",aliases:["checkered_flag"],tags:["milestone","finish"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🚩",description:"triangular flag",category:"Flags",aliases:["triangular_flag_on_post"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🎌",description:"crossed flags",category:"Flags",aliases:["crossed_flags"],tags:[],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🏴",description:"black flag",category:"Flags",aliases:["black_flag"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🏳️",description:"white flag",category:"Flags",aliases:["white_flag"],tags:[],unicode_version:"7.0",ios_version:"9.1"},{emoji:"🏳️🌈",description:"rainbow flag",category:"Flags",aliases:["rainbow_flag"],tags:["pride"],unicode_version:"6.0",ios_version:"10.0"},{emoji:"🏳️⚧️",description:"transgender flag",category:"Flags",aliases:["transgender_flag"],tags:[],unicode_version:"13.0",ios_version:"14.0"},{emoji:"🏴☠️",description:"pirate flag",category:"Flags",aliases:["pirate_flag"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🇦🇨",description:"flag: Ascension Island",category:"Flags",aliases:["ascension_island"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🇦🇩",description:"flag: Andorra",category:"Flags",aliases:["andorra"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇦🇪",description:"flag: United Arab Emirates",category:"Flags",aliases:["united_arab_emirates"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇦🇫",description:"flag: Afghanistan",category:"Flags",aliases:["afghanistan"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇦🇬",description:"flag: Antigua & Barbuda",category:"Flags",aliases:["antigua_barbuda"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇦🇮",description:"flag: Anguilla",category:"Flags",aliases:["anguilla"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇦🇱",description:"flag: Albania",category:"Flags",aliases:["albania"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇦🇲",description:"flag: Armenia",category:"Flags",aliases:["armenia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇦🇴",description:"flag: Angola",category:"Flags",aliases:["angola"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇦🇶",description:"flag: Antarctica",category:"Flags",aliases:["antarctica"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇦🇷",description:"flag: Argentina",category:"Flags",aliases:["argentina"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇦🇸",description:"flag: American Samoa",category:"Flags",aliases:["american_samoa"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇦🇹",description:"flag: Austria",category:"Flags",aliases:["austria"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇦🇺",description:"flag: Australia",category:"Flags",aliases:["australia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇦🇼",description:"flag: Aruba",category:"Flags",aliases:["aruba"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇦🇽",description:"flag: Åland Islands",category:"Flags",aliases:["aland_islands"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇦🇿",description:"flag: Azerbaijan",category:"Flags",aliases:["azerbaijan"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇦",description:"flag: Bosnia & Herzegovina",category:"Flags",aliases:["bosnia_herzegovina"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇧",description:"flag: Barbados",category:"Flags",aliases:["barbados"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇩",description:"flag: Bangladesh",category:"Flags",aliases:["bangladesh"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇪",description:"flag: Belgium",category:"Flags",aliases:["belgium"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇫",description:"flag: Burkina Faso",category:"Flags",aliases:["burkina_faso"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇬",description:"flag: Bulgaria",category:"Flags",aliases:["bulgaria"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇭",description:"flag: Bahrain",category:"Flags",aliases:["bahrain"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇮",description:"flag: Burundi",category:"Flags",aliases:["burundi"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇯",description:"flag: Benin",category:"Flags",aliases:["benin"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇱",description:"flag: St. Barthélemy",category:"Flags",aliases:["st_barthelemy"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇧🇲",description:"flag: Bermuda",category:"Flags",aliases:["bermuda"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇳",description:"flag: Brunei",category:"Flags",aliases:["brunei"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇴",description:"flag: Bolivia",category:"Flags",aliases:["bolivia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇶",description:"flag: Caribbean Netherlands",category:"Flags",aliases:["caribbean_netherlands"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇧🇷",description:"flag: Brazil",category:"Flags",aliases:["brazil"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇸",description:"flag: Bahamas",category:"Flags",aliases:["bahamas"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇹",description:"flag: Bhutan",category:"Flags",aliases:["bhutan"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇻",description:"flag: Bouvet Island",category:"Flags",aliases:["bouvet_island"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🇧🇼",description:"flag: Botswana",category:"Flags",aliases:["botswana"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇾",description:"flag: Belarus",category:"Flags",aliases:["belarus"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇧🇿",description:"flag: Belize",category:"Flags",aliases:["belize"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇨🇦",description:"flag: Canada",category:"Flags",aliases:["canada"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇨🇨",description:"flag: Cocos (Keeling) Islands",category:"Flags",aliases:["cocos_islands"],tags:["keeling"],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇨🇩",description:"flag: Congo - Kinshasa",category:"Flags",aliases:["congo_kinshasa"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇨🇫",description:"flag: Central African Republic",category:"Flags",aliases:["central_african_republic"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇨🇬",description:"flag: Congo - Brazzaville",category:"Flags",aliases:["congo_brazzaville"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇨🇭",description:"flag: Switzerland",category:"Flags",aliases:["switzerland"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇨🇮",description:"flag: Côte d’Ivoire",category:"Flags",aliases:["cote_divoire"],tags:["ivory"],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇨🇰",description:"flag: Cook Islands",category:"Flags",aliases:["cook_islands"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇨🇱",description:"flag: Chile",category:"Flags",aliases:["chile"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇨🇲",description:"flag: Cameroon",category:"Flags",aliases:["cameroon"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇨🇳",description:"flag: China",category:"Flags",aliases:["cn"],tags:["china"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🇨🇴",description:"flag: Colombia",category:"Flags",aliases:["colombia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇨🇵",description:"flag: Clipperton Island",category:"Flags",aliases:["clipperton_island"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🇨🇷",description:"flag: Costa Rica",category:"Flags",aliases:["costa_rica"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇨🇺",description:"flag: Cuba",category:"Flags",aliases:["cuba"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇨🇻",description:"flag: Cape Verde",category:"Flags",aliases:["cape_verde"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇨🇼",description:"flag: Curaçao",category:"Flags",aliases:["curacao"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇨🇽",description:"flag: Christmas Island",category:"Flags",aliases:["christmas_island"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇨🇾",description:"flag: Cyprus",category:"Flags",aliases:["cyprus"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇨🇿",description:"flag: Czechia",category:"Flags",aliases:["czech_republic"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇩🇪",description:"flag: Germany",category:"Flags",aliases:["de"],tags:["flag","germany"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🇩🇬",description:"flag: Diego Garcia",category:"Flags",aliases:["diego_garcia"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🇩🇯",description:"flag: Djibouti",category:"Flags",aliases:["djibouti"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇩🇰",description:"flag: Denmark",category:"Flags",aliases:["denmark"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇩🇲",description:"flag: Dominica",category:"Flags",aliases:["dominica"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇩🇴",description:"flag: Dominican Republic",category:"Flags",aliases:["dominican_republic"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇩🇿",description:"flag: Algeria",category:"Flags",aliases:["algeria"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇪🇦",description:"flag: Ceuta & Melilla",category:"Flags",aliases:["ceuta_melilla"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🇪🇨",description:"flag: Ecuador",category:"Flags",aliases:["ecuador"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇪🇪",description:"flag: Estonia",category:"Flags",aliases:["estonia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇪🇬",description:"flag: Egypt",category:"Flags",aliases:["egypt"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇪🇭",description:"flag: Western Sahara",category:"Flags",aliases:["western_sahara"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇪🇷",description:"flag: Eritrea",category:"Flags",aliases:["eritrea"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇪🇸",description:"flag: Spain",category:"Flags",aliases:["es"],tags:["spain"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🇪🇹",description:"flag: Ethiopia",category:"Flags",aliases:["ethiopia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇪🇺",description:"flag: European Union",category:"Flags",aliases:["eu","european_union"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇫🇮",description:"flag: Finland",category:"Flags",aliases:["finland"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇫🇯",description:"flag: Fiji",category:"Flags",aliases:["fiji"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇫🇰",description:"flag: Falkland Islands",category:"Flags",aliases:["falkland_islands"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇫🇲",description:"flag: Micronesia",category:"Flags",aliases:["micronesia"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇫🇴",description:"flag: Faroe Islands",category:"Flags",aliases:["faroe_islands"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇫🇷",description:"flag: France",category:"Flags",aliases:["fr"],tags:["france","french"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🇬🇦",description:"flag: Gabon",category:"Flags",aliases:["gabon"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇬🇧",description:"flag: United Kingdom",category:"Flags",aliases:["gb","uk"],tags:["flag","british"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🇬🇩",description:"flag: Grenada",category:"Flags",aliases:["grenada"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇬🇪",description:"flag: Georgia",category:"Flags",aliases:["georgia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇬🇫",description:"flag: French Guiana",category:"Flags",aliases:["french_guiana"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇬🇬",description:"flag: Guernsey",category:"Flags",aliases:["guernsey"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇬🇭",description:"flag: Ghana",category:"Flags",aliases:["ghana"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇬🇮",description:"flag: Gibraltar",category:"Flags",aliases:["gibraltar"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇬🇱",description:"flag: Greenland",category:"Flags",aliases:["greenland"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇬🇲",description:"flag: Gambia",category:"Flags",aliases:["gambia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇬🇳",description:"flag: Guinea",category:"Flags",aliases:["guinea"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇬🇵",description:"flag: Guadeloupe",category:"Flags",aliases:["guadeloupe"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇬🇶",description:"flag: Equatorial Guinea",category:"Flags",aliases:["equatorial_guinea"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇬🇷",description:"flag: Greece",category:"Flags",aliases:["greece"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇬🇸",description:"flag: South Georgia & South Sandwich Islands",category:"Flags",aliases:["south_georgia_south_sandwich_islands"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇬🇹",description:"flag: Guatemala",category:"Flags",aliases:["guatemala"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇬🇺",description:"flag: Guam",category:"Flags",aliases:["guam"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇬🇼",description:"flag: Guinea-Bissau",category:"Flags",aliases:["guinea_bissau"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇬🇾",description:"flag: Guyana",category:"Flags",aliases:["guyana"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇭🇰",description:"flag: Hong Kong SAR China",category:"Flags",aliases:["hong_kong"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇭🇲",description:"flag: Heard & McDonald Islands",category:"Flags",aliases:["heard_mcdonald_islands"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🇭🇳",description:"flag: Honduras",category:"Flags",aliases:["honduras"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇭🇷",description:"flag: Croatia",category:"Flags",aliases:["croatia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇭🇹",description:"flag: Haiti",category:"Flags",aliases:["haiti"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇭🇺",description:"flag: Hungary",category:"Flags",aliases:["hungary"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇮🇨",description:"flag: Canary Islands",category:"Flags",aliases:["canary_islands"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇮🇩",description:"flag: Indonesia",category:"Flags",aliases:["indonesia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇮🇪",description:"flag: Ireland",category:"Flags",aliases:["ireland"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇮🇱",description:"flag: Israel",category:"Flags",aliases:["israel"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇮🇲",description:"flag: Isle of Man",category:"Flags",aliases:["isle_of_man"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇮🇳",description:"flag: India",category:"Flags",aliases:["india"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇮🇴",description:"flag: British Indian Ocean Territory",category:"Flags",aliases:["british_indian_ocean_territory"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇮🇶",description:"flag: Iraq",category:"Flags",aliases:["iraq"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇮🇷",description:"flag: Iran",category:"Flags",aliases:["iran"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇮🇸",description:"flag: Iceland",category:"Flags",aliases:["iceland"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇮🇹",description:"flag: Italy",category:"Flags",aliases:["it"],tags:["italy"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🇯🇪",description:"flag: Jersey",category:"Flags",aliases:["jersey"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇯🇲",description:"flag: Jamaica",category:"Flags",aliases:["jamaica"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇯🇴",description:"flag: Jordan",category:"Flags",aliases:["jordan"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇯🇵",description:"flag: Japan",category:"Flags",aliases:["jp"],tags:["japan"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🇰🇪",description:"flag: Kenya",category:"Flags",aliases:["kenya"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇰🇬",description:"flag: Kyrgyzstan",category:"Flags",aliases:["kyrgyzstan"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇰🇭",description:"flag: Cambodia",category:"Flags",aliases:["cambodia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇰🇮",description:"flag: Kiribati",category:"Flags",aliases:["kiribati"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇰🇲",description:"flag: Comoros",category:"Flags",aliases:["comoros"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇰🇳",description:"flag: St. Kitts & Nevis",category:"Flags",aliases:["st_kitts_nevis"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇰🇵",description:"flag: North Korea",category:"Flags",aliases:["north_korea"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇰🇷",description:"flag: South Korea",category:"Flags",aliases:["kr"],tags:["korea"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🇰🇼",description:"flag: Kuwait",category:"Flags",aliases:["kuwait"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇰🇾",description:"flag: Cayman Islands",category:"Flags",aliases:["cayman_islands"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇰🇿",description:"flag: Kazakhstan",category:"Flags",aliases:["kazakhstan"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇱🇦",description:"flag: Laos",category:"Flags",aliases:["laos"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇱🇧",description:"flag: Lebanon",category:"Flags",aliases:["lebanon"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇱🇨",description:"flag: St. Lucia",category:"Flags",aliases:["st_lucia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇱🇮",description:"flag: Liechtenstein",category:"Flags",aliases:["liechtenstein"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇱🇰",description:"flag: Sri Lanka",category:"Flags",aliases:["sri_lanka"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇱🇷",description:"flag: Liberia",category:"Flags",aliases:["liberia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇱🇸",description:"flag: Lesotho",category:"Flags",aliases:["lesotho"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇱🇹",description:"flag: Lithuania",category:"Flags",aliases:["lithuania"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇱🇺",description:"flag: Luxembourg",category:"Flags",aliases:["luxembourg"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇱🇻",description:"flag: Latvia",category:"Flags",aliases:["latvia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇱🇾",description:"flag: Libya",category:"Flags",aliases:["libya"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇦",description:"flag: Morocco",category:"Flags",aliases:["morocco"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇨",description:"flag: Monaco",category:"Flags",aliases:["monaco"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇲🇩",description:"flag: Moldova",category:"Flags",aliases:["moldova"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇪",description:"flag: Montenegro",category:"Flags",aliases:["montenegro"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇫",description:"flag: St. Martin",category:"Flags",aliases:["st_martin"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🇲🇬",description:"flag: Madagascar",category:"Flags",aliases:["madagascar"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇭",description:"flag: Marshall Islands",category:"Flags",aliases:["marshall_islands"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇲🇰",description:"flag: North Macedonia",category:"Flags",aliases:["macedonia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇱",description:"flag: Mali",category:"Flags",aliases:["mali"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇲",description:"flag: Myanmar (Burma)",category:"Flags",aliases:["myanmar"],tags:["burma"],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇳",description:"flag: Mongolia",category:"Flags",aliases:["mongolia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇴",description:"flag: Macao SAR China",category:"Flags",aliases:["macau"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇵",description:"flag: Northern Mariana Islands",category:"Flags",aliases:["northern_mariana_islands"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇶",description:"flag: Martinique",category:"Flags",aliases:["martinique"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇲🇷",description:"flag: Mauritania",category:"Flags",aliases:["mauritania"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇸",description:"flag: Montserrat",category:"Flags",aliases:["montserrat"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇹",description:"flag: Malta",category:"Flags",aliases:["malta"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇺",description:"flag: Mauritius",category:"Flags",aliases:["mauritius"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇲🇻",description:"flag: Maldives",category:"Flags",aliases:["maldives"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇼",description:"flag: Malawi",category:"Flags",aliases:["malawi"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇽",description:"flag: Mexico",category:"Flags",aliases:["mexico"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇾",description:"flag: Malaysia",category:"Flags",aliases:["malaysia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇲🇿",description:"flag: Mozambique",category:"Flags",aliases:["mozambique"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇳🇦",description:"flag: Namibia",category:"Flags",aliases:["namibia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇳🇨",description:"flag: New Caledonia",category:"Flags",aliases:["new_caledonia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇳🇪",description:"flag: Niger",category:"Flags",aliases:["niger"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇳🇫",description:"flag: Norfolk Island",category:"Flags",aliases:["norfolk_island"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇳🇬",description:"flag: Nigeria",category:"Flags",aliases:["nigeria"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇳🇮",description:"flag: Nicaragua",category:"Flags",aliases:["nicaragua"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇳🇱",description:"flag: Netherlands",category:"Flags",aliases:["netherlands"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇳🇴",description:"flag: Norway",category:"Flags",aliases:["norway"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇳🇵",description:"flag: Nepal",category:"Flags",aliases:["nepal"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇳🇷",description:"flag: Nauru",category:"Flags",aliases:["nauru"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇳🇺",description:"flag: Niue",category:"Flags",aliases:["niue"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇳🇿",description:"flag: New Zealand",category:"Flags",aliases:["new_zealand"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇴🇲",description:"flag: Oman",category:"Flags",aliases:["oman"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇵🇦",description:"flag: Panama",category:"Flags",aliases:["panama"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇵🇪",description:"flag: Peru",category:"Flags",aliases:["peru"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇵🇫",description:"flag: French Polynesia",category:"Flags",aliases:["french_polynesia"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇵🇬",description:"flag: Papua New Guinea",category:"Flags",aliases:["papua_new_guinea"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇵🇭",description:"flag: Philippines",category:"Flags",aliases:["philippines"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇵🇰",description:"flag: Pakistan",category:"Flags",aliases:["pakistan"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇵🇱",description:"flag: Poland",category:"Flags",aliases:["poland"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇵🇲",description:"flag: St. Pierre & Miquelon",category:"Flags",aliases:["st_pierre_miquelon"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇵🇳",description:"flag: Pitcairn Islands",category:"Flags",aliases:["pitcairn_islands"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇵🇷",description:"flag: Puerto Rico",category:"Flags",aliases:["puerto_rico"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇵🇸",description:"flag: Palestinian Territories",category:"Flags",aliases:["palestinian_territories"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇵🇹",description:"flag: Portugal",category:"Flags",aliases:["portugal"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇵🇼",description:"flag: Palau",category:"Flags",aliases:["palau"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇵🇾",description:"flag: Paraguay",category:"Flags",aliases:["paraguay"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇶🇦",description:"flag: Qatar",category:"Flags",aliases:["qatar"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇷🇪",description:"flag: Réunion",category:"Flags",aliases:["reunion"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇷🇴",description:"flag: Romania",category:"Flags",aliases:["romania"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇷🇸",description:"flag: Serbia",category:"Flags",aliases:["serbia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇷🇺",description:"flag: Russia",category:"Flags",aliases:["ru"],tags:["russia"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🇷🇼",description:"flag: Rwanda",category:"Flags",aliases:["rwanda"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇦",description:"flag: Saudi Arabia",category:"Flags",aliases:["saudi_arabia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇧",description:"flag: Solomon Islands",category:"Flags",aliases:["solomon_islands"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇨",description:"flag: Seychelles",category:"Flags",aliases:["seychelles"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇩",description:"flag: Sudan",category:"Flags",aliases:["sudan"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇪",description:"flag: Sweden",category:"Flags",aliases:["sweden"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇬",description:"flag: Singapore",category:"Flags",aliases:["singapore"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇭",description:"flag: St. Helena",category:"Flags",aliases:["st_helena"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇸🇮",description:"flag: Slovenia",category:"Flags",aliases:["slovenia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇯",description:"flag: Svalbard & Jan Mayen",category:"Flags",aliases:["svalbard_jan_mayen"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🇸🇰",description:"flag: Slovakia",category:"Flags",aliases:["slovakia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇱",description:"flag: Sierra Leone",category:"Flags",aliases:["sierra_leone"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇲",description:"flag: San Marino",category:"Flags",aliases:["san_marino"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇳",description:"flag: Senegal",category:"Flags",aliases:["senegal"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇴",description:"flag: Somalia",category:"Flags",aliases:["somalia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇷",description:"flag: Suriname",category:"Flags",aliases:["suriname"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇸",description:"flag: South Sudan",category:"Flags",aliases:["south_sudan"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇹",description:"flag: São Tomé & Príncipe",category:"Flags",aliases:["sao_tome_principe"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇻",description:"flag: El Salvador",category:"Flags",aliases:["el_salvador"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇽",description:"flag: Sint Maarten",category:"Flags",aliases:["sint_maarten"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇾",description:"flag: Syria",category:"Flags",aliases:["syria"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇸🇿",description:"flag: Eswatini",category:"Flags",aliases:["swaziland"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇹🇦",description:"flag: Tristan da Cunha",category:"Flags",aliases:["tristan_da_cunha"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🇹🇨",description:"flag: Turks & Caicos Islands",category:"Flags",aliases:["turks_caicos_islands"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇹🇩",description:"flag: Chad",category:"Flags",aliases:["chad"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇹🇫",description:"flag: French Southern Territories",category:"Flags",aliases:["french_southern_territories"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇹🇬",description:"flag: Togo",category:"Flags",aliases:["togo"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇹🇭",description:"flag: Thailand",category:"Flags",aliases:["thailand"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇹🇯",description:"flag: Tajikistan",category:"Flags",aliases:["tajikistan"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇹🇰",description:"flag: Tokelau",category:"Flags",aliases:["tokelau"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇹🇱",description:"flag: Timor-Leste",category:"Flags",aliases:["timor_leste"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇹🇲",description:"flag: Turkmenistan",category:"Flags",aliases:["turkmenistan"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇹🇳",description:"flag: Tunisia",category:"Flags",aliases:["tunisia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇹🇴",description:"flag: Tonga",category:"Flags",aliases:["tonga"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇹🇷",description:"flag: Turkey",category:"Flags",aliases:["tr"],tags:["turkey"],unicode_version:"8.0",ios_version:"9.1"},{emoji:"🇹🇹",description:"flag: Trinidad & Tobago",category:"Flags",aliases:["trinidad_tobago"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇹🇻",description:"flag: Tuvalu",category:"Flags",aliases:["tuvalu"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇹🇼",description:"flag: Taiwan",category:"Flags",aliases:["taiwan"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇹🇿",description:"flag: Tanzania",category:"Flags",aliases:["tanzania"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇺🇦",description:"flag: Ukraine",category:"Flags",aliases:["ukraine"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇺🇬",description:"flag: Uganda",category:"Flags",aliases:["uganda"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇺🇲",description:"flag: U.S. Outlying Islands",category:"Flags",aliases:["us_outlying_islands"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🇺🇳",description:"flag: United Nations",category:"Flags",aliases:["united_nations"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🇺🇸",description:"flag: United States",category:"Flags",aliases:["us"],tags:["flag","united","america"],unicode_version:"6.0",ios_version:"6.0"},{emoji:"🇺🇾",description:"flag: Uruguay",category:"Flags",aliases:["uruguay"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇺🇿",description:"flag: Uzbekistan",category:"Flags",aliases:["uzbekistan"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇻🇦",description:"flag: Vatican City",category:"Flags",aliases:["vatican_city"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇻🇨",description:"flag: St. Vincent & Grenadines",category:"Flags",aliases:["st_vincent_grenadines"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇻🇪",description:"flag: Venezuela",category:"Flags",aliases:["venezuela"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇻🇬",description:"flag: British Virgin Islands",category:"Flags",aliases:["british_virgin_islands"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇻🇮",description:"flag: U.S. Virgin Islands",category:"Flags",aliases:["us_virgin_islands"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇻🇳",description:"flag: Vietnam",category:"Flags",aliases:["vietnam"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇻🇺",description:"flag: Vanuatu",category:"Flags",aliases:["vanuatu"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇼🇫",description:"flag: Wallis & Futuna",category:"Flags",aliases:["wallis_futuna"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇼🇸",description:"flag: Samoa",category:"Flags",aliases:["samoa"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇽🇰",description:"flag: Kosovo",category:"Flags",aliases:["kosovo"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇾🇪",description:"flag: Yemen",category:"Flags",aliases:["yemen"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇾🇹",description:"flag: Mayotte",category:"Flags",aliases:["mayotte"],tags:[],unicode_version:"6.0",ios_version:"9.0"},{emoji:"🇿🇦",description:"flag: South Africa",category:"Flags",aliases:["south_africa"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇿🇲",description:"flag: Zambia",category:"Flags",aliases:["zambia"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🇿🇼",description:"flag: Zimbabwe",category:"Flags",aliases:["zimbabwe"],tags:[],unicode_version:"6.0",ios_version:"8.3"},{emoji:"🏴",description:"flag: England",category:"Flags",aliases:["england"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🏴",description:"flag: Scotland",category:"Flags",aliases:["scotland"],tags:[],unicode_version:"11.0",ios_version:"12.1"},{emoji:"🏴",description:"flag: Wales",category:"Flags",aliases:["wales"],tags:[],unicode_version:"11.0",ios_version:"12.1"}],Ir=Object.freeze(Object.defineProperty({__proto__:null,default:Fr},Symbol.toStringTag,{value:"Module"})),$r={dependencies:[],export:()=>null,importRegExp:/:([a-z0-9_]+):/,regExp:/:([a-z0-9_]+):/,replace:(e,[,i])=>{const o=Fr.find(e=>e.aliases.includes(i))?.emoji;o&&e.replace(t.$createTextNode(o))},trigger:":",type:"text-match"},Lr={dependencies:[ui],export:e=>pi(e)?`$${e.getEquation()}$`:null,importRegExp:/\$([^$]+?)\$/,regExp:/\$([^$]+?)\$$/,replace:(e,i)=>{const[,o]=i,s=mi(o,!0);e.replace(s)},trigger:"$",type:"text-match"},zr={dependencies:[_e],export:e=>he(e)?"***":null,regExp:/^(---|\*\*\*|___)\s?$/,replace:(e,i,o,s)=>{const t=ye();s||null!=e.getNextSibling()?e.replace(t):e.insertBefore(t),t.selectNext()},type:"element"},qr={dependencies:[ji],export:e=>xi(e)?`})`:null,importRegExp:/!(?:\[([^[]*)\])(?:\(([^(]+)\))/,regExp:/!(?:\[([^[]*)\])(?:\(([^(]+)\))$/,replace:(e,i)=>{const[,o,s]=i,t=wi({altText:o,maxWidth:800,src:s});e.replace(t)},trigger:")",type:"text-match"},Kr={dependencies:[oi],export:e=>function(e){return e instanceof oi}(e)?`<tweet id="${e.getId()}" />`:null,regExp:/<tweet id="([^"]+?)"\s?\/>\s?$/,replace:(e,i,o)=>{const[,s]=o,t=si(s);e.replace(t)},type:"element"},Hr=/^(?:\|)(.+)(?:\|)\s?$/,Wr=/^(\| ?:?-*:? ?)+\|\s?$/,Yr=[zr,qr,$r,Lr,Kr,f.CHECK_LIST,...f.ELEMENT_TRANSFORMERS,...f.MULTILINE_ELEMENT_TRANSFORMERS,...f.TEXT_FORMAT_TRANSFORMERS,...f.TEXT_MATCH_TRANSFORMERS],Ur={dependencies:[v.TableNode,v.TableRowNode,v.TableCellNode],export:e=>{if(!v.$isTableNode(e))return null;const i=[];for(const o of e.getChildren()){const e=[];if(!v.$isTableRowNode(o))continue;let s=!1;for(const i of o.getChildren())v.$isTableCellNode(i)&&(e.push(f.$convertToMarkdownString(Yr,i).replace(/\n/g,"\\n")),i.__headerState===v.TableCellHeaderStates.ROW&&(s=!0));i.push(`| ${e.join(" | ")} |`),s&&i.push(`| ${e.map(e=>"---").join(" | ")} |`)}return i.join("\n")},regExp:Hr,replace:(e,i,o)=>{if(Wr.test(o[0])){const i=e.getPreviousSibling();if(!i||!v.$isTableNode(i))return;const o=i.getChildren(),s=o[o.length-1];if(!s||!v.$isTableRowNode(s))return;return s.getChildren().forEach(e=>{v.$isTableCellNode(e)&&e.setHeaderStyles(v.TableCellHeaderStates.ROW,v.TableCellHeaderStates.ROW)}),void e.remove()}const s=Gr(o[0]);if(null==s)return;const n=[s];let a=e.getPreviousSibling(),r=s.length;for(;a&&t.$isParagraphNode(a)&&1===a.getChildrenSize();){const e=a.getFirstChild();if(!t.$isTextNode(e))break;const i=Gr(e.getTextContent());if(null==i)break;r=Math.max(r,i.length),n.unshift(i);const o=a.getPreviousSibling();a.remove(),a=o}const c=v.$createTableNode();for(const t of n){const e=v.$createTableRowNode();c.append(e);for(let i=0;i<r;i++)e.append(i<t.length?t[i]:Jr(""))}const l=e.getPreviousSibling();v.$isTableNode(l)&&function(e){const i=e.getFirstChild();return v.$isTableRowNode(i)?i.getChildrenSize():0}(l)===r?(l.append(...c.getChildren()),e.remove()):e.replace(c),c.selectEnd()},type:"element"};const Jr=e=>{e=e.replace(/\\n/g,"\n");const i=v.$createTableCellNode(v.TableCellHeaderStates.NO_STATUS);return f.$convertFromMarkdownString(e,Yr,i),i},Gr=e=>{const i=e.match(Hr);return i&&i[1]?i[1].split("|").map(e=>Jr(e)):null};function Vr({}){const[e,i]=s.useState(null);return o.jsxs("div",{className:"relative w-full flex flex-col h-full max-w-full overflow-hidden",children:[o.jsx(xr,{children:({blockType:e})=>o.jsxs("div",{className:"flex h-[42px] gap-1 pr-2 p-[5px] items-center border-b border-border-presentation-global-primary bg-background-presentation-form-header shadow-md backdrop-blur-[8px] rounded-[4px] overflow-x-auto overflow-y-hidden scrollbar-hide lg:overflow-x-visible min-w-0 max-w-full w-full flex-nowrap scroll-smooth overscroll-x-contain touch-pan-x",onWheel:e=>{const i=e.currentTarget;i.scrollWidth>i.clientWidth&&Math.abs(e.deltaY)>Math.abs(e.deltaX)&&(e.preventDefault(),i.scrollLeft+=e.deltaY)},children:[o.jsx(mn,{}),o.jsx(No,{orientation:"vertical",className:"h-8 bg-border-presentation-global-primary"}),o.jsxs(Xo,{children:[o.jsx(cs,{}),o.jsx(ts,{levels:["h1","h2","h3"]}),o.jsx(as,{}),o.jsx(Qo,{}),o.jsx(is,{}),o.jsx(ss,{}),o.jsx(ds,{})]}),"code"===e?o.jsx(Vt,{}):o.jsxs(o.Fragment,{children:[o.jsx(ln,{}),o.jsx(un,{}),o.jsx(No,{orientation:"vertical",className:"h-8 bg-border-presentation-global-primary"}),o.jsx(gn,{format:"bold"}),o.jsx(gn,{format:"italic"}),o.jsx(gn,{format:"underline"}),o.jsx(gn,{format:"strikethrough"}),o.jsx(Jt,{}),o.jsx(No,{orientation:"vertical",className:"h-8 bg-border-presentation-global-primary"}),o.jsx(fn,{}),o.jsx(hn,{}),o.jsx(No,{orientation:"vertical",className:"h-8 bg-border-presentation-global-primary"}),o.jsx(rn,{}),o.jsx(an,{}),o.jsx(No,{orientation:"vertical",className:"h-8 bg-border-presentation-global-primary"}),o.jsx(tn,{}),o.jsx(No,{orientation:"vertical",className:"h-8 bg-border-presentation-global-primary"}),o.jsxs(bs,{children:[o.jsx(ht,{}),o.jsx(zt,{}),o.jsx(Pt,{}),o.jsx(It,{}),o.jsx(xs,{}),o.jsx(Ut,{}),o.jsx(Wt,{}),o.jsx(Fs,{}),o.jsx(yt,{})]})]})]})}),o.jsxs("div",{className:"relative flex-1 min-h-0 bg-background-system-body-primary w-full overflow-x-hidden",children:[o.jsx(Zi,{}),o.jsx(jo,{contentEditable:o.jsx("div",{className:"w-full max-w-full overflow-x-hidden bg-background-system-body-primary",children:o.jsx("div",{className:"w-full max-w-full overflow-x-hidden bg-background-system-body-primary",ref:e=>{null!==e&&i(e)},children:o.jsx(Tr,{placeholder:"",className:"ContentEditable__root relative block !bg-background-system-body-primary !text-content-system-global-primary overflow-y-auto overflow-x-hidden w-full max-w-full px-2 md:px-12 py-4 focus:outline-none h-[calc(100vh-120px)] md:h-[calc(100vh-120px)]"})})}),ErrorBoundary:to}),o.jsx(eo,{}),o.jsx(Qi,{}),o.jsx(uo,{}),o.jsx(ko,{}),o.jsx(mo,{}),o.jsx(xo,{}),o.jsx(ro,{}),o.jsx(go,{}),o.jsx(lr,{}),o.jsx(Lt,{}),o.jsx(ja,{anchorElem:e}),o.jsx(Ua,{}),o.jsx(Ea,{}),o.jsx(Et,{}),o.jsx(Dt,{}),o.jsx(La,{}),o.jsx(br,{}),o.jsx(wr,{anchorElem:e}),o.jsx(hr,{anchorElem:e,cellMerge:!0}),o.jsx(Ht,{}),o.jsx(Ds,{}),o.jsx(Ba,{}),o.jsx(ws,{}),o.jsx(vt,{}),o.jsx(ct,{}),o.jsx(dt,{}),o.jsx(ut,{}),o.jsx(Ln,{}),o.jsx($n,{anchorElem:e}),o.jsx(_o,{transformers:[Ur,zr,qr,$r,Lr,Kr,f.CHECK_LIST,...f.ELEMENT_TRANSFORMERS,...f.MULTILINE_ELEMENT_TRANSFORMERS,...f.TEXT_FORMAT_TRANSFORMERS,...f.TEXT_MATCH_TRANSFORMERS]}),o.jsx(ur,{}),o.jsx(ke,{}),o.jsx(Dn,{}),o.jsx(Ga,{}),o.jsx(Zn,{baseOptions:[new Or("Paragraph",{icon:o.jsx(x.TextIcon,{className:"size-4"}),keywords:["normal","paragraph","p","text"],onSelect:(e,i)=>i.update(()=>{const e=t.$getSelection();t.$isRangeSelection(e)&&y.$setBlocksType(e,()=>t.$createParagraphNode())})}),Rr({n:1}),Rr({n:2}),Rr({n:3}),new Or("Table",{icon:o.jsx(x.TableIcon,{className:"size-4"}),keywords:["table","grid","spreadsheet","rows","columns"],onSelect:(e,i,s)=>s("Insert Table",e=>o.jsx(Yt,{activeEditor:i,onClose:e}))}),new Or("Check List",{icon:o.jsx(x.ListTodoIcon,{className:"size-4"}),keywords:["check list","todo list"],onSelect:(e,i)=>i.dispatchCommand(u.INSERT_CHECK_LIST_COMMAND,void 0)}),new Or("Numbered List",{icon:o.jsx(x.ListOrderedIcon,{className:"size-4"}),keywords:["numbered list","ordered list","ol"],onSelect:(e,i)=>i.dispatchCommand(u.INSERT_ORDERED_LIST_COMMAND,void 0)}),new Or("Bulleted List",{icon:o.jsx(x.ListIcon,{className:"size-4"}),keywords:["bulleted list","unordered list","ul"],onSelect:(e,i)=>i.dispatchCommand(u.INSERT_UNORDERED_LIST_COMMAND,void 0)}),new Or("Quote",{icon:o.jsx(x.QuoteIcon,{className:"size-4"}),keywords:["block quote"],onSelect:(e,i)=>i.update(()=>{const e=t.$getSelection();t.$isRangeSelection(e)&&y.$setBlocksType(e,()=>_.$createQuoteNode())})}),new Or("Code",{icon:o.jsx(x.CodeIcon,{className:"size-4"}),keywords:["javascript","python","js","codeblock"],onSelect:(e,i)=>i.update(()=>{const e=t.$getSelection();if(t.$isRangeSelection(e))if(e.isCollapsed())y.$setBlocksType(e,()=>l.$createCodeNode());else{const i=e.getTextContent(),o=l.$createCodeNode();e.insertNodes([o]),e.insertRawText(i)}})}),new Or("Divider",{icon:o.jsx(x.MinusIcon,{className:"size-4"}),keywords:["horizontal rule","divider","hr"],onSelect:(e,i)=>i.dispatchCommand(me,void 0)}),new Or("Page Break",{icon:o.jsx(x.ScissorsIcon,{className:"size-4"}),keywords:["page break","divider"],onSelect:(e,i)=>i.dispatchCommand($t,void 0)}),new Or("Poll",{icon:o.jsx(x.ListChecksIcon,{className:"size-4"}),keywords:["poll","vote"],onSelect:(e,i,s)=>s("Insert Poll",e=>o.jsx(Kt,{activeEditor:i,onClose:e}))}),Br({embed:"figma"}),Br({embed:"tweet"}),Br({embed:"youtube-video"}),new Or("Equation",{icon:o.jsx(x.DiffIcon,{className:"size-4"}),keywords:["equation","latex","math"],onSelect:(e,i,s)=>s("Insert Equation",e=>o.jsx(Da,{activeEditor:i,onClose:e}))}),new Or("Image",{icon:o.jsx(x.ImageIcon,{className:"size-4"}),keywords:["image","photo","picture","file"],onSelect:(e,i,s)=>s("Insert Image",e=>o.jsx(Ct,{activeEditor:i,onClose:e}))}),new Or("Collapsible",{icon:o.jsx(x.ListCollapseIcon,{className:"size-4"}),keywords:["collapse","collapsible","toggle"],onSelect:(e,i)=>i.dispatchCommand(js,void 0)}),new Or("Columns Layout",{icon:o.jsx(x.Columns3Icon,{className:"size-4"}),keywords:["columns","layout","grid"],onSelect:(e,i,s)=>s("Insert Columns Layout",e=>o.jsx(As,{activeEditor:i,onClose:e}))}),Pr({alignment:"left"}),Pr({alignment:"center"}),Pr({alignment:"right"}),Pr({alignment:"justify"})],dynamicOptionsFn:Dr}),o.jsx(la,{}),o.jsx(ga,{}),o.jsx(ka,{}),o.jsx(Ka,{anchorElem:e}),o.jsx(Wa,{anchorElem:e}),o.jsx(Xa,{})]})]})}const Xr={namespace:"Editor",theme:{ltr:"text-left",rtl:"text-right",heading:{h1:"scroll-m-20 text-4xl font-extrabold tracking-tight lg:text-5xl",h2:"scroll-m-20 border-b pb-2 text-3xl font-semibold tracking-tight first:mt-0",h3:"scroll-m-20 text-2xl font-semibold tracking-tight",h4:"scroll-m-20 text-xl font-semibold tracking-tight",h5:"scroll-m-20 text-lg font-semibold tracking-tight",h6:"scroll-m-20 text-base font-semibold tracking-tight"},paragraph:"leading-7 [&:not(:first-child)]:mt-6",quote:"mt-6 border-l-2 pl-6 italic",link:"text-content-presentation-action-link-primary hover:underline hover:cursor-pointer",list:{checklist:"relative",listitem:"mx-8",listitemChecked:'relative mx-2 px-6 list-none outline-none line-through before:content-[""] before:w-4 before:h-4 before:top-0.5 before:left-0 before:cursor-pointer before:block before:bg-cover before:absolute before:border before:border-border-presentation-action-primary before:rounded before:bg-background-presentation-action-primary before:bg-no-repeat after:content-[""] after:cursor-pointer after:border-white after:border-solid after:absolute after:block after:top-[6px] after:w-[3px] after:left-[7px] after:right-[7px] after:h-[6px] after:rotate-45 after:border-r-2 after:border-b-2 after:border-l-0 after:border-t-0',listitemUnchecked:'relative mx-2 px-6 list-none outline-none before:content-[""] before:w-4 before:h-4 before:top-0.5 before:left-0 before:cursor-pointer before:block before:bg-cover before:absolute before:border before:border-border-presentation-action-primary before:rounded',nested:{listitem:"list-none before:hidden after:hidden"},ol:"my-6 ml-6 list-decimal [&>li]:mt-2",olDepth:["list-outside !list-decimal","list-outside !list-[upper-roman]","list-outside !list-[lower-roman]","list-outside !list-[upper-alpha]","list-outside !list-[lower-alpha]"],ul:"m-0 p-0 list-outside"},hashtag:"text-content-presentation-badge-blue bg-background-presentation-badge-blue rounded-md px-1",text:{bold:"font-bold",code:"bg-background-presentation-form-base p-1 rounded-md",italic:"italic",strikethrough:"line-through",subscript:"sub",superscript:"sup",underline:"underline",underlineStrikethrough:"underline line-through"},image:"relative inline-block user-select-none cursor-default editor-image",inlineImage:"relative inline-block user-select-none cursor-default inline-editor-image",keyword:"text-content-presentation-badge-purple font-bold",code:"font-mono text-sm block p-2 my-2 overflow-x-auto border border-border-system-global-secondary rounded-lg tab-size-2 relative",codeHighlight:{atrule:"text-content-presentation-badge-purple",attr:"text-content-presentation-badge-purple",boolean:"text-content-presentation-badge-red",builtin:"text-content-presentation-badge-green",cdata:"text-content-system-global-secondary",char:"text-content-presentation-badge-green",class:"text-content-presentation-badge-rose","class-name":"text-content-presentation-badge-rose",comment:"text-content-system-global-secondary",constant:"text-content-presentation-badge-red",deleted:"text-content-presentation-badge-red",doctype:"text-content-system-global-secondary",entity:"text-content-presentation-badge-orange",function:"text-content-presentation-badge-rose",important:"text-content-presentation-badge-yellow",inserted:"text-content-presentation-badge-green",keyword:"text-content-presentation-badge-purple",namespace:"text-content-presentation-badge-yellow",number:"text-content-presentation-badge-red",operator:"text-content-presentation-badge-orange",prolog:"text-content-system-global-secondary",property:"text-content-presentation-badge-red",punctuation:"text-content-system-global-secondary/70",regex:"text-content-presentation-badge-yellow",selector:"text-content-presentation-badge-green",string:"text-content-presentation-badge-green",symbol:"text-content-presentation-badge-red",tag:"text-content-presentation-badge-red",url:"text-content-presentation-badge-orange",variable:"text-content-presentation-badge-yellow"},characterLimit:"!bg-background-presentation-state-negative-primary/50",table:"EditorTheme__table w-fit overflow-scroll border-collapse",tableCell:"EditorTheme__tableCell w-24 relative border px-4 py-2 text-left [&[align=center]]:text-center [&[align=right]]:text-right",tableCellActionButton:"EditorTheme__tableCellActionButton bg-background-system-body-primary block border-0 rounded-2xl w-5 h-5 text-content-system-global-primary cursor-pointer",tableCellActionButtonContainer:"EditorTheme__tableCellActionButtonContainer block right-1 top-1.5 absolute z-10 w-5 h-5",tableCellEditing:"EditorTheme__tableCellEditing rounded-sm shadow-sm",tableCellHeader:"EditorTheme__tableCellHeader bg-background-system-body-secondary border px-4 py-2 text-left font-bold [&[align=center]]:text-center [&[align=right]]:text-right",tableCellPrimarySelected:"EditorTheme__tableCellPrimarySelected border border-border-presentation-action-primary border-solid block h-[calc(100%-2px)] w-[calc(100%-2px)] absolute -left-[1px] -top-[1px] z-10 ",tableCellResizer:"EditorTheme__tableCellResizer absolute -right-1 h-full w-2 cursor-ew-resize z-10 top-0",tableCellSelected:"EditorTheme__tableCellSelected bg-background-system-body-secondary",tableCellSortedIndicator:"EditorTheme__tableCellSortedIndicator block opacity-50 absolute bottom-0 left-0 w-full h-1 bg-background-system-body-secondary",tableResizeRuler:"EditorTheme__tableCellResizeRuler block absolute w-[1px] h-full bg-background-presentation-action-primary top-0",tableRowStriping:"EditorTheme__tableRowStriping m-0 border-t p-0 even:bg-background-system-body-secondary",tableSelected:"EditorTheme__tableSelected ring-2 ring-border-presentation-state-focus ring-offset-2",tableSelection:"EditorTheme__tableSelection bg-transparent",layoutItem:"border border-dashed px-4 py-2",layoutContainer:"grid gap-2.5 my-2.5 mx-0",autocomplete:"text-content-system-global-secondary",blockCursor:"",embedBlock:{base:"user-select-none",focus:"ring-2 ring-border-presentation-state-focus ring-offset-2"},hr:'p-0.5 border-none my-1 mx-0 cursor-pointer after:content-[""] after:block after:h-0.5 after:bg-background-system-body-secondary selected:ring-2 selected:ring-border-presentation-state-focus selected:ring-offset-2 selected:user-select-none',indent:"[--lexical-indent-base-value:40px]",mark:"",markOverlap:""},nodes:Xi,onError:e=>{console.error(e)}};function Zr({editorState:e,editorSerializedState:i,onChange:s,onSerializedChange:t,onHtmlChange:n,placeholder:a,className:r}){return o.jsx("div",{className:"overflow-hidden rounded-lg border border-border-system-global-secondary bg-background-system-body-primary shadow w-full h-full max-w-full",children:o.jsx(ee,{initialConfig:{...Xr,...e?{editorState:e}:{},...i?{editorState:JSON.stringify(i)}:{}},children:o.jsx(de,{children:o.jsx(re,{children:o.jsxs(te,{children:[o.jsx(Vr,{}),n?o.jsx(Qr,{onChange:n}):null,o.jsx(oe,{ignoreSelectionChange:!0,onChange:e=>{s?.(e),t?.(e.toJSON())}})]})})})})})}function Qr({onChange:e}){const[i]=V();return i.registerUpdateListener(()=>{i.update(()=>{const o=n.$generateHtmlFromNodes(i);e(o)})}),null}exports.EditorWebComponent=null,"undefined"!=typeof window&&async function(){if("undefined"!=typeof window&&"undefined"!=typeof customElements)try{const e=await import("@r2wc/react-to-web-component"),i=e.default||e;exports.EditorWebComponent=i(Zr,{props:{editorState:"json",editorSerializedState:"json",onChange:"function",onSerializedChange:"function",onHtmlChange:"function"}}),customElements.get("react-editor")||customElements.define("react-editor",exports.EditorWebComponent)}catch(e){console.warn("Failed to create web component:",e)}}(),exports.$=function({options:e,onQueryChange:i,onSelectOption:n,onOpen:a,onClose:r,menuRenderFn:c,triggerFn:l,anchorClassName:d,commandPriority:g=t.COMMAND_PRIORITY_LOW,parent:u,preselectFirstItem:m=!0}){const[p]=V(),[_,v]=s.useState(null),y=function(e,i,o,t=(qn?document.body:void 0),n=!0){const[a]=V(),r=s.useRef(qn?document.createElement("div"):null),c=s.useCallback(()=>{if(null===r.current||void 0===t)return;r.current.style.top=r.current.style.bottom;const i=a.getRootElement(),s=r.current,c=s.firstChild;if(null!==i&&null!==e){const{left:a,top:l,width:d,height:g}=e.getRect(),u=r.current.offsetHeight;if(s.style.top=`${l+u+3+(n?window.pageYOffset:0)}px`,s.style.left=`${a+window.pageXOffset}px`,s.style.height=`${g}px`,s.style.width=`${d}px`,null!==c){c.style.top=`${l}`;const e=c.getBoundingClientRect(),o=e.height,t=e.width,r=i.getBoundingClientRect();a+t>r.right&&(s.style.left=`${r.right-t+window.pageXOffset}px`),(l+o>window.innerHeight||l+o>r.bottom)&&l-r.top>o+g&&(s.style.top=`${l-o-g+(n?window.pageYOffset:0)}px`)}s.isConnected||(Gn(s,o),t.append(s)),s.setAttribute("id","typeahead-menu"),r.current=s,i.setAttribute("aria-controls","typeahead-menu")}},[a,e,n,o,t]);s.useEffect(()=>{const i=a.getRootElement();return null!==e&&c(),()=>{null!==i&&i.removeAttribute("aria-controls");const e=r.current;null!==e&&e.isConnected&&(e.remove(),e.removeAttribute("id"))}},[a,c,e]);const l=s.useCallback(o=>{null!==e&&(o||i(null))},[e,i]);!function(e,i,o,t){const[n]=V();s.useEffect(()=>{if(null!=i&&null!=e){const e=n.getRootElement(),s=null!=e?function(e){let i=getComputedStyle(e);const o="absolute"===i.position,s=/(auto|scroll)/;if("fixed"===i.position)return document.body;for(let t=e;t=t.parentElement;)if(i=getComputedStyle(t),(!o||"static"!==i.position)&&s.test(i.overflow+i.overflowY+i.overflowX))return t;return document.body}(e):document.body;let a=!1,r=Yn(i,s);const c=function(){a||(window.requestAnimationFrame(function(){o(),a=!1}),a=!0);const e=Yn(i,s);e!==r&&(r=e,null!=t&&t(e))},l=new ResizeObserver(o);return window.addEventListener("resize",o),document.addEventListener("scroll",c,{capture:!0,passive:!0}),l.observe(i),()=>{l.unobserve(i),window.removeEventListener("resize",o),document.removeEventListener("scroll",c,!0)}}},[i,n,t,o,e])}(e,r.current,c,l);const d=r.current;return null!=d&&(Gn(d,o),null!=t&&t.append(d)),r}(_,v,d,u),h=s.useCallback(()=>{v(null),null!=r&&null!==_&&r()},[r,_]),f=s.useCallback(e=>{v(e),null!=a&&null===_&&a(e)},[a,_]);return s.useEffect(()=>{const e=p.registerUpdateListener(()=>{p.getEditorState().read(()=>{if(!p.isEditable())return void h();const e=p._window||window,o=e.document.createRange(),n=t.$getSelection(),a=function(e){let i=null;return e.getEditorState().read(()=>{const e=t.$getSelection();t.$isRangeSelection(e)&&(i=function(e){const i=e.anchor;if("text"!==i.type)return null;const o=i.getNode();if(!o.isSimpleText())return null;const s=i.offset;return o.getTextContent().slice(0,s)}(e))}),i}(p);if(!t.$isRangeSelection(n)||!n.isCollapsed()||null===a||null===o)return void h();const r=l(a,p);if(i(r?r.matchingString:null),null!==r&&(c=p,0!==r.leadOffset||!c.getEditorState().read(()=>{const e=t.$getSelection();if(t.$isRangeSelection(e)){const i=e.anchor.getNode().getPreviousSibling();return t.$isTextNode(i)&&i.isTextEntity()}return!1}))){const i=function(e,i,o){const s=t.getDOMSelection(o);if(null===s||!s.isCollapsed)return!1;const n=s.anchorNode,a=e,r=s.anchorOffset;if(null==n||null==r)return!1;try{i.setStart(n,a),i.setEnd(n,r)}catch(c){return!1}return!0}(r.leadOffset,o,e);if(null!==i)return d=()=>f({getRect:()=>o.getBoundingClientRect(),match:r}),void(zn in s?s[zn](d):d())}var c,d;h()})});return()=>{e()}},[p,l,i,_,h,f]),s.useEffect(()=>p.registerEditableListener(e=>{e||h()}),[p,h]),null===_||null===p||null===y.current?null:o.jsx(Jn,{close:h,resolution:_,editor:p,anchorElementRef:y,options:e,menuRenderFn:c,shouldSplitNodeWithQuery:!0,onSelectOption:n,commandPriority:g,preselectFirstItem:m})},exports.$isEquationNode=pi,exports.$isExcalidrawNode=function(e){return e instanceof yi},exports.$isImageNode=xi,exports.$isInlineImageNode=Ei,exports.$isPollNode=function(e){return e instanceof Gi},exports.Button=Ao,exports.Checkbox=At,exports.ContentEditable=Tr,exports.DialogFooter=ys,exports.Editor=Zr,exports.EditorClient=function(e){const[i,t]=s.useState(!1);return s.useEffect(()=>{t(!0)},[]),i?o.jsx(Zr,{...e}):null},exports.ExcalidrawModal=Ia,exports.Input=st,exports.KatexRenderer=Aa,exports.Label=ft,exports.LinkPlugin=Ga,exports.P=function({options:e,onWillOpen:i,onClose:n,onOpen:a,onSelectOption:r,menuRenderFn:c,anchorClassName:l,commandPriority:d=t.COMMAND_PRIORITY_LOW,parent:g}){const[u]=V(),[m,_]=s.useState(null),v=I.useRef(null),y=function(e,i,o,t=(Qn?document.body:void 0),n=!0){const[a]=V(),r=s.useRef(Qn?document.createElement("div"):null),c=s.useCallback(()=>{if(null===r.current||void 0===t)return;r.current.style.top=r.current.style.bottom;const i=a.getRootElement(),s=r.current,c=s.firstChild;if(null!==i&&null!==e){const{left:a,top:l,width:d,height:g}=e.getRect(),u=r.current.offsetHeight;if(s.style.top=`${l+u+3+(n?window.pageYOffset:0)}px`,s.style.left=`${a+window.pageXOffset}px`,s.style.height=`${g}px`,s.style.width=`${d}px`,null!==c){c.style.top=`${l}`;const e=c.getBoundingClientRect(),o=e.height,t=e.width,r=i.getBoundingClientRect();a+t>r.right&&(s.style.left=`${r.right-t+window.pageXOffset}px`),(l+o>window.innerHeight||l+o>r.bottom)&&l-r.top>o+g&&(s.style.top=`${l-o-g+(n?window.pageYOffset:0)}px`)}s.isConnected||(aa(s,o),t.append(s)),s.setAttribute("id","typeahead-menu"),r.current=s,i.setAttribute("aria-controls","typeahead-menu")}},[a,e,n,o,t]);s.useEffect(()=>{const i=a.getRootElement();return null!==e&&c(),()=>{null!==i&&i.removeAttribute("aria-controls");const e=r.current;null!==e&&e.isConnected&&(e.remove(),e.removeAttribute("id"))}},[a,c,e]);const l=s.useCallback(o=>{null!==e&&(o||i(null))},[e,i]);!function(e,i,o,t){const[n]=V();s.useEffect(()=>{if(null!=i&&null!=e){const e=n.getRootElement(),s=null!=e?function(e){let i=getComputedStyle(e);const o="absolute"===i.position,s=/(auto|scroll)/;if("fixed"===i.position)return document.body;for(let t=e;t=t.parentElement;)if(i=getComputedStyle(t),(!o||"static"!==i.position)&&s.test(i.overflow+i.overflowY+i.overflowX))return t;return document.body}(e):document.body;let a=!1,r=sa(i,s);const c=function(){a||(window.requestAnimationFrame(function(){o(),a=!1}),a=!0);const e=sa(i,s);e!==r&&(r=e,null!=t&&t(e))},l=new ResizeObserver(o);return window.addEventListener("resize",o),document.addEventListener("scroll",c,{capture:!0,passive:!0}),l.observe(i),()=>{l.unobserve(i),window.removeEventListener("resize",o),document.removeEventListener("scroll",c,!0)}}},[i,n,t,o,e])}(e,r.current,c,l);const d=r.current;return null!=d&&(aa(d,o),null!=t&&t.append(d)),r}(m,_,l,g),h=s.useCallback(()=>{_(null),null!=n&&null!==m&&n()},[n,m]),f=s.useCallback(e=>{_(e),null!=a&&null===m&&a(e)},[a,m]),b=s.useCallback(e=>{e.preventDefault(),null!=i&&i(e);const o=p.calculateZoomLevel(e.target);f({getRect:()=>new DOMRect(e.clientX/o,e.clientY/o,1,1)})},[f,i]),j=s.useCallback(e=>{null!==m&&null!=v.current&&null!=e.target&&t.isDOMNode(e.target)&&!v.current.contains(e.target)&&h()},[h,m]);return s.useEffect(()=>{const e=u.getRootElement();if(e)return e.addEventListener("contextmenu",b),()=>e.removeEventListener("contextmenu",b)},[u,b]),s.useEffect(()=>(document.addEventListener("click",j),()=>document.removeEventListener("click",j)),[u,j]),null===y.current||null===m||null===u?null:o.jsx(na,{close:h,resolution:m,editor:u,anchorElementRef:y,options:e,menuRenderFn:(e,i)=>c(e,i,{setMenuRef:e=>{v.current=e}}),onSelectOption:r,commandPriority:d})},exports.Select=qo,exports.SelectContent=Yo,exports.SelectItem=Uo,exports.SelectTrigger=Wo,exports.SelectValue=Ho,exports.a=ho,exports.a$1=go,exports.a$2=to,exports.createPollOption=Yi,exports.h=jo,exports.o=V,exports.o$1=Zi,exports.r=J,exports.t=G,exports.u=ue,exports.useEditorModal=fs;
//# sourceMappingURL=index-BLOj1UA2.cjs.map