theme.min.js 754 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923159241592515926159271592815929159301593115932159331593415935159361593715938159391594015941159421594315944159451594615947159481594915950159511595215953159541595515956159571595815959159601596115962159631596415965159661596715968159691597015971159721597315974159751597615977159781597915980159811598215983159841598515986159871598815989159901599115992159931599415995159961599715998159991600016001160021600316004160051600616007160081600916010160111601216013160141601516016160171601816019160201602116022160231602416025160261602716028160291603016031160321603316034160351603616037160381603916040160411604216043160441604516046160471604816049160501605116052160531605416055160561605716058160591606016061160621606316064160651606616067160681606916070160711607216073160741607516076160771607816079160801608116082160831608416085160861608716088160891609016091160921609316094160951609616097160981609916100161011610216103161041610516106161071610816109161101611116112161131611416115161161611716118161191612016121161221612316124161251612616127161281612916130161311613216133161341613516136161371613816139161401614116142161431614416145161461614716148161491615016151161521615316154161551615616157161581615916160161611616216163161641616516166161671616816169161701617116172161731617416175161761617716178161791618016181161821618316184161851618616187161881618916190161911619216193161941619516196161971619816199162001620116202162031620416205162061620716208162091621016211162121621316214162151621616217162181621916220162211622216223162241622516226162271622816229162301623116232162331623416235162361623716238162391624016241162421624316244162451624616247162481624916250162511625216253162541625516256162571625816259162601626116262162631626416265162661626716268162691627016271162721627316274162751627616277162781627916280162811628216283162841628516286162871628816289162901629116292162931629416295162961629716298162991630016301163021630316304163051630616307163081630916310163111631216313163141631516316163171631816319163201632116322163231632416325163261632716328163291633016331163321633316334163351633616337163381633916340163411634216343163441634516346163471634816349163501635116352163531635416355163561635716358163591636016361163621636316364163651636616367163681636916370163711637216373163741637516376163771637816379163801638116382163831638416385163861638716388163891639016391163921639316394163951639616397163981639916400164011640216403164041640516406164071640816409164101641116412164131641416415164161641716418164191642016421164221642316424164251642616427164281642916430164311643216433164341643516436164371643816439164401644116442164431644416445164461644716448164491645016451164521645316454164551645616457164581645916460164611646216463164641646516466164671646816469164701647116472164731647416475164761647716478164791648016481164821648316484164851648616487164881648916490164911649216493164941649516496164971649816499165001650116502165031650416505165061650716508165091651016511165121651316514165151651616517165181651916520165211652216523165241652516526165271652816529165301653116532165331653416535165361653716538165391654016541165421654316544165451654616547165481654916550165511655216553165541655516556165571655816559165601656116562165631656416565165661656716568165691657016571165721657316574165751657616577165781657916580165811658216583165841658516586165871658816589165901659116592165931659416595165961659716598165991660016601166021660316604166051660616607166081660916610166111661216613166141661516616166171661816619166201662116622166231662416625166261662716628166291663016631166321663316634166351663616637166381663916640166411664216643166441664516646166471664816649166501665116652166531665416655166561665716658166591666016661166621666316664166651666616667166681666916670166711667216673166741667516676166771667816679166801668116682166831668416685166861668716688166891669016691166921669316694166951669616697166981669916700167011670216703167041670516706167071670816709167101671116712167131671416715167161671716718167191672016721167221672316724167251672616727167281672916730167311673216733167341673516736167371673816739167401674116742167431674416745167461674716748167491675016751167521675316754167551675616757167581675916760167611676216763167641676516766167671676816769167701677116772167731677416775167761677716778167791678016781167821678316784167851678616787167881678916790167911679216793167941679516796167971679816799168001680116802168031680416805168061680716808168091681016811168121681316814168151681616817168181681916820168211682216823168241682516826168271682816829168301683116832168331683416835168361683716838168391684016841168421684316844168451684616847168481684916850168511685216853168541685516856168571685816859168601686116862168631686416865168661686716868168691687016871168721687316874168751687616877168781687916880168811688216883168841688516886168871688816889168901689116892168931689416895168961689716898168991690016901169021690316904169051690616907169081690916910169111691216913169141691516916169171691816919169201692116922169231692416925169261692716928169291693016931169321693316934169351693616937169381693916940169411694216943169441694516946169471694816949169501695116952169531695416955169561695716958169591696016961169621696316964169651696616967169681696916970169711697216973169741697516976169771697816979169801698116982169831698416985169861698716988169891699016991169921699316994169951699616997169981699917000170011700217003170041700517006170071700817009170101701117012170131701417015170161701717018170191702017021170221702317024170251702617027170281702917030170311703217033170341703517036170371703817039170401704117042170431704417045170461704717048170491705017051170521705317054170551705617057170581705917060170611706217063170641706517066170671706817069170701707117072170731707417075170761707717078170791708017081170821708317084170851708617087170881708917090170911709217093170941709517096170971709817099171001710117102171031710417105171061710717108171091711017111171121711317114171151711617117171181711917120171211712217123171241712517126171271712817129171301713117132171331713417135171361713717138171391714017141171421714317144171451714617147171481714917150171511715217153171541715517156171571715817159171601716117162171631716417165171661716717168171691717017171171721717317174171751717617177171781717917180171811718217183171841718517186171871718817189171901719117192171931719417195171961719717198171991720017201172021720317204172051720617207172081720917210172111721217213172141721517216172171721817219172201722117222172231722417225172261722717228172291723017231172321723317234172351723617237172381723917240172411724217243172441724517246172471724817249172501725117252172531725417255172561725717258172591726017261172621726317264172651726617267172681726917270172711727217273172741727517276172771727817279172801728117282172831728417285172861728717288172891729017291172921729317294172951729617297172981729917300173011730217303173041730517306173071730817309173101731117312173131731417315173161731717318173191732017321173221732317324173251732617327173281732917330173311733217333173341733517336173371733817339173401734117342173431734417345173461734717348173491735017351173521735317354173551735617357173581735917360173611736217363173641736517366173671736817369173701737117372173731737417375173761737717378173791738017381173821738317384173851738617387173881738917390173911739217393173941739517396173971739817399174001740117402174031740417405174061740717408174091741017411174121741317414174151741617417174181741917420174211742217423174241742517426174271742817429174301743117432174331743417435174361743717438174391744017441174421744317444174451744617447174481744917450174511745217453174541745517456174571745817459174601746117462174631746417465174661746717468174691747017471174721747317474174751747617477174781747917480174811748217483174841748517486174871748817489174901749117492174931749417495174961749717498174991750017501175021750317504175051750617507175081750917510175111751217513175141751517516175171751817519175201752117522175231752417525175261752717528175291753017531175321753317534175351753617537175381753917540175411754217543175441754517546175471754817549175501755117552175531755417555175561755717558175591756017561175621756317564175651756617567175681756917570175711757217573175741757517576175771757817579175801758117582175831758417585175861758717588175891759017591175921759317594175951759617597175981759917600176011760217603176041760517606176071760817609176101761117612176131761417615176161761717618176191762017621176221762317624176251762617627176281762917630176311763217633176341763517636176371763817639176401764117642176431764417645176461764717648176491765017651176521765317654176551765617657176581765917660176611766217663176641766517666176671766817669176701767117672176731767417675176761767717678176791768017681176821768317684176851768617687176881768917690176911769217693176941769517696176971769817699177001770117702177031770417705177061770717708177091771017711177121771317714177151771617717177181771917720177211772217723177241772517726177271772817729177301773117732177331773417735177361773717738177391774017741177421774317744177451774617747177481774917750177511775217753177541775517756177571775817759177601776117762177631776417765177661776717768177691777017771177721777317774177751777617777177781777917780177811778217783177841778517786177871778817789177901779117792177931779417795177961779717798177991780017801178021780317804178051780617807178081780917810178111781217813178141781517816178171781817819178201782117822178231782417825178261782717828178291783017831178321783317834178351783617837178381783917840178411784217843178441784517846178471784817849178501785117852178531785417855178561785717858178591786017861178621786317864178651786617867178681786917870178711787217873178741787517876178771787817879178801788117882178831788417885178861788717888178891789017891178921789317894178951789617897178981789917900179011790217903179041790517906179071790817909179101791117912179131791417915179161791717918179191792017921179221792317924179251792617927179281792917930179311793217933179341793517936179371793817939179401794117942179431794417945179461794717948179491795017951179521795317954179551795617957179581795917960179611796217963179641796517966179671796817969179701797117972179731797417975179761797717978179791798017981179821798317984179851798617987179881798917990179911799217993179941799517996179971799817999180001800118002180031800418005180061800718008180091801018011180121801318014180151801618017180181801918020180211802218023180241802518026180271802818029180301803118032180331803418035180361803718038180391804018041180421804318044180451804618047180481804918050180511805218053180541805518056180571805818059180601806118062180631806418065180661806718068180691807018071180721807318074180751807618077180781807918080180811808218083180841808518086180871808818089180901809118092180931809418095180961809718098180991810018101181021810318104181051810618107181081810918110181111811218113181141811518116181171811818119181201812118122181231812418125181261812718128181291813018131181321813318134181351813618137181381813918140181411814218143181441814518146181471814818149181501815118152181531815418155181561815718158181591816018161181621816318164181651816618167181681816918170181711817218173181741817518176181771817818179181801818118182181831818418185181861818718188181891819018191181921819318194181951819618197181981819918200182011820218203182041820518206182071820818209182101821118212182131821418215182161821718218182191822018221182221822318224182251822618227182281822918230182311823218233182341823518236182371823818239182401824118242182431824418245182461824718248182491825018251182521825318254182551825618257182581825918260182611826218263182641826518266182671826818269182701827118272182731827418275182761827718278182791828018281182821828318284182851828618287182881828918290182911829218293182941829518296182971829818299183001830118302183031830418305183061830718308183091831018311183121831318314183151831618317183181831918320183211832218323183241832518326183271832818329183301833118332183331833418335183361833718338183391834018341183421834318344183451834618347183481834918350183511835218353183541835518356183571835818359183601836118362183631836418365183661836718368183691837018371183721837318374183751837618377183781837918380183811838218383183841838518386183871838818389183901839118392183931839418395183961839718398183991840018401184021840318404184051840618407184081840918410184111841218413184141841518416184171841818419184201842118422184231842418425184261842718428184291843018431184321843318434184351843618437184381843918440184411844218443184441844518446184471844818449184501845118452184531845418455184561845718458184591846018461184621846318464184651846618467184681846918470184711847218473184741847518476184771847818479184801848118482184831848418485184861848718488184891849018491184921849318494184951849618497184981849918500185011850218503185041850518506185071850818509185101851118512185131851418515185161851718518185191852018521185221852318524185251852618527185281852918530185311853218533185341853518536185371853818539185401854118542185431854418545185461854718548185491855018551185521855318554185551855618557185581855918560185611856218563185641856518566185671856818569185701857118572185731857418575185761857718578185791858018581185821858318584185851858618587185881858918590185911859218593185941859518596185971859818599186001860118602186031860418605186061860718608186091861018611186121861318614186151861618617186181861918620186211862218623186241862518626186271862818629186301863118632186331863418635186361863718638186391864018641186421864318644186451864618647186481864918650186511865218653186541865518656186571865818659186601866118662186631866418665186661866718668186691867018671186721867318674186751867618677186781867918680186811868218683186841868518686186871868818689186901869118692186931869418695186961869718698186991870018701187021870318704187051870618707187081870918710187111871218713187141871518716187171871818719187201872118722187231872418725187261872718728187291873018731187321873318734187351873618737187381873918740187411874218743187441874518746187471874818749187501875118752187531875418755187561875718758187591876018761187621876318764187651876618767187681876918770187711877218773187741877518776187771877818779187801878118782187831878418785187861878718788187891879018791187921879318794187951879618797187981879918800188011880218803188041880518806188071880818809188101881118812188131881418815188161881718818188191882018821188221882318824188251882618827188281882918830188311883218833188341883518836188371883818839188401884118842188431884418845188461884718848188491885018851188521885318854188551885618857188581885918860188611886218863188641886518866188671886818869188701887118872188731887418875188761887718878188791888018881188821888318884188851888618887188881888918890188911889218893188941889518896188971889818899189001890118902189031890418905189061890718908189091891018911189121891318914189151891618917189181891918920189211892218923189241892518926189271892818929189301893118932189331893418935189361893718938189391894018941189421894318944189451894618947189481894918950189511895218953189541895518956189571895818959189601896118962189631896418965189661896718968189691897018971189721897318974189751897618977189781897918980189811898218983189841898518986189871898818989189901899118992189931899418995189961899718998189991900019001190021900319004190051900619007190081900919010190111901219013190141901519016190171901819019190201902119022190231902419025190261902719028190291903019031190321903319034190351903619037190381903919040190411904219043190441904519046190471904819049190501905119052190531905419055190561905719058190591906019061190621906319064190651906619067190681906919070190711907219073190741907519076190771907819079190801908119082190831908419085190861908719088190891909019091190921909319094190951909619097190981909919100191011910219103191041910519106191071910819109191101911119112191131911419115191161911719118191191912019121191221912319124191251912619127191281912919130191311913219133191341913519136191371913819139191401914119142191431914419145191461914719148191491915019151191521915319154191551915619157191581915919160191611916219163191641916519166191671916819169191701917119172191731917419175191761917719178191791918019181191821918319184191851918619187191881918919190191911919219193191941919519196191971919819199192001920119202192031920419205192061920719208192091921019211192121921319214192151921619217192181921919220192211922219223192241922519226192271922819229192301923119232192331923419235192361923719238192391924019241192421924319244192451924619247192481924919250192511925219253192541925519256192571925819259192601926119262192631926419265192661926719268192691927019271192721927319274192751927619277192781927919280192811928219283192841928519286192871928819289192901929119292192931929419295192961929719298192991930019301193021930319304193051930619307193081930919310193111931219313193141931519316193171931819319193201932119322193231932419325193261932719328193291933019331193321933319334193351933619337193381933919340193411934219343193441934519346193471934819349193501935119352193531935419355193561935719358193591936019361193621936319364193651936619367193681936919370193711937219373193741937519376193771937819379193801938119382193831938419385193861938719388193891939019391193921939319394193951939619397193981939919400194011940219403194041940519406194071940819409194101941119412194131941419415194161941719418194191942019421194221942319424194251942619427194281942919430194311943219433194341943519436194371943819439194401944119442194431944419445194461944719448194491945019451194521945319454194551945619457194581945919460194611946219463194641946519466194671946819469194701947119472194731947419475194761947719478194791948019481194821948319484194851948619487194881948919490194911949219493194941949519496194971949819499195001950119502195031950419505195061950719508195091951019511195121951319514195151951619517195181951919520195211952219523195241952519526195271952819529195301953119532195331953419535195361953719538195391954019541195421954319544195451954619547195481954919550195511955219553195541955519556195571955819559195601956119562195631956419565195661956719568195691957019571195721957319574195751957619577195781957919580195811958219583195841958519586195871958819589195901959119592195931959419595195961959719598195991960019601196021960319604196051960619607196081960919610196111961219613196141961519616196171961819619196201962119622196231962419625196261962719628196291963019631196321963319634196351963619637196381963919640196411964219643196441964519646196471964819649196501965119652196531965419655196561965719658196591966019661196621966319664196651966619667196681966919670196711967219673196741967519676196771967819679196801968119682196831968419685196861968719688196891969019691196921969319694196951969619697196981969919700197011970219703197041970519706197071970819709197101971119712197131971419715197161971719718197191972019721197221972319724197251972619727197281972919730197311973219733197341973519736197371973819739197401974119742197431974419745197461974719748197491975019751197521975319754197551975619757197581975919760197611976219763197641976519766197671976819769197701977119772197731977419775197761977719778197791978019781197821978319784197851978619787197881978919790197911979219793197941979519796197971979819799198001980119802198031980419805198061980719808198091981019811198121981319814198151981619817198181981919820198211982219823198241982519826198271982819829198301983119832198331983419835198361983719838198391984019841198421984319844198451984619847198481984919850198511985219853198541985519856198571985819859198601986119862198631986419865198661986719868198691987019871198721987319874198751987619877198781987919880198811988219883198841988519886198871988819889198901989119892198931989419895198961989719898198991990019901199021990319904199051990619907199081990919910199111991219913199141991519916199171991819919199201992119922199231992419925199261992719928199291993019931199321993319934199351993619937199381993919940199411994219943199441994519946199471994819949199501995119952199531995419955199561995719958199591996019961199621996319964199651996619967199681996919970199711997219973199741997519976199771997819979199801998119982199831998419985199861998719988199891999019991199921999319994199951999619997199981999920000200012000220003200042000520006200072000820009200102001120012200132001420015200162001720018200192002020021200222002320024200252002620027200282002920030200312003220033200342003520036200372003820039200402004120042200432004420045200462004720048200492005020051200522005320054200552005620057200582005920060200612006220063200642006520066200672006820069200702007120072200732007420075200762007720078200792008020081200822008320084200852008620087200882008920090200912009220093200942009520096200972009820099201002010120102201032010420105201062010720108201092011020111201122011320114201152011620117201182011920120201212012220123201242012520126201272012820129201302013120132201332013420135201362013720138201392014020141201422014320144201452014620147201482014920150201512015220153201542015520156201572015820159201602016120162201632016420165201662016720168201692017020171201722017320174201752017620177201782017920180201812018220183201842018520186201872018820189201902019120192201932019420195201962019720198201992020020201202022020320204202052020620207202082020920210202112021220213202142021520216202172021820219202202022120222202232022420225202262022720228202292023020231202322023320234202352023620237202382023920240202412024220243202442024520246202472024820249202502025120252202532025420255202562025720258202592026020261202622026320264202652026620267202682026920270202712027220273202742027520276202772027820279202802028120282202832028420285202862028720288202892029020291202922029320294202952029620297202982029920300203012030220303203042030520306203072030820309203102031120312203132031420315203162031720318203192032020321203222032320324203252032620327203282032920330203312033220333203342033520336203372033820339203402034120342203432034420345203462034720348203492035020351203522035320354203552035620357203582035920360203612036220363203642036520366203672036820369203702037120372203732037420375203762037720378203792038020381203822038320384203852038620387203882038920390203912039220393203942039520396203972039820399204002040120402204032040420405204062040720408204092041020411204122041320414204152041620417204182041920420204212042220423204242042520426204272042820429204302043120432204332043420435204362043720438204392044020441204422044320444204452044620447204482044920450204512045220453204542045520456204572045820459204602046120462204632046420465204662046720468204692047020471204722047320474204752047620477204782047920480204812048220483204842048520486204872048820489204902049120492204932049420495204962049720498204992050020501205022050320504205052050620507205082050920510205112051220513205142051520516205172051820519205202052120522205232052420525205262052720528205292053020531205322053320534205352053620537205382053920540205412054220543205442054520546205472054820549205502055120552205532055420555205562055720558205592056020561205622056320564205652056620567205682056920570205712057220573205742057520576205772057820579205802058120582205832058420585205862058720588205892059020591205922059320594205952059620597205982059920600206012060220603206042060520606206072060820609206102061120612206132061420615206162061720618206192062020621206222062320624206252062620627206282062920630206312063220633206342063520636206372063820639206402064120642206432064420645206462064720648206492065020651206522065320654206552065620657206582065920660206612066220663206642066520666206672066820669206702067120672206732067420675206762067720678206792068020681206822068320684206852068620687206882068920690206912069220693206942069520696206972069820699207002070120702207032070420705207062070720708207092071020711207122071320714207152071620717207182071920720207212072220723207242072520726207272072820729207302073120732207332073420735207362073720738207392074020741207422074320744207452074620747207482074920750207512075220753207542075520756207572075820759207602076120762207632076420765207662076720768207692077020771207722077320774207752077620777207782077920780207812078220783207842078520786207872078820789207902079120792207932079420795207962079720798207992080020801208022080320804208052080620807208082080920810208112081220813208142081520816208172081820819208202082120822208232082420825208262082720828208292083020831208322083320834208352083620837208382083920840208412084220843208442084520846208472084820849208502085120852208532085420855208562085720858208592086020861208622086320864208652086620867208682086920870208712087220873208742087520876208772087820879208802088120882208832088420885208862088720888208892089020891208922089320894208952089620897208982089920900209012090220903209042090520906209072090820909209102091120912209132091420915209162091720918209192092020921209222092320924209252092620927209282092920930209312093220933209342093520936209372093820939209402094120942209432094420945209462094720948209492095020951209522095320954209552095620957209582095920960209612096220963209642096520966209672096820969209702097120972209732097420975209762097720978209792098020981209822098320984209852098620987209882098920990209912099220993209942099520996209972099820999210002100121002210032100421005210062100721008210092101021011210122101321014210152101621017210182101921020210212102221023210242102521026210272102821029210302103121032210332103421035210362103721038210392104021041210422104321044210452104621047210482104921050210512105221053210542105521056210572105821059210602106121062210632106421065210662106721068210692107021071210722107321074210752107621077210782107921080210812108221083210842108521086210872108821089210902109121092210932109421095210962109721098210992110021101211022110321104211052110621107211082110921110211112111221113211142111521116211172111821119211202112121122211232112421125211262112721128211292113021131211322113321134211352113621137211382113921140211412114221143211442114521146211472114821149211502115121152211532115421155211562115721158211592116021161211622116321164211652116621167211682116921170211712117221173211742117521176211772117821179211802118121182211832118421185211862118721188211892119021191211922119321194211952119621197211982119921200212012120221203212042120521206212072120821209212102121121212212132121421215212162121721218212192122021221212222122321224212252122621227212282122921230212312123221233212342123521236212372123821239212402124121242212432124421245212462124721248212492125021251212522125321254212552125621257212582125921260212612126221263212642126521266212672126821269212702127121272212732127421275212762127721278212792128021281212822128321284212852128621287212882128921290212912129221293212942129521296212972129821299213002130121302213032130421305213062130721308213092131021311213122131321314213152131621317213182131921320213212132221323213242132521326213272132821329213302133121332213332133421335213362133721338213392134021341213422134321344213452134621347213482134921350213512135221353213542135521356213572135821359213602136121362213632136421365213662136721368213692137021371213722137321374213752137621377213782137921380213812138221383213842138521386213872138821389213902139121392213932139421395213962139721398213992140021401214022140321404214052140621407214082140921410214112141221413214142141521416214172141821419214202142121422214232142421425214262142721428214292143021431214322143321434214352143621437214382143921440214412144221443214442144521446214472144821449214502145121452214532145421455214562145721458214592146021461214622146321464214652146621467214682146921470214712147221473214742147521476214772147821479214802148121482214832148421485214862148721488214892149021491214922149321494214952149621497214982149921500215012150221503215042150521506215072150821509215102151121512215132151421515215162151721518215192152021521215222152321524215252152621527215282152921530215312153221533215342153521536215372153821539215402154121542215432154421545215462154721548215492155021551215522155321554215552155621557215582155921560215612156221563215642156521566215672156821569215702157121572215732157421575215762157721578215792158021581215822158321584215852158621587215882158921590215912159221593215942159521596215972159821599216002160121602216032160421605216062160721608216092161021611216122161321614216152161621617216182161921620216212162221623216242162521626216272162821629216302163121632216332163421635216362163721638216392164021641216422164321644216452164621647216482164921650216512165221653216542165521656216572165821659216602166121662216632166421665216662166721668216692167021671216722167321674216752167621677216782167921680216812168221683216842168521686216872168821689216902169121692216932169421695216962169721698216992170021701217022170321704217052170621707217082170921710217112171221713217142171521716217172171821719217202172121722217232172421725217262172721728217292173021731217322173321734217352173621737217382173921740217412174221743217442174521746217472174821749217502175121752217532175421755217562175721758217592176021761217622176321764217652176621767217682176921770217712177221773217742177521776217772177821779217802178121782217832178421785217862178721788217892179021791217922179321794217952179621797217982179921800218012180221803218042180521806218072180821809218102181121812218132181421815218162181721818218192182021821218222182321824218252182621827218282182921830218312183221833218342183521836218372183821839218402184121842218432184421845218462184721848218492185021851218522185321854218552185621857218582185921860218612186221863218642186521866218672186821869218702187121872218732187421875218762187721878218792188021881218822188321884218852188621887218882188921890218912189221893218942189521896218972189821899219002190121902219032190421905219062190721908219092191021911219122191321914219152191621917219182191921920219212192221923219242192521926219272192821929219302193121932219332193421935219362193721938219392194021941219422194321944219452194621947219482194921950219512195221953219542195521956219572195821959219602196121962219632196421965219662196721968219692197021971219722197321974219752197621977219782197921980219812198221983219842198521986219872198821989219902199121992219932199421995219962199721998219992200022001220022200322004220052200622007220082200922010220112201222013220142201522016220172201822019220202202122022220232202422025220262202722028220292203022031220322203322034220352203622037220382203922040220412204222043220442204522046220472204822049220502205122052220532205422055220562205722058220592206022061220622206322064220652206622067220682206922070220712207222073220742207522076220772207822079220802208122082220832208422085220862208722088220892209022091220922209322094220952209622097220982209922100221012210222103221042210522106221072210822109221102211122112221132211422115221162211722118221192212022121221222212322124221252212622127221282212922130221312213222133221342213522136221372213822139221402214122142221432214422145221462214722148221492215022151221522215322154221552215622157221582215922160221612216222163221642216522166221672216822169221702217122172221732217422175221762217722178221792218022181221822218322184221852218622187221882218922190221912219222193221942219522196221972219822199222002220122202222032220422205222062220722208222092221022211222122221322214222152221622217222182221922220222212222222223222242222522226222272222822229222302223122232222332223422235222362223722238222392224022241222422224322244222452224622247222482224922250222512225222253222542225522256222572225822259222602226122262222632226422265222662226722268222692227022271222722227322274222752227622277222782227922280222812228222283222842228522286222872228822289222902229122292222932229422295222962229722298222992230022301223022230322304223052230622307223082230922310223112231222313223142231522316223172231822319223202232122322223232232422325223262232722328223292233022331223322233322334223352233622337223382233922340223412234222343223442234522346223472234822349223502235122352223532235422355223562235722358223592236022361223622236322364223652236622367223682236922370223712237222373223742237522376223772237822379223802238122382223832238422385223862238722388223892239022391223922239322394223952239622397223982239922400224012240222403224042240522406224072240822409224102241122412224132241422415224162241722418224192242022421224222242322424224252242622427224282242922430224312243222433224342243522436224372243822439224402244122442224432244422445224462244722448224492245022451224522245322454224552245622457224582245922460224612246222463224642246522466224672246822469224702247122472224732247422475224762247722478224792248022481224822248322484224852248622487224882248922490224912249222493224942249522496224972249822499225002250122502225032250422505225062250722508225092251022511225122251322514225152251622517225182251922520225212252222523225242252522526225272252822529225302253122532225332253422535225362253722538225392254022541225422254322544225452254622547225482254922550225512255222553225542255522556225572255822559225602256122562225632256422565225662256722568225692257022571225722257322574225752257622577225782257922580225812258222583225842258522586225872258822589225902259122592225932259422595225962259722598225992260022601226022260322604226052260622607226082260922610226112261222613226142261522616226172261822619226202262122622226232262422625226262262722628226292263022631226322263322634226352263622637226382263922640226412264222643226442264522646226472264822649226502265122652226532265422655226562265722658226592266022661226622266322664226652266622667226682266922670226712267222673226742267522676226772267822679226802268122682226832268422685226862268722688226892269022691226922269322694226952269622697226982269922700227012270222703227042270522706227072270822709227102271122712227132271422715227162271722718227192272022721227222272322724227252272622727227282272922730227312273222733227342273522736227372273822739227402274122742227432274422745227462274722748227492275022751227522275322754227552275622757227582275922760227612276222763227642276522766227672276822769227702277122772227732277422775227762277722778227792278022781227822278322784227852278622787227882278922790227912279222793227942279522796227972279822799228002280122802228032280422805228062280722808228092281022811228122281322814228152281622817228182281922820228212282222823228242282522826228272282822829228302283122832228332283422835228362283722838228392284022841228422284322844228452284622847228482284922850228512285222853228542285522856228572285822859228602286122862228632286422865228662286722868228692287022871228722287322874228752287622877228782287922880228812288222883228842288522886228872288822889228902289122892228932289422895228962289722898228992290022901229022290322904229052290622907229082290922910229112291222913229142291522916229172291822919229202292122922229232292422925229262292722928229292293022931229322293322934229352293622937229382293922940229412294222943229442294522946229472294822949229502295122952229532295422955229562295722958229592296022961229622296322964229652296622967229682296922970229712297222973229742297522976229772297822979229802298122982229832298422985229862298722988229892299022991229922299322994229952299622997229982299923000230012300223003230042300523006230072300823009230102301123012230132301423015230162301723018230192302023021230222302323024230252302623027230282302923030230312303223033230342303523036230372303823039230402304123042230432304423045230462304723048230492305023051230522305323054230552305623057230582305923060230612306223063230642306523066230672306823069230702307123072230732307423075230762307723078230792308023081230822308323084230852308623087230882308923090230912309223093230942309523096230972309823099231002310123102231032310423105231062310723108231092311023111231122311323114231152311623117231182311923120231212312223123231242312523126231272312823129231302313123132231332313423135231362313723138231392314023141231422314323144231452314623147231482314923150231512315223153231542315523156231572315823159231602316123162231632316423165231662316723168231692317023171231722317323174231752317623177231782317923180231812318223183231842318523186231872318823189231902319123192231932319423195231962319723198231992320023201232022320323204232052320623207232082320923210232112321223213232142321523216232172321823219232202322123222232232322423225232262322723228232292323023231232322323323234232352323623237232382323923240232412324223243232442324523246232472324823249232502325123252232532325423255232562325723258232592326023261232622326323264232652326623267232682326923270232712327223273232742327523276232772327823279232802328123282232832328423285232862328723288232892329023291232922329323294232952329623297232982329923300233012330223303233042330523306233072330823309233102331123312233132331423315233162331723318233192332023321233222332323324233252332623327233282332923330233312333223333233342333523336233372333823339233402334123342233432334423345233462334723348233492335023351233522335323354233552335623357233582335923360233612336223363233642336523366233672336823369233702337123372233732337423375233762337723378233792338023381233822338323384233852338623387233882338923390233912339223393233942339523396233972339823399234002340123402234032340423405234062340723408234092341023411234122341323414234152341623417234182341923420234212342223423234242342523426234272342823429234302343123432234332343423435234362343723438234392344023441234422344323444234452344623447234482344923450234512345223453234542345523456234572345823459234602346123462234632346423465234662346723468234692347023471234722347323474234752347623477234782347923480234812348223483234842348523486234872348823489234902349123492234932349423495234962349723498234992350023501235022350323504235052350623507235082350923510235112351223513235142351523516235172351823519235202352123522235232352423525235262352723528235292353023531235322353323534235352353623537235382353923540235412354223543235442354523546235472354823549235502355123552235532355423555235562355723558235592356023561235622356323564235652356623567235682356923570235712357223573235742357523576235772357823579235802358123582235832358423585235862358723588235892359023591235922359323594235952359623597235982359923600236012360223603236042360523606236072360823609236102361123612236132361423615236162361723618236192362023621236222362323624236252362623627236282362923630236312363223633236342363523636236372363823639236402364123642236432364423645236462364723648236492365023651236522365323654236552365623657236582365923660236612366223663236642366523666236672366823669236702367123672236732367423675236762367723678236792368023681236822368323684236852368623687236882368923690236912369223693236942369523696236972369823699237002370123702237032370423705237062370723708237092371023711237122371323714237152371623717237182371923720237212372223723237242372523726237272372823729237302373123732237332373423735237362373723738237392374023741237422374323744237452374623747237482374923750237512375223753237542375523756237572375823759237602376123762237632376423765237662376723768237692377023771237722377323774237752377623777237782377923780237812378223783237842378523786237872378823789237902379123792237932379423795237962379723798237992380023801238022380323804238052380623807238082380923810238112381223813238142381523816238172381823819238202382123822238232382423825238262382723828238292383023831238322383323834238352383623837238382383923840238412384223843238442384523846238472384823849238502385123852238532385423855238562385723858238592386023861238622386323864238652386623867238682386923870238712387223873238742387523876238772387823879238802388123882238832388423885238862388723888238892389023891238922389323894238952389623897238982389923900239012390223903239042390523906239072390823909239102391123912239132391423915239162391723918239192392023921239222392323924239252392623927239282392923930239312393223933239342393523936239372393823939239402394123942239432394423945239462394723948239492395023951239522395323954239552395623957239582395923960239612396223963239642396523966239672396823969239702397123972239732397423975239762397723978239792398023981239822398323984239852398623987239882398923990239912399223993239942399523996239972399823999240002400124002240032400424005240062400724008240092401024011240122401324014240152401624017240182401924020240212402224023240242402524026240272402824029240302403124032240332403424035240362403724038240392404024041240422404324044240452404624047240482404924050240512405224053240542405524056240572405824059240602406124062240632406424065240662406724068240692407024071240722407324074240752407624077240782407924080240812408224083240842408524086240872408824089240902409124092240932409424095240962409724098240992410024101241022410324104241052410624107241082410924110241112411224113241142411524116241172411824119241202412124122241232412424125241262412724128241292413024131241322413324134241352413624137241382413924140241412414224143241442414524146241472414824149241502415124152241532415424155241562415724158241592416024161241622416324164241652416624167241682416924170241712417224173241742417524176241772417824179241802418124182241832418424185241862418724188241892419024191241922419324194241952419624197241982419924200242012420224203242042420524206242072420824209242102421124212242132421424215242162421724218242192422024221242222422324224242252422624227242282422924230242312423224233242342423524236242372423824239242402424124242242432424424245242462424724248242492425024251242522425324254242552425624257242582425924260242612426224263242642426524266242672426824269242702427124272242732427424275242762427724278242792428024281242822428324284242852428624287242882428924290242912429224293242942429524296242972429824299243002430124302243032430424305243062430724308243092431024311243122431324314243152431624317243182431924320243212432224323243242432524326243272432824329243302433124332243332433424335243362433724338243392434024341243422434324344243452434624347243482434924350243512435224353243542435524356243572435824359243602436124362243632436424365243662436724368243692437024371243722437324374243752437624377243782437924380243812438224383243842438524386243872438824389243902439124392243932439424395243962439724398243992440024401244022440324404244052440624407244082440924410244112441224413244142441524416244172441824419244202442124422244232442424425244262442724428244292443024431244322443324434244352443624437244382443924440244412444224443244442444524446244472444824449244502445124452244532445424455244562445724458244592446024461244622446324464244652446624467244682446924470244712447224473244742447524476244772447824479244802448124482244832448424485244862448724488244892449024491244922449324494244952449624497244982449924500245012450224503245042450524506245072450824509245102451124512245132451424515245162451724518245192452024521245222452324524245252452624527245282452924530245312453224533245342453524536245372453824539245402454124542245432454424545245462454724548245492455024551245522455324554245552455624557245582455924560245612456224563245642456524566245672456824569245702457124572245732457424575245762457724578245792458024581245822458324584245852458624587245882458924590245912459224593245942459524596245972459824599246002460124602246032460424605246062460724608246092461024611246122461324614246152461624617246182461924620246212462224623246242462524626246272462824629246302463124632246332463424635246362463724638246392464024641246422464324644246452464624647246482464924650246512465224653246542465524656246572465824659246602466124662246632466424665246662466724668246692467024671246722467324674246752467624677246782467924680246812468224683246842468524686246872468824689246902469124692246932469424695246962469724698246992470024701247022470324704247052470624707247082470924710247112471224713247142471524716247172471824719247202472124722247232472424725247262472724728247292473024731247322473324734247352473624737247382473924740247412474224743247442474524746247472474824749247502475124752247532475424755247562475724758247592476024761247622476324764247652476624767247682476924770247712477224773247742477524776247772477824779247802478124782247832478424785247862478724788247892479024791247922479324794247952479624797247982479924800248012480224803248042480524806248072480824809248102481124812248132481424815248162481724818248192482024821248222482324824248252482624827248282482924830248312483224833248342483524836248372483824839248402484124842248432484424845248462484724848248492485024851248522485324854248552485624857248582485924860248612486224863248642486524866248672486824869248702487124872248732487424875248762487724878248792488024881248822488324884248852488624887248882488924890248912489224893248942489524896248972489824899249002490124902249032490424905249062490724908249092491024911249122491324914249152491624917249182491924920249212492224923249242492524926249272492824929249302493124932249332493424935249362493724938249392494024941249422494324944249452494624947249482494924950249512495224953249542495524956249572495824959249602496124962249632496424965249662496724968249692497024971249722497324974249752497624977249782497924980249812498224983249842498524986249872498824989249902499124992249932499424995249962499724998249992500025001250022500325004250052500625007250082500925010250112501225013250142501525016250172501825019250202502125022250232502425025250262502725028250292503025031250322503325034250352503625037250382503925040250412504225043250442504525046250472504825049250502505125052250532505425055250562505725058250592506025061250622506325064250652506625067250682506925070250712507225073250742507525076250772507825079250802508125082250832508425085250862508725088250892509025091250922509325094250952509625097250982509925100251012510225103251042510525106251072510825109251102511125112251132511425115251162511725118251192512025121251222512325124251252512625127251282512925130251312513225133251342513525136251372513825139251402514125142251432514425145251462514725148251492515025151251522515325154251552515625157251582515925160251612516225163251642516525166251672516825169251702517125172251732517425175251762517725178251792518025181251822518325184251852518625187251882518925190251912519225193251942519525196251972519825199252002520125202252032520425205252062520725208252092521025211252122521325214252152521625217252182521925220252212522225223252242522525226252272522825229252302523125232252332523425235252362523725238252392524025241252422524325244252452524625247252482524925250252512525225253252542525525256252572525825259252602526125262252632526425265252662526725268252692527025271252722527325274252752527625277252782527925280252812528225283252842528525286252872528825289252902529125292252932529425295252962529725298252992530025301253022530325304253052530625307253082530925310253112531225313253142531525316253172531825319253202532125322253232532425325253262532725328253292533025331253322533325334253352533625337253382533925340253412534225343253442534525346253472534825349253502535125352253532535425355253562535725358253592536025361253622536325364253652536625367253682536925370253712537225373253742537525376253772537825379253802538125382253832538425385253862538725388253892539025391253922539325394253952539625397253982539925400254012540225403254042540525406254072540825409254102541125412254132541425415254162541725418254192542025421254222542325424254252542625427254282542925430254312543225433254342543525436254372543825439254402544125442254432544425445254462544725448254492545025451254522545325454254552545625457254582545925460254612546225463254642546525466254672546825469254702547125472254732547425475254762547725478254792548025481254822548325484254852548625487254882548925490254912549225493254942549525496254972549825499255002550125502255032550425505255062550725508255092551025511255122551325514255152551625517255182551925520255212552225523255242552525526255272552825529255302553125532255332553425535255362553725538255392554025541255422554325544255452554625547255482554925550255512555225553255542555525556255572555825559255602556125562255632556425565255662556725568255692557025571255722557325574255752557625577255782557925580255812558225583255842558525586255872558825589255902559125592255932559425595255962559725598255992560025601256022560325604256052560625607256082560925610256112561225613256142561525616256172561825619256202562125622256232562425625256262562725628256292563025631256322563325634256352563625637256382563925640256412564225643256442564525646256472564825649256502565125652256532565425655256562565725658256592566025661256622566325664256652566625667256682566925670256712567225673256742567525676256772567825679256802568125682256832568425685256862568725688256892569025691256922569325694256952569625697256982569925700257012570225703257042570525706257072570825709257102571125712257132571425715257162571725718257192572025721257222572325724257252572625727257282572925730257312573225733257342573525736257372573825739257402574125742257432574425745257462574725748257492575025751257522575325754257552575625757257582575925760257612576225763257642576525766257672576825769257702577125772257732577425775257762577725778257792578025781257822578325784257852578625787257882578925790257912579225793257942579525796257972579825799258002580125802258032580425805258062580725808258092581025811258122581325814258152581625817258182581925820258212582225823258242582525826258272582825829258302583125832258332583425835258362583725838258392584025841258422584325844258452584625847258482584925850258512585225853258542585525856258572585825859258602586125862258632586425865258662586725868258692587025871258722587325874258752587625877258782587925880258812588225883258842588525886258872588825889258902589125892258932589425895258962589725898258992590025901259022590325904259052590625907259082590925910259112591225913259142591525916259172591825919259202592125922259232592425925259262592725928259292593025931259322593325934259352593625937259382593925940259412594225943259442594525946259472594825949259502595125952259532595425955259562595725958259592596025961259622596325964259652596625967259682596925970259712597225973259742597525976259772597825979259802598125982259832598425985259862598725988259892599025991259922599325994259952599625997259982599926000260012600226003260042600526006260072600826009260102601126012260132601426015260162601726018260192602026021260222602326024260252602626027260282602926030260312603226033260342603526036260372603826039260402604126042260432604426045260462604726048260492605026051260522605326054260552605626057260582605926060260612606226063260642606526066260672606826069260702607126072260732607426075260762607726078260792608026081260822608326084260852608626087260882608926090260912609226093260942609526096260972609826099261002610126102261032610426105261062610726108261092611026111261122611326114261152611626117261182611926120261212612226123261242612526126261272612826129261302613126132261332613426135261362613726138261392614026141261422614326144261452614626147261482614926150261512615226153261542615526156261572615826159261602616126162261632616426165261662616726168261692617026171261722617326174261752617626177261782617926180261812618226183261842618526186261872618826189261902619126192261932619426195261962619726198261992620026201262022620326204262052620626207262082620926210262112621226213262142621526216262172621826219262202622126222262232622426225262262622726228262292623026231262322623326234262352623626237262382623926240262412624226243262442624526246262472624826249262502625126252262532625426255262562625726258262592626026261262622626326264262652626626267262682626926270262712627226273262742627526276262772627826279262802628126282262832628426285262862628726288262892629026291262922629326294262952629626297262982629926300263012630226303263042630526306263072630826309263102631126312263132631426315263162631726318263192632026321263222632326324263252632626327263282632926330263312633226333263342633526336263372633826339263402634126342263432634426345263462634726348263492635026351263522635326354263552635626357263582635926360263612636226363263642636526366263672636826369263702637126372263732637426375263762637726378263792638026381263822638326384263852638626387263882638926390263912639226393263942639526396263972639826399264002640126402264032640426405264062640726408264092641026411264122641326414264152641626417264182641926420264212642226423264242642526426264272642826429264302643126432264332643426435264362643726438264392644026441264422644326444264452644626447264482644926450264512645226453264542645526456264572645826459264602646126462264632646426465264662646726468264692647026471264722647326474264752647626477264782647926480264812648226483264842648526486264872648826489264902649126492264932649426495264962649726498264992650026501265022650326504265052650626507265082650926510265112651226513265142651526516265172651826519265202652126522265232652426525265262652726528265292653026531265322653326534265352653626537265382653926540265412654226543265442654526546265472654826549265502655126552265532655426555265562655726558265592656026561265622656326564265652656626567265682656926570265712657226573265742657526576265772657826579265802658126582265832658426585265862658726588265892659026591265922659326594265952659626597265982659926600266012660226603266042660526606266072660826609266102661126612266132661426615266162661726618266192662026621266222662326624266252662626627266282662926630266312663226633266342663526636266372663826639266402664126642266432664426645266462664726648266492665026651266522665326654266552665626657266582665926660266612666226663266642666526666266672666826669266702667126672266732667426675266762667726678266792668026681266822668326684266852668626687266882668926690266912669226693266942669526696266972669826699267002670126702267032670426705267062670726708267092671026711267122671326714267152671626717267182671926720267212672226723267242672526726267272672826729267302673126732267332673426735267362673726738267392674026741267422674326744267452674626747267482674926750267512675226753267542675526756267572675826759267602676126762267632676426765267662676726768267692677026771267722677326774267752677626777267782677926780267812678226783267842678526786267872678826789267902679126792267932679426795267962679726798267992680026801268022680326804268052680626807268082680926810268112681226813268142681526816268172681826819268202682126822268232682426825268262682726828268292683026831268322683326834268352683626837268382683926840268412684226843268442684526846268472684826849268502685126852268532685426855268562685726858268592686026861268622686326864268652686626867268682686926870268712687226873268742687526876268772687826879268802688126882268832688426885268862688726888268892689026891268922689326894268952689626897268982689926900269012690226903269042690526906269072690826909269102691126912269132691426915269162691726918269192692026921269222692326924269252692626927269282692926930269312693226933269342693526936269372693826939269402694126942269432694426945269462694726948269492695026951269522695326954269552695626957269582695926960269612696226963269642696526966269672696826969269702697126972269732697426975269762697726978269792698026981269822698326984269852698626987269882698926990269912699226993269942699526996269972699826999270002700127002270032700427005270062700727008270092701027011270122701327014270152701627017270182701927020270212702227023270242702527026270272702827029270302703127032270332703427035270362703727038270392704027041270422704327044270452704627047270482704927050270512705227053270542705527056270572705827059270602706127062270632706427065270662706727068270692707027071270722707327074270752707627077270782707927080270812708227083270842708527086270872708827089270902709127092270932709427095270962709727098270992710027101271022710327104271052710627107271082710927110271112711227113271142711527116271172711827119271202712127122271232712427125271262712727128271292713027131271322713327134271352713627137271382713927140271412714227143271442714527146271472714827149271502715127152271532715427155271562715727158271592716027161271622716327164271652716627167271682716927170271712717227173271742717527176271772717827179271802718127182271832718427185271862718727188271892719027191271922719327194271952719627197271982719927200272012720227203272042720527206272072720827209272102721127212272132721427215272162721727218272192722027221272222722327224272252722627227272282722927230272312723227233272342723527236272372723827239272402724127242272432724427245272462724727248272492725027251272522725327254272552725627257272582725927260272612726227263272642726527266272672726827269272702727127272272732727427275272762727727278272792728027281272822728327284272852728627287272882728927290272912729227293272942729527296272972729827299273002730127302273032730427305273062730727308273092731027311273122731327314273152731627317273182731927320273212732227323273242732527326273272732827329273302733127332273332733427335273362733727338273392734027341273422734327344273452734627347273482734927350273512735227353273542735527356273572735827359273602736127362273632736427365273662736727368273692737027371273722737327374273752737627377273782737927380273812738227383273842738527386273872738827389273902739127392273932739427395273962739727398273992740027401274022740327404274052740627407274082740927410274112741227413274142741527416274172741827419274202742127422274232742427425274262742727428274292743027431274322743327434274352743627437274382743927440274412744227443274442744527446274472744827449274502745127452274532745427455274562745727458274592746027461274622746327464274652746627467274682746927470274712747227473274742747527476274772747827479274802748127482274832748427485274862748727488274892749027491274922749327494274952749627497274982749927500275012750227503275042750527506275072750827509275102751127512275132751427515275162751727518275192752027521275222752327524275252752627527275282752927530275312753227533275342753527536275372753827539275402754127542275432754427545275462754727548275492755027551275522755327554275552755627557275582755927560275612756227563275642756527566275672756827569275702757127572275732757427575275762757727578275792758027581275822758327584275852758627587275882758927590275912759227593275942759527596275972759827599276002760127602276032760427605276062760727608276092761027611276122761327614276152761627617276182761927620276212762227623276242762527626276272762827629276302763127632276332763427635276362763727638276392764027641276422764327644276452764627647276482764927650276512765227653276542765527656276572765827659276602766127662276632766427665276662766727668276692767027671276722767327674276752767627677276782767927680276812768227683276842768527686276872768827689276902769127692276932769427695276962769727698276992770027701277022770327704277052770627707277082770927710277112771227713277142771527716277172771827719277202772127722277232772427725277262772727728277292773027731277322773327734277352773627737277382773927740277412774227743277442774527746277472774827749277502775127752277532775427755277562775727758277592776027761277622776327764277652776627767277682776927770277712777227773277742777527776277772777827779277802778127782277832778427785277862778727788277892779027791277922779327794277952779627797277982779927800278012780227803278042780527806278072780827809278102781127812278132781427815278162781727818278192782027821278222782327824278252782627827278282782927830278312783227833278342783527836278372783827839278402784127842278432784427845278462784727848278492785027851278522785327854278552785627857278582785927860278612786227863278642786527866278672786827869278702787127872278732787427875278762787727878278792788027881278822788327884278852788627887278882788927890278912789227893278942789527896278972789827899279002790127902279032790427905279062790727908279092791027911279122791327914279152791627917279182791927920279212792227923279242792527926279272792827929279302793127932279332793427935279362793727938279392794027941279422794327944279452794627947279482794927950279512795227953279542795527956279572795827959279602796127962279632796427965279662796727968279692797027971279722797327974279752797627977279782797927980279812798227983279842798527986279872798827989279902799127992279932799427995279962799727998279992800028001280022800328004280052800628007280082800928010280112801228013280142801528016280172801828019280202802128022280232802428025280262802728028280292803028031280322803328034280352803628037280382803928040280412804228043280442804528046280472804828049280502805128052280532805428055280562805728058280592806028061280622806328064280652806628067280682806928070280712807228073280742807528076280772807828079280802808128082280832808428085280862808728088280892809028091280922809328094280952809628097280982809928100281012810228103281042810528106281072810828109281102811128112281132811428115281162811728118281192812028121281222812328124281252812628127281282812928130281312813228133281342813528136281372813828139281402814128142281432814428145281462814728148281492815028151281522815328154281552815628157281582815928160281612816228163281642816528166281672816828169281702817128172281732817428175281762817728178281792818028181281822818328184281852818628187281882818928190281912819228193281942819528196281972819828199282002820128202282032820428205282062820728208282092821028211282122821328214282152821628217282182821928220282212822228223282242822528226282272822828229282302823128232282332823428235282362823728238282392824028241282422824328244282452824628247282482824928250282512825228253282542825528256282572825828259282602826128262282632826428265282662826728268282692827028271282722827328274282752827628277282782827928280282812828228283282842828528286282872828828289282902829128292282932829428295282962829728298282992830028301283022830328304283052830628307283082830928310283112831228313283142831528316283172831828319283202832128322283232832428325283262832728328283292833028331283322833328334283352833628337283382833928340283412834228343283442834528346283472834828349283502835128352283532835428355283562835728358283592836028361283622836328364283652836628367283682836928370283712837228373283742837528376283772837828379283802838128382283832838428385283862838728388283892839028391283922839328394283952839628397283982839928400284012840228403284042840528406284072840828409284102841128412284132841428415284162841728418284192842028421284222842328424284252842628427284282842928430284312843228433284342843528436284372843828439284402844128442284432844428445284462844728448284492845028451284522845328454284552845628457284582845928460284612846228463284642846528466284672846828469284702847128472284732847428475284762847728478284792848028481284822848328484284852848628487284882848928490284912849228493284942849528496284972849828499285002850128502285032850428505285062850728508285092851028511285122851328514285152851628517285182851928520285212852228523285242852528526285272852828529285302853128532285332853428535285362853728538285392854028541285422854328544285452854628547285482854928550285512855228553285542855528556285572855828559285602856128562285632856428565285662856728568285692857028571285722857328574285752857628577285782857928580285812858228583285842858528586285872858828589285902859128592285932859428595285962859728598285992860028601286022860328604286052860628607286082860928610286112861228613286142861528616286172861828619286202862128622286232862428625286262862728628286292863028631286322863328634286352863628637286382863928640286412864228643286442864528646286472864828649286502865128652286532865428655286562865728658286592866028661286622866328664286652866628667286682866928670286712867228673286742867528676286772867828679286802868128682286832868428685286862868728688286892869028691286922869328694286952869628697286982869928700287012870228703287042870528706287072870828709287102871128712287132871428715287162871728718287192872028721287222872328724287252872628727287282872928730287312873228733287342873528736287372873828739287402874128742287432874428745287462874728748287492875028751287522875328754287552875628757287582875928760287612876228763287642876528766287672876828769287702877128772287732877428775287762877728778287792878028781287822878328784287852878628787
  1. /**
  2. * Copyright (c) Tiny Technologies, Inc. All rights reserved.
  3. * Licensed under the LGPL or a commercial license.
  4. * For LGPL see License.txt in the project root for license information.
  5. * For commercial licenses see https://www.tiny.cloud/
  6. *
  7. * Version: 5.10.2 (2021-11-17)
  8. */
  9. !(function () {
  10. 'use strict'
  11. function t(o) {
  12. return function (t) {
  13. return (
  14. (e = typeof (n = t)),
  15. (null === n
  16. ? 'null'
  17. : 'object' == e &&
  18. (Array.prototype.isPrototypeOf(n) ||
  19. (n.constructor && 'Array' === n.constructor.name))
  20. ? 'array'
  21. : 'object' == e &&
  22. (String.prototype.isPrototypeOf(n) ||
  23. (n.constructor && 'String' === n.constructor.name))
  24. ? 'string'
  25. : e) === o
  26. )
  27. var n, e
  28. }
  29. }
  30. function n(n) {
  31. return function (t) {
  32. return typeof t === n
  33. }
  34. }
  35. function e(n) {
  36. return function (t) {
  37. return n === t
  38. }
  39. }
  40. function g(t) {
  41. return null == t
  42. }
  43. function f(t, n) {
  44. if (c(t)) {
  45. for (var e = 0, o = t.length; e < o; ++e) if (!n(t[e])) return
  46. return 1
  47. }
  48. }
  49. function st() {}
  50. function r(e, o) {
  51. return function () {
  52. for (var t = [], n = 0; n < arguments.length; n++) t[n] = arguments[n]
  53. return e(o.apply(null, t))
  54. }
  55. }
  56. function rt(t) {
  57. return function () {
  58. return t
  59. }
  60. }
  61. function h(t) {
  62. return t
  63. }
  64. function v(t, n) {
  65. return t === n
  66. }
  67. var y = t('string'),
  68. x = t('object'),
  69. c = t('array'),
  70. b = e(null),
  71. w = n('boolean'),
  72. E = e(void 0),
  73. k = function (t) {
  74. return !g(t)
  75. },
  76. S = n('function'),
  77. u = n('number')
  78. function C(o) {
  79. for (var r = [], t = 1; t < arguments.length; t++) r[t - 1] = arguments[t]
  80. return function () {
  81. for (var t = [], n = 0; n < arguments.length; n++) t[n] = arguments[n]
  82. var e = r.concat(t)
  83. return o.apply(null, e)
  84. }
  85. }
  86. function O(n) {
  87. return function (t) {
  88. return !n(t)
  89. }
  90. }
  91. function _(t) {
  92. return function () {
  93. throw new Error(t)
  94. }
  95. }
  96. var T = rt(!1),
  97. D = rt(!0),
  98. o = tinymce.util.Tools.resolve('tinymce.ThemeManager'),
  99. lt = function () {
  100. return (lt =
  101. Object.assign ||
  102. function (t) {
  103. for (var n, e = 1, o = arguments.length; e < o; e++)
  104. for (var r in (n = arguments[e]))
  105. Object.prototype.hasOwnProperty.call(n, r) && (t[r] = n[r])
  106. return t
  107. }).apply(this, arguments)
  108. }
  109. function B(t, n) {
  110. var e = {}
  111. for (r in t)
  112. Object.prototype.hasOwnProperty.call(t, r) &&
  113. n.indexOf(r) < 0 &&
  114. (e[r] = t[r])
  115. if (null != t && 'function' == typeof Object.getOwnPropertySymbols)
  116. for (var o = 0, r = Object.getOwnPropertySymbols(t); o < r.length; o++)
  117. n.indexOf(r[o]) < 0 &&
  118. Object.prototype.propertyIsEnumerable.call(t, r[o]) &&
  119. (e[r[o]] = t[r[o]])
  120. return e
  121. }
  122. function H(t, n, e) {
  123. if (e || 2 === arguments.length)
  124. for (var o, r = 0, i = n.length; r < i; r++)
  125. (!o && r in n) ||
  126. ((o = o || Array.prototype.slice.call(n, 0, r))[r] = n[r])
  127. return t.concat(o || Array.prototype.slice.call(n))
  128. }
  129. function i() {
  130. return a
  131. }
  132. var a = {
  133. fold: function (t, n) {
  134. return t()
  135. },
  136. isSome: T,
  137. isNone: D,
  138. getOr: h,
  139. getOrThunk: s,
  140. getOrDie: function (t) {
  141. throw new Error(t || 'error: getOrDie called on none.')
  142. },
  143. getOrNull: rt(null),
  144. getOrUndefined: rt(void 0),
  145. or: h,
  146. orThunk: s,
  147. map: i,
  148. each: st,
  149. bind: i,
  150. exists: T,
  151. forall: D,
  152. filter: function () {
  153. return a
  154. },
  155. toArray: function () {
  156. return []
  157. },
  158. toString: rt('none()'),
  159. }
  160. function s(t) {
  161. return t()
  162. }
  163. function l(t, n) {
  164. return yt.call(t, n)
  165. }
  166. function d(t, n) {
  167. for (var e = 0, o = t.length; e < o; e++) if (n(t[e], e)) return !0
  168. return !1
  169. }
  170. function m(t, n) {
  171. for (var e = [], o = 0; o < t; o++) e.push(n(o))
  172. return e
  173. }
  174. function p(t, n) {
  175. for (var e = [], o = 0; o < t.length; o += n) {
  176. var r = bt.call(t, o, o + n)
  177. e.push(r)
  178. }
  179. return e
  180. }
  181. function M(t, n) {
  182. for (var e = t.length, o = new Array(e), r = 0; r < e; r++) {
  183. var i = t[r]
  184. o[r] = n(i, r)
  185. }
  186. return o
  187. }
  188. function A(t, n) {
  189. for (var e = [], o = [], r = 0, i = t.length; r < i; r++) {
  190. var u = t[r]
  191. ;(n(u, r) ? e : o).push(u)
  192. }
  193. return { pass: e, fail: o }
  194. }
  195. function F(t, n) {
  196. for (var e = [], o = 0, r = t.length; o < r; o++) {
  197. var i = t[o]
  198. n(i, o) && e.push(i)
  199. }
  200. return e
  201. }
  202. function I(t, o, r) {
  203. return (
  204. (function (t) {
  205. for (var n, e = t.length - 1; 0 <= e; e--) (n = t[e]), (r = o(r, n, e))
  206. })(t),
  207. r
  208. )
  209. }
  210. function R(t, e, o) {
  211. return (
  212. St(t, function (t, n) {
  213. o = e(o, t, n)
  214. }),
  215. o
  216. )
  217. }
  218. function V(t, n) {
  219. return (function (t, n, e) {
  220. for (var o = 0, r = t.length; o < r; o++) {
  221. var i = t[o]
  222. if (n(i, o)) return vt.some(i)
  223. if (e(i, o)) break
  224. }
  225. return vt.none()
  226. })(t, n, T)
  227. }
  228. function P(t, n) {
  229. for (var e = 0, o = t.length; e < o; e++) if (n(t[e], e)) return vt.some(e)
  230. return vt.none()
  231. }
  232. function ft(t) {
  233. for (var n = [], e = 0, o = t.length; e < o; ++e) {
  234. if (!c(t[e]))
  235. throw new Error(
  236. 'Arr.flatten item ' + e + ' was not an array, input: ' + t
  237. )
  238. xt.apply(n, t[e])
  239. }
  240. return n
  241. }
  242. function z(t, n) {
  243. return ft(M(t, n))
  244. }
  245. function N(t, n) {
  246. for (var e = 0, o = t.length; e < o; ++e) if (!0 !== n(t[e], e)) return !1
  247. return !0
  248. }
  249. function L(t) {
  250. var n = bt.call(t, 0)
  251. return n.reverse(), n
  252. }
  253. function W(t, n) {
  254. return F(t, function (t) {
  255. return !wt(n, t)
  256. })
  257. }
  258. function U(t, n) {
  259. for (var e = {}, o = 0, r = t.length; o < r; o++) {
  260. var i = t[o]
  261. e[String(i)] = n(i, o)
  262. }
  263. return e
  264. }
  265. function j(t) {
  266. return [t]
  267. }
  268. function G(t, n) {
  269. var e = bt.call(t, 0)
  270. return e.sort(n), e
  271. }
  272. function X(t, n) {
  273. return 0 <= n && n < t.length ? vt.some(t[n]) : vt.none()
  274. }
  275. function Y(t) {
  276. return X(t, 0)
  277. }
  278. function q(t) {
  279. return X(t, t.length - 1)
  280. }
  281. function K(t, n) {
  282. for (var e = 0; e < t.length; e++) {
  283. var o = n(t[e], e)
  284. if (o.isSome()) return o
  285. }
  286. return vt.none()
  287. }
  288. function J(t, n) {
  289. for (var e = Ct(t), o = 0, r = e.length; o < r; o++) {
  290. var i = e[o]
  291. n(t[i], i)
  292. }
  293. }
  294. function dt(t, e) {
  295. return _t(t, function (t, n) {
  296. return { k: n, v: e(t, n) }
  297. })
  298. }
  299. function $(t, e) {
  300. var o = []
  301. return (
  302. J(t, function (t, n) {
  303. o.push(e(t, n))
  304. }),
  305. o
  306. )
  307. }
  308. function Q(t, n) {
  309. for (var e = Ct(t), o = 0, r = e.length; o < r; o++) {
  310. var i = e[o],
  311. u = t[i]
  312. if (n(u, i, t)) return vt.some(u)
  313. }
  314. return vt.none()
  315. }
  316. function Z(t) {
  317. return $(t, h)
  318. }
  319. function tt(t, n) {
  320. return Tt(t, n) ? vt.from(t[n]) : vt.none()
  321. }
  322. function nt(t, n) {
  323. return Tt(t, n) && void 0 !== t[n] && null !== t[n]
  324. }
  325. function mt(t, n, e) {
  326. return (
  327. void 0 === e && (e = v),
  328. t.exists(function (t) {
  329. return e(t, n)
  330. })
  331. )
  332. }
  333. function et(t) {
  334. for (
  335. var n = [],
  336. e = function (t) {
  337. n.push(t)
  338. },
  339. o = 0;
  340. o < t.length;
  341. o++
  342. )
  343. t[o].each(e)
  344. return n
  345. }
  346. function ot(t, n) {
  347. return t ? vt.some(n) : vt.none()
  348. }
  349. function it(t, n, e) {
  350. return '' === n || (t.length >= n.length && t.substr(e, e + n.length) === n)
  351. }
  352. function ut(t, n) {
  353. return -1 !== t.indexOf(n)
  354. }
  355. function at(t) {
  356. return 0 < t.length
  357. }
  358. function ct(t) {
  359. return void 0 !== t.style && S(t.style.getPropertyValue)
  360. }
  361. function gt(t) {
  362. if (null == t) throw new Error('Node cannot be null or undefined')
  363. return { dom: t }
  364. }
  365. var pt,
  366. ht = function (e) {
  367. function t() {
  368. return r
  369. }
  370. function n(t) {
  371. return t(e)
  372. }
  373. var o = rt(e),
  374. r = {
  375. fold: function (t, n) {
  376. return n(e)
  377. },
  378. isSome: D,
  379. isNone: T,
  380. getOr: o,
  381. getOrThunk: o,
  382. getOrDie: o,
  383. getOrNull: o,
  384. getOrUndefined: o,
  385. or: t,
  386. orThunk: t,
  387. map: function (t) {
  388. return ht(t(e))
  389. },
  390. each: function (t) {
  391. t(e)
  392. },
  393. bind: n,
  394. exists: n,
  395. forall: n,
  396. filter: function (t) {
  397. return t(e) ? r : a
  398. },
  399. toArray: function () {
  400. return [e]
  401. },
  402. toString: function () {
  403. return 'some(' + e + ')'
  404. },
  405. }
  406. return r
  407. },
  408. vt = {
  409. some: ht,
  410. none: i,
  411. from: function (t) {
  412. return null == t ? a : ht(t)
  413. },
  414. },
  415. bt = Array.prototype.slice,
  416. yt = Array.prototype.indexOf,
  417. xt = Array.prototype.push,
  418. wt = function (t, n) {
  419. return -1 < l(t, n)
  420. },
  421. St = function (t, n) {
  422. for (var e = 0, o = t.length; e < o; e++) n(t[e], e)
  423. },
  424. kt = S(Array.from)
  425. ? Array.from
  426. : function (t) {
  427. return bt.call(t)
  428. },
  429. Ct = Object.keys,
  430. Ot = Object.hasOwnProperty,
  431. _t = function (t, o) {
  432. var r = {}
  433. return (
  434. J(t, function (t, n) {
  435. var e = o(t, n)
  436. r[e.k] = e.v
  437. }),
  438. r
  439. )
  440. },
  441. Tt = function (t, n) {
  442. return Ot.call(t, n)
  443. },
  444. Et = function (t, n, e) {
  445. return t.isSome() && n.isSome()
  446. ? vt.some(e(t.getOrDie(), n.getOrDie()))
  447. : vt.none()
  448. },
  449. Dt = function (t, n) {
  450. return it(t, n, 0)
  451. },
  452. Bt = function (t, n) {
  453. return it(t, n, t.length - n.length)
  454. },
  455. Mt =
  456. ((pt = /^\s+|\s+$/g),
  457. function (t) {
  458. return t.replace(pt, '')
  459. }),
  460. At = {
  461. fromHtml: function (t, n) {
  462. var e = (n || document).createElement('div')
  463. if (((e.innerHTML = t), !e.hasChildNodes() || 1 < e.childNodes.length))
  464. throw (
  465. (console.error('HTML does not have a single root node', t),
  466. new Error('HTML must have a single root node'))
  467. )
  468. return gt(e.childNodes[0])
  469. },
  470. fromTag: function (t, n) {
  471. var e = (n || document).createElement(t)
  472. return gt(e)
  473. },
  474. fromText: function (t, n) {
  475. var e = (n || document).createTextNode(t)
  476. return gt(e)
  477. },
  478. fromDom: gt,
  479. fromPoint: function (t, n, e) {
  480. return vt.from(t.dom.elementFromPoint(n, e)).map(gt)
  481. },
  482. }
  483. function Ft(t) {
  484. return t.dom.nodeName.toLowerCase()
  485. }
  486. function It(n) {
  487. return function (t) {
  488. return t.dom.nodeType === n
  489. }
  490. }
  491. function Rt(e) {
  492. var o,
  493. r = !1
  494. return function () {
  495. for (var t = [], n = 0; n < arguments.length; n++) t[n] = arguments[n]
  496. return r || ((r = !0), (o = e.apply(null, t))), o
  497. }
  498. }
  499. function Vt(t, n) {
  500. var e = String(n).toLowerCase()
  501. return V(t, function (t) {
  502. return t.search(e)
  503. })
  504. }
  505. function Pt(n) {
  506. return function (t) {
  507. return ut(t, n)
  508. }
  509. }
  510. function Ht(t) {
  511. return window.matchMedia(t).matches
  512. }
  513. function zt(t, n) {
  514. var e = t.dom
  515. if (1 !== e.nodeType) return !1
  516. var o = e
  517. if (void 0 !== o.matches) return o.matches(n)
  518. if (void 0 !== o.msMatchesSelector) return o.msMatchesSelector(n)
  519. if (void 0 !== o.webkitMatchesSelector) return o.webkitMatchesSelector(n)
  520. if (void 0 !== o.mozMatchesSelector) return o.mozMatchesSelector(n)
  521. throw new Error('Browser lacks native selectors')
  522. }
  523. function Nt(t) {
  524. return (
  525. (1 !== t.nodeType && 9 !== t.nodeType && 11 !== t.nodeType) ||
  526. 0 === t.childElementCount
  527. )
  528. }
  529. function Lt(t, n) {
  530. return t.dom === n.dom
  531. }
  532. function Wt(t, n) {
  533. return le().browser.isIE()
  534. ? ((e = t.dom),
  535. (o = n.dom),
  536. (r = Node.DOCUMENT_POSITION_CONTAINED_BY),
  537. 0 != (e.compareDocumentPosition(o) & r))
  538. : (i = t.dom) !== (u = n.dom) && i.contains(u)
  539. var e, o, r, i, u
  540. }
  541. function Ut(t) {
  542. return At.fromDom(t.dom.ownerDocument)
  543. }
  544. function jt(t) {
  545. return qn(t) ? t : Ut(t)
  546. }
  547. function Gt(t) {
  548. return At.fromDom(jt(t).dom.documentElement)
  549. }
  550. function Xt(t) {
  551. return At.fromDom(jt(t).dom.defaultView)
  552. }
  553. function Yt(t) {
  554. return vt.from(t.dom.parentNode).map(At.fromDom)
  555. }
  556. function qt(t) {
  557. return vt.from(t.dom.offsetParent).map(At.fromDom)
  558. }
  559. function Kt(t) {
  560. return M(t.dom.childNodes, At.fromDom)
  561. }
  562. function Jt(t, n) {
  563. var e = t.dom.childNodes
  564. return vt.from(e[n]).map(At.fromDom)
  565. }
  566. function $t(t, n) {
  567. return { element: t, offset: n }
  568. }
  569. function Qt(t, n) {
  570. var e = Kt(t)
  571. return 0 < e.length && n < e.length ? $t(e[n], 0) : $t(t, n)
  572. }
  573. function Zt(t) {
  574. return Kn(t) && k(t.dom.host)
  575. }
  576. function tn(t) {
  577. return Zt(t) ? t : At.fromDom(jt(t).dom.body)
  578. }
  579. function nn(t) {
  580. return At.fromDom(t.dom.host)
  581. }
  582. function en(t, n, e) {
  583. if (!(y(e) || w(e) || u(e)))
  584. throw (
  585. (console.error(
  586. 'Invalid call to Attribute.set. Key ',
  587. n,
  588. ':: Value ',
  589. e,
  590. ':: Element ',
  591. t
  592. ),
  593. new Error('Attribute value was not simple'))
  594. )
  595. t.setAttribute(n, e + '')
  596. }
  597. function on(t, n, e) {
  598. en(t.dom, n, e)
  599. }
  600. function rn(t, n) {
  601. var e = t.dom
  602. J(n, function (t, n) {
  603. en(e, n, t)
  604. })
  605. }
  606. function un(t, n) {
  607. var e = t.dom.getAttribute(n)
  608. return null === e ? void 0 : e
  609. }
  610. function an(t, n) {
  611. return vt.from(un(t, n))
  612. }
  613. function cn(t, n) {
  614. var e = t.dom
  615. return !(!e || !e.hasAttribute) && e.hasAttribute(n)
  616. }
  617. function sn(t, n) {
  618. t.dom.removeAttribute(n)
  619. }
  620. function ln(t, n, e) {
  621. if (!y(e))
  622. throw (
  623. (console.error(
  624. 'Invalid call to CSS.set. Property ',
  625. n,
  626. ':: Value ',
  627. e,
  628. ':: Element ',
  629. t
  630. ),
  631. new Error('CSS value must be a string: ' + e))
  632. )
  633. ct(t) && t.style.setProperty(n, e)
  634. }
  635. function fn(t, n) {
  636. ct(t) && t.style.removeProperty(n)
  637. }
  638. function dn(t, n, e) {
  639. ln(t.dom, n, e)
  640. }
  641. function mn(t, n) {
  642. var e = t.dom
  643. J(n, function (t, n) {
  644. ln(e, n, t)
  645. })
  646. }
  647. function gn(t, n) {
  648. var e = t.dom
  649. J(n, function (t, n) {
  650. t.fold(
  651. function () {
  652. fn(e, n)
  653. },
  654. function (t) {
  655. ln(e, n, t)
  656. }
  657. )
  658. })
  659. }
  660. function pn(t, n) {
  661. var e = t.dom,
  662. o = window.getComputedStyle(e).getPropertyValue(n)
  663. return '' !== o || ve(t) ? o : xe(e, n)
  664. }
  665. function hn(t, n) {
  666. var e = t.dom,
  667. o = xe(e, n)
  668. return vt.from(o).filter(function (t) {
  669. return 0 < t.length
  670. })
  671. }
  672. function vn(t, n, e) {
  673. var o = At.fromTag(t)
  674. return dn(o, n, e), hn(o, n).isSome()
  675. }
  676. function bn(t, n) {
  677. fn(t.dom, n), mt(an(t, 'style').map(Mt), '') && sn(t, 'style')
  678. }
  679. function yn(t) {
  680. return t.dom.offsetWidth
  681. }
  682. function xn(o, r) {
  683. function t(t) {
  684. var n = r(t)
  685. if (n <= 0 || null === n) {
  686. var e = pn(t, o)
  687. return parseFloat(e) || 0
  688. }
  689. return n
  690. }
  691. function i(r, t) {
  692. return R(
  693. t,
  694. function (t, n) {
  695. var e = pn(r, n),
  696. o = void 0 === e ? 0 : parseInt(e, 10)
  697. return isNaN(o) ? t : t + o
  698. },
  699. 0
  700. )
  701. }
  702. return {
  703. set: function (t, n) {
  704. if (!u(n) && !n.match(/^[0-9]+$/))
  705. throw new Error(
  706. o + '.set accepts only positive integer values. Value was ' + n
  707. )
  708. var e = t.dom
  709. ct(e) && (e.style[o] = n + 'px')
  710. },
  711. get: t,
  712. getOuter: t,
  713. aggregate: i,
  714. max: function (t, n, e) {
  715. var o = i(t, e)
  716. return o < n ? n - o : 0
  717. },
  718. }
  719. }
  720. function wn(t) {
  721. return we.get(t)
  722. }
  723. function Sn(t) {
  724. return we.getOuter(t)
  725. }
  726. function kn(t, n) {
  727. return void 0 !== t ? t : void 0 !== n ? n : 0
  728. }
  729. function Cn(t) {
  730. var n = t.dom.ownerDocument,
  731. e = n.body,
  732. o = n.defaultView,
  733. r = n.documentElement
  734. if (e === t.dom) return ke(e.offsetLeft, e.offsetTop)
  735. var i = kn(null == o ? void 0 : o.pageYOffset, r.scrollTop),
  736. u = kn(null == o ? void 0 : o.pageXOffset, r.scrollLeft),
  737. a = kn(r.clientTop, e.clientTop),
  738. c = kn(r.clientLeft, e.clientLeft)
  739. return Ce(t).translate(u - c, i - a)
  740. }
  741. function On(t) {
  742. return Oe.get(t)
  743. }
  744. function _n(t) {
  745. return Oe.getOuter(t)
  746. }
  747. function Tn(t) {
  748. function n() {
  749. return t.stopPropagation()
  750. }
  751. function e() {
  752. return t.preventDefault()
  753. }
  754. var o = r(e, n)
  755. return {
  756. target: At.fromDom(
  757. (function (t) {
  758. if (me() && k(t.target)) {
  759. var n = At.fromDom(t.target)
  760. if (Xn(n) && he(n) && t.composed && t.composedPath) {
  761. var e = t.composedPath()
  762. if (e) return Y(e)
  763. }
  764. }
  765. return vt.from(t.target)
  766. })(t).getOr(t.target)
  767. ),
  768. x: t.clientX,
  769. y: t.clientY,
  770. stop: n,
  771. prevent: e,
  772. kill: o,
  773. raw: t,
  774. }
  775. }
  776. function En(t, n, e, o, r) {
  777. var i,
  778. u,
  779. a =
  780. ((i = e),
  781. (u = o),
  782. function (t) {
  783. i(t) && u(Tn(t))
  784. })
  785. return t.dom.addEventListener(n, a, r), { unbind: C(_e, t, n, a, r) }
  786. }
  787. function Dn(n, e) {
  788. Yt(n).each(function (t) {
  789. t.dom.insertBefore(e.dom, n.dom)
  790. })
  791. }
  792. function Bn(t, n) {
  793. vt.from(t.dom.nextSibling)
  794. .map(At.fromDom)
  795. .fold(
  796. function () {
  797. Yt(t).each(function (t) {
  798. Te(t, n)
  799. })
  800. },
  801. function (t) {
  802. Dn(t, n)
  803. }
  804. )
  805. }
  806. function Mn(n, e) {
  807. Jt(n, 0).fold(
  808. function () {
  809. Te(n, e)
  810. },
  811. function (t) {
  812. n.dom.insertBefore(e.dom, t.dom)
  813. }
  814. )
  815. }
  816. function An(n, t) {
  817. St(t, function (t) {
  818. Te(n, t)
  819. })
  820. }
  821. function Fn(t) {
  822. ;(t.dom.textContent = ''),
  823. St(Kt(t), function (t) {
  824. Ee(t)
  825. })
  826. }
  827. function In(t) {
  828. var n,
  829. e = Kt(t)
  830. 0 < e.length &&
  831. ((n = t),
  832. St(e, function (t) {
  833. Dn(n, t)
  834. })),
  835. Ee(t)
  836. }
  837. function Rn(t) {
  838. var n = void 0 !== t ? t.dom : document,
  839. e = n.body.scrollLeft || n.documentElement.scrollLeft,
  840. o = n.body.scrollTop || n.documentElement.scrollTop
  841. return ke(e, o)
  842. }
  843. function Vn(t, n, e) {
  844. var o = (void 0 !== e ? e.dom : document).defaultView
  845. o && o.scrollTo(t, n)
  846. }
  847. function Pn(t, n, e, o) {
  848. return { x: t, y: n, width: e, height: o, right: t + e, bottom: n + o }
  849. }
  850. function Hn(t) {
  851. var o = void 0 === t ? window : t,
  852. n = o.document,
  853. r = Rn(At.fromDom(n)),
  854. e = void 0 === o ? window : o
  855. return (
  856. le().browser.isFirefox() ? vt.none() : vt.from(e.visualViewport)
  857. ).fold(
  858. function () {
  859. var t = o.document.documentElement,
  860. n = t.clientWidth,
  861. e = t.clientHeight
  862. return Pn(r.left, r.top, n, e)
  863. },
  864. function (t) {
  865. return Pn(
  866. Math.max(t.pageLeft, r.left),
  867. Math.max(t.pageTop, r.top),
  868. t.width,
  869. t.height
  870. )
  871. }
  872. )
  873. }
  874. function zn(o) {
  875. var t,
  876. r = Rn(At.fromDom(document)),
  877. n = (t = Be).owner(o),
  878. e = De(t, n)
  879. return vt.some(e).fold(C(Cn, o), function (t) {
  880. var n = Ce(o),
  881. e = I(
  882. t,
  883. function (t, n) {
  884. var e = Ce(n)
  885. return { left: t.left + e.left, top: t.top + e.top }
  886. },
  887. { left: 0, top: 0 }
  888. )
  889. return ke(e.left + n.left + r.left, e.top + n.top + r.top)
  890. })
  891. }
  892. function Nn(t) {
  893. var n = zn(t),
  894. e = _n(t),
  895. o = Sn(t)
  896. return Me(n.left, n.top, e, o)
  897. }
  898. 'undefined' != typeof window || Function('return this;')()
  899. function Ln() {
  900. return Jn(0, 0)
  901. }
  902. function Wn(t) {
  903. function n(t) {
  904. return function () {
  905. return e === t
  906. }
  907. }
  908. var e = t.current,
  909. o = t.version
  910. return {
  911. current: e,
  912. version: o,
  913. isEdge: n('Edge'),
  914. isChrome: n('Chrome'),
  915. isIE: n('IE'),
  916. isOpera: n('Opera'),
  917. isFirefox: n(te),
  918. isSafari: n('Safari'),
  919. }
  920. }
  921. function Un(t) {
  922. function n(t) {
  923. return function () {
  924. return e === t
  925. }
  926. }
  927. var e = t.current,
  928. o = t.version
  929. return {
  930. current: e,
  931. version: o,
  932. isWindows: n(oe),
  933. isiOS: n('iOS'),
  934. isAndroid: n(re),
  935. isOSX: n('OSX'),
  936. isLinux: n('Linux'),
  937. isSolaris: n(ie),
  938. isFreeBSD: n(ue),
  939. isChromeOS: n(ae),
  940. }
  941. }
  942. var jn,
  943. Gn,
  944. Xn = It(1),
  945. Yn = It(3),
  946. qn = It(9),
  947. Kn = It(11),
  948. Jn = function (t, n) {
  949. return { major: t, minor: n }
  950. },
  951. $n = {
  952. nu: Jn,
  953. detect: function (t, n) {
  954. var e,
  955. o,
  956. r = String(n).toLowerCase()
  957. return 0 === t.length
  958. ? Ln()
  959. : (o = (function (t, n) {
  960. for (var e = 0; e < t.length; e++) {
  961. var o = t[e]
  962. if (o.test(n)) return o
  963. }
  964. })(t, (e = r)))
  965. ? Jn(i(1), i(2))
  966. : { major: 0, minor: 0 }
  967. function i(t) {
  968. return Number(e.replace(o, '$' + t))
  969. }
  970. },
  971. unknown: Ln,
  972. },
  973. Qn = /.*?version\/\ ?([0-9]+)\.([0-9]+).*/,
  974. Zn = {
  975. browsers: rt([
  976. {
  977. name: 'Edge',
  978. versionRegexes: [/.*?edge\/ ?([0-9]+)\.([0-9]+)$/],
  979. search: function (t) {
  980. return (
  981. ut(t, 'edge/') &&
  982. ut(t, 'chrome') &&
  983. ut(t, 'safari') &&
  984. ut(t, 'applewebkit')
  985. )
  986. },
  987. },
  988. {
  989. name: 'Chrome',
  990. brand: 'Chromium',
  991. versionRegexes: [/.*?chrome\/([0-9]+)\.([0-9]+).*/, Qn],
  992. search: function (t) {
  993. return ut(t, 'chrome') && !ut(t, 'chromeframe')
  994. },
  995. },
  996. {
  997. name: 'IE',
  998. versionRegexes: [
  999. /.*?msie\ ?([0-9]+)\.([0-9]+).*/,
  1000. /.*?rv:([0-9]+)\.([0-9]+).*/,
  1001. ],
  1002. search: function (t) {
  1003. return ut(t, 'msie') || ut(t, 'trident')
  1004. },
  1005. },
  1006. {
  1007. name: 'Opera',
  1008. versionRegexes: [Qn, /.*?opera\/([0-9]+)\.([0-9]+).*/],
  1009. search: Pt('opera'),
  1010. },
  1011. {
  1012. name: 'Firefox',
  1013. versionRegexes: [/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/],
  1014. search: Pt('firefox'),
  1015. },
  1016. {
  1017. name: 'Safari',
  1018. versionRegexes: [Qn, /.*?cpu os ([0-9]+)_([0-9]+).*/],
  1019. search: function (t) {
  1020. return (ut(t, 'safari') || ut(t, 'mobile/')) && ut(t, 'applewebkit')
  1021. },
  1022. },
  1023. ]),
  1024. oses: rt([
  1025. {
  1026. name: 'Windows',
  1027. search: Pt('win'),
  1028. versionRegexes: [/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/],
  1029. },
  1030. {
  1031. name: 'iOS',
  1032. search: function (t) {
  1033. return ut(t, 'iphone') || ut(t, 'ipad')
  1034. },
  1035. versionRegexes: [
  1036. /.*?version\/\ ?([0-9]+)\.([0-9]+).*/,
  1037. /.*cpu os ([0-9]+)_([0-9]+).*/,
  1038. /.*cpu iphone os ([0-9]+)_([0-9]+).*/,
  1039. ],
  1040. },
  1041. {
  1042. name: 'Android',
  1043. search: Pt('android'),
  1044. versionRegexes: [/.*?android\ ?([0-9]+)\.([0-9]+).*/],
  1045. },
  1046. {
  1047. name: 'OSX',
  1048. search: Pt('mac os x'),
  1049. versionRegexes: [/.*?mac\ os\ x\ ?([0-9]+)_([0-9]+).*/],
  1050. },
  1051. { name: 'Linux', search: Pt('linux'), versionRegexes: [] },
  1052. { name: 'Solaris', search: Pt('sunos'), versionRegexes: [] },
  1053. { name: 'FreeBSD', search: Pt('freebsd'), versionRegexes: [] },
  1054. {
  1055. name: 'ChromeOS',
  1056. search: Pt('cros'),
  1057. versionRegexes: [/.*?chrome\/([0-9]+)\.([0-9]+).*/],
  1058. },
  1059. ]),
  1060. },
  1061. te = 'Firefox',
  1062. ne = function () {
  1063. return Wn({ current: void 0, version: $n.unknown() })
  1064. },
  1065. ee = Wn,
  1066. oe =
  1067. (rt('Edge'),
  1068. rt('Chrome'),
  1069. rt('IE'),
  1070. rt('Opera'),
  1071. rt(te),
  1072. rt('Safari'),
  1073. 'Windows'),
  1074. re = 'Android',
  1075. ie = 'Solaris',
  1076. ue = 'FreeBSD',
  1077. ae = 'ChromeOS',
  1078. ce = function () {
  1079. return Un({ current: void 0, version: $n.unknown() })
  1080. },
  1081. se = Un,
  1082. le =
  1083. (rt(oe),
  1084. rt('iOS'),
  1085. rt(re),
  1086. rt('Linux'),
  1087. rt('OSX'),
  1088. rt(ie),
  1089. rt(ue),
  1090. rt(ae),
  1091. Rt(function () {
  1092. return (
  1093. (t = navigator.userAgent),
  1094. (n = vt.from(navigator.userAgentData)),
  1095. (e = Ht),
  1096. (p = Zn.browsers()),
  1097. (h = Zn.oses()),
  1098. (v = n
  1099. .bind(function (t) {
  1100. return (
  1101. (o = p),
  1102. K(t.brands, function (n) {
  1103. var e = n.brand.toLowerCase()
  1104. return V(o, function (t) {
  1105. var n
  1106. return (
  1107. e ===
  1108. (null === (n = t.brand) || void 0 === n
  1109. ? void 0
  1110. : n.toLowerCase())
  1111. )
  1112. }).map(function (t) {
  1113. return {
  1114. current: t.name,
  1115. version: $n.nu(parseInt(n.version, 10), 0),
  1116. }
  1117. })
  1118. })
  1119. )
  1120. var o
  1121. })
  1122. .orThunk(function () {
  1123. return Vt(p, (e = t)).map(function (t) {
  1124. var n = $n.detect(t.versionRegexes, e)
  1125. return { current: t.name, version: n }
  1126. })
  1127. var e
  1128. })
  1129. .fold(ne, ee)),
  1130. (b = Vt(h, (o = t))
  1131. .map(function (t) {
  1132. var n = $n.detect(t.versionRegexes, o)
  1133. return { current: t.name, version: n }
  1134. })
  1135. .fold(ce, se)),
  1136. {
  1137. browser: v,
  1138. os: b,
  1139. deviceType:
  1140. ((i = v),
  1141. (u = t),
  1142. (a = e),
  1143. (c = (r = b).isiOS() && !0 === /ipad/i.test(u)),
  1144. (s = r.isiOS() && !c),
  1145. (f = (l = r.isiOS() || r.isAndroid()) || a('(pointer:coarse)')),
  1146. (d = c || (!s && l && a('(min-device-width:768px)'))),
  1147. (m = s || (l && !d)),
  1148. (g = i.isSafari() && r.isiOS() && !1 === /safari/i.test(u)),
  1149. {
  1150. isiPad: rt(c),
  1151. isiPhone: rt(s),
  1152. isTablet: rt(d),
  1153. isPhone: rt(m),
  1154. isTouch: rt(f),
  1155. isAndroid: r.isAndroid,
  1156. isiOS: r.isiOS,
  1157. isWebView: rt(g),
  1158. isDesktop: rt(!m && !d && !g),
  1159. }),
  1160. }
  1161. )
  1162. var t, n, e, o, r, i, u, a, c, s, l, f, d, m, g, p, h, v, b
  1163. })),
  1164. fe = Yt,
  1165. de = S(Element.prototype.attachShadow) && S(Node.prototype.getRootNode),
  1166. me = rt(de),
  1167. ge = de
  1168. ? function (t) {
  1169. return At.fromDom(t.dom.getRootNode())
  1170. }
  1171. : jt,
  1172. pe = function (t) {
  1173. var n = ge(t)
  1174. return Zt(n) ? vt.some(n) : vt.none()
  1175. },
  1176. he = function (t) {
  1177. return k(t.dom.shadowRoot)
  1178. },
  1179. ve = function (t) {
  1180. var n = Yn(t) ? t.dom.parentNode : t.dom
  1181. if (null == n || null === n.ownerDocument) return !1
  1182. var e,
  1183. o,
  1184. r = n.ownerDocument
  1185. return pe(At.fromDom(n)).fold(
  1186. function () {
  1187. return r.body.contains(n)
  1188. },
  1189. ((e = ve),
  1190. (o = nn),
  1191. function (t) {
  1192. return e(o(t))
  1193. })
  1194. )
  1195. },
  1196. be = function () {
  1197. return ye(At.fromDom(document))
  1198. },
  1199. ye = function (t) {
  1200. var n = t.dom.body
  1201. if (null == n) throw new Error('Body is not available yet')
  1202. return At.fromDom(n)
  1203. },
  1204. xe = function (t, n) {
  1205. return ct(t) ? t.style.getPropertyValue(n) : ''
  1206. },
  1207. we = xn('height', function (t) {
  1208. var n = t.dom
  1209. return ve(t) ? n.getBoundingClientRect().height : n.offsetHeight
  1210. }),
  1211. Se = function (e, o) {
  1212. return {
  1213. left: e,
  1214. top: o,
  1215. translate: function (t, n) {
  1216. return Se(e + t, o + n)
  1217. },
  1218. }
  1219. },
  1220. ke = Se,
  1221. Ce = function (t) {
  1222. var n,
  1223. e = t.dom,
  1224. o = e.ownerDocument.body
  1225. return o === e
  1226. ? ke(o.offsetLeft, o.offsetTop)
  1227. : ve(t)
  1228. ? ((n = e.getBoundingClientRect()), ke(n.left, n.top))
  1229. : ke(0, 0)
  1230. },
  1231. Oe = xn('width', function (t) {
  1232. return t.dom.offsetWidth
  1233. }),
  1234. _e = function (t, n, e, o) {
  1235. t.dom.removeEventListener(n, e, o)
  1236. },
  1237. Te = function (t, n) {
  1238. t.dom.appendChild(n.dom)
  1239. },
  1240. Ee = function (t) {
  1241. var n = t.dom
  1242. null !== n.parentNode && n.parentNode.removeChild(n)
  1243. },
  1244. De = function (o, t) {
  1245. return o.view(t).fold(rt([]), function (t) {
  1246. var n = o.owner(t),
  1247. e = De(o, n)
  1248. return [t].concat(e)
  1249. })
  1250. },
  1251. Be = Object.freeze({
  1252. __proto__: null,
  1253. view: function (t) {
  1254. var n
  1255. return (
  1256. t.dom === document
  1257. ? vt.none()
  1258. : vt.from(
  1259. null === (n = t.dom.defaultView) || void 0 === n
  1260. ? void 0
  1261. : n.frameElement
  1262. )
  1263. ).map(At.fromDom)
  1264. },
  1265. owner: Ut,
  1266. }),
  1267. Me = function (t, n, e, o) {
  1268. return { x: t, y: n, width: e, height: o, right: t + e, bottom: n + o }
  1269. },
  1270. Ae = function (t) {
  1271. var n = Cn(t),
  1272. e = _n(t),
  1273. o = Sn(t)
  1274. return Me(n.left, n.top, e, o)
  1275. },
  1276. Fe = function () {
  1277. return Hn(window)
  1278. },
  1279. Ie = function (e) {
  1280. return {
  1281. isValue: D,
  1282. isError: T,
  1283. getOr: rt(e),
  1284. getOrThunk: rt(e),
  1285. getOrDie: rt(e),
  1286. or: function (t) {
  1287. return Ie(e)
  1288. },
  1289. orThunk: function (t) {
  1290. return Ie(e)
  1291. },
  1292. fold: function (t, n) {
  1293. return n(e)
  1294. },
  1295. map: function (t) {
  1296. return Ie(t(e))
  1297. },
  1298. mapError: function (t) {
  1299. return Ie(e)
  1300. },
  1301. each: function (t) {
  1302. t(e)
  1303. },
  1304. bind: function (t) {
  1305. return t(e)
  1306. },
  1307. exists: function (t) {
  1308. return t(e)
  1309. },
  1310. forall: function (t) {
  1311. return t(e)
  1312. },
  1313. toOptional: function () {
  1314. return vt.some(e)
  1315. },
  1316. }
  1317. },
  1318. Re = function (e) {
  1319. return {
  1320. isValue: T,
  1321. isError: D,
  1322. getOr: h,
  1323. getOrThunk: function (t) {
  1324. return t()
  1325. },
  1326. getOrDie: function () {
  1327. return _(String(e))()
  1328. },
  1329. or: h,
  1330. orThunk: function (t) {
  1331. return t()
  1332. },
  1333. fold: function (t, n) {
  1334. return t(e)
  1335. },
  1336. map: function (t) {
  1337. return Re(e)
  1338. },
  1339. mapError: function (t) {
  1340. return Re(t(e))
  1341. },
  1342. each: st,
  1343. bind: function (t) {
  1344. return Re(e)
  1345. },
  1346. exists: T,
  1347. forall: D,
  1348. toOptional: vt.none,
  1349. }
  1350. },
  1351. Ve = {
  1352. value: Ie,
  1353. error: Re,
  1354. fromOption: function (t, n) {
  1355. return t.fold(function () {
  1356. return Re(n)
  1357. }, Ie)
  1358. },
  1359. }
  1360. function Pe(t, n, e) {
  1361. return t.stype === jn.Error ? n(t.serror) : e(t.svalue)
  1362. }
  1363. function He(t) {
  1364. return { stype: jn.Value, svalue: t }
  1365. }
  1366. function ze(t) {
  1367. return { stype: jn.Error, serror: t }
  1368. }
  1369. function Ne(t, n, e, o) {
  1370. return { tag: 'field', key: t, newKey: n, presence: e, prop: o }
  1371. }
  1372. function Le(t, n, e) {
  1373. switch (t.tag) {
  1374. case 'field':
  1375. return n(t.key, t.newKey, t.presence, t.prop)
  1376. case 'custom':
  1377. return e(t.newKey, t.instantiator)
  1378. }
  1379. }
  1380. function We(u) {
  1381. return function () {
  1382. for (var t = [], n = 0; n < arguments.length; n++) t[n] = arguments[n]
  1383. if (0 === t.length) throw new Error("Can't merge zero objects")
  1384. for (var e = {}, o = 0; o < t.length; o++) {
  1385. var r,
  1386. i = t[o]
  1387. for (r in i) Tt(i, r) && (e[r] = u(e[r], i[r]))
  1388. }
  1389. return e
  1390. }
  1391. }
  1392. function Ue() {
  1393. return { tag: 'required', process: {} }
  1394. }
  1395. function je(t) {
  1396. return { tag: 'defaultedThunk', process: t }
  1397. }
  1398. function Ge(t) {
  1399. return je(rt(t))
  1400. }
  1401. function Xe() {
  1402. return { tag: 'option', process: {} }
  1403. }
  1404. function Ye(t) {
  1405. return { tag: 'mergeWithThunk', process: t }
  1406. }
  1407. function qe(t) {
  1408. return x(t) && 100 < Ct(t).length
  1409. ? ' removed due to size'
  1410. : JSON.stringify(t, null, 2)
  1411. }
  1412. function Ke(t, n) {
  1413. return Lo([{ path: t, getErrorInfo: n }])
  1414. }
  1415. function Je(e) {
  1416. return {
  1417. extract: function (n, t) {
  1418. return Uo(e(t), function (t) {
  1419. return Ke(n, rt(t))
  1420. })
  1421. },
  1422. toString: rt('val'),
  1423. }
  1424. }
  1425. function $e(t, n, e, o) {
  1426. return o(
  1427. tt(t, n).getOrThunk(function () {
  1428. return e(t)
  1429. })
  1430. )
  1431. }
  1432. function Qe(n, e, o, r, i) {
  1433. function u(t) {
  1434. return i.extract(e.concat([r]), t)
  1435. }
  1436. function t(t) {
  1437. return t.fold(
  1438. function () {
  1439. return No(vt.none())
  1440. },
  1441. function (t) {
  1442. var n = i.extract(e.concat([r]), t)
  1443. return jo(n, vt.some)
  1444. }
  1445. )
  1446. }
  1447. var a, c, s, l, f, d
  1448. switch (n.tag) {
  1449. case 'required':
  1450. return (
  1451. (s = e),
  1452. (d = u),
  1453. tt((l = o), (f = r)).fold(function () {
  1454. return (
  1455. (t = f),
  1456. (n = l),
  1457. Ke(s, function () {
  1458. return (
  1459. 'Could not find valid *required* value for "' +
  1460. t +
  1461. '" in ' +
  1462. qe(n)
  1463. )
  1464. })
  1465. )
  1466. var t, n
  1467. }, d)
  1468. )
  1469. case 'defaultedThunk':
  1470. return $e(o, r, n.process, u)
  1471. case 'option':
  1472. return t(tt(o, r))
  1473. case 'defaultedOptionThunk':
  1474. return (
  1475. (c = n.process),
  1476. t(
  1477. tt((a = o), r).map(function (t) {
  1478. return !0 === t ? c(a) : t
  1479. })
  1480. )
  1481. )
  1482. case 'mergeWithThunk':
  1483. return $e(o, r, rt({}), function (t) {
  1484. return u(Yo(n.process(o), t))
  1485. })
  1486. }
  1487. }
  1488. function Ze(e) {
  1489. return {
  1490. extract: function (t, n) {
  1491. return e().extract(t, n)
  1492. },
  1493. toString: function () {
  1494. return e().toString()
  1495. },
  1496. }
  1497. }
  1498. function to(t) {
  1499. var s = $o(t),
  1500. l = I(
  1501. t,
  1502. function (e, t) {
  1503. return Le(
  1504. t,
  1505. function (t) {
  1506. var n
  1507. return Yo(e, (((n = {})[t] = !0), n))
  1508. },
  1509. rt(e)
  1510. )
  1511. },
  1512. {}
  1513. )
  1514. return {
  1515. extract: function (t, n) {
  1516. var e,
  1517. o,
  1518. r,
  1519. i,
  1520. u,
  1521. a,
  1522. c = F(
  1523. w(n)
  1524. ? []
  1525. : Ct(
  1526. ((r = k),
  1527. (i = o = {}),
  1528. (u = function (t, n) {
  1529. i[n] = t
  1530. }),
  1531. (a = st),
  1532. J(n, function (t, n) {
  1533. ;(r(t, n) ? u : a)(t, n)
  1534. }),
  1535. o)
  1536. ),
  1537. function (t) {
  1538. return !nt(l, t)
  1539. }
  1540. )
  1541. return 0 === c.length
  1542. ? s.extract(t, n)
  1543. : ((e = c),
  1544. Ke(t, function () {
  1545. return (
  1546. 'There are unsupported fields: [' + e.join(', ') + '] specified'
  1547. )
  1548. }))
  1549. },
  1550. toString: s.toString,
  1551. }
  1552. }
  1553. function no(o) {
  1554. return {
  1555. extract: function (e, t) {
  1556. var n = M(t, function (t, n) {
  1557. return o.extract(e.concat(['[' + n + ']']), t)
  1558. })
  1559. return Ko(n)
  1560. },
  1561. toString: function () {
  1562. return 'array(' + o.toString() + ')'
  1563. },
  1564. }
  1565. }
  1566. function eo(u) {
  1567. return {
  1568. extract: function (t, n) {
  1569. for (var e = [], o = 0, r = u; o < r.length; o++) {
  1570. var i = r[o].extract(t, n)
  1571. if (i.stype === jn.Value) return i
  1572. e.push(i)
  1573. }
  1574. return Ko(e)
  1575. },
  1576. toString: function () {
  1577. return (
  1578. 'oneOf(' +
  1579. M(u, function (t) {
  1580. return t.toString()
  1581. }).join(', ') +
  1582. ')'
  1583. )
  1584. },
  1585. }
  1586. }
  1587. function oo(e, o) {
  1588. return Je(function (t) {
  1589. var n = typeof t
  1590. return e(t) ? No(t) : Lo('Expected type: ' + o + ' but got: ' + n)
  1591. })
  1592. }
  1593. function ro(n, a) {
  1594. return {
  1595. extract: function (i, u) {
  1596. return tt(u, n).fold(
  1597. function () {
  1598. return (
  1599. (t = n),
  1600. Ke(i, function () {
  1601. return 'Choice schema did not contain choice key: "' + t + '"'
  1602. })
  1603. )
  1604. var t
  1605. },
  1606. function (t) {
  1607. return (
  1608. (e = i),
  1609. (n = u),
  1610. tt((o = a), (r = t)).fold(
  1611. function () {
  1612. return (
  1613. (t = o),
  1614. (n = r),
  1615. Ke(e, function () {
  1616. return (
  1617. 'The chosen schema: "' +
  1618. n +
  1619. '" did not exist in branches: ' +
  1620. qe(t)
  1621. )
  1622. })
  1623. )
  1624. var t, n
  1625. },
  1626. function (t) {
  1627. return t.extract(e.concat(['branch: ' + r]), n)
  1628. }
  1629. )
  1630. )
  1631. var e, n, o, r
  1632. }
  1633. )
  1634. },
  1635. toString: function () {
  1636. return 'chooseOn(' + n + '). Possible values: ' + Ct(a)
  1637. },
  1638. }
  1639. }
  1640. function io(n) {
  1641. return Je(function (t) {
  1642. return n(t).fold(Lo, No)
  1643. })
  1644. }
  1645. function uo(n, t) {
  1646. return (
  1647. (r = function (t) {
  1648. return n(t).fold(ze, He)
  1649. }),
  1650. (i = t),
  1651. {
  1652. extract: function (e, o) {
  1653. var t = Ct(o),
  1654. n = no(Je(r)).extract(e, t)
  1655. return Wo(n, function (t) {
  1656. var n = M(t, function (t) {
  1657. return Ne(t, t, Ue(), i)
  1658. })
  1659. return $o(n).extract(e, o)
  1660. })
  1661. },
  1662. toString: function () {
  1663. return 'setOf(' + i.toString() + ')'
  1664. },
  1665. }
  1666. )
  1667. var r, i
  1668. }
  1669. function ao(t, n, e) {
  1670. return zo(
  1671. ((r = n.extract([t], (o = e))),
  1672. Go(r, function (t) {
  1673. return { input: o, errors: t }
  1674. }))
  1675. )
  1676. var o, r
  1677. }
  1678. function co(t) {
  1679. return t.fold(function (t) {
  1680. throw new Error(ur(t))
  1681. }, h)
  1682. }
  1683. function so(t, n, e) {
  1684. return co(ao(t, n, e))
  1685. }
  1686. function lo(t, n) {
  1687. return ro(t, dt(n, $o))
  1688. }
  1689. function fo(n) {
  1690. return io(function (t) {
  1691. return wt(n, t)
  1692. ? Ve.value(t)
  1693. : Ve.error(
  1694. 'Unsupported value: "' +
  1695. t +
  1696. '", choose one of "' +
  1697. n.join(', ') +
  1698. '".'
  1699. )
  1700. })
  1701. }
  1702. function mo(t) {
  1703. return ar(t, t, Ue(), Zo())
  1704. }
  1705. function go(t, n) {
  1706. return ar(t, t, Ue(), n)
  1707. }
  1708. function po(t) {
  1709. return go(t, nr)
  1710. }
  1711. function ho(t, n) {
  1712. return ar(t, t, Ue(), fo(n))
  1713. }
  1714. function vo(t) {
  1715. return go(t, or)
  1716. }
  1717. function bo(t, n) {
  1718. return ar(t, t, Ue(), $o(n))
  1719. }
  1720. function yo(t, n) {
  1721. return ar(t, t, Ue(), Qo(n))
  1722. }
  1723. function xo(t, n) {
  1724. return ar(t, t, Ue(), no(n))
  1725. }
  1726. function wo(t) {
  1727. return ar(t, t, Xe(), Zo())
  1728. }
  1729. function So(t, n) {
  1730. return ar(t, t, Xe(), n)
  1731. }
  1732. function ko(t) {
  1733. return So(t, tr)
  1734. }
  1735. function Co(t) {
  1736. return So(t, nr)
  1737. }
  1738. function Oo(t) {
  1739. return So(t, or)
  1740. }
  1741. function _o(t, n) {
  1742. return So(t, no(n))
  1743. }
  1744. function To(t, n) {
  1745. return So(t, $o(n))
  1746. }
  1747. function Eo(t, n) {
  1748. return ar(t, t, Ge(n), Zo())
  1749. }
  1750. function Do(t, n, e) {
  1751. return ar(t, t, Ge(n), e)
  1752. }
  1753. function Bo(t, n) {
  1754. return Do(t, n, tr)
  1755. }
  1756. function Mo(t, n) {
  1757. return Do(t, n, nr)
  1758. }
  1759. function Ao(t, n, e) {
  1760. return Do(t, n, fo(e))
  1761. }
  1762. function Fo(t, n) {
  1763. return Do(t, n, er)
  1764. }
  1765. function Io(t, n) {
  1766. return Do(t, n, or)
  1767. }
  1768. function Ro(t, n, e) {
  1769. return Do(t, n, no(e))
  1770. }
  1771. function Vo(t, n, e) {
  1772. return Do(t, n, $o(e))
  1773. }
  1774. function Po(t) {
  1775. var n = t
  1776. return {
  1777. get: function () {
  1778. return n
  1779. },
  1780. set: function (t) {
  1781. n = t
  1782. },
  1783. }
  1784. }
  1785. ;((Gn = jn = {})[(Gn.Error = 0)] = 'Error'), (Gn[(Gn.Value = 1)] = 'Value')
  1786. function Ho(u) {
  1787. if (!c(u)) throw new Error('cases must be an array')
  1788. if (0 === u.length) throw new Error('there must be at least one case')
  1789. var a = [],
  1790. e = {}
  1791. return (
  1792. St(u, function (t, o) {
  1793. var n = Ct(t)
  1794. if (1 !== n.length) throw new Error('one and only one name per case')
  1795. var r = n[0],
  1796. i = t[r]
  1797. if (void 0 !== e[r]) throw new Error('duplicate key detected:' + r)
  1798. if ('cata' === r)
  1799. throw new Error('cannot have a case named cata (sorry)')
  1800. if (!c(i)) throw new Error('case arguments must be an array')
  1801. a.push(r),
  1802. (e[r] = function () {
  1803. for (var e = [], t = 0; t < arguments.length; t++)
  1804. e[t] = arguments[t]
  1805. var n = e.length
  1806. if (n !== i.length)
  1807. throw new Error(
  1808. 'Wrong number of arguments to case ' +
  1809. r +
  1810. '. Expected ' +
  1811. i.length +
  1812. ' (' +
  1813. i +
  1814. '), got ' +
  1815. n
  1816. )
  1817. return {
  1818. fold: function () {
  1819. for (var t = [], n = 0; n < arguments.length; n++)
  1820. t[n] = arguments[n]
  1821. if (t.length !== u.length)
  1822. throw new Error(
  1823. 'Wrong number of arguments to fold. Expected ' +
  1824. u.length +
  1825. ', got ' +
  1826. t.length
  1827. )
  1828. return t[o].apply(null, e)
  1829. },
  1830. match: function (t) {
  1831. var n = Ct(t)
  1832. if (a.length !== n.length)
  1833. throw new Error(
  1834. 'Wrong number of arguments to match. Expected: ' +
  1835. a.join(',') +
  1836. '\nActual: ' +
  1837. n.join(',')
  1838. )
  1839. if (
  1840. !N(a, function (t) {
  1841. return wt(n, t)
  1842. })
  1843. )
  1844. throw new Error(
  1845. 'Not all branches were specified when using match. Specified: ' +
  1846. n.join(', ') +
  1847. '\nRequired: ' +
  1848. a.join(', ')
  1849. )
  1850. return t[r].apply(null, e)
  1851. },
  1852. log: function (t) {
  1853. console.log(t, { constructors: a, constructor: r, params: e })
  1854. },
  1855. }
  1856. })
  1857. }),
  1858. e
  1859. )
  1860. }
  1861. var zo = function (t) {
  1862. return Pe(t, Ve.error, Ve.value)
  1863. },
  1864. No = He,
  1865. Lo = ze,
  1866. Wo = function (t, n) {
  1867. return t.stype === jn.Value ? n(t.svalue) : t
  1868. },
  1869. Uo = function (t, n) {
  1870. return t.stype === jn.Error ? n(t.serror) : t
  1871. },
  1872. jo = function (t, n) {
  1873. return t.stype === jn.Value ? { stype: jn.Value, svalue: n(t.svalue) } : t
  1874. },
  1875. Go = function (t, n) {
  1876. return t.stype === jn.Error ? { stype: jn.Error, serror: n(t.serror) } : t
  1877. },
  1878. Xo = Pe,
  1879. Yo = We(function (t, n) {
  1880. return x(t) && x(n) ? Yo(t, n) : n
  1881. }),
  1882. qo = We(function (t, n) {
  1883. return n
  1884. }),
  1885. Ko = function (t) {
  1886. var n,
  1887. e,
  1888. o =
  1889. ((n = []),
  1890. (e = []),
  1891. St(t, function (t) {
  1892. Pe(
  1893. t,
  1894. function (t) {
  1895. return e.push(t)
  1896. },
  1897. function (t) {
  1898. return n.push(t)
  1899. }
  1900. )
  1901. }),
  1902. { values: n, errors: e })
  1903. return 0 < o.errors.length ? r(Lo, ft)(o.errors) : No(o.values)
  1904. },
  1905. Jo = Je(No),
  1906. $o = function (e) {
  1907. return {
  1908. extract: function (i, u) {
  1909. for (var a = {}, c = [], t = 0, n = e; t < n.length; t++)
  1910. Le(
  1911. n[t],
  1912. function (t, n, e, o) {
  1913. var r = Qe(e, i, u, t, o)
  1914. Xo(
  1915. r,
  1916. function (t) {
  1917. c.push.apply(c, t)
  1918. },
  1919. function (t) {
  1920. a[n] = t
  1921. }
  1922. )
  1923. },
  1924. function (t, n) {
  1925. a[t] = n(u)
  1926. }
  1927. )
  1928. return 0 < c.length ? Lo(c) : No(a)
  1929. },
  1930. toString: function () {
  1931. return (
  1932. 'obj{\n' +
  1933. M(e, function (t) {
  1934. return Le(
  1935. t,
  1936. function (t, n, e, o) {
  1937. return t + ' -> ' + o.toString()
  1938. },
  1939. function (t, n) {
  1940. return 'state(' + t + ')'
  1941. }
  1942. )
  1943. }).join('\n') +
  1944. '}'
  1945. )
  1946. },
  1947. }
  1948. },
  1949. Qo = r(no, $o),
  1950. Zo = rt(Jo),
  1951. tr = oo(u, 'number'),
  1952. nr = oo(y, 'string'),
  1953. er = oo(w, 'boolean'),
  1954. or = oo(S, 'function'),
  1955. rr = function (n) {
  1956. if (Object(n) !== n) return !0
  1957. switch ({}.toString.call(n).slice(8, -1)) {
  1958. case 'Boolean':
  1959. case 'Number':
  1960. case 'String':
  1961. case 'Date':
  1962. case 'RegExp':
  1963. case 'Blob':
  1964. case 'FileList':
  1965. case 'ImageData':
  1966. case 'ImageBitmap':
  1967. case 'ArrayBuffer':
  1968. return !0
  1969. case 'Array':
  1970. case 'Object':
  1971. return Object.keys(n).every(function (t) {
  1972. return rr(n[t])
  1973. })
  1974. default:
  1975. return !1
  1976. }
  1977. },
  1978. ir = Je(function (t) {
  1979. return rr(t)
  1980. ? No(t)
  1981. : Lo('Expected value to be acceptable for sending via postMessage')
  1982. }),
  1983. ur = function (t) {
  1984. return (
  1985. 'Errors: \n' +
  1986. M(
  1987. 10 < (n = t.errors).length
  1988. ? n
  1989. .slice(0, 10)
  1990. .concat([
  1991. {
  1992. path: [],
  1993. getErrorInfo: rt('... (only showing first ten failures)'),
  1994. },
  1995. ])
  1996. : n,
  1997. function (t) {
  1998. return (
  1999. 'Failed path: (' + t.path.join(' > ') + ')\n' + t.getErrorInfo()
  2000. )
  2001. }
  2002. ).join('\n') +
  2003. '\n\nInput object: ' +
  2004. qe(t.input)
  2005. )
  2006. var n
  2007. },
  2008. ar = Ne,
  2009. cr = function (t, n) {
  2010. return { tag: 'custom', newKey: t, instantiator: n }
  2011. }
  2012. function sr(t, n) {
  2013. return ((e = {})[t] = n), e
  2014. var e
  2015. }
  2016. function lr(t) {
  2017. return (
  2018. (n = {}),
  2019. St(t, function (t) {
  2020. n[t.key] = t.value
  2021. }),
  2022. n
  2023. )
  2024. var n
  2025. }
  2026. function fr(t) {
  2027. return S(t) ? t : T
  2028. }
  2029. function dr(t, n, e) {
  2030. for (var o = t.dom, r = fr(e); o.parentNode; ) {
  2031. var o = o.parentNode,
  2032. i = At.fromDom(o),
  2033. u = n(i)
  2034. if (u.isSome()) return u
  2035. if (r(i)) break
  2036. }
  2037. return vt.none()
  2038. }
  2039. function mr(t, n, e) {
  2040. var o = n(t),
  2041. r = fr(e)
  2042. return o.orThunk(function () {
  2043. return r(t) ? vt.none() : dr(t, n, r)
  2044. })
  2045. }
  2046. function gr(t, n) {
  2047. return Lt(t.element, n.event.target)
  2048. }
  2049. function pr(t) {
  2050. if (!nt(t, 'can') && !nt(t, 'abort') && !nt(t, 'run'))
  2051. throw new Error(
  2052. 'EventHandler defined by: ' +
  2053. JSON.stringify(t, null, 2) +
  2054. ' does not have can, abort, or run!'
  2055. )
  2056. return lt(lt({}, ai), t)
  2057. }
  2058. function hr(t) {
  2059. return rt('alloy.' + t)
  2060. }
  2061. function vr(t, n) {
  2062. nu(t, t.element, n, {})
  2063. }
  2064. function br(t, n, e) {
  2065. nu(t, t.element, n, e)
  2066. }
  2067. function yr(t) {
  2068. vr(t, Ii())
  2069. }
  2070. function xr(t, n, e) {
  2071. nu(t, n, e, {})
  2072. }
  2073. function wr(t, n, e, o) {
  2074. t.getSystem().triggerEvent(e, n, o.event)
  2075. }
  2076. function Sr(t, n) {
  2077. return { key: t, value: pr({ abort: n }) }
  2078. }
  2079. function kr(t) {
  2080. return {
  2081. key: t,
  2082. value: pr({
  2083. run: function (t, n) {
  2084. n.event.prevent()
  2085. },
  2086. }),
  2087. }
  2088. }
  2089. function Cr(t, n) {
  2090. return { key: t, value: pr({ run: n }) }
  2091. }
  2092. function Or(t, e, o) {
  2093. return {
  2094. key: t,
  2095. value: pr({
  2096. run: function (t, n) {
  2097. e.apply(void 0, [t, n].concat(o))
  2098. },
  2099. }),
  2100. }
  2101. }
  2102. function _r(t) {
  2103. return function (e) {
  2104. return {
  2105. key: t,
  2106. value: pr({
  2107. run: function (t, n) {
  2108. gr(t, n) && e(t, n)
  2109. },
  2110. }),
  2111. }
  2112. }
  2113. }
  2114. function Tr(t, n, e) {
  2115. var o,
  2116. r = n.partUids[e]
  2117. return Cr((o = t), function (t, n) {
  2118. t.getSystem()
  2119. .getByUid(r)
  2120. .each(function (t) {
  2121. wr(t, t.element, o, n)
  2122. })
  2123. })
  2124. }
  2125. function Er(t, r) {
  2126. return Cr(t, function (n, t) {
  2127. var e = t.event,
  2128. o = n
  2129. .getSystem()
  2130. .getByDom(e.target)
  2131. .getOrThunk(function () {
  2132. return mr(
  2133. e.target,
  2134. function (t) {
  2135. return n.getSystem().getByDom(t).toOptional()
  2136. },
  2137. T
  2138. ).getOr(n)
  2139. })
  2140. r(n, o, t)
  2141. })
  2142. }
  2143. function Dr(t) {
  2144. return Cr(t, function (t, n) {
  2145. n.cut()
  2146. })
  2147. }
  2148. function Br(t, n) {
  2149. return _r(t)(n)
  2150. }
  2151. function Mr(t) {
  2152. return t.dom.innerHTML
  2153. }
  2154. function Ar(t, n) {
  2155. var e,
  2156. o,
  2157. r = Ut(t).dom,
  2158. i = At.fromDom(r.createDocumentFragment())
  2159. An(
  2160. i,
  2161. ((e = n),
  2162. ((o = (r || document).createElement('div')).innerHTML = e),
  2163. Kt(At.fromDom(o)))
  2164. ),
  2165. Fn(t),
  2166. Te(t, i)
  2167. }
  2168. function Fr(t) {
  2169. if (Zt(t)) return '#shadow-root'
  2170. var n = At.fromDom(t.dom.cloneNode(!1)),
  2171. e = At.fromTag('div'),
  2172. o = At.fromDom(n.dom.cloneNode(!0))
  2173. return Te(e, o), Mr(e)
  2174. }
  2175. function Ir(t) {
  2176. var n = new Date().getTime()
  2177. return t + '_' + Math.floor(1e9 * Math.random()) + ++su + String(n)
  2178. }
  2179. function Rr(t) {
  2180. var n = Xn(t) ? t.dom[mu] : null
  2181. return vt.from(n)
  2182. }
  2183. function Vr(n) {
  2184. function e(t) {
  2185. return (
  2186. 'The component must be in a context to execute: ' +
  2187. t +
  2188. (n ? '\n' + Fr(n().element) + ' is not in context.' : '')
  2189. )
  2190. }
  2191. function t(t) {
  2192. return function () {
  2193. throw new Error(e(t))
  2194. }
  2195. }
  2196. function o(t) {
  2197. return function () {
  2198. console.warn(e(t))
  2199. }
  2200. }
  2201. return {
  2202. debugInfo: rt('fake'),
  2203. triggerEvent: o('triggerEvent'),
  2204. triggerFocus: o('triggerFocus'),
  2205. triggerEscape: o('triggerEscape'),
  2206. broadcast: o('broadcast'),
  2207. broadcastOn: o('broadcastOn'),
  2208. broadcastEvent: o('broadcastEvent'),
  2209. build: t('build'),
  2210. addToWorld: t('addToWorld'),
  2211. removeFromWorld: t('removeFromWorld'),
  2212. addToGui: t('addToGui'),
  2213. removeFromGui: t('removeFromGui'),
  2214. getByUid: t('getByUid'),
  2215. getByDom: t('getByDom'),
  2216. isConnected: T,
  2217. }
  2218. }
  2219. function Pr(t, n) {
  2220. var e = t.toString(),
  2221. o = e.indexOf(')') + 1,
  2222. r = e.indexOf('('),
  2223. i = e.substring(r + 1, o - 1).split(/,\s*/)
  2224. return (
  2225. (t.toFunctionAnnotation = function () {
  2226. return { name: n, parameters: bu(i) }
  2227. }),
  2228. t
  2229. )
  2230. }
  2231. function Hr(t) {
  2232. return sr(yu, t)
  2233. }
  2234. function zr(o) {
  2235. return (
  2236. (t = function (t) {
  2237. for (var n = [], e = 1; e < arguments.length; e++)
  2238. n[e - 1] = arguments[e]
  2239. return o.apply(void 0, H([t.getApis(), t], n, !1))
  2240. }),
  2241. (e = (n = o.toString()).indexOf(')') + 1),
  2242. (r = n.indexOf('(')),
  2243. (i = n.substring(r + 1, e - 1).split(/,\s*/)),
  2244. (t.toFunctionAnnotation = function () {
  2245. return { name: 'OVERRIDE', parameters: bu(i.slice(1)) }
  2246. }),
  2247. t
  2248. )
  2249. var t, n, e, r, i
  2250. }
  2251. function Nr(t, r) {
  2252. var i = {}
  2253. return (
  2254. J(t, function (t, o) {
  2255. J(t, function (t, n) {
  2256. var e = tt(i, n).getOr([])
  2257. i[n] = e.concat([r(o, t)])
  2258. })
  2259. }),
  2260. i
  2261. )
  2262. }
  2263. function Lr(t) {
  2264. return {
  2265. classes: E(t.classes) ? [] : t.classes,
  2266. attributes: E(t.attributes) ? {} : t.attributes,
  2267. styles: E(t.styles) ? {} : t.styles,
  2268. }
  2269. }
  2270. function Wr(t) {
  2271. return t.cHandler
  2272. }
  2273. function Ur(t, n) {
  2274. return { name: t, handler: n }
  2275. }
  2276. function jr(t, n, e) {
  2277. var o = n[e]
  2278. return o
  2279. ? (function (u, t, a) {
  2280. try {
  2281. var n = G(t, function (t, n) {
  2282. var e = t.name,
  2283. o = n.name,
  2284. r = a.indexOf(e),
  2285. i = a.indexOf(o)
  2286. if (-1 === r)
  2287. throw new Error(
  2288. 'The ordering for ' +
  2289. u +
  2290. ' does not have an entry for ' +
  2291. e +
  2292. '.\nOrder specified: ' +
  2293. JSON.stringify(a, null, 2)
  2294. )
  2295. if (-1 === i)
  2296. throw new Error(
  2297. 'The ordering for ' +
  2298. u +
  2299. ' does not have an entry for ' +
  2300. o +
  2301. '.\nOrder specified: ' +
  2302. JSON.stringify(a, null, 2)
  2303. )
  2304. return r < i ? -1 : i < r ? 1 : 0
  2305. })
  2306. return Ve.value(n)
  2307. } catch (t) {
  2308. return Ve.error([t])
  2309. }
  2310. })('Event: ' + e, t, o).map(function (t) {
  2311. var e,
  2312. n,
  2313. o,
  2314. r,
  2315. i = M(t, function (t) {
  2316. return t.handler
  2317. })
  2318. return {
  2319. can: function () {
  2320. for (var e = [], t = 0; t < arguments.length; t++)
  2321. e[t] = arguments[t]
  2322. return R(
  2323. n,
  2324. function (t, n) {
  2325. return t && n.can.apply(void 0, e)
  2326. },
  2327. !0
  2328. )
  2329. },
  2330. abort:
  2331. ((o = n = e = i),
  2332. (r = function (t) {
  2333. return t.abort
  2334. }),
  2335. function () {
  2336. for (var e = [], t = 0; t < arguments.length; t++)
  2337. e[t] = arguments[t]
  2338. return R(
  2339. o,
  2340. function (t, n) {
  2341. return t || r(n).apply(void 0, e)
  2342. },
  2343. !1
  2344. )
  2345. }),
  2346. run: function () {
  2347. for (var n = [], t = 0; t < arguments.length; t++)
  2348. n[t] = arguments[t]
  2349. St(e, function (t) {
  2350. t.run.apply(void 0, n)
  2351. })
  2352. },
  2353. }
  2354. })
  2355. : Ve.error([
  2356. 'The event (' +
  2357. e +
  2358. ') has more than one behaviour that listens to it.\nWhen this occurs, you must specify an event ordering for the behaviours in your spec (e.g. [ "listing", "toggling" ]).\nThe behaviours that can trigger it are: ' +
  2359. JSON.stringify(
  2360. M(t, function (t) {
  2361. return t.name
  2362. }),
  2363. null,
  2364. 2
  2365. ),
  2366. ])
  2367. }
  2368. function Gr(t, n) {
  2369. var e = un(t, n)
  2370. return void 0 === e || '' === e ? [] : e.split(' ')
  2371. }
  2372. function Xr(t) {
  2373. return void 0 !== t.dom.classList
  2374. }
  2375. function Yr(t, n) {
  2376. var e, o, r
  2377. Xr(t)
  2378. ? t.dom.classList.add(n)
  2379. : ((o = n),
  2380. (r = Gr((e = t), 'class').concat([o])),
  2381. on(e, 'class', r.join(' ')))
  2382. }
  2383. function qr(t, n) {
  2384. var e, o, r, i
  2385. Xr(t)
  2386. ? t.dom.classList.remove(n)
  2387. : ((r = n),
  2388. 0 <
  2389. (i = F(Gr((o = t), 'class'), function (t) {
  2390. return t !== r
  2391. })).length
  2392. ? on(o, 'class', i.join(' '))
  2393. : sn(o, 'class')),
  2394. 0 === (Xr((e = t)) ? e.dom.classList : Gr(e, 'class')).length &&
  2395. sn(e, 'class')
  2396. }
  2397. function Kr(t, n) {
  2398. return Xr(t) && t.dom.classList.contains(n)
  2399. }
  2400. function Jr(n, t) {
  2401. St(t, function (t) {
  2402. Yr(n, t)
  2403. })
  2404. }
  2405. function $r(n, t) {
  2406. St(t, function (t) {
  2407. qr(n, t)
  2408. })
  2409. }
  2410. function Qr(t) {
  2411. return t.dom.value
  2412. }
  2413. function Zr(t, n) {
  2414. if (void 0 === n) throw new Error('Value.set was undefined')
  2415. t.dom.value = n
  2416. }
  2417. function ti(t) {
  2418. var e,
  2419. n,
  2420. o,
  2421. r,
  2422. i =
  2423. ((e = tt(t, 'behaviours').getOr({})),
  2424. z(Ct(e), function (t) {
  2425. var n = e[t]
  2426. return k(n) ? [n.me] : []
  2427. }))
  2428. return (
  2429. (n = t),
  2430. (r = M((o = i), function (t) {
  2431. return To(t.name(), [mo('config'), Eo('state', xu)])
  2432. })),
  2433. {
  2434. list: o,
  2435. data: dt(
  2436. ao('component.behaviours', $o(r), n.behaviours).fold(function (t) {
  2437. throw new Error(
  2438. ur(t) + '\nComplete spec:\n' + JSON.stringify(n, null, 2)
  2439. )
  2440. }, h),
  2441. function (t) {
  2442. return rt(
  2443. t.map(function (t) {
  2444. return { config: t.config, state: t.state.init(t.config) }
  2445. })
  2446. )
  2447. }
  2448. ),
  2449. }
  2450. )
  2451. }
  2452. function ni(t, n, e) {
  2453. var o,
  2454. r,
  2455. i = lt(lt({}, (o = t).dom), {
  2456. uid: o.uid,
  2457. domChildren: M(o.components, function (t) {
  2458. return t.element
  2459. }),
  2460. }),
  2461. u = t.domModification.fold(function () {
  2462. return Lr({})
  2463. }, Lr),
  2464. a =
  2465. 0 < n.length
  2466. ? (function (n, t, e, o) {
  2467. var r = lt({}, t)
  2468. function i(t) {
  2469. return I(
  2470. t,
  2471. function (t, n) {
  2472. return lt(lt({}, n.modification), t)
  2473. },
  2474. {}
  2475. )
  2476. }
  2477. St(e, function (t) {
  2478. r[t.name()] = t.exhibit(n, o)
  2479. })
  2480. var u = Nr(r, function (t, n) {
  2481. return { name: t, modification: n }
  2482. })
  2483. return Lr({
  2484. classes: I(
  2485. u.classes,
  2486. function (t, n) {
  2487. return n.modification.concat(t)
  2488. },
  2489. []
  2490. ),
  2491. attributes: i(u.attributes),
  2492. styles: i(u.styles),
  2493. })
  2494. })(e, { 'alloy.base.modification': u }, n, i)
  2495. : u
  2496. return lt(lt({}, (r = i)), {
  2497. attributes: lt(lt({}, r.attributes), a.attributes),
  2498. styles: lt(lt({}, r.styles), a.styles),
  2499. classes: r.classes.concat(a.classes),
  2500. })
  2501. }
  2502. function ei(t, n, e) {
  2503. var o,
  2504. r,
  2505. i,
  2506. u,
  2507. a,
  2508. c = { 'alloy.base.behaviour': t.events },
  2509. s = t.eventOrder
  2510. return (
  2511. (r = e),
  2512. (i = n),
  2513. (o = Nr(
  2514. lt(
  2515. lt({}, c),
  2516. ((u = r),
  2517. (a = {}),
  2518. St(i, function (t) {
  2519. a[t.name()] = t.handlers(u)
  2520. }),
  2521. a)
  2522. ),
  2523. Ur
  2524. )),
  2525. Su(o, s).getOrDie()
  2526. )
  2527. }
  2528. function oi(t) {
  2529. var e,
  2530. n,
  2531. o,
  2532. r,
  2533. i,
  2534. u,
  2535. a,
  2536. c,
  2537. s,
  2538. l,
  2539. f = hu(t),
  2540. d = f.events,
  2541. m = B(f, ['events']),
  2542. g = M(tt(m, 'components').getOr([]), Tu),
  2543. p = lt(lt({}, m), { events: lt(lt({}, cu), d), components: g })
  2544. return Ve.value(
  2545. ((n = Po(vu)),
  2546. (o = co(ao('custom.definition', Cu, (e = p)))),
  2547. (r = ti(e)),
  2548. (i = r.list),
  2549. (u = r.data),
  2550. (a = (function (t) {
  2551. var n = At.fromTag(t.tag)
  2552. rn(n, t.attributes),
  2553. Jr(n, t.classes),
  2554. mn(n, t.styles),
  2555. t.innerHtml.each(function (t) {
  2556. return Ar(n, t)
  2557. })
  2558. var e = t.domChildren
  2559. return (
  2560. An(n, e),
  2561. t.value.each(function (t) {
  2562. Zr(n, t)
  2563. }),
  2564. t.uid,
  2565. gu(n, t.uid),
  2566. n
  2567. )
  2568. })(ni(o, i, u))),
  2569. (c = ei(o, i, u)),
  2570. (s = Po(o.components)),
  2571. (l = {
  2572. uid: e.uid,
  2573. getSystem: n.get,
  2574. config: function (t) {
  2575. var n = u
  2576. return (
  2577. S(n[t.name()])
  2578. ? n[t.name()]
  2579. : function () {
  2580. throw new Error(
  2581. 'Could not find ' +
  2582. t.name() +
  2583. ' in ' +
  2584. JSON.stringify(e, null, 2)
  2585. )
  2586. }
  2587. )()
  2588. },
  2589. hasConfigured: function (t) {
  2590. return S(u[t.name()])
  2591. },
  2592. spec: e,
  2593. readState: function (t) {
  2594. return u[t]()
  2595. .map(function (t) {
  2596. return t.state.readState()
  2597. })
  2598. .getOr('not enabled')
  2599. },
  2600. getApis: function () {
  2601. return o.apis
  2602. },
  2603. connect: function (t) {
  2604. n.set(t)
  2605. },
  2606. disconnect: function () {
  2607. n.set(Vr(h))
  2608. },
  2609. element: a,
  2610. syncComponents: function () {
  2611. var t = z(Kt(a), function (t) {
  2612. return n
  2613. .get()
  2614. .getByDom(t)
  2615. .fold(function () {
  2616. return []
  2617. }, j)
  2618. })
  2619. s.set(t)
  2620. },
  2621. components: s.get,
  2622. events: c,
  2623. }))
  2624. )
  2625. function h() {
  2626. return l
  2627. }
  2628. }
  2629. function ri(t) {
  2630. var n = At.fromText(t)
  2631. return Ou({ element: n })
  2632. }
  2633. Ho([
  2634. { bothErrors: ['error1', 'error2'] },
  2635. { firstError: ['error1', 'value2'] },
  2636. { secondError: ['value1', 'error2'] },
  2637. { bothValues: ['value1', 'value2'] },
  2638. ])
  2639. var ii,
  2640. ui,
  2641. ai = { can: D, abort: T, run: st },
  2642. ci = rt,
  2643. si = ci('touchstart'),
  2644. li = ci('touchmove'),
  2645. fi = ci('touchend'),
  2646. di = ci('touchcancel'),
  2647. mi = ci('mousedown'),
  2648. gi = ci('mousemove'),
  2649. pi = ci('mouseout'),
  2650. hi = ci('mouseup'),
  2651. vi = ci('mouseover'),
  2652. bi = ci('focusin'),
  2653. yi = ci('focusout'),
  2654. xi = ci('keydown'),
  2655. wi = ci('keyup'),
  2656. Si = ci('input'),
  2657. ki = ci('change'),
  2658. Ci = ci('click'),
  2659. Oi = ci('transitioncancel'),
  2660. _i = ci('transitionend'),
  2661. Ti = ci('transitionstart'),
  2662. Ei = ci('selectstart'),
  2663. Di = { tap: hr('tap') },
  2664. Bi = hr('focus'),
  2665. Mi = hr('blur.post'),
  2666. Ai = hr('paste.post'),
  2667. Fi = hr('receive'),
  2668. Ii = hr('execute'),
  2669. Ri = hr('focus.item'),
  2670. Vi = Di.tap,
  2671. Pi = hr('longpress'),
  2672. Hi = hr('sandbox.close'),
  2673. zi = hr('typeahead.cancel'),
  2674. Ni = hr('system.init'),
  2675. Li = hr('system.touchmove'),
  2676. Wi = hr('system.touchend'),
  2677. Ui = hr('system.scroll'),
  2678. ji = hr('system.resize'),
  2679. Gi = hr('system.attached'),
  2680. Xi = hr('system.detached'),
  2681. Yi = hr('system.dismissRequested'),
  2682. qi = hr('system.repositionRequested'),
  2683. Ki = hr('focusmanager.shifted'),
  2684. Ji = hr('slotcontainer.visibility'),
  2685. $i = hr('change.tab'),
  2686. Qi = hr('dismiss.tab'),
  2687. Zi = hr('highlight'),
  2688. tu = hr('dehighlight'),
  2689. nu = function (t, n, e, o) {
  2690. var r = lt({ target: n }, o)
  2691. t.getSystem().triggerEvent(e, n, r)
  2692. },
  2693. eu = lr,
  2694. ou = _r(Gi()),
  2695. ru = _r(Xi()),
  2696. iu = _r(Ni()),
  2697. uu =
  2698. ((ii = Ii()),
  2699. function (t) {
  2700. return Cr(ii, t)
  2701. }),
  2702. au = eu([
  2703. {
  2704. key: Bi(),
  2705. value: pr({
  2706. can: function (t, n) {
  2707. var e,
  2708. o = n.event,
  2709. r = o.originator,
  2710. i = o.target
  2711. return !(
  2712. Lt((e = r), t.element) &&
  2713. !Lt(e, i) &&
  2714. (console.warn(
  2715. Bi() +
  2716. ' did not get interpreted by the desired target. \nOriginator: ' +
  2717. Fr(r) +
  2718. '\nTarget: ' +
  2719. Fr(i) +
  2720. '\nCheck the ' +
  2721. Bi() +
  2722. ' event handlers'
  2723. ),
  2724. 1)
  2725. )
  2726. },
  2727. }),
  2728. },
  2729. ]),
  2730. cu = Object.freeze({ __proto__: null, events: au }),
  2731. su = 0,
  2732. lu = rt('alloy-id-'),
  2733. fu = rt('data-alloy-id'),
  2734. du = lu(),
  2735. mu = fu(),
  2736. gu = function (t, n) {
  2737. Object.defineProperty(t.dom, mu, { value: n, writable: !0 })
  2738. },
  2739. pu = Ir,
  2740. hu = h,
  2741. vu = Vr(),
  2742. bu = function (t) {
  2743. return M(t, function (t) {
  2744. return Bt(t, '/*') ? t.substring(0, t.length - '/*'.length) : t
  2745. })
  2746. },
  2747. yu = Ir('alloy-premade'),
  2748. xu = {
  2749. init: function () {
  2750. return wu({ readState: rt('No State required') })
  2751. },
  2752. },
  2753. wu = function (t) {
  2754. return t
  2755. },
  2756. Su = function (t, a) {
  2757. var n,
  2758. e,
  2759. o,
  2760. r,
  2761. i,
  2762. u,
  2763. c = $(t, function (r, u) {
  2764. return (1 === r.length ? Ve.value(r[0].handler) : jr(r, a, u)).map(
  2765. function (t) {
  2766. var n,
  2767. i,
  2768. e =
  2769. ((i = S((n = t)) ? { can: D, abort: T, run: n } : n),
  2770. function (t, n) {
  2771. for (var e = [], o = 2; o < arguments.length; o++)
  2772. e[o - 2] = arguments[o]
  2773. var r = [t, n].concat(e)
  2774. i.abort.apply(void 0, r)
  2775. ? n.stop()
  2776. : i.can.apply(void 0, r) && i.run.apply(void 0, r)
  2777. }),
  2778. o =
  2779. 1 < r.length
  2780. ? F(a[u], function (n) {
  2781. return d(r, function (t) {
  2782. return t.name === n
  2783. })
  2784. }).join(' > ')
  2785. : r[0].name
  2786. return sr(u, { handler: e, purpose: o })
  2787. }
  2788. )
  2789. })
  2790. return (
  2791. (n = {}),
  2792. (e = []),
  2793. (o = []),
  2794. St(c, function (t) {
  2795. t.fold(
  2796. function (t) {
  2797. e.push(t)
  2798. },
  2799. function (t) {
  2800. o.push(t)
  2801. }
  2802. )
  2803. }),
  2804. 0 < (u = { errors: e, values: o }).errors.length
  2805. ? Ve.error(ft(u.errors))
  2806. : ((i = n),
  2807. 0 === (r = u.values).length
  2808. ? Ve.value(i)
  2809. : Ve.value(Yo(i, qo.apply(void 0, r))))
  2810. )
  2811. },
  2812. ku = 'alloy.base.behaviour',
  2813. Cu = $o([
  2814. ar(
  2815. 'dom',
  2816. 'dom',
  2817. Ue(),
  2818. $o([
  2819. mo('tag'),
  2820. Eo('styles', {}),
  2821. Eo('classes', []),
  2822. Eo('attributes', {}),
  2823. wo('value'),
  2824. wo('innerHtml'),
  2825. ])
  2826. ),
  2827. mo('components'),
  2828. mo('uid'),
  2829. Eo('events', {}),
  2830. Eo('apis', {}),
  2831. ar(
  2832. 'eventOrder',
  2833. 'eventOrder',
  2834. (((ui = {})[Ii()] = ['disabling', ku, 'toggling', 'typeaheadevents']),
  2835. (ui[Bi()] = [ku, 'focusing', 'keying']),
  2836. (ui[Ni()] = [ku, 'disabling', 'toggling', 'representing']),
  2837. (ui[Si()] = [ku, 'representing', 'streaming', 'invalidating']),
  2838. (ui[Xi()] = [ku, 'representing', 'item-events', 'tooltipping']),
  2839. (ui[mi()] = ['focusing', ku, 'item-type-events']),
  2840. (ui[si()] = ['focusing', ku, 'item-type-events']),
  2841. (ui[vi()] = ['item-type-events', 'tooltipping']),
  2842. (ui[Fi()] = ['receiving', 'reflecting', 'tooltipping']),
  2843. Ye(rt(ui))),
  2844. Zo()
  2845. ),
  2846. wo('domModification'),
  2847. ]),
  2848. Ou = function (t) {
  2849. var n = so('external.component', to([mo('element'), wo('uid')]), t),
  2850. e = Po(Vr()),
  2851. o = n.uid.getOrThunk(function () {
  2852. return pu('external')
  2853. })
  2854. gu(n.element, o)
  2855. var r = {
  2856. uid: o,
  2857. getSystem: e.get,
  2858. config: vt.none,
  2859. hasConfigured: T,
  2860. connect: function (t) {
  2861. e.set(t)
  2862. },
  2863. disconnect: function () {
  2864. e.set(
  2865. Vr(function () {
  2866. return r
  2867. })
  2868. )
  2869. },
  2870. getApis: function () {
  2871. return {}
  2872. },
  2873. element: n.element,
  2874. spec: t,
  2875. readState: rt('No state'),
  2876. syncComponents: st,
  2877. components: rt([]),
  2878. events: {},
  2879. }
  2880. return Hr(r)
  2881. },
  2882. _u = pu,
  2883. Tu = function (t) {
  2884. return tt(t, yu).getOrThunk(function () {
  2885. return oi(Tt(t, 'uid') ? t : lt({ uid: _u('') }, t)).getOrDie()
  2886. })
  2887. },
  2888. Eu = Hr
  2889. function Du(t, n, e, o, r) {
  2890. return t(e, o) ? vt.some(e) : S(r) && r(e) ? vt.none() : n(e, o, r)
  2891. }
  2892. function Bu(t, n, e) {
  2893. for (var o = t.dom, r = S(e) ? e : T; o.parentNode; ) {
  2894. var o = o.parentNode,
  2895. i = At.fromDom(o)
  2896. if (n(i)) return vt.some(i)
  2897. if (r(i)) break
  2898. }
  2899. return vt.none()
  2900. }
  2901. function Mu(t, n, e) {
  2902. return Du(
  2903. function (t, n) {
  2904. return n(t)
  2905. },
  2906. Bu,
  2907. t,
  2908. n,
  2909. e
  2910. )
  2911. }
  2912. function Au(t, n, e) {
  2913. return Mu(t, n, e).isSome()
  2914. }
  2915. function Fu(t, n, e) {
  2916. return Bu(
  2917. t,
  2918. function (t) {
  2919. return zt(t, n)
  2920. },
  2921. e
  2922. )
  2923. }
  2924. function Iu(t, n) {
  2925. return (
  2926. (e = n),
  2927. Nt((o = void 0 === t ? document : t.dom))
  2928. ? vt.none()
  2929. : vt.from(o.querySelector(e)).map(At.fromDom)
  2930. )
  2931. var e, o
  2932. }
  2933. function Ru(t, n, e) {
  2934. return Du(zt, Fu, t, n, e)
  2935. }
  2936. function Vu() {
  2937. var n = Ir('aria-owns')
  2938. return {
  2939. id: n,
  2940. link: function (t) {
  2941. on(t, 'aria-owns', n)
  2942. },
  2943. unlink: function (t) {
  2944. sn(t, 'aria-owns')
  2945. },
  2946. }
  2947. }
  2948. var Pu,
  2949. Hu,
  2950. zu = function (n, t) {
  2951. return (
  2952. Au(
  2953. t,
  2954. function (t) {
  2955. return Lt(t, n.element)
  2956. },
  2957. T
  2958. ) ||
  2959. ((e = n),
  2960. Mu(t, function (t) {
  2961. if (!Xn(t)) return !1
  2962. var n = un(t, 'id')
  2963. return void 0 !== n && -1 < n.indexOf('aria-owns')
  2964. })
  2965. .bind(function (t) {
  2966. var n = un(t, 'id')
  2967. return Iu(ge(t), '[aria-owns="' + n + '"]')
  2968. })
  2969. .exists(function (t) {
  2970. return zu(e, t)
  2971. }))
  2972. )
  2973. var e
  2974. },
  2975. Nu = 'unknown'
  2976. function Lu(n, t, e) {
  2977. var o, r, i, u
  2978. switch (
  2979. tt(Wu.get(), n)
  2980. .orThunk(function () {
  2981. return K(Ct(Wu.get()), function (t) {
  2982. return -1 < n.indexOf(t) ? vt.some(Wu.get()[t]) : vt.none()
  2983. })
  2984. })
  2985. .getOr(Pu.NORMAL)
  2986. ) {
  2987. case Pu.NORMAL:
  2988. return e(ju())
  2989. case Pu.LOGGING:
  2990. var a =
  2991. ((o = n),
  2992. (r = t),
  2993. (i = []),
  2994. (u = new Date().getTime()),
  2995. {
  2996. logEventCut: function (t, n, e) {
  2997. i.push({ outcome: 'cut', target: n, purpose: e })
  2998. },
  2999. logEventStopped: function (t, n, e) {
  3000. i.push({ outcome: 'stopped', target: n, purpose: e })
  3001. },
  3002. logNoParent: function (t, n, e) {
  3003. i.push({ outcome: 'no-parent', target: n, purpose: e })
  3004. },
  3005. logEventNoHandlers: function (t, n) {
  3006. i.push({ outcome: 'no-handlers-left', target: n })
  3007. },
  3008. logEventResponse: function (t, n, e) {
  3009. i.push({ outcome: 'response', purpose: e, target: n })
  3010. },
  3011. write: function () {
  3012. var t = new Date().getTime()
  3013. wt(['mousemove', 'mouseover', 'mouseout', Ni()], o) ||
  3014. console.log(o, {
  3015. event: o,
  3016. time: t - u,
  3017. target: r.dom,
  3018. sequence: M(i, function (t) {
  3019. return wt(['cut', 'stopped', 'response'], t.outcome)
  3020. ? '{' +
  3021. t.purpose +
  3022. '} ' +
  3023. t.outcome +
  3024. ' at (' +
  3025. Fr(t.target) +
  3026. ')'
  3027. : t.outcome
  3028. }),
  3029. })
  3030. },
  3031. }),
  3032. c = e(a)
  3033. return a.write(), c
  3034. case Pu.STOP:
  3035. return !0
  3036. }
  3037. }
  3038. ;((Hu = Pu = Pu || {})[(Hu.STOP = 0)] = 'STOP'),
  3039. (Hu[(Hu.NORMAL = 1)] = 'NORMAL'),
  3040. (Hu[(Hu.LOGGING = 2)] = 'LOGGING')
  3041. var Wu = Po({}),
  3042. Uu = ['alloy/data/Fields', 'alloy/debugging/Debugging'],
  3043. ju = rt({
  3044. logEventCut: st,
  3045. logEventStopped: st,
  3046. logNoParent: st,
  3047. logEventNoHandlers: st,
  3048. logEventResponse: st,
  3049. write: st,
  3050. }),
  3051. Gu = rt([mo('menu'), mo('selectedMenu')]),
  3052. Xu = rt([mo('item'), mo('selectedItem')])
  3053. function Yu() {
  3054. return bo('markers', [mo('backgroundMenu')].concat(Gu()).concat(Xu()))
  3055. }
  3056. function qu(t) {
  3057. return bo('markers', M(t, mo))
  3058. }
  3059. function Ku(t, n, e) {
  3060. return (
  3061. void 0 !== (o = new Error()).stack &&
  3062. V(o.stack.split('\n'), function (n) {
  3063. return (
  3064. 0 < n.indexOf('alloy') &&
  3065. !d(Uu, function (t) {
  3066. return -1 < n.indexOf(t)
  3067. })
  3068. )
  3069. }).getOr(Nu),
  3070. ar(
  3071. n,
  3072. n,
  3073. e,
  3074. io(function (e) {
  3075. return Ve.value(function () {
  3076. for (var t = [], n = 0; n < arguments.length; n++)
  3077. t[n] = arguments[n]
  3078. return e.apply(void 0, t)
  3079. })
  3080. })
  3081. )
  3082. )
  3083. var o
  3084. }
  3085. function Ju(t) {
  3086. return Ku(0, t, Ge(st))
  3087. }
  3088. function $u(t) {
  3089. return Ku(0, t, Ge(vt.none))
  3090. }
  3091. function Qu(t) {
  3092. return Ku(0, t, Ue())
  3093. }
  3094. function Zu(t) {
  3095. return Ku(0, t, Ue())
  3096. }
  3097. function ta(t, n) {
  3098. return cr(t, rt(n))
  3099. }
  3100. function na(t) {
  3101. return cr(t, h)
  3102. }
  3103. function ea(t, n, e, o, r, i, u, a) {
  3104. return {
  3105. x: t,
  3106. y: n,
  3107. bubble: e,
  3108. direction: o,
  3109. placement: r,
  3110. restriction: i,
  3111. label: u + '-' + r,
  3112. alwaysFit: (a = void 0 !== a && a),
  3113. }
  3114. }
  3115. function oa(t, n, e, o) {
  3116. var r = t + n
  3117. return o < r ? e : r < e ? o : r
  3118. }
  3119. function ra(e, n) {
  3120. return U(['left', 'right', 'top', 'bottom'], function (t) {
  3121. return tt(n, t).map(function (n) {
  3122. return (function (t) {
  3123. switch (n) {
  3124. case 1:
  3125. return t.x
  3126. case 0:
  3127. return t.x + t.width
  3128. case 2:
  3129. return t.y
  3130. case 3:
  3131. return t.y + t.height
  3132. }
  3133. })(e)
  3134. })
  3135. })
  3136. }
  3137. function ia(t, n) {
  3138. return t.x + t.width / 2 - n.width / 2
  3139. }
  3140. function ua(t, n) {
  3141. return t.x + t.width - n.width
  3142. }
  3143. function aa(t, n) {
  3144. return t.y - n.height
  3145. }
  3146. function ca(t) {
  3147. return t.y + t.height
  3148. }
  3149. function sa(t, n) {
  3150. return t.y + t.height / 2 - n.height / 2
  3151. }
  3152. function la(t, n, e) {
  3153. return ea(
  3154. t.x + t.width,
  3155. sa(t, n),
  3156. e.east(),
  3157. Wa(),
  3158. 'east',
  3159. ra(t, { left: 0 }),
  3160. Ga
  3161. )
  3162. }
  3163. function fa(t, n, e) {
  3164. return ea(
  3165. t.x - n.width,
  3166. sa(t, n),
  3167. e.west(),
  3168. Ua(),
  3169. 'west',
  3170. ra(t, { right: 1 }),
  3171. Ga
  3172. )
  3173. }
  3174. function da() {
  3175. return [Xa, Ya, qa, Ka, $a, Ja, la, fa]
  3176. }
  3177. function ma() {
  3178. return [Ya, Xa, Ka, qa, $a, Ja, la, fa]
  3179. }
  3180. function ga() {
  3181. return [qa, Ka, Xa, Ya, Ja, $a]
  3182. }
  3183. function pa() {
  3184. return [Ka, qa, Ya, Xa, Ja, $a]
  3185. }
  3186. function ha() {
  3187. return [Xa, Ya, qa, Ka, $a, Ja]
  3188. }
  3189. function va() {
  3190. return [Ya, Xa, Ka, qa, $a, Ja]
  3191. }
  3192. function ba(e, o, r) {
  3193. return iu(function (t, n) {
  3194. r(t, e, o)
  3195. })
  3196. }
  3197. function ya(t) {
  3198. return { key: t, value: void 0 }
  3199. }
  3200. function xa(t) {
  3201. var n,
  3202. e,
  3203. o,
  3204. r,
  3205. i,
  3206. u,
  3207. a,
  3208. c,
  3209. s = so('Creating behaviour: ' + t.name, ec, t)
  3210. return (
  3211. (n = s.fields),
  3212. (e = s.name),
  3213. (o = s.active),
  3214. (r = s.apis),
  3215. (i = s.extra),
  3216. (u = s.state),
  3217. (a = to(n)),
  3218. (c = To(e, [So('config', to(n))])),
  3219. tc(a, c, e, o, r, i, u)
  3220. )
  3221. }
  3222. function wa(t) {
  3223. var n,
  3224. e = so('Creating behaviour: ' + t.name, oc, t),
  3225. o = lo(e.branchKey, e.branches),
  3226. r = e.name,
  3227. i = e.active,
  3228. u = e.apis,
  3229. a = e.extra,
  3230. c = e.state,
  3231. s = To(r, [So('config', (n = o))])
  3232. return tc(n, s, r, i, u, a, c)
  3233. }
  3234. function Sa() {
  3235. return At.fromDom(document)
  3236. }
  3237. function ka(t) {
  3238. return t.dom.focus()
  3239. }
  3240. function Ca(t) {
  3241. var n = ge(t).dom
  3242. return t.dom === n.activeElement
  3243. }
  3244. function Oa(t) {
  3245. return (
  3246. void 0 === t && (t = Sa()), vt.from(t.dom.activeElement).map(At.fromDom)
  3247. )
  3248. }
  3249. function _a(n) {
  3250. return Oa(ge(n)).filter(function (t) {
  3251. return n.dom.contains(t.dom)
  3252. })
  3253. }
  3254. function Ta(t, e) {
  3255. var o = ge(e),
  3256. n = Oa(o).bind(function (n) {
  3257. function t(t) {
  3258. return Lt(n, t)
  3259. }
  3260. var r, i
  3261. return t(e)
  3262. ? vt.some(e)
  3263. : ((r = t),
  3264. (i = function (t) {
  3265. for (var n = 0; n < t.childNodes.length; n++) {
  3266. var e = At.fromDom(t.childNodes[n])
  3267. if (r(e)) return vt.some(e)
  3268. var o = i(t.childNodes[n])
  3269. if (o.isSome()) return o
  3270. }
  3271. return vt.none()
  3272. })(e.dom))
  3273. }),
  3274. r = t(e)
  3275. return (
  3276. n.each(function (n) {
  3277. Oa(o)
  3278. .filter(function (t) {
  3279. return Lt(t, n)
  3280. })
  3281. .fold(function () {
  3282. ka(n)
  3283. }, st)
  3284. }),
  3285. r
  3286. )
  3287. }
  3288. function Ea(t, n, e, o, r) {
  3289. function i(t) {
  3290. return t + 'px'
  3291. }
  3292. return {
  3293. position: t,
  3294. left: n.map(i),
  3295. top: e.map(i),
  3296. right: o.map(i),
  3297. bottom: r.map(i),
  3298. }
  3299. }
  3300. function Da(t, n) {
  3301. var e
  3302. gn(t, lt(lt({}, (e = n)), { position: vt.some(e.position) }))
  3303. }
  3304. function Ba(t, n, e, o, r, i) {
  3305. var u = n.rect,
  3306. a = u.x - e,
  3307. c = u.y - o,
  3308. s = r - (a + u.width),
  3309. l = i - (c + u.height),
  3310. f = vt.some(a),
  3311. d = vt.some(c),
  3312. m = vt.some(s),
  3313. g = vt.some(l),
  3314. p = vt.none()
  3315. return n.direction.fold(
  3316. function () {
  3317. return Ea(t, f, d, p, p)
  3318. },
  3319. function () {
  3320. return Ea(t, p, d, m, p)
  3321. },
  3322. function () {
  3323. return Ea(t, f, p, p, g)
  3324. },
  3325. function () {
  3326. return Ea(t, p, p, m, g)
  3327. },
  3328. function () {
  3329. return Ea(t, f, d, p, p)
  3330. },
  3331. function () {
  3332. return Ea(t, f, p, p, g)
  3333. },
  3334. function () {
  3335. return Ea(t, f, d, p, p)
  3336. },
  3337. function () {
  3338. return Ea(t, p, d, m, p)
  3339. }
  3340. )
  3341. }
  3342. function Ma(t, r) {
  3343. return t.fold(
  3344. function () {
  3345. var t = r.rect
  3346. return Ea('absolute', vt.some(t.x), vt.some(t.y), vt.none(), vt.none())
  3347. },
  3348. function (t, n, e, o) {
  3349. return Ba('absolute', r, t, n, e, o)
  3350. },
  3351. function (t, n, e, o) {
  3352. return Ba('fixed', r, t, n, e, o)
  3353. }
  3354. )
  3355. }
  3356. function Aa(t, n) {
  3357. var e = C(zn, n),
  3358. o = t.fold(e, e, function () {
  3359. var t = Rn()
  3360. return zn(n).translate(-t.left, -t.top)
  3361. }),
  3362. r = _n(n),
  3363. i = Sn(n)
  3364. return Me(o.left, o.top, r, i)
  3365. }
  3366. rt($o(Xu().concat(Gu())))
  3367. var Fa = rt($o(Xu())),
  3368. Ia = rt(bo('initSize', [mo('numColumns'), mo('numRows')])),
  3369. Ra = Ho([
  3370. { southeast: [] },
  3371. { southwest: [] },
  3372. { northeast: [] },
  3373. { northwest: [] },
  3374. { south: [] },
  3375. { north: [] },
  3376. { east: [] },
  3377. { west: [] },
  3378. ]),
  3379. Va = Ra.southeast,
  3380. Pa = Ra.southwest,
  3381. Ha = Ra.northeast,
  3382. za = Ra.northwest,
  3383. Na = Ra.south,
  3384. La = Ra.north,
  3385. Wa = Ra.east,
  3386. Ua = Ra.west,
  3387. ja = function (t, n, e) {
  3388. return Math.min(Math.max(t, n), e)
  3389. },
  3390. Ga = 'layout',
  3391. Xa = function (t, n, e) {
  3392. return ea(
  3393. t.x,
  3394. ca(t),
  3395. e.southeast(),
  3396. Va(),
  3397. 'southeast',
  3398. ra(t, { left: 1, top: 3 }),
  3399. Ga
  3400. )
  3401. },
  3402. Ya = function (t, n, e) {
  3403. return ea(
  3404. ua(t, n),
  3405. ca(t),
  3406. e.southwest(),
  3407. Pa(),
  3408. 'southwest',
  3409. ra(t, { right: 0, top: 3 }),
  3410. Ga
  3411. )
  3412. },
  3413. qa = function (t, n, e) {
  3414. return ea(
  3415. t.x,
  3416. aa(t, n),
  3417. e.northeast(),
  3418. Ha(),
  3419. 'northeast',
  3420. ra(t, { left: 1, bottom: 2 }),
  3421. Ga
  3422. )
  3423. },
  3424. Ka = function (t, n, e) {
  3425. return ea(
  3426. ua(t, n),
  3427. aa(t, n),
  3428. e.northwest(),
  3429. za(),
  3430. 'northwest',
  3431. ra(t, { right: 0, bottom: 2 }),
  3432. Ga
  3433. )
  3434. },
  3435. Ja = function (t, n, e) {
  3436. return ea(
  3437. ia(t, n),
  3438. aa(t, n),
  3439. e.north(),
  3440. La(),
  3441. 'north',
  3442. ra(t, { bottom: 2 }),
  3443. Ga
  3444. )
  3445. },
  3446. $a = function (t, n, e) {
  3447. return ea(
  3448. ia(t, n),
  3449. ca(t),
  3450. e.south(),
  3451. Na(),
  3452. 'south',
  3453. ra(t, { top: 3 }),
  3454. Ga
  3455. )
  3456. },
  3457. Qa = Object.freeze({
  3458. __proto__: null,
  3459. events: function (a) {
  3460. return eu([
  3461. Cr(Fi(), function (r, t) {
  3462. var n,
  3463. i = a.channels,
  3464. e = Ct(i),
  3465. u = t,
  3466. o = (n = u).universal
  3467. ? e
  3468. : F(e, function (t) {
  3469. return wt(n.channels, t)
  3470. })
  3471. St(o, function (t) {
  3472. var n = i[t],
  3473. e = n.schema,
  3474. o = so(
  3475. 'channel[' + t + '] data\nReceiver: ' + Fr(r.element),
  3476. e,
  3477. u.data
  3478. )
  3479. n.onReceive(r, o)
  3480. })
  3481. }),
  3482. ])
  3483. },
  3484. }),
  3485. Za = [
  3486. go('channels', uo(Ve.value, to([Qu('onReceive'), Eo('schema', Zo())]))),
  3487. ],
  3488. tc = function (e, t, f, n, o, r, i) {
  3489. function u(t) {
  3490. return nt(t, f) ? t[f]() : vt.none()
  3491. }
  3492. var a = dt(o, function (t, n) {
  3493. return (
  3494. (r = f),
  3495. (e = function (e) {
  3496. for (var t = [], n = 1; n < arguments.length; n++)
  3497. t[n - 1] = arguments[n]
  3498. var o = [e].concat(t)
  3499. return e.config({ name: rt(r) }).fold(
  3500. function () {
  3501. throw new Error(
  3502. 'We could not find any behaviour configuration for: ' +
  3503. r +
  3504. '. Using API: ' +
  3505. u
  3506. )
  3507. },
  3508. function (t) {
  3509. var n = Array.prototype.slice.call(o, 1)
  3510. return i.apply(void 0, [e, t.config, t.state].concat(n))
  3511. }
  3512. )
  3513. }),
  3514. (o = u = n),
  3515. (a = (i = t).toString()),
  3516. (c = a.indexOf(')') + 1),
  3517. (s = a.indexOf('(')),
  3518. (l = a.substring(s + 1, c - 1).split(/,\s*/)),
  3519. (e.toFunctionAnnotation = function () {
  3520. return {
  3521. name: o,
  3522. parameters: bu(l.slice(0, 1).concat(l.slice(3))),
  3523. }
  3524. }),
  3525. e
  3526. )
  3527. var r, i, u, e, o, a, c, s, l
  3528. }),
  3529. c = dt(r, Pr),
  3530. s = lt(lt(lt({}, c), a), {
  3531. revoke: C(ya, f),
  3532. config: function (t) {
  3533. var n = so(f + '-config', e, t)
  3534. return {
  3535. key: f,
  3536. value: {
  3537. config: n,
  3538. me: s,
  3539. configAsRaw: Rt(function () {
  3540. return so(f + '-config', e, t)
  3541. }),
  3542. initialConfig: t,
  3543. state: i,
  3544. },
  3545. }
  3546. },
  3547. schema: rt(t),
  3548. exhibit: function (t, e) {
  3549. return Et(u(t), tt(n, 'exhibit'), function (t, n) {
  3550. return n(e, t.config, t.state)
  3551. }).getOrThunk(function () {
  3552. return Lr({})
  3553. })
  3554. },
  3555. name: rt(f),
  3556. handlers: function (t) {
  3557. return u(t)
  3558. .map(function (t) {
  3559. return tt(n, 'events').getOr(function () {
  3560. return {}
  3561. })(t.config, t.state)
  3562. })
  3563. .getOr({})
  3564. },
  3565. })
  3566. return s
  3567. },
  3568. nc = lr,
  3569. ec = to([
  3570. mo('fields'),
  3571. mo('name'),
  3572. Eo('active', {}),
  3573. Eo('apis', {}),
  3574. Eo('state', xu),
  3575. Eo('extra', {}),
  3576. ]),
  3577. oc = to([
  3578. mo('branchKey'),
  3579. mo('branches'),
  3580. mo('name'),
  3581. Eo('active', {}),
  3582. Eo('apis', {}),
  3583. Eo('state', xu),
  3584. Eo('extra', {}),
  3585. ]),
  3586. rc = rt(void 0),
  3587. ic = xa({ fields: Za, name: 'receiving', active: Qa }),
  3588. uc = Object.freeze({
  3589. __proto__: null,
  3590. exhibit: function (t, n) {
  3591. return Lr({
  3592. classes: [],
  3593. styles: n.useFixed() ? {} : { position: 'relative' },
  3594. })
  3595. },
  3596. }),
  3597. ac = Ho([
  3598. { none: [] },
  3599. { relative: ['x', 'y', 'width', 'height'] },
  3600. { fixed: ['x', 'y', 'width', 'height'] },
  3601. ]),
  3602. cc = function (t, n, e) {
  3603. var o = ke(n, e)
  3604. return t.fold(rt(o), rt(o), function () {
  3605. var t = Rn()
  3606. return o.translate(-t.left, -t.top)
  3607. })
  3608. }
  3609. function sc(t) {
  3610. return an(t, Dc)
  3611. }
  3612. function lc(t, n, e, o) {
  3613. var r,
  3614. i,
  3615. u,
  3616. a,
  3617. c,
  3618. s,
  3619. l,
  3620. f,
  3621. d,
  3622. m,
  3623. g,
  3624. p,
  3625. h,
  3626. v,
  3627. b,
  3628. y,
  3629. x,
  3630. w,
  3631. S,
  3632. k,
  3633. C,
  3634. O,
  3635. _,
  3636. T,
  3637. E,
  3638. D,
  3639. B,
  3640. M,
  3641. A,
  3642. F,
  3643. I,
  3644. R,
  3645. V,
  3646. P,
  3647. H,
  3648. z,
  3649. N,
  3650. L,
  3651. W,
  3652. U = t.bubble,
  3653. j = U.offset,
  3654. G =
  3655. ((V = o),
  3656. (P = t.restriction),
  3657. (H = j),
  3658. (z = ot('left', V.x)),
  3659. (N = ot('top', V.y)),
  3660. (L = ot('right', V.right)),
  3661. (W = ot('bottom', V.bottom)),
  3662. Me(z, N, L - z, W - N)),
  3663. X = t.x + j.left,
  3664. Y = t.y + j.top,
  3665. q = Me(X, Y, n, e),
  3666. K =
  3667. ((r = G.x),
  3668. (i = G.y),
  3669. (u = G.right),
  3670. (a = G.bottom),
  3671. (c = q.x),
  3672. (s = q.y),
  3673. (l = q.right),
  3674. (f = q.bottom),
  3675. (d = q.width),
  3676. (m = q.height),
  3677. {
  3678. originInBounds: r <= c && c <= u && i <= s && s <= a,
  3679. sizeInBounds: l <= u && r <= l && f <= a && i <= f,
  3680. visibleW: Math.min(d, r <= c ? u - c : l - r),
  3681. visibleH: Math.min(m, i <= s ? a - s : f - i),
  3682. }),
  3683. J = K.visibleW,
  3684. $ = K.visibleH,
  3685. Q = K.originInBounds && K.sizeInBounds,
  3686. Z = Q
  3687. ? q
  3688. : ((g = G.x),
  3689. (p = G.y),
  3690. (h = G.right),
  3691. (v = G.bottom),
  3692. (b = q.x),
  3693. (y = q.y),
  3694. (x = q.width),
  3695. (w = q.height),
  3696. (S = Math.max(g, h - x)),
  3697. (k = Math.max(p, v - w)),
  3698. (C = ja(b, g, S)),
  3699. (O = ja(y, p, k)),
  3700. (_ = Math.min(C + x, h) - C),
  3701. (T = Math.min(O + w, v) - O),
  3702. Me(C, O, _, T)),
  3703. tt = 0 < Z.width && 0 < Z.height,
  3704. nt =
  3705. ((E = t.direction),
  3706. (M = rt((D = Z).bottom - (B = o).y)),
  3707. (A = rt(B.bottom - D.y)),
  3708. (F = E.fold(A, A, M, M, A, M, A, A)),
  3709. (I = rt(D.right - B.x)),
  3710. (R = rt(B.right - D.x)),
  3711. { maxWidth: E.fold(R, I, R, I, R, R, R, I), maxHeight: F }),
  3712. et = {
  3713. rect: Z,
  3714. maxHeight: nt.maxHeight,
  3715. maxWidth: nt.maxWidth,
  3716. direction: t.direction,
  3717. placement: t.placement,
  3718. classes: { on: U.classesOn, off: U.classesOff },
  3719. layout: t.label,
  3720. testY: Y,
  3721. }
  3722. function ot(r, i) {
  3723. return P[r]
  3724. .map(function (t) {
  3725. var n = 'top' === r || 'bottom' === r,
  3726. e = n ? H.top : H.left,
  3727. o = ('left' === r || 'top' === r ? Math.max : Math.min)(t, i) + e
  3728. return n ? ja(o, V.y, V.bottom) : ja(o, V.x, V.right)
  3729. })
  3730. .getOr(i)
  3731. }
  3732. return Q || t.alwaysFit ? Bc.fit(et) : Bc.nofit(et, J, $, tt)
  3733. }
  3734. function fc(t) {
  3735. function n() {
  3736. return e.get().each(t)
  3737. }
  3738. var e = Po(vt.none())
  3739. return {
  3740. clear: function () {
  3741. n(), e.set(vt.none())
  3742. },
  3743. isSet: function () {
  3744. return e.get().isSome()
  3745. },
  3746. get: function () {
  3747. return e.get()
  3748. },
  3749. set: function (t) {
  3750. n(), e.set(vt.some(t))
  3751. },
  3752. }
  3753. }
  3754. function dc() {
  3755. return fc(function (t) {
  3756. return t.destroy()
  3757. })
  3758. }
  3759. function mc() {
  3760. return fc(function (t) {
  3761. return t.unbind()
  3762. })
  3763. }
  3764. function gc() {
  3765. var n = fc(st)
  3766. return lt(lt({}, n), {
  3767. on: function (t) {
  3768. return n.get().each(t)
  3769. },
  3770. })
  3771. }
  3772. function pc(t, n, e) {
  3773. return En(t, n, Mc, e, !1)
  3774. }
  3775. function hc(t, n, e) {
  3776. return En(t, n, Mc, e, !0)
  3777. }
  3778. function vc(o, e) {
  3779. function r(t) {
  3780. var n,
  3781. e = null !== (n = t.raw.pseudoElement) && void 0 !== n ? n : ''
  3782. return Lt(t.target, o) && !at(e) && wt(Fc, t.raw.propertyName)
  3783. }
  3784. function t(t) {
  3785. var n
  3786. ;(g(t) || r(t)) &&
  3787. (a.clear(),
  3788. c.clear(),
  3789. (!g((n = null == t ? void 0 : t.raw.type)) && n !== _i()) ||
  3790. (clearTimeout(i), sn(o, Ic), $r(o, e.classes)))
  3791. }
  3792. function n() {
  3793. a.set(pc(o, _i(), t)), c.set(pc(o, Oi(), t))
  3794. }
  3795. var i,
  3796. u,
  3797. a = mc(),
  3798. c = mc()
  3799. 'ontransitionstart' in o.dom
  3800. ? (u = pc(o, Ti(), function (t) {
  3801. r(t) && (u.unbind(), n())
  3802. }))
  3803. : n()
  3804. var s,
  3805. l,
  3806. f =
  3807. ((s = o),
  3808. (l = d('transition-delay')),
  3809. R(
  3810. d('transition-duration'),
  3811. function (t, n, e) {
  3812. var o = m(l[e]) + m(n)
  3813. return Math.max(t, o)
  3814. },
  3815. 0
  3816. ))
  3817. function d(t) {
  3818. var n = pn(s, t)
  3819. return F(y(n) ? n.split(/\s*,\s*/) : [], at)
  3820. }
  3821. function m(t) {
  3822. if (y(t) && /^[\d.]+/.test(t)) {
  3823. var n = parseFloat(t)
  3824. return Bt(t, 'ms') ? n : 1e3 * n
  3825. }
  3826. return 0
  3827. }
  3828. requestAnimationFrame(function () {
  3829. ;(i = setTimeout(t, f + 17)), on(o, Ic, i)
  3830. })
  3831. }
  3832. function bc(t, n, e, o, r, i) {
  3833. var u,
  3834. a,
  3835. c,
  3836. s,
  3837. l,
  3838. f,
  3839. d,
  3840. m,
  3841. g,
  3842. p =
  3843. ((u = o),
  3844. (a = r),
  3845. i.exists(function (t) {
  3846. var n = u.mode
  3847. return 'all' === n || t[n] !== a[n]
  3848. }))
  3849. function h(t) {
  3850. return parseFloat(t).toFixed(3)
  3851. }
  3852. p ||
  3853. ((g = t),
  3854. N(o.classes, function (t) {
  3855. return Kr(g, t)
  3856. }))
  3857. ? (dn(t, 'position', e.position),
  3858. (c = Aa(n, t)),
  3859. (s = Ma(n, lt(lt({}, r), { rect: c }))),
  3860. (l = U(Fc, function (t) {
  3861. return s[t]
  3862. })),
  3863. (m = e),
  3864. Q(l, function (t, n) {
  3865. var e,
  3866. o,
  3867. r,
  3868. i = m[n].map(h),
  3869. u = t.map(h)
  3870. return !Et((e = i), (o = u), (r = void 0 === r ? v : r)).getOr(
  3871. e.isNone() && o.isNone()
  3872. )
  3873. }).isSome() &&
  3874. (gn(t, l),
  3875. p &&
  3876. (Jr((f = t), (d = o).classes),
  3877. an(f, Ic).each(function (t) {
  3878. clearTimeout(parseInt(t, 10)), sn(f, Ic)
  3879. }),
  3880. vc(f, d)),
  3881. yn(t)))
  3882. : $r(t, o.classes)
  3883. }
  3884. function yc(t, n, e, o) {
  3885. bn(n, 'max-height'), bn(n, 'max-width')
  3886. var r,
  3887. s,
  3888. i,
  3889. l,
  3890. f,
  3891. d,
  3892. m,
  3893. g,
  3894. p,
  3895. u = { width: _n((r = n)), height: Sn(r) }
  3896. return (
  3897. (s = n),
  3898. (i = o.preference),
  3899. (l = t),
  3900. (f = u),
  3901. (d = e),
  3902. (m = o.bounds),
  3903. (g = f.width),
  3904. (p = f.height),
  3905. R(
  3906. i,
  3907. function (t, n) {
  3908. var e = C(a, n)
  3909. return t.fold(rt(t), e)
  3910. },
  3911. Bc.nofit(
  3912. {
  3913. rect: l,
  3914. maxHeight: f.height,
  3915. maxWidth: f.width,
  3916. direction: Va(),
  3917. placement: 'southeast',
  3918. classes: { on: [], off: [] },
  3919. layout: 'none',
  3920. testY: l.y,
  3921. },
  3922. -1,
  3923. -1,
  3924. !1
  3925. )
  3926. ).fold(h, h)
  3927. )
  3928. function a(t, r, i, u, a) {
  3929. var c = lc(t(l, f, d, s, m), g, p, m)
  3930. return c.fold(rt(c), function (t, n, e, o) {
  3931. return (a === o ? u < e || i < n : !a && o) ? c : Bc.nofit(r, i, u, a)
  3932. })
  3933. }
  3934. }
  3935. function xc(t, n) {
  3936. var e = t,
  3937. o = Math.floor(n)
  3938. dn(
  3939. e,
  3940. 'max-height',
  3941. we.max(e, o, [
  3942. 'margin-top',
  3943. 'border-top-width',
  3944. 'padding-top',
  3945. 'padding-bottom',
  3946. 'border-bottom-width',
  3947. 'margin-bottom',
  3948. ]) + 'px'
  3949. )
  3950. }
  3951. function wc(t, n, e) {
  3952. return void 0 === t[n] ? e : t[n]
  3953. }
  3954. function Sc(t, n, e, o) {
  3955. function r(t) {
  3956. return tt(e, t).getOr([])
  3957. }
  3958. function i(t, n, e) {
  3959. var o = W(Hc, e)
  3960. return { offset: ke(t, n), classesOn: z(e, r), classesOff: z(o, r) }
  3961. }
  3962. var u = t * (o = void 0 === o ? 1 : o),
  3963. a = n * o
  3964. return {
  3965. southeast: function () {
  3966. return i(-t, n, ['top', 'alignLeft'])
  3967. },
  3968. southwest: function () {
  3969. return i(t, n, ['top', 'alignRight'])
  3970. },
  3971. south: function () {
  3972. return i(-t / 2, n, ['top', 'alignCentre'])
  3973. },
  3974. northeast: function () {
  3975. return i(-t, -n, ['bottom', 'alignLeft'])
  3976. },
  3977. northwest: function () {
  3978. return i(t, -n, ['bottom', 'alignRight'])
  3979. },
  3980. north: function () {
  3981. return i(-t / 2, -n, ['bottom', 'alignCentre'])
  3982. },
  3983. east: function () {
  3984. return i(t, -n / 2, ['valignCentre', 'left'])
  3985. },
  3986. west: function () {
  3987. return i(-t, -n / 2, ['valignCentre', 'right'])
  3988. },
  3989. insetNortheast: function () {
  3990. return i(u, a, ['top', 'alignLeft', 'inset'])
  3991. },
  3992. insetNorthwest: function () {
  3993. return i(-u, a, ['top', 'alignRight', 'inset'])
  3994. },
  3995. insetNorth: function () {
  3996. return i(-u / 2, a, ['top', 'alignCentre', 'inset'])
  3997. },
  3998. insetSoutheast: function () {
  3999. return i(u, -a, ['bottom', 'alignLeft', 'inset'])
  4000. },
  4001. insetSouthwest: function () {
  4002. return i(-u, -a, ['bottom', 'alignRight', 'inset'])
  4003. },
  4004. insetSouth: function () {
  4005. return i(-u / 2, -a, ['bottom', 'alignCentre', 'inset'])
  4006. },
  4007. insetEast: function () {
  4008. return i(-u, -a / 2, ['valignCentre', 'right', 'inset'])
  4009. },
  4010. insetWest: function () {
  4011. return i(u, -a / 2, ['valignCentre', 'left', 'inset'])
  4012. },
  4013. }
  4014. }
  4015. function kc() {
  4016. return Sc(0, 0, {})
  4017. }
  4018. function Cc(n, e) {
  4019. return function (t) {
  4020. return 'rtl' === Nc(t) ? e : n
  4021. }
  4022. }
  4023. ac.none
  4024. var Oc,
  4025. _c,
  4026. Tc = ac.relative,
  4027. Ec = ac.fixed,
  4028. Dc = 'data-alloy-placement',
  4029. Bc = Ho([
  4030. { fit: ['reposition'] },
  4031. { nofit: ['reposition', 'visibleW', 'visibleH', 'isVisible'] },
  4032. ]),
  4033. Mc = D,
  4034. Ac = Tn,
  4035. Fc = ['top', 'bottom', 'right', 'left'],
  4036. Ic = 'data-alloy-transition-timer',
  4037. Rc = rt(function (t, n) {
  4038. xc(t, n), mn(t, { 'overflow-x': 'hidden', 'overflow-y': 'auto' })
  4039. }),
  4040. Vc = rt(function (t, n) {
  4041. xc(t, n)
  4042. }),
  4043. Pc = function (t, n, e, o) {
  4044. var r,
  4045. i,
  4046. u,
  4047. a,
  4048. c = yc(t, n, e, o),
  4049. s = n,
  4050. l = c,
  4051. f = Ma((r = o).origin, l)
  4052. return (
  4053. r.transition.each(function (t) {
  4054. bc(s, r.origin, f, t, l, r.lastPlacement)
  4055. }),
  4056. Da(s, f),
  4057. (a = c.placement),
  4058. on(n, Dc, a),
  4059. $r((i = n), (u = c.classes).off),
  4060. Jr(i, u.on),
  4061. (0, o.maxHeightFunction)(n, c.maxHeight),
  4062. (0, o.maxWidthFunction)(n, c.maxWidth),
  4063. { layout: c.layout, placement: c.placement }
  4064. )
  4065. },
  4066. Hc = [
  4067. 'valignCentre',
  4068. 'alignLeft',
  4069. 'alignRight',
  4070. 'alignCentre',
  4071. 'top',
  4072. 'bottom',
  4073. 'left',
  4074. 'right',
  4075. 'inset',
  4076. ],
  4077. zc = h,
  4078. Nc = function (t) {
  4079. return 'rtl' === pn(t, 'direction') ? 'rtl' : 'ltr'
  4080. }
  4081. function Lc(t) {
  4082. return Au(t, function (t) {
  4083. return Xn(t) && un(t, 'data-alloy-vertical-dir') === Oc.BottomToTop
  4084. })
  4085. }
  4086. function Wc() {
  4087. return To('layouts', [
  4088. mo('onLtr'),
  4089. mo('onRtl'),
  4090. wo('onBottomLtr'),
  4091. wo('onBottomRtl'),
  4092. ])
  4093. }
  4094. function Uc(n, t, e, o, r, i, u) {
  4095. var a = u.map(Lc).getOr(!1),
  4096. c = t.layouts.map(function (t) {
  4097. return t.onLtr(n)
  4098. }),
  4099. s = t.layouts.map(function (t) {
  4100. return t.onRtl(n)
  4101. })
  4102. return Cc(
  4103. a
  4104. ? t.layouts
  4105. .bind(function (t) {
  4106. return t.onBottomLtr.map(function (t) {
  4107. return t(n)
  4108. })
  4109. })
  4110. .or(c)
  4111. .getOr(r)
  4112. : c.getOr(e),
  4113. a
  4114. ? t.layouts
  4115. .bind(function (t) {
  4116. return t.onBottomRtl.map(function (t) {
  4117. return t(n)
  4118. })
  4119. })
  4120. .or(s)
  4121. .getOr(i)
  4122. : s.getOr(o)
  4123. )(n)
  4124. }
  4125. function jc(t) {
  4126. return t.fold(h, function (t, n, e) {
  4127. return t.translate(-n, -e)
  4128. })
  4129. }
  4130. function Gc(t) {
  4131. return t.fold(h, h)
  4132. }
  4133. function Xc(t) {
  4134. return R(
  4135. t,
  4136. function (t, n) {
  4137. return t.translate(n.left, n.top)
  4138. },
  4139. ke(0, 0)
  4140. )
  4141. }
  4142. function Yc(t) {
  4143. return Xc(M(t, Gc))
  4144. }
  4145. function qc(t, n, e) {
  4146. var o,
  4147. r,
  4148. i = Rn(Ut(t.element)),
  4149. u =
  4150. ((o = t),
  4151. (r = Xt(e.root).dom),
  4152. vt
  4153. .from(r.frameElement)
  4154. .map(At.fromDom)
  4155. .filter(function (t) {
  4156. return Lt(Ut(t), Ut(o.element))
  4157. })
  4158. .map(Cn)
  4159. .getOr(i))
  4160. return as(u, i.left, i.top)
  4161. }
  4162. function Kc(t, n, e, o) {
  4163. var r = us(ke(t, n))
  4164. return vt.some({ point: r, width: e, height: o })
  4165. }
  4166. function Jc(t, a, c, s, l) {
  4167. return t.map(function (t) {
  4168. var n = [a, t.point],
  4169. e = s.fold(
  4170. function () {
  4171. return Yc(n)
  4172. },
  4173. function () {
  4174. return Yc(n)
  4175. },
  4176. function () {
  4177. return Xc(M(n, jc))
  4178. }
  4179. ),
  4180. o = { x: e.left, y: e.top, width: t.width, height: t.height },
  4181. r = (c.showAbove ? ga : ha)(),
  4182. i = (c.showAbove ? pa : va)(),
  4183. u = Uc(l, c, r, i, r, i, vt.none())
  4184. return zc({
  4185. anchorBox: o,
  4186. bubble: c.bubble.getOr(kc()),
  4187. overrides: c.overrides,
  4188. layouts: u,
  4189. placer: vt.none(),
  4190. })
  4191. })
  4192. }
  4193. function $c(t, n, e) {
  4194. var o,
  4195. r = t.document.createRange(),
  4196. i = r
  4197. return (
  4198. n.fold(
  4199. function (t) {
  4200. i.setStartBefore(t.dom)
  4201. },
  4202. function (t, n) {
  4203. i.setStart(t.dom, n)
  4204. },
  4205. function (t) {
  4206. i.setStartAfter(t.dom)
  4207. }
  4208. ),
  4209. (o = r),
  4210. e.fold(
  4211. function (t) {
  4212. o.setEndBefore(t.dom)
  4213. },
  4214. function (t, n) {
  4215. o.setEnd(t.dom, n)
  4216. },
  4217. function (t) {
  4218. o.setEndAfter(t.dom)
  4219. }
  4220. ),
  4221. r
  4222. )
  4223. }
  4224. function Qc(t, n, e, o, r) {
  4225. var i = t.document.createRange()
  4226. return i.setStart(n.dom, e), i.setEnd(o.dom, r), i
  4227. }
  4228. function Zc(t) {
  4229. return {
  4230. left: t.left,
  4231. top: t.top,
  4232. right: t.right,
  4233. bottom: t.bottom,
  4234. width: t.width,
  4235. height: t.height,
  4236. }
  4237. }
  4238. function ts(t, n, e) {
  4239. return n(
  4240. At.fromDom(e.startContainer),
  4241. e.startOffset,
  4242. At.fromDom(e.endContainer),
  4243. e.endOffset
  4244. )
  4245. }
  4246. function ns(i, t) {
  4247. return (
  4248. (r = i),
  4249. (o = t.match({
  4250. domRange: function (t) {
  4251. return { ltr: rt(t), rtl: vt.none }
  4252. },
  4253. relative: function (t, n) {
  4254. return {
  4255. ltr: Rt(function () {
  4256. return $c(r, t, n)
  4257. }),
  4258. rtl: Rt(function () {
  4259. return vt.some($c(r, n, t))
  4260. }),
  4261. }
  4262. },
  4263. exact: function (t, n, e, o) {
  4264. return {
  4265. ltr: Rt(function () {
  4266. return Qc(r, t, n, e, o)
  4267. }),
  4268. rtl: Rt(function () {
  4269. return vt.some(Qc(r, e, o, t, n))
  4270. }),
  4271. }
  4272. },
  4273. })),
  4274. ((e = (n = o).ltr()).collapsed
  4275. ? n
  4276. .rtl()
  4277. .filter(function (t) {
  4278. return !1 === t.collapsed
  4279. })
  4280. .map(function (t) {
  4281. return gs.rtl(
  4282. At.fromDom(t.endContainer),
  4283. t.endOffset,
  4284. At.fromDom(t.startContainer),
  4285. t.startOffset
  4286. )
  4287. })
  4288. .getOrThunk(function () {
  4289. return ts(0, gs.ltr, e)
  4290. })
  4291. : ts(0, gs.ltr, e)
  4292. ).match({
  4293. ltr: function (t, n, e, o) {
  4294. var r = i.document.createRange()
  4295. return r.setStart(t.dom, n), r.setEnd(e.dom, o), r
  4296. },
  4297. rtl: function (t, n, e, o) {
  4298. var r = i.document.createRange()
  4299. return r.setStart(e.dom, o), r.setEnd(t.dom, n), r
  4300. },
  4301. })
  4302. )
  4303. var r, n, e, o
  4304. }
  4305. ;((Oc = Oc || {}).TopToBottom = 'toptobottom'),
  4306. (Oc.BottomToTop = 'bottomtotop')
  4307. var es = 'data-alloy-vertical-dir',
  4308. os = [
  4309. mo('hotspot'),
  4310. wo('bubble'),
  4311. Eo('overrides', {}),
  4312. Wc(),
  4313. ta('placement', function (t, n, e) {
  4314. var o = Aa(e, n.hotspot.element),
  4315. r = Uc(
  4316. t.element,
  4317. n,
  4318. ha(),
  4319. va(),
  4320. ga(),
  4321. pa(),
  4322. vt.some(n.hotspot.element)
  4323. )
  4324. return vt.some(
  4325. zc({
  4326. anchorBox: o,
  4327. bubble: n.bubble.getOr(kc()),
  4328. overrides: n.overrides,
  4329. layouts: r,
  4330. placer: vt.none(),
  4331. })
  4332. )
  4333. }),
  4334. ],
  4335. rs = [
  4336. mo('x'),
  4337. mo('y'),
  4338. Eo('height', 0),
  4339. Eo('width', 0),
  4340. Eo('bubble', kc()),
  4341. Eo('overrides', {}),
  4342. Wc(),
  4343. ta('placement', function (t, n, e) {
  4344. var o = cc(e, n.x, n.y),
  4345. r = Me(o.left, o.top, n.width, n.height),
  4346. i = Uc(t.element, n, da(), ma(), da(), ma(), vt.none())
  4347. return vt.some(
  4348. zc({
  4349. anchorBox: r,
  4350. bubble: n.bubble,
  4351. overrides: n.overrides,
  4352. layouts: i,
  4353. placer: vt.none(),
  4354. })
  4355. )
  4356. }),
  4357. ],
  4358. is = Ho([
  4359. { screen: ['point'] },
  4360. { absolute: ['point', 'scrollLeft', 'scrollTop'] },
  4361. ]),
  4362. us = is.screen,
  4363. as = is.absolute,
  4364. cs = [
  4365. mo('node'),
  4366. mo('root'),
  4367. wo('bubble'),
  4368. Wc(),
  4369. Eo('overrides', {}),
  4370. Eo('showAbove', !1),
  4371. ta('placement', function (r, i, u) {
  4372. var a = qc(r, 0, i)
  4373. return i.node.filter(ve).bind(function (t) {
  4374. var n = t.dom.getBoundingClientRect(),
  4375. e = Kc(n.left, n.top, n.width, n.height),
  4376. o = i.node.getOr(r.element)
  4377. return Jc(e, a, i, u, o)
  4378. })
  4379. }),
  4380. ],
  4381. ss = function (t, n, e, o) {
  4382. return { start: t, soffset: n, finish: e, foffset: o }
  4383. },
  4384. ls = Ho([
  4385. { before: ['element'] },
  4386. { on: ['element', 'offset'] },
  4387. { after: ['element'] },
  4388. ]),
  4389. fs =
  4390. (ls.before,
  4391. ls.on,
  4392. ls.after,
  4393. function (t) {
  4394. return t.fold(h, h, h)
  4395. }),
  4396. ds = Ho([
  4397. { domRange: ['rng'] },
  4398. { relative: ['startSitu', 'finishSitu'] },
  4399. { exact: ['start', 'soffset', 'finish', 'foffset'] },
  4400. ]),
  4401. ms = {
  4402. domRange: ds.domRange,
  4403. relative: ds.relative,
  4404. exact: ds.exact,
  4405. exactFromRange: function (t) {
  4406. return ds.exact(t.start, t.soffset, t.finish, t.foffset)
  4407. },
  4408. getWin: function (t) {
  4409. return Xt(
  4410. t.match({
  4411. domRange: function (t) {
  4412. return At.fromDom(t.startContainer)
  4413. },
  4414. relative: function (t, n) {
  4415. return fs(t)
  4416. },
  4417. exact: function (t, n, e, o) {
  4418. return t
  4419. },
  4420. })
  4421. )
  4422. },
  4423. range: ss,
  4424. },
  4425. gs = Ho([
  4426. { ltr: ['start', 'soffset', 'finish', 'foffset'] },
  4427. { rtl: ['start', 'soffset', 'finish', 'foffset'] },
  4428. ])
  4429. function ps(t) {
  4430. return nf.getOption(t)
  4431. }
  4432. function hs(t) {
  4433. return (
  4434. ps(t)
  4435. .filter(function (t) {
  4436. return 0 !== t.trim().length || -1 < t.indexOf('\xa0')
  4437. })
  4438. .isSome() || wt(ef, Ft(t))
  4439. )
  4440. }
  4441. function vs(t, n) {
  4442. return Nt((e = void 0 === t ? document : t.dom))
  4443. ? []
  4444. : M(e.querySelectorAll(n), At.fromDom)
  4445. var e
  4446. }
  4447. function bs(t) {
  4448. if (0 < t.rangeCount) {
  4449. var n = t.getRangeAt(0),
  4450. e = t.getRangeAt(t.rangeCount - 1)
  4451. return vt.some(
  4452. ss(
  4453. At.fromDom(n.startContainer),
  4454. n.startOffset,
  4455. At.fromDom(e.endContainer),
  4456. e.endOffset
  4457. )
  4458. )
  4459. }
  4460. return vt.none()
  4461. }
  4462. function ys(t) {
  4463. if (null === t.anchorNode || null === t.focusNode) return bs(t)
  4464. var n,
  4465. e,
  4466. o,
  4467. r,
  4468. i,
  4469. u,
  4470. a,
  4471. c,
  4472. s,
  4473. l,
  4474. f,
  4475. d = At.fromDom(t.anchorNode),
  4476. m = At.fromDom(t.focusNode)
  4477. return (
  4478. (n = d),
  4479. (e = t.anchorOffset),
  4480. (o = m),
  4481. (r = t.focusOffset),
  4482. (u = e),
  4483. (a = o),
  4484. (c = r),
  4485. (s = Ut((i = n)).dom.createRange()).setStart(i.dom, u),
  4486. s.setEnd(a.dom, c),
  4487. (l = s),
  4488. (f = Lt(n, o) && e === r),
  4489. l.collapsed && !f
  4490. ? vt.some(ss(d, t.anchorOffset, m, t.focusOffset))
  4491. : bs(t)
  4492. )
  4493. }
  4494. function xs(t, n) {
  4495. var e,
  4496. o,
  4497. r = (e = ns(t, n)).getClientRects()
  4498. return 0 < (o = 0 < r.length ? r[0] : e.getBoundingClientRect()).width ||
  4499. 0 < o.height
  4500. ? vt.some(o).map(Zc)
  4501. : vt.none()
  4502. }
  4503. function ws(t, n) {
  4504. return { element: t, offset: n }
  4505. }
  4506. function Ss(t, n) {
  4507. return (
  4508. Yn(t)
  4509. ? ws
  4510. : function (t, n) {
  4511. var e = Kt(t)
  4512. if (0 === e.length) return ws(t, n)
  4513. if (n < e.length) return ws(e[n], 0)
  4514. var o = e[e.length - 1]
  4515. return ws(o, (Yn(o) ? nf.get(o) : Kt(o)).length)
  4516. }
  4517. )(t, n)
  4518. }
  4519. function ks(t, n) {
  4520. return n.getSelection
  4521. .getOrThunk(function () {
  4522. return function () {
  4523. return vt
  4524. .from(t.getSelection())
  4525. .filter(function (t) {
  4526. return 0 < t.rangeCount
  4527. })
  4528. .bind(ys)
  4529. }
  4530. })()
  4531. .map(function (t) {
  4532. var n = Ss(t.start, t.soffset),
  4533. e = Ss(t.finish, t.foffset)
  4534. return ms.range(n.element, n.offset, e.element, e.offset)
  4535. })
  4536. }
  4537. function Cs(t) {
  4538. return t.x + t.width
  4539. }
  4540. function Os(t, n) {
  4541. return t.x - n.width
  4542. }
  4543. function _s(t, n) {
  4544. return t.y - n.height + t.height
  4545. }
  4546. function Ts(t, n, e) {
  4547. return ea(
  4548. Cs(t),
  4549. t.y,
  4550. e.southeast(),
  4551. Va(),
  4552. 'southeast',
  4553. ra(t, { left: 0, top: 2 }),
  4554. rf
  4555. )
  4556. }
  4557. function Es(t, n, e) {
  4558. return ea(
  4559. Os(t, n),
  4560. t.y,
  4561. e.southwest(),
  4562. Pa(),
  4563. 'southwest',
  4564. ra(t, { right: 1, top: 2 }),
  4565. rf
  4566. )
  4567. }
  4568. function Ds(t, n, e) {
  4569. return ea(
  4570. Cs(t),
  4571. _s(t, n),
  4572. e.northeast(),
  4573. Ha(),
  4574. 'northeast',
  4575. ra(t, { left: 0, bottom: 3 }),
  4576. rf
  4577. )
  4578. }
  4579. function Bs(t, n, e) {
  4580. return ea(
  4581. Os(t, n),
  4582. _s(t, n),
  4583. e.northwest(),
  4584. za(),
  4585. 'northwest',
  4586. ra(t, { right: 1, bottom: 3 }),
  4587. rf
  4588. )
  4589. }
  4590. function Ms() {
  4591. return [Ts, Es, Ds, Bs]
  4592. }
  4593. function As() {
  4594. return [Es, Ts, Bs, Ds]
  4595. }
  4596. function Fs(t, n, e, o, r, i, u) {
  4597. var a,
  4598. c,
  4599. s,
  4600. l,
  4601. f,
  4602. d,
  4603. m,
  4604. g,
  4605. p,
  4606. h,
  4607. v,
  4608. b,
  4609. y,
  4610. x,
  4611. w = { anchorBox: e.anchorBox, origin: n }
  4612. return (
  4613. (a = w),
  4614. (c = r.element),
  4615. (s = e.bubble),
  4616. (l = e.layouts),
  4617. (f = i),
  4618. (d = o),
  4619. (m = e.overrides),
  4620. (g = u),
  4621. (h = wc(m, 'maxHeightFunction', Rc())),
  4622. (v = wc(m, 'maxWidthFunction', st)),
  4623. (b = a.anchorBox),
  4624. (y = a.origin),
  4625. (x = {
  4626. bounds:
  4627. ((p = y),
  4628. d.fold(
  4629. function () {
  4630. return p.fold(Fe, Fe, Me)
  4631. },
  4632. function (e) {
  4633. return p.fold(e, e, function () {
  4634. var t = e(),
  4635. n = cc(p, t.x, t.y)
  4636. return Me(n.left, n.top, t.width, t.height)
  4637. })
  4638. }
  4639. )),
  4640. origin: y,
  4641. preference: l,
  4642. maxHeightFunction: h,
  4643. maxWidthFunction: v,
  4644. lastPlacement: f,
  4645. transition: g,
  4646. }),
  4647. Pc(b, c, s, x)
  4648. )
  4649. }
  4650. function Is(t, n) {
  4651. Te(t.element, n.element)
  4652. }
  4653. function Rs(n, t) {
  4654. var e,
  4655. o = n.components()
  4656. St((e = n).components(), function (t) {
  4657. return Ee(t.element)
  4658. }),
  4659. Fn(e.element),
  4660. e.syncComponents()
  4661. var r = W(o, t)
  4662. St(r, function (t) {
  4663. df(t), n.getSystem().removeFromWorld(t)
  4664. }),
  4665. St(t, function (t) {
  4666. t.getSystem().isConnected()
  4667. ? Is(n, t)
  4668. : (n.getSystem().addToWorld(t), Is(n, t), ve(n.element) && mf(t)),
  4669. n.syncComponents()
  4670. })
  4671. }
  4672. function Vs(t, n) {
  4673. gf(t, n, Te)
  4674. }
  4675. function Ps(t) {
  4676. df(t), Ee(t.element), t.getSystem().removeFromWorld(t)
  4677. }
  4678. function Hs(n) {
  4679. var t = Yt(n.element).bind(function (t) {
  4680. return n.getSystem().getByDom(t).toOptional()
  4681. })
  4682. Ps(n),
  4683. t.each(function (t) {
  4684. t.syncComponents()
  4685. })
  4686. }
  4687. function zs(t) {
  4688. var n = t.components()
  4689. St(n, Ps), Fn(t.element), t.syncComponents()
  4690. }
  4691. function Ns(t, n) {
  4692. pf(t, n, Te)
  4693. }
  4694. function Ls(n) {
  4695. var t = Kt(n.element)
  4696. St(t, function (t) {
  4697. n.getByDom(t).each(df)
  4698. }),
  4699. Ee(n.element)
  4700. }
  4701. function Ws(n, t, e, o) {
  4702. e.get().each(function (t) {
  4703. zs(n)
  4704. }),
  4705. Vs(t.getAttachPoint(n), n)
  4706. var r = n.getSystem().build(o)
  4707. return Vs(n, r), e.set(r), r
  4708. }
  4709. function Us(t, n, e, o) {
  4710. var r = Ws(t, n, e, o)
  4711. return n.onOpen(t, r), r
  4712. }
  4713. function js(n, e, o) {
  4714. o.get().each(function (t) {
  4715. zs(n), Hs(n), e.onClose(n, t), o.clear()
  4716. })
  4717. }
  4718. function Gs(t, n, e) {
  4719. return e.isOpen()
  4720. }
  4721. function Xs(t) {
  4722. var e = so('Dismissal', Sf, t),
  4723. n = {}
  4724. return (
  4725. (n[yf()] = {
  4726. schema: to([mo('target')]),
  4727. onReceive: function (n, t) {
  4728. bf.isOpen(n) &&
  4729. (bf.isPartOf(n, t.target) ||
  4730. e.isExtraPart(n, t.target) ||
  4731. e.fireEventInstead.fold(
  4732. function () {
  4733. return bf.close(n)
  4734. },
  4735. function (t) {
  4736. return vr(n, t.event)
  4737. }
  4738. ))
  4739. },
  4740. }),
  4741. n
  4742. )
  4743. }
  4744. function Ys(t) {
  4745. var e = so('Reposition', kf, t),
  4746. n = {}
  4747. return (
  4748. (n[xf()] = {
  4749. onReceive: function (n) {
  4750. bf.isOpen(n) &&
  4751. e.fireEventInstead.fold(
  4752. function () {
  4753. return e.doReposition(n)
  4754. },
  4755. function (t) {
  4756. return vr(n, t.event)
  4757. }
  4758. )
  4759. },
  4760. }),
  4761. n
  4762. )
  4763. }
  4764. function qs(t, n, e) {
  4765. n.store.manager.onLoad(t, n, e)
  4766. }
  4767. function Ks(t, n, e) {
  4768. n.store.manager.onUnload(t, n, e)
  4769. }
  4770. function Js() {
  4771. var t = Po(null)
  4772. return wu({
  4773. set: t.set,
  4774. get: t.get,
  4775. isNotSet: function () {
  4776. return null === t.get()
  4777. },
  4778. clear: function () {
  4779. t.set(null)
  4780. },
  4781. readState: function () {
  4782. return { mode: 'memory', value: t.get() }
  4783. },
  4784. })
  4785. }
  4786. function $s() {
  4787. var i = Po({}),
  4788. u = Po({})
  4789. return wu({
  4790. readState: function () {
  4791. return { mode: 'dataset', dataByValue: i.get(), dataByText: u.get() }
  4792. },
  4793. lookup: function (t) {
  4794. return tt(i.get(), t).orThunk(function () {
  4795. return tt(u.get(), t)
  4796. })
  4797. },
  4798. update: function (t) {
  4799. var n = i.get(),
  4800. e = u.get(),
  4801. o = {},
  4802. r = {}
  4803. St(t, function (n) {
  4804. tt((o[n.value] = n), 'meta').each(function (t) {
  4805. tt(t, 'text').each(function (t) {
  4806. r[t] = n
  4807. })
  4808. })
  4809. }),
  4810. i.set(lt(lt({}, n), o)),
  4811. u.set(lt(lt({}, e), r))
  4812. },
  4813. clear: function () {
  4814. i.set({}), u.set({})
  4815. },
  4816. })
  4817. }
  4818. function Qs(t, n, e, o) {
  4819. var r = n.store
  4820. e.update([o]), r.setValue(t, o), n.onSetValue(t, o)
  4821. }
  4822. function Zs(o, t) {
  4823. return Vo(
  4824. o,
  4825. {},
  4826. M(t, function (t) {
  4827. return (
  4828. (n = t.name()),
  4829. (e = 'Cannot configure ' + t.name() + ' for ' + o),
  4830. ar(
  4831. n,
  4832. n,
  4833. Xe(),
  4834. Je(function (t) {
  4835. return Lo('The field: ' + n + ' is forbidden. ' + e)
  4836. })
  4837. )
  4838. )
  4839. var n, e
  4840. }).concat([cr('dump', h)])
  4841. )
  4842. }
  4843. function tl(t) {
  4844. return t.dump
  4845. }
  4846. function nl(t, n) {
  4847. return lt(lt({}, nc(n)), t.dump)
  4848. }
  4849. function el(t) {
  4850. return Tt(t, 'uiType')
  4851. }
  4852. function ol(t) {
  4853. return t.fold(vt.some, vt.none, vt.some, vt.some)
  4854. }
  4855. function rl(t) {
  4856. function n(t) {
  4857. return t.name
  4858. }
  4859. return t.fold(n, n, n, n)
  4860. }
  4861. function il(e, o) {
  4862. return function (t) {
  4863. var n = so('Converting part type', o, t)
  4864. return e(n)
  4865. }
  4866. }
  4867. function ul(t, n, e, o) {
  4868. return Yo(
  4869. n.defaults(t, e, o),
  4870. e,
  4871. { uid: t.partUids[n.name] },
  4872. n.overrides(t, e, o)
  4873. )
  4874. }
  4875. function al(r, t) {
  4876. var n = {}
  4877. return (
  4878. St(t, function (t) {
  4879. ol(t).each(function (e) {
  4880. var o = ed(r, e.pname)
  4881. n[e.name] = function (t) {
  4882. var n = so('Part: ' + e.name + ' in ' + r, $o(e.schema), t)
  4883. return lt(lt({}, o), { config: t, validated: n })
  4884. }
  4885. })
  4886. }),
  4887. n
  4888. )
  4889. }
  4890. function cl(t, n, e) {
  4891. return { uiType: Pf(), owner: t, name: n, config: e, validated: {} }
  4892. }
  4893. function sl(t) {
  4894. return z(t, function (t) {
  4895. return t
  4896. .fold(vt.none, vt.some, vt.none, vt.none)
  4897. .map(function (t) {
  4898. return bo(t.name, t.schema.concat([na(td())]))
  4899. })
  4900. .toArray()
  4901. })
  4902. }
  4903. function ll(t) {
  4904. return M(t, rl)
  4905. }
  4906. function fl(t, n, e) {
  4907. return (
  4908. (o = n),
  4909. (r = {}),
  4910. (i = {}),
  4911. St(e, function (t) {
  4912. t.fold(
  4913. function (o) {
  4914. r[o.pname] = Rf(!0, function (t, n, e) {
  4915. return o.factory.sketch(ul(t, o, n, e))
  4916. })
  4917. },
  4918. function (t) {
  4919. var n = o.parts[t.name]
  4920. i[t.name] = rt(t.factory.sketch(ul(o, t, n[td()]), n))
  4921. },
  4922. function (o) {
  4923. r[o.pname] = Rf(!1, function (t, n, e) {
  4924. return o.factory.sketch(ul(t, o, n, e))
  4925. })
  4926. },
  4927. function (o) {
  4928. r[o.pname] = Vf(!0, function (n, t, e) {
  4929. return M(n[o.name], function (t) {
  4930. return o.factory.sketch(
  4931. Yo(o.defaults(n, t, e), t, o.overrides(n, t))
  4932. )
  4933. })
  4934. })
  4935. }
  4936. )
  4937. }),
  4938. { internals: rt(r), externals: rt(i) }
  4939. )
  4940. var o, r, i
  4941. }
  4942. function dl(t, n, e) {
  4943. return (
  4944. (o = vt.some(t)),
  4945. (i = (r = n).components),
  4946. (s = dt(e, function (t, n) {
  4947. return (
  4948. (o = t),
  4949. (r = !1),
  4950. {
  4951. name: rt((e = n)),
  4952. required: function () {
  4953. return o.fold(
  4954. function (t, n) {
  4955. return t
  4956. },
  4957. function (t, n) {
  4958. return t
  4959. }
  4960. )
  4961. },
  4962. used: function () {
  4963. return r
  4964. },
  4965. replace: function () {
  4966. if (r)
  4967. throw new Error(
  4968. 'Trying to use the same placeholder more than once: ' + e
  4969. )
  4970. return (r = !0), o
  4971. },
  4972. }
  4973. )
  4974. var e, o, r
  4975. })),
  4976. (u = o),
  4977. (a = r),
  4978. (c = s),
  4979. (l = z(i, function (t) {
  4980. return If(u, a, t, c)
  4981. })),
  4982. J(s, function (t) {
  4983. if (!1 === t.used() && t.required())
  4984. throw new Error(
  4985. 'Placeholder: ' +
  4986. t.name() +
  4987. ' was not found in components list\nNamespace: ' +
  4988. o.getOr('none') +
  4989. '\nComponents: ' +
  4990. JSON.stringify(r.components, null, 2)
  4991. )
  4992. }),
  4993. l
  4994. )
  4995. var o, r, i, u, a, c, s, l
  4996. }
  4997. function ml(t, n, e) {
  4998. var o = n.partUids[e]
  4999. return t.getSystem().getByUid(o).toOptional()
  5000. }
  5001. function gl(t, n, e) {
  5002. return ml(t, n, e).getOrDie('Could not find part: ' + e)
  5003. }
  5004. function pl(t, n, e) {
  5005. var o = {},
  5006. r = n.partUids,
  5007. i = t.getSystem()
  5008. return (
  5009. St(e, function (t) {
  5010. o[t] = rt(i.getByUid(r[t]))
  5011. }),
  5012. o
  5013. )
  5014. }
  5015. function hl(t, n) {
  5016. var e = t.getSystem()
  5017. return dt(n.partUids, function (t, n) {
  5018. return rt(e.getByUid(t))
  5019. })
  5020. }
  5021. function vl(t) {
  5022. return Ct(t.partUids)
  5023. }
  5024. function bl(t, n, e) {
  5025. var o = {},
  5026. r = n.partUids,
  5027. i = t.getSystem()
  5028. return (
  5029. St(e, function (t) {
  5030. o[t] = rt(i.getByUid(r[t]).getOrDie())
  5031. }),
  5032. o
  5033. )
  5034. }
  5035. function yl(n, t) {
  5036. return lr(
  5037. M(ll(t), function (t) {
  5038. return { key: t, value: n + '-' + t }
  5039. })
  5040. )
  5041. }
  5042. function xl(n) {
  5043. return ar(
  5044. 'partUids',
  5045. 'partUids',
  5046. Ye(function (t) {
  5047. return yl(t.uid, n)
  5048. }),
  5049. Zo()
  5050. )
  5051. }
  5052. function wl(t, n, e, o, r) {
  5053. var i
  5054. return so(
  5055. t + ' [SpecSchema]',
  5056. to(
  5057. ((i = r),
  5058. (0 < o.length ? [bo('parts', o)] : [])
  5059. .concat([
  5060. mo('uid'),
  5061. Eo('dom', {}),
  5062. Eo('components', []),
  5063. na('originalSpec'),
  5064. Eo('debug.sketcher', {}),
  5065. ])
  5066. .concat(i)).concat(n)
  5067. ),
  5068. e
  5069. )
  5070. }
  5071. function Sl(t, n, e, o, r) {
  5072. var i = rd(r),
  5073. u = wl(t, n, i, sl(e), [xl(e)]),
  5074. a = fl(0, u, e)
  5075. return o(u, dl(t, u, a.internals()), i, a.externals())
  5076. }
  5077. function kl(t) {
  5078. var r = so('Sketcher for ' + t.name, id, t),
  5079. n = dt(r.apis, zr),
  5080. e = dt(r.extraApis, Pr)
  5081. return lt(
  5082. lt(
  5083. {
  5084. name: r.name,
  5085. configFields: r.configFields,
  5086. sketch: function (t) {
  5087. return (
  5088. (n = r.name),
  5089. (e = r.configFields),
  5090. (0, r.factory)(wl(n, e, (o = rd(t)), [], []), o)
  5091. )
  5092. var n, e, o
  5093. },
  5094. },
  5095. n
  5096. ),
  5097. e
  5098. )
  5099. }
  5100. function Cl(t) {
  5101. var n = so('Sketcher for ' + t.name, ud, t),
  5102. e = al(n.name, n.partFields),
  5103. o = dt(n.apis, zr),
  5104. r = dt(n.extraApis, Pr)
  5105. return lt(
  5106. lt(
  5107. {
  5108. name: n.name,
  5109. partFields: n.partFields,
  5110. configFields: n.configFields,
  5111. sketch: function (t) {
  5112. return Sl(n.name, n.configFields, n.partFields, n.factory, t)
  5113. },
  5114. parts: e,
  5115. },
  5116. o
  5117. ),
  5118. r
  5119. )
  5120. }
  5121. function Ol(t) {
  5122. return (
  5123. ('input' === Ft(t) && 'radio' !== un(t, 'type')) || 'textarea' === Ft(t)
  5124. )
  5125. }
  5126. function _l(t, n, e) {
  5127. ;(n.disabled() ? ld : fd)(t, n)
  5128. }
  5129. function Tl(t, n) {
  5130. return !0 === n.useNative && wt(sd, Ft(t.element))
  5131. }
  5132. function El(t, n) {
  5133. return Tl(t, n)
  5134. ? cn(t.element, 'disabled')
  5135. : 'true' === un(t.element, 'aria-disabled')
  5136. }
  5137. function Dl(e, o, t, r) {
  5138. var n = vs(e.element, '.' + o.highlightClass)
  5139. St(n, function (n) {
  5140. d(r, function (t) {
  5141. return t.element === n
  5142. }) ||
  5143. (qr(n, o.highlightClass),
  5144. e
  5145. .getSystem()
  5146. .getByDom(n)
  5147. .each(function (t) {
  5148. o.onDehighlight(e, t), vr(t, tu())
  5149. }))
  5150. })
  5151. }
  5152. function Bl(t, n, e, o) {
  5153. Dl(t, n, 0, [o]),
  5154. Yl(0, n, 0, o) ||
  5155. (Yr(o.element, n.highlightClass), n.onHighlight(t, o), vr(o, Zi()))
  5156. }
  5157. function Ml(e, n, t, o) {
  5158. var r = vs(e.element, '.' + n.itemClass)
  5159. return P(r, function (t) {
  5160. return Kr(t, n.highlightClass)
  5161. }).bind(function (t) {
  5162. var n = oa(t, o, 0, r.length - 1)
  5163. return e.getSystem().getByDom(r[n]).toOptional()
  5164. })
  5165. }
  5166. function Al(t, n, e) {
  5167. var o = L(t.slice(0, n)),
  5168. r = L(t.slice(n + 1))
  5169. return V(o.concat(r), e)
  5170. }
  5171. function Fl(t, n, e) {
  5172. return V(L(t.slice(0, n)), e)
  5173. }
  5174. function Il(t, n, e) {
  5175. var o = t.slice(0, n)
  5176. return V(t.slice(n + 1).concat(o), e)
  5177. }
  5178. function Rl(t, n, e) {
  5179. return V(t.slice(n + 1), e)
  5180. }
  5181. function Vl(e) {
  5182. return function (t) {
  5183. var n = t.raw
  5184. return wt(e, n.which)
  5185. }
  5186. }
  5187. function Pl(t) {
  5188. return function (n) {
  5189. return N(t, function (t) {
  5190. return t(n)
  5191. })
  5192. }
  5193. }
  5194. function Hl(t) {
  5195. return !0 === t.raw.shiftKey
  5196. }
  5197. function zl(t) {
  5198. return !0 === t.raw.ctrlKey
  5199. }
  5200. function Nl(t, n) {
  5201. return { matches: t, classification: n }
  5202. }
  5203. function Ll(t, n, e) {
  5204. n.exists(function (n) {
  5205. return e.exists(function (t) {
  5206. return Lt(t, n)
  5207. })
  5208. }) || br(t, Ki(), { prevFocus: n, newFocus: e })
  5209. }
  5210. function Wl() {
  5211. function o(t) {
  5212. return _a(t.element)
  5213. }
  5214. return {
  5215. get: o,
  5216. set: function (t, n) {
  5217. var e = o(t)
  5218. t.getSystem().triggerFocus(n, t.element), Ll(t, e, o(t))
  5219. },
  5220. }
  5221. }
  5222. function Ul() {
  5223. function r(t) {
  5224. return hd.getHighlighted(t).map(function (t) {
  5225. return t.element
  5226. })
  5227. }
  5228. return {
  5229. get: r,
  5230. set: function (n, t) {
  5231. var e = r(n)
  5232. n.getSystem()
  5233. .getByDom(t)
  5234. .fold(st, function (t) {
  5235. hd.highlight(n, t)
  5236. })
  5237. var o = r(n)
  5238. Ll(n, e, o)
  5239. },
  5240. }
  5241. }
  5242. gs.ltr, gs.rtl
  5243. function jl(t, n, e, o, r, i) {
  5244. var u = i.map(Ae)
  5245. return lf(t, n, e, o, r, u)
  5246. }
  5247. function Gl(t, n, e) {
  5248. var o,
  5249. r,
  5250. i,
  5251. u = n.getAttachPoint(t)
  5252. dn(t.element, 'position', ff.getMode(u)),
  5253. (i = n.cloakVisibilityAttr),
  5254. hn((o = t).element, (r = 'visibility')).fold(
  5255. function () {
  5256. sn(o.element, i)
  5257. },
  5258. function (t) {
  5259. on(o.element, i, t)
  5260. }
  5261. ),
  5262. dn(o.element, r, 'hidden')
  5263. }
  5264. function Xl(t, n, e) {
  5265. var o,
  5266. r,
  5267. i,
  5268. u = t.element
  5269. d(['top', 'left', 'right', 'bottom'], function (t) {
  5270. return hn(u, t).isSome()
  5271. }) || bn(t.element, 'position'),
  5272. (r = 'visibility'),
  5273. (i = n.cloakVisibilityAttr),
  5274. an((o = t).element, i).fold(
  5275. function () {
  5276. return bn(o.element, r)
  5277. },
  5278. function (t) {
  5279. return dn(o.element, r, t)
  5280. }
  5281. )
  5282. }
  5283. function Yl(t, n, e, o) {
  5284. return Kr(o.element, n.highlightClass)
  5285. }
  5286. function ql(n, t, e) {
  5287. return Iu(n.element, '.' + t.itemClass).bind(function (t) {
  5288. return n.getSystem().getByDom(t).toOptional()
  5289. })
  5290. }
  5291. function Kl(n, t, e) {
  5292. var o = vs(n.element, '.' + t.itemClass)
  5293. return (0 < o.length ? vt.some(o[o.length - 1]) : vt.none()).bind(function (
  5294. t
  5295. ) {
  5296. return n.getSystem().getByDom(t).toOptional()
  5297. })
  5298. }
  5299. function Jl(n, t, e) {
  5300. return et(
  5301. M(vs(n.element, '.' + t.itemClass), function (t) {
  5302. return n.getSystem().getByDom(t).toOptional()
  5303. })
  5304. )
  5305. }
  5306. var $l,
  5307. Ql,
  5308. Zl,
  5309. tf,
  5310. nf =
  5311. (($l = Yn),
  5312. {
  5313. get: function (t) {
  5314. if (!$l(t)) throw new Error('Can only get text value of a text node')
  5315. return Ql(t).getOr('')
  5316. },
  5317. getOption: (Ql = function (t) {
  5318. return $l(t) ? vt.from(t.dom.nodeValue) : vt.none()
  5319. }),
  5320. set: function (t, n) {
  5321. if (!$l(t))
  5322. throw new Error('Can only set raw text value of a text node')
  5323. t.dom.nodeValue = n
  5324. },
  5325. }),
  5326. ef = ['img', 'br'],
  5327. of = [
  5328. wo('getSelection'),
  5329. mo('root'),
  5330. wo('bubble'),
  5331. Wc(),
  5332. Eo('overrides', {}),
  5333. Eo('showAbove', !1),
  5334. ta('placement', function (t, n, e) {
  5335. var r = Xt(n.root).dom,
  5336. o = qc(t, 0, n)
  5337. return Jc(
  5338. ks(r, n).bind(function (e) {
  5339. return (
  5340. (t = r),
  5341. (n = ms.exactFromRange(e)),
  5342. (0 < (o = ns(t, n).getBoundingClientRect()).width || 0 < o.height
  5343. ? vt.some(o).map(Zc)
  5344. : vt.none()
  5345. )
  5346. .orThunk(function () {
  5347. var t = At.fromText('\ufeff')
  5348. Dn(e.start, t)
  5349. var n = xs(r, ms.exact(t, 0, t, 1))
  5350. return Ee(t), n
  5351. })
  5352. .bind(function (t) {
  5353. return Kc(t.left, t.top, t.width, t.height)
  5354. })
  5355. )
  5356. var t, n, o
  5357. }),
  5358. o,
  5359. n,
  5360. e,
  5361. ks(r, n)
  5362. .bind(function (t) {
  5363. return Xn(t.start) ? vt.some(t.start) : fe(t.start)
  5364. })
  5365. .getOr(t.element)
  5366. )
  5367. }),
  5368. ],
  5369. rf = 'link-layout',
  5370. uf = lo('type', {
  5371. selection: of,
  5372. node: cs,
  5373. hotspot: os,
  5374. submenu: [
  5375. mo('item'),
  5376. Wc(),
  5377. Eo('overrides', {}),
  5378. ta('placement', function (t, n, e) {
  5379. var o = Aa(e, n.item.element),
  5380. r = Uc(t.element, n, Ms(), As(), Ms(), As(), vt.none())
  5381. return vt.some(
  5382. zc({
  5383. anchorBox: o,
  5384. bubble: kc(),
  5385. overrides: n.overrides,
  5386. layouts: r,
  5387. placer: vt.none(),
  5388. })
  5389. )
  5390. }),
  5391. ],
  5392. makeshift: rs,
  5393. }),
  5394. af = [xo('classes', nr), Ao('mode', 'all', ['all', 'layout', 'placement'])],
  5395. cf = [Eo('useFixed', T), wo('getBounds')],
  5396. sf = [go('anchor', uf), To('transition', af)],
  5397. lf = function (c, s, l, f, t, d) {
  5398. var m = so('placement.info', $o(sf), t),
  5399. g = m.anchor,
  5400. p = f.element,
  5401. h = l.get(f.uid)
  5402. Ta(function () {
  5403. dn(p, 'position', 'fixed')
  5404. var t = hn(p, 'visibility')
  5405. dn(p, 'visibility', 'hidden')
  5406. var n,
  5407. e,
  5408. o,
  5409. r,
  5410. i = s.useFixed()
  5411. ? ((r = document.documentElement),
  5412. Ec(0, 0, r.clientWidth, r.clientHeight))
  5413. : ((e = Cn((n = c).element)),
  5414. (o = n.element.dom.getBoundingClientRect()),
  5415. Tc(e.left, e.top, o.width, o.height)),
  5416. u = g.placement,
  5417. a = d.map(rt).or(s.getBounds)
  5418. u(c, g, i).each(function (t) {
  5419. var n = t.placer.getOr(Fs)(c, i, t, a, f, h, m.transition)
  5420. l.set(f.uid, n)
  5421. }),
  5422. t.fold(
  5423. function () {
  5424. bn(p, 'visibility')
  5425. },
  5426. function (t) {
  5427. dn(p, 'visibility', t)
  5428. }
  5429. ),
  5430. hn(p, 'left').isNone() &&
  5431. hn(p, 'top').isNone() &&
  5432. hn(p, 'right').isNone() &&
  5433. hn(p, 'bottom').isNone() &&
  5434. mt(hn(p, 'position'), 'fixed') &&
  5435. bn(p, 'position')
  5436. }, p)
  5437. },
  5438. ff = xa({
  5439. fields: cf,
  5440. name: 'positioning',
  5441. active: uc,
  5442. apis: Object.freeze({
  5443. __proto__: null,
  5444. position: function (t, n, e, o, r) {
  5445. jl(t, n, e, o, r, vt.none())
  5446. },
  5447. positionWithin: jl,
  5448. positionWithinBounds: lf,
  5449. getMode: function (t, n, e) {
  5450. return n.useFixed() ? 'fixed' : 'absolute'
  5451. },
  5452. reset: function (t, n, e, o) {
  5453. var r = o.element
  5454. St(['position', 'left', 'right', 'top', 'bottom'], function (t) {
  5455. return bn(r, t)
  5456. }),
  5457. sn(r, Dc),
  5458. e.clear(o.uid)
  5459. },
  5460. }),
  5461. state: Object.freeze({
  5462. __proto__: null,
  5463. init: function () {
  5464. var e = {}
  5465. return wu({
  5466. readState: function () {
  5467. return e
  5468. },
  5469. clear: function (t) {
  5470. k(t) ? delete e[t] : (e = {})
  5471. },
  5472. set: function (t, n) {
  5473. e[t] = n
  5474. },
  5475. get: function (t) {
  5476. return tt(e, t)
  5477. },
  5478. })
  5479. },
  5480. }),
  5481. }),
  5482. df = function (t) {
  5483. vr(t, Xi())
  5484. var n = t.components()
  5485. St(n, df)
  5486. },
  5487. mf = function (t) {
  5488. var n = t.components()
  5489. St(n, mf), vr(t, Gi())
  5490. },
  5491. gf = function (t, n, e) {
  5492. t.getSystem().addToWorld(n),
  5493. e(t.element, n.element),
  5494. ve(t.element) && mf(n),
  5495. t.syncComponents()
  5496. },
  5497. pf = function (t, n, e) {
  5498. e(t, n.element)
  5499. var o = Kt(n.element)
  5500. St(o, function (t) {
  5501. n.getByDom(t).each(mf)
  5502. })
  5503. },
  5504. hf = Object.freeze({
  5505. __proto__: null,
  5506. cloak: Gl,
  5507. decloak: Xl,
  5508. open: Us,
  5509. openWhileCloaked: function (t, n, e, o, r) {
  5510. Gl(t, n), Us(t, n, e, o), r(), Xl(t, n)
  5511. },
  5512. close: js,
  5513. isOpen: Gs,
  5514. isPartOf: function (n, e, t, o) {
  5515. return (
  5516. Gs(0, 0, t) &&
  5517. t.get().exists(function (t) {
  5518. return e.isPartOf(n, t, o)
  5519. })
  5520. )
  5521. },
  5522. getState: function (t, n, e) {
  5523. return e.get()
  5524. },
  5525. setContent: function (t, n, e, o) {
  5526. return e.get().map(function () {
  5527. return Ws(t, n, e, o)
  5528. })
  5529. },
  5530. }),
  5531. vf = Object.freeze({
  5532. __proto__: null,
  5533. events: function (e, o) {
  5534. return eu([
  5535. Cr(Hi(), function (t, n) {
  5536. js(t, e, o)
  5537. }),
  5538. ])
  5539. },
  5540. }),
  5541. bf = xa({
  5542. fields: [
  5543. Ju('onOpen'),
  5544. Ju('onClose'),
  5545. mo('isPartOf'),
  5546. mo('getAttachPoint'),
  5547. Eo('cloakVisibilityAttr', 'data-precloak-visibility'),
  5548. ],
  5549. name: 'sandboxing',
  5550. active: vf,
  5551. apis: hf,
  5552. state: Object.freeze({
  5553. __proto__: null,
  5554. init: function () {
  5555. var t = gc(),
  5556. n = rt('not-implemented')
  5557. return wu({
  5558. readState: n,
  5559. isOpen: t.isSet,
  5560. clear: t.clear,
  5561. set: t.set,
  5562. get: t.get,
  5563. })
  5564. },
  5565. }),
  5566. }),
  5567. yf = rt('dismiss.popups'),
  5568. xf = rt('reposition.popups'),
  5569. wf = rt('mouse.released'),
  5570. Sf = to([
  5571. Eo('isExtraPart', T),
  5572. To('fireEventInstead', [Eo('event', Yi())]),
  5573. ]),
  5574. kf = to([To('fireEventInstead', [Eo('event', qi())]), vo('doReposition')]),
  5575. Cf = Object.freeze({
  5576. __proto__: null,
  5577. onLoad: qs,
  5578. onUnload: Ks,
  5579. setValue: function (t, n, e, o) {
  5580. n.store.manager.setValue(t, n, e, o)
  5581. },
  5582. getValue: function (t, n, e) {
  5583. return n.store.manager.getValue(t, n, e)
  5584. },
  5585. getState: function (t, n, e) {
  5586. return e
  5587. },
  5588. }),
  5589. Of = Object.freeze({
  5590. __proto__: null,
  5591. events: function (e, o) {
  5592. var t = e.resetOnDom
  5593. ? [
  5594. ou(function (t, n) {
  5595. qs(t, e, o)
  5596. }),
  5597. ru(function (t, n) {
  5598. Ks(t, e, o)
  5599. }),
  5600. ]
  5601. : [ba(e, o, qs)]
  5602. return eu(t)
  5603. },
  5604. }),
  5605. _f = Object.freeze({
  5606. __proto__: null,
  5607. memory: Js,
  5608. dataset: $s,
  5609. manual: function () {
  5610. return wu({ readState: st })
  5611. },
  5612. init: function (t) {
  5613. return t.store.manager.state(t)
  5614. },
  5615. }),
  5616. Tf = [
  5617. wo('initialValue'),
  5618. mo('getFallbackEntry'),
  5619. mo('getDataKey'),
  5620. mo('setValue'),
  5621. ta('manager', {
  5622. setValue: Qs,
  5623. getValue: function (t, n, e) {
  5624. var o = n.store,
  5625. r = o.getDataKey(t)
  5626. return e.lookup(r).getOrThunk(function () {
  5627. return o.getFallbackEntry(r)
  5628. })
  5629. },
  5630. onLoad: function (n, e, o) {
  5631. e.store.initialValue.each(function (t) {
  5632. Qs(n, e, o, t)
  5633. })
  5634. },
  5635. onUnload: function (t, n, e) {
  5636. e.clear()
  5637. },
  5638. state: $s,
  5639. }),
  5640. ],
  5641. Ef = [
  5642. mo('getValue'),
  5643. Eo('setValue', st),
  5644. wo('initialValue'),
  5645. ta('manager', {
  5646. setValue: function (t, n, e, o) {
  5647. n.store.setValue(t, o), n.onSetValue(t, o)
  5648. },
  5649. getValue: function (t, n, e) {
  5650. return n.store.getValue(t)
  5651. },
  5652. onLoad: function (n, e, t) {
  5653. e.store.initialValue.each(function (t) {
  5654. e.store.setValue(n, t)
  5655. })
  5656. },
  5657. onUnload: st,
  5658. state: xu.init,
  5659. }),
  5660. ],
  5661. Df = xa({
  5662. fields: [
  5663. Do(
  5664. 'store',
  5665. { mode: 'memory' },
  5666. lo('mode', {
  5667. memory: [
  5668. wo('initialValue'),
  5669. ta('manager', {
  5670. setValue: function (t, n, e, o) {
  5671. e.set(o), n.onSetValue(t, o)
  5672. },
  5673. getValue: function (t, n, e) {
  5674. return e.get()
  5675. },
  5676. onLoad: function (t, n, e) {
  5677. n.store.initialValue.each(function (t) {
  5678. e.isNotSet() && e.set(t)
  5679. })
  5680. },
  5681. onUnload: function (t, n, e) {
  5682. e.clear()
  5683. },
  5684. state: Js,
  5685. }),
  5686. ],
  5687. manual: Ef,
  5688. dataset: Tf,
  5689. })
  5690. ),
  5691. Ju('onSetValue'),
  5692. Eo('resetOnDom', !1),
  5693. ],
  5694. name: 'representing',
  5695. active: Of,
  5696. apis: Cf,
  5697. extra: {
  5698. setValueFrom: function (t, n) {
  5699. var e = Df.getValue(n)
  5700. Df.setValue(t, e)
  5701. },
  5702. },
  5703. state: _f,
  5704. }),
  5705. Bf = Zs,
  5706. Mf = nl,
  5707. Af = 'placeholder',
  5708. Ff = Ho([
  5709. { single: ['required', 'valueThunk'] },
  5710. { multiple: ['required', 'valueThunks'] },
  5711. ]),
  5712. If = function (r, i, u, a) {
  5713. return (
  5714. (t = r),
  5715. (e = a),
  5716. (el((n = u)) && n.uiType === Af
  5717. ? ((c = n),
  5718. (s = e),
  5719. (o = t).exists(function (t) {
  5720. return t !== c.owner
  5721. })
  5722. ? Ff.single(!0, rt(c))
  5723. : tt(s, c.name).fold(
  5724. function () {
  5725. throw new Error(
  5726. 'Unknown placeholder component: ' +
  5727. c.name +
  5728. '\nKnown: [' +
  5729. Ct(s) +
  5730. ']\nNamespace: ' +
  5731. o.getOr('none') +
  5732. '\nSpec: ' +
  5733. JSON.stringify(c, null, 2)
  5734. )
  5735. },
  5736. function (t) {
  5737. return t.replace()
  5738. }
  5739. ))
  5740. : Ff.single(!1, rt(n))
  5741. ).fold(
  5742. function (t, n) {
  5743. var e = el(u) ? n(i, u.config, u.validated) : n(i),
  5744. o = z(tt(e, 'components').getOr([]), function (t) {
  5745. return If(r, i, t, a)
  5746. })
  5747. return [lt(lt({}, e), { components: o })]
  5748. },
  5749. function (t, n) {
  5750. if (el(u)) {
  5751. var e = n(i, u.config, u.validated)
  5752. return u.validated.preprocess.getOr(h)(e)
  5753. }
  5754. return n(i)
  5755. }
  5756. )
  5757. )
  5758. var t, n, e, o, c, s
  5759. },
  5760. Rf = Ff.single,
  5761. Vf = Ff.multiple,
  5762. Pf = rt(Af),
  5763. Hf = Ho([
  5764. { required: ['data'] },
  5765. { external: ['data'] },
  5766. { optional: ['data'] },
  5767. { group: ['data'] },
  5768. ]),
  5769. zf = Eo('factory', { sketch: h }),
  5770. Nf = Eo('schema', []),
  5771. Lf = mo('name'),
  5772. Wf = ar(
  5773. 'pname',
  5774. 'pname',
  5775. je(function (t) {
  5776. return '<alloy.' + Ir(t.name) + '>'
  5777. }),
  5778. Zo()
  5779. ),
  5780. Uf = cr('schema', function () {
  5781. return [wo('preprocess')]
  5782. }),
  5783. jf = Eo('defaults', rt({})),
  5784. Gf = Eo('overrides', rt({})),
  5785. Xf = $o([zf, Nf, Lf, Wf, jf, Gf]),
  5786. Yf = $o([zf, Nf, Lf, jf, Gf]),
  5787. qf = $o([zf, Nf, Lf, Wf, jf, Gf]),
  5788. Kf = $o([zf, Uf, Lf, mo('unit'), Wf, jf, Gf]),
  5789. Jf = il(Hf.required, Xf),
  5790. $f = il(Hf.external, Yf),
  5791. Qf = il(Hf.optional, qf),
  5792. Zf = il(Hf.group, Kf),
  5793. td = rt('entirety'),
  5794. nd = Object.freeze({
  5795. __proto__: null,
  5796. required: Jf,
  5797. external: $f,
  5798. optional: Qf,
  5799. group: Zf,
  5800. asNamedPart: ol,
  5801. name: rl,
  5802. asCommon: function (t) {
  5803. return t.fold(h, h, h, h)
  5804. },
  5805. original: td,
  5806. }),
  5807. ed = function (t, n) {
  5808. return { uiType: Pf(), owner: t, name: n }
  5809. },
  5810. od = Object.freeze({
  5811. __proto__: null,
  5812. generate: al,
  5813. generateOne: cl,
  5814. schemas: sl,
  5815. names: ll,
  5816. substitutes: fl,
  5817. components: dl,
  5818. defaultUids: yl,
  5819. defaultUidsSchema: xl,
  5820. getAllParts: hl,
  5821. getAllPartNames: vl,
  5822. getPart: ml,
  5823. getPartOrDie: gl,
  5824. getParts: pl,
  5825. getPartsOrDie: bl,
  5826. }),
  5827. rd = function (t) {
  5828. return Tt(t, 'uid') ? t : lt(lt({}, t), { uid: pu('uid') })
  5829. },
  5830. id = to([
  5831. mo('name'),
  5832. mo('factory'),
  5833. mo('configFields'),
  5834. Eo('apis', {}),
  5835. Eo('extraApis', {}),
  5836. ]),
  5837. ud = to([
  5838. mo('name'),
  5839. mo('factory'),
  5840. mo('configFields'),
  5841. mo('partFields'),
  5842. Eo('apis', {}),
  5843. Eo('extraApis', {}),
  5844. ]),
  5845. ad = Object.freeze({
  5846. __proto__: null,
  5847. getCurrent: function (t, n, e) {
  5848. return n.find(t)
  5849. },
  5850. }),
  5851. cd = xa({ fields: [mo('find')], name: 'composing', apis: ad }),
  5852. sd = ['input', 'button', 'textarea', 'select'],
  5853. ld = function (n, t, e) {
  5854. t.disableClass.each(function (t) {
  5855. Yr(n.element, t)
  5856. }),
  5857. (Tl(n, t)
  5858. ? function (t) {
  5859. on(t.element, 'disabled', 'disabled')
  5860. }
  5861. : function (t) {
  5862. on(t.element, 'aria-disabled', 'true')
  5863. })(n),
  5864. t.onDisabled(n)
  5865. },
  5866. fd = function (n, t, e) {
  5867. t.disableClass.each(function (t) {
  5868. qr(n.element, t)
  5869. }),
  5870. (Tl(n, t)
  5871. ? function (t) {
  5872. sn(t.element, 'disabled')
  5873. }
  5874. : function (t) {
  5875. on(t.element, 'aria-disabled', 'false')
  5876. })(n),
  5877. t.onEnabled(n)
  5878. },
  5879. dd = Object.freeze({
  5880. __proto__: null,
  5881. enable: fd,
  5882. disable: ld,
  5883. isDisabled: El,
  5884. onLoad: _l,
  5885. set: function (t, n, e, o) {
  5886. ;(o ? ld : fd)(t, n)
  5887. },
  5888. }),
  5889. md = Object.freeze({
  5890. __proto__: null,
  5891. exhibit: function (t, n) {
  5892. return Lr({ classes: n.disabled() ? n.disableClass.toArray() : [] })
  5893. },
  5894. events: function (e, t) {
  5895. return eu([
  5896. Sr(Ii(), function (t, n) {
  5897. return El(t, e)
  5898. }),
  5899. ba(e, t, _l),
  5900. ])
  5901. },
  5902. }),
  5903. gd = xa({
  5904. fields: [
  5905. Io('disabled', T),
  5906. Eo('useNative', !0),
  5907. wo('disableClass'),
  5908. Ju('onDisabled'),
  5909. Ju('onEnabled'),
  5910. ],
  5911. name: 'disabling',
  5912. active: md,
  5913. apis: dd,
  5914. }),
  5915. pd = Object.freeze({
  5916. __proto__: null,
  5917. dehighlightAll: function (t, n, e) {
  5918. return Dl(t, n, 0, [])
  5919. },
  5920. dehighlight: function (t, n, e, o) {
  5921. Yl(0, n, 0, o) &&
  5922. (qr(o.element, n.highlightClass), n.onDehighlight(t, o), vr(o, tu()))
  5923. },
  5924. highlight: Bl,
  5925. highlightFirst: function (n, e, t) {
  5926. ql(n, e).each(function (t) {
  5927. Bl(n, e, 0, t)
  5928. })
  5929. },
  5930. highlightLast: function (n, e, t) {
  5931. Kl(n, e).each(function (t) {
  5932. Bl(n, e, 0, t)
  5933. })
  5934. },
  5935. highlightAt: function (n, e, t, o) {
  5936. var r, i, u
  5937. ;(i = o),
  5938. (u = vs((r = n).element, '.' + e.itemClass)),
  5939. vt
  5940. .from(u[i])
  5941. .fold(function () {
  5942. return Ve.error(new Error('No element found with index ' + i))
  5943. }, r.getSystem().getByDom)
  5944. .fold(
  5945. function (t) {
  5946. throw t
  5947. },
  5948. function (t) {
  5949. Bl(n, e, 0, t)
  5950. }
  5951. )
  5952. },
  5953. highlightBy: function (n, e, t, o) {
  5954. V(Jl(n, e), o).each(function (t) {
  5955. Bl(n, e, 0, t)
  5956. })
  5957. },
  5958. isHighlighted: Yl,
  5959. getHighlighted: function (n, t, e) {
  5960. return Iu(n.element, '.' + t.highlightClass).bind(function (t) {
  5961. return n.getSystem().getByDom(t).toOptional()
  5962. })
  5963. },
  5964. getFirst: ql,
  5965. getLast: Kl,
  5966. getPrevious: function (t, n, e) {
  5967. return Ml(t, n, 0, -1)
  5968. },
  5969. getNext: function (t, n, e) {
  5970. return Ml(t, n, 0, 1)
  5971. },
  5972. getCandidates: Jl,
  5973. }),
  5974. hd = xa({
  5975. fields: [
  5976. mo('highlightClass'),
  5977. mo('itemClass'),
  5978. Ju('onHighlight'),
  5979. Ju('onDehighlight'),
  5980. ],
  5981. name: 'highlighting',
  5982. apis: pd,
  5983. }),
  5984. vd = [8],
  5985. bd = [9],
  5986. yd = [13],
  5987. xd = [27],
  5988. wd = [32],
  5989. Sd = [37],
  5990. kd = [38],
  5991. Cd = [39],
  5992. Od = [40],
  5993. _d = O(Hl)
  5994. function Td(t, n, e, o, a) {
  5995. function c(n, e, t, o, r) {
  5996. var i = t(n, e, o, r),
  5997. u = e.event
  5998. return V(i, function (t) {
  5999. return t.matches(u)
  6000. })
  6001. .map(function (t) {
  6002. return t.classification
  6003. })
  6004. .bind(function (t) {
  6005. return t(n, e, o, r)
  6006. })
  6007. }
  6008. var r = {
  6009. schema: function () {
  6010. return t.concat([
  6011. Eo('focusManager', Wl()),
  6012. Do(
  6013. 'focusInside',
  6014. 'onFocus',
  6015. io(function (t) {
  6016. return wt(['onFocus', 'onEnterOrSpace', 'onApi'], t)
  6017. ? Ve.value(t)
  6018. : Ve.error('Invalid value for focusInside')
  6019. })
  6020. ),
  6021. ta('handler', r),
  6022. ta('state', n),
  6023. ta('sendFocusIn', a),
  6024. ])
  6025. },
  6026. processKey: c,
  6027. toEvents: function (i, u) {
  6028. var t =
  6029. i.focusInside !== Zl.OnFocusMode
  6030. ? vt.none()
  6031. : a(i).map(function (e) {
  6032. return Cr(Bi(), function (t, n) {
  6033. e(t, i, u), n.stop()
  6034. })
  6035. }),
  6036. n = [
  6037. Cr(xi(), function (o, r) {
  6038. c(o, r, e, i, u).fold(
  6039. function () {
  6040. var n = o,
  6041. e = r,
  6042. t = Vl(wd.concat(yd))(e.event)
  6043. i.focusInside === Zl.OnEnterOrSpaceMode &&
  6044. t &&
  6045. gr(n, e) &&
  6046. a(i).each(function (t) {
  6047. t(n, i, u), e.stop()
  6048. })
  6049. },
  6050. function (t) {
  6051. r.stop()
  6052. }
  6053. )
  6054. }),
  6055. Cr(wi(), function (t, n) {
  6056. c(t, n, o, i, u).each(function (t) {
  6057. n.stop()
  6058. })
  6059. }),
  6060. ]
  6061. return eu(t.toArray().concat(n))
  6062. },
  6063. }
  6064. return r
  6065. }
  6066. function Ed(t) {
  6067. function a(t, n) {
  6068. return (
  6069. 0 <
  6070. wn(
  6071. t.visibilitySelector
  6072. .bind(function (t) {
  6073. return Ru(n, t)
  6074. })
  6075. .getOr(n)
  6076. )
  6077. )
  6078. }
  6079. function n(n, e, t) {
  6080. var o = e,
  6081. r = F(vs(n.element, o.selector), function (t) {
  6082. return a(o, t)
  6083. })
  6084. vt.from(r[o.firstTabstop]).each(function (t) {
  6085. e.focusManager.set(n, t)
  6086. })
  6087. }
  6088. function o(e, t, r, i) {
  6089. var n,
  6090. u = vs(e.element, r.selector)
  6091. return (n = r).focusManager
  6092. .get(e)
  6093. .bind(function (t) {
  6094. return Ru(t, n.selector)
  6095. })
  6096. .bind(function (t) {
  6097. return P(u, C(Lt, t)).bind(function (t) {
  6098. return (
  6099. (n = e),
  6100. (o = r),
  6101. i(u, t, function (t) {
  6102. return a((n = o), (e = t)) && n.useTabstopAt(e)
  6103. var n, e
  6104. }).fold(
  6105. function () {
  6106. return o.cyclic ? vt.some(!0) : vt.none()
  6107. },
  6108. function (t) {
  6109. return o.focusManager.set(n, t), vt.some(!0)
  6110. }
  6111. )
  6112. )
  6113. var n, o
  6114. })
  6115. })
  6116. }
  6117. var e = [
  6118. wo('onEscape'),
  6119. wo('onEnter'),
  6120. Eo('selector', '[data-alloy-tabstop="true"]:not(:disabled)'),
  6121. Eo('firstTabstop', 0),
  6122. Eo('useTabstopAt', D),
  6123. wo('visibilitySelector'),
  6124. ].concat([t]),
  6125. r = rt([
  6126. Nl(Pl([Hl, Vl(bd)]), function (t, n, e) {
  6127. return o(t, 0, e, e.cyclic ? Al : Fl)
  6128. }),
  6129. Nl(Vl(bd), function (t, n, e) {
  6130. return o(t, 0, e, e.cyclic ? Il : Rl)
  6131. }),
  6132. Nl(Vl(xd), function (n, e, t) {
  6133. return t.onEscape.bind(function (t) {
  6134. return t(n, e)
  6135. })
  6136. }),
  6137. Nl(Pl([_d, Vl(yd)]), function (n, e, t) {
  6138. return t.onEnter.bind(function (t) {
  6139. return t(n, e)
  6140. })
  6141. }),
  6142. ]),
  6143. i = rt([])
  6144. return Td(e, xu.init, r, i, function () {
  6145. return vt.some(n)
  6146. })
  6147. }
  6148. function Dd(t, n, e) {
  6149. return Ol(e) && Vl(wd)(n.event) ? vt.none() : (xr(t, e, Ii()), vt.some(!0))
  6150. }
  6151. function Bd(t, n) {
  6152. return vt.some(!0)
  6153. }
  6154. function Md(t, n, e) {
  6155. return e.execute(t, n, t.element)
  6156. }
  6157. function Ad() {
  6158. var e = gc()
  6159. return wu({
  6160. readState: function () {
  6161. return e
  6162. .get()
  6163. .map(function (t) {
  6164. return {
  6165. numRows: String(t.numRows),
  6166. numColumns: String(t.numColumns),
  6167. }
  6168. })
  6169. .getOr({ numRows: '?', numColumns: '?' })
  6170. },
  6171. setGridSize: function (t, n) {
  6172. e.set({ numRows: t, numColumns: n })
  6173. },
  6174. getNumRows: function () {
  6175. return e.get().map(function (t) {
  6176. return t.numRows
  6177. })
  6178. },
  6179. getNumColumns: function () {
  6180. return e.get().map(function (t) {
  6181. return t.numColumns
  6182. })
  6183. },
  6184. })
  6185. }
  6186. function Fd(i) {
  6187. return function (t, n, e, o) {
  6188. var r = i(t.element)
  6189. return tg(r, t, n, e, o)
  6190. }
  6191. }
  6192. function Id(t, n) {
  6193. return Fd(Cc(t, n))
  6194. }
  6195. function Rd(t, n) {
  6196. return Fd(Cc(n, t))
  6197. }
  6198. function Vd(r) {
  6199. return function (t, n, e, o) {
  6200. return tg(r, t, n, e, o)
  6201. }
  6202. }
  6203. function Pd(t) {
  6204. return !((n = t.dom).offsetWidth <= 0 && n.offsetHeight <= 0)
  6205. var n
  6206. }
  6207. function Hd(t, n, e) {
  6208. var o,
  6209. r = F(vs(t, e), Pd)
  6210. return P((o = r), function (t) {
  6211. return Lt(t, n)
  6212. }).map(function (t) {
  6213. return { index: t, candidates: o }
  6214. })
  6215. }
  6216. function zd(t, n) {
  6217. return P(t, function (t) {
  6218. return Lt(n, t)
  6219. })
  6220. }
  6221. function Nd(e, t, o, n) {
  6222. return n(Math.floor(t / o), t % o).bind(function (t) {
  6223. var n = t.row * o + t.column
  6224. return 0 <= n && n < e.length ? vt.some(e[n]) : vt.none()
  6225. })
  6226. }
  6227. function Ld(r, t, i, u, a) {
  6228. return Nd(r, t, u, function (t, n) {
  6229. var e = t === i - 1 ? r.length - t * u : u,
  6230. o = oa(n, a, 0, e - 1)
  6231. return vt.some({ row: t, column: o })
  6232. })
  6233. }
  6234. function Wd(i, t, u, a, c) {
  6235. return Nd(i, t, a, function (t, n) {
  6236. var e = oa(t, c, 0, u - 1),
  6237. o = e === u - 1 ? i.length - e * a : a,
  6238. r = ja(n, 0, o - 1)
  6239. return vt.some({ row: e, column: r })
  6240. })
  6241. }
  6242. function Ud(n, e, t) {
  6243. Iu(n.element, e.selector).each(function (t) {
  6244. e.focusManager.set(n, t)
  6245. })
  6246. }
  6247. function jd(r) {
  6248. return function (t, n, e, o) {
  6249. return Hd(t, n, e.selector).bind(function (t) {
  6250. return r(
  6251. t.candidates,
  6252. t.index,
  6253. o.getNumRows().getOr(e.initSize.numRows),
  6254. o.getNumColumns().getOr(e.initSize.numColumns)
  6255. )
  6256. })
  6257. }
  6258. }
  6259. function Gd(t, n, e) {
  6260. return e.captureTab ? vt.some(!0) : vt.none()
  6261. }
  6262. function Xd(t, n, e, i) {
  6263. var u = function (t, n, e) {
  6264. var o,
  6265. r = oa(n, i, 0, e.length - 1)
  6266. return r === t
  6267. ? vt.none()
  6268. : 'button' === Ft((o = e[r])) && 'disabled' === un(o, 'disabled')
  6269. ? u(t, r, e)
  6270. : vt.from(e[r])
  6271. }
  6272. return Hd(t, e, n).bind(function (t) {
  6273. var n = t.index,
  6274. e = t.candidates
  6275. return u(n, n, e)
  6276. })
  6277. }
  6278. function Yd(n, e, o) {
  6279. return (r = o).focusManager
  6280. .get(n)
  6281. .bind(function (t) {
  6282. return Ru(t, r.selector)
  6283. })
  6284. .bind(function (t) {
  6285. return o.execute(n, e, t)
  6286. })
  6287. var r
  6288. }
  6289. function qd(n, e, t) {
  6290. e.getInitial(n)
  6291. .orThunk(function () {
  6292. return Iu(n.element, e.selector)
  6293. })
  6294. .each(function (t) {
  6295. e.focusManager.set(n, t)
  6296. })
  6297. }
  6298. function Kd(t, n, e) {
  6299. return Xd(t, e.selector, n, -1)
  6300. }
  6301. function Jd(t, n, e) {
  6302. return Xd(t, e.selector, n, 1)
  6303. }
  6304. function $d(r) {
  6305. return function (t, n, e, o) {
  6306. return r(t, n, e, o).bind(function () {
  6307. return e.executeOnMove ? Yd(t, n, e) : vt.some(!0)
  6308. })
  6309. }
  6310. }
  6311. function Qd(t, n, e) {
  6312. return e.onEscape(t, n)
  6313. }
  6314. function Zd(t, n, e) {
  6315. return vt.from(t[n]).bind(function (t) {
  6316. return vt.from(t[e]).map(function (t) {
  6317. return { rowIndex: n, columnIndex: e, cell: t }
  6318. })
  6319. })
  6320. }
  6321. function tm(t, n, e, o) {
  6322. return Zd(t, n, oa(e, o, 0, t[n].length - 1))
  6323. }
  6324. function nm(t, n, e, o) {
  6325. var r = oa(e, o, 0, t.length - 1),
  6326. i = t[r].length
  6327. return Zd(t, r, ja(n, 0, i - 1))
  6328. }
  6329. function em(t, n, e, o) {
  6330. var r = t[n].length
  6331. return Zd(t, n, ja(e + o, 0, r - 1))
  6332. }
  6333. function om(t, n, e, o) {
  6334. var r = ja(e + o, 0, t.length - 1),
  6335. i = t[r].length
  6336. return Zd(t, r, ja(n, 0, i - 1))
  6337. }
  6338. function rm(n, e, t) {
  6339. e.previousSelector(n)
  6340. .orThunk(function () {
  6341. var t = e.selectors
  6342. return Iu(n.element, t.cell)
  6343. })
  6344. .each(function (t) {
  6345. e.focusManager.set(n, t)
  6346. })
  6347. }
  6348. function im(t, o) {
  6349. return function (n, e, i) {
  6350. var u = i.cycles ? t : o
  6351. return Ru(e, i.selectors.row).bind(function (t) {
  6352. return zd(vs(t, i.selectors.cell), e).bind(function (o) {
  6353. var r = vs(n, i.selectors.row)
  6354. return zd(r, t).bind(function (t) {
  6355. var n,
  6356. e =
  6357. ((n = i),
  6358. M(r, function (t) {
  6359. return vs(t, n.selectors.cell)
  6360. }))
  6361. return u(e, t, o).map(function (t) {
  6362. return t.cell
  6363. })
  6364. })
  6365. })
  6366. })
  6367. }
  6368. }
  6369. function um(n, e, o) {
  6370. return o.focusManager.get(n).bind(function (t) {
  6371. return o.execute(n, e, t)
  6372. })
  6373. }
  6374. function am(n, e, t) {
  6375. Iu(n.element, e.selector).each(function (t) {
  6376. e.focusManager.set(n, t)
  6377. })
  6378. }
  6379. function cm(t, n, e) {
  6380. return Xd(t, e.selector, n, -1)
  6381. }
  6382. function sm(t, n, e) {
  6383. return Xd(t, e.selector, n, 1)
  6384. }
  6385. function lm(t, n, e, o) {
  6386. var r = t.getSystem().build(o)
  6387. gf(t, r, e)
  6388. }
  6389. function fm(t, n, e, o) {
  6390. V(Ig(t), function (t) {
  6391. return Lt(o.element, t.element)
  6392. }).each(Hs)
  6393. }
  6394. function dm(n, t, e, r, o) {
  6395. var i = Ig(n)
  6396. return vt.from(i[r]).map(function (t) {
  6397. return (
  6398. fm(n, 0, 0, t),
  6399. o.each(function (t) {
  6400. lm(
  6401. n,
  6402. 0,
  6403. function (t, n) {
  6404. var e,
  6405. o = n
  6406. Jt((e = t), r).fold(
  6407. function () {
  6408. Te(e, o)
  6409. },
  6410. function (t) {
  6411. Dn(t, o)
  6412. }
  6413. )
  6414. },
  6415. t
  6416. )
  6417. }),
  6418. t
  6419. )
  6420. })
  6421. }
  6422. function mm(t, n) {
  6423. var e, o
  6424. return {
  6425. key: t,
  6426. value: {
  6427. config: {},
  6428. me:
  6429. ((e = t),
  6430. (o = eu(n)),
  6431. xa({ fields: [mo('enabled')], name: e, active: { events: rt(o) } })),
  6432. configAsRaw: rt({}),
  6433. initialConfig: {},
  6434. state: xu,
  6435. },
  6436. }
  6437. }
  6438. function gm(t, n) {
  6439. n.ignore || (ka(t.element), n.onFocus(t))
  6440. }
  6441. function pm(t, n, e) {
  6442. var o = n.aria
  6443. o.update(t, o, e.get())
  6444. }
  6445. function hm(n, t, e) {
  6446. t.toggleClass.each(function (t) {
  6447. ;(e.get() ? Yr : qr)(n.element, t)
  6448. })
  6449. }
  6450. function vm(t, n, e) {
  6451. Ym(t, n, e, !e.get())
  6452. }
  6453. function bm(t, n, e) {
  6454. e.set(!0), hm(t, n, e), pm(t, n, e)
  6455. }
  6456. function ym(t, n, e) {
  6457. e.set(!1), hm(t, n, e), pm(t, n, e)
  6458. }
  6459. function xm(t, n, e) {
  6460. Ym(t, n, e, n.selected)
  6461. }
  6462. function wm() {
  6463. function t(t, n) {
  6464. n.stop(), yr(t)
  6465. }
  6466. return [Cr(Ci(), t), Cr(Vi(), t), Dr(si()), Dr(mi())]
  6467. }
  6468. function Sm(t) {
  6469. return eu(
  6470. ft([
  6471. t
  6472. .map(function (e) {
  6473. return uu(function (t, n) {
  6474. e(t), n.stop()
  6475. })
  6476. })
  6477. .toArray(),
  6478. wm(),
  6479. ])
  6480. )
  6481. }
  6482. function km(t) {
  6483. ;(_a(t.element).isNone() || Hg.isFocused(t)) &&
  6484. (Hg.isFocused(t) || Hg.focus(t), br(t, Wg, { item: t }))
  6485. }
  6486. function Cm(t) {
  6487. br(t, Ug, { item: t })
  6488. }
  6489. function Om(t, n) {
  6490. return t.x + t.width / 2 - n.width / 2
  6491. }
  6492. function _m(t, n) {
  6493. return t.x + t.width - n.width
  6494. }
  6495. function Tm(t, n) {
  6496. return t.y + t.height - n.height
  6497. }
  6498. function Em(t, n) {
  6499. return t.y + t.height / 2 - n.height / 2
  6500. }
  6501. function Dm(t, n, e) {
  6502. return ea(
  6503. _m(t, n),
  6504. Tm(t, n),
  6505. e.insetSouthwest(),
  6506. za(),
  6507. 'southwest',
  6508. ra(t, { right: 0, bottom: 3 }),
  6509. ap
  6510. )
  6511. }
  6512. function Bm(t, n, e) {
  6513. return ea(
  6514. t.x,
  6515. Tm(t, n),
  6516. e.insetSoutheast(),
  6517. Ha(),
  6518. 'southeast',
  6519. ra(t, { left: 1, bottom: 3 }),
  6520. ap
  6521. )
  6522. }
  6523. function Mm(t, n, e) {
  6524. return ea(
  6525. _m(t, n),
  6526. t.y,
  6527. e.insetNorthwest(),
  6528. Pa(),
  6529. 'northwest',
  6530. ra(t, { right: 0, top: 2 }),
  6531. ap
  6532. )
  6533. }
  6534. function Am(t, n, e) {
  6535. return ea(
  6536. t.x,
  6537. t.y,
  6538. e.insetNortheast(),
  6539. Va(),
  6540. 'northeast',
  6541. ra(t, { left: 1, top: 2 }),
  6542. ap
  6543. )
  6544. }
  6545. function Fm(t, n, e) {
  6546. return ea(
  6547. _m(t, n),
  6548. Em(t, n),
  6549. e.insetEast(),
  6550. Ua(),
  6551. 'east',
  6552. ra(t, { right: 0 }),
  6553. ap
  6554. )
  6555. }
  6556. function Im(t, n, e) {
  6557. return ea(
  6558. t.x,
  6559. Em(t, n),
  6560. e.insetWest(),
  6561. Wa(),
  6562. 'west',
  6563. ra(t, { left: 1 }),
  6564. ap
  6565. )
  6566. }
  6567. function Rm(t) {
  6568. switch (t) {
  6569. case 'north':
  6570. return cp
  6571. case 'northeast':
  6572. return Am
  6573. case 'northwest':
  6574. return Mm
  6575. case 'south':
  6576. return sp
  6577. case 'southeast':
  6578. return Bm
  6579. case 'southwest':
  6580. return Dm
  6581. case 'east':
  6582. return Fm
  6583. case 'west':
  6584. return Im
  6585. }
  6586. }
  6587. function Vm(t, n, e, o, r) {
  6588. return sc(o).map(Rm).getOr(cp)(t, n, e, o, r)
  6589. }
  6590. function Pm(t) {
  6591. switch (t) {
  6592. case 'north':
  6593. return sp
  6594. case 'northeast':
  6595. return Bm
  6596. case 'northwest':
  6597. return Dm
  6598. case 'south':
  6599. return cp
  6600. case 'southeast':
  6601. return Am
  6602. case 'southwest':
  6603. return Mm
  6604. case 'east':
  6605. return Im
  6606. case 'west':
  6607. return Fm
  6608. }
  6609. }
  6610. function Hm(t, n, e, o, r) {
  6611. return sc(o).map(Pm).getOr(cp)(t, n, e, o, r)
  6612. }
  6613. function zm(t) {
  6614. var n = void 0 !== t.uid && nt(t, 'uid') ? t.uid : pu('memento')
  6615. return {
  6616. get: function (t) {
  6617. return t.getSystem().getByUid(n).getOrDie()
  6618. },
  6619. getOpt: function (t) {
  6620. return t.getSystem().getByUid(n).toOptional()
  6621. },
  6622. asSpec: function () {
  6623. return lt(lt({}, t), { uid: n })
  6624. },
  6625. }
  6626. }
  6627. function Nm(t) {
  6628. return function () {
  6629. return tt(t, gp).getOr('!not found!')
  6630. }
  6631. }
  6632. function Lm(t, n) {
  6633. var e,
  6634. o = t.toLowerCase()
  6635. if (dp.isRtl()) {
  6636. var r = Bt((e = o), '-rtl') ? e : e + '-rtl'
  6637. return Tt(n, r) ? r : o
  6638. }
  6639. return o
  6640. }
  6641. function Wm(t, n) {
  6642. return tt(n, Lm(t, n))
  6643. }
  6644. function Um(t, n) {
  6645. var e = n()
  6646. return Wm(t, e).getOrThunk(Nm(e))
  6647. }
  6648. function jm() {
  6649. return mm('add-focusable', [
  6650. ou(function (t) {
  6651. var n, e, o
  6652. ;(n = t.element),
  6653. (e = 'svg'),
  6654. (o = function (t) {
  6655. return zt(t, e)
  6656. }),
  6657. V(n.dom.childNodes, function (t) {
  6658. return o(At.fromDom(t))
  6659. })
  6660. .map(At.fromDom)
  6661. .each(function (t) {
  6662. return on(t, 'focusable', 'false')
  6663. })
  6664. }),
  6665. ])
  6666. }
  6667. function Gm(t, n, e, o) {
  6668. var r,
  6669. i,
  6670. u,
  6671. a = ((u = n), dp.isRtl() && Tt(mp, u) ? ['tox-icon--flip'] : []),
  6672. c = tt(e, Lm(n, e)).or(o).getOrThunk(Nm(e))
  6673. return {
  6674. dom: {
  6675. tag: t.tag,
  6676. attributes: null !== (r = t.attributes) && void 0 !== r ? r : {},
  6677. classes: t.classes.concat(a),
  6678. innerHtml: c,
  6679. },
  6680. behaviours: nc(
  6681. H(
  6682. H([], null !== (i = t.behaviours) && void 0 !== i ? i : [], !0),
  6683. [jm()],
  6684. !1
  6685. )
  6686. ),
  6687. }
  6688. }
  6689. function Xm(t, n, e, o) {
  6690. return void 0 === o && (o = vt.none()), Gm(n, t, e(), o)
  6691. }
  6692. ;((tf = Zl = Zl || {}).OnFocusMode = 'onFocus'),
  6693. (tf.OnEnterOrSpaceMode = 'onEnterOrSpace'),
  6694. (tf.OnApiMode = 'onApi')
  6695. function Ym(t, n, e, o) {
  6696. ;(o ? bm : ym)(t, n, e)
  6697. }
  6698. function qm(t, n, e) {
  6699. on(t.element, 'aria-expanded', e)
  6700. }
  6701. function Km(t) {
  6702. return 'prepared' === t.type ? vt.some(t.menu) : vt.none()
  6703. }
  6704. var Jm = Ed(cr('cyclic', T)),
  6705. $m = Ed(cr('cyclic', D)),
  6706. Qm = Td(
  6707. [
  6708. Eo('execute', Dd),
  6709. Eo('useSpace', !1),
  6710. Eo('useEnter', !0),
  6711. Eo('useControlEnter', !1),
  6712. Eo('useDown', !1),
  6713. ],
  6714. xu.init,
  6715. function (t, n, e, o) {
  6716. var r = e.useSpace && !Ol(t.element) ? wd : [],
  6717. i = e.useEnter ? yd : [],
  6718. u = e.useDown ? Od : []
  6719. return [Nl(Vl(r.concat(i).concat(u)), Md)].concat(
  6720. e.useControlEnter ? [Nl(Pl([zl, Vl(yd)]), Md)] : []
  6721. )
  6722. },
  6723. function (t, n, e, o) {
  6724. return e.useSpace && !Ol(t.element) ? [Nl(Vl(wd), Bd)] : []
  6725. },
  6726. function () {
  6727. return vt.none()
  6728. }
  6729. ),
  6730. Zm = Object.freeze({
  6731. __proto__: null,
  6732. flatgrid: Ad,
  6733. init: function (t) {
  6734. return t.state(t)
  6735. },
  6736. }),
  6737. tg = function (n, e, t, o, r) {
  6738. return o.focusManager
  6739. .get(e)
  6740. .bind(function (t) {
  6741. return n(e.element, t, o, r)
  6742. })
  6743. .map(function (t) {
  6744. return o.focusManager.set(e, t), !0
  6745. })
  6746. },
  6747. ng = Vd,
  6748. eg = Vd,
  6749. og = Vd,
  6750. rg = jd(function (t, n, e, o) {
  6751. return Ld(t, n, e, o, -1)
  6752. }),
  6753. ig = jd(function (t, n, e, o) {
  6754. return Ld(t, n, e, o, 1)
  6755. }),
  6756. ug = jd(function (t, n, e, o) {
  6757. return Wd(t, n, e, o, -1)
  6758. }),
  6759. ag = jd(function (t, n, e, o) {
  6760. return Wd(t, n, e, o, 1)
  6761. }),
  6762. cg = Td(
  6763. [
  6764. mo('selector'),
  6765. Eo('execute', Dd),
  6766. $u('onEscape'),
  6767. Eo('captureTab', !1),
  6768. Ia(),
  6769. ],
  6770. Ad,
  6771. rt([
  6772. Nl(Vl(Sd), Id(rg, ig)),
  6773. Nl(Vl(Cd), Rd(rg, ig)),
  6774. Nl(Vl(kd), ng(ug)),
  6775. Nl(Vl(Od), eg(ag)),
  6776. Nl(Pl([Hl, Vl(bd)]), Gd),
  6777. Nl(Pl([_d, Vl(bd)]), Gd),
  6778. Nl(Vl(xd), function (t, n, e) {
  6779. return e.onEscape(t, n)
  6780. }),
  6781. Nl(Vl(wd.concat(yd)), function (n, e, o, t) {
  6782. return (r = o).focusManager
  6783. .get(n)
  6784. .bind(function (t) {
  6785. return Ru(t, r.selector)
  6786. })
  6787. .bind(function (t) {
  6788. return o.execute(n, e, t)
  6789. })
  6790. var r
  6791. }),
  6792. ]),
  6793. rt([Nl(Vl(wd), Bd)]),
  6794. function () {
  6795. return vt.some(Ud)
  6796. }
  6797. ),
  6798. sg = [
  6799. mo('selector'),
  6800. Eo('getInitial', vt.none),
  6801. Eo('execute', Dd),
  6802. $u('onEscape'),
  6803. Eo('executeOnMove', !1),
  6804. Eo('allowVertical', !0),
  6805. ],
  6806. lg = rt([Nl(Vl(wd), Bd)]),
  6807. fg = Td(
  6808. sg,
  6809. xu.init,
  6810. function (t, n, e, o) {
  6811. var r = Sd.concat(e.allowVertical ? kd : []),
  6812. i = Cd.concat(e.allowVertical ? Od : [])
  6813. return [
  6814. Nl(Vl(r), $d(Id(Kd, Jd))),
  6815. Nl(Vl(i), $d(Rd(Kd, Jd))),
  6816. Nl(Vl(yd), Yd),
  6817. Nl(Vl(wd), Yd),
  6818. Nl(Vl(xd), Qd),
  6819. ]
  6820. },
  6821. lg,
  6822. function () {
  6823. return vt.some(qd)
  6824. }
  6825. ),
  6826. dg = [
  6827. bo('selectors', [mo('row'), mo('cell')]),
  6828. Eo('cycles', !0),
  6829. Eo('previousSelector', vt.none),
  6830. Eo('execute', Dd),
  6831. ],
  6832. mg = im(
  6833. function (t, n, e) {
  6834. return tm(t, n, e, -1)
  6835. },
  6836. function (t, n, e) {
  6837. return em(t, n, e, -1)
  6838. }
  6839. ),
  6840. gg = im(
  6841. function (t, n, e) {
  6842. return tm(t, n, e, 1)
  6843. },
  6844. function (t, n, e) {
  6845. return em(t, n, e, 1)
  6846. }
  6847. ),
  6848. pg = im(
  6849. function (t, n, e) {
  6850. return nm(t, e, n, -1)
  6851. },
  6852. function (t, n, e) {
  6853. return om(t, e, n, -1)
  6854. }
  6855. ),
  6856. hg = im(
  6857. function (t, n, e) {
  6858. return nm(t, e, n, 1)
  6859. },
  6860. function (t, n, e) {
  6861. return om(t, e, n, 1)
  6862. }
  6863. ),
  6864. vg = rt([
  6865. Nl(Vl(Sd), Id(mg, gg)),
  6866. Nl(Vl(Cd), Rd(mg, gg)),
  6867. Nl(Vl(kd), ng(pg)),
  6868. Nl(Vl(Od), eg(hg)),
  6869. Nl(Vl(wd.concat(yd)), function (n, e, o) {
  6870. return _a(n.element).bind(function (t) {
  6871. return o.execute(n, e, t)
  6872. })
  6873. }),
  6874. ]),
  6875. bg = rt([Nl(Vl(wd), Bd)]),
  6876. yg = Td(dg, xu.init, vg, bg, function () {
  6877. return vt.some(rm)
  6878. }),
  6879. xg = [mo('selector'), Eo('execute', Dd), Eo('moveOnTab', !1)],
  6880. wg = rt([
  6881. Nl(Vl(kd), og(cm)),
  6882. Nl(Vl(Od), og(sm)),
  6883. Nl(Pl([Hl, Vl(bd)]), function (t, n, e, o) {
  6884. return e.moveOnTab ? og(cm)(t, n, e, o) : vt.none()
  6885. }),
  6886. Nl(Pl([_d, Vl(bd)]), function (t, n, e, o) {
  6887. return e.moveOnTab ? og(sm)(t, n, e, o) : vt.none()
  6888. }),
  6889. Nl(Vl(yd), um),
  6890. Nl(Vl(wd), um),
  6891. ]),
  6892. Sg = rt([Nl(Vl(wd), Bd)]),
  6893. kg = Td(xg, xu.init, wg, Sg, function () {
  6894. return vt.some(am)
  6895. }),
  6896. Cg = Td(
  6897. [
  6898. $u('onSpace'),
  6899. $u('onEnter'),
  6900. $u('onShiftEnter'),
  6901. $u('onLeft'),
  6902. $u('onRight'),
  6903. $u('onTab'),
  6904. $u('onShiftTab'),
  6905. $u('onUp'),
  6906. $u('onDown'),
  6907. $u('onEscape'),
  6908. Eo('stopSpaceKeyup', !1),
  6909. wo('focusIn'),
  6910. ],
  6911. xu.init,
  6912. function (t, n, e) {
  6913. return [
  6914. Nl(Vl(wd), e.onSpace),
  6915. Nl(Pl([_d, Vl(yd)]), e.onEnter),
  6916. Nl(Pl([Hl, Vl(yd)]), e.onShiftEnter),
  6917. Nl(Pl([Hl, Vl(bd)]), e.onShiftTab),
  6918. Nl(Pl([_d, Vl(bd)]), e.onTab),
  6919. Nl(Vl(kd), e.onUp),
  6920. Nl(Vl(Od), e.onDown),
  6921. Nl(Vl(Sd), e.onLeft),
  6922. Nl(Vl(Cd), e.onRight),
  6923. Nl(Vl(wd), e.onSpace),
  6924. Nl(Vl(xd), e.onEscape),
  6925. ]
  6926. },
  6927. function (t, n, e) {
  6928. return e.stopSpaceKeyup ? [Nl(Vl(wd), Bd)] : []
  6929. },
  6930. function (t) {
  6931. return t.focusIn
  6932. }
  6933. ),
  6934. Og = Jm.schema(),
  6935. _g = $m.schema(),
  6936. Tg = fg.schema(),
  6937. Eg = cg.schema(),
  6938. Dg = yg.schema(),
  6939. Bg = Qm.schema(),
  6940. Mg = kg.schema(),
  6941. Ag = Cg.schema(),
  6942. Fg = wa({
  6943. branchKey: 'mode',
  6944. branches: Object.freeze({
  6945. __proto__: null,
  6946. acyclic: Og,
  6947. cyclic: _g,
  6948. flow: Tg,
  6949. flatgrid: Eg,
  6950. matrix: Dg,
  6951. execution: Bg,
  6952. menu: Mg,
  6953. special: Ag,
  6954. }),
  6955. name: 'keying',
  6956. active: {
  6957. events: function (t, n) {
  6958. return t.handler.toEvents(t, n)
  6959. },
  6960. },
  6961. apis: {
  6962. focusIn: function (n, e, o) {
  6963. e.sendFocusIn(e).fold(
  6964. function () {
  6965. n.getSystem().triggerFocus(n.element, n.element)
  6966. },
  6967. function (t) {
  6968. t(n, e, o)
  6969. }
  6970. )
  6971. },
  6972. setGridSize: function (t, n, e, o, r) {
  6973. nt(e, 'setGridSize')
  6974. ? e.setGridSize(o, r)
  6975. : console.error('Layout does not support setGridSize')
  6976. },
  6977. },
  6978. state: Zm,
  6979. }),
  6980. Ig = function (t, n) {
  6981. return t.components()
  6982. },
  6983. Rg = xa({
  6984. fields: [],
  6985. name: 'replacing',
  6986. apis: Object.freeze({
  6987. __proto__: null,
  6988. append: function (t, n, e, o) {
  6989. lm(t, 0, Te, o)
  6990. },
  6991. prepend: function (t, n, e, o) {
  6992. lm(t, 0, Mn, o)
  6993. },
  6994. remove: fm,
  6995. replaceAt: dm,
  6996. replaceBy: function (n, t, e, o, r) {
  6997. return P(Ig(n), o).bind(function (t) {
  6998. return dm(n, 0, 0, t, r)
  6999. })
  7000. },
  7001. set: function (n, t, e, o) {
  7002. Ta(function () {
  7003. var t = M(o, n.getSystem().build)
  7004. Rs(n, t)
  7005. }, n.element)
  7006. },
  7007. contents: Ig,
  7008. }),
  7009. }),
  7010. Vg = Object.freeze({
  7011. __proto__: null,
  7012. focus: gm,
  7013. blur: function (t, n) {
  7014. n.ignore || t.element.dom.blur()
  7015. },
  7016. isFocused: function (t) {
  7017. return Ca(t.element)
  7018. },
  7019. }),
  7020. Pg = Object.freeze({
  7021. __proto__: null,
  7022. exhibit: function (t, n) {
  7023. return Lr(n.ignore ? {} : { attributes: { tabindex: '-1' } })
  7024. },
  7025. events: function (e) {
  7026. return eu(
  7027. [
  7028. Cr(Bi(), function (t, n) {
  7029. gm(t, e), n.stop()
  7030. }),
  7031. ].concat(
  7032. e.stopMousedown
  7033. ? [
  7034. Cr(mi(), function (t, n) {
  7035. n.event.prevent()
  7036. }),
  7037. ]
  7038. : []
  7039. )
  7040. )
  7041. },
  7042. }),
  7043. Hg = xa({
  7044. fields: [Ju('onFocus'), Eo('stopMousedown', !1), Eo('ignore', !1)],
  7045. name: 'focusing',
  7046. active: Pg,
  7047. apis: Vg,
  7048. }),
  7049. zg = Object.freeze({
  7050. __proto__: null,
  7051. onLoad: xm,
  7052. toggle: vm,
  7053. isOn: function (t, n, e) {
  7054. return e.get()
  7055. },
  7056. on: bm,
  7057. off: ym,
  7058. set: Ym,
  7059. }),
  7060. Ng = Object.freeze({
  7061. __proto__: null,
  7062. exhibit: function () {
  7063. return Lr({})
  7064. },
  7065. events: function (t, n) {
  7066. var e,
  7067. o,
  7068. r,
  7069. i =
  7070. ((e = t),
  7071. (o = n),
  7072. (r = vm),
  7073. uu(function (t) {
  7074. r(t, e, o)
  7075. })),
  7076. u = ba(t, n, xm)
  7077. return eu(ft([t.toggleOnExecute ? [i] : [], [u]]))
  7078. },
  7079. }),
  7080. Lg = xa({
  7081. fields: [
  7082. Eo('selected', !1),
  7083. wo('toggleClass'),
  7084. Eo('toggleOnExecute', !0),
  7085. Do(
  7086. 'aria',
  7087. { mode: 'none' },
  7088. lo('mode', {
  7089. pressed: [
  7090. Eo('syncWithExpanded', !1),
  7091. ta('update', function (t, n, e) {
  7092. on(t.element, 'aria-pressed', e),
  7093. n.syncWithExpanded && qm(t, 0, e)
  7094. }),
  7095. ],
  7096. checked: [
  7097. ta('update', function (t, n, e) {
  7098. on(t.element, 'aria-checked', e)
  7099. }),
  7100. ],
  7101. expanded: [ta('update', qm)],
  7102. selected: [
  7103. ta('update', function (t, n, e) {
  7104. on(t.element, 'aria-selected', e)
  7105. }),
  7106. ],
  7107. none: [ta('update', st)],
  7108. })
  7109. ),
  7110. ],
  7111. name: 'toggling',
  7112. active: Ng,
  7113. apis: zg,
  7114. state: {
  7115. init: function () {
  7116. var n = Po(!1)
  7117. return {
  7118. get: function () {
  7119. return n.get()
  7120. },
  7121. set: function (t) {
  7122. return n.set(t)
  7123. },
  7124. clear: function () {
  7125. return n.set(!1)
  7126. },
  7127. readState: function () {
  7128. return n.get()
  7129. },
  7130. }
  7131. },
  7132. },
  7133. }),
  7134. Wg = 'alloy.item-hover',
  7135. Ug = 'alloy.item-focus',
  7136. jg = rt(Wg),
  7137. Gg = rt(Ug),
  7138. Xg = [
  7139. mo('data'),
  7140. mo('components'),
  7141. mo('dom'),
  7142. Eo('hasSubmenu', !1),
  7143. wo('toggling'),
  7144. Bf('itemBehaviours', [Lg, Hg, Fg, Df]),
  7145. Eo('ignoreFocus', !1),
  7146. Eo('domModification', {}),
  7147. ta('builder', function (t) {
  7148. return {
  7149. dom: t.dom,
  7150. domModification: lt(lt({}, t.domModification), {
  7151. attributes: lt(
  7152. lt(
  7153. lt(
  7154. {
  7155. role: t.toggling.isSome() ? 'menuitemcheckbox' : 'menuitem',
  7156. },
  7157. t.domModification.attributes
  7158. ),
  7159. { 'aria-haspopup': t.hasSubmenu }
  7160. ),
  7161. t.hasSubmenu ? { 'aria-expanded': !1 } : {}
  7162. ),
  7163. }),
  7164. behaviours: Mf(t.itemBehaviours, [
  7165. t.toggling.fold(Lg.revoke, function (t) {
  7166. return Lg.config(lt({ aria: { mode: 'checked' } }, t))
  7167. }),
  7168. Hg.config({
  7169. ignore: t.ignoreFocus,
  7170. stopMousedown: t.ignoreFocus,
  7171. onFocus: function (t) {
  7172. Cm(t)
  7173. },
  7174. }),
  7175. Fg.config({ mode: 'execution' }),
  7176. Df.config({ store: { mode: 'memory', initialValue: t.data } }),
  7177. mm(
  7178. 'item-type-events',
  7179. H(H([], wm(), !0), [Cr(vi(), km), Cr(Ri(), Hg.focus)], !1)
  7180. ),
  7181. ]),
  7182. components: t.components,
  7183. eventOrder: t.eventOrder,
  7184. }
  7185. }),
  7186. Eo('eventOrder', {}),
  7187. ],
  7188. Yg = [
  7189. mo('dom'),
  7190. mo('components'),
  7191. ta('builder', function (t) {
  7192. return {
  7193. dom: t.dom,
  7194. components: t.components,
  7195. events: eu([
  7196. Cr(Ri(), function (t, n) {
  7197. n.stop()
  7198. }),
  7199. ]),
  7200. }
  7201. }),
  7202. ],
  7203. qg = rt('item-widget'),
  7204. Kg = rt([
  7205. Jf({
  7206. name: 'widget',
  7207. overrides: function (n) {
  7208. return {
  7209. behaviours: nc([
  7210. Df.config({
  7211. store: {
  7212. mode: 'manual',
  7213. getValue: function (t) {
  7214. return n.data
  7215. },
  7216. setValue: st,
  7217. },
  7218. }),
  7219. ]),
  7220. }
  7221. },
  7222. }),
  7223. ]),
  7224. Jg = lo('type', {
  7225. widget: [
  7226. mo('uid'),
  7227. mo('data'),
  7228. mo('components'),
  7229. mo('dom'),
  7230. Eo('autofocus', !1),
  7231. Eo('ignoreFocus', !1),
  7232. Bf('widgetBehaviours', [Df, Hg, Fg]),
  7233. Eo('domModification', {}),
  7234. xl(Kg()),
  7235. ta('builder', function (e) {
  7236. function o(t) {
  7237. return ml(t, e, 'widget').map(function (t) {
  7238. return Fg.focusIn(t), t
  7239. })
  7240. }
  7241. function t(t, n) {
  7242. return (
  7243. Ol(n.event.target) || (e.autofocus && n.setSource(t.element)),
  7244. vt.none()
  7245. )
  7246. }
  7247. var n = fl(qg(), e, Kg()),
  7248. r = dl(qg(), e, n.internals())
  7249. return {
  7250. dom: e.dom,
  7251. components: r,
  7252. domModification: e.domModification,
  7253. events: eu([
  7254. uu(function (t, n) {
  7255. o(t).each(function (t) {
  7256. n.stop()
  7257. })
  7258. }),
  7259. Cr(vi(), km),
  7260. Cr(Ri(), function (t, n) {
  7261. e.autofocus ? o(t) : Hg.focus(t)
  7262. }),
  7263. ]),
  7264. behaviours: Mf(e.widgetBehaviours, [
  7265. Df.config({ store: { mode: 'memory', initialValue: e.data } }),
  7266. Hg.config({
  7267. ignore: e.ignoreFocus,
  7268. onFocus: function (t) {
  7269. Cm(t)
  7270. },
  7271. }),
  7272. Fg.config({
  7273. mode: 'special',
  7274. focusIn: e.autofocus
  7275. ? function (t) {
  7276. o(t)
  7277. }
  7278. : rc(),
  7279. onLeft: t,
  7280. onRight: t,
  7281. onEscape: function (t, n) {
  7282. return Hg.isFocused(t) || e.autofocus
  7283. ? (e.autofocus && n.setSource(t.element), vt.none())
  7284. : (Hg.focus(t), vt.some(!0))
  7285. },
  7286. }),
  7287. ]),
  7288. }
  7289. }),
  7290. ],
  7291. item: Xg,
  7292. separator: Yg,
  7293. }),
  7294. $g = rt([
  7295. Zf({
  7296. factory: {
  7297. sketch: function (t) {
  7298. var n = so('menu.spec item', Jg, t)
  7299. return n.builder(n)
  7300. },
  7301. },
  7302. name: 'items',
  7303. unit: 'item',
  7304. defaults: function (t, n) {
  7305. return Tt(n, 'uid') ? n : lt(lt({}, n), { uid: pu('item') })
  7306. },
  7307. overrides: function (t, n) {
  7308. return {
  7309. type: n.type,
  7310. ignoreFocus: t.fakeFocus,
  7311. domModification: { classes: [t.markers.item] },
  7312. }
  7313. },
  7314. }),
  7315. ]),
  7316. Qg = rt([
  7317. mo('value'),
  7318. mo('items'),
  7319. mo('dom'),
  7320. mo('components'),
  7321. Eo('eventOrder', {}),
  7322. Zs('menuBehaviours', [hd, Df, cd, Fg]),
  7323. Do(
  7324. 'movement',
  7325. { mode: 'menu', moveOnTab: !0 },
  7326. lo('mode', {
  7327. grid: [
  7328. Ia(),
  7329. ta('config', function (t, n) {
  7330. return {
  7331. mode: 'flatgrid',
  7332. selector: '.' + t.markers.item,
  7333. initSize: {
  7334. numColumns: n.initSize.numColumns,
  7335. numRows: n.initSize.numRows,
  7336. },
  7337. focusManager: t.focusManager,
  7338. }
  7339. }),
  7340. ],
  7341. matrix: [
  7342. ta('config', function (t, n) {
  7343. return {
  7344. mode: 'matrix',
  7345. selectors: { row: n.rowSelector, cell: '.' + t.markers.item },
  7346. focusManager: t.focusManager,
  7347. }
  7348. }),
  7349. mo('rowSelector'),
  7350. ],
  7351. menu: [
  7352. Eo('moveOnTab', !0),
  7353. ta('config', function (t, n) {
  7354. return {
  7355. mode: 'menu',
  7356. selector: '.' + t.markers.item,
  7357. moveOnTab: n.moveOnTab,
  7358. focusManager: t.focusManager,
  7359. }
  7360. }),
  7361. ],
  7362. })
  7363. ),
  7364. go('markers', Fa()),
  7365. Eo('fakeFocus', !1),
  7366. Eo('focusManager', Wl()),
  7367. Ju('onHighlight'),
  7368. ]),
  7369. Zg = rt('alloy.menu-focus'),
  7370. tp = Cl({
  7371. name: 'Menu',
  7372. configFields: Qg(),
  7373. partFields: $g(),
  7374. factory: function (t, n, e, o) {
  7375. return {
  7376. uid: t.uid,
  7377. dom: t.dom,
  7378. markers: t.markers,
  7379. behaviours: nl(t.menuBehaviours, [
  7380. hd.config({
  7381. highlightClass: t.markers.selectedItem,
  7382. itemClass: t.markers.item,
  7383. onHighlight: t.onHighlight,
  7384. }),
  7385. Df.config({ store: { mode: 'memory', initialValue: t.value } }),
  7386. cd.config({ find: vt.some }),
  7387. Fg.config(t.movement.config(t, t.movement)),
  7388. ]),
  7389. events: eu([
  7390. Cr(Gg(), function (n, e) {
  7391. var t = e.event
  7392. n.getSystem()
  7393. .getByDom(t.target)
  7394. .each(function (t) {
  7395. hd.highlight(n, t),
  7396. e.stop(),
  7397. br(n, Zg(), { menu: n, item: t })
  7398. })
  7399. }),
  7400. Cr(jg(), function (t, n) {
  7401. var e = n.event.item
  7402. hd.highlight(t, e)
  7403. }),
  7404. ]),
  7405. components: n,
  7406. eventOrder: t.eventOrder,
  7407. domModification: { attributes: { role: 'menu' } },
  7408. }
  7409. },
  7410. }),
  7411. np = function (e, o, r, t) {
  7412. return tt(r, t)
  7413. .bind(function (t) {
  7414. return tt(e, t).bind(function (t) {
  7415. var n = np(e, o, r, t)
  7416. return vt.some([t].concat(n))
  7417. })
  7418. })
  7419. .getOr([])
  7420. },
  7421. ep = function () {
  7422. function a(t) {
  7423. return n(t).bind(Km)
  7424. }
  7425. function e(t) {
  7426. return tt(c.get(), t)
  7427. }
  7428. var c = Po({}),
  7429. i = Po({}),
  7430. s = Po({}),
  7431. l = gc(),
  7432. u = Po({}),
  7433. n = function (t) {
  7434. return tt(i.get(), t)
  7435. }
  7436. return {
  7437. setMenuBuilt: function (t, n) {
  7438. var e
  7439. i.set(
  7440. lt(
  7441. lt({}, i.get()),
  7442. (((e = {})[t] = { type: 'prepared', menu: n }), e)
  7443. )
  7444. )
  7445. },
  7446. setContents: function (t, n, e, o) {
  7447. l.set(t), c.set(e), i.set(n), u.set(o)
  7448. var r = (function (t, n) {
  7449. var e = {}
  7450. J(t, function (t, n) {
  7451. St(t, function (t) {
  7452. e[t] = n
  7453. })
  7454. })
  7455. var o = n,
  7456. r = _t(n, function (t, n) {
  7457. return { k: t, v: n }
  7458. }),
  7459. i = dt(r, function (t, n) {
  7460. return [n].concat(np(e, o, r, n))
  7461. })
  7462. return dt(e, function (t) {
  7463. return tt(i, t).getOr([t])
  7464. })
  7465. })(o, e)
  7466. s.set(r)
  7467. },
  7468. expand: function (e) {
  7469. return tt(c.get(), e).map(function (t) {
  7470. var n = tt(s.get(), e).getOr([])
  7471. return [t].concat(n)
  7472. })
  7473. },
  7474. refresh: function (t) {
  7475. return tt(s.get(), t)
  7476. },
  7477. collapse: function (t) {
  7478. return tt(s.get(), t).bind(function (t) {
  7479. return 1 < t.length ? vt.some(t.slice(1)) : vt.none()
  7480. })
  7481. },
  7482. lookupMenu: n,
  7483. lookupItem: e,
  7484. otherMenus: function (t) {
  7485. var n = u.get()
  7486. return W(Ct(n), t)
  7487. },
  7488. getPrimary: function () {
  7489. return l.get().bind(a)
  7490. },
  7491. getMenus: function () {
  7492. return i.get()
  7493. },
  7494. clear: function () {
  7495. c.set({}), i.set({}), s.set({}), l.clear()
  7496. },
  7497. isClear: function () {
  7498. return l.get().isNone()
  7499. },
  7500. getTriggeringPath: function (t, u) {
  7501. var n = F(e(t).toArray(), function (t) {
  7502. return a(t).isSome()
  7503. })
  7504. return tt(s.get(), t).bind(function (t) {
  7505. var e = L(n.concat(t))
  7506. return (function (t) {
  7507. for (var n = [], e = 0; e < t.length; e++) {
  7508. var o = t[e]
  7509. if (!o.isSome()) return vt.none()
  7510. n.push(o.getOrDie())
  7511. }
  7512. return vt.some(n)
  7513. })(
  7514. z(e, function (t, n) {
  7515. return (
  7516. (o = t),
  7517. (r = u),
  7518. (i = e.slice(0, n + 1)),
  7519. a(o)
  7520. .bind(function (n) {
  7521. return (
  7522. (e = o),
  7523. Q(c.get(), function (t, n) {
  7524. return t === e
  7525. }).bind(function (t) {
  7526. return r(t).map(function (t) {
  7527. return {
  7528. triggeredMenu: n,
  7529. triggeringItem: t,
  7530. triggeringPath: i,
  7531. }
  7532. })
  7533. })
  7534. )
  7535. var e
  7536. })
  7537. .fold(
  7538. function () {
  7539. return mt(l.get(), t) ? [] : [vt.none()]
  7540. },
  7541. function (t) {
  7542. return [vt.some(t)]
  7543. }
  7544. )
  7545. )
  7546. var o, r, i
  7547. })
  7548. )
  7549. })
  7550. },
  7551. }
  7552. },
  7553. op = Km,
  7554. rp = rt('collapse-item'),
  7555. ip = kl({
  7556. name: 'TieredMenu',
  7557. configFields: [
  7558. Zu('onExecute'),
  7559. Zu('onEscape'),
  7560. Qu('onOpenMenu'),
  7561. Qu('onOpenSubmenu'),
  7562. Ju('onRepositionMenu'),
  7563. Ju('onCollapseMenu'),
  7564. Eo('highlightImmediately', !0),
  7565. bo('data', [mo('primary'), mo('menus'), mo('expansions')]),
  7566. Eo('fakeFocus', !1),
  7567. Ju('onHighlight'),
  7568. Ju('onHover'),
  7569. Yu(),
  7570. mo('dom'),
  7571. Eo('navigateOnHover', !0),
  7572. Eo('stayInDom', !1),
  7573. Zs('tmenuBehaviours', [Fg, hd, cd, Rg]),
  7574. Eo('eventOrder', {}),
  7575. ],
  7576. apis: {
  7577. collapseMenu: function (t, n) {
  7578. t.collapseMenu(n)
  7579. },
  7580. highlightPrimary: function (t, n) {
  7581. t.highlightPrimary(n)
  7582. },
  7583. repositionMenus: function (t, n) {
  7584. t.repositionMenus(n)
  7585. },
  7586. },
  7587. factory: function (a, t) {
  7588. function e(t) {
  7589. var o,
  7590. r,
  7591. n =
  7592. ((o = t),
  7593. (r = a.data.primary),
  7594. dt(a.data.menus, function (t, n) {
  7595. function e() {
  7596. return tp.sketch(
  7597. lt(lt({}, t), {
  7598. value: n,
  7599. markers: a.markers,
  7600. fakeFocus: a.fakeFocus,
  7601. onHighlight: a.onHighlight,
  7602. focusManager: (a.fakeFocus ? Ul : Wl)(),
  7603. })
  7604. )
  7605. }
  7606. return n === r
  7607. ? { type: 'prepared', menu: o.getSystem().build(e()) }
  7608. : { type: 'notbuilt', nbMenu: e }
  7609. })),
  7610. e = dt(a.data.menus, function (t, n) {
  7611. return z(t.items, function (t) {
  7612. return 'separator' === t.type ? [] : [t.data.value]
  7613. })
  7614. })
  7615. return (
  7616. g.setContents(a.data.primary, n, a.data.expansions, e),
  7617. g.getPrimary()
  7618. )
  7619. }
  7620. function c(t) {
  7621. return Df.getValue(t).value
  7622. }
  7623. function u(n, t) {
  7624. hd.highlight(n, t),
  7625. hd
  7626. .getHighlighted(t)
  7627. .orThunk(function () {
  7628. return hd.getFirst(t)
  7629. })
  7630. .each(function (t) {
  7631. xr(n, t.element, Ri())
  7632. })
  7633. }
  7634. function s(n, t) {
  7635. return et(
  7636. M(t, function (t) {
  7637. return n.lookupMenu(t).bind(function (t) {
  7638. return 'prepared' === t.type ? vt.some(t.menu) : vt.none()
  7639. })
  7640. })
  7641. )
  7642. }
  7643. function l(n, t, e) {
  7644. var o = s(t, t.otherMenus(e))
  7645. St(o, function (t) {
  7646. $r(t.element, [a.markers.backgroundMenu]),
  7647. a.stayInDom || Rg.remove(n, t)
  7648. })
  7649. }
  7650. function f(t, o) {
  7651. var n
  7652. J(
  7653. ((n = t),
  7654. r.get().getOrThunk(function () {
  7655. var e = {},
  7656. t = F(vs(n.element, '.' + a.markers.item), function (t) {
  7657. return 'true' === un(t, 'aria-haspopup')
  7658. })
  7659. return (
  7660. St(t, function (t) {
  7661. n.getSystem()
  7662. .getByDom(t)
  7663. .each(function (t) {
  7664. var n = c(t)
  7665. e[n] = t
  7666. })
  7667. }),
  7668. r.set(e),
  7669. e
  7670. )
  7671. })),
  7672. function (t, n) {
  7673. var e = wt(o, n)
  7674. on(t.element, 'aria-expanded', e)
  7675. }
  7676. )
  7677. }
  7678. function d(o, r, i) {
  7679. return vt.from(i[0]).bind(function (t) {
  7680. return r.lookupMenu(t).bind(function (t) {
  7681. if ('notbuilt' === t.type) return vt.none()
  7682. var n = t.menu,
  7683. e = s(r, i.slice(1))
  7684. return (
  7685. St(e, function (t) {
  7686. Yr(t.element, a.markers.backgroundMenu)
  7687. }),
  7688. ve(n.element) || Rg.append(o, Eu(n)),
  7689. $r(n.element, [a.markers.backgroundMenu]),
  7690. u(o, n),
  7691. l(o, r, i),
  7692. vt.some(n)
  7693. )
  7694. })
  7695. })
  7696. }
  7697. var m,
  7698. n,
  7699. r = gc(),
  7700. g = ep()
  7701. function i(r, i, u) {
  7702. if (
  7703. (void 0 === u && (u = m.HighlightSubmenu),
  7704. i.hasConfigured(gd) && gd.isDisabled(i))
  7705. )
  7706. return vt.some(i)
  7707. var t = c(i)
  7708. return g.expand(t).bind(function (o) {
  7709. return (
  7710. f(r, o),
  7711. vt.from(o[0]).bind(function (e) {
  7712. return g.lookupMenu(e).bind(function (t) {
  7713. var n = (function (t, n, e) {
  7714. if ('notbuilt' !== e.type) return e.menu
  7715. var o = t.getSystem().build(e.nbMenu())
  7716. return g.setMenuBuilt(n, o), o
  7717. })(r, e, t)
  7718. return (
  7719. ve(n.element) || Rg.append(r, Eu(n)),
  7720. a.onOpenSubmenu(r, i, n, L(o)),
  7721. u === m.HighlightSubmenu
  7722. ? (hd.highlightFirst(n), d(r, g, o))
  7723. : (hd.dehighlightAll(n), vt.some(i))
  7724. )
  7725. })
  7726. })
  7727. )
  7728. })
  7729. }
  7730. function o(n, e) {
  7731. var t = c(e)
  7732. return g.collapse(t).bind(function (t) {
  7733. return (
  7734. f(n, t),
  7735. d(n, g, t).map(function (t) {
  7736. return a.onCollapseMenu(n, e, t), t
  7737. })
  7738. )
  7739. })
  7740. }
  7741. function p(e) {
  7742. return function (n, t) {
  7743. return Ru(t.getSource(), '.' + a.markers.item).bind(function (t) {
  7744. return n
  7745. .getSystem()
  7746. .getByDom(t)
  7747. .toOptional()
  7748. .bind(function (t) {
  7749. return e(n, t).map(D)
  7750. })
  7751. })
  7752. }
  7753. }
  7754. function h(t) {
  7755. return hd.getHighlighted(t).bind(hd.getHighlighted)
  7756. }
  7757. ;((n = m = {})[(n.HighlightSubmenu = 0)] = 'HighlightSubmenu'),
  7758. (n[(n.HighlightParent = 1)] = 'HighlightParent')
  7759. var v = eu(
  7760. [
  7761. Cr(Zg(), function (e, o) {
  7762. var t = o.event.item
  7763. g.lookupItem(c(t)).each(function () {
  7764. var t = o.event.menu
  7765. hd.highlight(e, t)
  7766. var n = c(o.event.item)
  7767. g.refresh(n).each(function (t) {
  7768. return l(e, g, t)
  7769. })
  7770. })
  7771. }),
  7772. uu(function (n, t) {
  7773. var e = t.event.target
  7774. n.getSystem()
  7775. .getByDom(e)
  7776. .each(function (t) {
  7777. 0 === c(t).indexOf('collapse-item') && o(n, t),
  7778. i(n, t, m.HighlightSubmenu).fold(function () {
  7779. a.onExecute(n, t)
  7780. }, st)
  7781. })
  7782. }),
  7783. ou(function (n, t) {
  7784. e(n).each(function (t) {
  7785. Rg.append(n, Eu(t)),
  7786. a.onOpenMenu(n, t),
  7787. a.highlightImmediately && u(n, t)
  7788. })
  7789. }),
  7790. ].concat(
  7791. a.navigateOnHover
  7792. ? [
  7793. Cr(jg(), function (t, n) {
  7794. var e = n.event.item,
  7795. o = t,
  7796. r = c(e)
  7797. g.refresh(r).bind(function (t) {
  7798. return f(o, t), d(o, g, t)
  7799. }),
  7800. i(t, e, m.HighlightParent),
  7801. a.onHover(t, e)
  7802. }),
  7803. ]
  7804. : []
  7805. )
  7806. ),
  7807. b = {
  7808. collapseMenu: function (n) {
  7809. h(n).each(function (t) {
  7810. o(n, t)
  7811. })
  7812. },
  7813. highlightPrimary: function (n) {
  7814. g.getPrimary().each(function (t) {
  7815. u(n, t)
  7816. })
  7817. },
  7818. repositionMenus: function (o) {
  7819. g.getPrimary()
  7820. .bind(function (n) {
  7821. return h(o)
  7822. .bind(function (t) {
  7823. var n = c(t),
  7824. e = et(M(Z(g.getMenus()), op))
  7825. return g.getTriggeringPath(n, function (t) {
  7826. return (
  7827. (n = t),
  7828. K(e, function (t) {
  7829. return t.getSystem().isConnected()
  7830. ? V(hd.getCandidates(t), function (t) {
  7831. return c(t) === n
  7832. })
  7833. : vt.none()
  7834. })
  7835. )
  7836. var n
  7837. })
  7838. })
  7839. .map(function (t) {
  7840. return { primary: n, triggeringPath: t }
  7841. })
  7842. })
  7843. .fold(
  7844. function () {
  7845. vt.from(o.components()[0])
  7846. .filter(function (t) {
  7847. return 'menu' === un(t.element, 'role')
  7848. })
  7849. .each(function (t) {
  7850. a.onRepositionMenu(o, t, [])
  7851. })
  7852. },
  7853. function (t) {
  7854. var n = t.primary,
  7855. e = t.triggeringPath
  7856. a.onRepositionMenu(o, n, e)
  7857. }
  7858. )
  7859. },
  7860. }
  7861. return {
  7862. uid: a.uid,
  7863. dom: a.dom,
  7864. markers: a.markers,
  7865. behaviours: nl(a.tmenuBehaviours, [
  7866. Fg.config({
  7867. mode: 'special',
  7868. onRight: p(function (t, n) {
  7869. return Ol(n.element) ? vt.none() : i(t, n, m.HighlightSubmenu)
  7870. }),
  7871. onLeft: p(function (t, n) {
  7872. return Ol(n.element) ? vt.none() : o(t, n)
  7873. }),
  7874. onEscape: p(function (t, n) {
  7875. return o(t, n).orThunk(function () {
  7876. return a.onEscape(t, n).map(function () {
  7877. return t
  7878. })
  7879. })
  7880. }),
  7881. focusIn: function (n, t) {
  7882. g.getPrimary().each(function (t) {
  7883. xr(n, t.element, Ri())
  7884. })
  7885. },
  7886. }),
  7887. hd.config({
  7888. highlightClass: a.markers.selectedMenu,
  7889. itemClass: a.markers.menu,
  7890. }),
  7891. cd.config({
  7892. find: function (t) {
  7893. return hd.getHighlighted(t)
  7894. },
  7895. }),
  7896. Rg.config({}),
  7897. ]),
  7898. eventOrder: a.eventOrder,
  7899. apis: b,
  7900. events: v,
  7901. }
  7902. },
  7903. extraApis: {
  7904. tieredData: function (t, n, e) {
  7905. return { primary: t, menus: n, expansions: e }
  7906. },
  7907. singleData: function (t, n) {
  7908. return { primary: t, menus: sr(t, n), expansions: {} }
  7909. },
  7910. collapseItem: function (t) {
  7911. return { value: Ir(rp()), meta: { text: t } }
  7912. },
  7913. },
  7914. }),
  7915. up = kl({
  7916. name: 'InlineView',
  7917. configFields: [
  7918. mo('lazySink'),
  7919. Ju('onShow'),
  7920. Ju('onHide'),
  7921. Oo('onEscape'),
  7922. Zs('inlineBehaviours', [bf, Df, ic]),
  7923. To('fireDismissalEventInstead', [Eo('event', Yi())]),
  7924. To('fireRepositionEventInstead', [Eo('event', qi())]),
  7925. Eo('getRelated', vt.none),
  7926. Eo('isExtraPart', T),
  7927. Eo('eventOrder', vt.none),
  7928. ],
  7929. factory: function (d, t) {
  7930. function n(e) {
  7931. bf.isOpen(e) &&
  7932. Df.getValue(e).each(function (t) {
  7933. switch (t.mode) {
  7934. case 'menu':
  7935. bf.getState(e).each(ip.repositionMenus)
  7936. break
  7937. case 'position':
  7938. var n = d.lazySink(e).getOrDie()
  7939. ff.positionWithinBounds(n, e, t.config, t.getBounds())
  7940. }
  7941. })
  7942. }
  7943. function o(t, n, e, o) {
  7944. i(t, n, e, function () {
  7945. return o.map(function (t) {
  7946. return Ae(t)
  7947. })
  7948. })
  7949. }
  7950. function r(t, n, e, o) {
  7951. var r,
  7952. i,
  7953. u,
  7954. a,
  7955. c,
  7956. s =
  7957. ((r = d),
  7958. (i = t),
  7959. (u = n),
  7960. (a = o),
  7961. (c =
  7962. 'horizontal' === e.type
  7963. ? { layouts: { onLtr: ha, onRtl: va } }
  7964. : {}),
  7965. ip.sketch({
  7966. dom: { tag: 'div' },
  7967. data: e.data,
  7968. markers: e.menu.markers,
  7969. highlightImmediately: e.menu.highlightImmediately,
  7970. onEscape: function () {
  7971. return (
  7972. bf.close(i),
  7973. r.onEscape.map(function (t) {
  7974. return t(i)
  7975. }),
  7976. vt.some(!0)
  7977. )
  7978. },
  7979. onExecute: function () {
  7980. return vt.some(!0)
  7981. },
  7982. onOpenMenu: function (t, n) {
  7983. ff.positionWithinBounds(l().getOrDie(), n, u, a())
  7984. },
  7985. onOpenSubmenu: function (t, n, e, o) {
  7986. var r = l().getOrDie()
  7987. ff.position(r, e, {
  7988. anchor: lt({ type: 'submenu', item: n }, f(o)),
  7989. })
  7990. },
  7991. onRepositionMenu: function (t, n, e) {
  7992. var o = l().getOrDie()
  7993. ff.positionWithinBounds(o, n, u, a()),
  7994. St(e, function (t) {
  7995. var n = f(t.triggeringPath)
  7996. ff.position(o, t.triggeredMenu, {
  7997. anchor: lt(
  7998. { type: 'submenu', item: t.triggeringItem },
  7999. n
  8000. ),
  8001. })
  8002. })
  8003. },
  8004. }))
  8005. function l() {
  8006. return r.lazySink(i)
  8007. }
  8008. function f(t) {
  8009. return 2 === t.length ? c : {}
  8010. }
  8011. bf.open(t, s), Df.setValue(t, vt.some({ mode: 'menu', menu: s }))
  8012. }
  8013. var i = function (t, n, e, o) {
  8014. var r = d.lazySink(t).getOrDie()
  8015. bf.openWhileCloaked(t, n, function () {
  8016. return ff.positionWithinBounds(r, t, e, o())
  8017. }),
  8018. Df.setValue(
  8019. t,
  8020. vt.some({ mode: 'position', config: e, getBounds: o })
  8021. )
  8022. },
  8023. e = {
  8024. setContent: function (t, n) {
  8025. bf.setContent(t, n)
  8026. },
  8027. showAt: function (t, n, e) {
  8028. o(t, n, e, vt.none())
  8029. },
  8030. showWithin: o,
  8031. showWithinBounds: i,
  8032. showMenuAt: function (t, n, e) {
  8033. r(t, n, e, vt.none)
  8034. },
  8035. showMenuWithinBounds: r,
  8036. hide: function (t) {
  8037. bf.isOpen(t) && (Df.setValue(t, vt.none()), bf.close(t))
  8038. },
  8039. getContent: function (t) {
  8040. return bf.getState(t)
  8041. },
  8042. reposition: n,
  8043. isOpen: bf.isOpen,
  8044. }
  8045. return {
  8046. uid: d.uid,
  8047. dom: d.dom,
  8048. behaviours: nl(d.inlineBehaviours, [
  8049. bf.config({
  8050. isPartOf: function (t, n, e) {
  8051. return (
  8052. zu(n, e) ||
  8053. ((o = e),
  8054. d.getRelated(t).exists(function (t) {
  8055. return zu(t, o)
  8056. }))
  8057. )
  8058. var o
  8059. },
  8060. getAttachPoint: function (t) {
  8061. return d.lazySink(t).getOrDie()
  8062. },
  8063. onOpen: function (t) {
  8064. d.onShow(t)
  8065. },
  8066. onClose: function (t) {
  8067. d.onHide(t)
  8068. },
  8069. }),
  8070. Df.config({ store: { mode: 'memory', initialValue: vt.none() } }),
  8071. ic.config({
  8072. channels: lt(
  8073. lt(
  8074. {},
  8075. Xs(
  8076. lt(
  8077. { isExtraPart: t.isExtraPart },
  8078. d.fireDismissalEventInstead
  8079. .map(function (t) {
  8080. return { fireEventInstead: { event: t.event } }
  8081. })
  8082. .getOr({})
  8083. )
  8084. )
  8085. ),
  8086. Ys(
  8087. lt(
  8088. lt(
  8089. {},
  8090. d.fireRepositionEventInstead
  8091. .map(function (t) {
  8092. return { fireEventInstead: { event: t.event } }
  8093. })
  8094. .getOr({})
  8095. ),
  8096. { doReposition: n }
  8097. )
  8098. )
  8099. ),
  8100. }),
  8101. ]),
  8102. eventOrder: d.eventOrder,
  8103. apis: e,
  8104. }
  8105. },
  8106. apis: {
  8107. showAt: function (t, n, e, o) {
  8108. t.showAt(n, e, o)
  8109. },
  8110. showWithin: function (t, n, e, o, r) {
  8111. t.showWithin(n, e, o, r)
  8112. },
  8113. showWithinBounds: function (t, n, e, o, r) {
  8114. t.showWithinBounds(n, e, o, r)
  8115. },
  8116. showMenuAt: function (t, n, e, o) {
  8117. t.showMenuAt(n, e, o)
  8118. },
  8119. showMenuWithinBounds: function (t, n, e, o, r) {
  8120. t.showMenuWithinBounds(n, e, o, r)
  8121. },
  8122. hide: function (t, n) {
  8123. t.hide(n)
  8124. },
  8125. isOpen: function (t, n) {
  8126. return t.isOpen(n)
  8127. },
  8128. getContent: function (t, n) {
  8129. return t.getContent(n)
  8130. },
  8131. setContent: function (t, n, e) {
  8132. t.setContent(n, e)
  8133. },
  8134. reposition: function (t, n) {
  8135. t.reposition(n)
  8136. },
  8137. },
  8138. }),
  8139. ap = 'layout-inset',
  8140. cp = function (t, n, e) {
  8141. return ea(
  8142. Om(t, n),
  8143. t.y,
  8144. e.insetNorth(),
  8145. Na(),
  8146. 'north',
  8147. ra(t, { top: 2 }),
  8148. ap
  8149. )
  8150. },
  8151. sp = function (t, n, e) {
  8152. return ea(
  8153. Om(t, n),
  8154. Tm(t, n),
  8155. e.insetSouth(),
  8156. La(),
  8157. 'south',
  8158. ra(t, { bottom: 3 }),
  8159. ap
  8160. )
  8161. },
  8162. lp = tinymce.util.Tools.resolve('tinymce.util.Delay'),
  8163. fp = kl({
  8164. name: 'Button',
  8165. factory: function (t) {
  8166. function e(n) {
  8167. return tt(t.dom, 'attributes').bind(function (t) {
  8168. return tt(t, n)
  8169. })
  8170. }
  8171. var n = Sm(t.action),
  8172. o = t.dom.tag
  8173. return {
  8174. uid: t.uid,
  8175. dom: t.dom,
  8176. components: t.components,
  8177. events: n,
  8178. behaviours: Mf(t.buttonBehaviours, [
  8179. Hg.config({}),
  8180. Fg.config({ mode: 'execution', useSpace: !0, useEnter: !0 }),
  8181. ]),
  8182. domModification: {
  8183. attributes: (function () {
  8184. if ('button' !== o) return { role: e('role').getOr('button') }
  8185. var t = e('type').getOr('button'),
  8186. n = e('role')
  8187. .map(function (t) {
  8188. return { role: t }
  8189. })
  8190. .getOr({})
  8191. return lt({ type: t }, n)
  8192. })(),
  8193. },
  8194. eventOrder: t.eventOrder,
  8195. }
  8196. },
  8197. configFields: [
  8198. Eo('uid', void 0),
  8199. mo('dom'),
  8200. Eo('components', []),
  8201. Bf('buttonBehaviours', [Hg, Fg]),
  8202. wo('action'),
  8203. wo('role'),
  8204. Eo('eventOrder', {}),
  8205. ],
  8206. }),
  8207. dp = tinymce.util.Tools.resolve('tinymce.util.I18n'),
  8208. mp = {
  8209. indent: !0,
  8210. outdent: !0,
  8211. 'table-insert-column-after': !0,
  8212. 'table-insert-column-before': !0,
  8213. 'paste-column-after': !0,
  8214. 'paste-column-before': !0,
  8215. 'unordered-list': !0,
  8216. 'list-bull-circle': !0,
  8217. 'list-bull-default': !0,
  8218. 'list-bull-square': !0,
  8219. },
  8220. gp = 'temporary-placeholder',
  8221. pp = {
  8222. success: 'checkmark',
  8223. error: 'warning',
  8224. err: 'error',
  8225. warning: 'warning',
  8226. warn: 'warning',
  8227. info: 'info',
  8228. },
  8229. hp = kl({
  8230. name: 'Notification',
  8231. factory: function (n) {
  8232. function e(t) {
  8233. return {
  8234. dom: {
  8235. tag: 'div',
  8236. classes: ['tox-bar'],
  8237. attributes: { style: 'width: ' + t + '%' },
  8238. },
  8239. }
  8240. }
  8241. function o(t) {
  8242. return {
  8243. dom: { tag: 'div', classes: ['tox-text'], innerHtml: t + '%' },
  8244. }
  8245. }
  8246. var t,
  8247. r,
  8248. i,
  8249. u,
  8250. a = zm({
  8251. dom: { tag: 'p', innerHtml: n.translationProvider(n.text) },
  8252. behaviours: nc([Rg.config({})]),
  8253. }),
  8254. c = zm({
  8255. dom: {
  8256. tag: 'div',
  8257. classes: n.progress
  8258. ? ['tox-progress-bar', 'tox-progress-indicator']
  8259. : ['tox-progress-bar'],
  8260. },
  8261. components: [
  8262. {
  8263. dom: { tag: 'div', classes: ['tox-bar-container'] },
  8264. components: [e(0)],
  8265. },
  8266. o(0),
  8267. ],
  8268. behaviours: nc([Rg.config({})]),
  8269. }),
  8270. s = {
  8271. updateProgress: function (t, n) {
  8272. t.getSystem().isConnected() &&
  8273. c.getOpt(t).each(function (t) {
  8274. Rg.set(t, [
  8275. {
  8276. dom: { tag: 'div', classes: ['tox-bar-container'] },
  8277. components: [e(n)],
  8278. },
  8279. o(n),
  8280. ])
  8281. })
  8282. },
  8283. updateText: function (t, n) {
  8284. var e
  8285. t.getSystem().isConnected() &&
  8286. ((e = a.get(t)), Rg.set(e, [ri(n)]))
  8287. },
  8288. },
  8289. l = ft([
  8290. n.icon.toArray(),
  8291. n.level.toArray(),
  8292. n.level
  8293. .bind(function (t) {
  8294. return vt.from(pp[t])
  8295. })
  8296. .toArray(),
  8297. ]),
  8298. f = zm(
  8299. fp.sketch({
  8300. dom: {
  8301. tag: 'button',
  8302. classes: [
  8303. 'tox-notification__dismiss',
  8304. 'tox-button',
  8305. 'tox-button--naked',
  8306. 'tox-button--icon',
  8307. ],
  8308. },
  8309. components: [
  8310. Xm(
  8311. 'close',
  8312. {
  8313. tag: 'div',
  8314. classes: ['tox-icon'],
  8315. attributes: {
  8316. 'aria-label': n.translationProvider('Close'),
  8317. },
  8318. },
  8319. n.iconProvider
  8320. ),
  8321. ],
  8322. action: function (t) {
  8323. n.onAction(t)
  8324. },
  8325. })
  8326. ),
  8327. d = [
  8328. ((t = l),
  8329. (r = { tag: 'div', classes: ['tox-notification__icon'] }),
  8330. (i = n.iconProvider),
  8331. (u = i()),
  8332. Gm(
  8333. r,
  8334. V(t, function (t) {
  8335. return Tt(u, Lm(t, u))
  8336. }).getOr(gp),
  8337. u,
  8338. vt.none()
  8339. )),
  8340. {
  8341. dom: { tag: 'div', classes: ['tox-notification__body'] },
  8342. components: [a.asSpec()],
  8343. behaviours: nc([Rg.config({})]),
  8344. },
  8345. ]
  8346. return {
  8347. uid: n.uid,
  8348. dom: {
  8349. tag: 'div',
  8350. attributes: { role: 'alert' },
  8351. classes: n.level
  8352. .map(function (t) {
  8353. return [
  8354. 'tox-notification',
  8355. 'tox-notification--in',
  8356. 'tox-notification--' + t,
  8357. ]
  8358. })
  8359. .getOr(['tox-notification', 'tox-notification--in']),
  8360. },
  8361. behaviours: nc([
  8362. Hg.config({}),
  8363. mm('notification-events', [
  8364. Cr(bi(), function (t) {
  8365. f.getOpt(t).each(Hg.focus)
  8366. }),
  8367. ]),
  8368. ]),
  8369. components: d
  8370. .concat(n.progress ? [c.asSpec()] : [])
  8371. .concat(n.closeButton ? [f.asSpec()] : []),
  8372. apis: s,
  8373. }
  8374. },
  8375. configFields: [
  8376. wo('level'),
  8377. mo('progress'),
  8378. mo('icon'),
  8379. mo('onAction'),
  8380. mo('text'),
  8381. mo('iconProvider'),
  8382. mo('translationProvider'),
  8383. Fo('closeButton', !0),
  8384. ],
  8385. apis: {
  8386. updateProgress: function (t, n, e) {
  8387. t.updateProgress(n, e)
  8388. },
  8389. updateText: function (t, n, e) {
  8390. t.updateText(n, e)
  8391. },
  8392. },
  8393. })
  8394. function vp(e, o) {
  8395. function r() {
  8396. b(i) || (clearTimeout(i), (i = null))
  8397. }
  8398. var i = null
  8399. return {
  8400. cancel: r,
  8401. throttle: function () {
  8402. for (var t = [], n = 0; n < arguments.length; n++) t[n] = arguments[n]
  8403. r(),
  8404. (i = setTimeout(function () {
  8405. ;(i = null), e.apply(null, t)
  8406. }, o))
  8407. },
  8408. }
  8409. }
  8410. function bp(o, t, n, e, r) {
  8411. var i = Bp(o, function (t) {
  8412. return (
  8413. (n = o).isBlock((e = t)) ||
  8414. wt(['BR', 'IMG', 'HR', 'INPUT'], e.nodeName) ||
  8415. 'false' === n.getContentEditable(e)
  8416. )
  8417. var n, e
  8418. })
  8419. return vt.from(i.backwards(t, n, e, r))
  8420. }
  8421. function yp(e, n) {
  8422. return Mp(At.fromDom(e.selection.getNode())).getOrThunk(function () {
  8423. var i,
  8424. u,
  8425. t = At.fromHtml(
  8426. '<span data-mce-autocompleter="1" data-mce-bogus="1"></span>',
  8427. e.getDoc()
  8428. )
  8429. return (
  8430. Te(t, At.fromDom(n.extractContents())),
  8431. n.insertNode(t.dom),
  8432. Yt(t).each(function (t) {
  8433. return t.dom.normalize()
  8434. }),
  8435. (i = hs),
  8436. (u = function (t) {
  8437. for (var n = Kt(t), e = n.length - 1; 0 <= e; e--) {
  8438. var o = n[e]
  8439. if (i(o)) return vt.some(o)
  8440. var r = u(o)
  8441. if (r.isSome()) return r
  8442. }
  8443. return vt.none()
  8444. })(t).map(function (t) {
  8445. var n
  8446. e.selection.setCursorLocation(
  8447. t.dom,
  8448. 'img' === Ft((n = t))
  8449. ? 1
  8450. : ps(n).fold(
  8451. function () {
  8452. return Kt(n).length
  8453. },
  8454. function (t) {
  8455. return t.length
  8456. }
  8457. )
  8458. )
  8459. }),
  8460. t
  8461. )
  8462. })
  8463. }
  8464. function xp(t) {
  8465. return t
  8466. .toString()
  8467. .replace(/\u00A0/g, ' ')
  8468. .replace(/\uFEFF/g, '')
  8469. }
  8470. function wp(t) {
  8471. return '' !== t && -1 !== ' \xa0\f\n\r\t\v'.indexOf(t)
  8472. }
  8473. function Sp(t, n) {
  8474. return t.substring(n.length)
  8475. }
  8476. function kp(o, t, r, n) {
  8477. return (
  8478. void 0 === n && (n = 0),
  8479. Mp(At.fromDom(t.startContainer)).fold(
  8480. function () {
  8481. return (function (t, o, i, r) {
  8482. if (
  8483. (void 0 === r && (r = 0),
  8484. !o.collapsed || 3 !== o.startContainer.nodeType)
  8485. )
  8486. return vt.none()
  8487. var n = t.getParent(o.startContainer, t.isBlock) || t.getRoot()
  8488. return bp(
  8489. t,
  8490. o.startContainer,
  8491. o.startOffset,
  8492. function (t, r, n) {
  8493. return (function (t, n) {
  8494. for (var e = r - 1; 0 <= e; e--) {
  8495. var o = t.charAt(e)
  8496. if (wp(o)) return vt.none()
  8497. if (o === n) break
  8498. }
  8499. return vt.some(e)
  8500. })(n, i).getOr(r)
  8501. },
  8502. n
  8503. ).bind(function (t) {
  8504. var n = o.cloneRange()
  8505. if (
  8506. (n.setStart(t.container, t.offset),
  8507. n.setEnd(o.endContainer, o.endOffset),
  8508. n.collapsed)
  8509. )
  8510. return vt.none()
  8511. var e = xp(n)
  8512. return 0 !== e.lastIndexOf(i) || Sp(e, i).length < r
  8513. ? vt.none()
  8514. : vt.some({ text: Sp(e, i), range: n, triggerChar: i })
  8515. })
  8516. })(o, t, r, n)
  8517. },
  8518. function (t) {
  8519. var n = o.createRng()
  8520. n.selectNode(t.dom)
  8521. var e = xp(n)
  8522. return vt.some({ range: n, text: Sp(e, r), triggerChar: r })
  8523. }
  8524. )
  8525. )
  8526. }
  8527. function Cp(t, n) {
  8528. return { container: t, offset: n }
  8529. }
  8530. function Op(t) {
  8531. return ao('toolbarbutton', zp, t)
  8532. }
  8533. function _p(t) {
  8534. return ao('ToggleButton', Lp, t)
  8535. }
  8536. function Tp(n, t, e, o) {
  8537. void 0 === o && (o = {})
  8538. var r = t(),
  8539. i = n.selection.getRng().startContainer.nodeValue,
  8540. u = F(r.lookupByChar(e.triggerChar), function (t) {
  8541. return (
  8542. e.text.length >= t.minChars &&
  8543. t.matches.getOrThunk(function () {
  8544. return (
  8545. (e = n.dom),
  8546. function (t) {
  8547. var n = Ip(t.startContainer, t.startOffset)
  8548. return !bp(
  8549. e,
  8550. n.container,
  8551. n.offset,
  8552. function (t, n) {
  8553. return 0 === n ? -1 : n
  8554. },
  8555. e.getRoot()
  8556. )
  8557. .filter(function (t) {
  8558. return !wp(t.container.data.charAt(t.offset - 1))
  8559. })
  8560. .isSome()
  8561. }
  8562. )
  8563. var e
  8564. })(e.range, i, e.text)
  8565. )
  8566. })
  8567. if (0 === u.length) return vt.none()
  8568. var a = Ap.all(
  8569. M(u, function (n) {
  8570. return n.fetch(e.text, n.maxResults, o).then(function (t) {
  8571. return {
  8572. matchText: e.text,
  8573. items: t,
  8574. columns: n.columns,
  8575. onAction: n.onAction,
  8576. highlightOn: n.highlightOn,
  8577. }
  8578. })
  8579. })
  8580. )
  8581. return vt.some({ lookupData: a, context: e })
  8582. }
  8583. var Ep,
  8584. Dp,
  8585. Bp = tinymce.util.Tools.resolve('tinymce.dom.TextSeeker'),
  8586. Mp = function (t) {
  8587. return Ru(t, '[data-mce-autocompleter]')
  8588. },
  8589. Ap = tinymce.util.Tools.resolve('tinymce.util.Promise'),
  8590. Fp = function (t) {
  8591. if (3 === t.nodeType) return Cp(t, t.data.length)
  8592. var n = t.childNodes
  8593. return 0 < n.length ? Fp(n[n.length - 1]) : Cp(t, n.length)
  8594. },
  8595. Ip = function (t, n) {
  8596. var e = t.childNodes
  8597. return 0 < e.length && n < e.length
  8598. ? Ip(e[n], 0)
  8599. : 0 < e.length && 1 === t.nodeType && e.length === n
  8600. ? Fp(e[e.length - 1])
  8601. : Cp(t, n)
  8602. },
  8603. Rp = $o([po('type'), Co('text')]),
  8604. Vp = $o([
  8605. Eo('type', 'autocompleteitem'),
  8606. Eo('active', !1),
  8607. Eo('disabled', !1),
  8608. Eo('meta', {}),
  8609. po('value'),
  8610. Co('text'),
  8611. Co('icon'),
  8612. ]),
  8613. Pp = $o([
  8614. po('type'),
  8615. po('ch'),
  8616. Bo('minChars', 1),
  8617. Eo('columns', 1),
  8618. Bo('maxResults', 10),
  8619. Oo('matches'),
  8620. vo('fetch'),
  8621. vo('onAction'),
  8622. Ro('highlightOn', [], nr),
  8623. ]),
  8624. Hp = [
  8625. Fo('disabled', !1),
  8626. Co('tooltip'),
  8627. Co('icon'),
  8628. Co('text'),
  8629. Io('onSetup', function () {
  8630. return st
  8631. }),
  8632. ],
  8633. zp = $o([po('type'), vo('onAction')].concat(Hp)),
  8634. Np = [Fo('active', !1)].concat(Hp),
  8635. Lp = $o(Np.concat([po('type'), vo('onAction')])),
  8636. Wp = [
  8637. Io('predicate', T),
  8638. Ao('scope', 'node', ['node', 'editor']),
  8639. Ao('position', 'selection', ['node', 'selection', 'line']),
  8640. ],
  8641. Up = Hp.concat([
  8642. Eo('type', 'contextformbutton'),
  8643. Eo('primary', !1),
  8644. vo('onAction'),
  8645. cr('original', h),
  8646. ]),
  8647. jp = Np.concat([
  8648. Eo('type', 'contextformbutton'),
  8649. Eo('primary', !1),
  8650. vo('onAction'),
  8651. cr('original', h),
  8652. ]),
  8653. Gp = Hp.concat([Eo('type', 'contextformbutton')]),
  8654. Xp = Np.concat([Eo('type', 'contextformtogglebutton')]),
  8655. Yp = lo('type', { contextformbutton: Up, contextformtogglebutton: jp }),
  8656. qp = $o(
  8657. [
  8658. Eo('type', 'contextform'),
  8659. Io('initValue', rt('')),
  8660. Co('label'),
  8661. xo('commands', Yp),
  8662. So(
  8663. 'launch',
  8664. lo('type', { contextformbutton: Gp, contextformtogglebutton: Xp })
  8665. ),
  8666. ].concat(Wp)
  8667. ),
  8668. Kp = $o([Eo('type', 'contexttoolbar'), po('items')].concat(Wp))
  8669. function Jp(t) {
  8670. return tt(_h, t).getOr(kh)
  8671. }
  8672. function $p(t) {
  8673. return {
  8674. backgroundMenu: 'tox-background-menu',
  8675. selectedMenu: 'tox-selected-menu',
  8676. selectedItem: 'tox-collection__item--active',
  8677. hasIcons: 'tox-menu--has-icons',
  8678. menu: 'color' === t ? 'tox-swatches' : 'tox-menu',
  8679. tieredMenu: 'tox-tiered-menu',
  8680. }
  8681. }
  8682. function Qp(t) {
  8683. var n = $p(t)
  8684. return {
  8685. backgroundMenu: n.backgroundMenu,
  8686. selectedMenu: n.selectedMenu,
  8687. menu: n.menu,
  8688. selectedItem: n.selectedItem,
  8689. item: Jp(t),
  8690. }
  8691. }
  8692. function Zp(t, n, e) {
  8693. return {
  8694. dom: { tag: 'div', classes: ft([[$p(e).tieredMenu]]) },
  8695. markers: Qp(e),
  8696. }
  8697. }
  8698. function th(n, e) {
  8699. return function (t) {
  8700. return M(p(t, e), function (t) {
  8701. return { dom: n, components: t }
  8702. })
  8703. }
  8704. }
  8705. function nh(t, e) {
  8706. var o = [],
  8707. r = []
  8708. return (
  8709. St(t, function (t, n) {
  8710. e(t, n)
  8711. ? (0 < r.length && o.push(r),
  8712. (r = []),
  8713. Tt(t.dom, 'innerHtml') && r.push(t))
  8714. : r.push(t)
  8715. }),
  8716. 0 < r.length && o.push(r),
  8717. M(o, function (t) {
  8718. return {
  8719. dom: { tag: 'div', classes: ['tox-collection__group'] },
  8720. components: t,
  8721. }
  8722. })
  8723. )
  8724. }
  8725. function eh(n, e) {
  8726. return {
  8727. dom: {
  8728. tag: 'div',
  8729. classes: ['tox-menu', 'tox-collection'].concat(
  8730. 1 === n ? ['tox-collection--list'] : ['tox-collection--grid']
  8731. ),
  8732. },
  8733. components: [
  8734. tp.parts.items({
  8735. preprocess: function (t) {
  8736. return 'auto' !== n && 1 < n
  8737. ? th({ tag: 'div', classes: ['tox-collection__group'] }, n)(t)
  8738. : nh(t, function (t, n) {
  8739. return 'separator' === e[n].type
  8740. })
  8741. },
  8742. }),
  8743. ],
  8744. }
  8745. }
  8746. function oh(t) {
  8747. return d(t, function (t) {
  8748. return 'icon' in t && void 0 !== t.icon
  8749. })
  8750. }
  8751. function rh(t) {
  8752. return console.error(ur(t)), console.log(t), vt.none()
  8753. }
  8754. function ih(t, n, e, o, r) {
  8755. var i,
  8756. u =
  8757. ((i = e),
  8758. {
  8759. dom: {
  8760. tag: 'div',
  8761. classes: ['tox-collection', 'tox-collection--horizontal'],
  8762. },
  8763. components: [
  8764. tp.parts.items({
  8765. preprocess: function (t) {
  8766. return nh(t, function (t, n) {
  8767. return 'separator' === i[n].type
  8768. })
  8769. },
  8770. }),
  8771. ],
  8772. })
  8773. return { value: t, dom: u.dom, components: u.components, items: e }
  8774. }
  8775. function uh(t, n, e, o, r) {
  8776. var i, u
  8777. return 'color' === r
  8778. ? {
  8779. value: t,
  8780. dom: (i = {
  8781. dom: { tag: 'div', classes: ['tox-menu', 'tox-swatches-menu'] },
  8782. components: [
  8783. {
  8784. dom: { tag: 'div', classes: ['tox-swatches'] },
  8785. components: [
  8786. tp.parts.items({
  8787. preprocess:
  8788. 'auto' !== o
  8789. ? th({ tag: 'div', classes: ['tox-swatches__row'] }, o)
  8790. : h,
  8791. }),
  8792. ],
  8793. },
  8794. ],
  8795. }).dom,
  8796. components: i.components,
  8797. items: e,
  8798. }
  8799. : 'normal' === r && 'auto' === o
  8800. ? {
  8801. value: t,
  8802. dom: (i = eh(o, e)).dom,
  8803. components: i.components,
  8804. items: e,
  8805. }
  8806. : 'normal' === r && 1 === o
  8807. ? {
  8808. value: t,
  8809. dom: (i = eh(1, e)).dom,
  8810. components: i.components,
  8811. items: e,
  8812. }
  8813. : 'normal' === r
  8814. ? {
  8815. value: t,
  8816. dom: (i = eh(o, e)).dom,
  8817. components: i.components,
  8818. items: e,
  8819. }
  8820. : 'listpreview' !== r || 'auto' === o
  8821. ? {
  8822. value: t,
  8823. dom: {
  8824. tag: 'div',
  8825. classes: ft([
  8826. [(u = $p(r)).menu, 'tox-menu-' + o + '-column'],
  8827. n ? [u.hasIcons] : [],
  8828. ]),
  8829. },
  8830. components: Ih,
  8831. items: e,
  8832. }
  8833. : {
  8834. value: t,
  8835. dom: (i = {
  8836. dom: {
  8837. tag: 'div',
  8838. classes: [
  8839. 'tox-menu',
  8840. 'tox-collection',
  8841. 'tox-collection--toolbar',
  8842. 'tox-collection--toolbar-lg',
  8843. ],
  8844. },
  8845. components: [
  8846. tp.parts.items({
  8847. preprocess: th(
  8848. { tag: 'div', classes: ['tox-collection__group'] },
  8849. o
  8850. ),
  8851. }),
  8852. ],
  8853. }).dom,
  8854. components: i.components,
  8855. items: e,
  8856. }
  8857. }
  8858. function ah(t, o, n) {
  8859. var r = vs(t.element, '.' + n)
  8860. if (0 < r.length) {
  8861. var e = P(r, function (t) {
  8862. var n = t.dom.getBoundingClientRect().top,
  8863. e = r[0].dom.getBoundingClientRect().top
  8864. return Math.abs(n - e) > o
  8865. }).getOr(r.length)
  8866. return vt.some({ numColumns: e, numRows: Math.ceil(r.length / e) })
  8867. }
  8868. return vt.none()
  8869. }
  8870. function ch(t, n, e) {
  8871. t.getSystem().broadcastOn([Jh], {})
  8872. }
  8873. function sh(t) {
  8874. return t.getParam('height', Math.max(t.getElement().offsetHeight, 200))
  8875. }
  8876. function lh(t) {
  8877. return t.getParam('width', ev.DOM.getStyle(t.getElement(), 'width'))
  8878. }
  8879. function fh(t) {
  8880. return vt.from(t.getParam('min_width')).filter(u)
  8881. }
  8882. function dh(t) {
  8883. return vt.from(t.getParam('min_height')).filter(u)
  8884. }
  8885. function mh(t) {
  8886. return vt.from(t.getParam('max_width')).filter(u)
  8887. }
  8888. function gh(t) {
  8889. return vt.from(t.getParam('max_height')).filter(u)
  8890. }
  8891. function ph(t) {
  8892. return !1 !== t.getParam('menubar', !0, 'boolean')
  8893. }
  8894. function hh(t) {
  8895. var n = t.getParam('toolbar', !0),
  8896. e = !0 === n,
  8897. o = y(n),
  8898. r = c(n) && 0 < n.length
  8899. return !rv(t) && (r || o || e)
  8900. }
  8901. function vh(n) {
  8902. var t = F(
  8903. m(9, function (t) {
  8904. return n.getParam('toolbar' + (t + 1), !1, 'string')
  8905. }),
  8906. function (t) {
  8907. return 'string' == typeof t
  8908. }
  8909. )
  8910. return 0 < t.length ? vt.some(t) : vt.none()
  8911. }
  8912. ;((Dp = Ep = {})[(Dp.CLOSE_ON_EXECUTE = 0)] = 'CLOSE_ON_EXECUTE'),
  8913. (Dp[(Dp.BUBBLE_TO_SANDBOX = 1)] = 'BUBBLE_TO_SANDBOX')
  8914. var bh,
  8915. yh,
  8916. xh,
  8917. wh,
  8918. Sh = Ep,
  8919. kh = 'tox-menu-nav__js',
  8920. Ch = 'tox-collection__item',
  8921. Oh = 'tox-swatch',
  8922. _h = { normal: kh, color: Oh },
  8923. Th = 'tox-collection__item--enabled',
  8924. Eh = 'tox-collection__item-icon',
  8925. Dh = 'tox-collection__item-label',
  8926. Bh = 'tox-collection__item-caret',
  8927. Mh = 'tox-collection__item--active',
  8928. Ah = 'tox-collection__item-container',
  8929. Fh = 'tox-collection__item-container--row',
  8930. Ih = [tp.parts.items({})],
  8931. Rh = [po('type'), po('src'), Co('alt'), Ro('classes', [], nr)],
  8932. Vh = $o(Rh),
  8933. Ph = [
  8934. po('type'),
  8935. po('text'),
  8936. Co('name'),
  8937. Ro('classes', ['tox-collection__item-label'], nr),
  8938. ],
  8939. Hh = $o(Ph),
  8940. zh = Ze(function () {
  8941. return ro('type', { cardimage: Vh, cardtext: Hh, cardcontainer: Nh })
  8942. }),
  8943. Nh = $o([
  8944. po('type'),
  8945. Mo('direction', 'horizontal'),
  8946. Mo('align', 'left'),
  8947. Mo('valign', 'middle'),
  8948. xo('items', zh),
  8949. ]),
  8950. Lh = [
  8951. Fo('disabled', !1),
  8952. Co('text'),
  8953. Co('shortcut'),
  8954. ar(
  8955. 'value',
  8956. 'value',
  8957. je(function () {
  8958. return Ir('menuitem-value')
  8959. }),
  8960. Zo()
  8961. ),
  8962. Eo('meta', {}),
  8963. ],
  8964. Wh = $o(
  8965. [
  8966. po('type'),
  8967. Co('label'),
  8968. xo('items', zh),
  8969. Io('onSetup', function () {
  8970. return st
  8971. }),
  8972. Io('onAction', st),
  8973. ].concat(Lh)
  8974. ),
  8975. Uh = $o([po('type'), Fo('active', !1), Co('icon')].concat(Lh)),
  8976. jh = [po('type'), po('fancytype'), Io('onAction', st)],
  8977. Gh = lo('fancytype', {
  8978. inserttable: [Eo('initData', {})].concat(jh),
  8979. colorswatch: [
  8980. Vo('initData', {}, [Fo('allowCustomColors', !0), _o('colors', Zo())]),
  8981. ].concat(jh),
  8982. }),
  8983. Xh = $o(
  8984. [
  8985. po('type'),
  8986. Io('onSetup', function () {
  8987. return st
  8988. }),
  8989. Io('onAction', st),
  8990. Co('icon'),
  8991. ].concat(Lh)
  8992. ),
  8993. Yh = $o(
  8994. [
  8995. po('type'),
  8996. vo('getSubmenuItems'),
  8997. Io('onSetup', function () {
  8998. return st
  8999. }),
  9000. Co('icon'),
  9001. ].concat(Lh)
  9002. ),
  9003. qh = $o(
  9004. [
  9005. po('type'),
  9006. Co('icon'),
  9007. Fo('active', !1),
  9008. Io('onSetup', function () {
  9009. return st
  9010. }),
  9011. vo('onAction'),
  9012. ].concat(Lh)
  9013. ),
  9014. Kh = function (t) {
  9015. return (n = Ir('unnamed-events')), nc([mm(n, t)])
  9016. var n
  9017. },
  9018. Jh = Ir('tooltip.exclusive'),
  9019. $h = Ir('tooltip.show'),
  9020. Qh = Ir('tooltip.hide'),
  9021. Zh = Object.freeze({
  9022. __proto__: null,
  9023. hideAllExclusive: ch,
  9024. setComponents: function (t, n, e, o) {
  9025. e.getTooltip().each(function (t) {
  9026. t.getSystem().isConnected() && Rg.set(t, o)
  9027. })
  9028. },
  9029. }),
  9030. tv = Object.freeze({
  9031. __proto__: null,
  9032. events: function (r, i) {
  9033. function e(n) {
  9034. i.getTooltip().each(function (t) {
  9035. Hs(t), r.onHide(n, t), i.clearTooltip()
  9036. }),
  9037. i.clearTimer()
  9038. }
  9039. return eu(
  9040. ft([
  9041. [
  9042. Cr($h, function (o) {
  9043. i.resetTimer(function () {
  9044. var t,
  9045. n,
  9046. e = o
  9047. i.isShowing() ||
  9048. (ch(e),
  9049. (t = r.lazySink(e).getOrDie()),
  9050. (n = e.getSystem().build({
  9051. dom: r.tooltipDom,
  9052. components: r.tooltipComponents,
  9053. events: eu(
  9054. 'normal' === r.mode
  9055. ? [
  9056. Cr(vi(), function (t) {
  9057. vr(e, $h)
  9058. }),
  9059. Cr(pi(), function (t) {
  9060. vr(e, Qh)
  9061. }),
  9062. ]
  9063. : []
  9064. ),
  9065. behaviours: nc([Rg.config({})]),
  9066. })),
  9067. i.setTooltip(n),
  9068. Vs(t, n),
  9069. r.onShow(e, n),
  9070. ff.position(t, n, { anchor: r.anchor(e) }))
  9071. }, r.delay)
  9072. }),
  9073. Cr(Qh, function (t) {
  9074. i.resetTimer(function () {
  9075. e(t)
  9076. }, r.delay)
  9077. }),
  9078. Cr(Fi(), function (t, n) {
  9079. n.universal || (wt(n.channels, Jh) && e(t))
  9080. }),
  9081. ru(function (t) {
  9082. e(t)
  9083. }),
  9084. ],
  9085. 'normal' === r.mode
  9086. ? [
  9087. Cr(bi(), function (t) {
  9088. vr(t, $h)
  9089. }),
  9090. Cr(Mi(), function (t) {
  9091. vr(t, Qh)
  9092. }),
  9093. Cr(vi(), function (t) {
  9094. vr(t, $h)
  9095. }),
  9096. Cr(pi(), function (t) {
  9097. vr(t, Qh)
  9098. }),
  9099. ]
  9100. : [
  9101. Cr(Zi(), function (t, n) {
  9102. vr(t, $h)
  9103. }),
  9104. Cr(tu(), function (t) {
  9105. vr(t, Qh)
  9106. }),
  9107. ],
  9108. ])
  9109. )
  9110. },
  9111. }),
  9112. nv = xa({
  9113. fields: [
  9114. mo('lazySink'),
  9115. mo('tooltipDom'),
  9116. Eo('exclusive', !0),
  9117. Eo('tooltipComponents', []),
  9118. Eo('delay', 300),
  9119. Ao('mode', 'normal', ['normal', 'follow-highlight']),
  9120. Eo('anchor', function (t) {
  9121. return {
  9122. type: 'hotspot',
  9123. hotspot: t,
  9124. layouts: {
  9125. onLtr: rt([$a, Ja, Xa, qa, Ya, Ka]),
  9126. onRtl: rt([$a, Ja, Xa, qa, Ya, Ka]),
  9127. },
  9128. }
  9129. }),
  9130. Ju('onHide'),
  9131. Ju('onShow'),
  9132. ],
  9133. name: 'tooltipping',
  9134. active: tv,
  9135. state: Object.freeze({
  9136. __proto__: null,
  9137. init: function () {
  9138. function e() {
  9139. o.on(clearTimeout)
  9140. }
  9141. var o = gc(),
  9142. t = gc(),
  9143. n = rt('not-implemented')
  9144. return wu({
  9145. getTooltip: t.get,
  9146. isShowing: t.isSet,
  9147. setTooltip: t.set,
  9148. clearTooltip: t.clear,
  9149. clearTimer: e,
  9150. resetTimer: function (t, n) {
  9151. e(), o.set(setTimeout(t, n))
  9152. },
  9153. readState: n,
  9154. })
  9155. },
  9156. }),
  9157. apis: Zh,
  9158. }),
  9159. ev = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils'),
  9160. ov = tinymce.util.Tools.resolve('tinymce.EditorManager'),
  9161. rv = function (t) {
  9162. return vh(t).fold(function () {
  9163. return 0 < t.getParam('toolbar', [], 'string[]').length
  9164. }, D)
  9165. }
  9166. function iv(t) {
  9167. return t.getParam('toolbar_mode', '', 'string')
  9168. }
  9169. function uv(t) {
  9170. return t.getParam('toolbar_location', xh.auto, 'string')
  9171. }
  9172. function av(t) {
  9173. return uv(t) === xh.bottom
  9174. }
  9175. function cv(t) {
  9176. if (!t.inline) return vt.none()
  9177. var n = t.getParam('fixed_toolbar_container', '', 'string')
  9178. if (0 < n.length) return Iu(be(), n)
  9179. var e = t.getParam('fixed_toolbar_container_target')
  9180. return k(e) ? vt.some(At.fromDom(e)) : vt.none()
  9181. }
  9182. function sv(t) {
  9183. return t.inline && cv(t).isSome()
  9184. }
  9185. function lv(t) {
  9186. return cv(t).getOrThunk(function () {
  9187. return tn(ge(At.fromDom(t.getElement())))
  9188. })
  9189. }
  9190. function fv(t) {
  9191. return t.inline && !ph(t) && !hh(t) && !rv(t)
  9192. }
  9193. function dv(t) {
  9194. return (
  9195. (t.getParam('toolbar_sticky', !1, 'boolean') || t.inline) &&
  9196. !sv(t) &&
  9197. !fv(t)
  9198. )
  9199. }
  9200. function mv(t, n) {
  9201. var e = t.outerContainer.element
  9202. n &&
  9203. (t.mothership.broadcastOn([yf()], { target: e }),
  9204. t.uiMothership.broadcastOn([yf()], { target: e })),
  9205. t.mothership.broadcastOn([Kv], { readonly: n }),
  9206. t.uiMothership.broadcastOn([Kv], { readonly: n })
  9207. }
  9208. function gv(t, n) {
  9209. t.on('init', function () {
  9210. t.mode.isReadOnly() && mv(n, !0)
  9211. }),
  9212. t.on('SwitchMode', function () {
  9213. return mv(n, t.mode.isReadOnly())
  9214. }),
  9215. t.getParam('readonly', !1, 'boolean') && t.setMode('readonly')
  9216. }
  9217. function pv() {
  9218. var t
  9219. return ic.config({
  9220. channels:
  9221. (((t = {})[Kv] = {
  9222. schema: Jv,
  9223. onReceive: function (t, n) {
  9224. gd.set(t, n.readonly)
  9225. },
  9226. }),
  9227. t),
  9228. })
  9229. }
  9230. function hv(t, n) {
  9231. var e = t.getApi(n)
  9232. return function (t) {
  9233. t(e)
  9234. }
  9235. }
  9236. function vv(e, o) {
  9237. return ou(function (t) {
  9238. hv(
  9239. e,
  9240. t
  9241. )(function (t) {
  9242. var n = e.onSetup(t)
  9243. S(n) && o.set(n)
  9244. })
  9245. })
  9246. }
  9247. function bv(n, e) {
  9248. return ru(function (t) {
  9249. return hv(n, t)(e.get())
  9250. })
  9251. }
  9252. function yv(t, n, e, o) {
  9253. var r,
  9254. i,
  9255. u = Po(st)
  9256. return {
  9257. type: 'item',
  9258. dom: n.dom,
  9259. components: tb(n.optComponents),
  9260. data: t.data,
  9261. eventOrder: Zv,
  9262. hasSubmenu: t.triggersSubmenu,
  9263. itemBehaviours: nc(
  9264. [
  9265. mm('item-events', [
  9266. ((r = t),
  9267. (i = e),
  9268. uu(function (t, n) {
  9269. hv(r, t)(r.onAction),
  9270. r.triggersSubmenu ||
  9271. i !== Sh.CLOSE_ON_EXECUTE ||
  9272. (vr(t, Hi()), n.stop())
  9273. })),
  9274. vv(t, u),
  9275. bv(t, u),
  9276. ]),
  9277. gd.config({
  9278. disabled: function () {
  9279. return t.disabled || o.isDisabled()
  9280. },
  9281. disableClass: 'tox-collection__item--state-disabled',
  9282. }),
  9283. pv(),
  9284. Rg.config({}),
  9285. ].concat(t.itemBehaviours)
  9286. ),
  9287. }
  9288. }
  9289. function xv(t) {
  9290. return { value: t.value, meta: lt({ text: t.text.getOr('') }, t.meta) }
  9291. }
  9292. function wv(t, n, e) {
  9293. return Xm(t, { tag: 'div', classes: (e = void 0 === e ? [Eh] : e) }, n)
  9294. }
  9295. function Sv(t) {
  9296. return {
  9297. dom: { tag: 'div', classes: [Dh] },
  9298. components: [ri(dp.translate(t))],
  9299. }
  9300. }
  9301. function kv(t, n) {
  9302. return { dom: { tag: 'div', classes: n, innerHtml: t } }
  9303. }
  9304. function Cv(t, n) {
  9305. return {
  9306. dom: { tag: 'div', classes: [Dh] },
  9307. components: [
  9308. {
  9309. dom: { tag: t.tag, styles: t.styles },
  9310. components: [ri(dp.translate(n))],
  9311. },
  9312. ],
  9313. }
  9314. }
  9315. function Ov(t) {
  9316. return {
  9317. dom: {
  9318. tag: 'div',
  9319. classes: ['tox-collection__item-accessory'],
  9320. innerHtml:
  9321. ((e = nb.mac
  9322. ? {
  9323. alt: '&#x2325;',
  9324. ctrl: '&#x2303;',
  9325. shift: '&#x21E7;',
  9326. meta: '&#x2318;',
  9327. access: '&#x2303;&#x2325;',
  9328. }
  9329. : { meta: 'Ctrl', access: 'Shift+Alt' }),
  9330. (n = M(t.split('+'), function (t) {
  9331. var n = t.toLowerCase().trim()
  9332. return Tt(e, n) ? e[n] : t
  9333. })),
  9334. nb.mac ? n.join('') : n.join('+')),
  9335. },
  9336. }
  9337. var e, n
  9338. }
  9339. function _v(t) {
  9340. return wv('checkmark', t, ['tox-collection__item-checkmark'])
  9341. }
  9342. function Tv(t) {
  9343. var n = t
  9344. .map(function (t) {
  9345. return { attributes: { title: dp.translate(t) } }
  9346. })
  9347. .getOr({})
  9348. return lt({ tag: 'div', classes: [kh, Ch] }, n)
  9349. }
  9350. function Ev(t, n, e, o) {
  9351. return (
  9352. void 0 === o && (o = vt.none()),
  9353. 'color' === t.presets
  9354. ? ((r = n),
  9355. (i = o),
  9356. (c = t.ariaLabel),
  9357. (s = t.value),
  9358. {
  9359. dom:
  9360. ((u = t.iconContent
  9361. .map(function (t) {
  9362. return (
  9363. (n = r.icons),
  9364. (e = i),
  9365. Wm(t, (o = n()))
  9366. .or(e)
  9367. .getOrThunk(Nm(o))
  9368. )
  9369. var n, e, o
  9370. })
  9371. .getOr('')),
  9372. (a = {
  9373. tag: 'div',
  9374. attributes: c
  9375. .map(function (t) {
  9376. return { title: r.translate(t) }
  9377. })
  9378. .getOr({}),
  9379. classes: ['tox-swatch'],
  9380. }),
  9381. lt(
  9382. lt({}, a),
  9383. 'custom' === s
  9384. ? {
  9385. tag: 'button',
  9386. classes: H(
  9387. H([], a.classes, !0),
  9388. ['tox-swatches__picker-btn'],
  9389. !1
  9390. ),
  9391. innerHtml: u,
  9392. }
  9393. : 'remove' === s
  9394. ? {
  9395. classes: H(
  9396. H([], a.classes, !0),
  9397. ['tox-swatch--remove'],
  9398. !1
  9399. ),
  9400. innerHtml: u,
  9401. }
  9402. : {
  9403. attributes: lt(lt({}, a.attributes), {
  9404. 'data-mce-color': s,
  9405. }),
  9406. styles: { 'background-color': s },
  9407. }
  9408. )),
  9409. optComponents: [],
  9410. })
  9411. : ((l = t),
  9412. (f = n),
  9413. (d = o),
  9414. (m = { tag: 'div', classes: [Eh] }),
  9415. (g = e
  9416. ? l.iconContent
  9417. .map(function (t) {
  9418. return Xm(t, m, f.icons, d)
  9419. })
  9420. .orThunk(function () {
  9421. return vt.some({ dom: m })
  9422. })
  9423. : vt.none()),
  9424. (p = l.checkMark),
  9425. (h = vt.from(l.meta).fold(
  9426. function () {
  9427. return Sv
  9428. },
  9429. function (t) {
  9430. return Tt(t, 'style') ? C(Cv, t.style) : Sv
  9431. }
  9432. )),
  9433. (v = l.htmlContent.fold(
  9434. function () {
  9435. return l.textContent.map(h)
  9436. },
  9437. function (t) {
  9438. return vt.some(kv(t, [Dh]))
  9439. }
  9440. )),
  9441. {
  9442. dom: Tv(l.ariaLabel),
  9443. optComponents: [g, v, l.shortcutContent.map(Ov), p, l.caret],
  9444. })
  9445. )
  9446. var r, i, u, a, c, s, l, f, d, m, g, p, h, v
  9447. }
  9448. function Dv(t, n) {
  9449. return tt(t, 'tooltipWorker')
  9450. .map(function (e) {
  9451. return [
  9452. nv.config({
  9453. lazySink: n.getSink,
  9454. tooltipDom: {
  9455. tag: 'div',
  9456. classes: ['tox-tooltip-worker-container'],
  9457. },
  9458. tooltipComponents: [],
  9459. anchor: function (t) {
  9460. return {
  9461. type: 'submenu',
  9462. item: t,
  9463. overrides: { maxHeightFunction: Vc },
  9464. }
  9465. },
  9466. mode: 'follow-highlight',
  9467. onShow: function (n, t) {
  9468. e(function (t) {
  9469. nv.setComponents(n, [Ou({ element: At.fromDom(t) })])
  9470. })
  9471. },
  9472. }),
  9473. ]
  9474. })
  9475. .getOr([])
  9476. }
  9477. function Bv(t, n) {
  9478. var e = dp.translate(t),
  9479. o = ev.DOM.encode(e)
  9480. if (0 < n.length) {
  9481. var r = new RegExp(n.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'), 'gi')
  9482. return o.replace(r, function (t) {
  9483. return '<span class="tox-autocompleter-highlight">' + t + '</span>'
  9484. })
  9485. }
  9486. return o
  9487. }
  9488. function Mv(t) {
  9489. return { value: t }
  9490. }
  9491. function Av(t) {
  9492. return rb.test(t) || ib.test(t)
  9493. }
  9494. function Fv(t) {
  9495. var n = t.toString(16)
  9496. return (1 === n.length ? '0' + n : n).toUpperCase()
  9497. }
  9498. function Iv(t) {
  9499. return Mv(Fv(t.red) + Fv(t.green) + Fv(t.blue))
  9500. }
  9501. function Rv(t, n, e, o) {
  9502. return { red: t, green: n, blue: e, alpha: o }
  9503. }
  9504. function Vv(t) {
  9505. var n = parseInt(t, 10)
  9506. return n.toString() === t && 0 <= n && n <= 255
  9507. }
  9508. function Pv(t) {
  9509. var n,
  9510. e,
  9511. o,
  9512. r = (t.hue || 0) % 360,
  9513. i = t.saturation / 100,
  9514. u = t.value / 100,
  9515. i = ab(0, ub(i, 1)),
  9516. u = ab(0, ub(u, 1))
  9517. if (0 === i) return Rv((n = e = o = cb(255 * u)), e, o, 1)
  9518. var a = r / 60,
  9519. c = u * i,
  9520. s = c * (1 - Math.abs((a % 2) - 1)),
  9521. l = u - c
  9522. switch (Math.floor(a)) {
  9523. case 0:
  9524. ;(n = c), (e = s), (o = 0)
  9525. break
  9526. case 1:
  9527. ;(n = s), (e = c), (o = 0)
  9528. break
  9529. case 2:
  9530. ;(n = 0), (e = c), (o = s)
  9531. break
  9532. case 3:
  9533. ;(n = 0), (e = s), (o = c)
  9534. break
  9535. case 4:
  9536. ;(n = s), (e = 0), (o = c)
  9537. break
  9538. case 5:
  9539. ;(n = c), (e = 0), (o = s)
  9540. break
  9541. default:
  9542. n = e = o = 0
  9543. }
  9544. return Rv(
  9545. (n = cb(255 * (n + l))),
  9546. (e = cb(255 * (e + l))),
  9547. (o = cb(255 * (o + l))),
  9548. 1
  9549. )
  9550. }
  9551. function Hv(t) {
  9552. var n,
  9553. e,
  9554. o =
  9555. ((n = {
  9556. value: t.value.replace(rb, function (t, n, e, o) {
  9557. return n + n + e + e + o + o
  9558. }),
  9559. }),
  9560. null === (e = ib.exec(n.value)) ? ['FFFFFF', 'FF', 'FF', 'FF'] : e)
  9561. return Rv(parseInt(o[1], 16), parseInt(o[2], 16), parseInt(o[3], 16), 1)
  9562. }
  9563. function zv(t, n, e, o) {
  9564. return Rv(parseInt(t, 10), parseInt(n, 10), parseInt(e, 10), parseFloat(o))
  9565. }
  9566. function Nv(t) {
  9567. if ('transparent' === t) return vt.some(Rv(0, 0, 0, 0))
  9568. var n = sb.exec(t)
  9569. if (null !== n) return vt.some(zv(n[1], n[2], n[3], '1'))
  9570. var e = lb.exec(t)
  9571. return null !== e ? vt.some(zv(e[1], e[2], e[3], e[4])) : vt.none()
  9572. }
  9573. function Lv(t) {
  9574. return 'rgba(' + t.red + ',' + t.green + ',' + t.blue + ',' + t.alpha + ')'
  9575. }
  9576. function Wv(t, n) {
  9577. return t.fire('ResizeContent', n)
  9578. }
  9579. function Uv(t, n, e) {
  9580. return { hue: t, saturation: n, value: e }
  9581. }
  9582. function jv(t) {
  9583. var n,
  9584. e,
  9585. o = 0,
  9586. r = t.red / 255,
  9587. i = t.green / 255,
  9588. u = t.blue / 255,
  9589. a = Math.min(r, Math.min(i, u)),
  9590. c = Math.max(r, Math.max(i, u))
  9591. return a === c
  9592. ? Uv(0, 0, 100 * (o = a))
  9593. : ((e =
  9594. 60 *
  9595. ((r === a ? 3 : u === a ? 1 : 5) -
  9596. (r === a ? i - u : u === a ? r - i : u - r) / (c - a))),
  9597. (n = (c - a) / c),
  9598. (o = c),
  9599. Uv(Math.round(e), Math.round(100 * n), Math.round(100 * o)))
  9600. }
  9601. function Gv(t) {
  9602. return Iv(Pv(t))
  9603. }
  9604. function Xv(o) {
  9605. return (
  9606. Av((n = o))
  9607. ? vt.some({
  9608. value: (Dt((t = n), '#')
  9609. ? t.substring('#'.length)
  9610. : t
  9611. ).toUpperCase(),
  9612. })
  9613. : vt.none()
  9614. )
  9615. .orThunk(function () {
  9616. return Nv(o).map(Iv)
  9617. })
  9618. .getOrThunk(function () {
  9619. var t = document.createElement('canvas')
  9620. ;(t.height = 1), (t.width = 1)
  9621. var n = t.getContext('2d')
  9622. n.clearRect(0, 0, t.width, t.height),
  9623. (n.fillStyle = '#FFFFFF'),
  9624. (n.fillStyle = o),
  9625. n.fillRect(0, 0, 1, 1)
  9626. var e = n.getImageData(0, 0, 1, 1).data
  9627. return Iv(Rv(e[0], e[1], e[2], e[3]))
  9628. })
  9629. var t, n
  9630. }
  9631. ;((yh = bh = bh || {}).default = 'wrap'),
  9632. (yh.floating = 'floating'),
  9633. (yh.sliding = 'sliding'),
  9634. (yh.scrolling = 'scrolling'),
  9635. ((wh = xh = xh || {}).auto = 'auto'),
  9636. (wh.top = 'top'),
  9637. (wh.bottom = 'bottom')
  9638. function Yv(t) {
  9639. return gd.config({ disabled: t, disableClass: 'tox-tbtn--disabled' })
  9640. }
  9641. var qv,
  9642. Kv = 'silver.readonly',
  9643. Jv = $o([go('readonly', er)]),
  9644. $v = function (t) {
  9645. return gd.config({ disabled: t })
  9646. },
  9647. Qv = function (t) {
  9648. return gd.config({
  9649. disabled: t,
  9650. disableClass: 'tox-tbtn--disabled',
  9651. useNative: !1,
  9652. })
  9653. },
  9654. Zv =
  9655. (((qv = {})[Ii()] = [
  9656. 'disabling',
  9657. 'alloy.base.behaviour',
  9658. 'toggling',
  9659. 'item-events',
  9660. ]),
  9661. qv),
  9662. tb = et,
  9663. nb = tinymce.util.Tools.resolve('tinymce.Env'),
  9664. eb = function (t, a) {
  9665. return M(t, function (t) {
  9666. switch (t.type) {
  9667. case 'cardcontainer':
  9668. return (
  9669. (r = eb((o = t).items, a)),
  9670. (i =
  9671. 'vertical' === o.direction
  9672. ? 'tox-collection__item-container--column'
  9673. : Fh),
  9674. (u =
  9675. 'left' === o.align
  9676. ? 'tox-collection__item-container--align-left'
  9677. : 'tox-collection__item-container--align-right'),
  9678. {
  9679. dom: {
  9680. tag: 'div',
  9681. classes: [
  9682. Ah,
  9683. i,
  9684. u,
  9685. (function () {
  9686. switch (o.valign) {
  9687. case 'top':
  9688. return 'tox-collection__item-container--valign-top'
  9689. case 'middle':
  9690. return 'tox-collection__item-container--valign-middle'
  9691. case 'bottom':
  9692. return 'tox-collection__item-container--valign-bottom'
  9693. }
  9694. })(),
  9695. ],
  9696. },
  9697. components: r,
  9698. }
  9699. )
  9700. case 'cardimage':
  9701. return (
  9702. (e = t.src),
  9703. {
  9704. dom: {
  9705. tag: 'img',
  9706. classes: t.classes,
  9707. attributes: { src: e, alt: t.alt.getOr('') },
  9708. },
  9709. }
  9710. )
  9711. case 'cardtext':
  9712. var n = t.name.exists(function (t) {
  9713. return wt(a.cardText.highlightOn, t)
  9714. })
  9715. ? vt.from(a.cardText.matchText).getOr('')
  9716. : ''
  9717. return kv(Bv(t.text, n), t.classes)
  9718. }
  9719. var e, o, r, i, u
  9720. })
  9721. },
  9722. ob = al(qg(), Kg()),
  9723. rb = /^#?([a-f\d])([a-f\d])([a-f\d])$/i,
  9724. ib = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,
  9725. ub = Math.min,
  9726. ab = Math.max,
  9727. cb = Math.round,
  9728. sb = /^rgb\((\d+),\s*(\d+),\s*(\d+)\)/,
  9729. lb = /^rgba\((\d+),\s*(\d+),\s*(\d+),\s*(\d?(?:\.\d+)?)\)/,
  9730. fb = Rv(255, 0, 0, 1),
  9731. db = tinymce.util.Tools.resolve('tinymce.util.LocalStorage'),
  9732. mb = 'tinymce-custom-colors'
  9733. function gb(t) {
  9734. return !1 !== t.getParam('custom_colors')
  9735. }
  9736. function pb(t) {
  9737. var n = t.getParam('color_map')
  9738. return void 0 !== n
  9739. ? (function (t) {
  9740. for (var n = [], e = 0; e < t.length; e += 2)
  9741. n.push({
  9742. text: t[e + 1],
  9743. value: '#' + Xv(t[e]).value,
  9744. type: 'choiceitem',
  9745. })
  9746. return n
  9747. })(n)
  9748. : Mb
  9749. }
  9750. function hb(t) {
  9751. Ab.add(t)
  9752. }
  9753. function vb(t) {
  9754. var n,
  9755. e = ((n = pb(t).length), Math.max(5, Math.ceil(Math.sqrt(n))))
  9756. return t.getParam('color_cols', e, 'number')
  9757. }
  9758. function bb(t) {
  9759. var n = 'choiceitem',
  9760. e = {
  9761. type: n,
  9762. text: 'Remove color',
  9763. icon: 'color-swatch-remove-color',
  9764. value: 'remove',
  9765. }
  9766. return t
  9767. ? [
  9768. e,
  9769. {
  9770. type: n,
  9771. text: 'Custom color',
  9772. icon: 'color-picker',
  9773. value: 'custom',
  9774. },
  9775. ]
  9776. : [e]
  9777. }
  9778. function yb(n, e, t, o) {
  9779. 'custom' === t
  9780. ? Ib(n)(function (t) {
  9781. t.each(function (t) {
  9782. hb(t), n.execCommand('mceApplyTextcolor', e, t), o(t)
  9783. })
  9784. }, Fb)
  9785. : 'remove' === t
  9786. ? (o(''), n.execCommand('mceRemoveTextcolor', e))
  9787. : (o(t), n.execCommand('mceApplyTextcolor', e, t))
  9788. }
  9789. function xb(t, n) {
  9790. return t.concat(
  9791. M(Ab.state(), function (t) {
  9792. return { type: Bb, text: t, value: t }
  9793. }).concat(bb(n))
  9794. )
  9795. }
  9796. function wb(n, e) {
  9797. return function (t) {
  9798. t(xb(n, e))
  9799. }
  9800. }
  9801. function Sb(t, n, e) {
  9802. t.setIconFill(
  9803. 'forecolor' === n
  9804. ? 'tox-icon-text-color__color'
  9805. : 'tox-icon-highlight-bg-color__color',
  9806. e
  9807. )
  9808. }
  9809. function kb(i, e, u, t, o) {
  9810. i.ui.registry.addSplitButton(e, {
  9811. tooltip: t,
  9812. presets: 'color',
  9813. icon: 'forecolor' === e ? 'text-color' : 'highlight-bg-color',
  9814. select: function (e) {
  9815. var o,
  9816. r = u
  9817. return (
  9818. i.dom.getParents(i.selection.getStart(), function (t) {
  9819. var n
  9820. ;(n = t.style['forecolor' === r ? 'color' : 'background-color']) &&
  9821. (o = o || n)
  9822. }),
  9823. vt
  9824. .from(o)
  9825. .bind(function (t) {
  9826. return Nv(t).map(function (t) {
  9827. var n = Iv(t).value
  9828. return ut(e.toLowerCase(), n)
  9829. })
  9830. })
  9831. .getOr(!1)
  9832. )
  9833. },
  9834. columns: vb(i),
  9835. fetch: wb(pb(i), gb(i)),
  9836. onAction: function (t) {
  9837. yb(i, u, o.get(), st)
  9838. },
  9839. onItemAction: function (t, n) {
  9840. yb(i, u, n, function (t) {
  9841. o.set(t), i.fire('TextColorChange', { name: e, color: t })
  9842. })
  9843. },
  9844. onSetup: function (n) {
  9845. function t(t) {
  9846. t.name === e && Sb(n, t.name, t.color)
  9847. }
  9848. return (
  9849. Sb(n, e, o.get()),
  9850. i.on('TextColorChange', t),
  9851. function () {
  9852. i.off('TextColorChange', t)
  9853. }
  9854. )
  9855. },
  9856. })
  9857. }
  9858. function Cb(n, t, e, o) {
  9859. n.ui.registry.addNestedMenuItem(t, {
  9860. text: o,
  9861. icon: 'forecolor' === t ? 'text-color' : 'highlight-bg-color',
  9862. getSubmenuItems: function () {
  9863. return [
  9864. {
  9865. type: 'fancymenuitem',
  9866. fancytype: 'colorswatch',
  9867. onAction: function (t) {
  9868. yb(n, e, t.value, st)
  9869. },
  9870. },
  9871. ]
  9872. },
  9873. })
  9874. }
  9875. function Ob(t, n, e, o, r, i, u, a) {
  9876. return uh(
  9877. t,
  9878. oh(n),
  9879. Rb(n, e, o, 'color' !== r ? 'normal' : 'color', i, u, a),
  9880. o,
  9881. r
  9882. )
  9883. }
  9884. function _b(t, n) {
  9885. var e = Qp(n)
  9886. return 1 === t
  9887. ? { mode: 'menu', moveOnTab: !0 }
  9888. : 'auto' === t
  9889. ? {
  9890. mode: 'grid',
  9891. selector: '.' + e.item,
  9892. initSize: { numColumns: 1, numRows: 1 },
  9893. }
  9894. : {
  9895. mode: 'matrix',
  9896. rowSelector:
  9897. '.' +
  9898. ('color' === n ? 'tox-swatches__row' : 'tox-collection__group'),
  9899. }
  9900. }
  9901. function Tb(t, n) {
  9902. return ri(n + 'x' + t)
  9903. }
  9904. var Eb,
  9905. Db,
  9906. Bb = 'choiceitem',
  9907. Mb = [
  9908. { type: Bb, text: 'Light Green', value: '#BFEDD2' },
  9909. { type: Bb, text: 'Light Yellow', value: '#FBEEB8' },
  9910. { type: Bb, text: 'Light Red', value: '#F8CAC6' },
  9911. { type: Bb, text: 'Light Purple', value: '#ECCAFA' },
  9912. { type: Bb, text: 'Light Blue', value: '#C2E0F4' },
  9913. { type: Bb, text: 'Green', value: '#2DC26B' },
  9914. { type: Bb, text: 'Yellow', value: '#F1C40F' },
  9915. { type: Bb, text: 'Red', value: '#E03E2D' },
  9916. { type: Bb, text: 'Purple', value: '#B96AD9' },
  9917. { type: Bb, text: 'Blue', value: '#3598DB' },
  9918. { type: Bb, text: 'Dark Turquoise', value: '#169179' },
  9919. { type: Bb, text: 'Orange', value: '#E67E23' },
  9920. { type: Bb, text: 'Dark Red', value: '#BA372A' },
  9921. { type: Bb, text: 'Dark Purple', value: '#843FA1' },
  9922. { type: Bb, text: 'Dark Blue', value: '#236FA1' },
  9923. { type: Bb, text: 'Light Gray', value: '#ECF0F1' },
  9924. { type: Bb, text: 'Medium Gray', value: '#CED4D9' },
  9925. { type: Bb, text: 'Gray', value: '#95A5A6' },
  9926. { type: Bb, text: 'Dark Gray', value: '#7E8C8D' },
  9927. { type: Bb, text: 'Navy Blue', value: '#34495E' },
  9928. { type: Bb, text: 'Black', value: '#000000' },
  9929. { type: Bb, text: 'White', value: '#ffffff' },
  9930. ],
  9931. Ab = (function (e) {
  9932. void 0 === e && (e = 10)
  9933. function o(t) {
  9934. i.splice(t, 1)
  9935. }
  9936. var t,
  9937. n = db.getItem(mb),
  9938. r = y(n) ? JSON.parse(n) : [],
  9939. i = e - (t = r).length < 0 ? t.slice(0, e) : t
  9940. return {
  9941. add: function (t) {
  9942. var n
  9943. ;(-1 === (n = l(i, t)) ? vt.none() : vt.some(n)).each(o),
  9944. i.unshift(t),
  9945. i.length > e && i.pop(),
  9946. db.setItem(mb, JSON.stringify(i))
  9947. },
  9948. state: function () {
  9949. return i.slice(0)
  9950. },
  9951. }
  9952. })(10),
  9953. Fb = '#000000',
  9954. Ib = function (r) {
  9955. return function (e, t) {
  9956. var o = !1
  9957. r.windowManager.open({
  9958. title: 'Color Picker',
  9959. size: 'normal',
  9960. body: {
  9961. type: 'panel',
  9962. items: [
  9963. { type: 'colorpicker', name: 'colorpicker', label: 'Color' },
  9964. ],
  9965. },
  9966. buttons: [
  9967. { type: 'cancel', name: 'cancel', text: 'Cancel' },
  9968. { type: 'submit', name: 'save', text: 'Save', primary: !0 },
  9969. ],
  9970. initialData: { colorpicker: t },
  9971. onAction: function (t, n) {
  9972. 'hex-valid' === n.name && (o = n.value)
  9973. },
  9974. onSubmit: function (t) {
  9975. var n = t.getData().colorpicker
  9976. o
  9977. ? (e(vt.from(n)), t.close())
  9978. : r.windowManager.alert(
  9979. r.translate(['Invalid hex color code: {0}', n])
  9980. )
  9981. },
  9982. onClose: st,
  9983. onCancel: function () {
  9984. e(vt.none())
  9985. },
  9986. })
  9987. }
  9988. },
  9989. Rb = function (e, o, r, i, u, a, c) {
  9990. return et(
  9991. M(e, function (n) {
  9992. return 'choiceitem' === n.type
  9993. ? ao('choicemenuitem', Uh, n).fold(rh, function (t) {
  9994. return vt.some(
  9995. (function (n, t, e, o, r, i, u, a) {
  9996. void 0 === a && (a = !0)
  9997. var c = Ev(
  9998. {
  9999. presets: e,
  10000. textContent: t ? n.text : vt.none(),
  10001. htmlContent: vt.none(),
  10002. ariaLabel: n.text,
  10003. iconContent: n.icon,
  10004. shortcutContent: t ? n.shortcut : vt.none(),
  10005. checkMark: t ? vt.some(_v(u.icons)) : vt.none(),
  10006. caret: vt.none(),
  10007. value: n.value,
  10008. },
  10009. u,
  10010. a
  10011. )
  10012. return Yo(
  10013. yv(
  10014. {
  10015. data: xv(n),
  10016. disabled: n.disabled,
  10017. getApi: function (n) {
  10018. return {
  10019. setActive: function (t) {
  10020. Lg.set(n, t)
  10021. },
  10022. isActive: function () {
  10023. return Lg.isOn(n)
  10024. },
  10025. isDisabled: function () {
  10026. return gd.isDisabled(n)
  10027. },
  10028. setDisabled: function (t) {
  10029. return gd.set(n, t)
  10030. },
  10031. }
  10032. },
  10033. onAction: function (t) {
  10034. return o(n.value)
  10035. },
  10036. onSetup: function (t) {
  10037. return t.setActive(r), st
  10038. },
  10039. triggersSubmenu: !1,
  10040. itemBehaviours: [],
  10041. },
  10042. c,
  10043. i,
  10044. u
  10045. ),
  10046. {
  10047. toggling: {
  10048. toggleClass: Th,
  10049. toggleOnExecute: !1,
  10050. selected: n.active,
  10051. },
  10052. }
  10053. )
  10054. })(t, 1 === r, i, o, a(n.value), u, c, oh(e))
  10055. )
  10056. })
  10057. : vt.none()
  10058. })
  10059. )
  10060. },
  10061. Vb = Ir('cell-over'),
  10062. Pb = Ir('cell-execute'),
  10063. Hb = {
  10064. inserttable: function (u) {
  10065. var t = Ir('size-label'),
  10066. a = (function (t) {
  10067. for (var n = [], e = 0; e < 10; e++) {
  10068. for (var o = [], r = 0; r < 10; r++)
  10069. o.push(
  10070. (function (n, e, t) {
  10071. function o(t) {
  10072. return br(t, Pb, { row: n, col: e })
  10073. }
  10074. function r(t, n) {
  10075. n.stop(), o(t)
  10076. }
  10077. var i
  10078. return Tu({
  10079. dom: {
  10080. tag: 'div',
  10081. attributes:
  10082. (((i = { role: 'button' })['aria-labelledby'] = t),
  10083. i),
  10084. },
  10085. behaviours: nc([
  10086. mm('insert-table-picker-cell', [
  10087. Cr(vi(), Hg.focus),
  10088. Cr(Ii(), o),
  10089. Cr(Ci(), r),
  10090. Cr(Vi(), r),
  10091. ]),
  10092. Lg.config({
  10093. toggleClass: 'tox-insert-table-picker__selected',
  10094. toggleOnExecute: !1,
  10095. }),
  10096. Hg.config({
  10097. onFocus: function (t) {
  10098. return br(t, Vb, { row: n, col: e })
  10099. },
  10100. }),
  10101. ]),
  10102. })
  10103. })(e, r, t)
  10104. )
  10105. n.push(o)
  10106. }
  10107. return n
  10108. })(t),
  10109. n = Tb(0, 0),
  10110. c = zm({
  10111. dom: {
  10112. tag: 'span',
  10113. classes: ['tox-insert-table-picker__label'],
  10114. attributes: { id: t },
  10115. },
  10116. components: [n],
  10117. behaviours: nc([Rg.config({})]),
  10118. })
  10119. return {
  10120. type: 'widget',
  10121. data: { value: Ir('widget-id') },
  10122. dom: { tag: 'div', classes: ['tox-fancymenuitem'] },
  10123. autofocus: !0,
  10124. components: [
  10125. ob.widget({
  10126. dom: { tag: 'div', classes: ['tox-insert-table-picker'] },
  10127. components: z(a, function (t) {
  10128. return M(t, Eu)
  10129. }).concat(c.asSpec()),
  10130. behaviours: nc([
  10131. mm('insert-table-picker', [
  10132. ou(function (t) {
  10133. Rg.set(c.get(t), [n])
  10134. }),
  10135. Er(Vb, function (t, n, e) {
  10136. var o = e.event,
  10137. r = o.row,
  10138. i = o.col
  10139. !(function (t, n, e) {
  10140. for (var o = 0; o < 10; o++)
  10141. for (var r = 0; r < 10; r++)
  10142. Lg.set(t[o][r], o <= n && r <= e)
  10143. })(a, r, i),
  10144. Rg.set(c.get(t), [Tb(r + 1, i + 1)])
  10145. }),
  10146. Er(Pb, function (t, n, e) {
  10147. var o = e.event,
  10148. r = o.row,
  10149. i = o.col
  10150. u.onAction({ numRows: r + 1, numColumns: i + 1 }),
  10151. vr(t, Hi())
  10152. }),
  10153. ]),
  10154. Fg.config({
  10155. initSize: { numRows: 10, numColumns: 10 },
  10156. mode: 'flatgrid',
  10157. selector: '[role="button"]',
  10158. }),
  10159. ]),
  10160. }),
  10161. ],
  10162. }
  10163. },
  10164. colorswatch: function (n, t) {
  10165. var e,
  10166. o,
  10167. r,
  10168. i =
  10169. ((o = t),
  10170. (r =
  10171. (e = n).initData.allowCustomColors &&
  10172. o.colorinput.hasCustomColors()),
  10173. e.initData.colors.fold(
  10174. function () {
  10175. return xb(o.colorinput.getColors(), r)
  10176. },
  10177. function (t) {
  10178. return t.concat(bb(r))
  10179. }
  10180. )),
  10181. u = t.colorinput.getColorCols(),
  10182. a = Ob(
  10183. Ir('menu-value'),
  10184. i,
  10185. function (t) {
  10186. n.onAction({ value: t })
  10187. },
  10188. u,
  10189. 'color',
  10190. Sh.CLOSE_ON_EXECUTE,
  10191. T,
  10192. t.shared.providers
  10193. ),
  10194. c = lt(lt({}, a), { markers: Qp('color'), movement: _b(u, 'color') })
  10195. return {
  10196. type: 'widget',
  10197. data: { value: Ir('widget-id') },
  10198. dom: { tag: 'div', classes: ['tox-fancymenuitem'] },
  10199. autofocus: !0,
  10200. components: [ob.widget(tp.sketch(c))],
  10201. }
  10202. },
  10203. },
  10204. zb = function (t) {
  10205. var n = t.text.fold(
  10206. function () {
  10207. return {}
  10208. },
  10209. function (t) {
  10210. return { innerHtml: t }
  10211. }
  10212. )
  10213. return {
  10214. type: 'separator',
  10215. dom: lt(
  10216. { tag: 'div', classes: [Ch, 'tox-collection__group-heading'] },
  10217. n
  10218. ),
  10219. components: [],
  10220. }
  10221. },
  10222. Nb = function (t, n, e, o) {
  10223. void 0 === o && (o = !0)
  10224. var r = Ev(
  10225. {
  10226. presets: 'normal',
  10227. iconContent: t.icon,
  10228. textContent: t.text,
  10229. htmlContent: vt.none(),
  10230. ariaLabel: t.text,
  10231. caret: vt.none(),
  10232. checkMark: vt.none(),
  10233. shortcutContent: t.shortcut,
  10234. },
  10235. e,
  10236. o
  10237. )
  10238. return yv(
  10239. {
  10240. data: xv(t),
  10241. getApi: function (n) {
  10242. return {
  10243. isDisabled: function () {
  10244. return gd.isDisabled(n)
  10245. },
  10246. setDisabled: function (t) {
  10247. return gd.set(n, t)
  10248. },
  10249. }
  10250. },
  10251. disabled: t.disabled,
  10252. onAction: t.onAction,
  10253. onSetup: t.onSetup,
  10254. triggersSubmenu: !1,
  10255. itemBehaviours: [],
  10256. },
  10257. r,
  10258. n,
  10259. e
  10260. )
  10261. },
  10262. Lb = function (t, n, e, o, r) {
  10263. void 0 === o && (o = !0)
  10264. var i = (r = void 0 !== r && r)
  10265. ? wv('chevron-down', e.icons, [Bh])
  10266. : wv('chevron-right', e.icons, [Bh]),
  10267. u = Ev(
  10268. {
  10269. presets: 'normal',
  10270. iconContent: t.icon,
  10271. textContent: t.text,
  10272. htmlContent: vt.none(),
  10273. ariaLabel: t.text,
  10274. caret: vt.some(i),
  10275. checkMark: vt.none(),
  10276. shortcutContent: t.shortcut,
  10277. },
  10278. e,
  10279. o
  10280. )
  10281. return yv(
  10282. {
  10283. data: xv(t),
  10284. getApi: function (n) {
  10285. return {
  10286. isDisabled: function () {
  10287. return gd.isDisabled(n)
  10288. },
  10289. setDisabled: function (t) {
  10290. return gd.set(n, t)
  10291. },
  10292. }
  10293. },
  10294. disabled: t.disabled,
  10295. onAction: st,
  10296. onSetup: t.onSetup,
  10297. triggersSubmenu: !0,
  10298. itemBehaviours: [],
  10299. },
  10300. u,
  10301. n,
  10302. e
  10303. )
  10304. },
  10305. Wb = function (t, n, e, o) {
  10306. void 0 === o && (o = !0)
  10307. var r = Ev(
  10308. {
  10309. iconContent: t.icon,
  10310. textContent: t.text,
  10311. htmlContent: vt.none(),
  10312. ariaLabel: t.text,
  10313. checkMark: vt.some(_v(e.icons)),
  10314. caret: vt.none(),
  10315. shortcutContent: t.shortcut,
  10316. presets: 'normal',
  10317. meta: t.meta,
  10318. },
  10319. e,
  10320. o
  10321. )
  10322. return Yo(
  10323. yv(
  10324. {
  10325. data: xv(t),
  10326. disabled: t.disabled,
  10327. getApi: function (n) {
  10328. return {
  10329. setActive: function (t) {
  10330. Lg.set(n, t)
  10331. },
  10332. isActive: function () {
  10333. return Lg.isOn(n)
  10334. },
  10335. isDisabled: function () {
  10336. return gd.isDisabled(n)
  10337. },
  10338. setDisabled: function (t) {
  10339. return gd.set(n, t)
  10340. },
  10341. }
  10342. },
  10343. onAction: t.onAction,
  10344. onSetup: t.onSetup,
  10345. triggersSubmenu: !1,
  10346. itemBehaviours: [],
  10347. },
  10348. r,
  10349. n,
  10350. e
  10351. ),
  10352. {
  10353. toggling: {
  10354. toggleClass: Th,
  10355. toggleOnExecute: !1,
  10356. selected: t.active,
  10357. },
  10358. }
  10359. )
  10360. },
  10361. Ub = function (n, e) {
  10362. return tt(Hb, n.fancytype).map(function (t) {
  10363. return t(n, e)
  10364. })
  10365. }
  10366. function jb(t, u, a, n, c, s, l) {
  10367. var e = 1 === n,
  10368. o = !e || oh(t)
  10369. return et(
  10370. M(t, function (t) {
  10371. switch (t.type) {
  10372. case 'separator':
  10373. return ao('Autocompleter.Separator', Rp, t).fold(rh, function (t) {
  10374. return vt.some(zb(t))
  10375. })
  10376. case 'cardmenuitem':
  10377. return ao('cardmenuitem', Wh, t).fold(rh, function (n) {
  10378. return vt.some(
  10379. ((t = lt(lt({}, n), {
  10380. onAction: function (t) {
  10381. n.onAction(t), a(n.value, n.meta)
  10382. },
  10383. })),
  10384. (e = c),
  10385. (o = s),
  10386. (r = {
  10387. itemBehaviours: Dv(n.meta, s),
  10388. cardText: { matchText: u, highlightOn: l },
  10389. }),
  10390. (i = {
  10391. dom: Tv(t.label),
  10392. optComponents: [
  10393. vt.some({
  10394. dom: { tag: 'div', classes: [Ah, Fh] },
  10395. components: eb(t.items, r),
  10396. }),
  10397. ],
  10398. }),
  10399. yv(
  10400. {
  10401. data: xv(lt({ text: vt.none() }, t)),
  10402. disabled: t.disabled,
  10403. getApi: function (e) {
  10404. return {
  10405. isDisabled: function () {
  10406. return gd.isDisabled(e)
  10407. },
  10408. setDisabled: function (n) {
  10409. gd.set(e, n),
  10410. St(vs(e.element, '*'), function (t) {
  10411. e.getSystem()
  10412. .getByDom(t)
  10413. .each(function (t) {
  10414. t.hasConfigured(gd) && gd.set(t, n)
  10415. })
  10416. })
  10417. },
  10418. }
  10419. },
  10420. onAction: t.onAction,
  10421. onSetup: t.onSetup,
  10422. triggersSubmenu: !1,
  10423. itemBehaviours: vt.from(r.itemBehaviours).getOr([]),
  10424. },
  10425. i,
  10426. e,
  10427. o.providers
  10428. ))
  10429. )
  10430. var t, e, o, r, i
  10431. })
  10432. default:
  10433. return ao('Autocompleter.Item', Vp, t).fold(rh, function (t) {
  10434. return vt.some(
  10435. (function (n, e, t, o, r, i, u, a) {
  10436. void 0 === a && (a = !0)
  10437. var c = Ev(
  10438. {
  10439. presets: o,
  10440. textContent: vt.none(),
  10441. htmlContent: t
  10442. ? n.text.map(function (t) {
  10443. return Bv(t, e)
  10444. })
  10445. : vt.none(),
  10446. ariaLabel: n.text,
  10447. iconContent: n.icon,
  10448. shortcutContent: vt.none(),
  10449. checkMark: vt.none(),
  10450. caret: vt.none(),
  10451. value: n.value,
  10452. },
  10453. u.providers,
  10454. a,
  10455. n.icon
  10456. )
  10457. return yv(
  10458. {
  10459. data: xv(n),
  10460. disabled: n.disabled,
  10461. getApi: rt({}),
  10462. onAction: function (t) {
  10463. return r(n.value, n.meta)
  10464. },
  10465. onSetup: rt(st),
  10466. triggersSubmenu: !1,
  10467. itemBehaviours: Dv(n.meta, u),
  10468. },
  10469. c,
  10470. i,
  10471. u.providers
  10472. )
  10473. })(t, u, e, 'normal', a, c, s, o)
  10474. )
  10475. })
  10476. }
  10477. })
  10478. )
  10479. }
  10480. function Gb(t, n, e, o, r) {
  10481. var i = oh(n),
  10482. u = et(
  10483. M(n, function (t) {
  10484. function n(t) {
  10485. return (function (t, n, e, o, r) {
  10486. function i(t) {
  10487. return r
  10488. ? lt(lt({}, t), {
  10489. shortcut: vt.none(),
  10490. icon: t.text.isSome() ? vt.none() : t.icon,
  10491. })
  10492. : t
  10493. }
  10494. var u = e.shared.providers
  10495. switch (t.type) {
  10496. case 'menuitem':
  10497. return ao('menuitem', Xh, t).fold(rh, function (t) {
  10498. return vt.some(Nb(i(t), n, u, o))
  10499. })
  10500. case 'nestedmenuitem':
  10501. return ao('nestedmenuitem', Yh, t).fold(rh, function (t) {
  10502. return vt.some(Lb(i(t), n, u, o, r))
  10503. })
  10504. case 'togglemenuitem':
  10505. return ao('togglemenuitem', qh, t).fold(rh, function (t) {
  10506. return vt.some(Wb(i(t), n, u, o))
  10507. })
  10508. case 'separator':
  10509. return ao('separatormenuitem', Rp, t).fold(rh, function (t) {
  10510. return vt.some(zb(t))
  10511. })
  10512. case 'fancymenuitem':
  10513. return ao('fancymenuitem', Gh, t).fold(rh, function (t) {
  10514. return Ub(i(t), e)
  10515. })
  10516. default:
  10517. return (
  10518. console.error('Unknown item in general menu', t), vt.none()
  10519. )
  10520. }
  10521. })(t, e, o, r ? !Tt(t, 'text') : i, r)
  10522. }
  10523. return 'nestedmenuitem' === t.type && t.getSubmenuItems().length <= 0
  10524. ? n(lt(lt({}, t), { disabled: !0 }))
  10525. : n(t)
  10526. })
  10527. )
  10528. return (r ? ih : uh)(t, i, u, 1, 'normal')
  10529. }
  10530. function Xb(t) {
  10531. return ip.singleData(t.value, t)
  10532. }
  10533. function Yb(t, n, e) {
  10534. return Ru(t, n, e).isSome()
  10535. }
  10536. function qb(e, o) {
  10537. var r = null
  10538. return {
  10539. cancel: function () {
  10540. null !== r && (clearTimeout(r), (r = null))
  10541. },
  10542. schedule: function () {
  10543. for (var t = [], n = 0; n < arguments.length; n++) t[n] = arguments[n]
  10544. r = setTimeout(function () {
  10545. e.apply(null, t), (r = null)
  10546. }, o)
  10547. },
  10548. }
  10549. }
  10550. function Kb(t) {
  10551. var n = t.raw
  10552. return void 0 === n.touches || 1 !== n.touches.length
  10553. ? vt.none()
  10554. : vt.some(n.touches[0])
  10555. }
  10556. function Jb() {
  10557. return le().browser.isFirefox()
  10558. }
  10559. function $b(n, t) {
  10560. var e,
  10561. o,
  10562. r,
  10563. i,
  10564. u,
  10565. a,
  10566. c,
  10567. s,
  10568. l,
  10569. f = lt({ stopBackspace: !0 }, t),
  10570. d =
  10571. ((u = f),
  10572. (a = gc()),
  10573. (c = Po(!1)),
  10574. (s = qb(function (t) {
  10575. u.triggerEvent(Pi(), t), c.set(!0)
  10576. }, 400)),
  10577. (l = lr([
  10578. {
  10579. key: si(),
  10580. value: function (e) {
  10581. return (
  10582. Kb(e).each(function (t) {
  10583. s.cancel()
  10584. var n = { x: t.clientX, y: t.clientY, target: e.target }
  10585. s.schedule(e), c.set(!1), a.set(n)
  10586. }),
  10587. vt.none()
  10588. )
  10589. },
  10590. },
  10591. {
  10592. key: li(),
  10593. value: function (t) {
  10594. return (
  10595. s.cancel(),
  10596. Kb(t).each(function (i) {
  10597. a.on(function (t) {
  10598. var n = i,
  10599. e = t,
  10600. o = Math.abs(n.clientX - e.x),
  10601. r = Math.abs(n.clientY - e.y)
  10602. ;(5 < o || 5 < r) && a.clear()
  10603. })
  10604. }),
  10605. vt.none()
  10606. )
  10607. },
  10608. },
  10609. {
  10610. key: fi(),
  10611. value: function (n) {
  10612. return (
  10613. s.cancel(),
  10614. a
  10615. .get()
  10616. .filter(function (t) {
  10617. return Lt(t.target, n.target)
  10618. })
  10619. .map(function (t) {
  10620. return c.get() ? (n.prevent(), !1) : u.triggerEvent(Vi(), n)
  10621. })
  10622. )
  10623. },
  10624. },
  10625. ])),
  10626. {
  10627. fireIfReady: function (n, t) {
  10628. return tt(l, t).bind(function (t) {
  10629. return t(n)
  10630. })
  10631. },
  10632. }),
  10633. m = M(
  10634. [
  10635. 'touchstart',
  10636. 'touchmove',
  10637. 'touchend',
  10638. 'touchcancel',
  10639. 'gesturestart',
  10640. 'mousedown',
  10641. 'mouseup',
  10642. 'mouseover',
  10643. 'mousemove',
  10644. 'mouseout',
  10645. 'click',
  10646. ].concat([
  10647. 'selectstart',
  10648. 'input',
  10649. 'contextmenu',
  10650. 'change',
  10651. 'transitionend',
  10652. 'transitioncancel',
  10653. 'drag',
  10654. 'dragstart',
  10655. 'dragend',
  10656. 'dragenter',
  10657. 'dragleave',
  10658. 'dragover',
  10659. 'drop',
  10660. 'keyup',
  10661. ]),
  10662. function (t) {
  10663. return pc(n, t, function (n) {
  10664. d.fireIfReady(n, t).each(function (t) {
  10665. t && n.kill()
  10666. }),
  10667. f.triggerEvent(t, n) && n.kill()
  10668. })
  10669. }
  10670. ),
  10671. g = gc(),
  10672. p = pc(n, 'paste', function (n) {
  10673. d.fireIfReady(n, 'paste').each(function (t) {
  10674. t && n.kill()
  10675. }),
  10676. f.triggerEvent('paste', n) && n.kill(),
  10677. g.set(
  10678. setTimeout(function () {
  10679. f.triggerEvent(Ai(), n)
  10680. }, 0)
  10681. )
  10682. }),
  10683. h = pc(n, 'keydown', function (t) {
  10684. var n
  10685. f.triggerEvent('keydown', t)
  10686. ? t.kill()
  10687. : !f.stopBackspace ||
  10688. (n = t).raw.which !== vd[0] ||
  10689. wt(['input', 'textarea'], Ft(n.target)) ||
  10690. Yb(n.target, '[contenteditable="true"]') ||
  10691. t.prevent()
  10692. }),
  10693. v =
  10694. ((e = n),
  10695. (o = function (t) {
  10696. f.triggerEvent('focusin', t) && t.kill()
  10697. }),
  10698. Jb() ? hc(e, 'focus', o) : pc(e, 'focusin', o)),
  10699. b = gc(),
  10700. y =
  10701. ((r = n),
  10702. (i = function (t) {
  10703. f.triggerEvent('focusout', t) && t.kill(),
  10704. b.set(
  10705. setTimeout(function () {
  10706. f.triggerEvent(Mi(), t)
  10707. }, 0)
  10708. )
  10709. }),
  10710. Jb() ? hc(r, 'blur', i) : pc(r, 'focusout', i))
  10711. return {
  10712. unbind: function () {
  10713. St(m, function (t) {
  10714. t.unbind()
  10715. }),
  10716. h.unbind(),
  10717. v.unbind(),
  10718. y.unbind(),
  10719. p.unbind(),
  10720. g.on(clearTimeout),
  10721. b.on(clearTimeout)
  10722. },
  10723. }
  10724. }
  10725. function Qb(t, n) {
  10726. return Po(tt(t, 'target').getOr(n))
  10727. }
  10728. function Zb(t, o, n, e, r, i) {
  10729. var u,
  10730. a,
  10731. c = t(o, e),
  10732. s =
  10733. ((u = Po(!1)),
  10734. (a = Po(!1)),
  10735. {
  10736. stop: function () {
  10737. u.set(!0)
  10738. },
  10739. cut: function () {
  10740. a.set(!0)
  10741. },
  10742. isStopped: u.get,
  10743. isCut: a.get,
  10744. event: n,
  10745. setSource: r.set,
  10746. getSource: r.get,
  10747. })
  10748. return c.fold(
  10749. function () {
  10750. return i.logEventNoHandlers(o, e), ay.complete()
  10751. },
  10752. function (n) {
  10753. var e = n.descHandler
  10754. return (
  10755. Wr(e)(s),
  10756. s.isStopped()
  10757. ? (i.logEventStopped(o, n.element, e.purpose), ay.stopped())
  10758. : s.isCut()
  10759. ? (i.logEventCut(o, n.element, e.purpose), ay.complete())
  10760. : Yt(n.element).fold(
  10761. function () {
  10762. return i.logNoParent(o, n.element, e.purpose), ay.complete()
  10763. },
  10764. function (t) {
  10765. return (
  10766. i.logEventResponse(o, n.element, e.purpose), ay.resume(t)
  10767. )
  10768. }
  10769. )
  10770. )
  10771. }
  10772. )
  10773. }
  10774. function ty() {
  10775. function r(t) {
  10776. Rr(t.element).each(function (t) {
  10777. delete a[t], i.unregisterId(t)
  10778. })
  10779. }
  10780. var u,
  10781. i =
  10782. ((u = {}),
  10783. {
  10784. registerId: function (r, i, t) {
  10785. J(t, function (t, n) {
  10786. var e,
  10787. o = void 0 !== u[n] ? u[n] : {}
  10788. ;(o[i] = {
  10789. cHandler: C.apply(void 0, [(e = t).handler].concat(r)),
  10790. purpose: e.purpose,
  10791. }),
  10792. (u[n] = o)
  10793. })
  10794. },
  10795. unregisterId: function (e) {
  10796. J(u, function (t, n) {
  10797. Tt(t, e) && delete t[e]
  10798. })
  10799. },
  10800. filterByType: function (t) {
  10801. return tt(u, t)
  10802. .map(function (t) {
  10803. return $(t, function (t, n) {
  10804. return { id: n, descHandler: t }
  10805. })
  10806. })
  10807. .getOr([])
  10808. },
  10809. find: function (t, n, e) {
  10810. return tt(u, n).bind(function (o) {
  10811. return mr(
  10812. e,
  10813. function (t) {
  10814. return (
  10815. (n = o),
  10816. Rr((e = t))
  10817. .bind(function (t) {
  10818. return tt(n, t)
  10819. })
  10820. .map(function (t) {
  10821. return { element: e, descHandler: t }
  10822. })
  10823. )
  10824. var n, e
  10825. },
  10826. t
  10827. )
  10828. })
  10829. },
  10830. }),
  10831. a = {}
  10832. return {
  10833. find: function (t, n, e) {
  10834. return i.find(t, n, e)
  10835. },
  10836. filter: function (t) {
  10837. return i.filterByType(t)
  10838. },
  10839. register: function (t) {
  10840. var e,
  10841. o = Rr((e = t).element).getOrThunk(function () {
  10842. return (t = e.element), (n = Ir(du + 'uid-')), gu(t, n), n
  10843. var t, n
  10844. })
  10845. nt(a, o) &&
  10846. (function (t) {
  10847. var n = a[o]
  10848. if (n !== t)
  10849. throw new Error(
  10850. 'The tagId "' +
  10851. o +
  10852. '" is already used by: ' +
  10853. Fr(n.element) +
  10854. '\nCannot use it for: ' +
  10855. Fr(t.element) +
  10856. '\nThe conflicting element is' +
  10857. (ve(n.element) ? ' ' : ' not ') +
  10858. 'already in the DOM'
  10859. )
  10860. r(t)
  10861. })(t),
  10862. i.registerId([t], o, t.events),
  10863. (a[o] = t)
  10864. },
  10865. unregister: r,
  10866. getById: function (t) {
  10867. return tt(a, t)
  10868. },
  10869. }
  10870. }
  10871. function ny(e) {
  10872. function o(n) {
  10873. return Yt(e.element).fold(D, function (t) {
  10874. return Lt(n, t)
  10875. })
  10876. }
  10877. function s(t, n) {
  10878. return i.find(o, t, n)
  10879. }
  10880. function r(n) {
  10881. var t = i.filter(Fi())
  10882. St(t, function (t) {
  10883. Wr(t.descHandler)(n)
  10884. })
  10885. }
  10886. var i = ty(),
  10887. t = $b(e.element, {
  10888. triggerEvent: function (n, e) {
  10889. return Lu(n, e.target, function (t) {
  10890. return sy(s, n, e, e.target, t)
  10891. })
  10892. },
  10893. }),
  10894. u = {
  10895. debugInfo: rt('real'),
  10896. triggerEvent: function (n, e, o) {
  10897. Lu(n, e, function (t) {
  10898. return sy(s, n, o, e, t)
  10899. })
  10900. },
  10901. triggerFocus: function (a, c) {
  10902. Rr(a).fold(
  10903. function () {
  10904. ka(a)
  10905. },
  10906. function (t) {
  10907. Lu(Bi(), a, function (t) {
  10908. var n,
  10909. e,
  10910. o = s,
  10911. r = Bi(),
  10912. i = t,
  10913. u = Qb(
  10914. (n = { originator: c, kill: st, prevent: st, target: a }),
  10915. (e = a)
  10916. )
  10917. return Zb(o, r, n, e, u, i), !1
  10918. })
  10919. }
  10920. )
  10921. },
  10922. triggerEscape: function (t, n) {
  10923. u.triggerEvent('keydown', t.element, n.event)
  10924. },
  10925. getByUid: function (t) {
  10926. return g(t)
  10927. },
  10928. getByDom: function (t) {
  10929. return p(t)
  10930. },
  10931. build: Tu,
  10932. addToGui: function (t) {
  10933. c(t)
  10934. },
  10935. removeFromGui: function (t) {
  10936. l(t)
  10937. },
  10938. addToWorld: function (t) {
  10939. n(t)
  10940. },
  10941. removeFromWorld: function (t) {
  10942. a(t)
  10943. },
  10944. broadcast: function (t) {
  10945. f(t)
  10946. },
  10947. broadcastOn: function (t, n) {
  10948. d(t, n)
  10949. },
  10950. broadcastEvent: function (t, n) {
  10951. m(t, n)
  10952. },
  10953. isConnected: D,
  10954. },
  10955. n = function (t) {
  10956. t.connect(u),
  10957. Yn(t.element) ||
  10958. (i.register(t),
  10959. St(t.components(), n),
  10960. u.triggerEvent(Ni(), t.element, { target: t.element }))
  10961. },
  10962. a = function (t) {
  10963. Yn(t.element) || (St(t.components(), a), i.unregister(t)),
  10964. t.disconnect()
  10965. },
  10966. c = function (t) {
  10967. Vs(e, t)
  10968. },
  10969. l = function (t) {
  10970. Hs(t)
  10971. },
  10972. f = function (t) {
  10973. r({ universal: !0, data: t })
  10974. },
  10975. d = function (t, n) {
  10976. r({ universal: !1, channels: t, data: n })
  10977. },
  10978. m = function (t, n) {
  10979. var e,
  10980. o,
  10981. r = i.filter(t)
  10982. return (
  10983. (o = {
  10984. stop: function () {
  10985. e.set(!0)
  10986. },
  10987. cut: st,
  10988. isStopped: (e = Po(!1)).get,
  10989. isCut: T,
  10990. event: n,
  10991. setSource: _('Cannot set source of a broadcasted event'),
  10992. getSource: _('Cannot get source of a broadcasted event'),
  10993. }),
  10994. St(r, function (t) {
  10995. Wr(t.descHandler)(o)
  10996. }),
  10997. o.isStopped()
  10998. )
  10999. },
  11000. g = function (t) {
  11001. return i.getById(t).fold(function () {
  11002. return Ve.error(
  11003. new Error(
  11004. 'Could not find component with uid: "' + t + '" in system.'
  11005. )
  11006. )
  11007. }, Ve.value)
  11008. },
  11009. p = function (t) {
  11010. var n = Rr(t).getOr('not found')
  11011. return g(n)
  11012. }
  11013. return (
  11014. n(e),
  11015. {
  11016. root: e,
  11017. element: e.element,
  11018. destroy: function () {
  11019. t.unbind(), Ee(e.element)
  11020. },
  11021. add: c,
  11022. remove: l,
  11023. getByUid: g,
  11024. getByDom: p,
  11025. addToWorld: n,
  11026. removeFromWorld: a,
  11027. broadcast: f,
  11028. broadcastOn: d,
  11029. broadcastEvent: m,
  11030. }
  11031. )
  11032. }
  11033. function ey(t, n, e, o) {
  11034. var r = vy(t, n, e, o)
  11035. return my.sketch(r)
  11036. }
  11037. function oy(t, n) {
  11038. return my.parts.label({
  11039. dom: { tag: 'label', classes: ['tox-label'], innerHtml: n.translate(t) },
  11040. })
  11041. }
  11042. function ry(t) {
  11043. return nc([
  11044. Hg.config({
  11045. onFocus: t.selectOnFocus
  11046. ? function (t) {
  11047. var n = t.element,
  11048. e = Qr(n)
  11049. n.dom.setSelectionRange(0, e.length)
  11050. }
  11051. : st,
  11052. }),
  11053. ])
  11054. }
  11055. function iy(t) {
  11056. return {
  11057. tag: t.tag,
  11058. attributes: lt({ type: 'text' }, t.inputAttributes),
  11059. styles: t.inputStyles,
  11060. classes: t.inputClasses,
  11061. }
  11062. }
  11063. ;((Db = Eb = {})[(Db.ContentFocus = 0)] = 'ContentFocus'),
  11064. (Db[(Db.UiFocus = 1)] = 'UiFocus')
  11065. function uy(f, c) {
  11066. function e() {
  11067. return r.get().isSome()
  11068. }
  11069. function s() {
  11070. e() && up.hide(d)
  11071. }
  11072. var o,
  11073. t,
  11074. r = gc(),
  11075. l = Po(!1),
  11076. d = Tu(
  11077. up.sketch({
  11078. dom: { tag: 'div', classes: ['tox-autocompleter'] },
  11079. components: [],
  11080. fireDismissalEventInstead: {},
  11081. inlineBehaviours: nc([
  11082. mm('dismissAutocompleter', [
  11083. Cr(Yi(), function () {
  11084. return m()
  11085. }),
  11086. ]),
  11087. ]),
  11088. lazySink: c.getSink,
  11089. })
  11090. ),
  11091. m = function () {
  11092. var t
  11093. e() &&
  11094. ((t = r.get().map(function (t) {
  11095. return t.element
  11096. })),
  11097. Mp(t.getOr(At.fromDom(f.selection.getNode()))).each(In),
  11098. s(),
  11099. r.clear(),
  11100. l.set(!1))
  11101. },
  11102. u = Rt(function () {
  11103. return (
  11104. (e = dt(f.ui.registry.getAll().popups, function (t) {
  11105. return ao('Autocompleter', Pp, t).fold(function (t) {
  11106. throw new Error(ur(t))
  11107. }, h)
  11108. })),
  11109. (t = $(e, function (t) {
  11110. return t.ch
  11111. })),
  11112. (n = {}),
  11113. St(t, function (t) {
  11114. n[t] = {}
  11115. }),
  11116. (o = Ct(n)),
  11117. (r = Z(e)),
  11118. {
  11119. dataset: e,
  11120. triggerChars: o,
  11121. lookupByChar: function (n) {
  11122. return F(r, function (t) {
  11123. return t.ch === n
  11124. })
  11125. },
  11126. }
  11127. )
  11128. var t, n, e, o, r
  11129. }),
  11130. g = function (t) {
  11131. var n = t
  11132. r.get()
  11133. .map(function (t) {
  11134. return kp(f.dom, f.selection.getRng(), t.triggerChar).bind(
  11135. function (t) {
  11136. return Tp(f, u, t, n)
  11137. }
  11138. )
  11139. })
  11140. .getOrThunk(function () {
  11141. return (
  11142. (n = f),
  11143. (t = (e = u)()),
  11144. (o = n.selection.getRng()),
  11145. (r = n.dom),
  11146. (i = o),
  11147. K(t.triggerChars, function (t) {
  11148. return kp(r, i, t)
  11149. }).bind(function (t) {
  11150. return Tp(n, e, t)
  11151. })
  11152. )
  11153. var n, e, t, o, r, i
  11154. })
  11155. .fold(m, function (a) {
  11156. var t,
  11157. n = a.context
  11158. e() ||
  11159. ((t = yp(f, n.range)),
  11160. r.set({
  11161. triggerChar: n.triggerChar,
  11162. element: t,
  11163. matchLength: n.text.length,
  11164. }),
  11165. l.set(!1)),
  11166. a.lookupData.then(function (u) {
  11167. r.get().map(function (t) {
  11168. var n,
  11169. e,
  11170. o,
  11171. r,
  11172. i = a.context
  11173. t.triggerChar === i.triggerChar &&
  11174. ((e = i.triggerChar),
  11175. (r = K((o = u), function (t) {
  11176. return vt.from(t.columns)
  11177. }).getOr(1)),
  11178. 0 <
  11179. (n = z(o, function (i) {
  11180. return jb(
  11181. i.items,
  11182. i.matchText,
  11183. function (o, r) {
  11184. var t = f.selection.getRng()
  11185. kp(f.dom, t, e).fold(
  11186. function () {
  11187. return console.error(
  11188. 'Lost context. Cursor probably moved'
  11189. )
  11190. },
  11191. function (t) {
  11192. var n = t.range,
  11193. e = {
  11194. hide: function () {
  11195. m()
  11196. },
  11197. reload: function (t) {
  11198. s(), g(t)
  11199. },
  11200. }
  11201. l.set(!0), i.onAction(e, n, o, r), l.set(!1)
  11202. }
  11203. )
  11204. },
  11205. r,
  11206. Sh.BUBBLE_TO_SANDBOX,
  11207. c,
  11208. i.highlightOn
  11209. )
  11210. })).length
  11211. ? (function (t, n, e, o) {
  11212. t.matchLength = n.text.length
  11213. var r,
  11214. i,
  11215. u,
  11216. a,
  11217. c,
  11218. s,
  11219. l = K(e, function (t) {
  11220. return vt.from(t.columns)
  11221. }).getOr(1)
  11222. up.showAt(
  11223. d,
  11224. tp.sketch(
  11225. ((r = uh(
  11226. 'autocompleter-value',
  11227. !0,
  11228. o,
  11229. l,
  11230. 'normal'
  11231. )),
  11232. (i = l),
  11233. (a = (
  11234. (u = Eb.ContentFocus) === Eb.ContentFocus
  11235. ? Ul
  11236. : Wl
  11237. )()),
  11238. (c = _b(i, 'normal')),
  11239. (s = Qp('normal')),
  11240. {
  11241. dom: r.dom,
  11242. components: r.components,
  11243. items: r.items,
  11244. value: r.value,
  11245. markers: {
  11246. selectedItem: s.selectedItem,
  11247. item: s.item,
  11248. },
  11249. movement: c,
  11250. fakeFocus: u === Eb.ContentFocus,
  11251. focusManager: a,
  11252. menuBehaviours: Kh(
  11253. 'auto' !== i
  11254. ? []
  11255. : [
  11256. ou(function (o, t) {
  11257. ah(o, 4, s.item).each(function (t) {
  11258. var n = t.numColumns,
  11259. e = t.numRows
  11260. Fg.setGridSize(o, e, n)
  11261. })
  11262. }),
  11263. ]
  11264. ),
  11265. })
  11266. ),
  11267. {
  11268. anchor: {
  11269. type: 'node',
  11270. root: At.fromDom(f.getBody()),
  11271. node: vt.from(t.element),
  11272. },
  11273. }
  11274. ),
  11275. up.getContent(d).each(hd.highlightFirst)
  11276. })(t, i, u, n)
  11277. : (10 <= i.text.length - t.matchLength ? m : s)())
  11278. })
  11279. })
  11280. })
  11281. },
  11282. n = {
  11283. onKeypress: vp(function (t) {
  11284. 27 !== t.which && g()
  11285. }, 50),
  11286. cancelIfNecessary: m,
  11287. isMenuOpen: function () {
  11288. return up.isOpen(d)
  11289. },
  11290. isActive: e,
  11291. isProcessingAction: l.get,
  11292. getView: function () {
  11293. return up.getContent(d)
  11294. },
  11295. }
  11296. function i(t, n) {
  11297. br(t, xi(), { raw: n })
  11298. }
  11299. !1 === f.hasPlugin('rtc') &&
  11300. ((o = n),
  11301. (t = f).on('keypress compositionend', o.onKeypress.throttle),
  11302. t.on('remove', o.onKeypress.cancel),
  11303. t.on('keydown', function (n) {
  11304. function t() {
  11305. return o.getView().bind(hd.getHighlighted)
  11306. }
  11307. 8 === n.which && o.onKeypress.throttle(n),
  11308. o.isActive() &&
  11309. (27 === n.which && o.cancelIfNecessary(),
  11310. o.isMenuOpen()
  11311. ? 13 === n.which
  11312. ? (t().each(yr), n.preventDefault())
  11313. : 40 === n.which
  11314. ? (t().fold(
  11315. function () {
  11316. o.getView().each(hd.highlightFirst)
  11317. },
  11318. function (t) {
  11319. i(t, n)
  11320. }
  11321. ),
  11322. n.preventDefault(),
  11323. n.stopImmediatePropagation())
  11324. : (37 !== n.which && 38 !== n.which && 39 !== n.which) ||
  11325. t().each(function (t) {
  11326. i(t, n), n.preventDefault(), n.stopImmediatePropagation()
  11327. })
  11328. : (13 !== n.which && 38 !== n.which && 40 !== n.which) ||
  11329. o.cancelIfNecessary())
  11330. }),
  11331. t.on('NodeChange', function (t) {
  11332. o.isActive() &&
  11333. !o.isProcessingAction() &&
  11334. Mp(At.fromDom(t.element)).isNone() &&
  11335. o.cancelIfNecessary()
  11336. }))
  11337. }
  11338. var ay = Ho([{ stopped: [] }, { resume: ['element'] }, { complete: [] }]),
  11339. cy = function (n, e, o, t, r, i) {
  11340. return Zb(n, e, o, t, r, i).fold(
  11341. D,
  11342. function (t) {
  11343. return cy(n, e, o, t, r, i)
  11344. },
  11345. T
  11346. )
  11347. },
  11348. sy = function (t, n, e, o, r) {
  11349. var i = Qb(e, o)
  11350. return cy(t, n, e, o, i, r)
  11351. },
  11352. ly = kl({
  11353. name: 'Container',
  11354. factory: function (t) {
  11355. var n = t.dom,
  11356. e = n.attributes,
  11357. o = B(n, ['attributes'])
  11358. return {
  11359. uid: t.uid,
  11360. dom: lt(
  11361. { tag: 'div', attributes: lt({ role: 'presentation' }, e) },
  11362. o
  11363. ),
  11364. components: t.components,
  11365. behaviours: tl(t.containerBehaviours),
  11366. events: t.events,
  11367. domModification: t.domModification,
  11368. eventOrder: t.eventOrder,
  11369. }
  11370. },
  11371. configFields: [
  11372. Eo('components', []),
  11373. Zs('containerBehaviours', []),
  11374. Eo('events', {}),
  11375. Eo('domModification', {}),
  11376. Eo('eventOrder', {}),
  11377. ],
  11378. }),
  11379. fy = rt([Eo('prefix', 'form-field'), Zs('fieldBehaviours', [cd, Df])]),
  11380. dy = rt([
  11381. Qf({ schema: [mo('dom')], name: 'label' }),
  11382. Qf({
  11383. factory: {
  11384. sketch: function (t) {
  11385. return {
  11386. uid: t.uid,
  11387. dom: {
  11388. tag: 'span',
  11389. styles: { display: 'none' },
  11390. attributes: { 'aria-hidden': 'true' },
  11391. innerHtml: t.text,
  11392. },
  11393. }
  11394. },
  11395. },
  11396. schema: [mo('text')],
  11397. name: 'aria-descriptor',
  11398. }),
  11399. Jf({
  11400. factory: {
  11401. sketch: function (t) {
  11402. var e,
  11403. o,
  11404. n =
  11405. ((e = ['factory']),
  11406. (o = {}),
  11407. J(t, function (t, n) {
  11408. wt(e, n) || (o[n] = t)
  11409. }),
  11410. o)
  11411. return t.factory.sketch(n)
  11412. },
  11413. },
  11414. schema: [mo('factory')],
  11415. name: 'field',
  11416. }),
  11417. ]),
  11418. my = Cl({
  11419. name: 'FormField',
  11420. configFields: fy(),
  11421. partFields: dy(),
  11422. factory: function (r, t, n, e) {
  11423. var o = nl(r.fieldBehaviours, [
  11424. cd.config({
  11425. find: function (t) {
  11426. return ml(t, r, 'field')
  11427. },
  11428. }),
  11429. Df.config({
  11430. store: {
  11431. mode: 'manual',
  11432. getValue: function (t) {
  11433. return cd.getCurrent(t).bind(Df.getValue)
  11434. },
  11435. setValue: function (t, n) {
  11436. cd.getCurrent(t).each(function (t) {
  11437. Df.setValue(t, n)
  11438. })
  11439. },
  11440. },
  11441. }),
  11442. ]),
  11443. i = eu([
  11444. ou(function (t, n) {
  11445. var o = pl(t, r, ['label', 'field', 'aria-descriptor'])
  11446. o.field().each(function (e) {
  11447. var n = Ir(r.prefix)
  11448. o.label().each(function (t) {
  11449. on(t.element, 'for', n), on(e.element, 'id', n)
  11450. }),
  11451. o['aria-descriptor']().each(function (t) {
  11452. var n = Ir(r.prefix)
  11453. on(t.element, 'id', n), on(e.element, 'aria-describedby', n)
  11454. })
  11455. })
  11456. }),
  11457. ])
  11458. return {
  11459. uid: r.uid,
  11460. dom: r.dom,
  11461. components: t,
  11462. behaviours: o,
  11463. events: i,
  11464. apis: {
  11465. getField: function (t) {
  11466. return ml(t, r, 'field')
  11467. },
  11468. getLabel: function (t) {
  11469. return ml(t, r, 'label')
  11470. },
  11471. },
  11472. }
  11473. },
  11474. apis: {
  11475. getField: function (t, n) {
  11476. return t.getField(n)
  11477. },
  11478. getLabel: function (t, n) {
  11479. return t.getLabel(n)
  11480. },
  11481. },
  11482. }),
  11483. gy = Object.freeze({
  11484. __proto__: null,
  11485. exhibit: function (t, n) {
  11486. return Lr({ attributes: lr([{ key: n.tabAttr, value: 'true' }]) })
  11487. },
  11488. }),
  11489. py = xa({
  11490. fields: [Eo('tabAttr', 'data-alloy-tabstop')],
  11491. name: 'tabstopping',
  11492. active: gy,
  11493. }),
  11494. hy = tinymce.util.Tools.resolve('tinymce.html.Entities'),
  11495. vy = function (t, n, e, o) {
  11496. return {
  11497. dom: by(e),
  11498. components: t.toArray().concat([n]),
  11499. fieldBehaviours: nc(o),
  11500. }
  11501. },
  11502. by = function (t) {
  11503. return { tag: 'div', classes: ['tox-form__group'].concat(t) }
  11504. },
  11505. yy = Ir('form-component-change'),
  11506. xy = Ir('form-close'),
  11507. wy = Ir('form-cancel'),
  11508. Sy = Ir('form-action'),
  11509. ky = Ir('form-submit'),
  11510. Cy = Ir('form-block'),
  11511. Oy = Ir('form-unblock'),
  11512. _y = Ir('form-tabchange'),
  11513. Ty = Ir('form-resize'),
  11514. Ey = rt([
  11515. wo('data'),
  11516. Eo('inputAttributes', {}),
  11517. Eo('inputStyles', {}),
  11518. Eo('tag', 'input'),
  11519. Eo('inputClasses', []),
  11520. Ju('onSetValue'),
  11521. Eo('styles', {}),
  11522. Eo('eventOrder', {}),
  11523. Zs('inputBehaviours', [Df, Hg]),
  11524. Eo('selectOnFocus', !0),
  11525. ]),
  11526. Dy = kl({
  11527. name: 'Input',
  11528. configFields: Ey(),
  11529. factory: function (t, n) {
  11530. return {
  11531. uid: t.uid,
  11532. dom: iy(t),
  11533. components: [],
  11534. behaviours: lt(
  11535. lt({}, ry((e = t))),
  11536. nl(e.inputBehaviours, [
  11537. Df.config({
  11538. store: lt(
  11539. lt(
  11540. { mode: 'manual' },
  11541. e.data
  11542. .map(function (t) {
  11543. return { initialValue: t }
  11544. })
  11545. .getOr({})
  11546. ),
  11547. {
  11548. getValue: function (t) {
  11549. return Qr(t.element)
  11550. },
  11551. setValue: function (t, n) {
  11552. Qr(t.element) !== n && Zr(t.element, n)
  11553. },
  11554. }
  11555. ),
  11556. onSetValue: e.onSetValue,
  11557. }),
  11558. ])
  11559. ),
  11560. eventOrder: t.eventOrder,
  11561. }
  11562. var e
  11563. },
  11564. }),
  11565. By = {},
  11566. My = { exports: By }
  11567. function Ay(t) {
  11568. setTimeout(function () {
  11569. throw t
  11570. }, 0)
  11571. }
  11572. function Fy(t) {
  11573. var n = Ft(t)
  11574. return wt(Xy, n)
  11575. }
  11576. function Iy(t, n) {
  11577. qr(n.getRoot(t).getOr(t.element), n.invalidClass),
  11578. n.notify.each(function (n) {
  11579. Fy(t.element) && on(t.element, 'aria-invalid', !1),
  11580. n.getContainer(t).each(function (t) {
  11581. Ar(t, n.validHtml)
  11582. }),
  11583. n.onValid(t)
  11584. })
  11585. }
  11586. function Ry(n, t, e, o) {
  11587. Yr(t.getRoot(n).getOr(n.element), t.invalidClass),
  11588. t.notify.each(function (t) {
  11589. Fy(n.element) && on(n.element, 'aria-invalid', !0),
  11590. t.getContainer(n).each(function (t) {
  11591. Ar(t, o)
  11592. }),
  11593. t.onInvalid(n, o)
  11594. })
  11595. }
  11596. function Vy(n, t, e) {
  11597. return t.validator.fold(
  11598. function () {
  11599. return Gy(Ve.value(!0))
  11600. },
  11601. function (t) {
  11602. return t.validate(n)
  11603. }
  11604. )
  11605. }
  11606. function Py(n, e, t) {
  11607. return (
  11608. e.notify.each(function (t) {
  11609. t.onValidate(n)
  11610. }),
  11611. Vy(n, e).map(function (t) {
  11612. return n.getSystem().isConnected()
  11613. ? t.fold(
  11614. function (t) {
  11615. return Ry(n, e, 0, t), Ve.error(t)
  11616. },
  11617. function (t) {
  11618. return Iy(n, e), Ve.value(t)
  11619. }
  11620. )
  11621. : Ve.error('No longer in system')
  11622. })
  11623. )
  11624. }
  11625. !(function () {
  11626. var t = this,
  11627. n = function () {
  11628. var t,
  11629. n,
  11630. e,
  11631. o = { exports: {} }
  11632. function r() {}
  11633. function i(t) {
  11634. if ('object' != typeof this)
  11635. throw new TypeError('Promises must be constructed via new')
  11636. if ('function' != typeof t) throw new TypeError('not a function')
  11637. ;(this._state = 0),
  11638. (this._handled = !1),
  11639. (this._value = void 0),
  11640. (this._deferreds = []),
  11641. f(t, this)
  11642. }
  11643. function u(e, o) {
  11644. for (; 3 === e._state; ) e = e._value
  11645. 0 !== e._state
  11646. ? ((e._handled = !0),
  11647. i._immediateFn(function () {
  11648. var t,
  11649. n = 1 === e._state ? o.onFulfilled : o.onRejected
  11650. if (null !== n) {
  11651. try {
  11652. t = n(e._value)
  11653. } catch (t) {
  11654. return void c(o.promise, t)
  11655. }
  11656. a(o.promise, t)
  11657. } else (1 === e._state ? a : c)(o.promise, e._value)
  11658. }))
  11659. : e._deferreds.push(o)
  11660. }
  11661. function a(n, t) {
  11662. try {
  11663. if (t === n)
  11664. throw new TypeError('A promise cannot be resolved with itself.')
  11665. if (t && ('object' == typeof t || 'function' == typeof t)) {
  11666. var e = t.then
  11667. if (t instanceof i)
  11668. return (n._state = 3), (n._value = t), void s(n)
  11669. if ('function' == typeof e)
  11670. return void f(
  11671. ((o = e),
  11672. (r = t),
  11673. function () {
  11674. o.apply(r, arguments)
  11675. }),
  11676. n
  11677. )
  11678. }
  11679. ;(n._state = 1), (n._value = t), s(n)
  11680. } catch (t) {
  11681. c(n, t)
  11682. }
  11683. var o, r
  11684. }
  11685. function c(t, n) {
  11686. ;(t._state = 2), (t._value = n), s(t)
  11687. }
  11688. function s(t) {
  11689. 2 === t._state &&
  11690. 0 === t._deferreds.length &&
  11691. i._immediateFn(function () {
  11692. t._handled || i._unhandledRejectionFn(t._value)
  11693. })
  11694. for (var n = 0, e = t._deferreds.length; n < e; n++)
  11695. u(t, t._deferreds[n])
  11696. t._deferreds = null
  11697. }
  11698. function l(t, n, e) {
  11699. ;(this.onFulfilled = 'function' == typeof t ? t : null),
  11700. (this.onRejected = 'function' == typeof n ? n : null),
  11701. (this.promise = e)
  11702. }
  11703. function f(t, n) {
  11704. var e = !1
  11705. try {
  11706. t(
  11707. function (t) {
  11708. e || ((e = !0), a(n, t))
  11709. },
  11710. function (t) {
  11711. e || ((e = !0), c(n, t))
  11712. }
  11713. )
  11714. } catch (t) {
  11715. if (e) return
  11716. ;(e = !0), c(n, t)
  11717. }
  11718. }
  11719. ;(t = o),
  11720. (n =
  11721. 'undefined' != typeof globalThis
  11722. ? globalThis
  11723. : 'undefined' != typeof window
  11724. ? window
  11725. : 'undefined' != typeof global
  11726. ? global
  11727. : 'undefined' != typeof self
  11728. ? self
  11729. : {}),
  11730. (e = setTimeout),
  11731. (i.prototype.catch = function (t) {
  11732. return this.then(null, t)
  11733. }),
  11734. (i.prototype.then = function (t, n) {
  11735. var e = new this.constructor(r)
  11736. return u(this, new l(t, n, e)), e
  11737. }),
  11738. (i.all = function (t) {
  11739. var a = Array.prototype.slice.call(t)
  11740. return new i(function (r, i) {
  11741. if (0 === a.length) return r([])
  11742. for (var u = a.length, t = 0; t < a.length; t++)
  11743. !(function n(e, t) {
  11744. try {
  11745. if (t && ('object' == typeof t || 'function' == typeof t)) {
  11746. var o = t.then
  11747. if ('function' == typeof o)
  11748. return (
  11749. o.call(
  11750. t,
  11751. function (t) {
  11752. n(e, t)
  11753. },
  11754. i
  11755. ),
  11756. 0
  11757. )
  11758. }
  11759. ;(a[e] = t), 0 == --u && r(a)
  11760. } catch (t) {
  11761. i(t)
  11762. }
  11763. })(t, a[t])
  11764. })
  11765. }),
  11766. (i.resolve = function (n) {
  11767. return n && 'object' == typeof n && n.constructor === i
  11768. ? n
  11769. : new i(function (t) {
  11770. t(n)
  11771. })
  11772. }),
  11773. (i.reject = function (e) {
  11774. return new i(function (t, n) {
  11775. n(e)
  11776. })
  11777. }),
  11778. (i.race = function (r) {
  11779. return new i(function (t, n) {
  11780. for (var e = 0, o = r.length; e < o; e++) r[e].then(t, n)
  11781. })
  11782. }),
  11783. (i._immediateFn =
  11784. 'function' == typeof setImmediate
  11785. ? function (t) {
  11786. setImmediate(t)
  11787. }
  11788. : function (t) {
  11789. e(t, 0)
  11790. }),
  11791. (i._unhandledRejectionFn = function (t) {
  11792. 'undefined' != typeof console &&
  11793. console &&
  11794. console.warn('Possible Unhandled Promise Rejection:', t)
  11795. }),
  11796. (i._setImmediateFn = function (t) {
  11797. i._immediateFn = t
  11798. }),
  11799. (i._setUnhandledRejectionFn = function (t) {
  11800. i._unhandledRejectionFn = t
  11801. }),
  11802. t.exports ? (t.exports = i) : n.Promise || (n.Promise = i)
  11803. var d = o.exports
  11804. return {
  11805. boltExport:
  11806. ('undefined' != typeof window ? window : Function('return this;')())
  11807. .Promise || d,
  11808. }
  11809. }
  11810. 'object' == typeof By && void 0 !== My
  11811. ? (My.exports = n())
  11812. : ((t =
  11813. 'undefined' != typeof globalThis
  11814. ? globalThis
  11815. : t || self).EphoxContactWrapper = n())
  11816. })()
  11817. var Hy,
  11818. zy,
  11819. Ny = My.exports.boltExport,
  11820. Ly = function (t) {
  11821. function o(t) {
  11822. r() ? i(t) : n.push(t)
  11823. }
  11824. var e = vt.none(),
  11825. n = [],
  11826. r = function () {
  11827. return e.isSome()
  11828. },
  11829. i = function (n) {
  11830. e.each(function (t) {
  11831. setTimeout(function () {
  11832. n(t)
  11833. }, 0)
  11834. })
  11835. }
  11836. return (
  11837. t(function (t) {
  11838. r() || ((e = vt.some(t)), St(n, i), (n = []))
  11839. }),
  11840. {
  11841. get: o,
  11842. map: function (e) {
  11843. return Ly(function (n) {
  11844. o(function (t) {
  11845. n(e(t))
  11846. })
  11847. })
  11848. },
  11849. isReady: r,
  11850. }
  11851. )
  11852. },
  11853. Wy = {
  11854. nu: Ly,
  11855. pure: function (n) {
  11856. return Ly(function (t) {
  11857. t(n)
  11858. })
  11859. },
  11860. },
  11861. Uy = function (e) {
  11862. function t(t) {
  11863. e().then(t, Ay)
  11864. }
  11865. return {
  11866. map: function (t) {
  11867. return Uy(function () {
  11868. return e().then(t)
  11869. })
  11870. },
  11871. bind: function (n) {
  11872. return Uy(function () {
  11873. return e().then(function (t) {
  11874. return n(t).toPromise()
  11875. })
  11876. })
  11877. },
  11878. anonBind: function (t) {
  11879. return Uy(function () {
  11880. return e().then(function () {
  11881. return t.toPromise()
  11882. })
  11883. })
  11884. },
  11885. toLazy: function () {
  11886. return Wy.nu(t)
  11887. },
  11888. toCached: function () {
  11889. var t = null
  11890. return Uy(function () {
  11891. return (t = null === t ? e() : t)
  11892. })
  11893. },
  11894. toPromise: e,
  11895. get: t,
  11896. }
  11897. },
  11898. jy = function (t) {
  11899. return Uy(function () {
  11900. return new Ny(t)
  11901. })
  11902. },
  11903. Gy = function (t) {
  11904. return Uy(function () {
  11905. return Ny.resolve(t)
  11906. })
  11907. },
  11908. Xy = ['input', 'textarea'],
  11909. Yy = Object.freeze({
  11910. __proto__: null,
  11911. markValid: Iy,
  11912. markInvalid: Ry,
  11913. query: Vy,
  11914. run: Py,
  11915. isInvalid: function (t, n) {
  11916. return Kr(n.getRoot(t).getOr(t.element), n.invalidClass)
  11917. },
  11918. }),
  11919. qy = Object.freeze({
  11920. __proto__: null,
  11921. events: function (n, t) {
  11922. return n.validator
  11923. .map(function (t) {
  11924. return eu(
  11925. [
  11926. Cr(t.onEvent, function (t) {
  11927. Py(t, n).get(h)
  11928. }),
  11929. ].concat(
  11930. t.validateOnLoad
  11931. ? [
  11932. ou(function (t) {
  11933. Py(t, n).get(st)
  11934. }),
  11935. ]
  11936. : []
  11937. )
  11938. )
  11939. })
  11940. .getOr({})
  11941. },
  11942. }),
  11943. Ky = xa({
  11944. fields: [
  11945. mo('invalidClass'),
  11946. Eo('getRoot', vt.none),
  11947. To('notify', [
  11948. Eo('aria', 'alert'),
  11949. Eo('getContainer', vt.none),
  11950. Eo('validHtml', ''),
  11951. Ju('onValid'),
  11952. Ju('onInvalid'),
  11953. Ju('onValidate'),
  11954. ]),
  11955. To('validator', [
  11956. mo('validate'),
  11957. Eo('onEvent', 'input'),
  11958. Eo('validateOnLoad', !0),
  11959. ]),
  11960. ],
  11961. name: 'invalidating',
  11962. active: qy,
  11963. apis: Yy,
  11964. extra: {
  11965. validation: function (e) {
  11966. return function (t) {
  11967. var n = Df.getValue(t)
  11968. return Gy(e(n))
  11969. }
  11970. },
  11971. },
  11972. }),
  11973. Jy = Object.freeze({
  11974. __proto__: null,
  11975. getCoupled: function (t, n, e, o) {
  11976. return e.getOrCreate(t, n, o)
  11977. },
  11978. }),
  11979. $y = xa({
  11980. fields: [go('others', uo(Ve.value, Zo()))],
  11981. name: 'coupling',
  11982. apis: Jy,
  11983. state: Object.freeze({
  11984. __proto__: null,
  11985. init: function () {
  11986. var i = {},
  11987. t = rt({})
  11988. return wu({
  11989. readState: t,
  11990. getOrCreate: function (e, o, r) {
  11991. var t = Ct(o.others)
  11992. if (t)
  11993. return tt(i, r).getOrThunk(function () {
  11994. var t = tt(o.others, r).getOrDie(
  11995. 'No information found for coupled component: ' + r
  11996. )(e),
  11997. n = e.getSystem().build(t)
  11998. return (i[r] = n)
  11999. })
  12000. throw new Error(
  12001. 'Cannot find coupled component: ' +
  12002. r +
  12003. '. Known coupled components: ' +
  12004. JSON.stringify(t, null, 2)
  12005. )
  12006. },
  12007. })
  12008. },
  12009. }),
  12010. }),
  12011. Qy = rt('sink'),
  12012. Zy = rt(
  12013. Qf({
  12014. name: Qy(),
  12015. overrides: rt({
  12016. dom: { tag: 'div' },
  12017. behaviours: nc([ff.config({ useFixed: D })]),
  12018. events: eu([Dr(xi()), Dr(mi()), Dr(Ci())]),
  12019. }),
  12020. })
  12021. )
  12022. function tx(t, n) {
  12023. var e = t.getHotspot(n).getOr(n),
  12024. o = t.getAnchorOverrides()
  12025. return t.layouts.fold(
  12026. function () {
  12027. return { type: 'hotspot', hotspot: e, overrides: o }
  12028. },
  12029. function (t) {
  12030. return { type: 'hotspot', hotspot: e, overrides: o, layouts: t }
  12031. }
  12032. )
  12033. }
  12034. function nx(t, n, e, o, r, i, u) {
  12035. var a,
  12036. c = tx(t, e),
  12037. s = e,
  12038. l = o,
  12039. f = r,
  12040. d = u,
  12041. m = n,
  12042. g = (0, (a = t).fetch)(s).map(m),
  12043. p = mw(s, a)
  12044. return g
  12045. .map(function (t) {
  12046. return t.bind(function (t) {
  12047. return vt.from(
  12048. ip.sketch(
  12049. lt(lt({}, f.menu()), {
  12050. uid: pu(''),
  12051. data: t,
  12052. highlightImmediately: d === Hy.HighlightFirst,
  12053. onOpenMenu: function (t, n) {
  12054. var e = p().getOrDie()
  12055. ff.position(e, n, { anchor: c }), bf.decloak(l)
  12056. },
  12057. onOpenSubmenu: function (t, n, e) {
  12058. var o = p().getOrDie()
  12059. ff.position(o, e, { anchor: { type: 'submenu', item: n } }),
  12060. bf.decloak(l)
  12061. },
  12062. onRepositionMenu: function (t, n, e) {
  12063. var o = p().getOrDie()
  12064. ff.position(o, n, { anchor: c }),
  12065. St(e, function (t) {
  12066. ff.position(o, t.triggeredMenu, {
  12067. anchor: { type: 'submenu', item: t.triggeringItem },
  12068. })
  12069. })
  12070. },
  12071. onEscape: function () {
  12072. return Hg.focus(s), bf.close(l), vt.some(!0)
  12073. },
  12074. })
  12075. )
  12076. )
  12077. })
  12078. })
  12079. .map(function (t) {
  12080. return (
  12081. t.fold(
  12082. function () {
  12083. bf.isOpen(o) && bf.close(o)
  12084. },
  12085. function (t) {
  12086. bf.cloak(o), bf.open(o, t), i(o)
  12087. }
  12088. ),
  12089. o
  12090. )
  12091. })
  12092. }
  12093. function ex(t, n, e, o, r, i) {
  12094. var u = $y.getCoupled(e, 'sandbox')
  12095. return (
  12096. bf.isOpen(u)
  12097. ? function (t, n, e, o, r, i, u) {
  12098. return bf.close(o), Gy(o)
  12099. }
  12100. : nx
  12101. )(t, n, e, u, o, r, i)
  12102. }
  12103. function ox(t) {
  12104. bf.getState(t).each(function (t) {
  12105. ip.repositionMenus(t)
  12106. })
  12107. }
  12108. function rx(s, l, f) {
  12109. var d = Vu(),
  12110. t = mw(l, s)
  12111. return {
  12112. dom: {
  12113. tag: 'div',
  12114. classes: s.sandboxClasses,
  12115. attributes: { id: d.id, role: 'listbox' },
  12116. },
  12117. behaviours: Mf(s.sandboxBehaviours, [
  12118. Df.config({ store: { mode: 'memory', initialValue: l } }),
  12119. bf.config({
  12120. onOpen: function (t, n) {
  12121. var e,
  12122. o,
  12123. r,
  12124. i,
  12125. u,
  12126. a,
  12127. c = tx(s, l)
  12128. d.link(l.element),
  12129. s.matchWidth &&
  12130. ((e = c.hotspot),
  12131. (o = n),
  12132. (r = s.useMinWidth),
  12133. (u = cd.getCurrent(o).getOr(o)),
  12134. (a = On(e.element)),
  12135. r
  12136. ? dn(u.element, 'min-width', a + 'px')
  12137. : ((i = u.element), Oe.set(i, a))),
  12138. s.onOpen(c, t, n),
  12139. void 0 !== f && void 0 !== f.onOpen && f.onOpen(t, n)
  12140. },
  12141. onClose: function (t, n) {
  12142. d.unlink(l.element),
  12143. void 0 !== f && void 0 !== f.onClose && f.onClose(t, n)
  12144. },
  12145. isPartOf: function (t, n, e) {
  12146. return zu(n, e) || zu(l, e)
  12147. },
  12148. getAttachPoint: function () {
  12149. return t().getOrDie()
  12150. },
  12151. }),
  12152. cd.config({
  12153. find: function (t) {
  12154. return bf.getState(t).bind(function (t) {
  12155. return cd.getCurrent(t)
  12156. })
  12157. },
  12158. }),
  12159. ic.config({
  12160. channels: lt(
  12161. lt({}, Xs({ isExtraPart: T })),
  12162. Ys({ doReposition: ox })
  12163. ),
  12164. }),
  12165. ]),
  12166. }
  12167. }
  12168. function ix(t) {
  12169. ox($y.getCoupled(t, 'sandbox'))
  12170. }
  12171. function ux() {
  12172. return [Eo('sandboxClasses', []), Bf('sandboxBehaviours', [cd, ic, bf, Df])]
  12173. }
  12174. function ax(n) {
  12175. return Qf({
  12176. name: n + '-edge',
  12177. overrides: function (t) {
  12178. return t.model.manager.edgeActions[n].fold(
  12179. function () {
  12180. return {}
  12181. },
  12182. function (o) {
  12183. return {
  12184. events: eu([
  12185. Or(
  12186. si(),
  12187. function (t, n, e) {
  12188. return o(t, e)
  12189. },
  12190. [t]
  12191. ),
  12192. Or(
  12193. mi(),
  12194. function (t, n, e) {
  12195. return o(t, e)
  12196. },
  12197. [t]
  12198. ),
  12199. Or(
  12200. gi(),
  12201. function (t, n, e) {
  12202. e.mouseIsDown.get() && o(t, e)
  12203. },
  12204. [t]
  12205. ),
  12206. ]),
  12207. }
  12208. }
  12209. )
  12210. },
  12211. })
  12212. }
  12213. function cx(t) {
  12214. var n = t.event.raw
  12215. return -1 === n.type.indexOf('touch')
  12216. ? void 0 !== n.clientX
  12217. ? vt.some(n).map(function (t) {
  12218. return ke(t.clientX, t.clientY)
  12219. })
  12220. : vt.none()
  12221. : void 0 !== n.touches && 1 === n.touches.length
  12222. ? vt.some(n.touches[0]).map(function (t) {
  12223. return ke(t.clientX, t.clientY)
  12224. })
  12225. : vt.none()
  12226. }
  12227. function sx(t) {
  12228. return t.model.minX
  12229. }
  12230. function lx(t) {
  12231. return t.model.minY
  12232. }
  12233. function fx(t) {
  12234. return t.model.minX - 1
  12235. }
  12236. function dx(t) {
  12237. return t.model.minY - 1
  12238. }
  12239. function mx(t) {
  12240. return t.model.maxX
  12241. }
  12242. function gx(t) {
  12243. return t.model.maxY
  12244. }
  12245. function px(t) {
  12246. return t.model.maxX + 1
  12247. }
  12248. function hx(t) {
  12249. return t.model.maxY + 1
  12250. }
  12251. function vx(t, n, e) {
  12252. return n(t) - e(t)
  12253. }
  12254. function bx(t) {
  12255. return vx(t, mx, sx)
  12256. }
  12257. function yx(t) {
  12258. return vx(t, gx, lx)
  12259. }
  12260. function xx(t) {
  12261. return bx(t) / 2
  12262. }
  12263. function wx(t) {
  12264. return yx(t) / 2
  12265. }
  12266. function Sx(t) {
  12267. return t.stepSize
  12268. }
  12269. function kx(t) {
  12270. return t.snapToGrid
  12271. }
  12272. function Cx(t) {
  12273. return t.snapStart
  12274. }
  12275. function Ox(t) {
  12276. return t.rounded
  12277. }
  12278. function _x(t, n) {
  12279. return void 0 !== t[n + '-edge']
  12280. }
  12281. function Tx(t) {
  12282. return _x(t, 'left')
  12283. }
  12284. function Ex(t) {
  12285. return _x(t, 'right')
  12286. }
  12287. function Dx(t) {
  12288. return _x(t, 'top')
  12289. }
  12290. function Bx(t) {
  12291. return _x(t, 'bottom')
  12292. }
  12293. function Mx(t) {
  12294. return t.model.value.get()
  12295. }
  12296. function Ax(t, n) {
  12297. return { x: t, y: n }
  12298. }
  12299. function Fx(t, n) {
  12300. br(t, Bw(), { value: n })
  12301. }
  12302. function Ix(t, n, e, o) {
  12303. return t < n ? t : e < t ? e : t === n ? n - 1 : Math.max(n, t - o)
  12304. }
  12305. function Rx(t, n, e, o) {
  12306. return e < t ? t : t < n ? n : t === e ? e + 1 : Math.min(e, t + o)
  12307. }
  12308. function Vx(t, n, e) {
  12309. return Math.max(n, Math.min(e, t))
  12310. }
  12311. function Px(t) {
  12312. var n = t.min,
  12313. e = t.max,
  12314. o = t.range,
  12315. r = t.value,
  12316. i = t.step,
  12317. u = t.snap,
  12318. a = t.snapStart,
  12319. c = t.rounded,
  12320. s = t.hasMinEdge,
  12321. l = t.hasMaxEdge,
  12322. f = t.minBound,
  12323. d = t.maxBound,
  12324. m = t.screenRange,
  12325. g = s ? n - 1 : n,
  12326. p = l ? e + 1 : e
  12327. if (r < f) return g
  12328. if (d < r) return p
  12329. var h,
  12330. v,
  12331. b,
  12332. y,
  12333. x,
  12334. w = Vx((((x = f), Math.min(d, Math.max(r, x)) - x) / m) * o + n, g, p)
  12335. return u && n <= w && w <= e
  12336. ? ((h = w),
  12337. (v = n),
  12338. (b = e),
  12339. (y = i),
  12340. a.fold(
  12341. function () {
  12342. var t = Math.round((h - v) / y) * y
  12343. return Vx(v + t, v - 1, b + 1)
  12344. },
  12345. function (t) {
  12346. var n = Math.round(((h - t) % y) / y),
  12347. e = Math.floor((h - t) / y),
  12348. o = Math.floor((b - t) / y),
  12349. r = Math.min(o, e + n)
  12350. return Math.max(t, t + r * y)
  12351. }
  12352. ))
  12353. : c
  12354. ? Math.round(w)
  12355. : w
  12356. }
  12357. function Hx(t) {
  12358. var n = t.min,
  12359. e = t.max,
  12360. o = t.range,
  12361. r = t.value,
  12362. i = t.hasMinEdge,
  12363. u = t.hasMaxEdge,
  12364. a = t.maxBound,
  12365. c = t.maxOffset,
  12366. s = t.centerMinEdge,
  12367. l = t.centerMaxEdge
  12368. return r < n ? (i ? 0 : s) : e < r ? (u ? a : l) : ((r - n) / o) * c
  12369. }
  12370. function zx(t) {
  12371. return t.element.dom.getBoundingClientRect()
  12372. }
  12373. function Nx(t) {
  12374. return zx(t)[Mw]
  12375. }
  12376. function Lx(t) {
  12377. return zx(t).right
  12378. }
  12379. function Wx(t) {
  12380. return zx(t).top
  12381. }
  12382. function Ux(t) {
  12383. return zx(t).bottom
  12384. }
  12385. function jx(t) {
  12386. return zx(t).width
  12387. }
  12388. function Gx(t) {
  12389. return zx(t).height
  12390. }
  12391. function Xx(t, n) {
  12392. var e = zx(t),
  12393. o = zx(n)
  12394. return (e[Mw] + e.right) / 2 - o[Mw]
  12395. }
  12396. function Yx(t, n) {
  12397. var e = zx(t),
  12398. o = zx(n)
  12399. return (e.top + e.bottom) / 2 - o.top
  12400. }
  12401. function qx(t, n) {
  12402. br(t, Bw(), { value: n })
  12403. }
  12404. function Kx(t, n, e) {
  12405. return Px({
  12406. min: sx(n),
  12407. max: mx(n),
  12408. range: bx(n),
  12409. value: e,
  12410. step: Sx(n),
  12411. snap: kx(n),
  12412. snapStart: Cx(n),
  12413. rounded: Ox(n),
  12414. hasMinEdge: Tx(n),
  12415. hasMaxEdge: Ex(n),
  12416. minBound: Nx(t),
  12417. maxBound: Lx(t),
  12418. screenRange: jx(t),
  12419. })
  12420. }
  12421. function Jx(r) {
  12422. return function (t, n) {
  12423. return (
  12424. qx(t, {
  12425. x: (o = (0 < r ? Rx : Ix)(Mx((e = n)).x, sx(e), mx(e), Sx(e))),
  12426. }),
  12427. vt.some(o).map(D)
  12428. )
  12429. var e, o
  12430. }
  12431. }
  12432. function $x(t, n, e, o, r, i) {
  12433. var u,
  12434. a,
  12435. c,
  12436. s,
  12437. l,
  12438. f,
  12439. d,
  12440. m,
  12441. g =
  12442. ((a = i),
  12443. (c = e),
  12444. (s = o),
  12445. (l = r),
  12446. (f = jx((u = n))),
  12447. (d = s
  12448. .bind(function (t) {
  12449. return vt.some(Xx(t, u))
  12450. })
  12451. .getOr(0)),
  12452. (m = l
  12453. .bind(function (t) {
  12454. return vt.some(Xx(t, u))
  12455. })
  12456. .getOr(f)),
  12457. Hx({
  12458. min: sx(a),
  12459. max: mx(a),
  12460. range: bx(a),
  12461. value: c,
  12462. hasMinEdge: Tx(a),
  12463. hasMaxEdge: Ex(a),
  12464. minBound: Nx(u),
  12465. minOffset: 0,
  12466. maxBound: Lx(u),
  12467. maxOffset: f,
  12468. centerMinEdge: d,
  12469. centerMaxEdge: m,
  12470. }))
  12471. return Nx(n) - Nx(t) + g
  12472. }
  12473. function Qx(t, n) {
  12474. br(t, Bw(), { value: n })
  12475. }
  12476. function Zx(t, n, e) {
  12477. return Px({
  12478. min: lx(n),
  12479. max: gx(n),
  12480. range: yx(n),
  12481. value: e,
  12482. step: Sx(n),
  12483. snap: kx(n),
  12484. snapStart: Cx(n),
  12485. rounded: Ox(n),
  12486. hasMinEdge: Dx(n),
  12487. hasMaxEdge: Bx(n),
  12488. minBound: Wx(t),
  12489. maxBound: Ux(t),
  12490. screenRange: Gx(t),
  12491. })
  12492. }
  12493. function t0(r) {
  12494. return function (t, n) {
  12495. return (
  12496. Qx(t, {
  12497. y: (o = (0 < r ? Rx : Ix)(Mx((e = n)).y, lx(e), gx(e), Sx(e))),
  12498. }),
  12499. vt.some(o).map(D)
  12500. )
  12501. var e, o
  12502. }
  12503. }
  12504. function n0(t, n, e, o, r, i) {
  12505. var u,
  12506. a,
  12507. c,
  12508. s,
  12509. l,
  12510. f,
  12511. d,
  12512. m,
  12513. g =
  12514. ((a = i),
  12515. (c = e),
  12516. (s = o),
  12517. (l = r),
  12518. (f = Gx((u = n))),
  12519. (d = s
  12520. .bind(function (t) {
  12521. return vt.some(Yx(t, u))
  12522. })
  12523. .getOr(0)),
  12524. (m = l
  12525. .bind(function (t) {
  12526. return vt.some(Yx(t, u))
  12527. })
  12528. .getOr(f)),
  12529. Hx({
  12530. min: lx(a),
  12531. max: gx(a),
  12532. range: yx(a),
  12533. value: c,
  12534. hasMinEdge: Dx(a),
  12535. hasMaxEdge: Bx(a),
  12536. minBound: Wx(u),
  12537. minOffset: 0,
  12538. maxBound: Ux(u),
  12539. maxOffset: f,
  12540. centerMinEdge: d,
  12541. centerMaxEdge: m,
  12542. }))
  12543. return Wx(n) - Wx(t) + g
  12544. }
  12545. function e0(t, n) {
  12546. br(t, Bw(), { value: n })
  12547. }
  12548. function o0(t, n) {
  12549. return { x: t, y: n }
  12550. }
  12551. function r0(u, a) {
  12552. return function (t, n) {
  12553. return (
  12554. (o = n),
  12555. (r = 0 < u ? Rx : Ix),
  12556. e0(
  12557. t,
  12558. o0(
  12559. (i = (e = a) ? Mx(o).x : r(Mx(o).x, sx(o), mx(o), Sx(o))),
  12560. e ? r(Mx(o).y, lx(o), gx(o), Sx(o)) : Mx(o).y
  12561. )
  12562. ),
  12563. vt.some(i).map(D)
  12564. )
  12565. var e, o, r, i
  12566. }
  12567. }
  12568. function i0(t) {
  12569. return '<alloy.field.' + t + '>'
  12570. }
  12571. function u0(f, d, m, g) {
  12572. function p(t, n, e, o, r) {
  12573. var i,
  12574. u,
  12575. a = f(uS + 'range'),
  12576. c = [
  12577. my.parts.label({
  12578. dom: {
  12579. tag: 'label',
  12580. innerHtml: e,
  12581. attributes: { 'aria-label': o },
  12582. },
  12583. }),
  12584. my.parts.field({
  12585. data: r,
  12586. factory: Dy,
  12587. inputAttributes: lt(
  12588. { type: 'text' },
  12589. 'hex' === n ? { 'aria-live': 'polite' } : {}
  12590. ),
  12591. inputClasses: [d('textfield')],
  12592. inputBehaviours: nc([
  12593. ((i = n),
  12594. (u = t),
  12595. Ky.config({
  12596. invalidClass: d('invalid'),
  12597. notify: {
  12598. onValidate: function (t) {
  12599. br(t, iS, { type: i })
  12600. },
  12601. onValid: function (t) {
  12602. br(t, oS, { type: i, value: Df.getValue(t) })
  12603. },
  12604. onInvalid: function (t) {
  12605. br(t, rS, { type: i, value: Df.getValue(t) })
  12606. },
  12607. },
  12608. validator: {
  12609. validate: function (t) {
  12610. var n = Df.getValue(t),
  12611. e = u(n)
  12612. ? Ve.value(!0)
  12613. : Ve.error(f('aria.input.invalid'))
  12614. return Gy(e)
  12615. },
  12616. validateOnLoad: !1,
  12617. },
  12618. })),
  12619. py.config({}),
  12620. ]),
  12621. onSetValue: function (t) {
  12622. Ky.isInvalid(t) && Ky.run(t).get(st)
  12623. },
  12624. }),
  12625. ],
  12626. s = 'hex' !== n ? [my.parts['aria-descriptor']({ text: a })] : []
  12627. return {
  12628. dom: { tag: 'div', attributes: { role: 'presentation' } },
  12629. components: c.concat(s),
  12630. }
  12631. }
  12632. function h(t, n) {
  12633. var e = n.red,
  12634. o = n.green,
  12635. r = n.blue
  12636. Df.setValue(t, { red: e, green: o, blue: r })
  12637. }
  12638. function v(t, n) {
  12639. b.getOpt(t).each(function (t) {
  12640. dn(t.element, 'background-color', '#' + n.value)
  12641. })
  12642. }
  12643. var b = zm({
  12644. dom: {
  12645. tag: 'div',
  12646. classes: [d('rgba-preview')],
  12647. styles: { 'background-color': 'white' },
  12648. attributes: { role: 'presentation' },
  12649. },
  12650. })
  12651. return kl({
  12652. factory: function () {
  12653. function a(t) {
  12654. return o[t].get()
  12655. }
  12656. function c(t, n) {
  12657. o[t].set(n)
  12658. }
  12659. function n(t, n) {
  12660. var e = n.event
  12661. 'hex' !== e.type ? c(e.type, vt.none()) : g(t)
  12662. }
  12663. function e(t, n) {
  12664. var r,
  12665. e,
  12666. o,
  12667. i,
  12668. u = n.event
  12669. 'hex' === u.type
  12670. ? (function (t, n) {
  12671. m(t)
  12672. var e = Mv(n)
  12673. c('hex', vt.some(n))
  12674. var o = Hv(e)
  12675. h(t, o), s(o), br(t, Qw, { hex: e }), v(t, e)
  12676. })(t, u.value)
  12677. : ((r = t),
  12678. (e = u.type),
  12679. (o = u.value),
  12680. (i = parseInt(o, 10)),
  12681. c(e, vt.some(i)),
  12682. a('red')
  12683. .bind(function (e) {
  12684. return a('green').bind(function (n) {
  12685. return a('blue').map(function (t) {
  12686. return Rv(e, n, t, 1)
  12687. })
  12688. })
  12689. })
  12690. .each(function (t) {
  12691. var n,
  12692. e,
  12693. o =
  12694. ((n = r),
  12695. (e = Iv(t)),
  12696. eS.getField(n, 'hex').each(function (t) {
  12697. Hg.isFocused(t) || Df.setValue(n, { hex: e.value })
  12698. }),
  12699. e)
  12700. br(r, Qw, { hex: o }), v(r, o)
  12701. }))
  12702. }
  12703. function t(t) {
  12704. return {
  12705. label: f(uS + t + '.label'),
  12706. description: f(uS + t + '.description'),
  12707. }
  12708. }
  12709. function s(t) {
  12710. var n = t.red,
  12711. e = t.green,
  12712. o = t.blue
  12713. c('red', vt.some(n)), c('green', vt.some(e)), c('blue', vt.some(o))
  12714. }
  12715. var o = {
  12716. red: Po(vt.some(255)),
  12717. green: Po(vt.some(255)),
  12718. blue: Po(vt.some(255)),
  12719. hex: Po(vt.some('ffffff')),
  12720. },
  12721. r = t('red'),
  12722. i = t('green'),
  12723. u = t('blue'),
  12724. l = t('hex')
  12725. return Yo(
  12726. eS.sketch(function (t) {
  12727. return {
  12728. dom: {
  12729. tag: 'form',
  12730. classes: [d('rgb-form')],
  12731. attributes: { 'aria-label': f('aria.color.picker') },
  12732. },
  12733. components: [
  12734. t.field(
  12735. 'red',
  12736. my.sketch(p(Vv, 'red', r.label, r.description, 255))
  12737. ),
  12738. t.field(
  12739. 'green',
  12740. my.sketch(p(Vv, 'green', i.label, i.description, 255))
  12741. ),
  12742. t.field(
  12743. 'blue',
  12744. my.sketch(p(Vv, 'blue', u.label, u.description, 255))
  12745. ),
  12746. t.field(
  12747. 'hex',
  12748. my.sketch(p(Av, 'hex', l.label, l.description, 'ffffff'))
  12749. ),
  12750. b.asSpec(),
  12751. ],
  12752. formBehaviours: nc([
  12753. Ky.config({ invalidClass: d('form-invalid') }),
  12754. mm('rgb-form-events', [Cr(oS, e), Cr(rS, n), Cr(iS, n)]),
  12755. ]),
  12756. }
  12757. }),
  12758. {
  12759. apis: {
  12760. updateHex: function (t, n) {
  12761. var e
  12762. Df.setValue(t, { hex: n.value }),
  12763. h(t, (e = Hv(n))),
  12764. s(e),
  12765. v(t, n)
  12766. },
  12767. },
  12768. }
  12769. )
  12770. },
  12771. name: 'RgbForm',
  12772. configFields: [],
  12773. apis: {
  12774. updateHex: function (t, n, e) {
  12775. t.updateHex(n, e)
  12776. },
  12777. },
  12778. extraApis: {},
  12779. })
  12780. }
  12781. function a0(x, w) {
  12782. return kl({
  12783. name: 'ColourPicker',
  12784. configFields: [mo('dom'), Eo('onValidHex', st), Eo('onInvalidHex', st)],
  12785. factory: function (t) {
  12786. function n(t, n, e) {
  12787. v.getOpt(t).each(function (t) {
  12788. g.setHue(t, e)
  12789. })
  12790. }
  12791. function e(t, n) {
  12792. b.getOpt(t).each(function (t) {
  12793. m.updateHex(t, n)
  12794. })
  12795. }
  12796. function r(n, e, o, t) {
  12797. var r = o,
  12798. i = Hv(e)
  12799. p.paletteRgba.set(i),
  12800. p.paletteHue.set(r),
  12801. St(t, function (t) {
  12802. t(n, e, o)
  12803. })
  12804. }
  12805. var o,
  12806. i,
  12807. u,
  12808. a,
  12809. c,
  12810. s,
  12811. l,
  12812. f,
  12813. d,
  12814. m = u0(x, w, t.onValidHex, t.onInvalidHex),
  12815. g =
  12816. ((l = w),
  12817. (f = $w.parts.spectrum({
  12818. dom: {
  12819. tag: 'canvas',
  12820. attributes: { role: 'presentation' },
  12821. classes: [l('sv-palette-spectrum')],
  12822. },
  12823. })),
  12824. (d = $w.parts.thumb({
  12825. dom: {
  12826. tag: 'div',
  12827. attributes: { role: 'presentation' },
  12828. classes: [l('sv-palette-thumb')],
  12829. innerHtml:
  12830. '<div class=' +
  12831. l('sv-palette-inner-thumb') +
  12832. ' role="presentation"></div>',
  12833. },
  12834. })),
  12835. kl({
  12836. factory: function (t) {
  12837. var n = rt({ x: 0, y: 0 }),
  12838. e = nc([cd.config({ find: vt.some }), Hg.config({})])
  12839. return $w.sketch({
  12840. dom: {
  12841. tag: 'div',
  12842. attributes: { role: 'presentation' },
  12843. classes: [l('sv-palette')],
  12844. },
  12845. model: { mode: 'xy', getInitialValue: n },
  12846. rounded: !1,
  12847. components: [f, d],
  12848. onChange: function (t, n, e) {
  12849. br(t, tS, { value: e })
  12850. },
  12851. onInit: function (t, n, e, o) {
  12852. y(e.element.dom, Lv(fb))
  12853. },
  12854. sliderBehaviours: e,
  12855. })
  12856. },
  12857. name: 'SaturationBrightnessPalette',
  12858. configFields: [],
  12859. apis: {
  12860. setHue: function (t, n, e) {
  12861. var o = e
  12862. y(n.components()[0].element.dom, Lv(Pv(Uv(o, 100, 100))))
  12863. },
  12864. setThumb: function (t, n, e) {
  12865. var o = n,
  12866. r = jv(Hv(e))
  12867. $w.setValue(o, { x: r.saturation, y: 100 - r.value })
  12868. },
  12869. },
  12870. extraApis: {},
  12871. })),
  12872. p = { paletteRgba: Po(fb), paletteHue: Po(0) },
  12873. h = zm(
  12874. ((i = $w.parts.spectrum({
  12875. dom: {
  12876. tag: 'div',
  12877. classes: [(o = w)('hue-slider-spectrum')],
  12878. attributes: { role: 'presentation' },
  12879. },
  12880. })),
  12881. (u = $w.parts.thumb({
  12882. dom: {
  12883. tag: 'div',
  12884. classes: [o('hue-slider-thumb')],
  12885. attributes: { role: 'presentation' },
  12886. },
  12887. })),
  12888. $w.sketch({
  12889. dom: {
  12890. tag: 'div',
  12891. classes: [o('hue-slider')],
  12892. attributes: { role: 'presentation' },
  12893. },
  12894. rounded: !1,
  12895. model: { mode: 'y', getInitialValue: rt({ y: 0 }) },
  12896. components: [i, u],
  12897. sliderBehaviours: nc([Hg.config({})]),
  12898. onChange: function (t, n, e) {
  12899. br(t, Zw, { value: e })
  12900. },
  12901. }))
  12902. ),
  12903. v = zm(g.sketch({})),
  12904. b = zm(m.sketch({}))
  12905. function y(t, n) {
  12906. var e,
  12907. o,
  12908. r = t.width,
  12909. i = t.height,
  12910. u = t.getContext('2d')
  12911. null !== u &&
  12912. ((u.fillStyle = n),
  12913. u.fillRect(0, 0, r, i),
  12914. (e = u.createLinearGradient(0, 0, r, 0)).addColorStop(
  12915. 0,
  12916. 'rgba(255,255,255,1)'
  12917. ),
  12918. e.addColorStop(1, 'rgba(255,255,255,0)'),
  12919. (u.fillStyle = e),
  12920. u.fillRect(0, 0, r, i),
  12921. (o = u.createLinearGradient(0, 0, 0, i)).addColorStop(
  12922. 0,
  12923. 'rgba(0,0,0,0)'
  12924. ),
  12925. o.addColorStop(1, 'rgba(0,0,0,1)'),
  12926. (u.fillStyle = o),
  12927. u.fillRect(0, 0, r, i))
  12928. }
  12929. return {
  12930. uid: t.uid,
  12931. dom: t.dom,
  12932. components: [v.asSpec(), h.asSpec(), b.asSpec()],
  12933. behaviours: nc([
  12934. mm('colour-picker-events', [
  12935. Cr(
  12936. Qw,
  12937. ((s = [
  12938. n,
  12939. function (t, n, e) {
  12940. h.getOpt(t).each(function (t) {
  12941. $w.setValue(t, { y: 100 - (e / 360) * 100 })
  12942. })
  12943. },
  12944. function (t, n) {
  12945. v.getOpt(t).each(function (t) {
  12946. g.setThumb(t, n)
  12947. })
  12948. },
  12949. ]),
  12950. function (t, n) {
  12951. var e = n.event.hex
  12952. r(t, e, jv(Hv(e)).hue, s)
  12953. })
  12954. ),
  12955. Cr(
  12956. tS,
  12957. ((c = [e]),
  12958. function (t, n) {
  12959. var e = n.event.value,
  12960. o = p.paletteHue.get()
  12961. r(t, Gv(Uv(o, e.x, 100 - e.y)), o, c)
  12962. })
  12963. ),
  12964. Cr(
  12965. Zw,
  12966. ((a = [n, e]),
  12967. function (t, n) {
  12968. var e = ((100 - n.event.value.y) / 100) * 360,
  12969. o = jv(p.paletteRgba.get())
  12970. r(t, Gv(Uv(e, o.saturation, o.value)), e, a)
  12971. })
  12972. ),
  12973. ]),
  12974. cd.config({
  12975. find: function (t) {
  12976. return b.getOpt(t)
  12977. },
  12978. }),
  12979. Fg.config({ mode: 'acyclic' }),
  12980. ]),
  12981. }
  12982. },
  12983. })
  12984. }
  12985. function c0(t) {
  12986. return sS[t]
  12987. }
  12988. function s0(t, n, e) {
  12989. return Df.config(
  12990. Yo(
  12991. { store: { mode: 'manual', getValue: n, setValue: e } },
  12992. t
  12993. .map(function (t) {
  12994. return { store: { initialValue: t } }
  12995. })
  12996. .getOr({})
  12997. )
  12998. )
  12999. }
  13000. function l0(r, i) {
  13001. function n(t, n) {
  13002. n.stop()
  13003. }
  13004. function e(t) {
  13005. return function (n, e) {
  13006. St(t, function (t) {
  13007. t(n, e)
  13008. })
  13009. }
  13010. }
  13011. function o(t, n) {
  13012. var e
  13013. gd.isDisabled(t) || ((e = n.event.raw), a(t, e.dataTransfer.files))
  13014. }
  13015. function u(t, n) {
  13016. var e = n.event.raw.target
  13017. a(t, e.files)
  13018. }
  13019. function a(t, n) {
  13020. var e, o
  13021. Df.setValue(
  13022. t,
  13023. ((e = n),
  13024. (o = fS.explode(
  13025. i.getSetting(
  13026. 'images_file_types',
  13027. 'jpeg,jpg,jpe,jfi,jif,jfif,png,gif,bmp,webp',
  13028. 'string'
  13029. )
  13030. )),
  13031. F(kt(e), function (n) {
  13032. return d(o, function (t) {
  13033. return Bt(n.name.toLowerCase(), '.' + t.toLowerCase())
  13034. })
  13035. }))
  13036. ),
  13037. br(t, yy, { name: r.name })
  13038. }
  13039. var c = zm({
  13040. dom: {
  13041. tag: 'input',
  13042. attributes: { type: 'file', accept: 'image/*' },
  13043. styles: { display: 'none' },
  13044. },
  13045. behaviours: nc([mm('input-file-events', [Dr(Ci()), Dr(Vi())])]),
  13046. })
  13047. return ey(
  13048. r.label.map(function (t) {
  13049. return oy(t, i)
  13050. }),
  13051. my.parts.field({
  13052. factory: {
  13053. sketch: function (t) {
  13054. return {
  13055. uid: t.uid,
  13056. dom: { tag: 'div', classes: ['tox-dropzone-container'] },
  13057. behaviours: nc([
  13058. pS([]),
  13059. aw(),
  13060. gd.config({}),
  13061. Lg.config({ toggleClass: 'dragenter', toggleOnExecute: !1 }),
  13062. mm('dropzone-events', [
  13063. Cr('dragenter', e([n, Lg.toggle])),
  13064. Cr('dragleave', e([n, Lg.toggle])),
  13065. Cr('dragover', n),
  13066. Cr('drop', e([n, o])),
  13067. Cr(ki(), u),
  13068. ]),
  13069. ]),
  13070. components: [
  13071. {
  13072. dom: { tag: 'div', classes: ['tox-dropzone'], styles: {} },
  13073. components: [
  13074. {
  13075. dom: {
  13076. tag: 'p',
  13077. innerHtml: i.translate('Drop an image here'),
  13078. },
  13079. },
  13080. fp.sketch({
  13081. dom: {
  13082. tag: 'button',
  13083. innerHtml: i.translate('Browse for an image'),
  13084. styles: { position: 'relative' },
  13085. classes: ['tox-button', 'tox-button--secondary'],
  13086. },
  13087. components: [c.asSpec()],
  13088. action: function (t) {
  13089. c.get(t).element.dom.click()
  13090. },
  13091. buttonBehaviours: nc([
  13092. py.config({}),
  13093. $v(i.isDisabled),
  13094. pv(),
  13095. ]),
  13096. }),
  13097. ],
  13098. },
  13099. ],
  13100. }
  13101. },
  13102. },
  13103. }),
  13104. ['tox-form__group--stretched'],
  13105. []
  13106. )
  13107. }
  13108. function f0(t) {
  13109. return {
  13110. dom: {
  13111. tag: 'div',
  13112. styles: { width: '1px', height: '1px', outline: 'none' },
  13113. attributes: { tabindex: '0' },
  13114. classes: t,
  13115. },
  13116. behaviours: nc([Hg.config({ ignore: !0 }), py.config({})]),
  13117. }
  13118. }
  13119. function d0(t) {
  13120. return {
  13121. dom: { tag: 'div', classes: ['tox-navobj'] },
  13122. components: [f0([hS]), t, f0([vS])],
  13123. behaviours: nc([cS(1)]),
  13124. }
  13125. }
  13126. function m0(t, n) {
  13127. br(t, xi(), { raw: { which: 9, shiftKey: n } })
  13128. }
  13129. function g0(t, n) {
  13130. var e = n.element
  13131. Kr(e, hS) ? m0(t, !0) : Kr(e, vS) && m0(t, !1)
  13132. }
  13133. function p0(t) {
  13134. return Yb(t, ['.' + hS, '.' + vS].join(','), T)
  13135. }
  13136. function h0(t, n) {
  13137. return xS(document.createElement('canvas'), t, n)
  13138. }
  13139. function v0(t) {
  13140. var n = h0(t.width, t.height)
  13141. return yS(n).drawImage(t, 0, 0), n
  13142. }
  13143. function b0(t) {
  13144. return t.naturalWidth || t.width
  13145. }
  13146. function y0(t) {
  13147. return t.naturalHeight || t.height
  13148. }
  13149. function x0(t, o, r) {
  13150. return (
  13151. (o = o || 'image/png'),
  13152. S(HTMLCanvasElement.prototype.toBlob)
  13153. ? new Ny(function (n, e) {
  13154. t.toBlob(
  13155. function (t) {
  13156. t ? n(t) : e()
  13157. },
  13158. o,
  13159. r
  13160. )
  13161. })
  13162. : ((g = t.toDataURL(o, r)),
  13163. new Ny(function (t, n) {
  13164. !(function () {
  13165. var t = g.split(','),
  13166. n = /data:([^;]+)/.exec(t[0])
  13167. if (!n) return vt.none()
  13168. for (
  13169. var e = n[1],
  13170. o = t[1],
  13171. r = atob(o),
  13172. i = r.length,
  13173. u = Math.ceil(i / 1024),
  13174. a = new Array(u),
  13175. c = 0;
  13176. c < u;
  13177. ++c
  13178. ) {
  13179. for (
  13180. var s = 1024 * c,
  13181. l = Math.min(1024 + s, i),
  13182. f = new Array(l - s),
  13183. d = s,
  13184. m = 0;
  13185. d < l;
  13186. ++m, ++d
  13187. )
  13188. f[m] = r[d].charCodeAt(0)
  13189. a[c] = new Uint8Array(f)
  13190. }
  13191. return vt.some(new Blob(a, { type: e }))
  13192. })().fold(function () {
  13193. n('uri is not base64: ' + g)
  13194. }, t)
  13195. }))
  13196. )
  13197. var g
  13198. }
  13199. function w0(t, n, e) {
  13200. function o(n, e) {
  13201. return t.then(function (t) {
  13202. return t.toDataURL(n || 'image/png', e)
  13203. })
  13204. }
  13205. return {
  13206. getType: rt(n.type),
  13207. toBlob: function () {
  13208. return Ny.resolve(n)
  13209. },
  13210. toDataURL: rt(e),
  13211. toBase64: function () {
  13212. return e.split(',')[1]
  13213. },
  13214. toAdjustedBlob: function (n, e) {
  13215. return t.then(function (t) {
  13216. return x0(t, n, e)
  13217. })
  13218. },
  13219. toAdjustedDataURL: o,
  13220. toAdjustedBase64: function (t, n) {
  13221. return o(t, n).then(function (t) {
  13222. return t.split(',')[1]
  13223. })
  13224. },
  13225. toCanvas: function () {
  13226. return t.then(v0)
  13227. },
  13228. }
  13229. }
  13230. function S0(n, t) {
  13231. return x0(n, t).then(function (t) {
  13232. return w0(Ny.resolve(n), t, n.toDataURL())
  13233. })
  13234. }
  13235. function k0(n) {
  13236. return (
  13237. (e = n),
  13238. new Ny(function (t) {
  13239. var n = new FileReader()
  13240. ;(n.onloadend = function () {
  13241. t(n.result)
  13242. }),
  13243. n.readAsDataURL(e)
  13244. }).then(function (t) {
  13245. return w0(
  13246. ((a = n),
  13247. new Ny(function (t, n) {
  13248. function e() {
  13249. r.removeEventListener('load', i),
  13250. r.removeEventListener('error', u)
  13251. }
  13252. var o = URL.createObjectURL(a),
  13253. r = new Image(),
  13254. i = function () {
  13255. e(), t(r)
  13256. },
  13257. u = function () {
  13258. e(), n('Unable to load data of type ' + a.type + ': ' + o)
  13259. }
  13260. r.addEventListener('load', i),
  13261. r.addEventListener('error', u),
  13262. (r.src = o),
  13263. r.complete && setTimeout(i, 0)
  13264. }).then(function (t) {
  13265. wS(t)
  13266. var n = h0(b0(t), y0(t))
  13267. return yS(n).drawImage(t, 0, 0), n
  13268. })),
  13269. n,
  13270. t
  13271. )
  13272. var a
  13273. })
  13274. )
  13275. var e
  13276. }
  13277. function C0(t, n, e) {
  13278. var o = 'string' == typeof t ? parseFloat(t) : t
  13279. return e < o ? (o = e) : o < n && (o = n), o
  13280. }
  13281. function O0() {
  13282. return [
  13283. 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1,
  13284. ]
  13285. }
  13286. function _0(t, n) {
  13287. for (var e = [], o = new Array(25), r = 0; r < 5; r++) {
  13288. for (var i = 0; i < 5; i++) e[i] = n[i + 5 * r]
  13289. for (i = 0; i < 5; i++) {
  13290. for (var u = 0, a = 0; a < 5; a++) u += t[i + 5 * a] * e[a]
  13291. o[i + 5 * r] = u
  13292. }
  13293. }
  13294. return o
  13295. }
  13296. function T0(n, e) {
  13297. return n.toCanvas().then(function (t) {
  13298. return kS(t, n.getType(), e)
  13299. })
  13300. }
  13301. function E0(e) {
  13302. return function (t, n) {
  13303. return T0(t, e(O0(), n))
  13304. }
  13305. }
  13306. function D0(t, n) {
  13307. void 0 === n && (n = 2)
  13308. var e = Math.pow(10, n),
  13309. o = Math.round(t * e)
  13310. return Math.ceil(o / e)
  13311. }
  13312. function B0(t) {
  13313. return CS(t)
  13314. }
  13315. function M0(t) {
  13316. return TS(t)
  13317. }
  13318. function A0(t, n) {
  13319. return ES(t, n)
  13320. }
  13321. function F0(t, n) {
  13322. return OS(t, n)
  13323. }
  13324. function I0(t, n) {
  13325. return _S(t, n)
  13326. }
  13327. function R0(t, n) {
  13328. return (
  13329. (o = n),
  13330. (e = t).toCanvas().then(function (t) {
  13331. return AS(t, e.getType(), o)
  13332. })
  13333. )
  13334. var e, o
  13335. }
  13336. function V0(t, n) {
  13337. return (
  13338. (o = n),
  13339. (e = t).toCanvas().then(function (t) {
  13340. return MS(t, e.getType(), o)
  13341. })
  13342. )
  13343. var e, o
  13344. }
  13345. function P0(t, n, e) {
  13346. return Xm(
  13347. t,
  13348. {
  13349. tag: 'span',
  13350. classes: ['tox-icon', 'tox-tbtn__icon-wrap'],
  13351. behaviours: e,
  13352. },
  13353. n
  13354. )
  13355. }
  13356. function H0(t, n) {
  13357. return P0(t, n, [])
  13358. }
  13359. function z0(t, n) {
  13360. return P0(t, n, [Rg.config({})])
  13361. }
  13362. function N0(t, n, e) {
  13363. return {
  13364. dom: {
  13365. tag: 'span',
  13366. innerHtml: e.translate(t),
  13367. classes: [n + '__select-label'],
  13368. },
  13369. behaviours: nc([Rg.config({})]),
  13370. }
  13371. }
  13372. function L0(n, e, o) {
  13373. function t(t, n) {
  13374. var e = Df.getValue(t)
  13375. return (
  13376. Hg.focus(e),
  13377. br(e, 'keydown', { raw: n.event.raw }),
  13378. hw.close(e),
  13379. vt.some(!0)
  13380. )
  13381. }
  13382. var r = Po(st),
  13383. i = n.text.map(function (t) {
  13384. return zm(N0(t, e, o.providers))
  13385. }),
  13386. u = n.icon.map(function (t) {
  13387. return zm(z0(t, o.providers.icons))
  13388. }),
  13389. a = n.role.fold(
  13390. function () {
  13391. return {}
  13392. },
  13393. function (t) {
  13394. return { role: t }
  13395. }
  13396. ),
  13397. c = n.tooltip.fold(
  13398. function () {
  13399. return {}
  13400. },
  13401. function (t) {
  13402. var n = o.providers.translate(t)
  13403. return { title: n, 'aria-label': n }
  13404. }
  13405. ),
  13406. s = Xm(
  13407. 'chevron-down',
  13408. { tag: 'div', classes: [e + '__select-chevron'] },
  13409. o.providers.icons
  13410. )
  13411. return zm(
  13412. hw.sketch(
  13413. lt(lt(lt({}, n.uid ? { uid: n.uid } : {}), a), {
  13414. dom: {
  13415. tag: 'button',
  13416. classes: [e, e + '--select'].concat(
  13417. M(n.classes, function (t) {
  13418. return e + '--' + t
  13419. })
  13420. ),
  13421. attributes: lt({}, c),
  13422. },
  13423. components: tb([
  13424. u.map(function (t) {
  13425. return t.asSpec()
  13426. }),
  13427. i.map(function (t) {
  13428. return t.asSpec()
  13429. }),
  13430. vt.some(s),
  13431. ]),
  13432. matchWidth: !0,
  13433. useMinWidth: !0,
  13434. dropdownBehaviours: nc(
  13435. H(
  13436. H([], n.dropdownBehaviours, !0),
  13437. [
  13438. $v(function () {
  13439. return n.disabled || o.providers.isDisabled()
  13440. }),
  13441. pv(),
  13442. vw.config({}),
  13443. Rg.config({}),
  13444. mm('dropdown-events', [vv(n, r), bv(n, r)]),
  13445. mm('menubutton-update-display-text', [
  13446. Cr(VS, function (n, e) {
  13447. i.bind(function (t) {
  13448. return t.getOpt(n)
  13449. }).each(function (t) {
  13450. Rg.set(t, [ri(o.providers.translate(e.event.text))])
  13451. })
  13452. }),
  13453. Cr(PS, function (n, e) {
  13454. u.bind(function (t) {
  13455. return t.getOpt(n)
  13456. }).each(function (t) {
  13457. Rg.set(t, [z0(e.event.icon, o.providers.icons)])
  13458. })
  13459. }),
  13460. ]),
  13461. ],
  13462. !1
  13463. )
  13464. ),
  13465. eventOrder: Yo(RS, {
  13466. mousedown: [
  13467. 'focusing',
  13468. 'alloy.base.behaviour',
  13469. 'item-type-events',
  13470. 'normal-dropdown-events',
  13471. ],
  13472. }),
  13473. sandboxBehaviours: nc([
  13474. Fg.config({ mode: 'special', onLeft: t, onRight: t }),
  13475. ]),
  13476. lazySink: o.getSink,
  13477. toggleClass: e + '--active',
  13478. parts: { menu: Zp(0, n.columns, n.presets) },
  13479. fetch: function (t) {
  13480. return jy(C(n.fetch, t))
  13481. },
  13482. })
  13483. )
  13484. ).asSpec()
  13485. }
  13486. function W0(t) {
  13487. return 'separator' === t.type
  13488. }
  13489. function U0(t, e, o, n) {
  13490. var r = Ir('primary-menu'),
  13491. i = zS(t, o.shared.providers.menuItems())
  13492. if (0 === i.items.length) return vt.none()
  13493. var u = Gb(r, i.items, e, o, n),
  13494. a = dt(i.menus, function (t, n) {
  13495. return Gb(n, t, e, o, !1)
  13496. }),
  13497. c = Yo(a, sr(r, u))
  13498. return vt.from(ip.tieredData(r, c, i.expansions))
  13499. }
  13500. function j0(e) {
  13501. return {
  13502. isDisabled: function () {
  13503. return gd.isDisabled(e)
  13504. },
  13505. setDisabled: function (t) {
  13506. return gd.set(e, t)
  13507. },
  13508. setActive: function (t) {
  13509. var n = e.element
  13510. t
  13511. ? (Yr(n, 'tox-tbtn--enabled'), on(n, 'aria-pressed', !0))
  13512. : (qr(n, 'tox-tbtn--enabled'), sn(n, 'aria-pressed'))
  13513. },
  13514. isActive: function () {
  13515. return Kr(e.element, 'tox-tbtn--enabled')
  13516. },
  13517. }
  13518. }
  13519. function G0(e, t, o, n) {
  13520. return L0(
  13521. {
  13522. text: e.text,
  13523. icon: e.icon,
  13524. tooltip: e.tooltip,
  13525. role: n,
  13526. fetch: function (t, n) {
  13527. e.fetch(function (t) {
  13528. n(U0(t, Sh.CLOSE_ON_EXECUTE, o, !1))
  13529. })
  13530. },
  13531. onSetup: e.onSetup,
  13532. getApi: j0,
  13533. columns: 1,
  13534. presets: 'normal',
  13535. classes: [],
  13536. dropdownBehaviours: [py.config({})],
  13537. },
  13538. t,
  13539. o.shared
  13540. )
  13541. }
  13542. function X0(t, n, e, o, r, i) {
  13543. void 0 === e && (e = [])
  13544. var u = n.fold(
  13545. function () {
  13546. return {}
  13547. },
  13548. function (t) {
  13549. return { action: t }
  13550. }
  13551. ),
  13552. a = lt(
  13553. {
  13554. buttonBehaviours: nc(
  13555. [
  13556. $v(function () {
  13557. return t.disabled || i.isDisabled()
  13558. }),
  13559. pv(),
  13560. py.config({}),
  13561. mm('button press', [kr('click'), kr('mousedown')]),
  13562. ].concat(e)
  13563. ),
  13564. eventOrder: {
  13565. click: ['button press', 'alloy.base.behaviour'],
  13566. mousedown: ['button press', 'alloy.base.behaviour'],
  13567. },
  13568. },
  13569. u
  13570. ),
  13571. c = Yo(a, { dom: o })
  13572. return Yo(c, { components: r })
  13573. }
  13574. function Y0(t, n, e, o) {
  13575. void 0 === o && (o = [])
  13576. var r = {
  13577. tag: 'button',
  13578. classes: ['tox-tbtn'],
  13579. attributes: t.tooltip
  13580. .map(function (t) {
  13581. return { 'aria-label': e.translate(t), title: e.translate(t) }
  13582. })
  13583. .getOr({}),
  13584. },
  13585. i = t.icon.map(function (t) {
  13586. return H0(t, e.icons)
  13587. })
  13588. return X0(t, n, o, r, tb([i]), e)
  13589. }
  13590. function q0(t, n, e, o) {
  13591. void 0 === o && (o = [])
  13592. var r = Y0(t, vt.some(n), e, o)
  13593. return fp.sketch(r)
  13594. }
  13595. function K0(t, n, e, o, r) {
  13596. void 0 === o && (o = []), void 0 === r && (r = [])
  13597. var i = e.translate(t.text),
  13598. u = t.icon
  13599. ? t.icon.map(function (t) {
  13600. return H0(t, e.icons)
  13601. })
  13602. : vt.none(),
  13603. a = u.isSome() ? tb([u]) : [],
  13604. c = u.isSome() ? {} : { innerHtml: i },
  13605. s = H(
  13606. H(
  13607. H(
  13608. H(
  13609. [],
  13610. t.primary || t.borderless
  13611. ? ['tox-button']
  13612. : ['tox-button', 'tox-button--secondary'],
  13613. !0
  13614. ),
  13615. u.isSome() ? ['tox-button--icon'] : [],
  13616. !0
  13617. ),
  13618. t.borderless ? ['tox-button--naked'] : [],
  13619. !0
  13620. ),
  13621. r,
  13622. !0
  13623. )
  13624. return X0(
  13625. t,
  13626. n,
  13627. o,
  13628. lt(lt({ tag: 'button', classes: s }, c), { attributes: { title: i } }),
  13629. a,
  13630. e
  13631. )
  13632. }
  13633. function J0(t, n, e, o, r) {
  13634. void 0 === o && (o = []), void 0 === r && (r = [])
  13635. var i = K0(t, vt.some(n), e, o, r)
  13636. return fp.sketch(i)
  13637. }
  13638. function $0(n, e) {
  13639. return function (t) {
  13640. 'custom' === e
  13641. ? br(t, Sy, { name: n, value: {} })
  13642. : 'submit' === e
  13643. ? vr(t, ky)
  13644. : 'cancel' === e
  13645. ? vr(t, wy)
  13646. : console.error('Unknown button type: ', e)
  13647. }
  13648. }
  13649. function Q0(n, t, e) {
  13650. if ('menu' === t) {
  13651. var o = n,
  13652. r = zm(
  13653. G0(
  13654. lt(lt({}, n), {
  13655. onSetup: function (t) {
  13656. return t.setDisabled(n.disabled), st
  13657. },
  13658. fetch:
  13659. ((i = o.items),
  13660. (u = function () {
  13661. return r
  13662. }),
  13663. (a = e),
  13664. function (t) {
  13665. t(
  13666. M(i, function (t) {
  13667. var n,
  13668. e,
  13669. o = t.text.fold(
  13670. function () {
  13671. return {}
  13672. },
  13673. function (t) {
  13674. return { text: t }
  13675. }
  13676. )
  13677. return lt(lt({ type: t.type, active: !1 }, o), {
  13678. onAction: function (t) {
  13679. var n = !t.isActive()
  13680. t.setActive(n),
  13681. e.storage.set(n),
  13682. a.shared.getSink().each(function (t) {
  13683. u()
  13684. .getOpt(t)
  13685. .each(function (t) {
  13686. ka(t.element),
  13687. br(t, Sy, {
  13688. name: e.name,
  13689. value: e.storage.get(),
  13690. })
  13691. })
  13692. })
  13693. },
  13694. onSetup:
  13695. ((n = e = t),
  13696. function (t) {
  13697. t.setActive(n.storage.get())
  13698. }),
  13699. })
  13700. })
  13701. )
  13702. }),
  13703. }),
  13704. 'tox-tbtn',
  13705. e,
  13706. vt.none()
  13707. )
  13708. )
  13709. return r.asSpec()
  13710. }
  13711. var i, u, a
  13712. if ('custom' === t || 'cancel' === t || 'submit' === t) {
  13713. var c = $0(n.name, t)
  13714. return J0(lt(lt({}, n), { borderless: !1 }), c, e.shared.providers, [])
  13715. }
  13716. console.error('Unknown footer button type: ', t)
  13717. }
  13718. function Z0(t, n) {
  13719. return Jf({
  13720. factory: my,
  13721. name: t,
  13722. overrides: function (o) {
  13723. return {
  13724. fieldBehaviours: nc([
  13725. mm('coupled-input-behaviour', [
  13726. Cr(Si(), function (e) {
  13727. ml(e, o, n)
  13728. .bind(cd.getCurrent)
  13729. .each(function (n) {
  13730. ml(e, o, 'lock').each(function (t) {
  13731. Lg.isOn(t) && o.onLockedChange(e, n, t)
  13732. })
  13733. })
  13734. }),
  13735. ]),
  13736. ]),
  13737. }
  13738. },
  13739. })
  13740. }
  13741. function tw(t) {
  13742. var n =
  13743. /^\s*(\d+(?:\.\d+)?)\s*(|cm|mm|in|px|pt|pc|em|ex|ch|rem|vw|vh|vmin|vmax|%)\s*$/.exec(
  13744. t
  13745. )
  13746. if (null === n) return Ve.error(t)
  13747. var e = parseFloat(n[1]),
  13748. o = n[2]
  13749. return Ve.value({ value: e, unit: o })
  13750. }
  13751. function nw(t, n) {
  13752. function e(t) {
  13753. return Tt(o, t)
  13754. }
  13755. var o = { '': 96, px: 96, pt: 72, cm: 2.54, pc: 12, mm: 25.4, in: 1 }
  13756. return t.unit === n
  13757. ? vt.some(t.value)
  13758. : e(t.unit) && e(n)
  13759. ? o[t.unit] === o[n]
  13760. ? vt.some(t.value)
  13761. : vt.some((t.value / o[t.unit]) * o[n])
  13762. : vt.none()
  13763. }
  13764. function ew(t) {
  13765. return vt.none()
  13766. }
  13767. function ow(o, n) {
  13768. function t(t) {
  13769. return Xm(
  13770. t,
  13771. { tag: 'span', classes: ['tox-icon', 'tox-lock-icon__' + t] },
  13772. n.icons
  13773. )
  13774. }
  13775. function e(t) {
  13776. return {
  13777. dom: { tag: 'div', classes: ['tox-form__group'] },
  13778. components: t,
  13779. }
  13780. }
  13781. function r(e) {
  13782. return my.parts.field({
  13783. factory: Dy,
  13784. inputClasses: ['tox-textfield'],
  13785. inputBehaviours: nc([
  13786. gd.config({
  13787. disabled: function () {
  13788. return o.disabled || n.isDisabled()
  13789. },
  13790. }),
  13791. pv(),
  13792. py.config({}),
  13793. mm('size-input-events', [
  13794. Cr(bi(), function (t, n) {
  13795. br(t, u, { isField1: e })
  13796. }),
  13797. Cr(ki(), function (t, n) {
  13798. br(t, yy, { name: o.name })
  13799. }),
  13800. ]),
  13801. ]),
  13802. selectOnFocus: !1,
  13803. })
  13804. }
  13805. function i(t) {
  13806. return {
  13807. dom: {
  13808. tag: 'label',
  13809. classes: ['tox-label'],
  13810. innerHtml: n.translate(t),
  13811. },
  13812. }
  13813. }
  13814. var l = ew,
  13815. u = Ir('ratio-event'),
  13816. a = WS.parts.lock({
  13817. dom: {
  13818. tag: 'button',
  13819. classes: [
  13820. 'tox-lock',
  13821. 'tox-button',
  13822. 'tox-button--naked',
  13823. 'tox-button--icon',
  13824. ],
  13825. attributes: {
  13826. title: n.translate(o.label.getOr('Constrain proportions')),
  13827. },
  13828. },
  13829. components: [t('lock'), t('unlock')],
  13830. buttonBehaviours: nc([
  13831. gd.config({
  13832. disabled: function () {
  13833. return o.disabled || n.isDisabled()
  13834. },
  13835. }),
  13836. pv(),
  13837. py.config({}),
  13838. ]),
  13839. }),
  13840. c = WS.parts.field1(e([my.parts.label(i('Width')), r(!0)])),
  13841. s = WS.parts.field2(e([my.parts.label(i('Height')), r(!1)]))
  13842. return WS.sketch({
  13843. dom: { tag: 'div', classes: ['tox-form__group'] },
  13844. components: [
  13845. {
  13846. dom: { tag: 'div', classes: ['tox-form__controls-h-stack'] },
  13847. components: [c, s, e([i('&nbsp;'), a])],
  13848. },
  13849. ],
  13850. field1Name: 'width',
  13851. field2Name: 'height',
  13852. locked: !0,
  13853. markers: { lockClass: 'tox-locked' },
  13854. onLockedChange: function (t, i, n) {
  13855. tw(Df.getValue(t)).each(function (t) {
  13856. l(t).each(function (t) {
  13857. var n, e, o, r
  13858. Df.setValue(
  13859. i,
  13860. (r =
  13861. -1 !==
  13862. (r = (n = t).value.toFixed(
  13863. (e = n.unit) in
  13864. (o = {
  13865. '': 0,
  13866. px: 0,
  13867. pt: 1,
  13868. mm: 1,
  13869. pc: 2,
  13870. ex: 2,
  13871. em: 2,
  13872. ch: 2,
  13873. rem: 2,
  13874. cm: 3,
  13875. in: 4,
  13876. '%': 4,
  13877. })
  13878. ? o[e]
  13879. : 1
  13880. )).indexOf('.')
  13881. ? r.replace(/\.?0*$/, '')
  13882. : r) + n.unit
  13883. )
  13884. })
  13885. })
  13886. },
  13887. coupledFieldBehaviours: nc([
  13888. gd.config({
  13889. disabled: function () {
  13890. return o.disabled || n.isDisabled()
  13891. },
  13892. onDisabled: function (t) {
  13893. WS.getField1(t).bind(my.getField).each(gd.disable),
  13894. WS.getField2(t).bind(my.getField).each(gd.disable),
  13895. WS.getLock(t).each(gd.disable)
  13896. },
  13897. onEnabled: function (t) {
  13898. WS.getField1(t).bind(my.getField).each(gd.enable),
  13899. WS.getField2(t).bind(my.getField).each(gd.enable),
  13900. WS.getLock(t).each(gd.enable)
  13901. },
  13902. }),
  13903. pv(),
  13904. mm('size-input-events2', [
  13905. Cr(u, function (t, n) {
  13906. var e,
  13907. o,
  13908. r,
  13909. i = n.event.isField1,
  13910. u = i ? WS.getField1(t) : WS.getField2(t),
  13911. a = i ? WS.getField2(t) : WS.getField1(t),
  13912. c = u.map(Df.getValue).getOr(''),
  13913. s = a.map(Df.getValue).getOr('')
  13914. ;(e = s),
  13915. (o = tw(c).toOptional()),
  13916. (r = tw(e).toOptional()),
  13917. (l = Et(o, r, function (t, o) {
  13918. return nw(t, o.unit)
  13919. .map(function (t) {
  13920. return o.value / t
  13921. })
  13922. .map(function (t) {
  13923. return (
  13924. (n = t),
  13925. (e = o.unit),
  13926. function (t) {
  13927. return nw(t, e).map(function (t) {
  13928. return { value: t * n, unit: e }
  13929. })
  13930. }
  13931. )
  13932. var n, e
  13933. })
  13934. .getOr(ew)
  13935. }).getOr(ew))
  13936. }),
  13937. ]),
  13938. ]),
  13939. })
  13940. }
  13941. function rw(f, c) {
  13942. function t(t, n, e, o) {
  13943. return zm(
  13944. J0(
  13945. {
  13946. name: t,
  13947. text: t,
  13948. disabled: e,
  13949. primary: o,
  13950. icon: vt.none(),
  13951. borderless: !1,
  13952. },
  13953. n,
  13954. c
  13955. )
  13956. )
  13957. }
  13958. function n(t, n, e, o) {
  13959. return zm(
  13960. q0(
  13961. {
  13962. name: t,
  13963. icon: vt.some(t),
  13964. tooltip: vt.some(n),
  13965. disabled: o,
  13966. primary: !1,
  13967. borderless: !1,
  13968. },
  13969. e,
  13970. c
  13971. )
  13972. )
  13973. }
  13974. function d(t, e) {
  13975. t.map(function (t) {
  13976. var n = t.get(e)
  13977. n.hasConfigured(gd) && gd.disable(n)
  13978. })
  13979. }
  13980. function m(t, e) {
  13981. t.map(function (t) {
  13982. var n = t.get(e)
  13983. n.hasConfigured(gd) && gd.enable(n)
  13984. })
  13985. }
  13986. function r(t, n, e) {
  13987. br(t, n, e)
  13988. }
  13989. function i(t) {
  13990. return vr(t, YS.disable()), 0
  13991. }
  13992. function u(t) {
  13993. return vr(t, YS.enable()), 0
  13994. }
  13995. function g(t, n) {
  13996. i(t), r(t, US.transform(), { transform: n }), u(t)
  13997. }
  13998. function e(t) {
  13999. return function () {
  14000. q.getOpt(t).each(function (t) {
  14001. Rg.set(t, [Y])
  14002. })
  14003. }
  14004. }
  14005. function s(t, n) {
  14006. i(t), r(t, US.transformApply(), { transform: n, swap: e(t) }), u(t)
  14007. }
  14008. function p() {
  14009. return t(
  14010. 'Back',
  14011. function (t) {
  14012. return r(t, US.back(), { swap: e(t) })
  14013. },
  14014. !1,
  14015. !1
  14016. )
  14017. }
  14018. function o() {
  14019. return zm({
  14020. dom: { tag: 'div', classes: ['tox-spacer'] },
  14021. behaviours: nc([gd.config({})]),
  14022. })
  14023. }
  14024. function h() {
  14025. return t(
  14026. 'Apply',
  14027. function (t) {
  14028. return r(t, US.apply(), { swap: e(t) })
  14029. },
  14030. !0,
  14031. !0
  14032. )
  14033. }
  14034. function v(n, e) {
  14035. return function (t) {
  14036. return n(t, e)
  14037. }
  14038. }
  14039. function a(t, n) {
  14040. var e,
  14041. o = n
  14042. i((e = t)), r(e, US.tempTransform(), { transform: o }), u(e)
  14043. }
  14044. function b(t, n, e, o, r) {
  14045. var i = $w.parts.label({
  14046. dom: {
  14047. tag: 'label',
  14048. classes: ['tox-label'],
  14049. innerHtml: c.translate(t),
  14050. },
  14051. }),
  14052. u = $w.parts.spectrum({
  14053. dom: {
  14054. tag: 'div',
  14055. classes: ['tox-slider__rail'],
  14056. attributes: { role: 'presentation' },
  14057. },
  14058. }),
  14059. a = $w.parts.thumb({
  14060. dom: {
  14061. tag: 'div',
  14062. classes: ['tox-slider__handle'],
  14063. attributes: { role: 'presentation' },
  14064. },
  14065. })
  14066. return zm(
  14067. $w.sketch({
  14068. dom: {
  14069. tag: 'div',
  14070. classes: ['tox-slider'],
  14071. attributes: { role: 'presentation' },
  14072. },
  14073. model: { mode: 'x', minX: e, maxX: r, getInitialValue: rt({ x: o }) },
  14074. components: [i, u, a],
  14075. sliderBehaviours: nc([Hg.config({})]),
  14076. onChoose: n,
  14077. })
  14078. )
  14079. }
  14080. function l(t, n, e, o, r) {
  14081. var i,
  14082. u,
  14083. a,
  14084. c,
  14085. s,
  14086. l,
  14087. f =
  14088. ((i = t),
  14089. (u = n),
  14090. (a = e),
  14091. (c = o),
  14092. (s = r),
  14093. [
  14094. p(),
  14095. ((l = u),
  14096. b(
  14097. i,
  14098. function (t, n, e) {
  14099. g(t, v(l, e.x / 100))
  14100. },
  14101. a,
  14102. c,
  14103. s
  14104. )),
  14105. h(),
  14106. ])
  14107. return ly.sketch({
  14108. dom: w,
  14109. components: f.map(function (t) {
  14110. return t.asSpec()
  14111. }),
  14112. containerBehaviours: nc([
  14113. mm('image-tools-filter-panel-buttons-events', [
  14114. Cr(YS.disable(), function (t, n) {
  14115. d(f, t)
  14116. }),
  14117. Cr(YS.enable(), function (t, n) {
  14118. m(f, t)
  14119. }),
  14120. ]),
  14121. ]),
  14122. })
  14123. }
  14124. function y(t) {
  14125. return b(
  14126. t,
  14127. function (l, t, n) {
  14128. var e = z.getOpt(l),
  14129. o = L.getOpt(l),
  14130. r = N.getOpt(l)
  14131. e.each(function (s) {
  14132. o.each(function (c) {
  14133. r.each(function (t) {
  14134. var o,
  14135. r,
  14136. i,
  14137. n = Df.getValue(s).x / 100,
  14138. e = Df.getValue(t).x / 100,
  14139. u = Df.getValue(c).x / 100,
  14140. a =
  14141. ((o = n),
  14142. (r = e),
  14143. (i = u),
  14144. function (t) {
  14145. return T0(
  14146. t,
  14147. ((n = r),
  14148. (e = i),
  14149. _0(O0(), [
  14150. C0(o, 0, 2),
  14151. 0,
  14152. 0,
  14153. 0,
  14154. 0,
  14155. 0,
  14156. C0(n, 0, 2),
  14157. 0,
  14158. 0,
  14159. 0,
  14160. 0,
  14161. 0,
  14162. C0(e, 0, 2),
  14163. 0,
  14164. 0,
  14165. 0,
  14166. 0,
  14167. 0,
  14168. 1,
  14169. 0,
  14170. 0,
  14171. 0,
  14172. 0,
  14173. 0,
  14174. 1,
  14175. ]))
  14176. )
  14177. var n, e
  14178. })
  14179. g(l, a)
  14180. })
  14181. })
  14182. })
  14183. },
  14184. 0,
  14185. 100,
  14186. 200
  14187. )
  14188. }
  14189. function x(n, e, o) {
  14190. return function (t) {
  14191. r(t, US.swap(), {
  14192. transform: e,
  14193. swap: function () {
  14194. q.getOpt(t).each(function (t) {
  14195. Rg.set(t, [n]), o(t)
  14196. })
  14197. },
  14198. })
  14199. }
  14200. }
  14201. var w = {
  14202. tag: 'div',
  14203. classes: ['tox-image-tools__toolbar', 'tox-image-tools-edit-panel'],
  14204. },
  14205. S = st,
  14206. k = [
  14207. p(),
  14208. o(),
  14209. t(
  14210. 'Apply',
  14211. function (t) {
  14212. s(t, function (t) {
  14213. var n,
  14214. e,
  14215. o,
  14216. r,
  14217. i,
  14218. u,
  14219. a,
  14220. c,
  14221. s,
  14222. l = f.getRect()
  14223. return (
  14224. (n = l.x),
  14225. (e = l.y),
  14226. (o = l.w),
  14227. (r = l.h),
  14228. (u = n),
  14229. (a = e),
  14230. (c = o),
  14231. (s = r),
  14232. (i = t).toCanvas().then(function (t) {
  14233. return FS(t, i.getType(), u, a, c, s)
  14234. })
  14235. )
  14236. }),
  14237. f.hideCrop()
  14238. },
  14239. !1,
  14240. !0
  14241. ),
  14242. ],
  14243. C = ly.sketch({
  14244. dom: w,
  14245. components: k.map(function (t) {
  14246. return t.asSpec()
  14247. }),
  14248. containerBehaviours: nc([
  14249. mm('image-tools-crop-buttons-events', [
  14250. Cr(YS.disable(), function (t, n) {
  14251. d(k, t)
  14252. }),
  14253. Cr(YS.enable(), function (t, n) {
  14254. m(k, t)
  14255. }),
  14256. ]),
  14257. ]),
  14258. }),
  14259. O = zm(
  14260. ow({ name: 'size', label: vt.none(), constrain: !0, disabled: !1 }, c)
  14261. ),
  14262. _ = [
  14263. p(),
  14264. o(),
  14265. O,
  14266. o(),
  14267. t(
  14268. 'Apply',
  14269. function (a) {
  14270. O.getOpt(a).each(function (t) {
  14271. var r,
  14272. i,
  14273. n = Df.getValue(t),
  14274. e = parseInt(n.width, 10),
  14275. o = parseInt(n.height, 10),
  14276. u =
  14277. ((r = e),
  14278. (i = o),
  14279. function (t) {
  14280. return (
  14281. (e = r),
  14282. (o = i),
  14283. (n = t).toCanvas().then(function (t) {
  14284. return DS(t, e, o).then(function (t) {
  14285. return S0(t, n.getType())
  14286. })
  14287. })
  14288. )
  14289. var n, e, o
  14290. })
  14291. s(a, u)
  14292. })
  14293. },
  14294. !1,
  14295. !0
  14296. ),
  14297. ],
  14298. T = ly.sketch({
  14299. dom: w,
  14300. components: _.map(function (t) {
  14301. return t.asSpec()
  14302. }),
  14303. containerBehaviours: nc([
  14304. mm('image-tools-resize-buttons-events', [
  14305. Cr(YS.disable(), function (t, n) {
  14306. d(_, t)
  14307. }),
  14308. Cr(YS.enable(), function (t, n) {
  14309. m(_, t)
  14310. }),
  14311. ]),
  14312. ]),
  14313. }),
  14314. E = v(R0, 'h'),
  14315. D = v(R0, 'v'),
  14316. B = v(V0, -90),
  14317. M = v(V0, 90),
  14318. A = [
  14319. p(),
  14320. o(),
  14321. n(
  14322. 'flip-horizontally',
  14323. 'Flip horizontally',
  14324. function (t) {
  14325. a(t, E)
  14326. },
  14327. !1
  14328. ),
  14329. n(
  14330. 'flip-vertically',
  14331. 'Flip vertically',
  14332. function (t) {
  14333. a(t, D)
  14334. },
  14335. !1
  14336. ),
  14337. n(
  14338. 'rotate-left',
  14339. 'Rotate counterclockwise',
  14340. function (t) {
  14341. a(t, B)
  14342. },
  14343. !1
  14344. ),
  14345. n(
  14346. 'rotate-right',
  14347. 'Rotate clockwise',
  14348. function (t) {
  14349. a(t, M)
  14350. },
  14351. !1
  14352. ),
  14353. o(),
  14354. h(),
  14355. ],
  14356. F = ly.sketch({
  14357. dom: w,
  14358. components: A.map(function (t) {
  14359. return t.asSpec()
  14360. }),
  14361. containerBehaviours: nc([
  14362. mm('image-tools-fliprotate-buttons-events', [
  14363. Cr(YS.disable(), function (t, n) {
  14364. d(A, t)
  14365. }),
  14366. Cr(YS.enable(), function (t, n) {
  14367. m(A, t)
  14368. }),
  14369. ]),
  14370. ]),
  14371. }),
  14372. I = [p(), o(), h()],
  14373. R = ly.sketch({
  14374. dom: w,
  14375. components: I.map(function (t) {
  14376. return t.asSpec()
  14377. }),
  14378. }),
  14379. V = l('Brightness', F0, -100, 0, 100),
  14380. P = l('Contrast', I0, -100, 0, 100),
  14381. H = l('Gamma', A0, -100, 0, 100),
  14382. z = y('R'),
  14383. N = y('G'),
  14384. L = y('B'),
  14385. W = [p(), z, N, L, h()],
  14386. U = ly.sketch({
  14387. dom: w,
  14388. components: W.map(function (t) {
  14389. return t.asSpec()
  14390. }),
  14391. }),
  14392. j = vt.some(M0),
  14393. G = vt.some(B0),
  14394. X = [
  14395. n(
  14396. 'crop',
  14397. 'Crop',
  14398. x(C, vt.none(), function (t) {
  14399. f.showCrop()
  14400. }),
  14401. !1
  14402. ),
  14403. n(
  14404. 'resize',
  14405. 'Resize',
  14406. x(T, vt.none(), function (t) {
  14407. O.getOpt(t).each(function (t) {
  14408. var n = f.getMeasurements(),
  14409. e = n.width,
  14410. o = n.height
  14411. Df.setValue(t, { width: e, height: o })
  14412. })
  14413. }),
  14414. !1
  14415. ),
  14416. n('orientation', 'Orientation', x(F, vt.none(), S), !1),
  14417. n('brightness', 'Brightness', x(V, vt.none(), S), !1),
  14418. n('sharpen', 'Sharpen', x(R, j, S), !1),
  14419. n('contrast', 'Contrast', x(P, vt.none(), S), !1),
  14420. n('color-levels', 'Color levels', x(U, vt.none(), S), !1),
  14421. n('gamma', 'Gamma', x(H, vt.none(), S), !1),
  14422. n('invert', 'Invert', x(R, G, S), !1),
  14423. ],
  14424. Y = ly.sketch({
  14425. dom: w,
  14426. components: X.map(function (t) {
  14427. return t.asSpec()
  14428. }),
  14429. }),
  14430. q = zm(
  14431. ly.sketch({
  14432. dom: { tag: 'div' },
  14433. components: [Y],
  14434. containerBehaviours: nc([Rg.config({})]),
  14435. })
  14436. )
  14437. return {
  14438. memContainer: q,
  14439. getApplyButton: function (t) {
  14440. return q.getOpt(t).map(function (t) {
  14441. var n = t.components()[0]
  14442. return n.components()[n.components().length - 1]
  14443. })
  14444. },
  14445. }
  14446. }
  14447. function iw(t) {
  14448. if (k(t.changedTouches))
  14449. for (
  14450. var n = 'screenX screenY pageX pageY clientX clientY'.split(' '), e = 0;
  14451. e < n.length;
  14452. e++
  14453. )
  14454. t[n[e]] = t.changedTouches[0][n[e]]
  14455. }
  14456. ;((zy = Hy = Hy || {})[(zy.HighlightFirst = 0)] = 'HighlightFirst'),
  14457. (zy[(zy.HighlightNone = 1)] = 'HighlightNone')
  14458. function uw(o, t) {
  14459. return {
  14460. uid: o.uid,
  14461. dom: o.dom,
  14462. components: t,
  14463. behaviours: nl(o.formBehaviours, [
  14464. Df.config({
  14465. store: {
  14466. mode: 'manual',
  14467. getValue: function (t) {
  14468. return dt(hl(t, o), function (t, o) {
  14469. return t()
  14470. .bind(function (t) {
  14471. var n = cd.getCurrent(t),
  14472. e = new Error(
  14473. "Cannot find a current component to extract the value from for form part '" +
  14474. o +
  14475. "': " +
  14476. Fr(t.element)
  14477. )
  14478. return n.fold(function () {
  14479. return Ve.error(e)
  14480. }, Ve.value)
  14481. })
  14482. .map(Df.getValue)
  14483. })
  14484. },
  14485. setValue: function (e, t) {
  14486. J(t, function (n, t) {
  14487. ml(e, o, t).each(function (t) {
  14488. cd.getCurrent(t).each(function (t) {
  14489. Df.setValue(t, n)
  14490. })
  14491. })
  14492. })
  14493. },
  14494. },
  14495. }),
  14496. ]),
  14497. apis: {
  14498. getField: function (t, n) {
  14499. return ml(t, o, n).bind(cd.getCurrent)
  14500. },
  14501. },
  14502. }
  14503. }
  14504. function aw() {
  14505. return cd.config({ find: vt.some })
  14506. }
  14507. function cw(t) {
  14508. return (
  14509. (n = Mr),
  14510. (e = Ar),
  14511. s0(
  14512. t,
  14513. function (t) {
  14514. return n(t.element)
  14515. },
  14516. function (t, n) {
  14517. return e(t.element, n)
  14518. }
  14519. )
  14520. )
  14521. var n, e
  14522. }
  14523. var sw,
  14524. lw,
  14525. fw,
  14526. dw,
  14527. mw = function (n, t) {
  14528. return n
  14529. .getSystem()
  14530. .getByUid(t.uid + '-' + Qy())
  14531. .map(function (t) {
  14532. return function () {
  14533. return Ve.value(t)
  14534. }
  14535. })
  14536. .getOrThunk(function () {
  14537. return t.lazySink.fold(
  14538. function () {
  14539. return function () {
  14540. return Ve.error(
  14541. new Error(
  14542. 'No internal sink is specified, nor could an external sink be found'
  14543. )
  14544. )
  14545. }
  14546. },
  14547. function (t) {
  14548. return function () {
  14549. return t(n)
  14550. }
  14551. }
  14552. )
  14553. })
  14554. },
  14555. gw = rt(
  14556. [
  14557. mo('dom'),
  14558. mo('fetch'),
  14559. Ju('onOpen'),
  14560. $u('onExecute'),
  14561. Eo('getHotspot', vt.some),
  14562. Eo('getAnchorOverrides', rt({})),
  14563. Wc(),
  14564. Zs('dropdownBehaviours', [Lg, $y, Fg, Hg]),
  14565. mo('toggleClass'),
  14566. Eo('eventOrder', {}),
  14567. wo('lazySink'),
  14568. Eo('matchWidth', !1),
  14569. Eo('useMinWidth', !1),
  14570. wo('role'),
  14571. ].concat(ux())
  14572. ),
  14573. pw = rt([
  14574. $f({
  14575. schema: [Yu()],
  14576. name: 'menu',
  14577. defaults: function (t) {
  14578. return { onExecute: t.onExecute }
  14579. },
  14580. }),
  14581. Zy(),
  14582. ]),
  14583. hw = Cl({
  14584. name: 'Dropdown',
  14585. configFields: gw(),
  14586. partFields: pw(),
  14587. factory: function (n, t, e, o) {
  14588. function r(t) {
  14589. bf.getState(t).each(function (t) {
  14590. ip.highlightPrimary(t)
  14591. })
  14592. }
  14593. function i(t, n) {
  14594. return yr(t), vt.some(!0)
  14595. }
  14596. var u,
  14597. a = {
  14598. expand: function (t) {
  14599. Lg.isOn(t) || ex(n, h, t, o, st, Hy.HighlightNone).get(st)
  14600. },
  14601. open: function (t) {
  14602. Lg.isOn(t) || ex(n, h, t, o, st, Hy.HighlightFirst).get(st)
  14603. },
  14604. isOpen: Lg.isOn,
  14605. close: function (t) {
  14606. Lg.isOn(t) && ex(n, h, t, o, st, Hy.HighlightFirst).get(st)
  14607. },
  14608. repositionMenus: function (t) {
  14609. Lg.isOn(t) && ix(t)
  14610. },
  14611. }
  14612. return {
  14613. uid: n.uid,
  14614. dom: n.dom,
  14615. components: t,
  14616. behaviours: nl(n.dropdownBehaviours, [
  14617. Lg.config({
  14618. toggleClass: n.toggleClass,
  14619. aria: { mode: 'expanded' },
  14620. }),
  14621. $y.config({
  14622. others: {
  14623. sandbox: function (t) {
  14624. return rx(n, t, {
  14625. onOpen: function () {
  14626. return Lg.on(t)
  14627. },
  14628. onClose: function () {
  14629. return Lg.off(t)
  14630. },
  14631. })
  14632. },
  14633. },
  14634. }),
  14635. Fg.config({
  14636. mode: 'special',
  14637. onSpace: i,
  14638. onEnter: i,
  14639. onDown: function (t, n) {
  14640. return (
  14641. hw.isOpen(t) ? r($y.getCoupled(t, 'sandbox')) : hw.open(t),
  14642. vt.some(!0)
  14643. )
  14644. },
  14645. onEscape: function (t, n) {
  14646. return hw.isOpen(t) ? (hw.close(t), vt.some(!0)) : vt.none()
  14647. },
  14648. }),
  14649. Hg.config({}),
  14650. ]),
  14651. events: Sm(
  14652. vt.some(function (t) {
  14653. ex(n, h, t, o, r, Hy.HighlightFirst).get(st)
  14654. })
  14655. ),
  14656. eventOrder: lt(
  14657. lt({}, n.eventOrder),
  14658. (((u = {})[Ii()] = [
  14659. 'disabling',
  14660. 'toggling',
  14661. 'alloy.base.behaviour',
  14662. ]),
  14663. u)
  14664. ),
  14665. apis: a,
  14666. domModification: {
  14667. attributes: lt(
  14668. lt(
  14669. { 'aria-haspopup': 'true' },
  14670. n.role.fold(
  14671. function () {
  14672. return {}
  14673. },
  14674. function (t) {
  14675. return { role: t }
  14676. }
  14677. )
  14678. ),
  14679. 'button' === n.dom.tag
  14680. ? {
  14681. type: tt(n.dom, 'attributes')
  14682. .bind(function (t) {
  14683. return tt(t, 'type')
  14684. })
  14685. .getOr('button'),
  14686. }
  14687. : {}
  14688. ),
  14689. },
  14690. }
  14691. },
  14692. apis: {
  14693. open: function (t, n) {
  14694. return t.open(n)
  14695. },
  14696. expand: function (t, n) {
  14697. return t.expand(n)
  14698. },
  14699. close: function (t, n) {
  14700. return t.close(n)
  14701. },
  14702. isOpen: function (t, n) {
  14703. return t.isOpen(n)
  14704. },
  14705. repositionMenus: function (t, n) {
  14706. return t.repositionMenus(n)
  14707. },
  14708. },
  14709. }),
  14710. vw = xa({
  14711. fields: [],
  14712. name: 'unselecting',
  14713. active: Object.freeze({
  14714. __proto__: null,
  14715. events: function () {
  14716. return eu([Sr(Ei(), D)])
  14717. },
  14718. exhibit: function () {
  14719. return Lr({
  14720. styles: {
  14721. '-webkit-user-select': 'none',
  14722. 'user-select': 'none',
  14723. '-ms-user-select': 'none',
  14724. '-moz-user-select': '-moz-none',
  14725. },
  14726. attributes: { unselectable: 'on' },
  14727. })
  14728. },
  14729. }),
  14730. }),
  14731. bw = Ir('color-input-change'),
  14732. yw = Ir('color-swatch-change'),
  14733. xw = Ir('color-picker-cancel'),
  14734. ww = Qf({ schema: [mo('dom')], name: 'label' }),
  14735. Sw = ax('top-left'),
  14736. kw = ax('top'),
  14737. Cw = ax('top-right'),
  14738. Ow = ax('right'),
  14739. _w = ax('bottom-right'),
  14740. Tw = ax('bottom'),
  14741. Ew = ax('bottom-left'),
  14742. Dw = [
  14743. ww,
  14744. ax('left'),
  14745. Ow,
  14746. kw,
  14747. Tw,
  14748. Sw,
  14749. Cw,
  14750. Ew,
  14751. _w,
  14752. Jf({
  14753. name: 'thumb',
  14754. defaults: rt({ dom: { styles: { position: 'absolute' } } }),
  14755. overrides: function (t) {
  14756. return {
  14757. events: eu([
  14758. Tr(si(), t, 'spectrum'),
  14759. Tr(li(), t, 'spectrum'),
  14760. Tr(fi(), t, 'spectrum'),
  14761. Tr(mi(), t, 'spectrum'),
  14762. Tr(gi(), t, 'spectrum'),
  14763. Tr(hi(), t, 'spectrum'),
  14764. ]),
  14765. }
  14766. },
  14767. }),
  14768. Jf({
  14769. schema: [
  14770. cr('mouseIsDown', function () {
  14771. return Po(!1)
  14772. }),
  14773. ],
  14774. name: 'spectrum',
  14775. overrides: function (e) {
  14776. function o(n, t) {
  14777. return r.getValueFromEvent(t).map(function (t) {
  14778. return r.setValueFrom(n, e, t)
  14779. })
  14780. }
  14781. var r = e.model.manager
  14782. return {
  14783. behaviours: nc([
  14784. Fg.config({
  14785. mode: 'special',
  14786. onLeft: function (t) {
  14787. return r.onLeft(t, e)
  14788. },
  14789. onRight: function (t) {
  14790. return r.onRight(t, e)
  14791. },
  14792. onUp: function (t) {
  14793. return r.onUp(t, e)
  14794. },
  14795. onDown: function (t) {
  14796. return r.onDown(t, e)
  14797. },
  14798. }),
  14799. Hg.config({}),
  14800. ]),
  14801. events: eu([
  14802. Cr(si(), o),
  14803. Cr(li(), o),
  14804. Cr(mi(), o),
  14805. Cr(gi(), function (t, n) {
  14806. e.mouseIsDown.get() && o(t, n)
  14807. }),
  14808. ]),
  14809. }
  14810. },
  14811. }),
  14812. ],
  14813. Bw = rt('slider.change.value'),
  14814. Mw = 'left',
  14815. Aw = Jx(-1),
  14816. Fw = Jx(1),
  14817. Iw = vt.none,
  14818. Rw = vt.none,
  14819. Vw = {
  14820. 'top-left': vt.none(),
  14821. top: vt.none(),
  14822. 'top-right': vt.none(),
  14823. right: vt.some(function (t, n) {
  14824. Fx(t, { x: px(n) })
  14825. }),
  14826. 'bottom-right': vt.none(),
  14827. bottom: vt.none(),
  14828. 'bottom-left': vt.none(),
  14829. left: vt.some(function (t, n) {
  14830. Fx(t, { x: fx(n) })
  14831. }),
  14832. },
  14833. Pw = Object.freeze({
  14834. __proto__: null,
  14835. setValueFrom: function (t, n, e) {
  14836. var o = Kx(t, n, e)
  14837. return qx(t, { x: o }), o
  14838. },
  14839. setToMin: function (t, n) {
  14840. qx(t, { x: sx(n) })
  14841. },
  14842. setToMax: function (t, n) {
  14843. qx(t, { x: mx(n) })
  14844. },
  14845. findValueOfOffset: Kx,
  14846. getValueFromEvent: function (t) {
  14847. return cx(t).map(function (t) {
  14848. return t.left
  14849. })
  14850. },
  14851. findPositionOfValue: $x,
  14852. setPositionFromValue: function (t, n, e, o) {
  14853. var r = Mx(e),
  14854. i = $x(
  14855. t,
  14856. o.getSpectrum(t),
  14857. r.x,
  14858. o.getLeftEdge(t),
  14859. o.getRightEdge(t),
  14860. e
  14861. ),
  14862. u = On(n.element) / 2
  14863. dn(n.element, 'left', i - u + 'px')
  14864. },
  14865. onLeft: Aw,
  14866. onRight: Fw,
  14867. onUp: Iw,
  14868. onDown: Rw,
  14869. edgeActions: Vw,
  14870. }),
  14871. Hw = vt.none,
  14872. zw = vt.none,
  14873. Nw = t0(-1),
  14874. Lw = t0(1),
  14875. Ww = {
  14876. 'top-left': vt.none(),
  14877. top: vt.some(function (t, n) {
  14878. Fx(t, { y: dx(n) })
  14879. }),
  14880. 'top-right': vt.none(),
  14881. right: vt.none(),
  14882. 'bottom-right': vt.none(),
  14883. bottom: vt.some(function (t, n) {
  14884. Fx(t, { y: hx(n) })
  14885. }),
  14886. 'bottom-left': vt.none(),
  14887. left: vt.none(),
  14888. },
  14889. Uw = Object.freeze({
  14890. __proto__: null,
  14891. setValueFrom: function (t, n, e) {
  14892. var o = Zx(t, n, e)
  14893. return Qx(t, { y: o }), o
  14894. },
  14895. setToMin: function (t, n) {
  14896. Qx(t, { y: lx(n) })
  14897. },
  14898. setToMax: function (t, n) {
  14899. Qx(t, { y: gx(n) })
  14900. },
  14901. findValueOfOffset: Zx,
  14902. getValueFromEvent: function (t) {
  14903. return cx(t).map(function (t) {
  14904. return t.top
  14905. })
  14906. },
  14907. findPositionOfValue: n0,
  14908. setPositionFromValue: function (t, n, e, o) {
  14909. var r = Mx(e),
  14910. i = n0(
  14911. t,
  14912. o.getSpectrum(t),
  14913. r.y,
  14914. o.getTopEdge(t),
  14915. o.getBottomEdge(t),
  14916. e
  14917. ),
  14918. u = wn(n.element) / 2
  14919. dn(n.element, 'top', i - u + 'px')
  14920. },
  14921. onLeft: Hw,
  14922. onRight: zw,
  14923. onUp: Nw,
  14924. onDown: Lw,
  14925. edgeActions: Ww,
  14926. }),
  14927. jw = cx,
  14928. Gw = r0(-1, !1),
  14929. Xw = r0(1, !1),
  14930. Yw = r0(-1, !0),
  14931. qw = r0(1, !0),
  14932. Kw = {
  14933. 'top-left': vt.some(function (t, n) {
  14934. Fx(t, Ax(fx(n), dx(n)))
  14935. }),
  14936. top: vt.some(function (t, n) {
  14937. Fx(t, Ax(xx(n), dx(n)))
  14938. }),
  14939. 'top-right': vt.some(function (t, n) {
  14940. Fx(t, Ax(px(n), dx(n)))
  14941. }),
  14942. right: vt.some(function (t, n) {
  14943. Fx(t, Ax(px(n), wx(n)))
  14944. }),
  14945. 'bottom-right': vt.some(function (t, n) {
  14946. Fx(t, Ax(px(n), hx(n)))
  14947. }),
  14948. bottom: vt.some(function (t, n) {
  14949. Fx(t, Ax(xx(n), hx(n)))
  14950. }),
  14951. 'bottom-left': vt.some(function (t, n) {
  14952. Fx(t, Ax(fx(n), hx(n)))
  14953. }),
  14954. left: vt.some(function (t, n) {
  14955. Fx(t, Ax(fx(n), wx(n)))
  14956. }),
  14957. },
  14958. Jw = Object.freeze({
  14959. __proto__: null,
  14960. setValueFrom: function (t, n, e) {
  14961. var o = o0(Kx(t, n, e.left), Zx(t, n, e.top))
  14962. return e0(t, o), o
  14963. },
  14964. setToMin: function (t, n) {
  14965. e0(t, o0(sx(n), lx(n)))
  14966. },
  14967. setToMax: function (t, n) {
  14968. e0(t, o0(mx(n), gx(n)))
  14969. },
  14970. getValueFromEvent: jw,
  14971. setPositionFromValue: function (t, n, e, o) {
  14972. var r = Mx(e),
  14973. i = $x(
  14974. t,
  14975. o.getSpectrum(t),
  14976. r.x,
  14977. o.getLeftEdge(t),
  14978. o.getRightEdge(t),
  14979. e
  14980. ),
  14981. u = n0(
  14982. t,
  14983. o.getSpectrum(t),
  14984. r.y,
  14985. o.getTopEdge(t),
  14986. o.getBottomEdge(t),
  14987. e
  14988. ),
  14989. a = On(n.element) / 2,
  14990. c = wn(n.element) / 2
  14991. dn(n.element, 'left', i - a + 'px'), dn(n.element, 'top', u - c + 'px')
  14992. },
  14993. onLeft: Gw,
  14994. onRight: Xw,
  14995. onUp: Yw,
  14996. onDown: qw,
  14997. edgeActions: Kw,
  14998. }),
  14999. $w = Cl({
  15000. name: 'Slider',
  15001. configFields: [
  15002. Eo('stepSize', 1),
  15003. Eo('onChange', st),
  15004. Eo('onChoose', st),
  15005. Eo('onInit', st),
  15006. Eo('onDragStart', st),
  15007. Eo('onDragEnd', st),
  15008. Eo('snapToGrid', !1),
  15009. Eo('rounded', !0),
  15010. wo('snapStart'),
  15011. go(
  15012. 'model',
  15013. lo('mode', {
  15014. x: [
  15015. Eo('minX', 0),
  15016. Eo('maxX', 100),
  15017. cr('value', function (t) {
  15018. return Po(t.mode.minX)
  15019. }),
  15020. mo('getInitialValue'),
  15021. ta('manager', Pw),
  15022. ],
  15023. y: [
  15024. Eo('minY', 0),
  15025. Eo('maxY', 100),
  15026. cr('value', function (t) {
  15027. return Po(t.mode.minY)
  15028. }),
  15029. mo('getInitialValue'),
  15030. ta('manager', Uw),
  15031. ],
  15032. xy: [
  15033. Eo('minX', 0),
  15034. Eo('maxX', 100),
  15035. Eo('minY', 0),
  15036. Eo('maxY', 100),
  15037. cr('value', function (t) {
  15038. return Po({ x: t.mode.minX, y: t.mode.minY })
  15039. }),
  15040. mo('getInitialValue'),
  15041. ta('manager', Jw),
  15042. ],
  15043. })
  15044. ),
  15045. Zs('sliderBehaviours', [Fg, Df]),
  15046. cr('mouseIsDown', function () {
  15047. return Po(!1)
  15048. }),
  15049. ],
  15050. partFields: Dw,
  15051. factory: function (i, t, n, e) {
  15052. function u(t) {
  15053. return gl(t, i, 'thumb')
  15054. }
  15055. function a(t) {
  15056. return gl(t, i, 'spectrum')
  15057. }
  15058. function o(t) {
  15059. return ml(t, i, 'left-edge')
  15060. }
  15061. function r(t) {
  15062. return ml(t, i, 'right-edge')
  15063. }
  15064. function c(t) {
  15065. return ml(t, i, 'top-edge')
  15066. }
  15067. function s(t) {
  15068. return ml(t, i, 'bottom-edge')
  15069. }
  15070. function l(t, n) {
  15071. v.setPositionFromValue(t, n, i, {
  15072. getLeftEdge: o,
  15073. getRightEdge: r,
  15074. getTopEdge: c,
  15075. getBottomEdge: s,
  15076. getSpectrum: a,
  15077. })
  15078. }
  15079. function f(t, n) {
  15080. h.value.set(n), l(t, u(t))
  15081. }
  15082. function d(e) {
  15083. var t = i.mouseIsDown.get()
  15084. i.mouseIsDown.set(!1),
  15085. t &&
  15086. ml(e, i, 'thumb').each(function (t) {
  15087. var n = h.value.get()
  15088. i.onChoose(e, t, n)
  15089. })
  15090. }
  15091. function m(t, n) {
  15092. n.stop(), i.mouseIsDown.set(!0), i.onDragStart(t, u(t))
  15093. }
  15094. function g(t, n) {
  15095. n.stop(), i.onDragEnd(t, u(t)), d(t)
  15096. }
  15097. var p,
  15098. h = i.model,
  15099. v = h.manager
  15100. return {
  15101. uid: i.uid,
  15102. dom: i.dom,
  15103. components: t,
  15104. behaviours: nl(i.sliderBehaviours, [
  15105. Fg.config({
  15106. mode: 'special',
  15107. focusIn: function (t) {
  15108. return ml(t, i, 'spectrum').map(Fg.focusIn).map(D)
  15109. },
  15110. }),
  15111. Df.config({
  15112. store: {
  15113. mode: 'manual',
  15114. getValue: function (t) {
  15115. return h.value.get()
  15116. },
  15117. },
  15118. }),
  15119. ic.config({ channels: (((p = {})[wf()] = { onReceive: d }), p) }),
  15120. ]),
  15121. events: eu([
  15122. Cr(Bw(), function (t, n) {
  15123. !(function (t, n) {
  15124. f(t, n)
  15125. var e = u(t)
  15126. i.onChange(t, e, n), vt.some(!0)
  15127. })(t, n.event.value)
  15128. }),
  15129. ou(function (t, n) {
  15130. var e = h.getInitialValue()
  15131. h.value.set(e)
  15132. var o = u(t)
  15133. l(t, o)
  15134. var r = a(t)
  15135. i.onInit(t, o, r, h.value.get())
  15136. }),
  15137. Cr(si(), m),
  15138. Cr(fi(), g),
  15139. Cr(mi(), m),
  15140. Cr(hi(), g),
  15141. ]),
  15142. apis: {
  15143. resetToMin: function (t) {
  15144. v.setToMin(t, i)
  15145. },
  15146. resetToMax: function (t) {
  15147. v.setToMax(t, i)
  15148. },
  15149. setValue: f,
  15150. refresh: l,
  15151. },
  15152. domModification: { styles: { position: 'relative' } },
  15153. }
  15154. },
  15155. apis: {
  15156. setValue: function (t, n, e) {
  15157. t.setValue(n, e)
  15158. },
  15159. resetToMin: function (t, n) {
  15160. t.resetToMin(n)
  15161. },
  15162. resetToMax: function (t, n) {
  15163. t.resetToMax(n)
  15164. },
  15165. refresh: function (t, n) {
  15166. t.refresh(n)
  15167. },
  15168. },
  15169. }),
  15170. Qw = Ir('rgb-hex-update'),
  15171. Zw = Ir('slider-update'),
  15172. tS = Ir('palette-update'),
  15173. nS = [Zs('formBehaviours', [Df])],
  15174. eS = {
  15175. getField: zr(function (t, n, e) {
  15176. return t.getField(n, e)
  15177. }),
  15178. sketch: function (t) {
  15179. var e,
  15180. n = {
  15181. field: function (t, n) {
  15182. return e.push(t), cl('form', i0(t), n)
  15183. },
  15184. record: rt((e = [])),
  15185. },
  15186. o = t(n),
  15187. r = M(n.record(), function (t) {
  15188. return Jf({ name: t, pname: i0(t) })
  15189. })
  15190. return Sl('form', nS, r, uw, o)
  15191. },
  15192. },
  15193. oS = Ir('valid-input'),
  15194. rS = Ir('invalid-input'),
  15195. iS = Ir('validating-input'),
  15196. uS = 'colorcustom.rgb.',
  15197. aS = function (t) {
  15198. return cd.config({ find: t.getOpt })
  15199. },
  15200. cS = function (t) {
  15201. return cd.config({
  15202. find: function (n) {
  15203. return Jt(n.element, t).bind(function (t) {
  15204. return n.getSystem().getByDom(t).toOptional()
  15205. })
  15206. },
  15207. })
  15208. },
  15209. sS = {
  15210. 'colorcustom.rgb.red.label': 'R',
  15211. 'colorcustom.rgb.red.description': 'Red component',
  15212. 'colorcustom.rgb.green.label': 'G',
  15213. 'colorcustom.rgb.green.description': 'Green component',
  15214. 'colorcustom.rgb.blue.label': 'B',
  15215. 'colorcustom.rgb.blue.description': 'Blue component',
  15216. 'colorcustom.rgb.hex.label': '#',
  15217. 'colorcustom.rgb.hex.description': 'Hex color code',
  15218. 'colorcustom.rgb.range': 'Range 0 to 255',
  15219. 'colorcustom.sb.saturation': 'Saturation',
  15220. 'colorcustom.sb.brightness': 'Brightness',
  15221. 'colorcustom.sb.picker': 'Saturation and Brightness Picker',
  15222. 'colorcustom.sb.palette': 'Saturation and Brightness Palette',
  15223. 'colorcustom.sb.instructions':
  15224. 'Use arrow keys to select saturation and brightness, on x and y axes',
  15225. 'colorcustom.hue.hue': 'Hue',
  15226. 'colorcustom.hue.slider': 'Hue Slider',
  15227. 'colorcustom.hue.palette': 'Hue Palette',
  15228. 'colorcustom.hue.instructions': 'Use arrow keys to select a hue',
  15229. 'aria.color.picker': 'Color Picker',
  15230. 'aria.input.invalid': 'Invalid input',
  15231. },
  15232. lS = tinymce.util.Tools.resolve('tinymce.Resource'),
  15233. fS = tinymce.util.Tools.resolve('tinymce.util.Tools'),
  15234. dS = $o([Eo('preprocess', h), Eo('postprocess', h)]),
  15235. mS = function (r, t) {
  15236. var i = so('RepresentingConfigs.memento processors', dS, t)
  15237. return Df.config({
  15238. store: {
  15239. mode: 'manual',
  15240. getValue: function (t) {
  15241. var n = r.get(t),
  15242. e = Df.getValue(n)
  15243. return i.postprocess(e)
  15244. },
  15245. setValue: function (t, n) {
  15246. var e = i.preprocess(n),
  15247. o = r.get(t)
  15248. Df.setValue(o, e)
  15249. },
  15250. },
  15251. })
  15252. },
  15253. gS = s0,
  15254. pS = function (t) {
  15255. return Df.config({ store: { mode: 'memory', initialValue: t } })
  15256. },
  15257. hS = Ir('alloy-fake-before-tabstop'),
  15258. vS = Ir('alloy-fake-after-tabstop'),
  15259. bS = !(le().browser.isIE() || le().browser.isEdge()),
  15260. yS = function (t) {
  15261. return t.getContext('2d')
  15262. },
  15263. xS = function (t, n, e) {
  15264. return (t.width = n), (t.height = e), t
  15265. },
  15266. wS = function (t) {
  15267. URL.revokeObjectURL(t.src)
  15268. },
  15269. SS = [
  15270. 0, 0.01, 0.02, 0.04, 0.05, 0.06, 0.07, 0.08, 0.1, 0.11, 0.12, 0.14, 0.15,
  15271. 0.16, 0.17, 0.18, 0.2, 0.21, 0.22, 0.24, 0.25, 0.27, 0.28, 0.3, 0.32,
  15272. 0.34, 0.36, 0.38, 0.4, 0.42, 0.44, 0.46, 0.48, 0.5, 0.53, 0.56, 0.59,
  15273. 0.62, 0.65, 0.68, 0.71, 0.74, 0.77, 0.8, 0.83, 0.86, 0.89, 0.92, 0.95,
  15274. 0.98, 1, 1.06, 1.12, 1.18, 1.24, 1.3, 1.36, 1.42, 1.48, 1.54, 1.6, 1.66,
  15275. 1.72, 1.78, 1.84, 1.9, 1.96, 2, 2.12, 2.25, 2.37, 2.5, 2.62, 2.75, 2.87,
  15276. 3, 3.2, 3.4, 3.6, 3.8, 4, 4.3, 4.7, 4.9, 5, 5.5, 6, 6.5, 6.8, 7, 7.3, 7.5,
  15277. 7.8, 8, 8.4, 8.7, 9, 9.4, 9.6, 9.8, 10,
  15278. ],
  15279. kS = function (t, n, T) {
  15280. var e = yS(t),
  15281. o = (function (t) {
  15282. for (
  15283. var n,
  15284. e,
  15285. o,
  15286. r,
  15287. i = t.data,
  15288. u = T[0],
  15289. a = T[1],
  15290. c = T[2],
  15291. s = T[3],
  15292. l = T[4],
  15293. f = T[5],
  15294. d = T[6],
  15295. m = T[7],
  15296. g = T[8],
  15297. p = T[9],
  15298. h = T[10],
  15299. v = T[11],
  15300. b = T[12],
  15301. y = T[13],
  15302. x = T[14],
  15303. w = T[15],
  15304. S = T[16],
  15305. k = T[17],
  15306. C = T[18],
  15307. O = T[19],
  15308. _ = 0;
  15309. _ < i.length;
  15310. _ += 4
  15311. )
  15312. (n = i[_]),
  15313. (e = i[_ + 1]),
  15314. (o = i[_ + 2]),
  15315. (r = i[_ + 3]),
  15316. (i[_] = n * u + e * a + o * c + r * s + l),
  15317. (i[_ + 1] = n * f + e * d + o * m + r * g + p),
  15318. (i[_ + 2] = n * h + e * v + o * b + r * y + x),
  15319. (i[_ + 3] = n * w + e * S + o * k + r * C + O)
  15320. return t
  15321. })(e.getImageData(0, 0, t.width, t.height))
  15322. return e.putImageData(o, 0, 0), S0(t, n)
  15323. },
  15324. CS =
  15325. ((sw = [
  15326. -1, 0, 0, 0, 255, 0, -1, 0, 0, 255, 0, 0, -1, 0, 255, 0, 0, 0, 1, 0, 0,
  15327. 0, 0, 0, 1,
  15328. ]),
  15329. function (t) {
  15330. return T0(t, sw)
  15331. }),
  15332. OS = E0(function (t, n) {
  15333. return _0(t, [
  15334. 1,
  15335. 0,
  15336. 0,
  15337. 0,
  15338. (n = C0(255 * n, -255, 255)),
  15339. 0,
  15340. 1,
  15341. 0,
  15342. 0,
  15343. n,
  15344. 0,
  15345. 0,
  15346. 1,
  15347. 0,
  15348. n,
  15349. 0,
  15350. 0,
  15351. 0,
  15352. 1,
  15353. 0,
  15354. 0,
  15355. 0,
  15356. 0,
  15357. 0,
  15358. 1,
  15359. ])
  15360. }),
  15361. _S = E0(function (t, n) {
  15362. var e
  15363. return (
  15364. (n = C0(n, -1, 1)),
  15365. _0(t, [
  15366. (e =
  15367. (n *= 100) < 0
  15368. ? 127 + (n / 100) * 127
  15369. : 127 *
  15370. (0 == (e = n % 1)
  15371. ? SS[n]
  15372. : SS[Math.floor(n)] * (1 - e) + SS[Math.floor(n) + 1] * e) +
  15373. 127) / 127,
  15374. 0,
  15375. 0,
  15376. 0,
  15377. 0.5 * (127 - e),
  15378. 0,
  15379. e / 127,
  15380. 0,
  15381. 0,
  15382. 0.5 * (127 - e),
  15383. 0,
  15384. 0,
  15385. e / 127,
  15386. 0,
  15387. 0.5 * (127 - e),
  15388. 0,
  15389. 0,
  15390. 0,
  15391. 1,
  15392. 0,
  15393. 0,
  15394. 0,
  15395. 0,
  15396. 0,
  15397. 1,
  15398. ])
  15399. )
  15400. }),
  15401. TS =
  15402. ((lw = [0, -1, 0, -1, 5, -1, 0, -1, 0]),
  15403. function (t) {
  15404. return (
  15405. (a = lw),
  15406. (u = t).toCanvas().then(function (t) {
  15407. return (
  15408. (n = t),
  15409. (e = u.getType()),
  15410. (o = a),
  15411. (r = yS(n)),
  15412. (i = (function (t, n, e) {
  15413. for (
  15414. var o = function (t, n, e) {
  15415. return e < t ? (t = e) : t < n && (t = n), t
  15416. },
  15417. r = Math.round(Math.sqrt(e.length)),
  15418. i = Math.floor(r / 2),
  15419. u = t.data,
  15420. a = n.data,
  15421. c = t.width,
  15422. s = t.height,
  15423. l = 0;
  15424. l < s;
  15425. l++
  15426. )
  15427. for (var f = 0; f < c; f++) {
  15428. for (var d = 0, m = 0, g = 0, p = 0; p < r; p++)
  15429. for (var h = 0; h < r; h++) {
  15430. var v = o(f + h - i, 0, c - 1),
  15431. b = 4 * (o(l + p - i, 0, s - 1) * c + v),
  15432. y = e[p * r + h]
  15433. ;(d += u[b] * y),
  15434. (m += u[1 + b] * y),
  15435. (g += u[2 + b] * y)
  15436. }
  15437. var x = 4 * (l * c + f)
  15438. ;(a[x] = o(d, 0, 255)),
  15439. (a[1 + x] = o(m, 0, 255)),
  15440. (a[2 + x] = o(g, 0, 255))
  15441. }
  15442. return n
  15443. })(
  15444. r.getImageData(0, 0, n.width, n.height),
  15445. r.getImageData(0, 0, n.width, n.height),
  15446. o
  15447. )),
  15448. r.putImageData(i, 0, 0),
  15449. S0(n, e)
  15450. )
  15451. var n, e, o, r, i
  15452. })
  15453. )
  15454. var u, a
  15455. }),
  15456. ES =
  15457. ((fw = function (t, n) {
  15458. return 255 * Math.pow(t / 255, 1 - n)
  15459. }),
  15460. function (n, e) {
  15461. return n.toCanvas().then(function (t) {
  15462. return (function (t, n, e) {
  15463. for (var o = yS(t), r = new Array(256), i = 0; i < r.length; i++)
  15464. r[i] = fw(i, e)
  15465. var u = (function (t, n) {
  15466. for (var e = t.data, o = 0; o < e.length; o += 4)
  15467. (e[o] = n[e[o]]),
  15468. (e[o + 1] = n[e[o + 1]]),
  15469. (e[o + 2] = n[e[o + 2]])
  15470. return t
  15471. })(o.getImageData(0, 0, t.width, t.height), r)
  15472. return o.putImageData(u, 0, 0), S0(t, n)
  15473. })(t, n.getType(), e)
  15474. })
  15475. }),
  15476. DS = function (t, n, e) {
  15477. var o = b0(t),
  15478. r = y0(t),
  15479. i = n / o,
  15480. u = e / r,
  15481. a = !1
  15482. ;(i < 0.5 || 2 < i) && ((i = i < 0.5 ? 0.5 : 2), (a = !0)),
  15483. (u < 0.5 || 2 < u) && ((u = u < 0.5 ? 0.5 : 2), (a = !0))
  15484. var c = BS(t, i, u)
  15485. return a
  15486. ? c.then(function (t) {
  15487. return DS(t, n, e)
  15488. })
  15489. : c
  15490. },
  15491. BS = function (u, a, c) {
  15492. return new Ny(function (t) {
  15493. var n = b0(u),
  15494. e = y0(u),
  15495. o = Math.floor(n * a),
  15496. r = Math.floor(e * c),
  15497. i = h0(o, r)
  15498. yS(i).drawImage(u, 0, 0, n, e, 0, 0, o, r), t(i)
  15499. })
  15500. },
  15501. MS = function (t, n, e) {
  15502. var o = ((e < 0 ? 360 + e : e) * Math.PI) / 180,
  15503. r = t.width,
  15504. i = t.height,
  15505. u = Math.sin(o),
  15506. a = Math.cos(o),
  15507. c = D0(Math.abs(r * a) + Math.abs(i * u)),
  15508. s = D0(Math.abs(r * u) + Math.abs(i * a)),
  15509. l = h0(c, s),
  15510. f = yS(l)
  15511. return (
  15512. f.translate(c / 2, s / 2),
  15513. f.rotate(o),
  15514. f.drawImage(t, -r / 2, -i / 2),
  15515. S0(l, n)
  15516. )
  15517. },
  15518. AS = function (t, n, e) {
  15519. var o = h0(t.width, t.height),
  15520. r = yS(o)
  15521. return (
  15522. 'v' === e
  15523. ? (r.scale(1, -1), r.drawImage(t, 0, -o.height))
  15524. : (r.scale(-1, 1), r.drawImage(t, -o.width, 0)),
  15525. S0(o, n)
  15526. )
  15527. },
  15528. FS = function (t, n, e, o, r, i) {
  15529. var u = h0(r, i)
  15530. return yS(u).drawImage(t, -e, -o), S0(u, n)
  15531. },
  15532. IS = Ir('toolbar.button.execute'),
  15533. RS =
  15534. (((dw = {})[Ii()] = [
  15535. 'disabling',
  15536. 'alloy.base.behaviour',
  15537. 'toggling',
  15538. 'toolbar-button-events',
  15539. ]),
  15540. dw),
  15541. VS = Ir('update-menu-text'),
  15542. PS = Ir('update-menu-icon'),
  15543. HS = { type: 'separator' },
  15544. zS = function (t, l) {
  15545. var n, e, o
  15546. return I(
  15547. ((n = y(t) ? t.split(' ') : t),
  15548. (e = l),
  15549. 0 <
  15550. (o = R(
  15551. n,
  15552. function (t, n) {
  15553. return y(n)
  15554. ? '' === n
  15555. ? t
  15556. : '|' === n
  15557. ? 0 < t.length && !W0(t[t.length - 1])
  15558. ? t.concat([HS])
  15559. : t
  15560. : Tt(e, n.toLowerCase())
  15561. ? t.concat([e[n.toLowerCase()]])
  15562. : t
  15563. : t.concat([n])
  15564. },
  15565. []
  15566. )).length &&
  15567. W0(o[o.length - 1]) &&
  15568. o.pop(),
  15569. o),
  15570. function (t, n) {
  15571. var e,
  15572. o,
  15573. r,
  15574. i,
  15575. u,
  15576. a,
  15577. c = (function (t) {
  15578. if (W0(t)) return t
  15579. var n = tt(t, 'value').getOrThunk(function () {
  15580. return Ir('generated-menu-item')
  15581. })
  15582. return Yo({ value: n }, t)
  15583. })(n),
  15584. s =
  15585. ((o = l),
  15586. Tt((e = c), 'getSubmenuItems')
  15587. ? ((i = o),
  15588. (u = (r = e).getSubmenuItems()),
  15589. (a = zS(u, i)),
  15590. {
  15591. item: r,
  15592. menus: Yo(a.menus, sr(r.value, a.items)),
  15593. expansions: Yo(a.expansions, sr(r.value, r.value)),
  15594. })
  15595. : { item: e, menus: {}, expansions: {} })
  15596. return {
  15597. menus: Yo(t.menus, s.menus),
  15598. items: [s.item].concat(t.items),
  15599. expansions: Yo(t.expansions, s.expansions),
  15600. }
  15601. },
  15602. { menus: {}, expansions: {}, items: [] }
  15603. )
  15604. },
  15605. NS = rt([
  15606. Eo('field1Name', 'field1'),
  15607. Eo('field2Name', 'field2'),
  15608. Qu('onLockedChange'),
  15609. qu(['lockClass']),
  15610. Eo('locked', !1),
  15611. Bf('coupledFieldBehaviours', [cd, Df]),
  15612. ]),
  15613. LS = rt([
  15614. Z0('field1', 'field2'),
  15615. Z0('field2', 'field1'),
  15616. Jf({
  15617. factory: fp,
  15618. schema: [mo('dom')],
  15619. name: 'lock',
  15620. overrides: function (t) {
  15621. return {
  15622. buttonBehaviours: nc([
  15623. Lg.config({
  15624. selected: t.locked,
  15625. toggleClass: t.markers.lockClass,
  15626. aria: { mode: 'pressed' },
  15627. }),
  15628. ]),
  15629. }
  15630. },
  15631. }),
  15632. ]),
  15633. WS = Cl({
  15634. name: 'FormCoupledInputs',
  15635. configFields: NS(),
  15636. partFields: LS(),
  15637. factory: function (o, t, n, e) {
  15638. return {
  15639. uid: o.uid,
  15640. dom: o.dom,
  15641. components: t,
  15642. behaviours: Mf(o.coupledFieldBehaviours, [
  15643. cd.config({ find: vt.some }),
  15644. Df.config({
  15645. store: {
  15646. mode: 'manual',
  15647. getValue: function (t) {
  15648. var n = bl(t, o, ['field1', 'field2']),
  15649. e = {}
  15650. return (
  15651. (e[o.field1Name] = Df.getValue(n.field1())),
  15652. (e[o.field2Name] = Df.getValue(n.field2())),
  15653. e
  15654. )
  15655. },
  15656. setValue: function (t, n) {
  15657. var e = bl(t, o, ['field1', 'field2'])
  15658. nt(n, o.field1Name) &&
  15659. Df.setValue(e.field1(), n[o.field1Name]),
  15660. nt(n, o.field2Name) &&
  15661. Df.setValue(e.field2(), n[o.field2Name])
  15662. },
  15663. },
  15664. }),
  15665. ]),
  15666. apis: {
  15667. getField1: function (t) {
  15668. return ml(t, o, 'field1')
  15669. },
  15670. getField2: function (t) {
  15671. return ml(t, o, 'field2')
  15672. },
  15673. getLock: function (t) {
  15674. return ml(t, o, 'lock')
  15675. },
  15676. },
  15677. }
  15678. },
  15679. apis: {
  15680. getField1: function (t, n) {
  15681. return t.getField1(n)
  15682. },
  15683. getField2: function (t, n) {
  15684. return t.getField2(n)
  15685. },
  15686. getLock: function (t, n) {
  15687. return t.getLock(n)
  15688. },
  15689. },
  15690. }),
  15691. US = {
  15692. undo: rt(Ir('undo')),
  15693. redo: rt(Ir('redo')),
  15694. zoom: rt(Ir('zoom')),
  15695. back: rt(Ir('back')),
  15696. apply: rt(Ir('apply')),
  15697. swap: rt(Ir('swap')),
  15698. transform: rt(Ir('transform')),
  15699. tempTransform: rt(Ir('temp-transform')),
  15700. transformApply: rt(Ir('transform-apply')),
  15701. },
  15702. jS = rt('save-state'),
  15703. GS = rt('disable'),
  15704. XS = rt('enable'),
  15705. YS = { formActionEvent: Sy, saveState: jS, disable: GS, enable: XS },
  15706. qS = tinymce.util.Tools.resolve('tinymce.geom.Rect'),
  15707. KS = tinymce.util.Tools.resolve('tinymce.util.Observable'),
  15708. JS = tinymce.util.Tools.resolve('tinymce.util.VK')
  15709. function $S(t, d) {
  15710. function n(t) {
  15711. var n,
  15712. e,
  15713. o,
  15714. r,
  15715. i,
  15716. u,
  15717. a,
  15718. c,
  15719. s = t.raw,
  15720. l =
  15721. ((n = Math.max),
  15722. (e = y.documentElement),
  15723. (o = y.body),
  15724. (r = n(e.scrollWidth, o.scrollWidth)),
  15725. (i = n(e.clientWidth, o.clientWidth)),
  15726. (u = n(e.offsetWidth, o.offsetWidth)),
  15727. (a = n(e.scrollHeight, o.scrollHeight)),
  15728. (c = n(e.clientHeight, o.clientHeight)),
  15729. {
  15730. width: r < u ? i : r,
  15731. height: a < n(e.offsetHeight, o.offsetHeight) ? c : a,
  15732. })
  15733. iw(s), t.prevent(), (p = s.button), (h = s.screenX), (v = s.screenY)
  15734. var f = pn(w, 'cursor')
  15735. mn((g = At.fromTag('div', y)), {
  15736. position: 'absolute',
  15737. top: '0',
  15738. left: '0',
  15739. width: l.width + 'px',
  15740. height: l.height + 'px',
  15741. 'z-index': '2147483647',
  15742. opacity: '0.0001',
  15743. cursor: f,
  15744. }),
  15745. Te(ye(x), g),
  15746. b.push(
  15747. pc(x, 'mousemove', m),
  15748. pc(x, 'touchmove', m),
  15749. pc(x, 'mouseup', S),
  15750. pc(x, 'touchend', S)
  15751. ),
  15752. d.start(s)
  15753. }
  15754. function m(t) {
  15755. var n = t.raw
  15756. if ((iw(n), n.button !== p)) return S(t)
  15757. ;(n.deltaX = n.screenX - h),
  15758. (n.deltaY = n.screenY - v),
  15759. t.prevent(),
  15760. d.drag(n)
  15761. }
  15762. var e,
  15763. o,
  15764. r,
  15765. g,
  15766. p,
  15767. h,
  15768. v,
  15769. i = [],
  15770. b = [],
  15771. y = null !== (e = d.document) && void 0 !== e ? e : document,
  15772. u = null !== (o = d.root) && void 0 !== o ? o : y,
  15773. x = At.fromDom(y),
  15774. w = At.fromDom(
  15775. u.getElementById(null !== (r = d.handle) && void 0 !== r ? r : t)
  15776. ),
  15777. S = function (t) {
  15778. iw(t.raw),
  15779. St(b, function (t) {
  15780. return t.unbind()
  15781. }),
  15782. (b = []),
  15783. Ee(g),
  15784. d.stop && d.stop(t.raw)
  15785. }
  15786. return (
  15787. i.push(pc(w, 'mousedown', n), pc(w, 'touchstart', n)),
  15788. {
  15789. destroy: function () {
  15790. St(b.concat(i), function (t) {
  15791. return t.unbind()
  15792. }),
  15793. (b = []),
  15794. (i = []),
  15795. k(g) && Ee(g)
  15796. },
  15797. }
  15798. )
  15799. }
  15800. function QS(t, n, e, o, r) {
  15801. return q0(
  15802. {
  15803. name: t,
  15804. icon: vt.some(n),
  15805. disabled: e,
  15806. tooltip: vt.some(t),
  15807. primary: !1,
  15808. borderless: !1,
  15809. },
  15810. o,
  15811. r
  15812. )
  15813. }
  15814. function ZS(t, n) {
  15815. n ? gd.enable(t) : gd.disable(t)
  15816. }
  15817. var tk = 0,
  15818. nk = function (s, n, l, t, e) {
  15819. function f(t, n) {
  15820. return { x: n.x - t.x, y: n.y - t.y, w: n.w, h: n.h }
  15821. }
  15822. function u(t, n, e, o) {
  15823. var r = n.x + e * t.deltaX,
  15824. i = n.y + o * t.deltaY,
  15825. u = Math.max(20, n.w + e * t.deltaW),
  15826. a = Math.max(20, n.h + o * t.deltaH),
  15827. c =
  15828. ((s = qS.clamp({ x: r, y: i, w: u, h: a }, l, 'move' === t.name)),
  15829. f(l, s))
  15830. b.fire('updateRect', { rect: c }), h(c)
  15831. }
  15832. function o(t) {
  15833. r((s = t))
  15834. }
  15835. function r(e) {
  15836. function t(t, n) {
  15837. Iu(m, '#' + d + '-' + t).each(function (t) {
  15838. mn(t, {
  15839. left: n.x + 'px',
  15840. top: n.y + 'px',
  15841. width: Math.max(0, n.w) + 'px',
  15842. height: Math.max(0, n.h) + 'px',
  15843. })
  15844. })
  15845. }
  15846. St(g, function (n) {
  15847. Iu(m, '#' + d + '-' + n.name).each(function (t) {
  15848. mn(t, {
  15849. left: e.w * n.xMul + e.x + 'px',
  15850. top: e.h * n.yMul + e.y + 'px',
  15851. })
  15852. })
  15853. }),
  15854. t('top', { x: n.x, y: n.y, w: n.w, h: e.y - n.y }),
  15855. t('right', {
  15856. x: e.x + e.w,
  15857. y: e.y,
  15858. w: n.w - e.x - e.w + n.x,
  15859. h: e.h,
  15860. }),
  15861. t('bottom', {
  15862. x: n.x,
  15863. y: e.y + e.h,
  15864. w: n.w,
  15865. h: n.h - e.y - e.h + n.y,
  15866. }),
  15867. t('left', { x: n.x, y: e.y, w: e.x - n.x, h: e.h }),
  15868. t('move', e)
  15869. }
  15870. var i,
  15871. a,
  15872. c = [],
  15873. d = 'tox-crid-' + tk++,
  15874. m = At.fromDom(t),
  15875. g = [
  15876. {
  15877. name: 'move',
  15878. xMul: 0,
  15879. yMul: 0,
  15880. deltaX: 1,
  15881. deltaY: 1,
  15882. deltaW: 0,
  15883. deltaH: 0,
  15884. label: 'Crop Mask',
  15885. },
  15886. {
  15887. name: 'nw',
  15888. xMul: 0,
  15889. yMul: 0,
  15890. deltaX: 1,
  15891. deltaY: 1,
  15892. deltaW: -1,
  15893. deltaH: -1,
  15894. label: 'Top Left Crop Handle',
  15895. },
  15896. {
  15897. name: 'ne',
  15898. xMul: 1,
  15899. yMul: 0,
  15900. deltaX: 0,
  15901. deltaY: 1,
  15902. deltaW: 1,
  15903. deltaH: -1,
  15904. label: 'Top Right Crop Handle',
  15905. },
  15906. {
  15907. name: 'sw',
  15908. xMul: 0,
  15909. yMul: 1,
  15910. deltaX: 1,
  15911. deltaY: 0,
  15912. deltaW: -1,
  15913. deltaH: 1,
  15914. label: 'Bottom Left Crop Handle',
  15915. },
  15916. {
  15917. name: 'se',
  15918. xMul: 1,
  15919. yMul: 1,
  15920. deltaX: 0,
  15921. deltaY: 0,
  15922. deltaW: 1,
  15923. deltaH: 1,
  15924. label: 'Bottom Right Crop Handle',
  15925. },
  15926. ],
  15927. p = ['top', 'right', 'bottom', 'left'],
  15928. h = function (t) {
  15929. var n
  15930. o(((n = l), { x: t.x + n.x, y: t.y + n.y, w: t.w, h: t.h }))
  15931. }
  15932. function v(t) {
  15933. on(t.target, 'aria-grabbed', 'focus' === t.raw.type ? 'true' : 'false')
  15934. }
  15935. rn((a = At.fromTag('div')), {
  15936. id: d,
  15937. class: 'tox-croprect-container',
  15938. role: 'grid',
  15939. 'aria-dropeffect': 'execute',
  15940. }),
  15941. Te(m, a),
  15942. St(p, function (e) {
  15943. Iu(m, '#' + d).each(function (t) {
  15944. var n = At.fromTag('div')
  15945. rn(n, {
  15946. id: d + '-' + e,
  15947. class: 'tox-croprect-block',
  15948. 'data-mce-bogus': 'all',
  15949. }),
  15950. dn(n, 'display', 'none'),
  15951. Te(t, n)
  15952. })
  15953. }),
  15954. St(g, function (e) {
  15955. Iu(m, '#' + d).each(function (t) {
  15956. var n = At.fromTag('div')
  15957. rn(n, {
  15958. id: d + '-' + e.name,
  15959. 'aria-label': e.label,
  15960. 'aria-grabbed': 'false',
  15961. 'data-mce-bogus': 'all',
  15962. role: 'gridcell',
  15963. tabindex: '-1',
  15964. title: e.label,
  15965. }),
  15966. Jr(n, ['tox-croprect-handle', 'tox-croprect-handle-' + e.name]),
  15967. dn(n, 'display', 'none'),
  15968. Te(t, n)
  15969. })
  15970. }),
  15971. (i = M(g, function (n) {
  15972. var e
  15973. return $S(d, {
  15974. document: t.ownerDocument,
  15975. root: ge(m).dom,
  15976. handle: d + '-' + n.name,
  15977. start: function () {
  15978. e = s
  15979. },
  15980. drag: function (t) {
  15981. u(n, e, t.deltaX, t.deltaY)
  15982. },
  15983. })
  15984. })),
  15985. r(s),
  15986. c.push(
  15987. pc(m, 'focusin', v),
  15988. pc(m, 'focusout', v),
  15989. pc(m, 'keydown', function (n) {
  15990. var i
  15991. function t(t, n, e, o, r) {
  15992. t.stopPropagation(), t.preventDefault(), u(i, e, o, r)
  15993. }
  15994. switch (
  15995. (St(g, function (t) {
  15996. if (un(n.target, 'id') === d + '-' + t.name) return (i = t), !1
  15997. }),
  15998. n.raw.keyCode)
  15999. ) {
  16000. case JS.LEFT:
  16001. t(n, 0, s, -10, 0)
  16002. break
  16003. case JS.RIGHT:
  16004. t(n, 0, s, 10, 0)
  16005. break
  16006. case JS.UP:
  16007. t(n, 0, s, 0, -10)
  16008. break
  16009. case JS.DOWN:
  16010. t(n, 0, s, 0, 10)
  16011. break
  16012. case JS.ENTER:
  16013. case JS.SPACEBAR:
  16014. n.prevent(), e()
  16015. }
  16016. })
  16017. )
  16018. var b = lt(lt({}, KS), {
  16019. toggleVisibility: function (t) {
  16020. var n = H(
  16021. H(
  16022. [],
  16023. M(g, function (t) {
  16024. return '#' + d + '-' + t.name
  16025. }),
  16026. !0
  16027. ),
  16028. M(p, function (t) {
  16029. return '#' + d + '-' + t
  16030. }),
  16031. !0
  16032. ).join(','),
  16033. e = vs(m, n)
  16034. St(
  16035. e,
  16036. t
  16037. ? function (t) {
  16038. return bn(t, 'display')
  16039. }
  16040. : function (t) {
  16041. return dn(t, 'display', 'none')
  16042. }
  16043. )
  16044. },
  16045. setClampRect: function (t) {
  16046. ;(l = t), r(s)
  16047. },
  16048. setRect: o,
  16049. getInnerRect: function () {
  16050. return f(l, s)
  16051. },
  16052. setInnerRect: h,
  16053. setViewPortRect: function (t) {
  16054. ;(n = t), r(s)
  16055. },
  16056. destroy: function () {
  16057. St(i, function (t) {
  16058. return t.destroy()
  16059. }),
  16060. (i = []),
  16061. St(c, function (t) {
  16062. return t.unbind()
  16063. }),
  16064. (c = [])
  16065. },
  16066. })
  16067. return b
  16068. }
  16069. function ek(t) {
  16070. var e,
  16071. o,
  16072. n,
  16073. r,
  16074. i = Po(t),
  16075. u = gc(),
  16076. a =
  16077. ((o = -1),
  16078. {
  16079. data: (e = []),
  16080. add: function (t) {
  16081. var n = e.splice(++o)
  16082. return e.push(t), { state: t, removed: n }
  16083. },
  16084. undo: function () {
  16085. if (n()) return e[--o]
  16086. },
  16087. redo: function () {
  16088. if (r()) return e[++o]
  16089. },
  16090. canUndo: (n = function () {
  16091. return 0 < o
  16092. }),
  16093. canRedo: (r = function () {
  16094. return -1 !== o && o < e.length - 1
  16095. }),
  16096. })
  16097. function c(t) {
  16098. i.set(t)
  16099. }
  16100. function s(t) {
  16101. URL.revokeObjectURL(t.url)
  16102. }
  16103. function l(t) {
  16104. var n = f(t)
  16105. c(n)
  16106. var e = a.add(n).removed
  16107. return fS.each(e, s), n.url
  16108. }
  16109. a.add(t)
  16110. function f(t) {
  16111. return { blob: t, url: URL.createObjectURL(t) }
  16112. }
  16113. function d() {
  16114. u.on(s), u.clear()
  16115. }
  16116. return {
  16117. getBlobState: function () {
  16118. return i.get()
  16119. },
  16120. setBlobState: c,
  16121. addBlobState: l,
  16122. getTempState: function () {
  16123. return u.get().getOrThunk(i.get)
  16124. },
  16125. updateTempState: function (t) {
  16126. var n = f(t)
  16127. return d(), u.set(n), n.url
  16128. },
  16129. addTempState: function (t) {
  16130. var n = f(t)
  16131. return u.set(n), n.url
  16132. },
  16133. applyTempState: function (n) {
  16134. return u.get().fold(st, function (t) {
  16135. l(t.blob), n()
  16136. })
  16137. },
  16138. destroyTempState: d,
  16139. undo: function () {
  16140. var t = a.undo()
  16141. return c(t), t.url
  16142. },
  16143. redo: function () {
  16144. var t = a.redo()
  16145. return c(t), t.url
  16146. },
  16147. getHistoryStates: function () {
  16148. return { undoEnabled: a.canUndo(), redoEnabled: a.canRedo() }
  16149. },
  16150. }
  16151. }
  16152. function ok(t, n) {
  16153. function i(t) {
  16154. var n = y.getHistoryStates()
  16155. k.updateButtonUndoStates(t, n.undoEnabled, n.redoEnabled),
  16156. br(t, YS.formActionEvent, {
  16157. name: YS.saveState(),
  16158. value: n.undoEnabled,
  16159. })
  16160. }
  16161. function u(t) {
  16162. return t.toBlob()
  16163. }
  16164. function a(t) {
  16165. br(t, YS.formActionEvent, { name: YS.disable(), value: {} })
  16166. }
  16167. function c(n, t, e, o, r) {
  16168. a(n),
  16169. k0(t)
  16170. .then(e)
  16171. .then(u)
  16172. .then(o)
  16173. .then(function (t) {
  16174. return w(n, t)
  16175. })
  16176. .then(function () {
  16177. i(n), r(), x(n)
  16178. })
  16179. .catch(function (t) {
  16180. console.log(t), n.getSystem().isConnected() && x(n)
  16181. })
  16182. }
  16183. function r(t, n, e) {
  16184. c(
  16185. t,
  16186. y.getBlobState().blob,
  16187. n,
  16188. function (t) {
  16189. return y.updateTempState(t)
  16190. },
  16191. e
  16192. )
  16193. }
  16194. function s(t) {
  16195. var n = y.getBlobState().url
  16196. return y.destroyTempState(), i(t), n
  16197. }
  16198. var e,
  16199. o,
  16200. l,
  16201. f,
  16202. d,
  16203. m,
  16204. g,
  16205. p,
  16206. h,
  16207. v,
  16208. b,
  16209. y = ek(t.currentState),
  16210. x = function (t) {
  16211. C.getApplyButton(t).each(function (t) {
  16212. gd.enable(t)
  16213. }),
  16214. br(t, YS.formActionEvent, { name: YS.enable(), value: {} })
  16215. },
  16216. w = function (t, n) {
  16217. return a(t), S.updateSrc(t, n)
  16218. },
  16219. S =
  16220. ((f = t.currentState.url),
  16221. (m = zm({
  16222. dom: {
  16223. tag: 'div',
  16224. classes: ['tox-image-tools__image-bg'],
  16225. attributes: { role: 'presentation' },
  16226. },
  16227. })),
  16228. (g = Po(1)),
  16229. (d = dc()),
  16230. (p = lt(lt({}, d), {
  16231. run: function (t) {
  16232. return d.get().each(t)
  16233. },
  16234. })),
  16235. (h = Po({ x: 0, y: 0, w: 1, h: 1 })),
  16236. (v = Po({ x: 0, y: 0, w: 1, h: 1 })),
  16237. {
  16238. memContainer: (b = zm(
  16239. ly.sketch({
  16240. dom: { tag: 'div', classes: ['tox-image-tools__image'] },
  16241. components: [
  16242. m.asSpec(),
  16243. { dom: { tag: 'img', attributes: { src: f } } },
  16244. {
  16245. dom: { tag: 'div' },
  16246. behaviours: nc([
  16247. mm('image-panel-crop-events', [
  16248. ou(function (t) {
  16249. b.getOpt(t).each(function (t) {
  16250. var n = t.element.dom,
  16251. e = nk(
  16252. { x: 10, y: 10, w: 100, h: 100 },
  16253. { x: 0, y: 0, w: 200, h: 200 },
  16254. { x: 0, y: 0, w: 200, h: 200 },
  16255. n,
  16256. st
  16257. )
  16258. e.toggleVisibility(!1),
  16259. e.on('updateRect', function (t) {
  16260. var n = t.rect,
  16261. e = g.get(),
  16262. o = {
  16263. x: Math.round(n.x / e),
  16264. y: Math.round(n.y / e),
  16265. w: Math.round(n.w / e),
  16266. h: Math.round(n.h / e),
  16267. }
  16268. h.set(o)
  16269. }),
  16270. p.set(e)
  16271. })
  16272. }),
  16273. ru(function () {
  16274. p.clear()
  16275. }),
  16276. ]),
  16277. ]),
  16278. },
  16279. ],
  16280. containerBehaviours: nc([
  16281. Rg.config({}),
  16282. mm('image-panel-events', [
  16283. ou(function (t) {
  16284. _(t, f)
  16285. }),
  16286. ]),
  16287. ]),
  16288. })
  16289. )),
  16290. updateSrc: _,
  16291. zoom: function (t, n) {
  16292. var e = g.get(),
  16293. o = 0 < n ? Math.min(2, e + 0.1) : Math.max(0.1, e - 0.1)
  16294. g.set(o),
  16295. b.getOpt(t).each(function (t) {
  16296. var n = t.components()[1].element
  16297. O(t, n)
  16298. })
  16299. },
  16300. showCrop: function () {
  16301. p.run(function (t) {
  16302. t.toggleVisibility(!0)
  16303. })
  16304. },
  16305. hideCrop: function () {
  16306. p.run(function (t) {
  16307. t.toggleVisibility(!1)
  16308. })
  16309. },
  16310. getRect: function () {
  16311. return h.get()
  16312. },
  16313. getMeasurements: function () {
  16314. var t = v.get()
  16315. return { width: t.w, height: t.h }
  16316. },
  16317. }),
  16318. k =
  16319. ((o = zm(
  16320. QS(
  16321. 'Undo',
  16322. 'undo',
  16323. !0,
  16324. function (t) {
  16325. br(t, US.undo(), { direction: 1 })
  16326. },
  16327. (e = n)
  16328. )
  16329. )),
  16330. (l = zm(
  16331. QS(
  16332. 'Redo',
  16333. 'redo',
  16334. !0,
  16335. function (t) {
  16336. br(t, US.redo(), { direction: 1 })
  16337. },
  16338. e
  16339. )
  16340. )),
  16341. {
  16342. container: ly.sketch({
  16343. dom: {
  16344. tag: 'div',
  16345. classes: ['tox-image-tools__toolbar', 'tox-image-tools__sidebar'],
  16346. },
  16347. components: [
  16348. o.asSpec(),
  16349. l.asSpec(),
  16350. QS(
  16351. 'Zoom in',
  16352. 'zoom-in',
  16353. !1,
  16354. function (t) {
  16355. br(t, US.zoom(), { direction: 1 })
  16356. },
  16357. e
  16358. ),
  16359. QS(
  16360. 'Zoom out',
  16361. 'zoom-out',
  16362. !1,
  16363. function (t) {
  16364. br(t, US.zoom(), { direction: -1 })
  16365. },
  16366. e
  16367. ),
  16368. ],
  16369. }),
  16370. updateButtonUndoStates: function (t, n, e) {
  16371. o.getOpt(t).each(function (t) {
  16372. ZS(t, n)
  16373. }),
  16374. l.getOpt(t).each(function (t) {
  16375. ZS(t, e)
  16376. })
  16377. },
  16378. }),
  16379. C = rw(S, n)
  16380. function O(t, s) {
  16381. b.getOpt(t).each(function (t) {
  16382. var e = g.get(),
  16383. o = On(t.element),
  16384. r = wn(t.element),
  16385. i = s.dom.naturalWidth * e,
  16386. u = s.dom.naturalHeight * e,
  16387. a = Math.max(0, o / 2 - i / 2),
  16388. c = Math.max(0, r / 2 - u / 2),
  16389. n = {
  16390. left: a.toString() + 'px',
  16391. top: c.toString() + 'px',
  16392. width: i.toString() + 'px',
  16393. height: u.toString() + 'px',
  16394. position: 'absolute',
  16395. }
  16396. mn(s, n),
  16397. m.getOpt(t).each(function (t) {
  16398. mn(t.element, n)
  16399. }),
  16400. p.run(function (t) {
  16401. var n = h.get()
  16402. t.setRect({
  16403. x: n.x * e + a,
  16404. y: n.y * e + c,
  16405. w: n.w * e,
  16406. h: n.h * e,
  16407. }),
  16408. t.setClampRect({ x: a, y: c, w: i, h: u }),
  16409. t.setViewPortRect({ x: 0, y: 0, w: o, h: r })
  16410. })
  16411. })
  16412. }
  16413. function _(t, n) {
  16414. var e,
  16415. i = At.fromTag('img')
  16416. return (
  16417. on(i, 'src', n),
  16418. (e = i.dom),
  16419. new Ap(function (t) {
  16420. var n = function () {
  16421. e.removeEventListener('load', n), t(e)
  16422. }
  16423. e.complete ? t(e) : e.addEventListener('load', n)
  16424. }).then(function () {
  16425. t.getSystem().isConnected() &&
  16426. b.getOpt(t).map(function (t) {
  16427. var n = Ou({ element: i })
  16428. Rg.replaceAt(t, 1, vt.some(n))
  16429. var e = v.get(),
  16430. o = {
  16431. x: 0,
  16432. y: 0,
  16433. w: i.dom.naturalWidth,
  16434. h: i.dom.naturalHeight,
  16435. }
  16436. v.set(o)
  16437. var u,
  16438. r = qS.inflate(o, -20, -20)
  16439. h.set(r),
  16440. (e.w === o.w && e.h === o.h) ||
  16441. ((u = i),
  16442. b.getOpt(t).each(function (t) {
  16443. var n = On(t.element),
  16444. e = wn(t.element),
  16445. o = u.dom.naturalWidth,
  16446. r = u.dom.naturalHeight,
  16447. i = Math.min(n / o, e / r)
  16448. 1 <= i ? g.set(1) : g.set(i)
  16449. })),
  16450. O(t, i)
  16451. })
  16452. })
  16453. )
  16454. }
  16455. return {
  16456. dom: { tag: 'div', attributes: { role: 'presentation' } },
  16457. components: [
  16458. C.memContainer.asSpec(),
  16459. S.memContainer.asSpec(),
  16460. k.container,
  16461. ],
  16462. behaviours: nc([
  16463. Df.config({
  16464. store: {
  16465. mode: 'manual',
  16466. getValue: function () {
  16467. return y.getBlobState()
  16468. },
  16469. },
  16470. }),
  16471. mm('image-tools-events', [
  16472. Cr(US.undo(), function (n, t) {
  16473. var e = y.undo()
  16474. w(n, e).then(function (t) {
  16475. x(n), i(n)
  16476. })
  16477. }),
  16478. Cr(US.redo(), function (n, t) {
  16479. var e = y.redo()
  16480. w(n, e).then(function (t) {
  16481. x(n), i(n)
  16482. })
  16483. }),
  16484. Cr(US.zoom(), function (t, n) {
  16485. var e = n.event.direction
  16486. S.zoom(t, e)
  16487. }),
  16488. Cr(US.back(), function (t, n) {
  16489. var e,
  16490. o = s((e = t))
  16491. w(e, o).then(function (t) {
  16492. x(e)
  16493. }),
  16494. (0, n.event.swap)(),
  16495. S.hideCrop()
  16496. }),
  16497. Cr(US.apply(), function (t, n) {
  16498. y.applyTempState(function () {
  16499. s(t), (0, n.event.swap)()
  16500. })
  16501. }),
  16502. Cr(US.transform(), function (t, n) {
  16503. return r(t, n.event.transform, st)
  16504. }),
  16505. Cr(US.tempTransform(), function (t, n) {
  16506. var e = n.event.transform
  16507. c(
  16508. t,
  16509. y.getTempState().blob,
  16510. e,
  16511. function (t) {
  16512. return y.addTempState(t)
  16513. },
  16514. st
  16515. )
  16516. }),
  16517. Cr(US.transformApply(), function (t, n) {
  16518. var e = t,
  16519. o = n.event.transform,
  16520. r = n.event.swap,
  16521. i = y.getBlobState().blob
  16522. c(
  16523. e,
  16524. i,
  16525. o,
  16526. function (t) {
  16527. var n = y.addBlobState(t)
  16528. return s(e), n
  16529. },
  16530. r
  16531. )
  16532. }),
  16533. Cr(US.swap(), function (n, t) {
  16534. k.updateButtonUndoStates(n, !1, !1)
  16535. var e = t.event.transform,
  16536. o = t.event.swap
  16537. e.fold(
  16538. function () {
  16539. o()
  16540. },
  16541. function (t) {
  16542. r(n, t, o)
  16543. }
  16544. )
  16545. }),
  16546. ]),
  16547. aw(),
  16548. ]),
  16549. }
  16550. }
  16551. function rk(t) {
  16552. return !Tt(t, 'items')
  16553. }
  16554. function ik(t, n) {
  16555. function e(t) {
  16556. return { dom: { tag: 'td', innerHtml: n.translate(t) } }
  16557. }
  16558. return {
  16559. dom: { tag: 'table', classes: ['tox-dialog__table'] },
  16560. components: [
  16561. {
  16562. dom: { tag: 'thead' },
  16563. components: [
  16564. {
  16565. dom: { tag: 'tr' },
  16566. components: M(t.header, function (t) {
  16567. return { dom: { tag: 'th', innerHtml: n.translate(t) } }
  16568. }),
  16569. },
  16570. ],
  16571. },
  16572. {
  16573. dom: { tag: 'tbody' },
  16574. components: M(t.cells, function (t) {
  16575. return { dom: { tag: 'tr' }, components: M(t, e) }
  16576. }),
  16577. },
  16578. ],
  16579. behaviours: nc([py.config({}), Hg.config({})]),
  16580. }
  16581. }
  16582. function uk(e, n) {
  16583. var t = e.label.map(function (t) {
  16584. return oy(t, n)
  16585. }),
  16586. o = [
  16587. gd.config({
  16588. disabled: function () {
  16589. return e.disabled || n.isDisabled()
  16590. },
  16591. }),
  16592. pv(),
  16593. Fg.config({
  16594. mode: 'execution',
  16595. useEnter: !0 !== e.multiline,
  16596. useControlEnter: !0 === e.multiline,
  16597. execute: function (t) {
  16598. return vr(t, ky), vt.some(!0)
  16599. },
  16600. }),
  16601. mm('textfield-change', [
  16602. Cr(Si(), function (t, n) {
  16603. br(t, yy, { name: e.name })
  16604. }),
  16605. Cr(Ai(), function (t, n) {
  16606. br(t, yy, { name: e.name })
  16607. }),
  16608. ]),
  16609. py.config({}),
  16610. ],
  16611. r = e.validation
  16612. .map(function (o) {
  16613. return Ky.config({
  16614. getRoot: function (t) {
  16615. return Yt(t.element)
  16616. },
  16617. invalidClass: 'tox-invalid',
  16618. validator: {
  16619. validate: function (t) {
  16620. var n = Df.getValue(t),
  16621. e = o.validator(n)
  16622. return Gy(!0 === e ? Ve.value(n) : Ve.error(e))
  16623. },
  16624. validateOnLoad: o.validateOnLoad,
  16625. },
  16626. })
  16627. })
  16628. .toArray(),
  16629. i = e.placeholder.fold(rt({}), function (t) {
  16630. return { placeholder: n.translate(t) }
  16631. }),
  16632. u = e.inputMode.fold(rt({}), function (t) {
  16633. return { inputmode: t }
  16634. }),
  16635. a = lt(lt({}, i), u)
  16636. return ey(
  16637. t,
  16638. my.parts.field({
  16639. tag: !0 === e.multiline ? 'textarea' : 'input',
  16640. inputAttributes: a,
  16641. inputClasses: [e.classname],
  16642. inputBehaviours: nc(ft([o, r])),
  16643. selectOnFocus: !1,
  16644. factory: Dy,
  16645. }),
  16646. (e.flex ? ['tox-form__group--stretched'] : []).concat(
  16647. e.maximized ? ['tox-form-group--maximize'] : []
  16648. ),
  16649. [
  16650. gd.config({
  16651. disabled: function () {
  16652. return e.disabled || n.isDisabled()
  16653. },
  16654. onDisabled: function (t) {
  16655. my.getField(t).each(gd.disable)
  16656. },
  16657. onEnabled: function (t) {
  16658. my.getField(t).each(gd.enable)
  16659. },
  16660. }),
  16661. pv(),
  16662. ]
  16663. )
  16664. }
  16665. function ak(t) {
  16666. var n = Po(null)
  16667. return wu({
  16668. readState: function () {
  16669. return { timer: null !== n.get() ? 'set' : 'unset' }
  16670. },
  16671. setTimer: function (t) {
  16672. n.set(t)
  16673. },
  16674. cancel: function () {
  16675. var t = n.get()
  16676. null !== t && t.cancel()
  16677. },
  16678. })
  16679. }
  16680. function ck(t, n, e) {
  16681. var o = Df.getValue(e)
  16682. Df.setValue(n, o), s1(n)
  16683. }
  16684. function sk(t, n) {
  16685. var e = t.element,
  16686. o = Qr(e),
  16687. r = e.dom
  16688. 'number' !== un(e, 'type') && n(r, o)
  16689. }
  16690. function lk(t) {
  16691. return {
  16692. type: 'menuitem',
  16693. value: t.url,
  16694. text: t.title,
  16695. meta: { attach: t.attach },
  16696. onAction: st,
  16697. }
  16698. }
  16699. function fk(t, n) {
  16700. return {
  16701. type: 'menuitem',
  16702. value: n,
  16703. text: t,
  16704. meta: { attach: void 0 },
  16705. onAction: st,
  16706. }
  16707. }
  16708. function dk(t, n) {
  16709. return (
  16710. (e = t),
  16711. M(
  16712. F(n, function (t) {
  16713. return t.type === e
  16714. }),
  16715. lk
  16716. )
  16717. )
  16718. var e
  16719. }
  16720. function mk(t, n) {
  16721. var e = t.toLowerCase()
  16722. return F(n, function (t) {
  16723. return (
  16724. ut(
  16725. (void 0 !== t.meta && void 0 !== t.meta.text
  16726. ? t.meta
  16727. : t
  16728. ).text.toLowerCase(),
  16729. e
  16730. ) || ut(t.value.toLowerCase(), e)
  16731. )
  16732. })
  16733. }
  16734. function gk(u, a, c) {
  16735. function r(t) {
  16736. var n = Df.getValue(t)
  16737. c.addToHistory(n.value, u.filetype)
  16738. }
  16739. var t,
  16740. n,
  16741. e,
  16742. o,
  16743. i = a.shared.providers,
  16744. s = my.parts.field({
  16745. factory: m1,
  16746. dismissOnBlur: !0,
  16747. inputClasses: ['tox-textfield'],
  16748. sandboxClasses: ['tox-dialog__popups'],
  16749. inputAttributes: { 'aria-errormessage': v1, type: 'url' },
  16750. minChars: 0,
  16751. responseTime: 0,
  16752. fetch: function (t) {
  16753. var e,
  16754. o,
  16755. n,
  16756. r,
  16757. i = U0(
  16758. ((e = u.filetype),
  16759. (o = c),
  16760. (n = Df.getValue(t)),
  16761. (r = void 0 !== n.meta.text ? n.meta.text : n.value),
  16762. o.getLinkInformation().fold(
  16763. function () {
  16764. return []
  16765. },
  16766. function (t) {
  16767. var n = mk(
  16768. r,
  16769. M(o.getHistory(e), function (t) {
  16770. return fk(t, t)
  16771. })
  16772. )
  16773. return 'file' === e
  16774. ? R(
  16775. [
  16776. n,
  16777. mk(r, dk('header', t.targets)),
  16778. mk(
  16779. r,
  16780. ft([
  16781. vt
  16782. .from(t.anchorTop)
  16783. .map(function (t) {
  16784. return fk('<top>', t)
  16785. })
  16786. .toArray(),
  16787. dk('anchor', t.targets),
  16788. vt
  16789. .from(t.anchorBottom)
  16790. .map(function (t) {
  16791. return fk('<bottom>', t)
  16792. })
  16793. .toArray(),
  16794. ])
  16795. ),
  16796. ],
  16797. function (t, n) {
  16798. return 0 === t.length || 0 === n.length
  16799. ? t.concat(n)
  16800. : t.concat(h1, n)
  16801. },
  16802. []
  16803. )
  16804. : n
  16805. }
  16806. )),
  16807. Sh.BUBBLE_TO_SANDBOX,
  16808. a,
  16809. !1
  16810. )
  16811. return Gy(i)
  16812. },
  16813. getHotspot: function (t) {
  16814. return p.getOpt(t)
  16815. },
  16816. onSetValue: function (t, n) {
  16817. t.hasConfigured(Ky) && Ky.run(t).get(st)
  16818. },
  16819. typeaheadBehaviours: nc(
  16820. ft([
  16821. c
  16822. .getValidationHandler()
  16823. .map(function (e) {
  16824. return Ky.config({
  16825. getRoot: function (t) {
  16826. return Yt(t.element)
  16827. },
  16828. invalidClass: 'tox-control-wrap--status-invalid',
  16829. notify: {
  16830. onInvalid: function (t, n) {
  16831. f.getOpt(t).each(function (t) {
  16832. on(t.element, 'title', i.translate(n))
  16833. })
  16834. },
  16835. },
  16836. validator: {
  16837. validate: function (t) {
  16838. var n = Df.getValue(t)
  16839. return p1(function (o) {
  16840. e({ type: u.filetype, url: n.value }, function (t) {
  16841. var n, e
  16842. 'invalid' === t.status
  16843. ? ((n = Ve.error(t.message)), o(n))
  16844. : ((e = Ve.value(t.message)), o(e))
  16845. })
  16846. })
  16847. },
  16848. validateOnLoad: !1,
  16849. },
  16850. })
  16851. })
  16852. .toArray(),
  16853. [
  16854. gd.config({
  16855. disabled: function () {
  16856. return u.disabled || i.isDisabled()
  16857. },
  16858. }),
  16859. py.config({}),
  16860. mm(
  16861. 'urlinput-events',
  16862. ft([
  16863. 'file' === u.filetype
  16864. ? [
  16865. Cr(Si(), function (t) {
  16866. br(t, yy, { name: u.name })
  16867. }),
  16868. ]
  16869. : [],
  16870. [
  16871. Cr(ki(), function (t) {
  16872. br(t, yy, { name: u.name }), r(t)
  16873. }),
  16874. Cr(Ai(), function (t) {
  16875. br(t, yy, { name: u.name }), r(t)
  16876. }),
  16877. ],
  16878. ])
  16879. ),
  16880. ],
  16881. ])
  16882. ),
  16883. eventOrder:
  16884. (((t = {})[Si()] = ['streaming', 'urlinput-events', 'invalidating']),
  16885. t),
  16886. model: {
  16887. getDisplayText: function (t) {
  16888. return t.value
  16889. },
  16890. selectsOver: !1,
  16891. populateFromBrowse: !1,
  16892. },
  16893. markers: { openClass: 'tox-textfield--popup-open' },
  16894. lazySink: a.shared.getSink,
  16895. parts: { menu: Zp(0, 0, 'normal') },
  16896. onExecute: function (t, n, e) {
  16897. br(n, ky, {})
  16898. },
  16899. onItemExecute: function (t, n, e, o) {
  16900. r(t), br(t, yy, { name: u.name })
  16901. },
  16902. }),
  16903. l = u.label.map(function (t) {
  16904. return oy(t, i)
  16905. }),
  16906. f = zm(
  16907. ((n = 'invalid'),
  16908. (e = vt.some(v1)),
  16909. Xm(
  16910. 'warning',
  16911. {
  16912. tag: 'div',
  16913. classes: ['tox-icon', 'tox-control-wrap__status-icon-' + n],
  16914. attributes: lt(
  16915. {
  16916. title: i.translate((o = void 0 === o ? n : o)),
  16917. 'aria-live': 'polite',
  16918. },
  16919. e.fold(
  16920. function () {
  16921. return {}
  16922. },
  16923. function (t) {
  16924. return { id: t }
  16925. }
  16926. )
  16927. ),
  16928. },
  16929. i.icons
  16930. ))
  16931. ),
  16932. d = zm({
  16933. dom: { tag: 'div', classes: ['tox-control-wrap__status-icon-wrap'] },
  16934. components: [f.asSpec()],
  16935. }),
  16936. m = c.getUrlPicker(u.filetype),
  16937. g = Ir('browser.url.event'),
  16938. p = zm({
  16939. dom: { tag: 'div', classes: ['tox-control-wrap'] },
  16940. components: [s, d.asSpec()],
  16941. behaviours: nc([
  16942. gd.config({
  16943. disabled: function () {
  16944. return u.disabled || i.isDisabled()
  16945. },
  16946. }),
  16947. ]),
  16948. }),
  16949. h = zm(
  16950. J0(
  16951. {
  16952. name: u.name,
  16953. icon: vt.some('browse'),
  16954. text: u.label.getOr(''),
  16955. disabled: u.disabled,
  16956. primary: !1,
  16957. borderless: !0,
  16958. },
  16959. function (t) {
  16960. return vr(t, g)
  16961. },
  16962. i,
  16963. [],
  16964. ['tox-browse-url']
  16965. )
  16966. )
  16967. return my.sketch({
  16968. dom: by([]),
  16969. components: l.toArray().concat([
  16970. {
  16971. dom: { tag: 'div', classes: ['tox-form__controls-h-stack'] },
  16972. components: ft([
  16973. [p.asSpec()],
  16974. m
  16975. .map(function () {
  16976. return h.asSpec()
  16977. })
  16978. .toArray(),
  16979. ]),
  16980. },
  16981. ]),
  16982. fieldBehaviours: nc([
  16983. gd.config({
  16984. disabled: function () {
  16985. return u.disabled || i.isDisabled()
  16986. },
  16987. onDisabled: function (t) {
  16988. my.getField(t).each(gd.disable), h.getOpt(t).each(gd.disable)
  16989. },
  16990. onEnabled: function (t) {
  16991. my.getField(t).each(gd.enable), h.getOpt(t).each(gd.enable)
  16992. },
  16993. }),
  16994. pv(),
  16995. mm('url-input-events', [
  16996. Cr(g, function (o) {
  16997. cd.getCurrent(o).each(function (n) {
  16998. var t = Df.getValue(n),
  16999. e = lt({ fieldname: u.name }, t)
  17000. m.each(function (t) {
  17001. t(e).get(function (t) {
  17002. Df.setValue(n, t), br(o, yy, { name: u.name })
  17003. })
  17004. })
  17005. })
  17006. }),
  17007. ]),
  17008. ]),
  17009. })
  17010. }
  17011. function pk(r) {
  17012. return function (n, e, o) {
  17013. return tt(e, 'name').fold(
  17014. function () {
  17015. return r(e, o)
  17016. },
  17017. function (t) {
  17018. return n.field(t, r(e, o))
  17019. }
  17020. )
  17021. }
  17022. }
  17023. function hk(n, t, e) {
  17024. var o = Yo(e, {
  17025. shared: {
  17026. interpreter: function (t) {
  17027. return x1(n, t, o)
  17028. },
  17029. },
  17030. })
  17031. return x1(n, t, o)
  17032. }
  17033. function vk(t, n, e) {
  17034. function o() {
  17035. return At.fromDom(t.getContentAreaContainer())
  17036. }
  17037. function r() {
  17038. return p || !e()
  17039. }
  17040. var i,
  17041. u,
  17042. a,
  17043. c,
  17044. s,
  17045. l,
  17046. f,
  17047. d,
  17048. m,
  17049. g,
  17050. p = sv(t)
  17051. return {
  17052. inlineDialog:
  17053. ((f = o),
  17054. (d = n),
  17055. (m = r),
  17056. (g = { maxHeightFunction: Vc() }),
  17057. function () {
  17058. return m()
  17059. ? {
  17060. type: 'node',
  17061. root: tn(f()),
  17062. node: vt.from(f()),
  17063. bubble: Sc(12, 12, w1),
  17064. layouts: {
  17065. onRtl: function () {
  17066. return [Am]
  17067. },
  17068. onLtr: function () {
  17069. return [Mm]
  17070. },
  17071. },
  17072. overrides: g,
  17073. }
  17074. : {
  17075. type: 'hotspot',
  17076. hotspot: d(),
  17077. bubble: Sc(-12, 12, w1),
  17078. layouts: {
  17079. onRtl: function () {
  17080. return [Xa]
  17081. },
  17082. onLtr: function () {
  17083. return [Ya]
  17084. },
  17085. },
  17086. overrides: g,
  17087. }
  17088. }),
  17089. banner:
  17090. ((c = o),
  17091. (s = n),
  17092. (l = r),
  17093. function () {
  17094. return l()
  17095. ? {
  17096. type: 'node',
  17097. root: tn(c()),
  17098. node: vt.from(c()),
  17099. layouts: {
  17100. onRtl: function () {
  17101. return [cp]
  17102. },
  17103. onLtr: function () {
  17104. return [cp]
  17105. },
  17106. },
  17107. }
  17108. : {
  17109. type: 'hotspot',
  17110. hotspot: s(),
  17111. layouts: {
  17112. onRtl: function () {
  17113. return [$a]
  17114. },
  17115. onLtr: function () {
  17116. return [$a]
  17117. },
  17118. },
  17119. }
  17120. }),
  17121. cursor:
  17122. ((u = t),
  17123. function () {
  17124. return {
  17125. type: 'selection',
  17126. root: a(),
  17127. getSelection: function () {
  17128. var t = u.selection.getRng()
  17129. return vt.some(
  17130. ms.range(
  17131. At.fromDom(t.startContainer),
  17132. t.startOffset,
  17133. At.fromDom(t.endContainer),
  17134. t.endOffset
  17135. )
  17136. )
  17137. },
  17138. }
  17139. }),
  17140. node:
  17141. ((i = a =
  17142. function () {
  17143. return At.fromDom(t.getBody())
  17144. }),
  17145. function (t) {
  17146. return { type: 'node', root: i(), node: t }
  17147. }),
  17148. }
  17149. }
  17150. function bk(i) {
  17151. return vt
  17152. .from(i.getParam('style_formats'))
  17153. .filter(c)
  17154. .map(function (t) {
  17155. var n,
  17156. e,
  17157. o =
  17158. ((n = i),
  17159. (e = k1(t)),
  17160. n.formatter
  17161. ? r(e.customFormats)
  17162. : n.on('init', function () {
  17163. r(e.customFormats)
  17164. }),
  17165. e.formats)
  17166. function r(t) {
  17167. St(t, function (t) {
  17168. n.formatter.has(t.name) || n.formatter.register(t.name, t.format)
  17169. })
  17170. }
  17171. return i.getParam('style_formats_merge', !1, 'boolean')
  17172. ? S1.concat(o)
  17173. : o
  17174. })
  17175. .getOr(S1)
  17176. }
  17177. function yk(t, n, e) {
  17178. var o = {
  17179. type: 'formatter',
  17180. isSelected: n(t.format),
  17181. getStylePreview: e(t.format),
  17182. }
  17183. return Yo(t, o)
  17184. }
  17185. function xk(c, t, s, l) {
  17186. var f = function (t) {
  17187. return M(t, function (t) {
  17188. var n,
  17189. e,
  17190. o,
  17191. r,
  17192. i,
  17193. u = Ct(t)
  17194. if (nt(t, 'items')) {
  17195. var a = f(t.items)
  17196. return Yo(Yo(t, { type: 'submenu' }), { getStyleItems: rt(a) })
  17197. }
  17198. return nt(t, 'format')
  17199. ? yk(t, s, l)
  17200. : 1 === u.length && wt(u, 'title')
  17201. ? Yo(t, { type: 'separator' })
  17202. : ((r = {
  17203. type: 'formatter',
  17204. format: (o =
  17205. 'custom-' + (e = y((n = t).name) ? n.name : Ir(n.title))),
  17206. isSelected: s(o),
  17207. getStylePreview: l(o),
  17208. }),
  17209. (i = Yo(n, r)),
  17210. c.formatter.register(e, i),
  17211. i)
  17212. })
  17213. }
  17214. return f(t)
  17215. }
  17216. function wk(e) {
  17217. return function (t) {
  17218. if (k((n = t)) && 1 === n.nodeType) {
  17219. if (t.contentEditable === e) return !0
  17220. if (t.getAttribute('data-mce-contenteditable') === e) return !0
  17221. }
  17222. var n
  17223. return !1
  17224. }
  17225. }
  17226. function Sk(t, n, e, o, r) {
  17227. return { type: t, title: n, url: e, level: o, attach: r }
  17228. }
  17229. function kk(t) {
  17230. return t.innerText || t.textContent
  17231. }
  17232. function Ck(t) {
  17233. return t && 'A' === t.nodeName && void 0 !== (t.id || t.name) && JC(t)
  17234. }
  17235. function Ok(t) {
  17236. return t && /^(H[1-6])$/.test(t.nodeName)
  17237. }
  17238. function _k(t) {
  17239. return Ok(t) && JC(t)
  17240. }
  17241. function Tk(t) {
  17242. var n,
  17243. e = t.id || Ir('h')
  17244. return Sk(
  17245. 'header',
  17246. kk(t),
  17247. '#' + e,
  17248. Ok((n = t)) ? parseInt(n.nodeName.substr(1), 10) : 0,
  17249. function () {
  17250. t.id = e
  17251. }
  17252. )
  17253. }
  17254. function Ek(t) {
  17255. var n = t.id || t.name
  17256. return Sk('anchor', kk(t) || '#' + n, '#' + n, 0, st)
  17257. }
  17258. function Dk(t) {
  17259. return 0 < C1(t.title).length
  17260. }
  17261. function Bk(t) {
  17262. return y(t) && /^https?/.test(t)
  17263. }
  17264. function Mk(t) {
  17265. return (
  17266. x(t) &&
  17267. Q(t, function (t) {
  17268. return !(c((n = t)) && n.length <= 5 && N(n, Bk))
  17269. var n
  17270. }).isNone()
  17271. )
  17272. }
  17273. function Ak() {
  17274. var t,
  17275. n = db.getItem(E1)
  17276. if (null === n) return {}
  17277. try {
  17278. t = JSON.parse(n)
  17279. } catch (t) {
  17280. if (t instanceof SyntaxError)
  17281. return console.log('Local storage ' + E1 + ' was not valid JSON', t), {}
  17282. throw t
  17283. }
  17284. return Mk(t)
  17285. ? t
  17286. : (console.log('Local storage ' + E1 + ' was not valid format', t), {})
  17287. }
  17288. function Fk(t) {
  17289. return tt(Ak(), t).getOr([])
  17290. }
  17291. function Ik(n, t) {
  17292. var e, o
  17293. Bk(n) &&
  17294. ((o = F(tt((e = Ak()), t).getOr([]), function (t) {
  17295. return t !== n
  17296. })),
  17297. (e[t] = [n].concat(o).slice(0, 5)),
  17298. (function (t) {
  17299. if (!Mk(t))
  17300. throw new Error('Bad format for history:\n' + JSON.stringify(t))
  17301. db.setItem(E1, JSON.stringify(t))
  17302. })(e))
  17303. }
  17304. function Rk(t) {
  17305. return !!t
  17306. }
  17307. function Vk(t) {
  17308. return dt(fS.makeMap(t, /[, ]/), Rk)
  17309. }
  17310. function Pk(t) {
  17311. return vt.from(t.getParam('file_picker_callback')).filter(S)
  17312. }
  17313. function Hk(t) {
  17314. return vt.from(t).filter(y).getOrUndefined()
  17315. }
  17316. function zk(l) {
  17317. return {
  17318. getHistory: Fk,
  17319. addToHistory: Ik,
  17320. getLinkInformation: function () {
  17321. return !1 === (t = l).getParam('typeahead_urls')
  17322. ? vt.none()
  17323. : vt.some({
  17324. targets: T1(t.getBody()),
  17325. anchorTop: Hk(t.getParam('anchor_top', '#top')),
  17326. anchorBottom: Hk(t.getParam('anchor_bottom', '#bottom')),
  17327. })
  17328. var t
  17329. },
  17330. getValidationHandler: function () {
  17331. return vt.from(
  17332. void 0 ===
  17333. (n = (t = l).getParam(
  17334. 'file_picker_validator_handler',
  17335. void 0,
  17336. 'function'
  17337. ))
  17338. ? t.getParam('filepicker_validator_handler', void 0, 'function')
  17339. : n
  17340. )
  17341. var t, n
  17342. },
  17343. getUrlPicker: function (t) {
  17344. return (
  17345. (n = c = l),
  17346. (e = s = t),
  17347. (r = vt.some((o = n).getParam('file_picker_types')).filter(Rk)),
  17348. (i = vt.some(o.getParam('file_browser_callback_types')).filter(Rk)),
  17349. (u = r.or(i).map(Vk)),
  17350. (a = Pk(o).fold(T, function (t) {
  17351. return u.fold(D, function (t) {
  17352. return 0 < Ct(t).length && t
  17353. })
  17354. })),
  17355. (w(a) ? (a ? Pk(n) : vt.none()) : a[e] ? Pk(n) : vt.none()).map(
  17356. function (o) {
  17357. return function (n) {
  17358. return jy(function (e) {
  17359. var t = lt(
  17360. { filetype: s, fieldname: n.fieldname },
  17361. vt.from(n.meta).getOr({})
  17362. )
  17363. o.call(
  17364. c,
  17365. function (t, n) {
  17366. if (!y(t)) throw new Error('Expected value to be string')
  17367. if (void 0 !== n && !x(n))
  17368. throw new Error('Expected meta to be a object')
  17369. e({ value: t, meta: n })
  17370. },
  17371. n.value,
  17372. t
  17373. )
  17374. })
  17375. }
  17376. }
  17377. )
  17378. )
  17379. var n, e, o, r, i, u, a, c, s
  17380. },
  17381. }
  17382. }
  17383. function Nk(t, n, e) {
  17384. var o,
  17385. r,
  17386. i,
  17387. u,
  17388. a,
  17389. c,
  17390. s,
  17391. l,
  17392. f,
  17393. d,
  17394. m,
  17395. g,
  17396. p,
  17397. h = Po(!1),
  17398. v = {
  17399. isPositionedAtTop: function () {
  17400. return 'top' === o.get()
  17401. },
  17402. getDockingMode: (o = Po(av(n) ? 'bottom' : 'top')).get,
  17403. setDockingMode: o.set,
  17404. },
  17405. b = {
  17406. shared: {
  17407. providers: {
  17408. icons: function () {
  17409. return n.ui.registry.getAll().icons
  17410. },
  17411. menuItems: function () {
  17412. return n.ui.registry.getAll().menuItems
  17413. },
  17414. translate: dp.translate,
  17415. isDisabled: function () {
  17416. return n.mode.isReadOnly() || n.ui.isDisabled()
  17417. },
  17418. getSetting: n.getParam.bind(n),
  17419. },
  17420. interpreter: function (t) {
  17421. return x1(y1, t, b)
  17422. },
  17423. anchors: vk(n, e, v.isPositionedAtTop),
  17424. header: v,
  17425. getSink: function () {
  17426. return Ve.value(t)
  17427. },
  17428. },
  17429. urlinput: zk(n),
  17430. styleselect:
  17431. ((f = Po([])),
  17432. (d = Po([])),
  17433. (m = Po([])),
  17434. (g = Po([])),
  17435. (p = Po(
  17436. !(l = function (t) {
  17437. var n = t.items
  17438. return void 0 !== n && 0 < n.length ? z(n, l) : [t.format]
  17439. })
  17440. )),
  17441. (s = n).on('PreInit', function (t) {
  17442. var n = bk(s),
  17443. e = xk(s, n, y, x)
  17444. f.set(e), d.set(z(e, l))
  17445. }),
  17446. s.on('addStyleModifications', function (t) {
  17447. var n = xk(s, t.items, y, x)
  17448. m.set(n), p.set(t.replace), g.set(z(n, l))
  17449. }),
  17450. {
  17451. getData: function () {
  17452. var t = p.get() ? [] : f.get(),
  17453. n = m.get()
  17454. return t.concat(n)
  17455. },
  17456. getFlattenedKeys: function () {
  17457. var t = p.get() ? [] : d.get(),
  17458. n = g.get()
  17459. return t.concat(n)
  17460. },
  17461. }),
  17462. colorinput: {
  17463. colorPicker: function (t, n) {
  17464. Ib(c)(t, n)
  17465. },
  17466. hasCustomColors: function () {
  17467. return gb(a)
  17468. },
  17469. getColors: function () {
  17470. return pb(u)
  17471. },
  17472. getColorCols:
  17473. ((i = u = a = c = n),
  17474. function () {
  17475. return vb(i)
  17476. }),
  17477. },
  17478. dialog: {
  17479. isDraggableModal:
  17480. ((r = n),
  17481. function () {
  17482. return r.getParam('draggable_modal', !1, 'boolean')
  17483. }),
  17484. },
  17485. isContextMenuOpen: function () {
  17486. return h.get()
  17487. },
  17488. setContextMenuState: function (t) {
  17489. return h.set(t)
  17490. },
  17491. }
  17492. function y(t) {
  17493. return function () {
  17494. return s.formatter.match(t)
  17495. }
  17496. }
  17497. function x(n) {
  17498. return function () {
  17499. var t = s.formatter.get(n)
  17500. return void 0 !== t
  17501. ? vt.some({
  17502. tag: (0 < t.length && (t[0].inline || t[0].block)) || 'div',
  17503. styles: s.dom.parseStyle(s.formatter.getCssText(n)),
  17504. })
  17505. : vt.none()
  17506. }
  17507. }
  17508. return b
  17509. }
  17510. function Lk(t) {
  17511. return (mt(hn(t, 'position'), 'fixed') ? vt.none() : qt(t)).orThunk(
  17512. function () {
  17513. var e = At.fromTag('span')
  17514. return Yt(t).bind(function (t) {
  17515. Te(t, e)
  17516. var n = qt(e)
  17517. return Ee(e), n
  17518. })
  17519. }
  17520. )
  17521. }
  17522. function Wk(t) {
  17523. return Lk(t)
  17524. .map(Cn)
  17525. .getOrThunk(function () {
  17526. return ke(0, 0)
  17527. })
  17528. }
  17529. function Uk(t, n) {
  17530. var e = t.element
  17531. Yr(e, n.transitionClass),
  17532. qr(e, n.fadeOutClass),
  17533. Yr(e, n.fadeInClass),
  17534. n.onShow(t)
  17535. }
  17536. function jk(t, n) {
  17537. var e = t.element
  17538. Yr(e, n.transitionClass),
  17539. qr(e, n.fadeInClass),
  17540. Yr(e, n.fadeOutClass),
  17541. n.onHide(t)
  17542. }
  17543. function Gk(t, n, e) {
  17544. return N(t, function (t) {
  17545. switch (t) {
  17546. case 'bottom':
  17547. return n.bottom <= e.bottom
  17548. case 'top':
  17549. return n.y >= e.y
  17550. }
  17551. })
  17552. }
  17553. function Xk(n, t) {
  17554. return t.getInitialPos().map(function (t) {
  17555. return Me(t.bounds.x, t.bounds.y, On(n), wn(n))
  17556. })
  17557. }
  17558. function Yk(e, o, r) {
  17559. return r.getInitialPos().bind(function (t) {
  17560. switch ((r.clearInitialPos(), t.position)) {
  17561. case 'static':
  17562. return vt.some(z1.static())
  17563. case 'absolute':
  17564. var n = Lk(e)
  17565. .map(Ae)
  17566. .getOrThunk(function () {
  17567. return Ae(be())
  17568. })
  17569. return vt.some(
  17570. z1.absolute(
  17571. Ea(
  17572. 'absolute',
  17573. tt(t.style, 'left').map(function (t) {
  17574. return o.x - n.x
  17575. }),
  17576. tt(t.style, 'top').map(function (t) {
  17577. return o.y - n.y
  17578. }),
  17579. tt(t.style, 'right').map(function (t) {
  17580. return n.right - o.right
  17581. }),
  17582. tt(t.style, 'bottom').map(function (t) {
  17583. return n.bottom - o.bottom
  17584. })
  17585. )
  17586. )
  17587. )
  17588. default:
  17589. return vt.none()
  17590. }
  17591. })
  17592. }
  17593. function qk(t, n, e) {
  17594. var o,
  17595. r,
  17596. i,
  17597. u = t.element
  17598. return mt(hn(u, 'position'), 'fixed')
  17599. ? ((r = n),
  17600. Xk((o = u), (i = e))
  17601. .filter(function (t) {
  17602. return Gk(i.getModes(), t, r)
  17603. })
  17604. .bind(function (t) {
  17605. return Yk(o, t, i)
  17606. }))
  17607. : (function (t, n, e) {
  17608. var r,
  17609. o,
  17610. i = Ae(t)
  17611. if (Gk(e.getModes(), i, n)) return vt.none()
  17612. ;(r = t),
  17613. (o = i),
  17614. e.setInitialPos({
  17615. style: (function () {
  17616. var t = {},
  17617. n = r.dom
  17618. if (ct(n))
  17619. for (var e = 0; e < n.style.length; e++) {
  17620. var o = n.style.item(e)
  17621. t[o] = n.style[o]
  17622. }
  17623. return t
  17624. })(),
  17625. position: pn(r, 'position') || 'static',
  17626. bounds: o,
  17627. })
  17628. var u = Fe(),
  17629. a = i.x - u.x,
  17630. c = n.y - u.y,
  17631. s = u.bottom - n.bottom,
  17632. l = i.y <= n.y
  17633. return vt.some(
  17634. z1.fixed(
  17635. Ea(
  17636. 'fixed',
  17637. vt.some(a),
  17638. l ? vt.some(c) : vt.none(),
  17639. vt.none(),
  17640. l ? vt.none() : vt.some(s)
  17641. )
  17642. )
  17643. )
  17644. })(u, n, e)
  17645. }
  17646. function Kk(n, t, e) {
  17647. e.setDocked(!1),
  17648. St(['left', 'right', 'top', 'bottom', 'position'], function (t) {
  17649. return bn(n.element, t)
  17650. }),
  17651. t.onUndocked(n)
  17652. }
  17653. function Jk(t, n, e, o) {
  17654. var r = 'fixed' === o.position
  17655. e.setDocked(r), Da(t.element, o), (r ? n.onDocked : n.onUndocked)(t)
  17656. }
  17657. function $k(o, t, r, i, u) {
  17658. void 0 === u && (u = !1),
  17659. t.contextual.each(function (e) {
  17660. e.lazyContext(o).each(function (t) {
  17661. var n = t.y < i.bottom && t.bottom > i.y
  17662. n !== r.isVisible() &&
  17663. (r.setVisible(n),
  17664. u && !n
  17665. ? (Jr(o.element, [e.fadeOutClass]), e.onHide(o))
  17666. : (n ? Uk : jk)(o, e))
  17667. })
  17668. })
  17669. }
  17670. function Qk(t, n, e) {
  17671. var o, r, i, u, a, c
  17672. e.isDocked() &&
  17673. ((r = n),
  17674. (i = e),
  17675. (c = (o = t).element),
  17676. i.setDocked(!1),
  17677. Xk((a = o.element), (u = i))
  17678. .bind(function (t) {
  17679. return Yk(a, t, u)
  17680. })
  17681. .each(function (t) {
  17682. t.fold(
  17683. function () {
  17684. return Kk(o, r, i)
  17685. },
  17686. function (t) {
  17687. return Jk(o, r, i, t)
  17688. },
  17689. st
  17690. )
  17691. }),
  17692. i.setVisible(!0),
  17693. r.contextual.each(function (t) {
  17694. $r(c, [t.fadeInClass, t.fadeOutClass, t.transitionClass]), t.onShow(o)
  17695. }),
  17696. N1(o, r, i))
  17697. }
  17698. function Zk(t, n) {
  17699. return wt(U1.getModes(t), n)
  17700. }
  17701. function tC(r) {
  17702. var i = r.element
  17703. Yt(i).each(function (t) {
  17704. var n,
  17705. e,
  17706. o = 'padding-' + U1.getModes(r)[0]
  17707. U1.isDocked(r)
  17708. ? ((n = On(t)),
  17709. dn(i, 'width', n + 'px'),
  17710. dn(
  17711. t,
  17712. o,
  17713. Sn((e = i)) +
  17714. (parseInt(pn(e, 'margin-top'), 10) || 0) +
  17715. (parseInt(pn(e, 'margin-bottom'), 10) || 0) +
  17716. 'px'
  17717. ))
  17718. : (bn(i, 'width'), bn(t, o))
  17719. })
  17720. }
  17721. function nC(t, n) {
  17722. n
  17723. ? (qr(t, G1.fadeOutClass), Jr(t, [G1.transitionClass, G1.fadeInClass]))
  17724. : (qr(t, G1.fadeInClass), Jr(t, [G1.fadeOutClass, G1.transitionClass]))
  17725. }
  17726. function eC(t, n) {
  17727. var e = At.fromDom(t.getContainer())
  17728. n ? (Yr(e, X1), qr(e, Y1)) : (Yr(e, Y1), qr(e, X1))
  17729. }
  17730. function oC(u, t) {
  17731. function o(n) {
  17732. r().each(function (t) {
  17733. return n(t.element)
  17734. })
  17735. }
  17736. function n(t) {
  17737. u.inline || tC(t),
  17738. eC(u, U1.isDocked(t)),
  17739. t.getSystem().broadcastOn([xf()], {}),
  17740. r().each(function (t) {
  17741. return t.getSystem().broadcastOn([xf()], {})
  17742. })
  17743. }
  17744. var e,
  17745. i = gc(),
  17746. r = t.getSink,
  17747. a = u.inline
  17748. ? []
  17749. : [ic.config({ channels: (((e = {})[j1()] = { onReceive: tC }), e) })]
  17750. return H(
  17751. [
  17752. Hg.config({}),
  17753. U1.config({
  17754. contextual: lt(
  17755. {
  17756. lazyContext: function (t) {
  17757. var n = Sn(t.element),
  17758. e = u.inline ? u.getContentAreaContainer() : u.getContainer(),
  17759. o = Ae(At.fromDom(e)),
  17760. r = o.height - n,
  17761. i = o.y + (Zk(t, 'top') ? 0 : n)
  17762. return vt.some(Me(o.x, i, o.width, r))
  17763. },
  17764. onShow: function () {
  17765. o(function (t) {
  17766. return nC(t, !0)
  17767. })
  17768. },
  17769. onShown: function (r) {
  17770. o(function (t) {
  17771. return $r(t, [G1.transitionClass, G1.fadeInClass])
  17772. }),
  17773. i.get().each(function (t) {
  17774. var n,
  17775. e = r.element,
  17776. o = Ut((n = t))
  17777. Oa(o)
  17778. .filter(function (t) {
  17779. return !Lt(n, t)
  17780. })
  17781. .filter(function (t) {
  17782. return Lt(t, At.fromDom(o.dom.body)) || Wt(e, t)
  17783. })
  17784. .each(function () {
  17785. return ka(n)
  17786. }),
  17787. i.clear()
  17788. })
  17789. },
  17790. onHide: function (t) {
  17791. var n = t.element,
  17792. e = r
  17793. _a(n)
  17794. .orThunk(function () {
  17795. return e()
  17796. .toOptional()
  17797. .bind(function (t) {
  17798. return _a(t.element)
  17799. })
  17800. })
  17801. .fold(i.clear, i.set),
  17802. o(function (t) {
  17803. return nC(t, !1)
  17804. })
  17805. },
  17806. onHidden: function () {
  17807. o(function (t) {
  17808. return $r(t, [G1.transitionClass])
  17809. })
  17810. },
  17811. },
  17812. G1
  17813. ),
  17814. lazyViewport: function (t) {
  17815. var n = Fe(),
  17816. e = u.getParam('toolbar_sticky_offset', 0, 'number'),
  17817. o = n.y + (Zk(t, 'top') ? e : 0),
  17818. r = n.height - (Zk(t, 'bottom') ? e : 0)
  17819. return Me(n.x, o, n.width, r)
  17820. },
  17821. modes: [t.header.getDockingMode()],
  17822. onDocked: n,
  17823. onUndocked: n,
  17824. }),
  17825. ],
  17826. a,
  17827. !0
  17828. )
  17829. }
  17830. function rC(t) {
  17831. return ao('menubutton', $1, t)
  17832. }
  17833. function iC(n, t) {
  17834. return t.getAnimationRoot.fold(
  17835. function () {
  17836. return n.element
  17837. },
  17838. function (t) {
  17839. return t(n)
  17840. }
  17841. )
  17842. }
  17843. function uC(t) {
  17844. return t.dimension.property
  17845. }
  17846. function aC(t, n) {
  17847. return t.dimension.getDimension(n)
  17848. }
  17849. function cC(t, n) {
  17850. $r(iC(t, n), [n.shrinkingClass, n.growingClass])
  17851. }
  17852. function sC(t, n) {
  17853. qr(t.element, n.openClass),
  17854. Yr(t.element, n.closedClass),
  17855. dn(t.element, uC(n), '0px'),
  17856. yn(t.element)
  17857. }
  17858. function lC(t, n) {
  17859. qr(t.element, n.closedClass),
  17860. Yr(t.element, n.openClass),
  17861. bn(t.element, uC(n))
  17862. }
  17863. function fC(t, n, e, o) {
  17864. e.setCollapsed(),
  17865. dn(t.element, uC(n), aC(n, t.element)),
  17866. yn(t.element),
  17867. cC(t, n),
  17868. sC(t, n),
  17869. n.onStartShrink(t),
  17870. n.onShrunk(t)
  17871. }
  17872. function dC(t, n, e) {
  17873. var o = aC(n, t.element)
  17874. ;('0px' === o
  17875. ? fC
  17876. : function (t, n, e, o) {
  17877. var r = o.getOrThunk(function () {
  17878. return aC(n, t.element)
  17879. })
  17880. e.setCollapsed(), dn(t.element, uC(n), r), yn(t.element)
  17881. var i = iC(t, n)
  17882. qr(i, n.growingClass),
  17883. Yr(i, n.shrinkingClass),
  17884. sC(t, n),
  17885. n.onStartShrink(t)
  17886. })(t, n, e, vt.some(o))
  17887. }
  17888. function mC(t, n, e) {
  17889. var o = iC(t, n),
  17890. r = Kr(o, n.shrinkingClass),
  17891. i = aC(n, t.element)
  17892. lC(t, n)
  17893. var u = aC(n, t.element)
  17894. ;(r
  17895. ? function () {
  17896. dn(t.element, uC(n), i), yn(t.element)
  17897. }
  17898. : function () {
  17899. sC(t, n)
  17900. })(),
  17901. qr(o, n.shrinkingClass),
  17902. Yr(o, n.growingClass),
  17903. lC(t, n),
  17904. dn(t.element, uC(n), u),
  17905. e.setExpanded(),
  17906. n.onStartGrow(t)
  17907. }
  17908. function gC(t, n, e) {
  17909. return !0 === Kr(iC(t, n), n.growingClass)
  17910. }
  17911. function pC(t, n, e) {
  17912. return !0 === Kr(iC(t, n), n.shrinkingClass)
  17913. }
  17914. function hC(t) {
  17915. return '<alloy.field.' + t + '>'
  17916. }
  17917. function vC(t) {
  17918. return {
  17919. element: function () {
  17920. return t.element.dom
  17921. },
  17922. }
  17923. }
  17924. function bC(t, e) {
  17925. cd.getCurrent(t).each(function (t) {
  17926. return Rg.set(t, [
  17927. ((n = e),
  17928. uO.sketch(function (t) {
  17929. return {
  17930. dom: { tag: 'div', classes: ['tox-sidebar__pane-container'] },
  17931. components:
  17932. ((e = t),
  17933. (r = M(Ct((o = n)), function (t) {
  17934. var n = o[t],
  17935. e = co(ao('sidebar', aO, n))
  17936. return {
  17937. name: t,
  17938. getApi: vC,
  17939. onSetup: e.onSetup,
  17940. onShow: e.onShow,
  17941. onHide: e.onHide,
  17942. }
  17943. })),
  17944. M(r, function (t) {
  17945. var n = Po(st)
  17946. return e.slot(t.name, {
  17947. dom: { tag: 'div', classes: ['tox-sidebar__pane'] },
  17948. behaviours: Kh([
  17949. vv(t, n),
  17950. bv(t, n),
  17951. Cr(Ji(), function (n, t) {
  17952. var e = t.event
  17953. V(r, function (t) {
  17954. return t.name === e.name
  17955. }).each(function (t) {
  17956. ;(e.visible ? t.onShow : t.onHide)(t.getApi(n))
  17957. })
  17958. }),
  17959. ]),
  17960. })
  17961. })),
  17962. slotBehaviours: Kh([
  17963. ou(function (t) {
  17964. return uO.hideAllSlots(t)
  17965. }),
  17966. ]),
  17967. }
  17968. var e, o, r
  17969. })),
  17970. ])
  17971. var n
  17972. })
  17973. }
  17974. function yC(t) {
  17975. return cd.getCurrent(t).bind(function (t) {
  17976. return eO.isGrowing(t) || eO.hasGrown(t)
  17977. ? cd.getCurrent(t).bind(function (n) {
  17978. return V(uO.getSlotNames(n), function (t) {
  17979. return uO.isShowing(n, t)
  17980. })
  17981. })
  17982. : vt.none()
  17983. })
  17984. }
  17985. function xC(t) {
  17986. var n = At.fromHtml(t),
  17987. e = Kt(n),
  17988. o = R(
  17989. void 0 !== n.dom.attributes ? n.dom.attributes : [],
  17990. function (t, n) {
  17991. var e
  17992. return 'class' === n.name
  17993. ? t
  17994. : lt(lt({}, t), (((e = {})[n.name] = n.value), e))
  17995. },
  17996. {}
  17997. ),
  17998. r = Array.prototype.slice.call(n.dom.classList, 0),
  17999. i = 0 === e.length ? {} : { innerHtml: Mr(n) }
  18000. return lt({ tag: Ft(n), classes: r, attributes: o }, i)
  18001. }
  18002. function wC(t) {
  18003. return cd.getCurrent(t).each(function (t) {
  18004. return ka(t.element)
  18005. })
  18006. }
  18007. function SC(f, d, m) {
  18008. function n(t) {
  18009. var n
  18010. !g.get() ||
  18011. ('focusin' === (n = t).type &&
  18012. (n.composed ? Y(n.composedPath()) : vt.from(n.target))
  18013. .map(At.fromDom)
  18014. .filter(Xn)
  18015. .exists(function (t) {
  18016. return Kr(t, 'mce-pastebin')
  18017. })) ||
  18018. (t.preventDefault(), wC(d()), f.editorManager.setActive(f))
  18019. }
  18020. var g = Po(!1),
  18021. e = gc()
  18022. function o(t) {
  18023. var n, e, o, r, i, u, a, c, s, l
  18024. t !== g.get() &&
  18025. (g.set(t),
  18026. (n = f),
  18027. (e = d()),
  18028. (o = t),
  18029. (r = m.providers),
  18030. (c = e.element),
  18031. (s = o),
  18032. (l = 'data-mce-' + (i = 'tabindex')),
  18033. vt
  18034. .from(n.iframeElement)
  18035. .map(At.fromDom)
  18036. .each(function (n) {
  18037. s
  18038. ? (an(n, i).each(function (t) {
  18039. return on(n, l, t)
  18040. }),
  18041. on(n, i, -1))
  18042. : (sn(n, i),
  18043. an(n, l).each(function (t) {
  18044. on(n, i, t), sn(n, l)
  18045. }))
  18046. }),
  18047. o
  18048. ? (fO.block(
  18049. e,
  18050. ((a = r),
  18051. function (t, n) {
  18052. return {
  18053. dom: {
  18054. tag: 'div',
  18055. attributes: {
  18056. 'aria-label': a.translate('Loading...'),
  18057. tabindex: '0',
  18058. },
  18059. classes: ['tox-throbber__busy-spinner'],
  18060. },
  18061. components: [
  18062. {
  18063. dom: xC(
  18064. '<div class="tox-spinner"><div></div><div></div><div></div></div>'
  18065. ),
  18066. },
  18067. ],
  18068. }
  18069. })
  18070. ),
  18071. bn(c, 'display'),
  18072. sn(c, 'aria-hidden'),
  18073. n.hasFocus() && wC(e))
  18074. : ((u = cd.getCurrent(e).exists(function (t) {
  18075. return Ca(t.element)
  18076. })),
  18077. fO.unblock(e),
  18078. dn(c, 'display', 'none'),
  18079. on(c, 'aria-hidden', 'true'),
  18080. u && n.focus()),
  18081. f.fire('AfterProgressState', { state: t }))
  18082. }
  18083. f.inline ||
  18084. f.on('PreInit', function () {
  18085. f.dom.bind(f.getWin(), 'focusin', n),
  18086. f.on('BeforeExecCommand', function (t) {
  18087. 'mcefocus' === t.command.toLowerCase() && !0 !== t.value && n(t)
  18088. })
  18089. }),
  18090. f.on('ProgressState', function (t) {
  18091. var n
  18092. e.on(lp.clearTimeout),
  18093. u(t.time)
  18094. ? ((n = lp.setEditorTimeout(
  18095. f,
  18096. function () {
  18097. return o(t.state)
  18098. },
  18099. t.time
  18100. )),
  18101. e.set(n))
  18102. : (o(t.state), e.clear())
  18103. })
  18104. }
  18105. function kC(t, n, e) {
  18106. return { within: t, extra: n, withinWidth: e }
  18107. }
  18108. function CC(t, n, o) {
  18109. var e,
  18110. r =
  18111. ((e = function (t, n) {
  18112. var e = o(t)
  18113. return vt.some({ element: t, start: n, finish: n + e, width: e })
  18114. }),
  18115. R(
  18116. t,
  18117. function (n, t) {
  18118. return e(t, n.len).fold(rt(n), function (t) {
  18119. return { len: t.finish, list: n.list.concat([t]) }
  18120. })
  18121. },
  18122. { len: 0, list: [] }
  18123. ).list),
  18124. i = F(r, function (t) {
  18125. return t.finish <= n
  18126. }),
  18127. u = I(
  18128. i,
  18129. function (t, n) {
  18130. return t + n.width
  18131. },
  18132. 0
  18133. )
  18134. return { within: i, extra: r.slice(i.length), withinWidth: u }
  18135. }
  18136. function OC(t) {
  18137. return M(t, function (t) {
  18138. return t.element
  18139. })
  18140. }
  18141. function _C(t, n) {
  18142. var e = M(n, function (t) {
  18143. return Eu(t)
  18144. })
  18145. V1.setGroups(t, e)
  18146. }
  18147. function TC(t, n, e) {
  18148. var o,
  18149. r,
  18150. i,
  18151. u,
  18152. a,
  18153. c,
  18154. s,
  18155. l,
  18156. f,
  18157. d,
  18158. m,
  18159. g,
  18160. p,
  18161. h,
  18162. v,
  18163. b,
  18164. y,
  18165. x,
  18166. w,
  18167. S,
  18168. k = n.builtGroups.get()
  18169. 0 !== k.length &&
  18170. ((o = gl(t, n, 'primary')),
  18171. (r = $y.getCoupled(t, 'overflowGroup')),
  18172. dn(o.element, 'visibility', 'hidden'),
  18173. (u = K((i = k.concat([r])), function (n) {
  18174. return _a(n.element).bind(function (t) {
  18175. return n.getSystem().getByDom(t).toOptional()
  18176. })
  18177. })),
  18178. e([]),
  18179. _C(o, i),
  18180. (a = On(o.element)),
  18181. 0 ===
  18182. ((s = a),
  18183. (l = n.builtGroups.get()),
  18184. (d = r),
  18185. (y = (
  18186. 0 ===
  18187. (m = CC(
  18188. l,
  18189. s,
  18190. (f = function (t) {
  18191. return On(t.element)
  18192. })
  18193. )).extra.length
  18194. ? vt.some(m)
  18195. : vt.none()
  18196. ).getOrThunk(function () {
  18197. return CC(l, s - f(d), f)
  18198. })),
  18199. (x = y.within),
  18200. (w = y.extra),
  18201. (S = y.withinWidth),
  18202. (c =
  18203. 1 === w.length && w[0].width <= f(d)
  18204. ? ((b = S), kC(OC(x.concat(w)), [], b))
  18205. : 1 <= w.length
  18206. ? ((p = w), (h = d), (v = S), kC(OC(x).concat([h]), OC(p), v))
  18207. : ((g = S), kC(OC(x), [], g))).extra.length)
  18208. ? (Rg.remove(o, r), e([]))
  18209. : (_C(o, c.within), e(c.extra)),
  18210. bn(o.element, 'visibility'),
  18211. yn(o.element),
  18212. u.each(Hg.focus))
  18213. }
  18214. function EC(t, n) {
  18215. var e = $y.getCoupled(t, 'toolbarSandbox')
  18216. bf.isOpen(e) ? bf.close(e) : bf.open(e, n.toolbar())
  18217. }
  18218. function DC(t, n, e, o) {
  18219. var r = e.getBounds.map(function (t) {
  18220. return t()
  18221. }),
  18222. i = e.lazySink(t).getOrDie()
  18223. ff.positionWithinBounds(
  18224. i,
  18225. n,
  18226. {
  18227. anchor: {
  18228. type: 'hotspot',
  18229. hotspot: t,
  18230. layouts: o,
  18231. overrides: { maxWidthFunction: pO() },
  18232. },
  18233. },
  18234. r
  18235. )
  18236. }
  18237. function BC(t, n, e, o, r) {
  18238. V1.setGroups(n, r), DC(t, n, e, o), Lg.on(t)
  18239. }
  18240. function MC(t) {
  18241. return M(t, function (t) {
  18242. return Eu(t)
  18243. })
  18244. }
  18245. function AC(t, e, o) {
  18246. TC(t, o, function (n) {
  18247. o.overflowGroups.set(n),
  18248. e.getOpt(t).each(function (t) {
  18249. bO.setGroups(t, MC(n))
  18250. })
  18251. })
  18252. }
  18253. function FC(n, e) {
  18254. ml(n, e, 'overflow-button')
  18255. .bind(function () {
  18256. return ml(n, e, 'overflow')
  18257. })
  18258. .each(function (t) {
  18259. QC(n, e), eO.toggleGrow(t)
  18260. })
  18261. }
  18262. function IC(t) {
  18263. var n = t.title.fold(
  18264. function () {
  18265. return {}
  18266. },
  18267. function (t) {
  18268. return { attributes: { title: t } }
  18269. }
  18270. )
  18271. return {
  18272. dom: lt({ tag: 'div', classes: ['tox-toolbar__group'] }, n),
  18273. components: [wO.parts.items({})],
  18274. items: t.items,
  18275. markers: {
  18276. itemSelector:
  18277. '*:not(.tox-split-button) > .tox-tbtn:not([disabled]), .tox-split-button:not([disabled]), .tox-toolbar-nav-js:not([disabled])',
  18278. },
  18279. tgroupBehaviours: nc([py.config({}), Hg.config({})]),
  18280. }
  18281. }
  18282. function RC(t) {
  18283. return wO.sketch(IC(t))
  18284. }
  18285. function VC(e, t) {
  18286. var n = ou(function (t) {
  18287. var n = M(e.initGroups, RC)
  18288. V1.setGroups(t, n)
  18289. })
  18290. return nc([
  18291. Qv(e.providers.isDisabled),
  18292. pv(),
  18293. Fg.config({
  18294. mode: t,
  18295. onEscape: e.onEscape,
  18296. selector: '.tox-toolbar__group',
  18297. }),
  18298. mm('toolbar-events', [n]),
  18299. ])
  18300. }
  18301. function PC(t) {
  18302. var n = t.cyclicKeying ? 'cyclic' : 'acyclic'
  18303. return {
  18304. uid: t.uid,
  18305. dom: { tag: 'div', classes: ['tox-toolbar-overlord'] },
  18306. parts: {
  18307. 'overflow-group': IC({ title: vt.none(), items: [] }),
  18308. 'overflow-button': Y0(
  18309. {
  18310. name: 'more',
  18311. icon: vt.some('more-drawer'),
  18312. disabled: !1,
  18313. tooltip: vt.some('More...'),
  18314. primary: !1,
  18315. borderless: !1,
  18316. },
  18317. vt.none(),
  18318. t.providers
  18319. ),
  18320. },
  18321. splitToolbarBehaviours: VC(t, n),
  18322. }
  18323. }
  18324. function HC(t) {
  18325. var n = t.cyclicKeying ? 'cyclic' : 'acyclic'
  18326. return V1.sketch({
  18327. uid: t.uid,
  18328. dom: {
  18329. tag: 'div',
  18330. classes: ['tox-toolbar'].concat(
  18331. t.type === bh.scrolling ? ['tox-toolbar--scrolling'] : []
  18332. ),
  18333. },
  18334. components: [V1.parts.groups({})],
  18335. toolbarBehaviours: VC(t, n),
  18336. })
  18337. }
  18338. function zC(t) {
  18339. return 'string' == typeof t ? t.split(' ') : t
  18340. }
  18341. function NC(i, u) {
  18342. var a = lt(lt({}, IO), u.menus),
  18343. e = 0 < Ct(u.menus).length,
  18344. t = F(
  18345. void 0 === u.menubar || !0 === u.menubar
  18346. ? zC('file edit view insert format tools table help')
  18347. : zC(!1 === u.menubar ? '' : u.menubar),
  18348. function (t) {
  18349. var n = Tt(IO, t)
  18350. return e
  18351. ? n ||
  18352. tt(u.menus, t).exists(function (t) {
  18353. return Tt(t, 'items')
  18354. })
  18355. : n
  18356. }
  18357. )
  18358. return F(
  18359. M(t, function (t) {
  18360. var n = a[t],
  18361. e = { title: n.title, items: zC(n.items) },
  18362. o = u,
  18363. r = i.getParam('removed_menuitems', '').split(/[ ,]/)
  18364. return {
  18365. text: e.title,
  18366. getItems: function () {
  18367. return z(e.items, function (t) {
  18368. var n = t.toLowerCase()
  18369. return 0 === n.trim().length ||
  18370. d(r, function (t) {
  18371. return t === n
  18372. })
  18373. ? []
  18374. : 'separator' === n || '|' === n
  18375. ? [{ type: 'separator' }]
  18376. : o.menuItems[n]
  18377. ? [o.menuItems[n]]
  18378. : []
  18379. })
  18380. },
  18381. }
  18382. }),
  18383. function (t) {
  18384. return (
  18385. 0 < t.getItems().length &&
  18386. d(t.getItems(), function (t) {
  18387. return 'separator' !== t.type
  18388. })
  18389. )
  18390. }
  18391. )
  18392. }
  18393. function LC(t) {
  18394. function n() {
  18395. ;(t._skinLoaded = !0), t.fire('SkinLoaded')
  18396. }
  18397. return function () {
  18398. t.initialized ? n() : t.on('init', n)
  18399. }
  18400. }
  18401. function WC(e, o, r) {
  18402. return new Ap(function (t, n) {
  18403. r.load(o, t, n),
  18404. e.on('remove', function () {
  18405. return r.unload(o)
  18406. })
  18407. })
  18408. }
  18409. function UC(t, n) {
  18410. var e,
  18411. o,
  18412. r,
  18413. i,
  18414. u,
  18415. a,
  18416. c,
  18417. s,
  18418. l,
  18419. f =
  18420. ((r = (e = n).getParam('skin')),
  18421. (i = e.getParam('skin_url')),
  18422. !1 !== r &&
  18423. ((o = r || 'oxide'),
  18424. (i = i
  18425. ? e.documentBaseURI.toAbsolute(i)
  18426. : ov.baseURL + '/skins/ui/' + o)),
  18427. i)
  18428. f &&
  18429. n.contentCSS.push(f + (t ? '/content.inline' : '/content') + '.min.css'),
  18430. (!1 === n.getParam('skin')) == 0 && y(f)
  18431. ? Ap.all([
  18432. WC(n, f + '/skin.min.css', n.ui.styleSheetLoader),
  18433. ((c = n),
  18434. (s = f),
  18435. (l = At.fromDom(c.getElement())),
  18436. pe(l).isSome()
  18437. ? WC(c, s + '/skin.shadowdom.min.css', ev.DOM.styleSheetLoader)
  18438. : Ap.resolve()),
  18439. ]).then(
  18440. LC(n),
  18441. ((u = n),
  18442. (a = 'Skin could not be loaded'),
  18443. function () {
  18444. return u.fire('SkinLoadError', { message: a })
  18445. })
  18446. )
  18447. : LC(n)()
  18448. }
  18449. function jC(o, r) {
  18450. return function (n) {
  18451. function t() {
  18452. n.setActive(o.formatter.match(r))
  18453. var t = o.formatter.formatChanged(r, n.setActive)
  18454. e.set(t)
  18455. }
  18456. var e = mc()
  18457. return (
  18458. o.initialized ? t() : o.once('init', t),
  18459. function () {
  18460. o.off('init', t), e.clear()
  18461. }
  18462. )
  18463. }
  18464. }
  18465. function GC(o, r, i) {
  18466. return function (t) {
  18467. function n() {
  18468. return i(t)
  18469. }
  18470. function e() {
  18471. i(t), o.on(r, n)
  18472. }
  18473. return (
  18474. o.initialized ? e() : o.once('init', e),
  18475. function () {
  18476. o.off('init', e), o.off(r, n)
  18477. }
  18478. )
  18479. }
  18480. }
  18481. function XC(n) {
  18482. return function (t) {
  18483. return function () {
  18484. n.undoManager.transact(function () {
  18485. n.focus(), n.execCommand('mceToggleFormat', !1, t.format)
  18486. })
  18487. }
  18488. }
  18489. }
  18490. function YC(t, n) {
  18491. return function () {
  18492. return t.execCommand(n)
  18493. }
  18494. }
  18495. function qC(t, n, e) {
  18496. var u,
  18497. a,
  18498. c,
  18499. o = e.dataset,
  18500. r =
  18501. 'basic' === o.type
  18502. ? function () {
  18503. return M(o.data, function (t) {
  18504. return yk(t, e.isSelectedFor, e.getPreviewFor)
  18505. })
  18506. }
  18507. : o.getData
  18508. return {
  18509. items:
  18510. ((u = n),
  18511. (a = e),
  18512. (c = function (t, n, e) {
  18513. var o = 'formatter' === t.type && a.isInvalid(t)
  18514. return 0 === n
  18515. ? o
  18516. ? []
  18517. : i(t, n, !1, e).toArray()
  18518. : i(t, n, o, e).toArray()
  18519. }),
  18520. {
  18521. validateItems: s,
  18522. getFetch: function (e, o) {
  18523. return function (t, n) {
  18524. n(U0(s(o()), Sh.CLOSE_ON_EXECUTE, e, !1))
  18525. }
  18526. },
  18527. }),
  18528. getStyleItems: r,
  18529. }
  18530. function i(t, n, e, o) {
  18531. var r = u.shared.providers.translate(t.title)
  18532. if ('separator' === t.type) return vt.some({ type: 'separator', text: r })
  18533. if ('submenu' !== t.type)
  18534. return vt.some(
  18535. lt(
  18536. {
  18537. type: 'togglemenuitem',
  18538. text: r,
  18539. icon: t.icon,
  18540. active: t.isSelected(o),
  18541. disabled: e,
  18542. onAction: a.onAction(t),
  18543. },
  18544. t.getStylePreview().fold(
  18545. function () {
  18546. return {}
  18547. },
  18548. function (t) {
  18549. return { meta: { style: t } }
  18550. }
  18551. )
  18552. )
  18553. )
  18554. var i = z(t.getStyleItems(), function (t) {
  18555. return c(t, n, o)
  18556. })
  18557. return 0 === n && i.length <= 0
  18558. ? vt.none()
  18559. : vt.some({
  18560. type: 'nestedmenuitem',
  18561. text: r,
  18562. disabled: i.length <= 0,
  18563. getSubmenuItems: function () {
  18564. return z(t.getStyleItems(), function (t) {
  18565. return c(t, n, o)
  18566. })
  18567. },
  18568. })
  18569. }
  18570. function s(t) {
  18571. var n = a.getCurrentValue(),
  18572. e = a.shouldHide ? 0 : 1
  18573. return z(t, function (t) {
  18574. return c(t, e, n)
  18575. })
  18576. }
  18577. }
  18578. function KC(t, n, e) {
  18579. var o = qC(0, n, e),
  18580. r = o.items,
  18581. i = o.getStyleItems,
  18582. u = GC(t, 'NodeChange', function (t) {
  18583. var n = t.getComponent()
  18584. e.updateText(n)
  18585. })
  18586. return L0(
  18587. {
  18588. text: e.icon.isSome() ? vt.none() : e.text,
  18589. icon: e.icon,
  18590. tooltip: vt.from(e.tooltip),
  18591. role: vt.none(),
  18592. fetch: r.getFetch(n, i),
  18593. onSetup: u,
  18594. getApi: function (t) {
  18595. return { getComponent: rt(t) }
  18596. },
  18597. columns: 1,
  18598. presets: 'normal',
  18599. classes: e.icon.isSome() ? [] : ['bespoke'],
  18600. dropdownBehaviours: [],
  18601. },
  18602. 'tox-tbtn',
  18603. n.shared
  18604. )
  18605. }
  18606. function JC(t) {
  18607. return (
  18608. (function (t) {
  18609. for (; (t = t.parentNode); ) {
  18610. var n = t.contentEditable
  18611. if (n && 'inherit' !== n) return O1(t)
  18612. }
  18613. return !1
  18614. })(t) && !_1(t)
  18615. )
  18616. }
  18617. function $C(r, t) {
  18618. function n(t) {
  18619. return vl(r)
  18620. }
  18621. function e(e, o) {
  18622. return function (t, n) {
  18623. return ml(t, r, n)
  18624. .map(function (t) {
  18625. return e(t, n)
  18626. })
  18627. .getOr(o)
  18628. }
  18629. }
  18630. function o(t, n) {
  18631. return 'true' !== un(t.element, 'aria-hidden')
  18632. }
  18633. var i,
  18634. u = e(o, !1),
  18635. a = e(function (t, n) {
  18636. var e
  18637. o(t) &&
  18638. (dn((e = t.element), 'display', 'none'),
  18639. on(e, 'aria-hidden', 'true'),
  18640. br(t, Ji(), { name: n, visible: !1 }))
  18641. }),
  18642. c =
  18643. ((i = a),
  18644. function (n, t) {
  18645. St(t, function (t) {
  18646. return i(n, t)
  18647. })
  18648. }),
  18649. s = e(function (t, n) {
  18650. var e
  18651. o(t) ||
  18652. (bn((e = t.element), 'display'),
  18653. sn(e, 'aria-hidden'),
  18654. br(t, Ji(), { name: n, visible: !0 }))
  18655. })
  18656. return {
  18657. uid: r.uid,
  18658. dom: r.dom,
  18659. components: t,
  18660. behaviours: tl(r.slotBehaviours),
  18661. apis: {
  18662. getSlotNames: n,
  18663. getSlot: function (t, n) {
  18664. return ml(t, r, n)
  18665. },
  18666. isShowing: u,
  18667. hideSlot: a,
  18668. hideAllSlots: function (t) {
  18669. return c(t, n())
  18670. },
  18671. showSlot: s,
  18672. },
  18673. }
  18674. }
  18675. function QC(t, n) {
  18676. ml(t, n, 'overflow').each(function (e) {
  18677. TC(t, n, function (t) {
  18678. var n = M(t, function (t) {
  18679. return Eu(t)
  18680. })
  18681. V1.setGroups(e, n)
  18682. }),
  18683. ml(t, n, 'overflow-button').each(function (t) {
  18684. eO.hasGrown(e) && Lg.on(t)
  18685. }),
  18686. eO.refresh(e)
  18687. })
  18688. }
  18689. var ZC,
  18690. t1,
  18691. n1,
  18692. e1 = 'data-value',
  18693. o1 = function (n, e, t, o) {
  18694. return M(t, function (t) {
  18695. return rk(t)
  18696. ? {
  18697. type: 'togglemenuitem',
  18698. text: t.text,
  18699. value: t.value,
  18700. active: t.value === o,
  18701. onAction: function () {
  18702. Df.setValue(n, t.value), br(n, yy, { name: e }), Hg.focus(n)
  18703. },
  18704. }
  18705. : {
  18706. type: 'nestedmenuitem',
  18707. text: t.text,
  18708. getSubmenuItems: function () {
  18709. return o1(n, e, t.items, o)
  18710. },
  18711. }
  18712. })
  18713. },
  18714. r1 = function (t, n) {
  18715. return K(t, function (t) {
  18716. return rk(t) ? ot(t.value === n, t) : r1(t.items, n)
  18717. })
  18718. },
  18719. i1 = kl({
  18720. name: 'HtmlSelect',
  18721. configFields: [
  18722. mo('options'),
  18723. Zs('selectBehaviours', [Hg, Df]),
  18724. Eo('selectClasses', []),
  18725. Eo('selectAttributes', {}),
  18726. wo('data'),
  18727. ],
  18728. factory: function (e, t) {
  18729. var n = M(e.options, function (t) {
  18730. return { dom: { tag: 'option', value: t.value, innerHtml: t.text } }
  18731. }),
  18732. o = e.data
  18733. .map(function (t) {
  18734. return sr('initialValue', t)
  18735. })
  18736. .getOr({})
  18737. return {
  18738. uid: e.uid,
  18739. dom: {
  18740. tag: 'select',
  18741. classes: e.selectClasses,
  18742. attributes: e.selectAttributes,
  18743. },
  18744. components: n,
  18745. behaviours: nl(e.selectBehaviours, [
  18746. Hg.config({}),
  18747. Df.config({
  18748. store: lt(
  18749. {
  18750. mode: 'manual',
  18751. getValue: function (t) {
  18752. return Qr(t.element)
  18753. },
  18754. setValue: function (t, n) {
  18755. V(e.options, function (t) {
  18756. return t.value === n
  18757. }).isSome() && Zr(t.element, n)
  18758. },
  18759. },
  18760. o
  18761. ),
  18762. }),
  18763. ]),
  18764. }
  18765. },
  18766. }),
  18767. u1 = Object.freeze({
  18768. __proto__: null,
  18769. events: function (t, n) {
  18770. var e = t.stream.streams.setup(t, n)
  18771. return eu(
  18772. [
  18773. Cr(t.event, e),
  18774. ru(function () {
  18775. return n.cancel()
  18776. }),
  18777. ].concat(
  18778. t.cancelEvent
  18779. .map(function (t) {
  18780. return [
  18781. Cr(t, function () {
  18782. return n.cancel()
  18783. }),
  18784. ]
  18785. })
  18786. .getOr([])
  18787. )
  18788. )
  18789. },
  18790. }),
  18791. a1 = Object.freeze({
  18792. __proto__: null,
  18793. throttle: ak,
  18794. init: function (t) {
  18795. return t.stream.streams.state(t)
  18796. },
  18797. }),
  18798. c1 = xa({
  18799. fields: [
  18800. go(
  18801. 'stream',
  18802. lo('mode', {
  18803. throttle: [
  18804. mo('delay'),
  18805. Eo('stopEvent', !0),
  18806. ta('streams', {
  18807. setup: function (t, n) {
  18808. var e = t.stream,
  18809. o = vp(t.onStream, e.delay)
  18810. return (
  18811. n.setTimer(o),
  18812. function (t, n) {
  18813. o.throttle(t, n), e.stopEvent && n.stop()
  18814. }
  18815. )
  18816. },
  18817. state: ak,
  18818. }),
  18819. ],
  18820. })
  18821. ),
  18822. Eo('event', 'input'),
  18823. wo('cancelEvent'),
  18824. Qu('onStream'),
  18825. ],
  18826. name: 'streaming',
  18827. active: u1,
  18828. state: a1,
  18829. }),
  18830. s1 = function (t) {
  18831. sk(t, function (t, n) {
  18832. return t.setSelectionRange(n.length, n.length)
  18833. })
  18834. },
  18835. l1 = rt('alloy.typeahead.itemexecute'),
  18836. f1 = rt(
  18837. [
  18838. wo('lazySink'),
  18839. mo('fetch'),
  18840. Eo('minChars', 5),
  18841. Eo('responseTime', 1e3),
  18842. Ju('onOpen'),
  18843. Eo('getHotspot', vt.some),
  18844. Eo('getAnchorOverrides', rt({})),
  18845. Eo('layouts', vt.none()),
  18846. Eo('eventOrder', {}),
  18847. Vo('model', {}, [
  18848. Eo('getDisplayText', function (t) {
  18849. return void 0 !== t.meta && void 0 !== t.meta.text
  18850. ? t.meta.text
  18851. : t.value
  18852. }),
  18853. Eo('selectsOver', !0),
  18854. Eo('populateFromBrowse', !0),
  18855. ]),
  18856. Ju('onSetValue'),
  18857. $u('onExecute'),
  18858. Ju('onItemExecute'),
  18859. Eo('inputClasses', []),
  18860. Eo('inputAttributes', {}),
  18861. Eo('inputStyles', {}),
  18862. Eo('matchWidth', !0),
  18863. Eo('useMinWidth', !1),
  18864. Eo('dismissOnBlur', !0),
  18865. qu(['openClass']),
  18866. wo('initialData'),
  18867. Zs('typeaheadBehaviours', [Hg, Df, c1, Fg, Lg, $y]),
  18868. cr('previewing', function () {
  18869. return Po(!0)
  18870. }),
  18871. ]
  18872. .concat(Ey())
  18873. .concat(ux())
  18874. ),
  18875. d1 = rt([
  18876. $f({
  18877. schema: [Yu()],
  18878. name: 'menu',
  18879. overrides: function (o) {
  18880. return {
  18881. fakeFocus: !0,
  18882. onHighlight: function (n, e) {
  18883. o.previewing.get()
  18884. ? n
  18885. .getSystem()
  18886. .getByUid(o.uid)
  18887. .each(function (t) {
  18888. !(function (t, n, o) {
  18889. if (t.selectsOver) {
  18890. var e = Df.getValue(n),
  18891. r = t.getDisplayText(e),
  18892. i = Df.getValue(o)
  18893. return 0 === t.getDisplayText(i).indexOf(r)
  18894. ? vt.some(function () {
  18895. var e
  18896. ck(0, n, o),
  18897. (e = r.length),
  18898. sk(n, function (t, n) {
  18899. return t.setSelectionRange(e, n.length)
  18900. })
  18901. })
  18902. : vt.none()
  18903. }
  18904. return vt.none()
  18905. })(o.model, t, e).fold(
  18906. function () {
  18907. return hd.dehighlight(n, e)
  18908. },
  18909. function (t) {
  18910. return t()
  18911. }
  18912. )
  18913. })
  18914. : n
  18915. .getSystem()
  18916. .getByUid(o.uid)
  18917. .each(function (t) {
  18918. o.model.populateFromBrowse && ck(o.model, t, e)
  18919. }),
  18920. o.previewing.set(!1)
  18921. },
  18922. onExecute: function (t, n) {
  18923. return t
  18924. .getSystem()
  18925. .getByUid(o.uid)
  18926. .toOptional()
  18927. .map(function (t) {
  18928. return br(t, l1(), { item: n }), !0
  18929. })
  18930. },
  18931. onHover: function (t, n) {
  18932. o.previewing.set(!1),
  18933. t
  18934. .getSystem()
  18935. .getByUid(o.uid)
  18936. .each(function (t) {
  18937. o.model.populateFromBrowse && ck(o.model, t, n)
  18938. })
  18939. },
  18940. }
  18941. },
  18942. }),
  18943. ]),
  18944. m1 = Cl({
  18945. name: 'Typeahead',
  18946. configFields: f1(),
  18947. partFields: d1(),
  18948. factory: function (r, t, n, i) {
  18949. function e(t, n, e) {
  18950. r.previewing.set(!1)
  18951. var o = $y.getCoupled(t, 'sandbox')
  18952. bf.isOpen(o)
  18953. ? cd.getCurrent(o).each(function (t) {
  18954. hd.getHighlighted(t).fold(
  18955. function () {
  18956. e(t)
  18957. },
  18958. function () {
  18959. wr(o, t.element, 'keydown', n)
  18960. }
  18961. )
  18962. })
  18963. : nx(
  18964. r,
  18965. u(t),
  18966. t,
  18967. o,
  18968. i,
  18969. function (t) {
  18970. cd.getCurrent(t).each(e)
  18971. },
  18972. Hy.HighlightFirst
  18973. ).get(st)
  18974. }
  18975. function u(e) {
  18976. return function (t) {
  18977. return t.map(function (t) {
  18978. var n = z(Z(t.menus), function (t) {
  18979. return F(t.items, function (t) {
  18980. return 'item' === t.type
  18981. })
  18982. })
  18983. return (
  18984. Df.getState(e).update(
  18985. M(n, function (t) {
  18986. return t.data
  18987. })
  18988. ),
  18989. t
  18990. )
  18991. })
  18992. }
  18993. }
  18994. var o = ry(r),
  18995. a = [
  18996. Hg.config({}),
  18997. Df.config({
  18998. onSetValue: r.onSetValue,
  18999. store: lt(
  19000. {
  19001. mode: 'dataset',
  19002. getDataKey: function (t) {
  19003. return Qr(t.element)
  19004. },
  19005. getFallbackEntry: function (t) {
  19006. return { value: t, meta: {} }
  19007. },
  19008. setValue: function (t, n) {
  19009. Zr(t.element, r.model.getDisplayText(n))
  19010. },
  19011. },
  19012. r.initialData
  19013. .map(function (t) {
  19014. return sr('initialValue', t)
  19015. })
  19016. .getOr({})
  19017. ),
  19018. }),
  19019. c1.config({
  19020. stream: {
  19021. mode: 'throttle',
  19022. delay: r.responseTime,
  19023. stopEvent: !1,
  19024. },
  19025. onStream: function (t, n) {
  19026. var e,
  19027. o = $y.getCoupled(t, 'sandbox')
  19028. Hg.isFocused(t) &&
  19029. Qr(t.element).length >= r.minChars &&
  19030. ((e = cd.getCurrent(o).bind(function (t) {
  19031. return hd.getHighlighted(t).map(Df.getValue)
  19032. })),
  19033. r.previewing.set(!0),
  19034. nx(
  19035. r,
  19036. u(t),
  19037. t,
  19038. o,
  19039. i,
  19040. function (t) {
  19041. cd.getCurrent(o).each(function (t) {
  19042. e.fold(
  19043. function () {
  19044. r.model.selectsOver && hd.highlightFirst(t)
  19045. },
  19046. function (n) {
  19047. hd.highlightBy(t, function (t) {
  19048. return Df.getValue(t).value === n.value
  19049. }),
  19050. hd.getHighlighted(t).orThunk(function () {
  19051. return hd.highlightFirst(t), vt.none()
  19052. })
  19053. }
  19054. )
  19055. })
  19056. },
  19057. Hy.HighlightFirst
  19058. ).get(st))
  19059. },
  19060. cancelEvent: zi(),
  19061. }),
  19062. Fg.config({
  19063. mode: 'special',
  19064. onDown: function (t, n) {
  19065. return e(t, n, hd.highlightFirst), vt.some(!0)
  19066. },
  19067. onEscape: function (t) {
  19068. var n = $y.getCoupled(t, 'sandbox')
  19069. return bf.isOpen(n) ? (bf.close(n), vt.some(!0)) : vt.none()
  19070. },
  19071. onUp: function (t, n) {
  19072. return e(t, n, hd.highlightLast), vt.some(!0)
  19073. },
  19074. onEnter: function (n) {
  19075. var t = $y.getCoupled(n, 'sandbox'),
  19076. e = bf.isOpen(t)
  19077. if (e && !r.previewing.get())
  19078. return cd
  19079. .getCurrent(t)
  19080. .bind(function (t) {
  19081. return hd.getHighlighted(t)
  19082. })
  19083. .map(function (t) {
  19084. return br(n, l1(), { item: t }), !0
  19085. })
  19086. var o = Df.getValue(n)
  19087. return (
  19088. vr(n, zi()),
  19089. r.onExecute(t, n, o),
  19090. e && bf.close(t),
  19091. vt.some(!0)
  19092. )
  19093. },
  19094. }),
  19095. Lg.config({
  19096. toggleClass: r.markers.openClass,
  19097. aria: { mode: 'expanded' },
  19098. }),
  19099. $y.config({
  19100. others: {
  19101. sandbox: function (t) {
  19102. return rx(r, t, {
  19103. onOpen: function () {
  19104. return Lg.on(t)
  19105. },
  19106. onClose: function () {
  19107. return Lg.off(t)
  19108. },
  19109. })
  19110. },
  19111. },
  19112. }),
  19113. mm(
  19114. 'typeaheadevents',
  19115. [
  19116. uu(function (t) {
  19117. ex(r, u(t), t, i, st, Hy.HighlightFirst).get(st)
  19118. }),
  19119. Cr(l1(), function (t, n) {
  19120. var e = $y.getCoupled(t, 'sandbox')
  19121. ck(r.model, t, n.event.item),
  19122. vr(t, zi()),
  19123. r.onItemExecute(t, e, n.event.item, Df.getValue(t)),
  19124. bf.close(e),
  19125. s1(t)
  19126. }),
  19127. ].concat(
  19128. r.dismissOnBlur
  19129. ? [
  19130. Cr(Mi(), function (t) {
  19131. var n = $y.getCoupled(t, 'sandbox')
  19132. _a(n.element).isNone() && bf.close(n)
  19133. }),
  19134. ]
  19135. : []
  19136. )
  19137. ),
  19138. ]
  19139. return {
  19140. uid: r.uid,
  19141. dom: iy(
  19142. Yo(r, {
  19143. inputAttributes: {
  19144. role: 'combobox',
  19145. 'aria-autocomplete': 'list',
  19146. 'aria-haspopup': 'true',
  19147. },
  19148. })
  19149. ),
  19150. behaviours: lt(lt({}, o), nl(r.typeaheadBehaviours, a)),
  19151. eventOrder: r.eventOrder,
  19152. }
  19153. },
  19154. }),
  19155. g1 = function (i) {
  19156. return lt(lt({}, i), {
  19157. toCached: function () {
  19158. return g1(i.toCached())
  19159. },
  19160. bindFuture: function (n) {
  19161. return g1(
  19162. i.bind(function (t) {
  19163. return t.fold(
  19164. function (t) {
  19165. return Gy(Ve.error(t))
  19166. },
  19167. function (t) {
  19168. return n(t)
  19169. }
  19170. )
  19171. })
  19172. )
  19173. },
  19174. bindResult: function (n) {
  19175. return g1(
  19176. i.map(function (t) {
  19177. return t.bind(n)
  19178. })
  19179. )
  19180. },
  19181. mapResult: function (n) {
  19182. return g1(
  19183. i.map(function (t) {
  19184. return t.map(n)
  19185. })
  19186. )
  19187. },
  19188. mapError: function (n) {
  19189. return g1(
  19190. i.map(function (t) {
  19191. return t.mapError(n)
  19192. })
  19193. )
  19194. },
  19195. foldResult: function (n, e) {
  19196. return i.map(function (t) {
  19197. return t.fold(n, e)
  19198. })
  19199. },
  19200. withTimeout: function (t, r) {
  19201. return g1(
  19202. jy(function (n) {
  19203. var e = !1,
  19204. o = setTimeout(function () {
  19205. ;(e = !0), n(Ve.error(r()))
  19206. }, t)
  19207. i.get(function (t) {
  19208. e || (clearTimeout(o), n(t))
  19209. })
  19210. })
  19211. )
  19212. },
  19213. })
  19214. },
  19215. p1 = function (t) {
  19216. return g1(jy(t))
  19217. },
  19218. h1 = { type: 'separator' },
  19219. v1 = Ir('aria-invalid'),
  19220. b1 = {
  19221. bar: pk(function (t, n) {
  19222. return (
  19223. (e = n.shared),
  19224. {
  19225. dom: {
  19226. tag: 'div',
  19227. classes: ['tox-bar', 'tox-form__controls-h-stack'],
  19228. },
  19229. components: M(t.items, e.interpreter),
  19230. }
  19231. )
  19232. var e
  19233. }),
  19234. collection: pk(function (t, n) {
  19235. return (
  19236. (u = t),
  19237. (a = n.shared.providers),
  19238. (c = u.label.map(function (t) {
  19239. return oy(t, a)
  19240. })),
  19241. (s = e(function (t, n, e, o) {
  19242. n.stop(), a.isDisabled() || br(t, Sy, { name: u.name, value: o })
  19243. })),
  19244. (l = [
  19245. Cr(
  19246. vi(),
  19247. e(function (t, n, e) {
  19248. ka(e)
  19249. })
  19250. ),
  19251. Cr(Ci(), s),
  19252. Cr(Vi(), s),
  19253. Cr(
  19254. bi(),
  19255. e(function (t, n, e) {
  19256. Iu(t.element, '.' + Mh).each(function (t) {
  19257. qr(t, Mh)
  19258. }),
  19259. Yr(e, Mh)
  19260. })
  19261. ),
  19262. Cr(
  19263. yi(),
  19264. e(function (t) {
  19265. Iu(t.element, '.' + Mh).each(function (t) {
  19266. qr(t, Mh)
  19267. })
  19268. })
  19269. ),
  19270. uu(
  19271. e(function (t, n, e, o) {
  19272. br(t, Sy, { name: u.name, value: o })
  19273. })
  19274. ),
  19275. ]),
  19276. ey(
  19277. c,
  19278. my.parts.field({
  19279. dom: {
  19280. tag: 'div',
  19281. classes: ['tox-collection'].concat(
  19282. 1 !== u.columns
  19283. ? ['tox-collection--grid']
  19284. : ['tox-collection--list']
  19285. ),
  19286. },
  19287. components: [],
  19288. factory: { sketch: h },
  19289. behaviours: nc([
  19290. gd.config({
  19291. disabled: a.isDisabled,
  19292. onDisabled: function (t) {
  19293. o(t, function (t) {
  19294. Yr(t, 'tox-collection__item--state-disabled'),
  19295. on(t, 'aria-disabled', !0)
  19296. })
  19297. },
  19298. onEnabled: function (t) {
  19299. o(t, function (t) {
  19300. qr(t, 'tox-collection__item--state-disabled'),
  19301. sn(t, 'aria-disabled')
  19302. })
  19303. },
  19304. }),
  19305. pv(),
  19306. Rg.config({}),
  19307. Df.config({
  19308. store: { mode: 'memory', initialValue: [] },
  19309. onSetValue: function (o, t) {
  19310. var n = o,
  19311. e = M(t, function (t) {
  19312. var n = dp.translate(t.text),
  19313. e =
  19314. 1 === u.columns
  19315. ? '<div class="tox-collection__item-label">' +
  19316. n +
  19317. '</div>'
  19318. : '',
  19319. o =
  19320. '<div class="tox-collection__item-icon">' +
  19321. t.icon +
  19322. '</div>',
  19323. r = { _: ' ', ' - ': ' ', '-': ' ' },
  19324. i = n.replace(/\_| \- |\-/g, function (t) {
  19325. return r[t]
  19326. })
  19327. return (
  19328. '<div class="tox-collection__item' +
  19329. (a.isDisabled()
  19330. ? ' tox-collection__item--state-disabled'
  19331. : '') +
  19332. '" tabindex="-1" data-collection-item-value="' +
  19333. hy.encodeAllRaw(t.value) +
  19334. '" title="' +
  19335. i +
  19336. '" aria-label="' +
  19337. i +
  19338. '">' +
  19339. o +
  19340. e +
  19341. '</div>'
  19342. )
  19343. }),
  19344. r = M(
  19345. 'auto' !== u.columns && 1 < u.columns
  19346. ? p(e, u.columns)
  19347. : [e],
  19348. function (t) {
  19349. return (
  19350. '<div class="tox-collection__group">' +
  19351. t.join('') +
  19352. '</div>'
  19353. )
  19354. }
  19355. )
  19356. Ar(n.element, r.join('')),
  19357. 'auto' === u.columns &&
  19358. ah(o, 5, 'tox-collection__item').each(function (t) {
  19359. var n = t.numRows,
  19360. e = t.numColumns
  19361. Fg.setGridSize(o, n, e)
  19362. }),
  19363. vr(o, Ty)
  19364. },
  19365. }),
  19366. py.config({}),
  19367. Fg.config(
  19368. 1 === (i = u.columns)
  19369. ? {
  19370. mode: 'menu',
  19371. moveOnTab: !1,
  19372. selector: '.tox-collection__item',
  19373. }
  19374. : 'auto' === i
  19375. ? {
  19376. mode: 'flatgrid',
  19377. selector: '.tox-collection__item',
  19378. initSize: { numColumns: 1, numRows: 1 },
  19379. }
  19380. : {
  19381. mode: 'matrix',
  19382. selectors: {
  19383. row: '.tox-collection__group',
  19384. cell: '.' + Ch,
  19385. },
  19386. }
  19387. ),
  19388. mm('collection-events', l),
  19389. ]),
  19390. eventOrder:
  19391. (((r = {})[Ii()] = [
  19392. 'disabling',
  19393. 'alloy.base.behaviour',
  19394. 'collection-events',
  19395. ]),
  19396. r),
  19397. }),
  19398. ['tox-form__group--collection'],
  19399. []
  19400. )
  19401. )
  19402. function e(o) {
  19403. return function (n, e) {
  19404. Ru(e.event.target, '[data-collection-item-value]').each(function (
  19405. t
  19406. ) {
  19407. o(n, e, t, un(t, 'data-collection-item-value'))
  19408. })
  19409. }
  19410. }
  19411. function o(t, n) {
  19412. return M(vs(t.element, '.tox-collection__item'), n)
  19413. }
  19414. var u, a, r, i, c, s, l
  19415. }),
  19416. alertbanner: pk(function (t, n) {
  19417. return (
  19418. (o = n.shared.providers),
  19419. ly.sketch({
  19420. dom: {
  19421. tag: 'div',
  19422. attributes: { role: 'alert' },
  19423. classes: [
  19424. 'tox-notification',
  19425. 'tox-notification--in',
  19426. 'tox-notification--' + (e = t).level,
  19427. ],
  19428. },
  19429. components: [
  19430. {
  19431. dom: { tag: 'div', classes: ['tox-notification__icon'] },
  19432. components: [
  19433. fp.sketch({
  19434. dom: {
  19435. tag: 'button',
  19436. classes: [
  19437. 'tox-button',
  19438. 'tox-button--naked',
  19439. 'tox-button--icon',
  19440. ],
  19441. innerHtml: Um(e.icon, o.icons),
  19442. attributes: { title: o.translate(e.iconTooltip) },
  19443. },
  19444. action: function (t) {
  19445. br(t, Sy, { name: 'alert-banner', value: e.url })
  19446. },
  19447. buttonBehaviours: nc([jm()]),
  19448. }),
  19449. ],
  19450. },
  19451. {
  19452. dom: {
  19453. tag: 'div',
  19454. classes: ['tox-notification__body'],
  19455. innerHtml: o.translate(e.text),
  19456. },
  19457. },
  19458. ],
  19459. })
  19460. )
  19461. var e, o
  19462. }),
  19463. input: pk(function (t, n) {
  19464. return (
  19465. (o = n.shared.providers),
  19466. uk(
  19467. {
  19468. name: (e = t).name,
  19469. multiline: !1,
  19470. label: e.label,
  19471. inputMode: e.inputMode,
  19472. placeholder: e.placeholder,
  19473. flex: !1,
  19474. disabled: e.disabled,
  19475. classname: 'tox-textfield',
  19476. validation: vt.none(),
  19477. maximized: e.maximized,
  19478. },
  19479. o
  19480. )
  19481. )
  19482. var e, o
  19483. }),
  19484. textarea: pk(function (t, n) {
  19485. return (
  19486. (o = n.shared.providers),
  19487. uk(
  19488. {
  19489. name: (e = t).name,
  19490. multiline: !0,
  19491. label: e.label,
  19492. inputMode: vt.none(),
  19493. placeholder: e.placeholder,
  19494. flex: !0,
  19495. disabled: e.disabled,
  19496. classname: 'tox-textarea',
  19497. validation: vt.none(),
  19498. maximized: e.maximized,
  19499. },
  19500. o
  19501. )
  19502. )
  19503. var e, o
  19504. }),
  19505. label: pk(function (t, n) {
  19506. return (
  19507. (r = {
  19508. dom: {
  19509. tag: 'label',
  19510. innerHtml: (o = n.shared).providers.translate((e = t).label),
  19511. classes: ['tox-label'],
  19512. },
  19513. }),
  19514. (i = M(e.items, o.interpreter)),
  19515. {
  19516. dom: { tag: 'div', classes: ['tox-form__group'] },
  19517. components: [r].concat(i),
  19518. behaviours: nc([
  19519. aw(),
  19520. Rg.config({}),
  19521. cw(vt.none()),
  19522. Fg.config({ mode: 'acyclic' }),
  19523. ]),
  19524. }
  19525. )
  19526. var e, o, r, i
  19527. }),
  19528. iframe:
  19529. ((ZC = function (t, n) {
  19530. return (
  19531. (e = t),
  19532. (o = n.shared.providers),
  19533. (u = bS && e.sandboxed),
  19534. (a = lt(
  19535. lt(
  19536. {},
  19537. e.label
  19538. .map(function (t) {
  19539. return { title: t }
  19540. })
  19541. .getOr({})
  19542. ),
  19543. u ? { sandbox: 'allow-scripts allow-same-origin' } : {}
  19544. )),
  19545. (r = u),
  19546. (i = Po('')),
  19547. (c = {
  19548. getValue: function (t) {
  19549. return i.get()
  19550. },
  19551. setValue: function (t, n) {
  19552. var e
  19553. r
  19554. ? on(t.element, 'srcdoc', n)
  19555. : (on(t.element, 'src', "javascript:''"),
  19556. (e = t.element.dom.contentWindow.document).open(),
  19557. e.write(n),
  19558. e.close()),
  19559. i.set(n)
  19560. },
  19561. }),
  19562. ey(
  19563. e.label.map(function (t) {
  19564. return oy(t, o)
  19565. }),
  19566. my.parts.field({
  19567. factory: {
  19568. sketch: function (t) {
  19569. return d0({
  19570. uid: t.uid,
  19571. dom: { tag: 'iframe', attributes: a },
  19572. behaviours: nc([
  19573. py.config({}),
  19574. Hg.config({}),
  19575. gS(vt.none(), c.getValue, c.setValue),
  19576. ]),
  19577. })
  19578. },
  19579. },
  19580. }),
  19581. ['tox-form__group--stretched'],
  19582. []
  19583. )
  19584. )
  19585. var e, o, r, i, u, a, c
  19586. }),
  19587. function (t, n, e) {
  19588. var o = Yo(n, { source: 'dynamic' })
  19589. return pk(ZC)(t, o, e)
  19590. }),
  19591. button: pk(function (t, n) {
  19592. return (
  19593. (e = t),
  19594. (o = n.shared.providers),
  19595. (r = $0(e.name, 'custom')),
  19596. ey(
  19597. vt.none(),
  19598. my.parts.field(
  19599. lt({ factory: fp }, K0(e, vt.some(r), o, [pS(''), aw()]))
  19600. ),
  19601. [],
  19602. []
  19603. )
  19604. )
  19605. var e, o, r
  19606. }),
  19607. checkbox: pk(function (t, n) {
  19608. return (
  19609. (r = t),
  19610. (i = n.shared.providers),
  19611. (u = Df.config({
  19612. store: {
  19613. mode: 'manual',
  19614. getValue: function (t) {
  19615. return t.element.dom.checked
  19616. },
  19617. setValue: function (t, n) {
  19618. t.element.dom.checked = n
  19619. },
  19620. },
  19621. })),
  19622. (a = my.parts.field({
  19623. factory: { sketch: h },
  19624. dom: {
  19625. tag: 'input',
  19626. classes: ['tox-checkbox__input'],
  19627. attributes: { type: 'checkbox' },
  19628. },
  19629. behaviours: nc([
  19630. aw(),
  19631. gd.config({
  19632. disabled: function () {
  19633. return r.disabled || i.isDisabled()
  19634. },
  19635. }),
  19636. py.config({}),
  19637. Hg.config({}),
  19638. u,
  19639. Fg.config({
  19640. mode: 'special',
  19641. onEnter: e,
  19642. onSpace: e,
  19643. stopSpaceKeyup: !0,
  19644. }),
  19645. mm('checkbox-events', [
  19646. Cr(ki(), function (t, n) {
  19647. br(t, yy, { name: r.name })
  19648. }),
  19649. ]),
  19650. ]),
  19651. })),
  19652. (c = my.parts.label({
  19653. dom: {
  19654. tag: 'span',
  19655. classes: ['tox-checkbox__label'],
  19656. innerHtml: i.translate(r.label),
  19657. },
  19658. behaviours: nc([vw.config({})]),
  19659. })),
  19660. (s = zm({
  19661. dom: { tag: 'div', classes: ['tox-checkbox__icons'] },
  19662. components: [o('checked'), o('unchecked')],
  19663. })),
  19664. my.sketch({
  19665. dom: { tag: 'label', classes: ['tox-checkbox'] },
  19666. components: [a, s.asSpec(), c],
  19667. fieldBehaviours: nc([
  19668. gd.config({
  19669. disabled: function () {
  19670. return r.disabled || i.isDisabled()
  19671. },
  19672. disableClass: 'tox-checkbox--disabled',
  19673. onDisabled: function (t) {
  19674. my.getField(t).each(gd.disable)
  19675. },
  19676. onEnabled: function (t) {
  19677. my.getField(t).each(gd.enable)
  19678. },
  19679. }),
  19680. pv(),
  19681. ]),
  19682. })
  19683. )
  19684. function e(t) {
  19685. return t.element.dom.click(), vt.some(!0)
  19686. }
  19687. function o(t) {
  19688. return Xm(
  19689. 'checked' === t ? 'selected' : 'unselected',
  19690. { tag: 'span', classes: ['tox-icon', 'tox-checkbox-icon__' + t] },
  19691. i.icons
  19692. )
  19693. }
  19694. var r, i, u, a, c, s
  19695. }),
  19696. colorinput: pk(function (t, n) {
  19697. return (
  19698. (e = t),
  19699. (r = n.shared),
  19700. (i = n.colorinput),
  19701. (c = my.parts.field({
  19702. factory: Dy,
  19703. inputClasses: ['tox-textfield'],
  19704. onSetValue: function (t) {
  19705. return Ky.run(t).get(st)
  19706. },
  19707. inputBehaviours: nc([
  19708. gd.config({ disabled: r.providers.isDisabled }),
  19709. pv(),
  19710. py.config({}),
  19711. Ky.config({
  19712. invalidClass: 'tox-textbox-field-invalid',
  19713. getRoot: function (t) {
  19714. return Yt(t.element)
  19715. },
  19716. notify: {
  19717. onValid: function (t) {
  19718. var n = Df.getValue(t)
  19719. br(t, bw, { color: n })
  19720. },
  19721. },
  19722. validator: {
  19723. validateOnLoad: !1,
  19724. validate: function (t) {
  19725. var n = Df.getValue(t)
  19726. if (0 === n.length) return Gy(Ve.value(!0))
  19727. var e = At.fromTag('span')
  19728. dn(e, 'background-color', n)
  19729. var o = hn(e, 'background-color').fold(
  19730. function () {
  19731. return Ve.error('blah')
  19732. },
  19733. function (t) {
  19734. return Ve.value(n)
  19735. }
  19736. )
  19737. return Gy(o)
  19738. },
  19739. },
  19740. }),
  19741. ]),
  19742. selectOnFocus: !1,
  19743. })),
  19744. (s = e.label.map(function (t) {
  19745. return oy(t, r.providers)
  19746. })),
  19747. (l = zm(
  19748. ((u = {
  19749. dom: {
  19750. tag: 'span',
  19751. attributes: {
  19752. 'aria-label': r.providers.translate('Color swatch'),
  19753. },
  19754. },
  19755. layouts: {
  19756. onRtl: function () {
  19757. return [Ya, Xa, $a]
  19758. },
  19759. onLtr: function () {
  19760. return [Xa, Ya, $a]
  19761. },
  19762. },
  19763. components: [],
  19764. fetch: wb(i.getColors(), i.hasCustomColors()),
  19765. columns: i.getColorCols(),
  19766. presets: 'color',
  19767. onItemAction: function (t, e) {
  19768. l.getOpt(t).each(function (n) {
  19769. 'custom' === e
  19770. ? i.colorPicker(function (t) {
  19771. t.fold(
  19772. function () {
  19773. return vr(n, xw)
  19774. },
  19775. function (t) {
  19776. o(n, t), hb(t)
  19777. }
  19778. )
  19779. }, '#ffffff')
  19780. : o(n, 'remove' === e ? '' : e)
  19781. })
  19782. },
  19783. }),
  19784. hw.sketch({
  19785. dom: u.dom,
  19786. components: u.components,
  19787. toggleClass: 'mce-active',
  19788. dropdownBehaviours: nc([
  19789. $v((a = r).providers.isDisabled),
  19790. pv(),
  19791. vw.config({}),
  19792. py.config({}),
  19793. ]),
  19794. layouts: u.layouts,
  19795. sandboxClasses: ['tox-dialog__popups'],
  19796. lazySink: a.getSink,
  19797. fetch: function (n) {
  19798. return jy(function (t) {
  19799. return u.fetch(t)
  19800. }).map(function (t) {
  19801. return vt.from(
  19802. Xb(
  19803. Yo(
  19804. Ob(
  19805. Ir('menu-value'),
  19806. t,
  19807. function (t) {
  19808. u.onItemAction(n, t)
  19809. },
  19810. u.columns,
  19811. u.presets,
  19812. Sh.CLOSE_ON_EXECUTE,
  19813. T,
  19814. a.providers
  19815. ),
  19816. { movement: _b(u.columns, u.presets) }
  19817. )
  19818. )
  19819. )
  19820. })
  19821. },
  19822. parts: { menu: Zp(0, 0, u.presets) },
  19823. }))
  19824. )),
  19825. my.sketch({
  19826. dom: { tag: 'div', classes: ['tox-form__group'] },
  19827. components: s
  19828. .toArray()
  19829. .concat([
  19830. {
  19831. dom: { tag: 'div', classes: ['tox-color-input'] },
  19832. components: [c, l.asSpec()],
  19833. },
  19834. ]),
  19835. fieldBehaviours: nc([
  19836. mm('form-field-events', [
  19837. Cr(bw, function (t, n) {
  19838. l.getOpt(t).each(function (t) {
  19839. dn(t.element, 'background-color', n.event.color)
  19840. }),
  19841. br(t, yy, { name: e.name })
  19842. }),
  19843. Cr(yw, function (n, e) {
  19844. my.getField(n).each(function (t) {
  19845. Df.setValue(t, e.event.value),
  19846. cd.getCurrent(n).each(Hg.focus)
  19847. })
  19848. }),
  19849. Cr(xw, function (n, t) {
  19850. my.getField(n).each(function (t) {
  19851. cd.getCurrent(n).each(Hg.focus)
  19852. })
  19853. }),
  19854. ]),
  19855. ]),
  19856. })
  19857. )
  19858. function o(t, n) {
  19859. br(t, yw, { value: n })
  19860. }
  19861. var e, r, i, u, a, c, s, l
  19862. }),
  19863. colorpicker: pk(function (t) {
  19864. var r = zm(
  19865. a0(c0, function (t) {
  19866. return 'tox-' + t
  19867. }).sketch({
  19868. dom: {
  19869. tag: 'div',
  19870. classes: ['tox-color-picker-container'],
  19871. attributes: { role: 'presentation' },
  19872. },
  19873. onValidHex: function (t) {
  19874. br(t, Sy, { name: 'hex-valid', value: !0 })
  19875. },
  19876. onInvalidHex: function (t) {
  19877. br(t, Sy, { name: 'hex-valid', value: !1 })
  19878. },
  19879. })
  19880. )
  19881. return {
  19882. dom: { tag: 'div' },
  19883. components: [r.asSpec()],
  19884. behaviours: nc([
  19885. Df.config({
  19886. store: {
  19887. mode: 'manual',
  19888. getValue: function (t) {
  19889. var n = r.get(t)
  19890. return cd
  19891. .getCurrent(n)
  19892. .bind(function (t) {
  19893. return Df.getValue(t).hex
  19894. })
  19895. .map(function (t) {
  19896. return '#' + t
  19897. })
  19898. .getOr('')
  19899. },
  19900. setValue: function (t, n) {
  19901. var e = /^#([a-fA-F0-9]{3}(?:[a-fA-F0-9]{3})?)/.exec(n),
  19902. o = r.get(t)
  19903. cd.getCurrent(o).fold(
  19904. function () {
  19905. console.log('Can not find form')
  19906. },
  19907. function (t) {
  19908. Df.setValue(t, { hex: vt.from(e[1]).getOr('') }),
  19909. eS.getField(t, 'hex').each(function (t) {
  19910. vr(t, Si())
  19911. })
  19912. }
  19913. )
  19914. },
  19915. },
  19916. }),
  19917. aw(),
  19918. ]),
  19919. }
  19920. }),
  19921. dropzone: pk(function (t, n) {
  19922. return l0(t, n.shared.providers)
  19923. }),
  19924. grid: pk(function (t, n) {
  19925. return (
  19926. (e = n.shared),
  19927. {
  19928. dom: {
  19929. tag: 'div',
  19930. classes: [
  19931. 'tox-form__grid',
  19932. 'tox-form__grid--' + t.columns + 'col',
  19933. ],
  19934. },
  19935. components: M(t.items, e.interpreter),
  19936. }
  19937. )
  19938. var e
  19939. }),
  19940. listbox: pk(function (t, n) {
  19941. return (
  19942. (e = t),
  19943. (r = (o = n).shared.providers),
  19944. (i = Y(e.items).filter(rk)),
  19945. (u = e.label.map(function (t) {
  19946. return oy(t, r)
  19947. })),
  19948. (a = {
  19949. dom: { tag: 'div', classes: ['tox-listboxfield'] },
  19950. components: [
  19951. my.parts.field({
  19952. dom: {},
  19953. factory: {
  19954. sketch: function (t) {
  19955. return L0(
  19956. {
  19957. uid: t.uid,
  19958. text: i.map(function (t) {
  19959. return t.text
  19960. }),
  19961. icon: vt.none(),
  19962. tooltip: e.label,
  19963. role: vt.none(),
  19964. fetch: function (t, n) {
  19965. n(
  19966. U0(
  19967. o1(t, e.name, e.items, Df.getValue(t)),
  19968. Sh.CLOSE_ON_EXECUTE,
  19969. o,
  19970. !1
  19971. )
  19972. )
  19973. },
  19974. onSetup: rt(st),
  19975. getApi: rt({}),
  19976. columns: 1,
  19977. presets: 'normal',
  19978. classes: [],
  19979. dropdownBehaviours: [
  19980. py.config({}),
  19981. Df.config({
  19982. store: {
  19983. mode: 'manual',
  19984. initialValue: i
  19985. .map(function (t) {
  19986. return t.value
  19987. })
  19988. .getOr(''),
  19989. getValue: function (t) {
  19990. return un(t.element, e1)
  19991. },
  19992. setValue: function (n, t) {
  19993. r1(e.items, t).each(function (t) {
  19994. on(n.element, e1, t.value),
  19995. br(n, VS, { text: t.text })
  19996. })
  19997. },
  19998. },
  19999. }),
  20000. ],
  20001. },
  20002. 'tox-listbox',
  20003. o.shared
  20004. )
  20005. },
  20006. },
  20007. }),
  20008. ],
  20009. }),
  20010. my.sketch({
  20011. dom: { tag: 'div', classes: ['tox-form__group'] },
  20012. components: ft([u.toArray(), [a]]),
  20013. fieldBehaviours: nc([
  20014. gd.config({
  20015. disabled: rt(e.disabled),
  20016. onDisabled: function (t) {
  20017. my.getField(t).each(gd.disable)
  20018. },
  20019. onEnabled: function (t) {
  20020. my.getField(t).each(gd.enable)
  20021. },
  20022. }),
  20023. ]),
  20024. })
  20025. )
  20026. var e, o, r, i, u, a
  20027. }),
  20028. selectbox: pk(function (t, n) {
  20029. return (
  20030. (e = t),
  20031. (o = n.shared.providers),
  20032. (r = M(e.items, function (t) {
  20033. return { text: o.translate(t.text), value: t.value }
  20034. })),
  20035. (i = e.label.map(function (t) {
  20036. return oy(t, o)
  20037. })),
  20038. (u = {
  20039. dom: { tag: 'div', classes: ['tox-selectfield'] },
  20040. components: ft([
  20041. [
  20042. my.parts.field({
  20043. dom: {},
  20044. selectAttributes: { size: e.size },
  20045. options: r,
  20046. factory: i1,
  20047. selectBehaviours: nc([
  20048. gd.config({
  20049. disabled: function () {
  20050. return e.disabled || o.isDisabled()
  20051. },
  20052. }),
  20053. py.config({}),
  20054. mm('selectbox-change', [
  20055. Cr(ki(), function (t, n) {
  20056. br(t, yy, { name: e.name })
  20057. }),
  20058. ]),
  20059. ]),
  20060. }),
  20061. ],
  20062. (1 < e.size
  20063. ? vt.none()
  20064. : vt.some(
  20065. Xm(
  20066. 'chevron-down',
  20067. { tag: 'div', classes: ['tox-selectfield__icon-js'] },
  20068. o.icons
  20069. )
  20070. )
  20071. ).toArray(),
  20072. ]),
  20073. }),
  20074. my.sketch({
  20075. dom: { tag: 'div', classes: ['tox-form__group'] },
  20076. components: ft([i.toArray(), [u]]),
  20077. fieldBehaviours: nc([
  20078. gd.config({
  20079. disabled: function () {
  20080. return e.disabled || o.isDisabled()
  20081. },
  20082. onDisabled: function (t) {
  20083. my.getField(t).each(gd.disable)
  20084. },
  20085. onEnabled: function (t) {
  20086. my.getField(t).each(gd.enable)
  20087. },
  20088. }),
  20089. pv(),
  20090. ]),
  20091. })
  20092. )
  20093. var e, o, r, i, u
  20094. }),
  20095. sizeinput: pk(function (t, n) {
  20096. return ow(t, n.shared.providers)
  20097. }),
  20098. urlinput: pk(function (t, n) {
  20099. return gk(t, n, n.urlinput)
  20100. }),
  20101. customeditor: pk(function (e) {
  20102. var o = gc(),
  20103. n = zm({ dom: { tag: e.tag } }),
  20104. r = gc()
  20105. return {
  20106. dom: { tag: 'div', classes: ['tox-custom-editor'] },
  20107. behaviours: nc([
  20108. mm('custom-editor-events', [
  20109. ou(function (t) {
  20110. n.getOpt(t).each(function (n) {
  20111. ;(Tt(e, 'init')
  20112. ? e.init(n.element.dom)
  20113. : lS.load(e.scriptId, e.scriptUrl).then(function (t) {
  20114. return t(n.element.dom, e.settings)
  20115. })
  20116. ).then(function (n) {
  20117. r.on(function (t) {
  20118. n.setValue(t)
  20119. }),
  20120. r.clear(),
  20121. o.set(n)
  20122. })
  20123. })
  20124. }),
  20125. ]),
  20126. Df.config({
  20127. store: {
  20128. mode: 'manual',
  20129. getValue: function () {
  20130. return o.get().fold(
  20131. function () {
  20132. return r.get().getOr('')
  20133. },
  20134. function (t) {
  20135. return t.getValue()
  20136. }
  20137. )
  20138. },
  20139. setValue: function (t, n) {
  20140. o.get().fold(
  20141. function () {
  20142. r.set(n)
  20143. },
  20144. function (t) {
  20145. return t.setValue(n)
  20146. }
  20147. )
  20148. },
  20149. },
  20150. }),
  20151. aw(),
  20152. ]),
  20153. components: [n.asSpec()],
  20154. }
  20155. }),
  20156. htmlpanel: pk(function (t) {
  20157. return 'presentation' === t.presets
  20158. ? ly.sketch({
  20159. dom: {
  20160. tag: 'div',
  20161. classes: ['tox-form__group'],
  20162. innerHtml: t.html,
  20163. },
  20164. })
  20165. : ly.sketch({
  20166. dom: {
  20167. tag: 'div',
  20168. classes: ['tox-form__group'],
  20169. innerHtml: t.html,
  20170. attributes: { role: 'document' },
  20171. },
  20172. containerBehaviours: nc([py.config({}), Hg.config({})]),
  20173. })
  20174. }),
  20175. imagetools: pk(function (t, n) {
  20176. return ok(t, n.shared.providers)
  20177. }),
  20178. table: pk(function (t, n) {
  20179. return ik(t, n.shared.providers)
  20180. }),
  20181. panel: pk(function (t, n) {
  20182. return {
  20183. dom: { tag: 'div', classes: t.classes },
  20184. components: M(t.items, n.shared.interpreter),
  20185. }
  20186. }),
  20187. },
  20188. y1 = {
  20189. field: function (t, n) {
  20190. return n
  20191. },
  20192. },
  20193. x1 = function (n, e, o) {
  20194. return tt(b1, e.type).fold(
  20195. function () {
  20196. return (
  20197. console.error(
  20198. 'Unknown factory type "' +
  20199. e.type +
  20200. '", defaulting to container: ',
  20201. e
  20202. ),
  20203. e
  20204. )
  20205. },
  20206. function (t) {
  20207. return t(n, e, o)
  20208. }
  20209. )
  20210. },
  20211. w1 = {
  20212. valignCentre: [],
  20213. alignCentre: [],
  20214. alignLeft: [],
  20215. alignRight: [],
  20216. right: [],
  20217. left: [],
  20218. bottom: [],
  20219. top: [],
  20220. },
  20221. S1 = [
  20222. {
  20223. title: 'Headings',
  20224. items: [
  20225. { title: 'Heading 1', format: 'h1' },
  20226. { title: 'Heading 2', format: 'h2' },
  20227. { title: 'Heading 3', format: 'h3' },
  20228. { title: 'Heading 4', format: 'h4' },
  20229. { title: 'Heading 5', format: 'h5' },
  20230. { title: 'Heading 6', format: 'h6' },
  20231. ],
  20232. },
  20233. {
  20234. title: 'Inline',
  20235. items: [
  20236. { title: 'Bold', format: 'bold' },
  20237. { title: 'Italic', format: 'italic' },
  20238. { title: 'Underline', format: 'underline' },
  20239. { title: 'Strikethrough', format: 'strikethrough' },
  20240. { title: 'Superscript', format: 'superscript' },
  20241. { title: 'Subscript', format: 'subscript' },
  20242. { title: 'Code', format: 'code' },
  20243. ],
  20244. },
  20245. {
  20246. title: 'Blocks',
  20247. items: [
  20248. { title: 'Paragraph', format: 'p' },
  20249. { title: 'Blockquote', format: 'blockquote' },
  20250. { title: 'Div', format: 'div' },
  20251. { title: 'Pre', format: 'pre' },
  20252. ],
  20253. },
  20254. {
  20255. title: 'Align',
  20256. items: [
  20257. { title: 'Left', format: 'alignleft' },
  20258. { title: 'Center', format: 'aligncenter' },
  20259. { title: 'Right', format: 'alignright' },
  20260. { title: 'Justify', format: 'alignjustify' },
  20261. ],
  20262. },
  20263. ],
  20264. k1 = function (t) {
  20265. return R(
  20266. t,
  20267. function (t, n) {
  20268. if (Tt(n, 'items')) {
  20269. var e = k1(n.items)
  20270. return {
  20271. customFormats: t.customFormats.concat(e.customFormats),
  20272. formats: t.formats.concat([{ title: n.title, items: e.formats }]),
  20273. }
  20274. }
  20275. if (Tt(n, 'inline') || Tt(n, 'block') || Tt(n, 'selector')) {
  20276. var o = 'custom-' + (y(n.name) ? n.name : n.title.toLowerCase())
  20277. return {
  20278. customFormats: t.customFormats.concat([{ name: o, format: n }]),
  20279. formats: t.formats.concat([
  20280. { title: n.title, format: o, icon: n.icon },
  20281. ]),
  20282. }
  20283. }
  20284. return lt(lt({}, t), { formats: t.formats.concat(n) })
  20285. },
  20286. { customFormats: [], formats: [] }
  20287. )
  20288. },
  20289. C1 = fS.trim,
  20290. O1 = wk('true'),
  20291. _1 = wk('false'),
  20292. T1 = function (t) {
  20293. var n = M(
  20294. vs(At.fromDom(t), 'h1,h2,h3,h4,h5,h6,a:not([href])'),
  20295. function (t) {
  20296. return t.dom
  20297. }
  20298. )
  20299. return F(M(F(n, _k), Tk).concat(M(F(n, Ck), Ek)), Dk)
  20300. },
  20301. E1 = 'tinymce-url-history',
  20302. D1 = od,
  20303. B1 = nd,
  20304. M1 = rt([
  20305. Eo('shell', !1),
  20306. mo('makeItem'),
  20307. Eo('setupItem', st),
  20308. Bf('listBehaviours', [Rg]),
  20309. ]),
  20310. A1 = rt([
  20311. Qf({
  20312. name: 'items',
  20313. overrides: function () {
  20314. return { behaviours: nc([Rg.config({})]) }
  20315. },
  20316. }),
  20317. ]),
  20318. F1 = Cl({
  20319. name: rt('CustomList')(),
  20320. configFields: M1(),
  20321. partFields: A1(),
  20322. factory: function (s, t, n, e) {
  20323. var o = s.shell
  20324. ? { behaviours: [Rg.config({})], components: [] }
  20325. : { behaviours: [], components: t }
  20326. return {
  20327. uid: s.uid,
  20328. dom: s.dom,
  20329. components: o.components,
  20330. behaviours: nl(s.listBehaviours, o.behaviours),
  20331. apis: {
  20332. setItems: function (a, c) {
  20333. var t
  20334. ;(t = a),
  20335. (s.shell ? vt.some(t) : ml(t, s, 'items')).fold(
  20336. function () {
  20337. throw (
  20338. (console.error(
  20339. 'Custom List was defined to not be a shell, but no item container was specified in components'
  20340. ),
  20341. new Error(
  20342. 'Custom List was defined to not be a shell, but no item container was specified in components'
  20343. ))
  20344. )
  20345. },
  20346. function (n) {
  20347. var t = Rg.contents(n),
  20348. e = c.length,
  20349. o = e - t.length,
  20350. r =
  20351. 0 < o
  20352. ? m(o, function () {
  20353. return s.makeItem()
  20354. })
  20355. : [],
  20356. i = t.slice(e)
  20357. St(i, function (t) {
  20358. return Rg.remove(n, t)
  20359. }),
  20360. St(r, function (t) {
  20361. return Rg.append(n, t)
  20362. })
  20363. var u = Rg.contents(n)
  20364. St(u, function (t, n) {
  20365. s.setupItem(a, t, c[n], n)
  20366. })
  20367. }
  20368. )
  20369. },
  20370. },
  20371. }
  20372. },
  20373. apis: {
  20374. setItems: function (t, n, e) {
  20375. t.setItems(n, e)
  20376. },
  20377. },
  20378. }),
  20379. I1 = rt([mo('dom'), Eo('shell', !0), Zs('toolbarBehaviours', [Rg])]),
  20380. R1 = rt([
  20381. Qf({
  20382. name: 'groups',
  20383. overrides: function () {
  20384. return { behaviours: nc([Rg.config({})]) }
  20385. },
  20386. }),
  20387. ]),
  20388. V1 = Cl({
  20389. name: 'Toolbar',
  20390. configFields: I1(),
  20391. partFields: R1(),
  20392. factory: function (o, t, n, e) {
  20393. var r = o.shell
  20394. ? { behaviours: [Rg.config({})], components: [] }
  20395. : { behaviours: [], components: t }
  20396. return {
  20397. uid: o.uid,
  20398. dom: o.dom,
  20399. components: r.components,
  20400. behaviours: nl(o.toolbarBehaviours, r.behaviours),
  20401. apis: {
  20402. setGroups: function (t, n) {
  20403. var e
  20404. ;(e = t),
  20405. (o.shell ? vt.some(e) : ml(e, o, 'groups')).fold(
  20406. function () {
  20407. throw (
  20408. (console.error(
  20409. 'Toolbar was defined to not be a shell, but no groups container was specified in components'
  20410. ),
  20411. new Error(
  20412. 'Toolbar was defined to not be a shell, but no groups container was specified in components'
  20413. ))
  20414. )
  20415. },
  20416. function (t) {
  20417. Rg.set(t, n)
  20418. }
  20419. )
  20420. },
  20421. },
  20422. domModification: { attributes: { role: 'group' } },
  20423. }
  20424. },
  20425. apis: {
  20426. setGroups: function (t, n, e) {
  20427. t.setGroups(n, e)
  20428. },
  20429. },
  20430. }),
  20431. P1 = rt([]),
  20432. H1 = Object.freeze({
  20433. __proto__: null,
  20434. setup: st,
  20435. isDocked: T,
  20436. getBehaviours: P1,
  20437. }),
  20438. z1 = Ho([
  20439. { static: [] },
  20440. { absolute: ['positionCss'] },
  20441. { fixed: ['positionCss'] },
  20442. ]),
  20443. N1 = function (t, n, e) {
  20444. var o, r, i, u
  20445. t.getSystem().isConnected() &&
  20446. ((i = e),
  20447. (u = (r = n).lazyViewport((o = t))),
  20448. i.isDocked() && $k(o, r, i, u),
  20449. qk(o, u, i).each(function (t) {
  20450. t.fold(
  20451. function () {
  20452. return Kk(o, r, i)
  20453. },
  20454. function (t) {
  20455. return Jk(o, r, i, t)
  20456. },
  20457. function (t) {
  20458. $k(o, r, i, u, !0), Jk(o, r, i, t)
  20459. }
  20460. )
  20461. }))
  20462. },
  20463. L1 = Object.freeze({
  20464. __proto__: null,
  20465. refresh: N1,
  20466. reset: Qk,
  20467. isDocked: function (t, n, e) {
  20468. return e.isDocked()
  20469. },
  20470. getModes: function (t, n, e) {
  20471. return e.getModes()
  20472. },
  20473. setModes: function (t, n, e, o) {
  20474. return e.setModes(o)
  20475. },
  20476. }),
  20477. W1 = Object.freeze({
  20478. __proto__: null,
  20479. events: function (o, r) {
  20480. return eu([
  20481. Br(_i(), function (n, e) {
  20482. o.contextual.each(function (t) {
  20483. Kr(n.element, t.transitionClass) &&
  20484. ($r(n.element, [t.transitionClass, t.fadeInClass]),
  20485. (r.isVisible() ? t.onShown : t.onHidden)(n)),
  20486. e.stop()
  20487. })
  20488. }),
  20489. Cr(Ui(), function (t, n) {
  20490. N1(t, o, r)
  20491. }),
  20492. Cr(ji(), function (t, n) {
  20493. Qk(t, o, r)
  20494. }),
  20495. ])
  20496. },
  20497. }),
  20498. U1 = xa({
  20499. fields: [
  20500. To('contextual', [
  20501. po('fadeInClass'),
  20502. po('fadeOutClass'),
  20503. po('transitionClass'),
  20504. vo('lazyContext'),
  20505. Ju('onShow'),
  20506. Ju('onShown'),
  20507. Ju('onHide'),
  20508. Ju('onHidden'),
  20509. ]),
  20510. Io('lazyViewport', Fe),
  20511. Ro('modes', ['top', 'bottom'], nr),
  20512. Ju('onDocked'),
  20513. Ju('onUndocked'),
  20514. ],
  20515. name: 'docking',
  20516. active: W1,
  20517. apis: L1,
  20518. state: Object.freeze({
  20519. __proto__: null,
  20520. init: function (t) {
  20521. var n = Po(!1),
  20522. e = Po(!0),
  20523. o = gc(),
  20524. r = Po(t.modes)
  20525. return wu({
  20526. isDocked: n.get,
  20527. setDocked: n.set,
  20528. getInitialPos: o.get,
  20529. setInitialPos: o.set,
  20530. clearInitialPos: o.clear,
  20531. isVisible: e.get,
  20532. setVisible: e.set,
  20533. getModes: r.get,
  20534. setModes: r.set,
  20535. readState: function () {
  20536. return (
  20537. 'docked: ' +
  20538. n.get() +
  20539. ', visible: ' +
  20540. e.get() +
  20541. ', modes: ' +
  20542. r.get().join(',')
  20543. )
  20544. },
  20545. })
  20546. },
  20547. }),
  20548. }),
  20549. j1 = rt(Ir('toolbar-height-change')),
  20550. G1 = {
  20551. fadeInClass: 'tox-editor-dock-fadein',
  20552. fadeOutClass: 'tox-editor-dock-fadeout',
  20553. transitionClass: 'tox-editor-dock-transition',
  20554. },
  20555. X1 = 'tox-tinymce--toolbar-sticky-on',
  20556. Y1 = 'tox-tinymce--toolbar-sticky-off',
  20557. q1 = Object.freeze({
  20558. __proto__: null,
  20559. setup: function (t, n, e) {
  20560. t.inline ||
  20561. (n.header.isPositionedAtTop() ||
  20562. t.on('ResizeEditor', function () {
  20563. e().each(U1.reset)
  20564. }),
  20565. t.on('ResizeWindow ResizeEditor', function () {
  20566. e().each(tC)
  20567. }),
  20568. t.on('SkinLoaded', function () {
  20569. e().each(function (t) {
  20570. U1.isDocked(t) ? U1.reset(t) : U1.refresh(t)
  20571. })
  20572. }),
  20573. t.on('FullscreenStateChanged', function () {
  20574. e().each(U1.reset)
  20575. })),
  20576. t.on('AfterScrollIntoView', function (b) {
  20577. e().each(function (t) {
  20578. U1.refresh(t)
  20579. var n,
  20580. e,
  20581. o,
  20582. r,
  20583. i,
  20584. u,
  20585. a,
  20586. c,
  20587. s,
  20588. l,
  20589. f,
  20590. d,
  20591. m,
  20592. g,
  20593. p,
  20594. h,
  20595. v = t.element
  20596. Pd(v) &&
  20597. ((n = b),
  20598. (r = (o = Ut((e = v))).dom.defaultView.innerHeight),
  20599. (i = Rn(o)),
  20600. (a = Nn((u = At.fromDom(n.elm)))),
  20601. (c = wn(u)),
  20602. (l = (s = a.y) + c),
  20603. (f = Cn(e)),
  20604. (d = wn(e)),
  20605. (g = (m = f.top) + d),
  20606. (p = Math.abs(m - i.top) < 2),
  20607. (h = Math.abs(g - (i.top + r)) < 2),
  20608. p && s < g
  20609. ? Vn(i.left, s - d, o)
  20610. : h && m < l && Vn(i.left, s - r + c + d, o))
  20611. })
  20612. }),
  20613. t.on('PostRender', function () {
  20614. eC(t, !1)
  20615. })
  20616. },
  20617. isDocked: function (t) {
  20618. return t().map(U1.isDocked).getOr(!1)
  20619. },
  20620. getBehaviours: oC,
  20621. }),
  20622. K1 = $o(
  20623. [
  20624. po('type'),
  20625. go('items', eo([Qo([po('name'), xo('items', nr)]), nr])),
  20626. ].concat(Hp)
  20627. ),
  20628. J1 = [
  20629. Co('text'),
  20630. Co('tooltip'),
  20631. Co('icon'),
  20632. vo('fetch'),
  20633. Io('onSetup', function () {
  20634. return st
  20635. }),
  20636. ],
  20637. $1 = $o(H([po('type')], J1, !0)),
  20638. Q1 = $o([
  20639. po('type'),
  20640. Co('tooltip'),
  20641. Co('icon'),
  20642. Co('text'),
  20643. Oo('select'),
  20644. vo('fetch'),
  20645. Io('onSetup', function () {
  20646. return st
  20647. }),
  20648. Ao('presets', 'normal', ['normal', 'color', 'listpreview']),
  20649. Eo('columns', 1),
  20650. vo('onAction'),
  20651. vo('onItemAction'),
  20652. ]),
  20653. Z1 = kl({
  20654. factory: function (n, o) {
  20655. var t = {
  20656. focus: Fg.focusIn,
  20657. setMenus: function (t, n) {
  20658. var e = M(n, function (n) {
  20659. return G0(
  20660. rC({
  20661. type: 'menubutton',
  20662. text: n.text,
  20663. fetch: function (t) {
  20664. t(n.getItems())
  20665. },
  20666. })
  20667. .mapError(function (t) {
  20668. return ur(t)
  20669. })
  20670. .getOrDie(),
  20671. 'tox-mbtn',
  20672. o.backstage,
  20673. vt.some('menuitem')
  20674. )
  20675. })
  20676. Rg.set(t, e)
  20677. },
  20678. }
  20679. return {
  20680. uid: n.uid,
  20681. dom: n.dom,
  20682. components: [],
  20683. behaviours: nc([
  20684. Rg.config({}),
  20685. mm('menubar-events', [
  20686. ou(function (t) {
  20687. n.onSetup(t)
  20688. }),
  20689. Cr(vi(), function (e, t) {
  20690. Iu(e.element, '.tox-mbtn--active').each(function (n) {
  20691. Ru(t.event.target, '.tox-mbtn').each(function (t) {
  20692. Lt(n, t) ||
  20693. e
  20694. .getSystem()
  20695. .getByDom(n)
  20696. .each(function (n) {
  20697. e.getSystem()
  20698. .getByDom(t)
  20699. .each(function (t) {
  20700. hw.expand(t), hw.close(n), Hg.focus(t)
  20701. })
  20702. })
  20703. })
  20704. })
  20705. }),
  20706. Cr(Ki(), function (e, t) {
  20707. t.event.prevFocus
  20708. .bind(function (t) {
  20709. return e.getSystem().getByDom(t).toOptional()
  20710. })
  20711. .each(function (n) {
  20712. t.event.newFocus
  20713. .bind(function (t) {
  20714. return e.getSystem().getByDom(t).toOptional()
  20715. })
  20716. .each(function (t) {
  20717. hw.isOpen(n) && (hw.expand(t), hw.close(n))
  20718. })
  20719. })
  20720. }),
  20721. ]),
  20722. Fg.config({
  20723. mode: 'flow',
  20724. selector: '.tox-mbtn',
  20725. onEscape: function (t) {
  20726. return n.onEscape(t), vt.some(!0)
  20727. },
  20728. }),
  20729. py.config({}),
  20730. ]),
  20731. apis: t,
  20732. domModification: { attributes: { role: 'menubar' } },
  20733. }
  20734. },
  20735. name: 'silver.Menubar',
  20736. configFields: [
  20737. mo('dom'),
  20738. mo('uid'),
  20739. mo('onEscape'),
  20740. mo('backstage'),
  20741. Eo('onSetup', st),
  20742. ],
  20743. apis: {
  20744. focus: function (t, n) {
  20745. t.focus(n)
  20746. },
  20747. setMenus: function (t, n, e) {
  20748. t.setMenus(n, e)
  20749. },
  20750. },
  20751. }),
  20752. tO = Object.freeze({
  20753. __proto__: null,
  20754. refresh: function (t, n, e) {
  20755. var o
  20756. e.isExpanded() &&
  20757. (bn(t.element, uC(n)),
  20758. (o = aC(n, t.element)),
  20759. dn(t.element, uC(n), o))
  20760. },
  20761. grow: function (t, n, e) {
  20762. e.isExpanded() || mC(t, n, e)
  20763. },
  20764. shrink: function (t, n, e) {
  20765. e.isExpanded() && dC(t, n, e)
  20766. },
  20767. immediateShrink: function (t, n, e) {
  20768. e.isExpanded() && fC(t, n, e)
  20769. },
  20770. hasGrown: function (t, n, e) {
  20771. return e.isExpanded()
  20772. },
  20773. hasShrunk: function (t, n, e) {
  20774. return e.isCollapsed()
  20775. },
  20776. isGrowing: gC,
  20777. isShrinking: pC,
  20778. isTransitioning: function (t, n, e) {
  20779. return gC(t, n) || pC(t, n)
  20780. },
  20781. toggleGrow: function (t, n, e) {
  20782. ;(e.isExpanded() ? dC : mC)(t, n, e)
  20783. },
  20784. disableTransitions: cC,
  20785. }),
  20786. nO = Object.freeze({
  20787. __proto__: null,
  20788. exhibit: function (t, n, e) {
  20789. return Lr(
  20790. n.expanded
  20791. ? { classes: [n.openClass], styles: {} }
  20792. : {
  20793. classes: [n.closedClass],
  20794. styles: sr(n.dimension.property, '0px'),
  20795. }
  20796. )
  20797. },
  20798. events: function (e, o) {
  20799. return eu([
  20800. Br(_i(), function (t, n) {
  20801. n.event.raw.propertyName === e.dimension.property &&
  20802. (cC(t, e),
  20803. o.isExpanded() && bn(t.element, e.dimension.property),
  20804. (o.isExpanded() ? e.onGrown : e.onShrunk)(t))
  20805. }),
  20806. ])
  20807. },
  20808. }),
  20809. eO = xa({
  20810. fields: [
  20811. mo('closedClass'),
  20812. mo('openClass'),
  20813. mo('shrinkingClass'),
  20814. mo('growingClass'),
  20815. wo('getAnimationRoot'),
  20816. Ju('onShrunk'),
  20817. Ju('onStartShrink'),
  20818. Ju('onGrown'),
  20819. Ju('onStartGrow'),
  20820. Eo('expanded', !1),
  20821. go(
  20822. 'dimension',
  20823. lo('property', {
  20824. width: [
  20825. ta('property', 'width'),
  20826. ta('getDimension', function (t) {
  20827. return On(t) + 'px'
  20828. }),
  20829. ],
  20830. height: [
  20831. ta('property', 'height'),
  20832. ta('getDimension', function (t) {
  20833. return wn(t) + 'px'
  20834. }),
  20835. ],
  20836. })
  20837. ),
  20838. ],
  20839. name: 'sliding',
  20840. active: nO,
  20841. apis: tO,
  20842. state: Object.freeze({
  20843. __proto__: null,
  20844. init: function (t) {
  20845. var n = Po(t.expanded)
  20846. return wu({
  20847. isExpanded: function () {
  20848. return !0 === n.get()
  20849. },
  20850. isCollapsed: function () {
  20851. return !1 === n.get()
  20852. },
  20853. setCollapsed: C(n.set, !1),
  20854. setExpanded: C(n.set, !0),
  20855. readState: function () {
  20856. return 'expanded: ' + n.get()
  20857. },
  20858. })
  20859. },
  20860. }),
  20861. }),
  20862. oO = 'container',
  20863. rO = [Zs('slotBehaviours', [])],
  20864. iO = dt(
  20865. {
  20866. getSlotNames: function (t, n) {
  20867. return t.getSlotNames(n)
  20868. },
  20869. getSlot: function (t, n, e) {
  20870. return t.getSlot(n, e)
  20871. },
  20872. isShowing: function (t, n, e) {
  20873. return t.isShowing(n, e)
  20874. },
  20875. hideSlot: function (t, n, e) {
  20876. return t.hideSlot(n, e)
  20877. },
  20878. hideAllSlots: function (t, n) {
  20879. return t.hideAllSlots(n)
  20880. },
  20881. showSlot: function (t, n, e) {
  20882. return t.showSlot(n, e)
  20883. },
  20884. },
  20885. zr
  20886. ),
  20887. uO = lt(lt({}, iO), {
  20888. sketch: function (t) {
  20889. var e,
  20890. n = {
  20891. slot: function (t, n) {
  20892. return e.push(t), cl(oO, hC(t), n)
  20893. },
  20894. record: rt((e = [])),
  20895. },
  20896. o = t(n),
  20897. r = M(n.record(), function (t) {
  20898. return Jf({ name: t, pname: hC(t) })
  20899. })
  20900. return Sl(oO, rO, r, $C, o)
  20901. },
  20902. }),
  20903. aO = $o([
  20904. Co('icon'),
  20905. Co('tooltip'),
  20906. Io('onShow', st),
  20907. Io('onHide', st),
  20908. Io('onSetup', function () {
  20909. return st
  20910. }),
  20911. ]),
  20912. cO = Ir('FixSizeEvent'),
  20913. sO = Ir('AutoSizeEvent'),
  20914. lO = Object.freeze({
  20915. __proto__: null,
  20916. block: function (t, n, e, o) {
  20917. on(t.element, 'aria-busy', !0)
  20918. var r = n.getRoot(t).getOr(t),
  20919. i = nc([
  20920. Fg.config({
  20921. mode: 'special',
  20922. onTab: function () {
  20923. return vt.some(!0)
  20924. },
  20925. onShiftTab: function () {
  20926. return vt.some(!0)
  20927. },
  20928. }),
  20929. Hg.config({}),
  20930. ]),
  20931. u = o(r, i),
  20932. a = r.getSystem().build(u)
  20933. Rg.append(r, Eu(a)),
  20934. a.hasConfigured(Fg) && n.focus && Fg.focusIn(a),
  20935. e.isBlocked() || n.onBlock(t),
  20936. e.blockWith(function () {
  20937. return Rg.remove(r, a)
  20938. })
  20939. },
  20940. unblock: function (t, n, e) {
  20941. sn(t.element, 'aria-busy'), e.isBlocked() && n.onUnblock(t), e.clear()
  20942. },
  20943. }),
  20944. fO = xa({
  20945. fields: [
  20946. Io('getRoot', vt.none),
  20947. Fo('focus', !0),
  20948. Ju('onBlock'),
  20949. Ju('onUnblock'),
  20950. ],
  20951. name: 'blocking',
  20952. apis: lO,
  20953. state: Object.freeze({
  20954. __proto__: null,
  20955. init: function () {
  20956. var n = dc()
  20957. return wu({
  20958. readState: n.isSet,
  20959. blockWith: function (t) {
  20960. n.set({ destroy: t })
  20961. },
  20962. clear: n.clear,
  20963. isBlocked: n.isSet,
  20964. })
  20965. },
  20966. }),
  20967. }),
  20968. dO = rt([
  20969. Zs('splitToolbarBehaviours', [$y]),
  20970. cr('builtGroups', function () {
  20971. return Po([])
  20972. }),
  20973. ]),
  20974. mO = rt(
  20975. [
  20976. qu(['overflowToggledClass']),
  20977. Oo('getOverflowBounds'),
  20978. mo('lazySink'),
  20979. cr('overflowGroups', function () {
  20980. return Po([])
  20981. }),
  20982. ].concat(dO())
  20983. ),
  20984. gO = rt([
  20985. Jf({ factory: V1, schema: I1(), name: 'primary' }),
  20986. $f({ schema: I1(), name: 'overflow' }),
  20987. $f({ name: 'overflow-button' }),
  20988. $f({ name: 'overflow-group' }),
  20989. ]),
  20990. pO = rt(function (t, n) {
  20991. var e = t,
  20992. o = Math.floor(n)
  20993. dn(
  20994. e,
  20995. 'max-width',
  20996. Oe.max(e, o, [
  20997. 'margin-left',
  20998. 'border-left-width',
  20999. 'padding-left',
  21000. 'padding-right',
  21001. 'border-right-width',
  21002. 'margin-right',
  21003. ]) + 'px'
  21004. )
  21005. }),
  21006. hO = rt([
  21007. qu(['toggledClass']),
  21008. mo('lazySink'),
  21009. vo('fetch'),
  21010. Oo('getBounds'),
  21011. To('fireDismissalEventInstead', [Eo('event', Yi())]),
  21012. Wc(),
  21013. ]),
  21014. vO = rt([
  21015. $f({
  21016. name: 'button',
  21017. overrides: function (t) {
  21018. return {
  21019. dom: { attributes: { 'aria-haspopup': 'true' } },
  21020. buttonBehaviours: nc([
  21021. Lg.config({
  21022. toggleClass: t.markers.toggledClass,
  21023. aria: { mode: 'expanded' },
  21024. toggleOnExecute: !1,
  21025. }),
  21026. ]),
  21027. }
  21028. },
  21029. }),
  21030. $f({
  21031. factory: V1,
  21032. schema: I1(),
  21033. name: 'toolbar',
  21034. overrides: function (n) {
  21035. return {
  21036. toolbarBehaviours: nc([
  21037. Fg.config({
  21038. mode: 'cyclic',
  21039. onEscape: function (t) {
  21040. return ml(t, n, 'button').each(Hg.focus), vt.none()
  21041. },
  21042. }),
  21043. ]),
  21044. }
  21045. },
  21046. }),
  21047. ]),
  21048. bO = Cl({
  21049. name: 'FloatingToolbarButton',
  21050. factory: function (u, t, a, n) {
  21051. return lt(
  21052. lt(
  21053. {},
  21054. fp.sketch(
  21055. lt(lt({}, n.button()), {
  21056. action: function (t) {
  21057. EC(t, n)
  21058. },
  21059. buttonBehaviours: Mf({ dump: n.button().buttonBehaviours }, [
  21060. $y.config({
  21061. others: {
  21062. toolbarSandbox: function (t) {
  21063. return (
  21064. (o = t),
  21065. (e = a),
  21066. (r = u),
  21067. {
  21068. dom: {
  21069. tag: 'div',
  21070. attributes: { id: (i = Vu()).id },
  21071. },
  21072. behaviours: nc([
  21073. Fg.config({
  21074. mode: 'special',
  21075. onEscape: function (t) {
  21076. return bf.close(t), vt.some(!0)
  21077. },
  21078. }),
  21079. bf.config({
  21080. onOpen: function (t, n) {
  21081. r.fetch().get(function (t) {
  21082. BC(o, n, r, e.layouts, t),
  21083. i.link(o.element),
  21084. Fg.focusIn(n)
  21085. })
  21086. },
  21087. onClose: function () {
  21088. Lg.off(o), Hg.focus(o), i.unlink(o.element)
  21089. },
  21090. isPartOf: function (t, n, e) {
  21091. return zu(n, e) || zu(o, e)
  21092. },
  21093. getAttachPoint: function () {
  21094. return r.lazySink(o).getOrDie()
  21095. },
  21096. }),
  21097. ic.config({
  21098. channels: lt(
  21099. lt(
  21100. {},
  21101. Xs(
  21102. lt(
  21103. { isExtraPart: T },
  21104. r.fireDismissalEventInstead
  21105. .map(function (t) {
  21106. return {
  21107. fireEventInstead: {
  21108. event: t.event,
  21109. },
  21110. }
  21111. })
  21112. .getOr({})
  21113. )
  21114. )
  21115. ),
  21116. Ys({
  21117. doReposition: function () {
  21118. bf.getState(
  21119. $y.getCoupled(o, 'toolbarSandbox')
  21120. ).each(function (t) {
  21121. DC(o, t, r, e.layouts)
  21122. })
  21123. },
  21124. })
  21125. ),
  21126. }),
  21127. ]),
  21128. }
  21129. )
  21130. var o, e, r, i
  21131. },
  21132. },
  21133. }),
  21134. ]),
  21135. })
  21136. )
  21137. ),
  21138. {
  21139. apis: {
  21140. setGroups: function (n, e) {
  21141. bf.getState($y.getCoupled(n, 'toolbarSandbox')).each(function (
  21142. t
  21143. ) {
  21144. BC(n, t, u, a.layouts, e)
  21145. })
  21146. },
  21147. reposition: function (n) {
  21148. bf.getState($y.getCoupled(n, 'toolbarSandbox')).each(function (
  21149. t
  21150. ) {
  21151. DC(n, t, u, a.layouts)
  21152. })
  21153. },
  21154. toggle: function (t) {
  21155. EC(t, n)
  21156. },
  21157. getToolbar: function (t) {
  21158. return bf.getState($y.getCoupled(t, 'toolbarSandbox'))
  21159. },
  21160. isOpen: function (t) {
  21161. return bf.isOpen($y.getCoupled(t, 'toolbarSandbox'))
  21162. },
  21163. },
  21164. }
  21165. )
  21166. },
  21167. configFields: hO(),
  21168. partFields: vO(),
  21169. apis: {
  21170. setGroups: function (t, n, e) {
  21171. t.setGroups(n, e)
  21172. },
  21173. reposition: function (t, n) {
  21174. t.reposition(n)
  21175. },
  21176. toggle: function (t, n) {
  21177. t.toggle(n)
  21178. },
  21179. getToolbar: function (t, n) {
  21180. return t.getToolbar(n)
  21181. },
  21182. isOpen: function (t, n) {
  21183. return t.isOpen(n)
  21184. },
  21185. },
  21186. }),
  21187. yO = rt([mo('items'), qu(['itemSelector']), Zs('tgroupBehaviours', [Fg])]),
  21188. xO = rt([Zf({ name: 'items', unit: 'item' })]),
  21189. wO = Cl({
  21190. name: 'ToolbarGroup',
  21191. configFields: yO(),
  21192. partFields: xO(),
  21193. factory: function (t, n, e, o) {
  21194. return {
  21195. uid: t.uid,
  21196. dom: t.dom,
  21197. components: n,
  21198. behaviours: nl(t.tgroupBehaviours, [
  21199. Fg.config({ mode: 'flow', selector: t.markers.itemSelector }),
  21200. ]),
  21201. domModification: { attributes: { role: 'toolbar' } },
  21202. }
  21203. },
  21204. }),
  21205. SO = Cl({
  21206. name: 'SplitFloatingToolbar',
  21207. configFields: mO(),
  21208. partFields: gO(),
  21209. factory: function (e, t, n, o) {
  21210. var r = zm(
  21211. bO.sketch({
  21212. fetch: function () {
  21213. return jy(function (t) {
  21214. t(MC(e.overflowGroups.get()))
  21215. })
  21216. },
  21217. layouts: {
  21218. onLtr: function () {
  21219. return [Ya, Xa]
  21220. },
  21221. onRtl: function () {
  21222. return [Xa, Ya]
  21223. },
  21224. onBottomLtr: function () {
  21225. return [Ka, qa]
  21226. },
  21227. onBottomRtl: function () {
  21228. return [qa, Ka]
  21229. },
  21230. },
  21231. getBounds: n.getOverflowBounds,
  21232. lazySink: e.lazySink,
  21233. fireDismissalEventInstead: {},
  21234. markers: { toggledClass: e.markers.overflowToggledClass },
  21235. parts: { button: o['overflow-button'](), toolbar: o.overflow() },
  21236. })
  21237. )
  21238. return {
  21239. uid: e.uid,
  21240. dom: e.dom,
  21241. components: t,
  21242. behaviours: nl(e.splitToolbarBehaviours, [
  21243. $y.config({
  21244. others: {
  21245. overflowGroup: function () {
  21246. return wO.sketch(
  21247. lt(lt({}, o['overflow-group']()), { items: [r.asSpec()] })
  21248. )
  21249. },
  21250. },
  21251. }),
  21252. ]),
  21253. apis: {
  21254. setGroups: function (t, n) {
  21255. e.builtGroups.set(M(n, t.getSystem().build)), AC(t, r, e)
  21256. },
  21257. refresh: function (t) {
  21258. return AC(t, r, e)
  21259. },
  21260. toggle: function (t) {
  21261. r.getOpt(t).each(function (t) {
  21262. bO.toggle(t)
  21263. })
  21264. },
  21265. isOpen: function (t) {
  21266. return r.getOpt(t).map(bO.isOpen).getOr(!1)
  21267. },
  21268. reposition: function (t) {
  21269. r.getOpt(t).each(function (t) {
  21270. bO.reposition(t)
  21271. })
  21272. },
  21273. getOverflow: function (t) {
  21274. return r.getOpt(t).bind(bO.getToolbar)
  21275. },
  21276. },
  21277. domModification: { attributes: { role: 'group' } },
  21278. }
  21279. },
  21280. apis: {
  21281. setGroups: function (t, n, e) {
  21282. t.setGroups(n, e)
  21283. },
  21284. refresh: function (t, n) {
  21285. t.refresh(n)
  21286. },
  21287. reposition: function (t, n) {
  21288. t.reposition(n)
  21289. },
  21290. toggle: function (t, n) {
  21291. t.toggle(n)
  21292. },
  21293. isOpen: function (t, n) {
  21294. return t.isOpen(n)
  21295. },
  21296. getOverflow: function (t, n) {
  21297. return t.getOverflow(n)
  21298. },
  21299. },
  21300. }),
  21301. kO = rt(
  21302. [
  21303. qu([
  21304. 'closedClass',
  21305. 'openClass',
  21306. 'shrinkingClass',
  21307. 'growingClass',
  21308. 'overflowToggledClass',
  21309. ]),
  21310. Ju('onOpened'),
  21311. Ju('onClosed'),
  21312. ].concat(dO())
  21313. ),
  21314. CO = rt([
  21315. Jf({ factory: V1, schema: I1(), name: 'primary' }),
  21316. Jf({
  21317. factory: V1,
  21318. schema: I1(),
  21319. name: 'overflow',
  21320. overrides: function (n) {
  21321. return {
  21322. toolbarBehaviours: nc([
  21323. eO.config({
  21324. dimension: { property: 'height' },
  21325. closedClass: n.markers.closedClass,
  21326. openClass: n.markers.openClass,
  21327. shrinkingClass: n.markers.shrinkingClass,
  21328. growingClass: n.markers.growingClass,
  21329. onShrunk: function (t) {
  21330. ml(t, n, 'overflow-button').each(function (t) {
  21331. Lg.off(t), Hg.focus(t)
  21332. }),
  21333. n.onClosed(t)
  21334. },
  21335. onGrown: function (t) {
  21336. Fg.focusIn(t), n.onOpened(t)
  21337. },
  21338. onStartGrow: function (t) {
  21339. ml(t, n, 'overflow-button').each(Lg.on)
  21340. },
  21341. }),
  21342. Fg.config({
  21343. mode: 'acyclic',
  21344. onEscape: function (t) {
  21345. return ml(t, n, 'overflow-button').each(Hg.focus), vt.some(!0)
  21346. },
  21347. }),
  21348. ]),
  21349. }
  21350. },
  21351. }),
  21352. $f({
  21353. name: 'overflow-button',
  21354. overrides: function (t) {
  21355. return {
  21356. buttonBehaviours: nc([
  21357. Lg.config({
  21358. toggleClass: t.markers.overflowToggledClass,
  21359. aria: { mode: 'pressed' },
  21360. toggleOnExecute: !1,
  21361. }),
  21362. ]),
  21363. }
  21364. },
  21365. }),
  21366. $f({ name: 'overflow-group' }),
  21367. ]),
  21368. OO = Cl({
  21369. name: 'SplitSlidingToolbar',
  21370. configFields: kO(),
  21371. partFields: CO(),
  21372. factory: function (o, t, n, e) {
  21373. var r = 'alloy.toolbar.toggle'
  21374. return {
  21375. uid: o.uid,
  21376. dom: o.dom,
  21377. components: t,
  21378. behaviours: nl(o.splitToolbarBehaviours, [
  21379. $y.config({
  21380. others: {
  21381. overflowGroup: function (n) {
  21382. return wO.sketch(
  21383. lt(lt({}, e['overflow-group']()), {
  21384. items: [
  21385. fp.sketch(
  21386. lt(lt({}, e['overflow-button']()), {
  21387. action: function (t) {
  21388. vr(n, r)
  21389. },
  21390. })
  21391. ),
  21392. ],
  21393. })
  21394. )
  21395. },
  21396. },
  21397. }),
  21398. mm('toolbar-toggle-events', [
  21399. Cr(r, function (t) {
  21400. FC(t, o)
  21401. }),
  21402. ]),
  21403. ]),
  21404. apis: {
  21405. setGroups: function (t, n) {
  21406. var e = M(n, t.getSystem().build)
  21407. o.builtGroups.set(e), QC(t, o)
  21408. },
  21409. refresh: function (t) {
  21410. return QC(t, o)
  21411. },
  21412. toggle: function (t) {
  21413. return FC(t, o)
  21414. },
  21415. isOpen: function (t) {
  21416. return ml(t, o, 'overflow').map(eO.hasGrown).getOr(!1)
  21417. },
  21418. },
  21419. domModification: { attributes: { role: 'group' } },
  21420. }
  21421. },
  21422. apis: {
  21423. setGroups: function (t, n, e) {
  21424. t.setGroups(n, e)
  21425. },
  21426. refresh: function (t, n) {
  21427. t.refresh(n)
  21428. },
  21429. toggle: function (t, n) {
  21430. t.toggle(n)
  21431. },
  21432. isOpen: function (t, n) {
  21433. return t.isOpen(n)
  21434. },
  21435. },
  21436. }),
  21437. _O = B1.optional({
  21438. factory: Z1,
  21439. name: 'menubar',
  21440. schema: [mo('backstage')],
  21441. }),
  21442. TO = B1.optional({
  21443. factory: {
  21444. sketch: function (t) {
  21445. return F1.sketch({
  21446. uid: t.uid,
  21447. dom: t.dom,
  21448. listBehaviours: nc([
  21449. Fg.config({ mode: 'acyclic', selector: '.tox-toolbar' }),
  21450. ]),
  21451. makeItem: function () {
  21452. return HC({
  21453. type: t.type,
  21454. uid: Ir('multiple-toolbar-item'),
  21455. cyclicKeying: !1,
  21456. initGroups: [],
  21457. providers: t.providers,
  21458. onEscape: function () {
  21459. return t.onEscape(), vt.some(!0)
  21460. },
  21461. })
  21462. },
  21463. setupItem: function (t, n, e, o) {
  21464. V1.setGroups(n, e)
  21465. },
  21466. shell: !0,
  21467. })
  21468. },
  21469. },
  21470. name: 'multiple-toolbar',
  21471. schema: [mo('dom'), mo('onEscape')],
  21472. }),
  21473. EO = B1.optional({
  21474. factory: {
  21475. sketch: function (t) {
  21476. return (
  21477. t.type === bh.sliding
  21478. ? function (t) {
  21479. var n = OO.parts.primary({
  21480. dom: { tag: 'div', classes: ['tox-toolbar__primary'] },
  21481. }),
  21482. e = OO.parts.overflow({
  21483. dom: { tag: 'div', classes: ['tox-toolbar__overflow'] },
  21484. }),
  21485. o = PC(t)
  21486. return OO.sketch(
  21487. lt(lt({}, o), {
  21488. components: [n, e],
  21489. markers: {
  21490. openClass: 'tox-toolbar__overflow--open',
  21491. closedClass: 'tox-toolbar__overflow--closed',
  21492. growingClass: 'tox-toolbar__overflow--growing',
  21493. shrinkingClass: 'tox-toolbar__overflow--shrinking',
  21494. overflowToggledClass: 'tox-tbtn--enabled',
  21495. },
  21496. onOpened: function (t) {
  21497. t.getSystem().broadcastOn([j1()], { type: 'opened' })
  21498. },
  21499. onClosed: function (t) {
  21500. t.getSystem().broadcastOn([j1()], { type: 'closed' })
  21501. },
  21502. })
  21503. )
  21504. }
  21505. : t.type === bh.floating
  21506. ? function (i) {
  21507. var t = PC(i),
  21508. n = SO.parts.primary({
  21509. dom: { tag: 'div', classes: ['tox-toolbar__primary'] },
  21510. })
  21511. return SO.sketch(
  21512. lt(lt({}, t), {
  21513. lazySink: i.getSink,
  21514. getOverflowBounds: function () {
  21515. var t = i.moreDrawerData.lazyHeader().element,
  21516. n = Nn(t),
  21517. e = Gt(t),
  21518. o = Nn(e),
  21519. r = Math.max(e.dom.scrollHeight, o.height)
  21520. return Me(n.x + 4, o.y, n.width - 8, r)
  21521. },
  21522. parts: lt(lt({}, t.parts), {
  21523. overflow: {
  21524. dom: {
  21525. tag: 'div',
  21526. classes: ['tox-toolbar__overflow'],
  21527. attributes: i.attributes,
  21528. },
  21529. },
  21530. }),
  21531. components: [n],
  21532. markers: { overflowToggledClass: 'tox-tbtn--enabled' },
  21533. })
  21534. )
  21535. }
  21536. : HC
  21537. )({
  21538. type: t.type,
  21539. uid: t.uid,
  21540. onEscape: function () {
  21541. return t.onEscape(), vt.some(!0)
  21542. },
  21543. cyclicKeying: !1,
  21544. initGroups: [],
  21545. getSink: t.getSink,
  21546. providers: t.providers,
  21547. moreDrawerData: {
  21548. lazyToolbar: t.lazyToolbar,
  21549. lazyMoreButton: t.lazyMoreButton,
  21550. lazyHeader: t.lazyHeader,
  21551. },
  21552. attributes: t.attributes,
  21553. })
  21554. },
  21555. },
  21556. name: 'toolbar',
  21557. schema: [mo('dom'), mo('onEscape'), mo('getSink')],
  21558. }),
  21559. DO = B1.optional({
  21560. factory: {
  21561. sketch: function (t) {
  21562. var n = t.editor,
  21563. e = t.sticky ? oC : P1
  21564. return {
  21565. uid: t.uid,
  21566. dom: t.dom,
  21567. components: t.components,
  21568. behaviours: nc(e(n, t.sharedBackstage)),
  21569. }
  21570. },
  21571. },
  21572. name: 'header',
  21573. schema: [mo('dom')],
  21574. }),
  21575. BO = B1.optional({ name: 'socket', schema: [mo('dom')] }),
  21576. MO = B1.optional({
  21577. factory: {
  21578. sketch: function (t) {
  21579. return {
  21580. uid: t.uid,
  21581. dom: {
  21582. tag: 'div',
  21583. classes: ['tox-sidebar'],
  21584. attributes: { role: 'complementary' },
  21585. },
  21586. components: [
  21587. {
  21588. dom: { tag: 'div', classes: ['tox-sidebar__slider'] },
  21589. components: [],
  21590. behaviours: nc([
  21591. py.config({}),
  21592. Hg.config({}),
  21593. eO.config({
  21594. dimension: { property: 'width' },
  21595. closedClass: 'tox-sidebar--sliding-closed',
  21596. openClass: 'tox-sidebar--sliding-open',
  21597. shrinkingClass: 'tox-sidebar--sliding-shrinking',
  21598. growingClass: 'tox-sidebar--sliding-growing',
  21599. onShrunk: function (t) {
  21600. cd.getCurrent(t).each(uO.hideAllSlots), vr(t, sO)
  21601. },
  21602. onGrown: function (t) {
  21603. vr(t, sO)
  21604. },
  21605. onStartGrow: function (t) {
  21606. br(t, cO, { width: hn(t.element, 'width').getOr('') })
  21607. },
  21608. onStartShrink: function (t) {
  21609. br(t, cO, { width: On(t.element) + 'px' })
  21610. },
  21611. }),
  21612. Rg.config({}),
  21613. cd.config({
  21614. find: function (t) {
  21615. return Y(Rg.contents(t))
  21616. },
  21617. }),
  21618. ]),
  21619. },
  21620. ],
  21621. behaviours: nc([
  21622. cS(0),
  21623. mm('sidebar-sliding-events', [
  21624. Cr(cO, function (t, n) {
  21625. dn(t.element, 'width', n.event.width)
  21626. }),
  21627. Cr(sO, function (t, n) {
  21628. bn(t.element, 'width')
  21629. }),
  21630. ]),
  21631. ]),
  21632. }
  21633. },
  21634. },
  21635. name: 'sidebar',
  21636. schema: [mo('dom')],
  21637. }),
  21638. AO = B1.optional({
  21639. factory: {
  21640. sketch: function (t) {
  21641. return {
  21642. uid: t.uid,
  21643. dom: {
  21644. tag: 'div',
  21645. attributes: { 'aria-hidden': 'true' },
  21646. classes: ['tox-throbber'],
  21647. styles: { display: 'none' },
  21648. },
  21649. behaviours: nc([
  21650. Rg.config({}),
  21651. fO.config({ focus: !1 }),
  21652. cd.config({
  21653. find: function (t) {
  21654. return Y(t.components())
  21655. },
  21656. }),
  21657. ]),
  21658. components: [],
  21659. }
  21660. },
  21661. },
  21662. name: 'throbber',
  21663. schema: [mo('dom')],
  21664. }),
  21665. FO = Cl({
  21666. name: 'OuterContainer',
  21667. factory: function (e, t, n) {
  21668. return {
  21669. uid: e.uid,
  21670. dom: e.dom,
  21671. components: t,
  21672. apis: {
  21673. getSocket: function (t) {
  21674. return D1.getPart(t, e, 'socket')
  21675. },
  21676. setSidebar: function (t, n) {
  21677. D1.getPart(t, e, 'sidebar').each(function (t) {
  21678. return bC(t, n)
  21679. })
  21680. },
  21681. toggleSidebar: function (t, n) {
  21682. D1.getPart(t, e, 'sidebar').each(function (t) {
  21683. var e = n
  21684. cd.getCurrent(t).each(function (n) {
  21685. cd.getCurrent(n).each(function (t) {
  21686. eO.hasGrown(n)
  21687. ? uO.isShowing(t, e)
  21688. ? eO.shrink(n)
  21689. : (uO.hideAllSlots(t), uO.showSlot(t, e))
  21690. : (uO.hideAllSlots(t), uO.showSlot(t, e), eO.grow(n))
  21691. })
  21692. })
  21693. })
  21694. },
  21695. whichSidebar: function (t) {
  21696. return D1.getPart(t, e, 'sidebar').bind(yC).getOrNull()
  21697. },
  21698. getHeader: function (t) {
  21699. return D1.getPart(t, e, 'header')
  21700. },
  21701. getToolbar: function (t) {
  21702. return D1.getPart(t, e, 'toolbar')
  21703. },
  21704. setToolbar: function (t, n) {
  21705. D1.getPart(t, e, 'toolbar').each(function (t) {
  21706. t.getApis().setGroups(t, n)
  21707. })
  21708. },
  21709. setToolbars: function (t, n) {
  21710. D1.getPart(t, e, 'multiple-toolbar').each(function (t) {
  21711. F1.setItems(t, n)
  21712. })
  21713. },
  21714. refreshToolbar: function (t) {
  21715. D1.getPart(t, e, 'toolbar').each(function (t) {
  21716. return t.getApis().refresh(t)
  21717. })
  21718. },
  21719. toggleToolbarDrawer: function (t) {
  21720. D1.getPart(t, e, 'toolbar').each(function (n) {
  21721. var t = n.getApis().toggle
  21722. null != t
  21723. ? vt.some(
  21724. (function (t) {
  21725. return t(n)
  21726. })(t)
  21727. )
  21728. : vt.none()
  21729. })
  21730. },
  21731. isToolbarDrawerToggled: function (t) {
  21732. return D1.getPart(t, e, 'toolbar')
  21733. .bind(function (n) {
  21734. return vt.from(n.getApis().isOpen).map(function (t) {
  21735. return t(n)
  21736. })
  21737. })
  21738. .getOr(!1)
  21739. },
  21740. getThrobber: function (t) {
  21741. return D1.getPart(t, e, 'throbber')
  21742. },
  21743. focusToolbar: function (t) {
  21744. D1.getPart(t, e, 'toolbar')
  21745. .orThunk(function () {
  21746. return D1.getPart(t, e, 'multiple-toolbar')
  21747. })
  21748. .each(function (t) {
  21749. Fg.focusIn(t)
  21750. })
  21751. },
  21752. setMenubar: function (t, n) {
  21753. D1.getPart(t, e, 'menubar').each(function (t) {
  21754. Z1.setMenus(t, n)
  21755. })
  21756. },
  21757. focusMenubar: function (t) {
  21758. D1.getPart(t, e, 'menubar').each(function (t) {
  21759. Z1.focus(t)
  21760. })
  21761. },
  21762. },
  21763. behaviours: e.behaviours,
  21764. }
  21765. },
  21766. configFields: [mo('dom'), mo('behaviours')],
  21767. partFields: [DO, _O, EO, TO, BO, MO, AO],
  21768. apis: {
  21769. getSocket: function (t, n) {
  21770. return t.getSocket(n)
  21771. },
  21772. setSidebar: function (t, n, e) {
  21773. t.setSidebar(n, e)
  21774. },
  21775. toggleSidebar: function (t, n, e) {
  21776. t.toggleSidebar(n, e)
  21777. },
  21778. whichSidebar: function (t, n) {
  21779. return t.whichSidebar(n)
  21780. },
  21781. getHeader: function (t, n) {
  21782. return t.getHeader(n)
  21783. },
  21784. getToolbar: function (t, n) {
  21785. return t.getToolbar(n)
  21786. },
  21787. setToolbar: function (t, n, e) {
  21788. var o = M(e, RC)
  21789. t.setToolbar(n, o)
  21790. },
  21791. setToolbars: function (t, n, e) {
  21792. var o = M(e, function (t) {
  21793. return M(t, RC)
  21794. })
  21795. t.setToolbars(n, o)
  21796. },
  21797. refreshToolbar: function (t, n) {
  21798. return t.refreshToolbar(n)
  21799. },
  21800. toggleToolbarDrawer: function (t, n) {
  21801. t.toggleToolbarDrawer(n)
  21802. },
  21803. isToolbarDrawerToggled: function (t, n) {
  21804. return t.isToolbarDrawerToggled(n)
  21805. },
  21806. getThrobber: function (t, n) {
  21807. return t.getThrobber(n)
  21808. },
  21809. setMenubar: function (t, n, e) {
  21810. t.setMenubar(n, e)
  21811. },
  21812. focusMenubar: function (t, n) {
  21813. t.focusMenubar(n)
  21814. },
  21815. focusToolbar: function (t, n) {
  21816. t.focusToolbar(n)
  21817. },
  21818. },
  21819. }),
  21820. IO = {
  21821. file: {
  21822. title: 'File',
  21823. items:
  21824. 'newdocument restoredraft | preview | export print | deleteallconversations',
  21825. },
  21826. edit: {
  21827. title: 'Edit',
  21828. items:
  21829. 'undo redo | cut copy paste pastetext | selectall | searchreplace',
  21830. },
  21831. view: {
  21832. title: 'View',
  21833. items:
  21834. 'code | visualaid visualchars visualblocks | spellchecker | preview fullscreen | showcomments',
  21835. },
  21836. insert: {
  21837. title: 'Insert',
  21838. items:
  21839. 'image link media addcomment pageembed template codesample inserttable | charmap emoticons hr | pagebreak nonbreaking anchor toc | insertdatetime',
  21840. },
  21841. format: {
  21842. title: 'Format',
  21843. items:
  21844. 'bold italic underline strikethrough superscript subscript codeformat | formats blockformats fontformats fontsizes align lineheight | forecolor backcolor | language | removeformat',
  21845. },
  21846. tools: {
  21847. title: 'Tools',
  21848. items: 'spellchecker spellcheckerlanguage | a11ycheck code wordcount',
  21849. },
  21850. table: {
  21851. title: 'Table',
  21852. items:
  21853. 'inserttable | cell row column | advtablesort | tableprops deletetable',
  21854. },
  21855. help: { title: 'Help', items: 'help' },
  21856. },
  21857. RO = C(UC, !1),
  21858. VO = C(UC, !0)
  21859. function PO(t, n, e, o) {
  21860. var r
  21861. return {
  21862. type: 'basic',
  21863. data:
  21864. ((r = t.getParam(n, e, 'string')),
  21865. M(
  21866. o === t1.SemiColon ? r.replace(/;$/, '').split(';') : r.split(' '),
  21867. function (t) {
  21868. var n = t,
  21869. e = t,
  21870. o = t.split('=')
  21871. return (
  21872. 1 < o.length && ((n = o[0]), (e = o[1])), { title: n, format: e }
  21873. )
  21874. }
  21875. )),
  21876. }
  21877. }
  21878. function HO(e) {
  21879. var t = { type: 'basic', data: v_ }
  21880. return {
  21881. tooltip: 'Align',
  21882. text: vt.none(),
  21883. icon: vt.some('align-left'),
  21884. isSelectedFor: function (t) {
  21885. return function () {
  21886. return e.formatter.match(t)
  21887. }
  21888. },
  21889. getCurrentValue: vt.none,
  21890. getPreviewFor: function (t) {
  21891. return vt.none
  21892. },
  21893. onAction: function (n) {
  21894. return function () {
  21895. return V(v_, function (t) {
  21896. return t.format === n.format
  21897. }).each(function (t) {
  21898. return e.execCommand(t.command)
  21899. })
  21900. }
  21901. },
  21902. updateText: function (t) {
  21903. var n = V(v_, function (t) {
  21904. return e.formatter.match(t.format)
  21905. }).fold(rt('left'), function (t) {
  21906. return t.title.toLowerCase()
  21907. })
  21908. br(t, PS, { icon: 'align-' + n })
  21909. },
  21910. dataset: t,
  21911. shouldHide: !1,
  21912. isInvalid: function (t) {
  21913. return !e.formatter.canApply(t.format)
  21914. },
  21915. }
  21916. }
  21917. function zO(t) {
  21918. return M(t.split(/\s*,\s*/), function (t) {
  21919. return t.replace(/^['"]+|['"]+$/g, '')
  21920. })
  21921. }
  21922. function NO(r) {
  21923. function i() {
  21924. function e(t) {
  21925. return t ? zO(t)[0] : ''
  21926. }
  21927. var t = r.queryCommandValue('FontName'),
  21928. n = a.data,
  21929. o = t ? t.toLowerCase() : ''
  21930. return {
  21931. matchOpt: V(n, function (t) {
  21932. var n = t.format
  21933. return (
  21934. n.toLowerCase() === o || e(n).toLowerCase() === e(o).toLowerCase()
  21935. )
  21936. }).orThunk(function () {
  21937. return ot(
  21938. 0 === (t = o).indexOf('-apple-system') &&
  21939. ((n = zO(t.toLowerCase())),
  21940. N(b_, function (t) {
  21941. return -1 < n.indexOf(t.toLowerCase())
  21942. })),
  21943. { title: u, format: o }
  21944. )
  21945. var t, n
  21946. }),
  21947. font: t,
  21948. }
  21949. }
  21950. var u = 'System Font',
  21951. a = PO(
  21952. r,
  21953. 'font_formats',
  21954. 'Andale Mono=andale mono,monospace;Arial=arial,helvetica,sans-serif;Arial Black=arial black,sans-serif;Book Antiqua=book antiqua,palatino,serif;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier,monospace;Georgia=georgia,palatino,serif;Helvetica=helvetica,arial,sans-serif;Impact=impact,sans-serif;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco,monospace;Times New Roman=times new roman,times,serif;Trebuchet MS=trebuchet ms,geneva,sans-serif;Verdana=verdana,geneva,sans-serif;Webdings=webdings;Wingdings=wingdings,zapf dingbats',
  21955. t1.SemiColon
  21956. )
  21957. return {
  21958. tooltip: 'Fonts',
  21959. text: vt.some(u),
  21960. icon: vt.none(),
  21961. isSelectedFor: function (n) {
  21962. return function (t) {
  21963. return t.exists(function (t) {
  21964. return t.format === n
  21965. })
  21966. }
  21967. },
  21968. getCurrentValue: function () {
  21969. return i().matchOpt
  21970. },
  21971. getPreviewFor: function (t) {
  21972. return function () {
  21973. return vt.some({
  21974. tag: 'div',
  21975. styles: -1 === t.indexOf('dings') ? { 'font-family': t } : {},
  21976. })
  21977. }
  21978. },
  21979. onAction: function (t) {
  21980. return function () {
  21981. r.undoManager.transact(function () {
  21982. r.focus(), r.execCommand('FontName', !1, t.format)
  21983. })
  21984. }
  21985. },
  21986. updateText: function (t) {
  21987. var n = i(),
  21988. e = n.matchOpt,
  21989. o = n.font,
  21990. r = e.fold(rt(o), function (t) {
  21991. return t.title
  21992. })
  21993. br(t, VS, { text: r })
  21994. },
  21995. dataset: a,
  21996. shouldHide: !1,
  21997. isInvalid: T,
  21998. }
  21999. }
  22000. function LO(e) {
  22001. function i() {
  22002. var a = vt.none(),
  22003. c = o.data,
  22004. s = e.queryCommandValue('FontSize')
  22005. if (s)
  22006. for (
  22007. var t = function (t) {
  22008. var n,
  22009. e,
  22010. o,
  22011. r,
  22012. i =
  22013. ((e = t),
  22014. /[0-9.]+px$/.test((n = s))
  22015. ? ((o = (72 * parseInt(n, 10)) / 96),
  22016. (r = Math.pow(10, e || 0)),
  22017. Math.round(o * r) / r + 'pt')
  22018. : tt(x_, n).getOr(n)),
  22019. u = tt(y_, i).getOr('')
  22020. a = V(c, function (t) {
  22021. return t.format === s || t.format === i || t.format === u
  22022. })
  22023. },
  22024. n = 3;
  22025. a.isNone() && 0 <= n;
  22026. n--
  22027. )
  22028. t(n)
  22029. return { matchOpt: a, size: s }
  22030. }
  22031. var t = rt(vt.none),
  22032. o = PO(
  22033. e,
  22034. 'fontsize_formats',
  22035. '8pt 10pt 12pt 14pt 18pt 24pt 36pt',
  22036. t1.Space
  22037. )
  22038. return {
  22039. tooltip: 'Font sizes',
  22040. text: vt.some('12pt'),
  22041. icon: vt.none(),
  22042. isSelectedFor: function (n) {
  22043. return function (t) {
  22044. return t.exists(function (t) {
  22045. return t.format === n
  22046. })
  22047. }
  22048. },
  22049. getPreviewFor: t,
  22050. getCurrentValue: function () {
  22051. return i().matchOpt
  22052. },
  22053. onAction: function (t) {
  22054. return function () {
  22055. e.undoManager.transact(function () {
  22056. e.focus(), e.execCommand('FontSize', !1, t.format)
  22057. })
  22058. }
  22059. },
  22060. updateText: function (t) {
  22061. var n = i(),
  22062. e = n.matchOpt,
  22063. o = n.size,
  22064. r = e.fold(rt(o), function (t) {
  22065. return t.title
  22066. })
  22067. br(t, VS, { text: r })
  22068. },
  22069. dataset: o,
  22070. shouldHide: !1,
  22071. isInvalid: T,
  22072. }
  22073. }
  22074. function WO(t, n) {
  22075. var e = n(),
  22076. o = M(e, function (t) {
  22077. return t.format
  22078. })
  22079. return vt
  22080. .from(t.formatter.closest(o))
  22081. .bind(function (n) {
  22082. return V(e, function (t) {
  22083. return t.format === n
  22084. })
  22085. })
  22086. .orThunk(function () {
  22087. return ot(t.formatter.match('p'), { title: 'Paragraph', format: 'p' })
  22088. })
  22089. }
  22090. function UO(e) {
  22091. var o = PO(
  22092. e,
  22093. 'block_formats',
  22094. 'Paragraph=p;Heading 1=h1;Heading 2=h2;Heading 3=h3;Heading 4=h4;Heading 5=h5;Heading 6=h6;Preformatted=pre',
  22095. t1.SemiColon
  22096. )
  22097. return {
  22098. tooltip: 'Blocks',
  22099. text: vt.some('Paragraph'),
  22100. icon: vt.none(),
  22101. isSelectedFor: function (t) {
  22102. return function () {
  22103. return e.formatter.match(t)
  22104. }
  22105. },
  22106. getCurrentValue: vt.none,
  22107. getPreviewFor: function (n) {
  22108. return function () {
  22109. var t = e.formatter.get(n)
  22110. return vt.some({
  22111. tag: (0 < t.length && (t[0].inline || t[0].block)) || 'div',
  22112. styles: e.dom.parseStyle(e.formatter.getCssText(n)),
  22113. })
  22114. }
  22115. },
  22116. onAction: XC(e),
  22117. updateText: function (t) {
  22118. var n = WO(e, function () {
  22119. return o.data
  22120. }).fold(rt('Paragraph'), function (t) {
  22121. return t.title
  22122. })
  22123. br(t, VS, { text: n })
  22124. },
  22125. dataset: o,
  22126. shouldHide: !1,
  22127. isInvalid: function (t) {
  22128. return !e.formatter.canApply(t.format)
  22129. },
  22130. }
  22131. }
  22132. function jO(r, t) {
  22133. return {
  22134. tooltip: 'Formats',
  22135. text: vt.some('Paragraph'),
  22136. icon: vt.none(),
  22137. isSelectedFor: function (t) {
  22138. return function () {
  22139. return r.formatter.match(t)
  22140. }
  22141. },
  22142. getCurrentValue: vt.none,
  22143. getPreviewFor: function (n) {
  22144. return function () {
  22145. var t = r.formatter.get(n)
  22146. return void 0 !== t
  22147. ? vt.some({
  22148. tag: (0 < t.length && (t[0].inline || t[0].block)) || 'div',
  22149. styles: r.dom.parseStyle(r.formatter.getCssText(n)),
  22150. })
  22151. : vt.none()
  22152. }
  22153. },
  22154. onAction: XC(r),
  22155. updateText: function (t) {
  22156. var e = function (t) {
  22157. var n = t.items
  22158. return void 0 !== n && 0 < n.length
  22159. ? z(n, e)
  22160. : [{ title: t.title, format: t.format }]
  22161. },
  22162. n = z(bk(r), e),
  22163. o = WO(r, rt(n)).fold(rt('Paragraph'), function (t) {
  22164. return t.title
  22165. })
  22166. br(t, VS, { text: o })
  22167. },
  22168. shouldHide: r.getParam('style_formats_autohide', !1, 'boolean'),
  22169. isInvalid: function (t) {
  22170. return !r.formatter.canApply(t.format)
  22171. },
  22172. dataset: t,
  22173. }
  22174. }
  22175. function GO(n) {
  22176. return {
  22177. isDisabled: function () {
  22178. return gd.isDisabled(n)
  22179. },
  22180. setDisabled: function (t) {
  22181. return gd.set(n, t)
  22182. },
  22183. }
  22184. }
  22185. function XO(n) {
  22186. return {
  22187. setActive: function (t) {
  22188. Lg.set(n, t)
  22189. },
  22190. isActive: function () {
  22191. return Lg.isOn(n)
  22192. },
  22193. isDisabled: function () {
  22194. return gd.isDisabled(n)
  22195. },
  22196. setDisabled: function (t) {
  22197. return gd.set(n, t)
  22198. },
  22199. }
  22200. }
  22201. function YO(t, n) {
  22202. return t
  22203. .map(function (t) {
  22204. return { 'aria-label': n.translate(t), title: n.translate(t) }
  22205. })
  22206. .getOr({})
  22207. }
  22208. function qO(n, e, t, o, r, i) {
  22209. var u
  22210. return {
  22211. dom: {
  22212. tag: 'button',
  22213. classes: ['tox-tbtn'].concat(e.isSome() ? ['tox-tbtn--select'] : []),
  22214. attributes: YO(t, i),
  22215. },
  22216. components: tb([
  22217. n.map(function (t) {
  22218. return H0(t, i.icons)
  22219. }),
  22220. e.map(function (t) {
  22221. return N0(t, 'tox-tbtn', i)
  22222. }),
  22223. ]),
  22224. eventOrder:
  22225. (((u = {})[mi()] = [
  22226. 'focusing',
  22227. 'alloy.base.behaviour',
  22228. 'common-button-display-events',
  22229. ]),
  22230. u),
  22231. buttonBehaviours: nc(
  22232. [
  22233. Qv(i.isDisabled),
  22234. pv(),
  22235. mm('common-button-display-events', [
  22236. Cr(mi(), function (t, n) {
  22237. n.event.prevent(), vr(t, T_)
  22238. }),
  22239. ]),
  22240. ]
  22241. .concat(
  22242. o
  22243. .map(function (t) {
  22244. return k_.config({
  22245. channel: t,
  22246. initialData: { icon: n, text: e },
  22247. renderComponents: function (t, n) {
  22248. return tb([
  22249. t.icon.map(function (t) {
  22250. return H0(t, i.icons)
  22251. }),
  22252. t.text.map(function (t) {
  22253. return N0(t, 'tox-tbtn', i)
  22254. }),
  22255. ])
  22256. },
  22257. })
  22258. })
  22259. .toArray()
  22260. )
  22261. .concat(r.getOr([]))
  22262. ),
  22263. }
  22264. }
  22265. function KO(t, n, e) {
  22266. var o,
  22267. r = Po(st),
  22268. i = qO(t.icon, t.text, t.tooltip, vt.none(), vt.none(), e)
  22269. return fp.sketch({
  22270. dom: i.dom,
  22271. components: i.components,
  22272. eventOrder: RS,
  22273. buttonBehaviours: nc(
  22274. [
  22275. mm('toolbar-button-events', [
  22276. ((o = { onAction: t.onAction, getApi: n.getApi }),
  22277. uu(function (n, t) {
  22278. hv(
  22279. o,
  22280. n
  22281. )(function (t) {
  22282. br(n, IS, { buttonApi: t }), o.onAction(t)
  22283. })
  22284. })),
  22285. vv(n, r),
  22286. bv(n, r),
  22287. ]),
  22288. Qv(function () {
  22289. return t.disabled || e.isDisabled()
  22290. }),
  22291. pv(),
  22292. ].concat(n.toolbarButtonBehaviours)
  22293. ),
  22294. })
  22295. }
  22296. function JO(r, i) {
  22297. return function (t, n, e) {
  22298. var o = r(t)
  22299. .mapError(function (t) {
  22300. return ur(t)
  22301. })
  22302. .getOrDie()
  22303. return i(o, n, e)
  22304. }
  22305. }
  22306. function $O(e, t, o, r) {
  22307. var n,
  22308. i = t.outerContainer,
  22309. u = o.toolbar,
  22310. a = o.buttons
  22311. f(u, y)
  22312. ? ((n = u.map(function (t) {
  22313. var n = {
  22314. toolbar: t,
  22315. buttons: a,
  22316. allowToolbarGroups: o.allowToolbarGroups,
  22317. }
  22318. return F_(e, n, { backstage: r }, vt.none())
  22319. })),
  22320. FO.setToolbars(i, n))
  22321. : FO.setToolbar(i, F_(e, o, { backstage: r }, vt.none()))
  22322. }
  22323. function QO(t) {
  22324. return /^[0-9\.]+(|px)$/i.test('' + t)
  22325. ? vt.some(parseInt('' + t, 10))
  22326. : vt.none()
  22327. }
  22328. function ZO(t) {
  22329. return u(t) ? t + 'px' : t
  22330. }
  22331. function t_(n, t, e) {
  22332. var o = t.filter(function (t) {
  22333. return n < t
  22334. }),
  22335. r = e.filter(function (t) {
  22336. return t < n
  22337. })
  22338. return o.or(r).getOr(n)
  22339. }
  22340. function n_(t) {
  22341. var n = lh(t),
  22342. e = fh(t),
  22343. o = mh(t)
  22344. return QO(n).map(function (t) {
  22345. return t_(t, e, o)
  22346. })
  22347. }
  22348. function e_(u, a, t, n, c) {
  22349. function s() {
  22350. return x.get() && !u.removed
  22351. }
  22352. function l(t) {
  22353. return y
  22354. ? t.fold(rt(0), function (t) {
  22355. return 1 < t.components().length ? wn(t.components()[1].element) : 0
  22356. })
  22357. : 0
  22358. }
  22359. function f() {
  22360. r.broadcastOn([xf()], {})
  22361. }
  22362. function o(t) {
  22363. var n, e, o, r, i
  22364. void 0 === t && (t = !1),
  22365. s() &&
  22366. (m ||
  22367. ((n = p.getOrThunk(function () {
  22368. var t = QO(pn(be(), 'margin-left')).getOr(0)
  22369. return On(be()) - Cn(a).left + t
  22370. })),
  22371. dn(c.get().element, 'max-width', n + 'px')),
  22372. y && FO.refreshToolbar(d),
  22373. m ||
  22374. ((e = l(FO.getToolbar(d))),
  22375. (o = Ae(a)),
  22376. (r = v() ? Math.max(o.y - wn(c.get().element) + e, 0) : o.bottom),
  22377. mn(d.element, {
  22378. position: 'absolute',
  22379. top: Math.round(r) + 'px',
  22380. left: Math.round(o.x) + 'px',
  22381. })),
  22382. g && ((i = c.get()), t ? U1.reset(i) : U1.refresh(i)),
  22383. f())
  22384. }
  22385. function e(t) {
  22386. var n, e
  22387. void 0 === t && (t = !0),
  22388. !m &&
  22389. g &&
  22390. s() &&
  22391. ((n = h.getDockingMode()),
  22392. (e = (function (t) {
  22393. switch (uv(u)) {
  22394. case xh.auto:
  22395. var n = l(FO.getToolbar(d)),
  22396. e = wn(t.element) - n,
  22397. o = Ae(a)
  22398. if (o.y > e) return 'top'
  22399. var r = Gt(a),
  22400. i = Math.max(r.dom.scrollHeight, wn(r))
  22401. return o.bottom < i - e || Fe().bottom < o.bottom - e
  22402. ? 'bottom'
  22403. : 'top'
  22404. case xh.bottom:
  22405. return 'bottom'
  22406. default:
  22407. return xh.top, 'top'
  22408. }
  22409. })(c.get())) !== n &&
  22410. ((function (t) {
  22411. var n = c.get()
  22412. U1.setModes(n, [t]), h.setDockingMode(t)
  22413. var e = v() ? Oc.TopToBottom : Oc.BottomToTop
  22414. on(n.element, es, e)
  22415. })(e),
  22416. t && o(!0)))
  22417. }
  22418. var r = t.uiMothership,
  22419. d = t.outerContainer,
  22420. i = ev.DOM,
  22421. m = sv(u),
  22422. g = dv(u),
  22423. p = mh(u).or(n_(u)),
  22424. h = n.shared.header,
  22425. v = h.isPositionedAtTop,
  22426. b = iv(u),
  22427. y = b === bh.sliding || b === bh.floating,
  22428. x = Po(!1)
  22429. return {
  22430. isVisible: s,
  22431. isPositionedAtTop: v,
  22432. show: function () {
  22433. x.set(!0),
  22434. dn(d.element, 'display', 'flex'),
  22435. i.addClass(u.getBody(), 'mce-edit-focus'),
  22436. bn(r.element, 'display'),
  22437. e(!1),
  22438. o()
  22439. },
  22440. hide: function () {
  22441. x.set(!1),
  22442. t.outerContainer &&
  22443. (dn(d.element, 'display', 'none'),
  22444. i.removeClass(u.getBody(), 'mce-edit-focus')),
  22445. dn(r.element, 'display', 'none')
  22446. },
  22447. update: o,
  22448. updateMode: e,
  22449. repositionPopups: f,
  22450. }
  22451. }
  22452. function o_(t, n) {
  22453. var e = Ae(t)
  22454. return { pos: n ? e.y : e.bottom, bounds: e }
  22455. }
  22456. function r_(i, u) {
  22457. return Cr(IS, function (t, n) {
  22458. var e,
  22459. o = i.get(t),
  22460. r =
  22461. ((e = o),
  22462. {
  22463. hide: function () {
  22464. return vr(e, Hi())
  22465. },
  22466. getValue: function () {
  22467. return Df.getValue(e)
  22468. },
  22469. })
  22470. u.onAction(r, n.event.buttonApi)
  22471. })
  22472. }
  22473. function i_(t, n, e) {
  22474. return (
  22475. n.bottom - t.y >= (e = void 0 === e ? 0.01 : e) && t.bottom - n.y >= e
  22476. )
  22477. }
  22478. function u_(t) {
  22479. var n = (function (t) {
  22480. var n = t.getBoundingClientRect()
  22481. if (n.height <= 0 && n.width <= 0) {
  22482. var e = Qt(At.fromDom(t.startContainer), t.startOffset).element
  22483. return (Yn(e) ? Yt(e) : vt.some(e))
  22484. .filter(Xn)
  22485. .map(function (t) {
  22486. return t.dom.getBoundingClientRect()
  22487. })
  22488. .getOr(n)
  22489. }
  22490. return n
  22491. })(t.selection.getRng())
  22492. if (t.inline) {
  22493. var e = Rn()
  22494. return Me(e.left + n.left, e.top + n.top, n.width, n.height)
  22495. }
  22496. var o = Nn(At.fromDom(t.getBody()))
  22497. return Me(o.x + n.left, o.y + n.top, n.width, n.height)
  22498. }
  22499. function a_(t, n, e, o) {
  22500. void 0 === o && (o = 0)
  22501. var r,
  22502. i,
  22503. u,
  22504. a,
  22505. c = Hn(window),
  22506. s = Ae(At.fromDom(t.getContentAreaContainer())),
  22507. l = ph(t) || hh(t) || rv(t),
  22508. f =
  22509. ((r = s),
  22510. (i = c),
  22511. (u = o),
  22512. {
  22513. x: (a = Math.max(r.x + u, i.x)),
  22514. width: Math.min(r.right - u, i.right) - a,
  22515. }),
  22516. d = f.x,
  22517. m = f.width
  22518. if (t.inline && !l) return Me(d, c.y, m, c.height)
  22519. var g = (function (t, n, e, o, r, i) {
  22520. var u = At.fromDom(t.getContainer()),
  22521. a = Iu(u, '.tox-editor-header').getOr(u),
  22522. c = Ae(a),
  22523. s = c.y >= n.bottom,
  22524. l = o && !s
  22525. if (t.inline && l)
  22526. return { y: Math.max(c.bottom + i, e.y), bottom: e.bottom }
  22527. if (t.inline && !l)
  22528. return { y: e.y, bottom: Math.min(c.y - i, e.bottom) }
  22529. var f = 'line' === r ? Ae(u) : n
  22530. return l
  22531. ? {
  22532. y: Math.max(c.bottom + i, e.y),
  22533. bottom: Math.min(f.bottom - i, e.bottom),
  22534. }
  22535. : { y: Math.max(f.y + i, e.y), bottom: Math.min(c.y - i, e.bottom) }
  22536. })(t, s, c, n.header.isPositionedAtTop(), e, o),
  22537. p = g.y,
  22538. h = g.bottom
  22539. return Me(d, p, m, h - p)
  22540. }
  22541. function c_(t) {
  22542. return 'node' === t
  22543. }
  22544. function s_(t, r, n, i, e) {
  22545. var u = u_(t),
  22546. o = i.lastElement().exists(function (t) {
  22547. return Lt(n, t)
  22548. }),
  22549. a = n,
  22550. c = t.selection.getRng(),
  22551. s = Qt(At.fromDom(c.startContainer), c.startOffset)
  22552. return c.startContainer === c.endContainer &&
  22553. c.startOffset === c.endOffset - 1 &&
  22554. Lt(s.element, a)
  22555. ? o
  22556. ? Vm
  22557. : cp
  22558. : o
  22559. ? (function (n, t) {
  22560. var e = hn(n, 'position')
  22561. dn(n, 'position', t)
  22562. var o = i_(u, Ae(r)) && !i.isReposition() ? Hm : Vm
  22563. return (
  22564. e.each(function (t) {
  22565. return dn(n, 'position', t)
  22566. }),
  22567. o
  22568. )
  22569. })(r, i.getMode())
  22570. : ('fixed' === i.getMode() ? e.y + Rn().top : e.y) + (wn(r) + 12) <= u.y
  22571. ? cp
  22572. : sp
  22573. }
  22574. function l_(n, t) {
  22575. var e = A(
  22576. F(t, function (t) {
  22577. return t.predicate(n.dom)
  22578. }),
  22579. function (t) {
  22580. return 'contexttoolbar' === t.type
  22581. }
  22582. )
  22583. return { contextToolbars: e.pass, contextForms: e.fail }
  22584. }
  22585. function f_(e, t) {
  22586. function o(t) {
  22587. return Lt(t, r)
  22588. }
  22589. var n,
  22590. r = At.fromDom(t.getBody()),
  22591. i = At.fromDom(t.selection.getNode())
  22592. return o((n = i)) || Wt(r, n)
  22593. ? (function (t, n, e) {
  22594. var o = l_(t, n)
  22595. if (0 < o.contextForms.length)
  22596. return vt.some({ elem: t, toolbars: [o.contextForms[0]] })
  22597. var r = l_(t, e)
  22598. if (0 < r.contextForms.length)
  22599. return vt.some({ elem: t, toolbars: [r.contextForms[0]] })
  22600. if (0 < o.contextToolbars.length || 0 < r.contextToolbars.length) {
  22601. var i = (function (t) {
  22602. if (t.length <= 1) return t
  22603. function n(n) {
  22604. return d(t, function (t) {
  22605. return t.position === n
  22606. })
  22607. }
  22608. function e(n) {
  22609. return F(t, function (t) {
  22610. return t.position === n
  22611. })
  22612. }
  22613. var o = n('selection'),
  22614. r = n('node')
  22615. if (o || r) {
  22616. if (r && o) {
  22617. var i = e('node'),
  22618. u = M(e('selection'), function (t) {
  22619. return lt(lt({}, t), { position: 'node' })
  22620. })
  22621. return i.concat(u)
  22622. }
  22623. return e(o ? 'selection' : 'node')
  22624. }
  22625. return e('line')
  22626. })(o.contextToolbars.concat(r.contextToolbars))
  22627. return vt.some({ elem: t, toolbars: i })
  22628. }
  22629. return vt.none()
  22630. })(i, e.inNodeScope, e.inEditorScope).orThunk(function () {
  22631. return (
  22632. (a = e),
  22633. (t = o)((n = i))
  22634. ? vt.none()
  22635. : dr(
  22636. n,
  22637. function (t) {
  22638. if (Xn(t)) {
  22639. var n = l_(t, a.inNodeScope),
  22640. e = n.contextToolbars,
  22641. o = n.contextForms,
  22642. r =
  22643. 0 < o.length
  22644. ? o
  22645. : (u = e).length <= 1
  22646. ? u
  22647. : i('selection')
  22648. .orThunk(function () {
  22649. return i('node')
  22650. })
  22651. .orThunk(function () {
  22652. return i('line')
  22653. })
  22654. .map(function (t) {
  22655. return t.position
  22656. })
  22657. .fold(
  22658. function () {
  22659. return []
  22660. },
  22661. function (n) {
  22662. return F(u, function (t) {
  22663. return t.position === n
  22664. })
  22665. }
  22666. )
  22667. return 0 < r.length
  22668. ? vt.some({ elem: t, toolbars: r })
  22669. : vt.none()
  22670. }
  22671. function i(n) {
  22672. return V(u, function (t) {
  22673. return t.position === n
  22674. })
  22675. }
  22676. var u
  22677. return vt.none()
  22678. },
  22679. t
  22680. )
  22681. )
  22682. var t, n, a
  22683. })
  22684. : vt.none()
  22685. }
  22686. function d_(a, c) {
  22687. var s = {},
  22688. l = [],
  22689. f = [],
  22690. d = {},
  22691. m = {},
  22692. t = Ct(a)
  22693. return (
  22694. St(t, function (t) {
  22695. var n,
  22696. e,
  22697. o,
  22698. r,
  22699. i,
  22700. u = a[t]
  22701. 'contextform' === u.type
  22702. ? ((o = t),
  22703. (i = co(ao('ContextForm', qp, (r = u)))),
  22704. (s[o] = i).launch.map(function (t) {
  22705. d['form:' + o] = lt(lt({}, r.launch), {
  22706. type:
  22707. 'contextformtogglebutton' === t.type
  22708. ? 'togglebutton'
  22709. : 'button',
  22710. onAction: function () {
  22711. c(i)
  22712. },
  22713. })
  22714. }),
  22715. ('editor' === i.scope ? f : l).push(i),
  22716. (m[o] = i))
  22717. : 'contexttoolbar' === u.type &&
  22718. ((n = t),
  22719. ao('ContextToolbar', Kp, (e = u)).each(function (t) {
  22720. ;('editor' === e.scope ? f : l).push(t), (m[n] = t)
  22721. }))
  22722. }),
  22723. {
  22724. forms: s,
  22725. inNodeScope: l,
  22726. inEditorScope: f,
  22727. lookupTable: m,
  22728. formNavigators: d,
  22729. }
  22730. )
  22731. }
  22732. function m_(d, t, m, u) {
  22733. function a() {
  22734. var t = y.get().getOr('node'),
  22735. n = c_(t) ? 1 : 0
  22736. return a_(d, p, t, n)
  22737. }
  22738. function c() {
  22739. return !(d.removed || (h() && g.isContextMenuOpen()))
  22740. }
  22741. function s() {
  22742. if (c()) {
  22743. var t = a(),
  22744. n = mt(y.get(), 'node')
  22745. ? ((e = d),
  22746. v
  22747. .get()
  22748. .filter(ve)
  22749. .map(Nn)
  22750. .getOrThunk(function () {
  22751. return u_(e)
  22752. }))
  22753. : u_(d)
  22754. return t.height <= 0 || !i_(n, t)
  22755. }
  22756. return 1
  22757. var e
  22758. }
  22759. function n() {
  22760. v.clear(), b.clear(), y.clear(), up.hide(x)
  22761. }
  22762. function e() {
  22763. var t
  22764. up.isOpen(x) &&
  22765. (bn((t = x.element), 'display'),
  22766. s() ? dn(t, 'display', 'none') : (b.set(0), up.reposition(x)))
  22767. }
  22768. function l(t) {
  22769. return {
  22770. dom: { tag: 'div', classes: ['tox-pop__dialog'] },
  22771. components: [t],
  22772. behaviours: nc([
  22773. Fg.config({ mode: 'acyclic' }),
  22774. mm('pop-dialog-wrap-events', [
  22775. ou(function (t) {
  22776. d.shortcuts.add('ctrl+F9', 'focus statusbar', function () {
  22777. return Fg.focusIn(t)
  22778. })
  22779. }),
  22780. ru(function (t) {
  22781. d.shortcuts.remove('ctrl+F9')
  22782. }),
  22783. ]),
  22784. ]),
  22785. }
  22786. }
  22787. function f(t, n) {
  22788. var e,
  22789. o,
  22790. r,
  22791. i,
  22792. c,
  22793. s,
  22794. u,
  22795. a = 'node' === t ? p.anchors.node(n) : p.anchors.cursor(),
  22796. l =
  22797. ((e = d),
  22798. (o = t),
  22799. (r = h()),
  22800. (i = {
  22801. lastElement: v.get,
  22802. isReposition: function () {
  22803. return mt(b.get(), 0)
  22804. },
  22805. getMode: function () {
  22806. return ff.getMode(m)
  22807. },
  22808. }),
  22809. 'line' === o
  22810. ? {
  22811. bubble: Sc(12, 0, N_),
  22812. layouts: {
  22813. onLtr: function () {
  22814. return [la]
  22815. },
  22816. onRtl: function () {
  22817. return [fa]
  22818. },
  22819. },
  22820. overrides: L_,
  22821. }
  22822. : {
  22823. bubble: Sc(0, 12, N_, 1 / 12),
  22824. layouts:
  22825. ((c = e),
  22826. (s = i),
  22827. (u = o),
  22828. r
  22829. ? {
  22830. onLtr: function (t) {
  22831. return [$a, Xa, Ya, qa, Ka, Ja].concat(f(t))
  22832. },
  22833. onRtl: function (t) {
  22834. return [$a, Ya, Xa, Ka, qa, Ja].concat(f(t))
  22835. },
  22836. }
  22837. : {
  22838. onLtr: function (t) {
  22839. return [Ja, $a, qa, Xa, Ka, Ya].concat(f(t))
  22840. },
  22841. onRtl: function (t) {
  22842. return [Ja, $a, Ka, Ya, qa, Xa].concat(f(t))
  22843. },
  22844. }),
  22845. overrides: L_,
  22846. })
  22847. function f(t) {
  22848. return c_(u)
  22849. ? [
  22850. ((a = t),
  22851. function (t, n, e, o, r) {
  22852. var i = s_(c, o, a, s, r),
  22853. u = lt(lt({}, t), { y: r.y, height: r.height })
  22854. return lt(lt({}, i(u, n, e, o, r)), { alwaysFit: !0 })
  22855. }),
  22856. ]
  22857. : []
  22858. var a
  22859. }
  22860. return Yo(a, l)
  22861. }
  22862. function o(t, n) {
  22863. var e, o, r, i
  22864. k.cancel(),
  22865. c() &&
  22866. ((e = S(t)),
  22867. (r = f((o = t[0].position), n)),
  22868. y.set(o),
  22869. b.set(1),
  22870. bn((i = x.element), 'display'),
  22871. mt(Et(n, v.get(), Lt), !0) || (qr(i, X_), ff.reset(m, x)),
  22872. up.showWithinBounds(
  22873. x,
  22874. l(e),
  22875. { anchor: r, transition: { classes: [X_], mode: 'placement' } },
  22876. function () {
  22877. return vt.some(a())
  22878. }
  22879. ),
  22880. n.fold(v.clear, v.set),
  22881. s() && dn(i, 'display', 'none'))
  22882. }
  22883. var r,
  22884. i,
  22885. g = u.backstage,
  22886. p = g.shared,
  22887. h = le().deviceType.isTouch,
  22888. v = gc(),
  22889. b = gc(),
  22890. y = gc(),
  22891. x = Tu(
  22892. ((r = {
  22893. sink: m,
  22894. onEscape: function () {
  22895. return d.focus(), vt.some(!0)
  22896. },
  22897. }),
  22898. (i = Po([])),
  22899. up.sketch({
  22900. dom: { tag: 'div', classes: ['tox-pop'] },
  22901. fireDismissalEventInstead: { event: 'doNotDismissYet' },
  22902. onShow: function (t) {
  22903. i.set([]),
  22904. up.getContent(t).each(function (t) {
  22905. bn(t.element, 'visibility')
  22906. }),
  22907. qr(t.element, G_),
  22908. bn(t.element, 'width')
  22909. },
  22910. inlineBehaviours: nc([
  22911. mm('context-toolbar-events', [
  22912. Br(_i(), function (t, n) {
  22913. 'width' === n.event.raw.propertyName &&
  22914. (qr(t.element, G_), bn(t.element, 'width'))
  22915. }),
  22916. Cr(j_, function (t, n) {
  22917. var e = t.element
  22918. bn(e, 'width')
  22919. var o = On(e)
  22920. up.setContent(t, n.event.contents), Yr(e, G_)
  22921. var r = On(e)
  22922. dn(e, 'width', o + 'px'),
  22923. up.getContent(t).each(function (t) {
  22924. n.event.focus
  22925. .bind(function (t) {
  22926. return ka(t), _a(e)
  22927. })
  22928. .orThunk(function () {
  22929. return Fg.focusIn(t), Oa(ge(e))
  22930. })
  22931. }),
  22932. lp.setTimeout(function () {
  22933. dn(t.element, 'width', r + 'px')
  22934. }, 0)
  22935. }),
  22936. Cr(W_, function (n, t) {
  22937. up.getContent(n).each(function (t) {
  22938. i.set(i.get().concat([{ bar: t, focus: Oa(ge(n.element)) }]))
  22939. }),
  22940. br(n, j_, {
  22941. contents: t.event.forwardContents,
  22942. focus: vt.none(),
  22943. })
  22944. }),
  22945. Cr(U_, function (n, t) {
  22946. q(i.get()).each(function (t) {
  22947. i.set(i.get().slice(0, i.get().length - 1)),
  22948. br(n, j_, { contents: Eu(t.bar), focus: t.focus })
  22949. })
  22950. }),
  22951. ]),
  22952. Fg.config({
  22953. mode: 'special',
  22954. onEscape: function (n) {
  22955. return q(i.get()).fold(
  22956. function () {
  22957. return r.onEscape()
  22958. },
  22959. function (t) {
  22960. return vr(n, U_), vt.some(!0)
  22961. }
  22962. )
  22963. },
  22964. }),
  22965. ]),
  22966. lazySink: function () {
  22967. return Ve.value(r.sink)
  22968. },
  22969. }))
  22970. ),
  22971. w = Rt(function () {
  22972. return d_(t, function (t) {
  22973. var n = S([t])
  22974. br(x, W_, { forwardContents: l(n) })
  22975. })
  22976. }),
  22977. S = function (t) {
  22978. var n = d.ui.registry.getAll().buttons,
  22979. e = w(),
  22980. o = lt(lt({}, n), e.formNavigators),
  22981. r = iv(d) === bh.scrolling ? bh.scrolling : bh.default,
  22982. i = ft(
  22983. M(t, function (t) {
  22984. return 'contexttoolbar' === t.type
  22985. ? F_(
  22986. d,
  22987. { buttons: o, toolbar: t.items, allowToolbarGroups: !1 },
  22988. u,
  22989. vt.some(['form:'])
  22990. )
  22991. : ((n = p.providers), z_(t, n))
  22992. var n
  22993. })
  22994. )
  22995. return HC({
  22996. type: r,
  22997. uid: Ir('context-toolbar'),
  22998. initGroups: i,
  22999. onEscape: vt.none,
  23000. cyclicKeying: !0,
  23001. providers: p.providers,
  23002. })
  23003. },
  23004. k = vp(function () {
  23005. d.hasFocus() &&
  23006. !d.removed &&
  23007. (Kr(x.element, X_)
  23008. ? k.throttle()
  23009. : f_(w(), d).fold(n, function (t) {
  23010. o(t.toolbars, vt.some(t.elem))
  23011. }))
  23012. }, 17)
  23013. d.on('init', function () {
  23014. d.on('remove', n),
  23015. d.on(
  23016. 'ScrollContent ScrollWindow ObjectResized ResizeEditor longpress',
  23017. e
  23018. ),
  23019. d.on('click keyup focus SetContent', k.throttle),
  23020. d.on(H_, n),
  23021. d.on('contexttoolbar-show', function (n) {
  23022. tt(w().lookupTable, n.toolbarKey).each(function (t) {
  23023. o([t], ot(n.target !== d, n.target)),
  23024. up.getContent(x).each(Fg.focusIn)
  23025. })
  23026. }),
  23027. d.on('focusout', function (t) {
  23028. lp.setEditorTimeout(
  23029. d,
  23030. function () {
  23031. _a(m.element).isNone() && _a(x.element).isNone() && n()
  23032. },
  23033. 0
  23034. )
  23035. }),
  23036. d.on('SwitchMode', function () {
  23037. d.mode.isReadOnly() && n()
  23038. }),
  23039. d.on('AfterProgressState', function (t) {
  23040. t.state ? n() : d.hasFocus() && k.throttle()
  23041. }),
  23042. d.on('NodeChange', function (t) {
  23043. _a(x.element).fold(k.throttle, st)
  23044. })
  23045. })
  23046. }
  23047. ;((n1 = t1 = t1 || {})[(n1.SemiColon = 0)] = 'SemiColon'),
  23048. (n1[(n1.Space = 1)] = 'Space')
  23049. var g_,
  23050. p_,
  23051. h_,
  23052. v_ = [
  23053. {
  23054. title: 'Left',
  23055. icon: 'align-left',
  23056. format: 'alignleft',
  23057. command: 'JustifyLeft',
  23058. },
  23059. {
  23060. title: 'Center',
  23061. icon: 'align-center',
  23062. format: 'aligncenter',
  23063. command: 'JustifyCenter',
  23064. },
  23065. {
  23066. title: 'Right',
  23067. icon: 'align-right',
  23068. format: 'alignright',
  23069. command: 'JustifyRight',
  23070. },
  23071. {
  23072. title: 'Justify',
  23073. icon: 'align-justify',
  23074. format: 'alignjustify',
  23075. command: 'JustifyFull',
  23076. },
  23077. ],
  23078. b_ = [
  23079. '-apple-system',
  23080. 'Segoe UI',
  23081. 'Roboto',
  23082. 'Helvetica Neue',
  23083. 'sans-serif',
  23084. ],
  23085. y_ = {
  23086. '8pt': '1',
  23087. '10pt': '2',
  23088. '12pt': '3',
  23089. '14pt': '4',
  23090. '18pt': '5',
  23091. '24pt': '6',
  23092. '36pt': '7',
  23093. },
  23094. x_ = {
  23095. 'xx-small': '7pt',
  23096. 'x-small': '8pt',
  23097. small: '10pt',
  23098. medium: '12pt',
  23099. large: '14pt',
  23100. 'x-large': '18pt',
  23101. 'xx-large': '24pt',
  23102. },
  23103. w_ = Object.freeze({
  23104. __proto__: null,
  23105. events: function (r, i) {
  23106. function u(e, o) {
  23107. r.updateState.each(function (t) {
  23108. var n = t(e, o)
  23109. i.set(n)
  23110. }),
  23111. r.renderComponents.each(function (t) {
  23112. var n = M(t(o, i.get()), e.getSystem().build)
  23113. Rs(e, n)
  23114. })
  23115. }
  23116. return eu([
  23117. Cr(Fi(), function (t, n) {
  23118. var e,
  23119. o = n
  23120. o.universal || ((e = r.channel), wt(o.channels, e) && u(t, o.data))
  23121. }),
  23122. ou(function (n, t) {
  23123. r.initialData.each(function (t) {
  23124. u(n, t)
  23125. })
  23126. }),
  23127. ])
  23128. },
  23129. }),
  23130. S_ = Object.freeze({
  23131. __proto__: null,
  23132. getState: function (t, n, e) {
  23133. return e
  23134. },
  23135. }),
  23136. k_ = xa({
  23137. fields: [
  23138. mo('channel'),
  23139. wo('renderComponents'),
  23140. wo('updateState'),
  23141. wo('initialData'),
  23142. ],
  23143. name: 'reflecting',
  23144. active: w_,
  23145. apis: S_,
  23146. state: Object.freeze({
  23147. __proto__: null,
  23148. init: function () {
  23149. var t = Po(vt.none())
  23150. return {
  23151. readState: function () {
  23152. return t.get().getOr('none')
  23153. },
  23154. get: t.get,
  23155. set: t.set,
  23156. clear: function () {
  23157. return t.set(vt.none())
  23158. },
  23159. }
  23160. },
  23161. }),
  23162. }),
  23163. C_ = rt(
  23164. [
  23165. mo('toggleClass'),
  23166. mo('fetch'),
  23167. Qu('onExecute'),
  23168. Eo('getHotspot', vt.some),
  23169. Eo('getAnchorOverrides', rt({})),
  23170. Wc(),
  23171. Qu('onItemExecute'),
  23172. wo('lazySink'),
  23173. mo('dom'),
  23174. Ju('onOpen'),
  23175. Zs('splitDropdownBehaviours', [$y, Fg, Hg]),
  23176. Eo('matchWidth', !1),
  23177. Eo('useMinWidth', !1),
  23178. Eo('eventOrder', {}),
  23179. wo('role'),
  23180. ].concat(ux())
  23181. ),
  23182. O_ = rt([
  23183. Jf({
  23184. factory: fp,
  23185. schema: [mo('dom')],
  23186. name: 'arrow',
  23187. defaults: function () {
  23188. return { buttonBehaviours: nc([Hg.revoke()]) }
  23189. },
  23190. overrides: function (n) {
  23191. return {
  23192. dom: { tag: 'span', attributes: { role: 'presentation' } },
  23193. action: function (t) {
  23194. t.getSystem().getByUid(n.uid).each(yr)
  23195. },
  23196. buttonBehaviours: nc([
  23197. Lg.config({ toggleOnExecute: !1, toggleClass: n.toggleClass }),
  23198. ]),
  23199. }
  23200. },
  23201. }),
  23202. Jf({
  23203. factory: fp,
  23204. schema: [mo('dom')],
  23205. name: 'button',
  23206. defaults: function () {
  23207. return { buttonBehaviours: nc([Hg.revoke()]) }
  23208. },
  23209. overrides: function (e) {
  23210. return {
  23211. dom: { tag: 'span', attributes: { role: 'presentation' } },
  23212. action: function (n) {
  23213. n.getSystem()
  23214. .getByUid(e.uid)
  23215. .each(function (t) {
  23216. e.onExecute(t, n)
  23217. })
  23218. },
  23219. }
  23220. },
  23221. }),
  23222. Qf({
  23223. factory: {
  23224. sketch: function (t) {
  23225. return {
  23226. uid: t.uid,
  23227. dom: {
  23228. tag: 'span',
  23229. styles: { display: 'none' },
  23230. attributes: { 'aria-hidden': 'true' },
  23231. innerHtml: t.text,
  23232. },
  23233. }
  23234. },
  23235. },
  23236. schema: [mo('text')],
  23237. name: 'aria-descriptor',
  23238. }),
  23239. $f({
  23240. schema: [Yu()],
  23241. name: 'menu',
  23242. defaults: function (o) {
  23243. return {
  23244. onExecute: function (n, e) {
  23245. n.getSystem()
  23246. .getByUid(o.uid)
  23247. .each(function (t) {
  23248. o.onItemExecute(t, n, e)
  23249. })
  23250. },
  23251. }
  23252. },
  23253. }),
  23254. Zy(),
  23255. ]),
  23256. __ = Cl({
  23257. name: 'SplitDropdown',
  23258. configFields: C_(),
  23259. partFields: O_(),
  23260. factory: function (o, t, n, e) {
  23261. function r(t) {
  23262. cd.getCurrent(t).each(function (t) {
  23263. hd.highlightFirst(t), Fg.focusIn(t)
  23264. })
  23265. }
  23266. function i(t) {
  23267. ex(o, h, t, e, r, Hy.HighlightFirst).get(st)
  23268. }
  23269. function u(t) {
  23270. return yr(gl(t, o, 'button')), vt.some(!0)
  23271. }
  23272. var a,
  23273. c = lt(
  23274. lt(
  23275. {},
  23276. eu([
  23277. ou(function (e, t) {
  23278. ml(e, o, 'aria-descriptor').each(function (t) {
  23279. var n = Ir('aria')
  23280. on(t.element, 'id', n), on(e.element, 'aria-describedby', n)
  23281. })
  23282. }),
  23283. ])
  23284. ),
  23285. Sm(vt.some(i))
  23286. ),
  23287. s = {
  23288. repositionMenus: function (t) {
  23289. Lg.isOn(t) && ix(t)
  23290. },
  23291. }
  23292. return {
  23293. uid: o.uid,
  23294. dom: o.dom,
  23295. components: t,
  23296. apis: s,
  23297. eventOrder: lt(
  23298. lt({}, o.eventOrder),
  23299. (((a = {})[Ii()] = [
  23300. 'disabling',
  23301. 'toggling',
  23302. 'alloy.base.behaviour',
  23303. ]),
  23304. a)
  23305. ),
  23306. events: c,
  23307. behaviours: nl(o.splitDropdownBehaviours, [
  23308. $y.config({
  23309. others: {
  23310. sandbox: function (t) {
  23311. var n = gl(t, o, 'arrow')
  23312. return rx(o, t, {
  23313. onOpen: function () {
  23314. Lg.on(n), Lg.on(t)
  23315. },
  23316. onClose: function () {
  23317. Lg.off(n), Lg.off(t)
  23318. },
  23319. })
  23320. },
  23321. },
  23322. }),
  23323. Fg.config({
  23324. mode: 'special',
  23325. onSpace: u,
  23326. onEnter: u,
  23327. onDown: function (t) {
  23328. return i(t), vt.some(!0)
  23329. },
  23330. }),
  23331. Hg.config({}),
  23332. Lg.config({ toggleOnExecute: !1, aria: { mode: 'expanded' } }),
  23333. ]),
  23334. domModification: {
  23335. attributes: { role: o.role.getOr('button'), 'aria-haspopup': !0 },
  23336. },
  23337. }
  23338. },
  23339. apis: {
  23340. repositionMenus: function (t, n) {
  23341. return t.repositionMenus(n)
  23342. },
  23343. },
  23344. }),
  23345. T_ = Ir('focus-button'),
  23346. E_ = function (t, n, e) {
  23347. return KO(
  23348. t,
  23349. {
  23350. toolbarButtonBehaviours: [].concat(
  23351. 0 < e.length ? [mm('toolbarButtonWith', e)] : []
  23352. ),
  23353. getApi: GO,
  23354. onSetup: t.onSetup,
  23355. },
  23356. n
  23357. )
  23358. },
  23359. D_ = function (t, n, e) {
  23360. return Yo(
  23361. KO(
  23362. t,
  23363. {
  23364. toolbarButtonBehaviours: [
  23365. Rg.config({}),
  23366. Lg.config({
  23367. toggleClass: 'tox-tbtn--enabled',
  23368. aria: { mode: 'pressed' },
  23369. toggleOnExecute: !1,
  23370. }),
  23371. ].concat(0 < e.length ? [mm('toolbarToggleButtonWith', e)] : []),
  23372. getApi: XO,
  23373. onSetup: t.onSetup,
  23374. },
  23375. n
  23376. )
  23377. )
  23378. },
  23379. B_ = [
  23380. { name: 'history', items: ['undo', 'redo'] },
  23381. { name: 'styles', items: ['styleselect'] },
  23382. { name: 'formatting', items: ['bold', 'italic'] },
  23383. {
  23384. name: 'alignment',
  23385. items: ['alignleft', 'aligncenter', 'alignright', 'alignjustify'],
  23386. },
  23387. { name: 'indentation', items: ['outdent', 'indent'] },
  23388. { name: 'permanent pen', items: ['permanentpen'] },
  23389. { name: 'comments', items: ['addcomment'] },
  23390. ],
  23391. M_ = {
  23392. button: JO(Op, function (t, n) {
  23393. return (e = n.backstage.shared.providers), E_(t, e, [])
  23394. var e
  23395. }),
  23396. togglebutton: JO(_p, function (t, n) {
  23397. return (e = n.backstage.shared.providers), D_(t, e, [])
  23398. var e
  23399. }),
  23400. menubutton: JO(rC, function (t, n) {
  23401. return G0(t, 'tox-tbtn', n.backstage, vt.none())
  23402. }),
  23403. splitbutton: JO(
  23404. function (t) {
  23405. return ao('SplitButton', Q1, t)
  23406. },
  23407. function (t, n) {
  23408. return (
  23409. (o = t),
  23410. (r = n.backstage.shared),
  23411. (s = Ir('channel-update-split-dropdown-display')),
  23412. (l = Po(st)),
  23413. (f = { getApi: e, onSetup: o.onSetup }),
  23414. __.sketch({
  23415. dom: {
  23416. tag: 'div',
  23417. classes: ['tox-split-button'],
  23418. attributes: lt(
  23419. { 'aria-pressed': !1 },
  23420. YO(o.tooltip, r.providers)
  23421. ),
  23422. },
  23423. onExecute: function (t) {
  23424. o.onAction(e(t))
  23425. },
  23426. onItemExecute: function (t, n, e) {},
  23427. splitDropdownBehaviours: nc([
  23428. Yv(r.providers.isDisabled),
  23429. pv(),
  23430. mm('split-dropdown-events', [
  23431. Cr(T_, Hg.focus),
  23432. vv(f, l),
  23433. bv(f, l),
  23434. ]),
  23435. vw.config({}),
  23436. ]),
  23437. eventOrder:
  23438. (((i = {})[Gi()] = [
  23439. 'alloy.base.behaviour',
  23440. 'split-dropdown-events',
  23441. ]),
  23442. i),
  23443. toggleClass: 'tox-tbtn--enabled',
  23444. lazySink: r.getSink,
  23445. fetch:
  23446. ((u = e),
  23447. (a = o),
  23448. (c = r.providers),
  23449. function (n) {
  23450. return jy(function (t) {
  23451. return a.fetch(t)
  23452. }).map(function (t) {
  23453. return vt.from(
  23454. Xb(
  23455. Yo(
  23456. Ob(
  23457. Ir('menu-value'),
  23458. t,
  23459. function (t) {
  23460. a.onItemAction(u(n), t)
  23461. },
  23462. a.columns,
  23463. a.presets,
  23464. Sh.CLOSE_ON_EXECUTE,
  23465. a.select.getOr(T),
  23466. c
  23467. ),
  23468. {
  23469. movement: _b(a.columns, a.presets),
  23470. menuBehaviours: Kh(
  23471. 'auto' !== a.columns
  23472. ? []
  23473. : [
  23474. ou(function (o, t) {
  23475. ah(o, 4, Jp(a.presets)).each(function (
  23476. t
  23477. ) {
  23478. var n = t.numRows,
  23479. e = t.numColumns
  23480. Fg.setGridSize(o, n, e)
  23481. })
  23482. }),
  23483. ]
  23484. ),
  23485. }
  23486. )
  23487. )
  23488. )
  23489. })
  23490. }),
  23491. parts: { menu: Zp(0, o.columns, o.presets) },
  23492. components: [
  23493. __.parts.button(
  23494. qO(
  23495. o.icon,
  23496. o.text,
  23497. vt.none(),
  23498. vt.some(s),
  23499. vt.some([
  23500. Lg.config({
  23501. toggleClass: 'tox-tbtn--enabled',
  23502. toggleOnExecute: !1,
  23503. }),
  23504. ]),
  23505. r.providers
  23506. )
  23507. ),
  23508. __.parts.arrow({
  23509. dom: {
  23510. tag: 'button',
  23511. classes: ['tox-tbtn', 'tox-split-button__chevron'],
  23512. innerHtml: Um('chevron-down', r.providers.icons),
  23513. },
  23514. buttonBehaviours: nc([
  23515. Yv(r.providers.isDisabled),
  23516. pv(),
  23517. jm(),
  23518. ]),
  23519. }),
  23520. __.parts['aria-descriptor']({
  23521. text: r.providers.translate(
  23522. 'To open the popup, press Shift+Enter'
  23523. ),
  23524. }),
  23525. ],
  23526. })
  23527. )
  23528. function e(e) {
  23529. return {
  23530. isDisabled: function () {
  23531. return gd.isDisabled(e)
  23532. },
  23533. setDisabled: function (t) {
  23534. return gd.set(e, t)
  23535. },
  23536. setIconFill: function (t, n) {
  23537. Iu(
  23538. e.element,
  23539. 'svg path[id="' + t + '"], rect[id="' + t + '"]'
  23540. ).each(function (t) {
  23541. on(t, 'fill', n)
  23542. })
  23543. },
  23544. setIconStroke: function (t, n) {
  23545. Iu(
  23546. e.element,
  23547. 'svg path[id="' + t + '"], rect[id="' + t + '"]'
  23548. ).each(function (t) {
  23549. on(t, 'stroke', n)
  23550. })
  23551. },
  23552. setActive: function (n) {
  23553. on(e.element, 'aria-pressed', n),
  23554. Iu(e.element, 'span').each(function (t) {
  23555. e.getSystem()
  23556. .getByDom(t)
  23557. .each(function (t) {
  23558. return Lg.set(t, n)
  23559. })
  23560. })
  23561. },
  23562. isActive: function () {
  23563. return Iu(e.element, 'span').exists(function (t) {
  23564. return e.getSystem().getByDom(t).exists(Lg.isOn)
  23565. })
  23566. },
  23567. }
  23568. }
  23569. var o, r, i, u, a, c, s, l, f
  23570. }
  23571. ),
  23572. grouptoolbarbutton: JO(
  23573. function (t) {
  23574. return ao('GroupToolbarButton', K1, t)
  23575. },
  23576. function (t, n, e) {
  23577. var o,
  23578. r,
  23579. i,
  23580. u,
  23581. a,
  23582. c,
  23583. s = e.ui.registry.getAll().buttons,
  23584. l =
  23585. (((o = {})[es] = n.backstage.shared.header.isPositionedAtTop()
  23586. ? Oc.TopToBottom
  23587. : Oc.BottomToTop),
  23588. o)
  23589. if (iv(e) !== bh.floating)
  23590. throw new Error(
  23591. 'Toolbar groups are only supported when using floating toolbar mode'
  23592. )
  23593. return (
  23594. (i = n.backstage),
  23595. (u = function (t) {
  23596. return F_(
  23597. e,
  23598. { buttons: s, toolbar: t, allowToolbarGroups: !1 },
  23599. n,
  23600. vt.none()
  23601. )
  23602. }),
  23603. (a = l),
  23604. (c = i.shared),
  23605. bO.sketch({
  23606. lazySink: c.getSink,
  23607. fetch: function () {
  23608. return jy(function (t) {
  23609. t(M(u(r.items), RC))
  23610. })
  23611. },
  23612. markers: { toggledClass: 'tox-tbtn--enabled' },
  23613. parts: {
  23614. button: qO(
  23615. (r = t).icon,
  23616. r.text,
  23617. r.tooltip,
  23618. vt.none(),
  23619. vt.none(),
  23620. c.providers
  23621. ),
  23622. toolbar: {
  23623. dom: {
  23624. tag: 'div',
  23625. classes: ['tox-toolbar__overflow'],
  23626. attributes: a,
  23627. },
  23628. },
  23629. },
  23630. })
  23631. )
  23632. }
  23633. ),
  23634. styleSelectButton: function (t, n) {
  23635. return KC(
  23636. t,
  23637. (e = n.backstage),
  23638. jO(t, lt({ type: 'advanced' }, e.styleselect))
  23639. )
  23640. var e
  23641. },
  23642. fontsizeSelectButton: function (t, n) {
  23643. return KC(t, n.backstage, LO(t))
  23644. },
  23645. fontSelectButton: function (t, n) {
  23646. return KC(t, n.backstage, NO(t))
  23647. },
  23648. formatButton: function (t, n) {
  23649. return KC(t, n.backstage, UO(t))
  23650. },
  23651. alignMenuButton: function (t, n) {
  23652. return KC(t, n.backstage, HO(t))
  23653. },
  23654. },
  23655. A_ = {
  23656. styleselect: M_.styleSelectButton,
  23657. fontsizeselect: M_.fontsizeSelectButton,
  23658. fontselect: M_.fontSelectButton,
  23659. formatselect: M_.formatButton,
  23660. align: M_.alignMenuButton,
  23661. },
  23662. F_ = function (o, c, s, l) {
  23663. var e,
  23664. t,
  23665. n,
  23666. r,
  23667. i =
  23668. ((n = c.toolbar),
  23669. (r = c.buttons),
  23670. !1 === n
  23671. ? []
  23672. : void 0 === n || !0 === n
  23673. ? ((e = r),
  23674. (t = M(B_, function (t) {
  23675. var n = F(t.items, function (t) {
  23676. return Tt(e, t) || Tt(A_, t)
  23677. })
  23678. return { name: t.name, items: n }
  23679. })),
  23680. F(t, function (t) {
  23681. return 0 < t.items.length
  23682. }))
  23683. : y(n)
  23684. ? M(n.split('|'), function (t) {
  23685. return { items: t.trim().split(' ') }
  23686. })
  23687. : f(n, function (t) {
  23688. return Tt(t, 'name') && Tt(t, 'items')
  23689. })
  23690. ? n
  23691. : (console.error(
  23692. 'Toolbar type should be string, string[], boolean or ToolbarGroup[]'
  23693. ),
  23694. []))
  23695. return F(
  23696. M(i, function (t) {
  23697. var n = z(t.items, function (t) {
  23698. return 0 === t.trim().length
  23699. ? []
  23700. : ((r = o),
  23701. (n = c.buttons),
  23702. (i = t),
  23703. (u = c.allowToolbarGroups),
  23704. (a = s),
  23705. (e = l),
  23706. tt(n, i.toLowerCase())
  23707. .orThunk(function () {
  23708. return e.bind(function (t) {
  23709. return K(t, function (t) {
  23710. return tt(n, t + i.toLowerCase())
  23711. })
  23712. })
  23713. })
  23714. .fold(
  23715. function () {
  23716. return tt(A_, i.toLowerCase())
  23717. .map(function (t) {
  23718. return t(r, a)
  23719. })
  23720. .orThunk(function () {
  23721. return vt.none()
  23722. })
  23723. },
  23724. function (t) {
  23725. return 'grouptoolbarbutton' !== t.type || u
  23726. ? ((e = a),
  23727. (o = r),
  23728. tt(M_, (n = t).type).fold(
  23729. function () {
  23730. return (
  23731. console.error('skipping button defined by', n),
  23732. vt.none()
  23733. )
  23734. },
  23735. function (t) {
  23736. return vt.some(t(n, e, o))
  23737. }
  23738. ))
  23739. : (console.warn(
  23740. "Ignoring the '" +
  23741. i +
  23742. "' toolbar button. Group toolbar buttons are only supported when using floating toolbar mode and cannot be nested."
  23743. ),
  23744. vt.none())
  23745. var n, e, o
  23746. }
  23747. )
  23748. .toArray())
  23749. var r, n, i, u, a, e
  23750. })
  23751. return { title: vt.from(o.translate(t.name)), items: n }
  23752. }),
  23753. function (t) {
  23754. return 0 < t.items.length
  23755. }
  23756. )
  23757. },
  23758. I_ = le(),
  23759. R_ = I_.os.isiOS() && I_.os.version.major <= 12,
  23760. V_ = Object.freeze({
  23761. __proto__: null,
  23762. render: function (e, n, t, o, r) {
  23763. var i = Po(0),
  23764. u = n.outerContainer
  23765. RO(e)
  23766. var a = At.fromDom(r.targetNode),
  23767. c = tn(ge(a)),
  23768. s = n.mothership
  23769. pf(a, s, Bn),
  23770. Ns(c, n.uiMothership),
  23771. e.on('PostRender', function () {
  23772. $O(e, n, t, o),
  23773. i.set(e.getWin().innerWidth),
  23774. FO.setMenubar(u, NC(e, t)),
  23775. FO.setSidebar(u, t.sidebar),
  23776. (function (e, t) {
  23777. function n() {
  23778. var t = c.get()
  23779. ;(t.left === u.innerWidth && t.top === u.innerHeight) ||
  23780. (c.set(ke(u.innerWidth, u.innerHeight)), Wv(e))
  23781. }
  23782. function o() {
  23783. var t = e.getDoc().documentElement,
  23784. n = s.get()
  23785. ;(n.left === t.offsetWidth && n.top === t.offsetHeight) ||
  23786. (s.set(ke(t.offsetWidth, t.offsetHeight)), Wv(e))
  23787. }
  23788. function r(t) {
  23789. return e.fire('ScrollContent', t)
  23790. }
  23791. var i = e.dom,
  23792. u = e.getWin(),
  23793. a = e.getDoc().documentElement,
  23794. c = Po(ke(u.innerWidth, u.innerHeight)),
  23795. s = Po(ke(a.offsetWidth, a.offsetHeight))
  23796. i.bind(u, 'resize', n), i.bind(u, 'scroll', r)
  23797. var l = hc(At.fromDom(e.getBody()), 'load', o),
  23798. f = t.uiMothership.element
  23799. e.on('hide', function () {
  23800. dn(f, 'display', 'none')
  23801. }),
  23802. e.on('show', function () {
  23803. bn(f, 'display')
  23804. }),
  23805. e.on('NodeChange', o),
  23806. e.on('remove', function () {
  23807. l.unbind(),
  23808. i.unbind(u, 'resize', n),
  23809. i.unbind(u, 'scroll', r),
  23810. (u = null)
  23811. })
  23812. })(e, n)
  23813. })
  23814. var l,
  23815. f,
  23816. d,
  23817. m,
  23818. g = FO.getSocket(u).getOrDie('Could not find expected socket element')
  23819. R_ &&
  23820. (mn(g.element, {
  23821. overflow: 'scroll',
  23822. '-webkit-overflow-scrolling': 'touch',
  23823. }),
  23824. (f = function () {
  23825. e.fire('ScrollContent')
  23826. }),
  23827. (d = null),
  23828. (m = function () {
  23829. for (var t = [], n = 0; n < arguments.length; n++)
  23830. t[n] = arguments[n]
  23831. b(d) &&
  23832. (d = setTimeout(function () {
  23833. ;(d = null), f.apply(null, t)
  23834. }, 20))
  23835. }),
  23836. (l = pc(g.element, 'scroll', m)),
  23837. e.on('remove', l.unbind)),
  23838. gv(e, n),
  23839. e.addCommand('ToggleSidebar', function (t, n) {
  23840. FO.toggleSidebar(u, n), e.fire('ToggleSidebar')
  23841. }),
  23842. e.addQueryValueHandler('ToggleSidebar', function () {
  23843. return FO.whichSidebar(u)
  23844. })
  23845. var p = iv(e)
  23846. ;(p !== bh.sliding && p !== bh.floating) ||
  23847. e.on('ResizeWindow ResizeEditor ResizeContent', function () {
  23848. var t = e.getWin().innerWidth
  23849. t !== i.get() && (FO.refreshToolbar(n.outerContainer), i.set(t))
  23850. })
  23851. var h = {
  23852. enable: function () {
  23853. mv(n, !1)
  23854. },
  23855. disable: function () {
  23856. mv(n, !0)
  23857. },
  23858. isDisabled: function () {
  23859. return gd.isDisabled(u)
  23860. },
  23861. }
  23862. return {
  23863. iframeContainer: g.element.dom,
  23864. editorContainer: u.element.dom,
  23865. api: h,
  23866. }
  23867. },
  23868. }),
  23869. P_ = Object.freeze({
  23870. __proto__: null,
  23871. render: function (n, e, o, r, t) {
  23872. var i = e.mothership,
  23873. u = e.uiMothership,
  23874. a = e.outerContainer,
  23875. c = Po(null),
  23876. s = At.fromDom(t.targetNode),
  23877. l = e_(n, s, e, r, c),
  23878. f = n.getParam('toolbar_persist', !1, 'boolean')
  23879. function d() {
  23880. var t
  23881. c.get()
  23882. ? l.show()
  23883. : (c.set(FO.getHeader(a).getOrDie()),
  23884. Ns((t = lv(n)), i),
  23885. Ns(t, u),
  23886. $O(n, e, o, r),
  23887. FO.setMenubar(a, NC(n, o)),
  23888. l.show(),
  23889. (function (c, s, l, t) {
  23890. function n(t) {
  23891. var n = o_(s, l.isPositionedAtTop()),
  23892. e = n.pos,
  23893. o = n.bounds,
  23894. r = f.get(),
  23895. i = r.pos,
  23896. u = r.bounds,
  23897. a = o.height !== u.height || o.width !== u.width
  23898. f.set({ pos: e, bounds: o }),
  23899. a && Wv(c, t),
  23900. l.isVisible() &&
  23901. (i !== e
  23902. ? l.update(!0)
  23903. : a && (l.updateMode(), l.repositionPopups()))
  23904. }
  23905. var f = Po(o_(s, l.isPositionedAtTop()))
  23906. t || (c.on('activate', l.show), c.on('deactivate', l.hide)),
  23907. c.on('SkinLoaded ResizeWindow', function () {
  23908. return l.update(!0)
  23909. }),
  23910. c.on('NodeChange keydown', function (t) {
  23911. lp.requestAnimationFrame(function () {
  23912. return n(t)
  23913. })
  23914. }),
  23915. c.on('ScrollWindow', function () {
  23916. return l.updateMode()
  23917. })
  23918. var e = mc()
  23919. e.set(hc(At.fromDom(c.getBody()), 'load', n)),
  23920. c.on('remove', function () {
  23921. e.clear()
  23922. })
  23923. })(n, s, l, f),
  23924. n.nodeChanged())
  23925. }
  23926. function m() {
  23927. return lp.setEditorTimeout(n, d, 0)
  23928. }
  23929. VO(n),
  23930. n.on('show', d),
  23931. n.on('hide', l.hide),
  23932. f || (n.on('focus', m), n.on('blur', l.hide)),
  23933. n.on('init', function () {
  23934. ;(n.hasFocus() || f) && m()
  23935. }),
  23936. gv(n, e)
  23937. var g = {
  23938. show: function () {
  23939. l.show()
  23940. },
  23941. hide: function () {
  23942. l.hide()
  23943. },
  23944. enable: function () {
  23945. mv(e, !1)
  23946. },
  23947. disable: function () {
  23948. mv(e, !0)
  23949. },
  23950. isDisabled: function () {
  23951. return gd.isDisabled(a)
  23952. },
  23953. }
  23954. return { editorContainer: a.element.dom, api: g }
  23955. },
  23956. }),
  23957. H_ = 'contexttoolbar-hide',
  23958. z_ = function (t, n) {
  23959. var e,
  23960. o,
  23961. r,
  23962. i,
  23963. u = t.label.fold(
  23964. function () {
  23965. return {}
  23966. },
  23967. function (t) {
  23968. return { 'aria-label': t }
  23969. }
  23970. ),
  23971. a = zm(
  23972. Dy.sketch({
  23973. inputClasses: ['tox-toolbar-textfield', 'tox-toolbar-nav-js'],
  23974. data: t.initValue(),
  23975. inputAttributes: u,
  23976. selectOnFocus: !0,
  23977. inputBehaviours: nc([
  23978. Fg.config({
  23979. mode: 'special',
  23980. onEnter: function (t) {
  23981. return c.findPrimary(t).map(function (t) {
  23982. return yr(t), !0
  23983. })
  23984. },
  23985. onLeft: function (t, n) {
  23986. return n.cut(), vt.none()
  23987. },
  23988. onRight: function (t, n) {
  23989. return n.cut(), vt.none()
  23990. },
  23991. }),
  23992. ]),
  23993. })
  23994. ),
  23995. c =
  23996. ((e = a),
  23997. (o = t.commands),
  23998. (r = n),
  23999. (i = M(o, function (t) {
  24000. return zm(
  24001. ('contextformtogglebutton' === t.type
  24002. ? function (t, n, e) {
  24003. var o = n.original
  24004. o.primary
  24005. var r = B(o, ['primary']),
  24006. i = co(
  24007. _p(
  24008. lt(lt({}, r), { type: 'togglebutton', onAction: st })
  24009. )
  24010. )
  24011. return D_(i, e.backstage.shared.providers, [r_(t, n)])
  24012. }
  24013. : function (t, n, e) {
  24014. var o = n.original
  24015. o.primary
  24016. var r = B(o, ['primary']),
  24017. i = co(
  24018. Op(lt(lt({}, r), { type: 'button', onAction: st }))
  24019. )
  24020. return E_(i, e.backstage.shared.providers, [r_(t, n)])
  24021. })(e, t, { backstage: { shared: { providers: r } } })
  24022. )
  24023. })),
  24024. {
  24025. asSpecs: function () {
  24026. return M(i, function (t) {
  24027. return t.asSpec()
  24028. })
  24029. },
  24030. findPrimary: function (e) {
  24031. return K(o, function (t, n) {
  24032. return t.primary
  24033. ? vt
  24034. .from(i[n])
  24035. .bind(function (t) {
  24036. return t.getOpt(e)
  24037. })
  24038. .filter(O(gd.isDisabled))
  24039. : vt.none()
  24040. })
  24041. },
  24042. })
  24043. return [
  24044. { title: vt.none(), items: [a.asSpec()] },
  24045. { title: vt.none(), items: c.asSpecs() },
  24046. ]
  24047. },
  24048. N_ = {
  24049. valignCentre: [],
  24050. alignCentre: [],
  24051. alignLeft: ['tox-pop--align-left'],
  24052. alignRight: ['tox-pop--align-right'],
  24053. right: ['tox-pop--right'],
  24054. left: ['tox-pop--left'],
  24055. bottom: ['tox-pop--bottom'],
  24056. top: ['tox-pop--top'],
  24057. inset: ['tox-pop--inset'],
  24058. },
  24059. L_ = { maxHeightFunction: Vc(), maxWidthFunction: pO() },
  24060. W_ = Ir('forward-slide'),
  24061. U_ = Ir('backward-slide'),
  24062. j_ = Ir('change-slide-event'),
  24063. G_ = 'tox-pop--resizing',
  24064. X_ = 'tox-pop--transition',
  24065. Y_ = {
  24066. unsupportedLength: [
  24067. 'em',
  24068. 'ex',
  24069. 'cap',
  24070. 'ch',
  24071. 'ic',
  24072. 'rem',
  24073. 'lh',
  24074. 'rlh',
  24075. 'vw',
  24076. 'vh',
  24077. 'vi',
  24078. 'vb',
  24079. 'vmin',
  24080. 'vmax',
  24081. 'cm',
  24082. 'mm',
  24083. 'Q',
  24084. 'in',
  24085. 'pc',
  24086. 'pt',
  24087. 'px',
  24088. ],
  24089. fixed: ['px', 'pt'],
  24090. relative: ['%'],
  24091. empty: [''],
  24092. },
  24093. q_ =
  24094. ((h_ = [
  24095. 'Infinity',
  24096. (g_ = '[0-9]+') + '\\.' + K_(g_) + K_((p_ = '[eE][+-]?[0-9]+')),
  24097. '\\.' + g_ + K_(p_),
  24098. g_ + K_(p_),
  24099. ].join('|')),
  24100. new RegExp('^([+-]?(?:' + h_ + '))(.*)$'))
  24101. function K_(t) {
  24102. return '(?:' + t + ')?'
  24103. }
  24104. function J_(u, a) {
  24105. function n() {
  24106. var t = a.getOptions(u),
  24107. r = a.getCurrent(u).map(a.hash),
  24108. i = gc()
  24109. return M(t, function (o) {
  24110. return {
  24111. type: 'togglemenuitem',
  24112. text: a.display(o),
  24113. onSetup: function (n) {
  24114. function t(t) {
  24115. t &&
  24116. (i.on(function (t) {
  24117. return t.setActive(!1)
  24118. }),
  24119. i.set(n)),
  24120. n.setActive(t)
  24121. }
  24122. t(mt(r, a.hash(o)))
  24123. var e = a.watcher(u, o, t)
  24124. return function () {
  24125. i.clear(), e()
  24126. }
  24127. },
  24128. onAction: function () {
  24129. return a.setCurrent(u, o)
  24130. },
  24131. }
  24132. })
  24133. }
  24134. u.ui.registry.addMenuButton(a.name, {
  24135. tooltip: a.text,
  24136. icon: a.icon,
  24137. fetch: function (t) {
  24138. return t(n())
  24139. },
  24140. onSetup: a.onToolbarSetup,
  24141. }),
  24142. u.ui.registry.addNestedMenuItem(a.name, {
  24143. type: 'nestedmenuitem',
  24144. text: a.text,
  24145. getSubmenuItems: n,
  24146. onSetup: a.onMenuSetup,
  24147. })
  24148. }
  24149. function $_(t, n) {
  24150. return function () {
  24151. t.execCommand('mceToggleFormat', !1, n)
  24152. }
  24153. }
  24154. function Q_(t) {
  24155. var n, e
  24156. !(function (e) {
  24157. fS.each(
  24158. [
  24159. { name: 'bold', text: 'Bold', icon: 'bold' },
  24160. { name: 'italic', text: 'Italic', icon: 'italic' },
  24161. { name: 'underline', text: 'Underline', icon: 'underline' },
  24162. {
  24163. name: 'strikethrough',
  24164. text: 'Strikethrough',
  24165. icon: 'strike-through',
  24166. },
  24167. { name: 'subscript', text: 'Subscript', icon: 'subscript' },
  24168. { name: 'superscript', text: 'Superscript', icon: 'superscript' },
  24169. ],
  24170. function (t, n) {
  24171. e.ui.registry.addToggleButton(t.name, {
  24172. tooltip: t.text,
  24173. icon: t.icon,
  24174. onSetup: jC(e, t.name),
  24175. onAction: $_(e, t.name),
  24176. })
  24177. }
  24178. )
  24179. for (var t = 1; t <= 6; t++) {
  24180. var n = 'h' + t
  24181. e.ui.registry.addToggleButton(n, {
  24182. text: n.toUpperCase(),
  24183. tooltip: 'Heading ' + t,
  24184. onSetup: jC(e, n),
  24185. onAction: $_(e, n),
  24186. })
  24187. }
  24188. })(t),
  24189. (n = t),
  24190. fS.each(
  24191. [
  24192. { name: 'cut', text: 'Cut', action: 'Cut', icon: 'cut' },
  24193. { name: 'copy', text: 'Copy', action: 'Copy', icon: 'copy' },
  24194. { name: 'paste', text: 'Paste', action: 'Paste', icon: 'paste' },
  24195. { name: 'help', text: 'Help', action: 'mceHelp', icon: 'help' },
  24196. {
  24197. name: 'selectall',
  24198. text: 'Select all',
  24199. action: 'SelectAll',
  24200. icon: 'select-all',
  24201. },
  24202. {
  24203. name: 'newdocument',
  24204. text: 'New document',
  24205. action: 'mceNewDocument',
  24206. icon: 'new-document',
  24207. },
  24208. {
  24209. name: 'removeformat',
  24210. text: 'Clear formatting',
  24211. action: 'RemoveFormat',
  24212. icon: 'remove-formatting',
  24213. },
  24214. { name: 'remove', text: 'Remove', action: 'Delete', icon: 'remove' },
  24215. ],
  24216. function (t) {
  24217. n.ui.registry.addButton(t.name, {
  24218. tooltip: t.text,
  24219. icon: t.icon,
  24220. onAction: YC(n, t.action),
  24221. })
  24222. }
  24223. ),
  24224. (e = t),
  24225. fS.each(
  24226. [
  24227. {
  24228. name: 'blockquote',
  24229. text: 'Blockquote',
  24230. action: 'mceBlockQuote',
  24231. icon: 'quote',
  24232. },
  24233. ],
  24234. function (t) {
  24235. e.ui.registry.addToggleButton(t.name, {
  24236. tooltip: t.text,
  24237. icon: t.icon,
  24238. onAction: YC(e, t.action),
  24239. onSetup: jC(e, t.name),
  24240. })
  24241. }
  24242. )
  24243. }
  24244. function Z_(n, e) {
  24245. return GC(
  24246. n,
  24247. 'Undo Redo AddUndo TypingUndo ClearUndos SwitchMode',
  24248. function (t) {
  24249. t.setDisabled(n.mode.isReadOnly() || !n.undoManager[e]())
  24250. }
  24251. )
  24252. }
  24253. function tT(t) {
  24254. var n
  24255. t.ui.registry.addButton('visualaid', {
  24256. tooltip: 'Visual aids',
  24257. text: 'Visual aids',
  24258. onAction: YC(t, 'mceToggleVisualAid'),
  24259. }),
  24260. t.ui.registry.addToggleMenuItem('visualaid', {
  24261. text: 'Visual aids',
  24262. onSetup: GC((n = t), 'VisualAid', function (t) {
  24263. t.setActive(n.hasVisual)
  24264. }),
  24265. onAction: YC(t, 'mceToggleVisualAid'),
  24266. })
  24267. }
  24268. function nT(t, n) {
  24269. var e,
  24270. o,
  24271. r,
  24272. i,
  24273. u,
  24274. a,
  24275. c,
  24276. s,
  24277. l,
  24278. f,
  24279. d,
  24280. m,
  24281. g,
  24282. p,
  24283. h,
  24284. v,
  24285. b,
  24286. y,
  24287. x,
  24288. w,
  24289. S,
  24290. k,
  24291. C,
  24292. O,
  24293. _,
  24294. T = t
  24295. St(
  24296. [
  24297. {
  24298. name: 'alignleft',
  24299. text: 'Align left',
  24300. cmd: 'JustifyLeft',
  24301. icon: 'align-left',
  24302. },
  24303. {
  24304. name: 'aligncenter',
  24305. text: 'Align center',
  24306. cmd: 'JustifyCenter',
  24307. icon: 'align-center',
  24308. },
  24309. {
  24310. name: 'alignright',
  24311. text: 'Align right',
  24312. cmd: 'JustifyRight',
  24313. icon: 'align-right',
  24314. },
  24315. {
  24316. name: 'alignjustify',
  24317. text: 'Justify',
  24318. cmd: 'JustifyFull',
  24319. icon: 'align-justify',
  24320. },
  24321. ],
  24322. function (t) {
  24323. T.ui.registry.addToggleButton(t.name, {
  24324. tooltip: t.text,
  24325. icon: t.icon,
  24326. onAction: YC(T, t.cmd),
  24327. onSetup: jC(T, t.name),
  24328. })
  24329. }
  24330. ),
  24331. T.ui.registry.addButton('alignnone', {
  24332. tooltip: 'No alignment',
  24333. icon: 'align-none',
  24334. onAction: YC(T, 'JustifyNone'),
  24335. }),
  24336. Q_((O = t)),
  24337. (_ = O),
  24338. fS.each(
  24339. [
  24340. {
  24341. name: 'bold',
  24342. text: 'Bold',
  24343. action: 'Bold',
  24344. icon: 'bold',
  24345. shortcut: 'Meta+B',
  24346. },
  24347. {
  24348. name: 'italic',
  24349. text: 'Italic',
  24350. action: 'Italic',
  24351. icon: 'italic',
  24352. shortcut: 'Meta+I',
  24353. },
  24354. {
  24355. name: 'underline',
  24356. text: 'Underline',
  24357. action: 'Underline',
  24358. icon: 'underline',
  24359. shortcut: 'Meta+U',
  24360. },
  24361. {
  24362. name: 'strikethrough',
  24363. text: 'Strikethrough',
  24364. action: 'Strikethrough',
  24365. icon: 'strike-through',
  24366. shortcut: '',
  24367. },
  24368. {
  24369. name: 'subscript',
  24370. text: 'Subscript',
  24371. action: 'Subscript',
  24372. icon: 'subscript',
  24373. shortcut: '',
  24374. },
  24375. {
  24376. name: 'superscript',
  24377. text: 'Superscript',
  24378. action: 'Superscript',
  24379. icon: 'superscript',
  24380. shortcut: '',
  24381. },
  24382. {
  24383. name: 'removeformat',
  24384. text: 'Clear formatting',
  24385. action: 'RemoveFormat',
  24386. icon: 'remove-formatting',
  24387. shortcut: '',
  24388. },
  24389. {
  24390. name: 'newdocument',
  24391. text: 'New document',
  24392. action: 'mceNewDocument',
  24393. icon: 'new-document',
  24394. shortcut: '',
  24395. },
  24396. {
  24397. name: 'cut',
  24398. text: 'Cut',
  24399. action: 'Cut',
  24400. icon: 'cut',
  24401. shortcut: 'Meta+X',
  24402. },
  24403. {
  24404. name: 'copy',
  24405. text: 'Copy',
  24406. action: 'Copy',
  24407. icon: 'copy',
  24408. shortcut: 'Meta+C',
  24409. },
  24410. {
  24411. name: 'paste',
  24412. text: 'Paste',
  24413. action: 'Paste',
  24414. icon: 'paste',
  24415. shortcut: 'Meta+V',
  24416. },
  24417. {
  24418. name: 'selectall',
  24419. text: 'Select all',
  24420. action: 'SelectAll',
  24421. icon: 'select-all',
  24422. shortcut: 'Meta+A',
  24423. },
  24424. ],
  24425. function (t) {
  24426. _.ui.registry.addMenuItem(t.name, {
  24427. text: t.text,
  24428. icon: t.icon,
  24429. shortcut: t.shortcut,
  24430. onAction: YC(_, t.action),
  24431. })
  24432. }
  24433. ),
  24434. _.ui.registry.addMenuItem('codeformat', {
  24435. text: 'Code',
  24436. icon: 'sourcecode',
  24437. onAction: $_(_, 'code'),
  24438. }),
  24439. (C = qC(0, (d = l = n), HO((f = s = t)))),
  24440. f.ui.registry.addNestedMenuItem('align', {
  24441. text: d.shared.providers.translate('Align'),
  24442. getSubmenuItems: function () {
  24443. return C.items.validateItems(C.getStyleItems())
  24444. },
  24445. }),
  24446. (p = qC(0, (g = l), NO((m = s)))),
  24447. m.ui.registry.addNestedMenuItem('fontformats', {
  24448. text: g.shared.providers.translate('Fonts'),
  24449. getSubmenuItems: function () {
  24450. return p.items.validateItems(p.getStyleItems())
  24451. },
  24452. }),
  24453. (h = s),
  24454. (b = lt({ type: 'advanced' }, (v = l).styleselect)),
  24455. (y = qC(0, v, jO(h, b))),
  24456. h.ui.registry.addNestedMenuItem('formats', {
  24457. text: 'Formats',
  24458. getSubmenuItems: function () {
  24459. return y.items.validateItems(y.getStyleItems())
  24460. },
  24461. }),
  24462. (w = qC(0, l, UO((x = s)))),
  24463. x.ui.registry.addNestedMenuItem('blockformats', {
  24464. text: 'Blocks',
  24465. getSubmenuItems: function () {
  24466. return w.items.validateItems(w.getStyleItems())
  24467. },
  24468. }),
  24469. (k = qC(0, l, LO((S = s)))),
  24470. S.ui.registry.addNestedMenuItem('fontsizes', {
  24471. text: 'Font sizes',
  24472. getSubmenuItems: function () {
  24473. return k.items.validateItems(k.getStyleItems())
  24474. },
  24475. }),
  24476. (a = u = t).ui.registry.addMenuItem('undo', {
  24477. text: 'Undo',
  24478. icon: 'undo',
  24479. shortcut: 'Meta+Z',
  24480. onSetup: Z_(a, 'hasUndo'),
  24481. onAction: YC(a, 'undo'),
  24482. }),
  24483. a.ui.registry.addMenuItem('redo', {
  24484. text: 'Redo',
  24485. icon: 'redo',
  24486. shortcut: 'Meta+Y',
  24487. onSetup: Z_(a, 'hasRedo'),
  24488. onAction: YC(a, 'redo'),
  24489. }),
  24490. (c = u).ui.registry.addButton('undo', {
  24491. tooltip: 'Undo',
  24492. icon: 'undo',
  24493. disabled: !0,
  24494. onSetup: Z_(c, 'hasUndo'),
  24495. onAction: YC(c, 'undo'),
  24496. }),
  24497. c.ui.registry.addButton('redo', {
  24498. tooltip: 'Redo',
  24499. icon: 'redo',
  24500. disabled: !0,
  24501. onSetup: Z_(c, 'hasRedo'),
  24502. onAction: YC(c, 'redo'),
  24503. }),
  24504. (function (t) {
  24505. var i
  24506. ;(i = t).addCommand('mceApplyTextcolor', function (t, n) {
  24507. var e,
  24508. o = t,
  24509. r = n
  24510. ;(e = i).undoManager.transact(function () {
  24511. e.focus(), e.formatter.apply(o, { value: r }), e.nodeChanged()
  24512. })
  24513. }),
  24514. i.addCommand('mceRemoveTextcolor', function (t) {
  24515. var n,
  24516. e = t
  24517. ;(n = i).undoManager.transact(function () {
  24518. n.focus(),
  24519. n.formatter.remove(e, { value: null }, null, !0),
  24520. n.nodeChanged()
  24521. })
  24522. })
  24523. var n = Po(Fb),
  24524. e = Po(Fb)
  24525. kb(t, 'forecolor', 'forecolor', 'Text color', n),
  24526. kb(t, 'backcolor', 'hilitecolor', 'Background color', e),
  24527. Cb(t, 'forecolor', 'forecolor', 'Text color'),
  24528. Cb(t, 'backcolor', 'hilitecolor', 'Background color')
  24529. })(t),
  24530. tT(t),
  24531. (r = t).ui.registry.addButton('outdent', {
  24532. tooltip: 'Decrease indent',
  24533. icon: 'outdent',
  24534. onSetup: GC((i = r), 'NodeChange', function (t) {
  24535. t.setDisabled(!i.queryCommandState('outdent'))
  24536. }),
  24537. onAction: YC(r, 'outdent'),
  24538. }),
  24539. r.ui.registry.addButton('indent', {
  24540. tooltip: 'Increase indent',
  24541. icon: 'indent',
  24542. onAction: YC(r, 'indent'),
  24543. }),
  24544. J_((e = t), NT),
  24545. (o = e),
  24546. vt
  24547. .from(o.getParam('content_langs', void 0, 'array'))
  24548. .map(function (t) {
  24549. return {
  24550. name: 'language',
  24551. text: 'Language',
  24552. icon: 'language',
  24553. getOptions: rt(t),
  24554. hash: function (t) {
  24555. return E(t.customCode) ? t.code : t.code + '/' + t.customCode
  24556. },
  24557. display: function (t) {
  24558. return t.title
  24559. },
  24560. watcher: function (t, n, e) {
  24561. return t.formatter.formatChanged('lang', e, !1, {
  24562. value: n.code,
  24563. customValue: n.customCode,
  24564. }).unbind
  24565. },
  24566. getCurrent: function (t) {
  24567. return mr(At.fromDom(t.selection.getNode()), function (t) {
  24568. return vt
  24569. .some(t)
  24570. .filter(Xn)
  24571. .bind(function (n) {
  24572. return an(n, 'lang').map(function (t) {
  24573. return {
  24574. code: t,
  24575. customCode: an(n, 'data-mce-lang').getOrUndefined(),
  24576. title: '',
  24577. }
  24578. })
  24579. })
  24580. })
  24581. },
  24582. setCurrent: function (t, n) {
  24583. return t.execCommand('Lang', !1, n)
  24584. },
  24585. onToolbarSetup: function (t) {
  24586. var n = mc()
  24587. return (
  24588. t.setActive(o.formatter.match('lang', {}, void 0, !0)),
  24589. n.set(o.formatter.formatChanged('lang', t.setActive, !0)),
  24590. n.clear
  24591. )
  24592. },
  24593. }
  24594. })
  24595. .each(function (t) {
  24596. return J_(e, t)
  24597. })
  24598. }
  24599. function eT(t, n) {
  24600. return { type: 'makeshift', x: t, y: n }
  24601. }
  24602. function oT(t) {
  24603. return 'longpress' === t.type || 0 === t.type.indexOf('touch')
  24604. }
  24605. function rT(t, n) {
  24606. return 'contextmenu' === n.type || 'longpress' === n.type
  24607. ? t.inline
  24608. ? (function (t) {
  24609. if (oT(t)) {
  24610. var n = t.touches[0]
  24611. return eT(n.pageX, n.pageY)
  24612. }
  24613. return eT(t.pageX, t.pageY)
  24614. })(n)
  24615. : ((e = t.getContentAreaContainer()),
  24616. (o = (function (t) {
  24617. if (oT(t)) {
  24618. var n = t.touches[0]
  24619. return eT(n.clientX, n.clientY)
  24620. }
  24621. return eT(t.clientX, t.clientY)
  24622. })(n)),
  24623. (r = ev.DOM.getPos(e)),
  24624. (i = r.x),
  24625. (u = r.y),
  24626. eT(o.x + i, o.y + u))
  24627. : LT(t)
  24628. var e, o, r, i, u
  24629. }
  24630. function iT(t, n, e) {
  24631. switch (e) {
  24632. case 'node':
  24633. return {
  24634. type: 'node',
  24635. node: vt.some(At.fromDom((o = t).selection.getNode())),
  24636. root: At.fromDom(o.getBody()),
  24637. }
  24638. case 'point':
  24639. return rT(t, n)
  24640. case 'selection':
  24641. return LT(t)
  24642. }
  24643. var o
  24644. }
  24645. function uT(f, d, m, g, p, h) {
  24646. function t() {
  24647. var n,
  24648. e,
  24649. t,
  24650. o,
  24651. r,
  24652. i,
  24653. u,
  24654. a,
  24655. c,
  24656. s,
  24657. l = m()
  24658. ;(t = l),
  24659. (o = g),
  24660. (r = p),
  24661. (u = !(y || v || (b && x))),
  24662. (c = iT((n = f), (e = d), (a = i = h))),
  24663. (s = lt(
  24664. {
  24665. bubble: Sc(0, 'point' === a ? 12 : 0, UT),
  24666. layouts: WT,
  24667. overrides: { maxWidthFunction: pO(), maxHeightFunction: Vc() },
  24668. },
  24669. c
  24670. )),
  24671. U0(t, Sh.CLOSE_ON_EXECUTE, o, !0).map(function (t) {
  24672. e.preventDefault(),
  24673. up.showMenuWithinBounds(
  24674. r,
  24675. { anchor: s },
  24676. {
  24677. menu: { markers: Qp('normal'), highlightImmediately: u },
  24678. data: t,
  24679. type: 'horizontal',
  24680. },
  24681. function () {
  24682. return vt.some(
  24683. a_(n, o.shared, 'node' === i ? 'node' : 'selection')
  24684. )
  24685. }
  24686. ),
  24687. n.fire(H_)
  24688. })
  24689. }
  24690. var n,
  24691. e = le(),
  24692. v = e.os.isiOS(),
  24693. b = e.os.isOSX(),
  24694. y = e.os.isAndroid(),
  24695. x = e.deviceType.isTouch()
  24696. ;(b || v) && 'node' !== h
  24697. ? ((n = function () {
  24698. ;(function (t) {
  24699. function n() {
  24700. lp.setEditorTimeout(
  24701. t,
  24702. function () {
  24703. t.selection.setRng(e)
  24704. },
  24705. 10
  24706. ),
  24707. i()
  24708. }
  24709. var e = t.selection.getRng()
  24710. function o(t) {
  24711. t.preventDefault(), t.stopImmediatePropagation()
  24712. }
  24713. function r() {
  24714. return i()
  24715. }
  24716. t.once('touchend', n),
  24717. t.on('mousedown', o, !0),
  24718. t.once('longpresscancel', r)
  24719. var i = function () {
  24720. t.off('touchend', n),
  24721. t.off('longpresscancel', r),
  24722. t.off('mousedown', o)
  24723. }
  24724. })(f),
  24725. t()
  24726. }),
  24727. (function (t, n) {
  24728. var e = t.selection
  24729. if (!(e.isCollapsed() || n.touches.length < 1)) {
  24730. var o = n.touches[0],
  24731. r = e.getRng()
  24732. return xs(t.getWin(), ms.domRange(r)).exists(function (t) {
  24733. return (
  24734. t.left <= o.clientX &&
  24735. t.right >= o.clientX &&
  24736. t.top <= o.clientY &&
  24737. t.bottom >= o.clientY
  24738. )
  24739. })
  24740. }
  24741. })(f, d)
  24742. ? n()
  24743. : (f.once('selectionchange', n),
  24744. f.once('touchend', function () {
  24745. return f.off('selectionchange', n)
  24746. })))
  24747. : t()
  24748. }
  24749. function aT(t) {
  24750. return 'string' == typeof t ? t.split(/[ ,]/) : t
  24751. }
  24752. function cT(t) {
  24753. return t.getParam('contextmenu_never_use_native', !1, 'boolean')
  24754. }
  24755. function sT(t) {
  24756. return y(t) ? '|' === t : 'separator' === t.type
  24757. }
  24758. function lT(t, n) {
  24759. if (0 === n.length) return t
  24760. var e = q(t)
  24761. .filter(function (t) {
  24762. return !sT(t)
  24763. })
  24764. .fold(
  24765. function () {
  24766. return []
  24767. },
  24768. function (t) {
  24769. return [jT]
  24770. }
  24771. )
  24772. return t.concat(e).concat(n).concat([jT])
  24773. }
  24774. function fT(t, n) {
  24775. return (
  24776. 'longpress' !== n.type &&
  24777. (2 !== n.button || (n.target === t.getBody() && '' === n.pointerType))
  24778. )
  24779. }
  24780. function dT(t, n) {
  24781. return fT(t, n) ? t.selection.getStart(!0) : n.target
  24782. }
  24783. function mT(s, t, n) {
  24784. function e(t) {
  24785. return up.hide(i)
  24786. }
  24787. function o(c) {
  24788. var t
  24789. cT(s) && c.preventDefault(),
  24790. (c.ctrlKey && !cT(s)) ||
  24791. !1 === s.getParam('contextmenu') ||
  24792. ((t = (function (t, n) {
  24793. var e = t.getParam('contextmenu_avoid_overlap', '', 'string'),
  24794. o = fT(t, n) ? 'selection' : 'point'
  24795. if (at(e)) {
  24796. var r = dT(t, n)
  24797. return Yb(At.fromDom(r), e) ? 'node' : o
  24798. }
  24799. return o
  24800. })(s, c)),
  24801. (r()
  24802. ? uT
  24803. : function (t, n, e, o, r, i) {
  24804. var u = e(),
  24805. a = iT(t, n, i)
  24806. U0(u, Sh.CLOSE_ON_EXECUTE, o, !1).map(function (t) {
  24807. n.preventDefault(),
  24808. up.showMenuAt(
  24809. r,
  24810. { anchor: a },
  24811. { menu: { markers: Qp('normal') }, data: t }
  24812. )
  24813. })
  24814. })(
  24815. s,
  24816. c,
  24817. function () {
  24818. var t,
  24819. n,
  24820. e,
  24821. o = dT(s, c),
  24822. r = s.ui.registry.getAll(),
  24823. i =
  24824. ((e = (n = s).ui.registry.getAll().contextMenus),
  24825. vt
  24826. .from(n.getParam('contextmenu'))
  24827. .map(aT)
  24828. .getOrThunk(function () {
  24829. return F(
  24830. aT(
  24831. 'link linkchecker image imagetools table spellchecker configurepermanentpen'
  24832. ),
  24833. function (t) {
  24834. return Tt(e, t)
  24835. }
  24836. )
  24837. })),
  24838. u = r.contextMenus,
  24839. a = o
  24840. return (
  24841. 0 <
  24842. (t = R(
  24843. i,
  24844. function (o, t) {
  24845. return tt(u, t.toLowerCase())
  24846. .map(function (t) {
  24847. var n = t.update(a)
  24848. if (y(n)) return lT(o, n.split(' '))
  24849. if (0 < n.length) {
  24850. var e = M(n, GT)
  24851. return lT(o, e)
  24852. }
  24853. return o
  24854. })
  24855. .getOrThunk(function () {
  24856. return o.concat([t])
  24857. })
  24858. },
  24859. []
  24860. )).length &&
  24861. sT(t[t.length - 1]) &&
  24862. t.pop(),
  24863. t
  24864. )
  24865. },
  24866. n,
  24867. i,
  24868. t
  24869. ))
  24870. }
  24871. var r = le().deviceType.isTouch,
  24872. i = Tu(
  24873. up.sketch({
  24874. dom: { tag: 'div' },
  24875. lazySink: t,
  24876. onEscape: function () {
  24877. return s.focus()
  24878. },
  24879. onShow: function () {
  24880. return n.setContextMenuState(!0)
  24881. },
  24882. onHide: function () {
  24883. return n.setContextMenuState(!1)
  24884. },
  24885. fireDismissalEventInstead: {},
  24886. inlineBehaviours: nc([
  24887. mm('dismissContextMenu', [
  24888. Cr(Yi(), function (t, n) {
  24889. bf.close(t), s.focus()
  24890. }),
  24891. ]),
  24892. ]),
  24893. })
  24894. )
  24895. s.on('init', function () {
  24896. var t =
  24897. 'ResizeEditor ScrollContent ScrollWindow longpresscancel' +
  24898. (r() ? '' : ' ResizeWindow')
  24899. s.on(t, e), s.on('longpress contextmenu', o)
  24900. })
  24901. }
  24902. function gT(n) {
  24903. return function (t) {
  24904. return t.translate(-n.left, -n.top)
  24905. }
  24906. }
  24907. function pT(n) {
  24908. return function (t) {
  24909. return t.translate(n.left, n.top)
  24910. }
  24911. }
  24912. function hT(e) {
  24913. return function (t, n) {
  24914. return R(
  24915. e,
  24916. function (t, n) {
  24917. return n(t)
  24918. },
  24919. ke(t, n)
  24920. )
  24921. }
  24922. }
  24923. function vT(t, n, e) {
  24924. return t.fold(hT([pT(e), gT(n)]), hT([gT(n)]), hT([]))
  24925. }
  24926. function bT(t, n, e) {
  24927. return t.fold(hT([pT(e)]), hT([]), hT([pT(n)]))
  24928. }
  24929. function yT(t, n, e) {
  24930. return t.fold(hT([]), hT([gT(e)]), hT([pT(n), gT(e)]))
  24931. }
  24932. function xT(t, n, e) {
  24933. var o = t.fold(
  24934. function (t, n) {
  24935. return {
  24936. position: vt.some('absolute'),
  24937. left: vt.some(t + 'px'),
  24938. top: vt.some(n + 'px'),
  24939. }
  24940. },
  24941. function (t, n) {
  24942. return {
  24943. position: vt.some('absolute'),
  24944. left: vt.some(t - e.left + 'px'),
  24945. top: vt.some(n - e.top + 'px'),
  24946. }
  24947. },
  24948. function (t, n) {
  24949. return {
  24950. position: vt.some('fixed'),
  24951. left: vt.some(t + 'px'),
  24952. top: vt.some(n + 'px'),
  24953. }
  24954. }
  24955. )
  24956. return lt({ right: vt.none(), bottom: vt.none() }, o)
  24957. }
  24958. function wT(t, i, u, a) {
  24959. function n(o, r) {
  24960. return function (t, n) {
  24961. var e = o(i, u, a)
  24962. return r(t.getOr(e.left), n.getOr(e.top))
  24963. }
  24964. }
  24965. return t.fold(n(yT, YT), n(bT, qT), n(vT, KT))
  24966. }
  24967. function ST(t, n) {
  24968. var e = un(t, n)
  24969. return E(e) ? NaN : parseInt(e, 10)
  24970. }
  24971. function kT(t, n, e, o, r, i) {
  24972. var u,
  24973. a,
  24974. c,
  24975. s,
  24976. l,
  24977. f,
  24978. d =
  24979. ((u = e),
  24980. (a = o),
  24981. (l = ST((s = t.element), (c = n).leftAttr)),
  24982. (f = ST(s, c.topAttr)),
  24983. (isNaN(l) || isNaN(f) ? vt.none() : vt.some(ke(l, f))).fold(
  24984. function () {
  24985. return u
  24986. },
  24987. function (t) {
  24988. return KT(t.left + a.left, t.top + a.top)
  24989. }
  24990. )),
  24991. m = (n.mustSnap ? JT : $T)(t, n, d, r, i),
  24992. g = vT(d, r, i),
  24993. p = n,
  24994. h = g,
  24995. v = t.element
  24996. return (
  24997. on(v, p.leftAttr, h.left + 'px'),
  24998. on(v, p.topAttr, h.top + 'px'),
  24999. m.fold(
  25000. function () {
  25001. return { coord: KT(g.left, g.top), extra: vt.none() }
  25002. },
  25003. function (t) {
  25004. return { coord: t.output, extra: t.extra }
  25005. }
  25006. )
  25007. )
  25008. }
  25009. function CT(t, c, s, l) {
  25010. return K(t, function (t) {
  25011. var n,
  25012. e,
  25013. o = t.sensor,
  25014. r = t.range.left,
  25015. i = t.range.top,
  25016. u = bT(c, (n = s), (e = l)),
  25017. a = bT(o, n, e)
  25018. return Math.abs(u.left - a.left) <= r && Math.abs(u.top - a.top) <= i
  25019. ? vt.some({ output: wT(t.output, c, s, l), extra: t.extra })
  25020. : vt.none()
  25021. })
  25022. }
  25023. function OT(t, n) {
  25024. var e
  25025. t.getSystem().addToGui(n),
  25026. Yt((e = n).element)
  25027. .filter(Xn)
  25028. .each(function (n) {
  25029. hn(n, 'z-index').each(function (t) {
  25030. on(n, ZT, t)
  25031. }),
  25032. dn(n, 'z-index', pn(e.element, 'z-index'))
  25033. })
  25034. }
  25035. function _T(t) {
  25036. Yt(t.element)
  25037. .filter(Xn)
  25038. .each(function (n) {
  25039. an(n, ZT).fold(
  25040. function () {
  25041. return bn(n, 'z-index')
  25042. },
  25043. function (t) {
  25044. return dn(n, 'z-index', t)
  25045. }
  25046. ),
  25047. sn(n, ZT)
  25048. }),
  25049. t.getSystem().removeFromGui(t)
  25050. }
  25051. function TT(t, n, e) {
  25052. return t
  25053. .getSystem()
  25054. .build(
  25055. ly.sketch({
  25056. dom: {
  25057. styles: {
  25058. left: '0px',
  25059. top: '0px',
  25060. width: '100%',
  25061. height: '100%',
  25062. position: 'fixed',
  25063. 'z-index': '1000000000000000',
  25064. },
  25065. classes: [n],
  25066. },
  25067. events: e,
  25068. })
  25069. )
  25070. }
  25071. function ET(t, n) {
  25072. return {
  25073. bounds: t.getBounds(),
  25074. height: Sn(n.element),
  25075. width: _n(n.element),
  25076. }
  25077. }
  25078. function DT(B, M, t, n, e) {
  25079. var o = t.update(n, e),
  25080. A = t.getStartData().getOrThunk(function () {
  25081. return ET(M, B)
  25082. })
  25083. o.each(function (t) {
  25084. var n,
  25085. e,
  25086. o,
  25087. r,
  25088. i,
  25089. u,
  25090. a,
  25091. c,
  25092. s,
  25093. l,
  25094. f,
  25095. d,
  25096. m,
  25097. g,
  25098. p,
  25099. h,
  25100. v,
  25101. b,
  25102. y,
  25103. x,
  25104. w,
  25105. S,
  25106. k,
  25107. C,
  25108. O,
  25109. _ = B,
  25110. T = A,
  25111. E = t,
  25112. D = (n = M).getTarget(_.element)
  25113. n.repositionTarget &&
  25114. ((e = Rn(Ut(_.element))),
  25115. (o = Wk(D)),
  25116. (S = hn((w = D), 'left')),
  25117. (k = hn(w, 'top')),
  25118. (C = hn(w, 'position')),
  25119. (O = function (t, n, e) {
  25120. return ('fixed' === e ? KT : YT)(parseInt(t, 10), parseInt(n, 10))
  25121. }),
  25122. (r = (
  25123. S.isSome() && k.isSome() && C.isSome()
  25124. ? vt.some(O(S.getOrDie(), k.getOrDie(), C.getOrDie()))
  25125. : vt.none()
  25126. ).getOrThunk(function () {
  25127. var t = Cn(w)
  25128. return qT(t.left, t.top)
  25129. })),
  25130. (i = _),
  25131. (u = n.snaps),
  25132. (a = r),
  25133. (c = e),
  25134. (s = o),
  25135. (l = E),
  25136. (f = T),
  25137. (m = u.fold(
  25138. function () {
  25139. var e,
  25140. o,
  25141. t = vT(
  25142. ((e = l.left),
  25143. (o = l.top),
  25144. a.fold(
  25145. function (t, n) {
  25146. return YT(t + e, n + o)
  25147. },
  25148. function (t, n) {
  25149. return qT(t + e, n + o)
  25150. },
  25151. function (t, n) {
  25152. return KT(t + e, n + o)
  25153. }
  25154. )),
  25155. c,
  25156. s
  25157. )
  25158. return KT(t.left, t.top)
  25159. },
  25160. function (n) {
  25161. var t = kT(i, n, a, l, c, s)
  25162. return (
  25163. t.extra.each(function (t) {
  25164. n.onSensor(i, t)
  25165. }),
  25166. t.coord
  25167. )
  25168. }
  25169. )),
  25170. (g = c),
  25171. (p = s),
  25172. (h = (d = f).bounds),
  25173. (v = bT(m, g, p)),
  25174. (b = ja(v.left, h.x, h.x + h.width - d.width)),
  25175. (y = ja(v.top, h.y, h.y + h.height - d.height)),
  25176. (x = qT(b, y)),
  25177. gn(
  25178. D,
  25179. xT(
  25180. m.fold(
  25181. function () {
  25182. var t = yT(x, g, p)
  25183. return YT(t.left, t.top)
  25184. },
  25185. rt(x),
  25186. function () {
  25187. var t = vT(x, g, p)
  25188. return KT(t.left, t.top)
  25189. }
  25190. ),
  25191. 0,
  25192. o
  25193. )
  25194. )),
  25195. n.onDrag(_, D, E)
  25196. })
  25197. }
  25198. function BT(o, t, n, e) {
  25199. t.each(_T),
  25200. n.snaps.each(function (t) {
  25201. var n, e
  25202. ;(n = t), sn((e = o.element), n.leftAttr), sn(e, n.topAttr)
  25203. })
  25204. var r = n.getTarget(o.element)
  25205. e.reset(), n.onDrop(o, r)
  25206. }
  25207. function MT(t) {
  25208. return function (n, e) {
  25209. function o(t) {
  25210. e.setStartData(ET(n, t))
  25211. }
  25212. return eu(
  25213. H(
  25214. [
  25215. Cr(Ui(), function (t) {
  25216. e.getStartData().each(function () {
  25217. return o(t)
  25218. })
  25219. }),
  25220. ],
  25221. t(n, e, o),
  25222. !0
  25223. )
  25224. )
  25225. }
  25226. }
  25227. function AT(a, c, s) {
  25228. return [
  25229. Cr(mi(), function (n, t) {
  25230. var e, o, r, i, u
  25231. 0 === t.event.raw.button &&
  25232. (t.stop(),
  25233. (r = {
  25234. drop: (e = function () {
  25235. return BT(n, vt.some(i), a, c)
  25236. }),
  25237. delayDrop: (o = qb(e, 200)).schedule,
  25238. forceDrop: e,
  25239. move: function (t) {
  25240. o.cancel(), DT(n, a, c, eE, t)
  25241. },
  25242. }),
  25243. (i = TT(
  25244. n,
  25245. a.blockerClass,
  25246. ((u = r),
  25247. eu([
  25248. Cr(mi(), u.forceDrop),
  25249. Cr(hi(), u.drop),
  25250. Cr(gi(), function (t, n) {
  25251. u.move(n.event)
  25252. }),
  25253. Cr(pi(), u.delayDrop),
  25254. ]))
  25255. )),
  25256. s(n),
  25257. OT(n, i))
  25258. }),
  25259. ]
  25260. }
  25261. function FT(a, c, s) {
  25262. function l(t) {
  25263. BT(t, f.get(), a, c), f.clear()
  25264. }
  25265. var f = gc()
  25266. return [
  25267. Cr(si(), function (n, t) {
  25268. function e() {
  25269. return l(n)
  25270. }
  25271. t.stop()
  25272. var o,
  25273. r,
  25274. i,
  25275. u = TT(
  25276. n,
  25277. a.blockerClass,
  25278. ((r = o = e),
  25279. (i = function (t) {
  25280. DT(n, a, c, rE, t)
  25281. }),
  25282. eu([
  25283. Cr(si(), r),
  25284. Cr(fi(), o),
  25285. Cr(di(), o),
  25286. Cr(li(), function (t, n) {
  25287. i(n.event)
  25288. }),
  25289. ]))
  25290. )
  25291. f.set(u), s(n), OT(n, u)
  25292. }),
  25293. Cr(li(), function (t, n) {
  25294. n.stop(), DT(t, a, c, rE, n.event)
  25295. }),
  25296. Cr(fi(), function (t, n) {
  25297. n.stop(), l(t)
  25298. }),
  25299. Cr(di(), l),
  25300. ]
  25301. }
  25302. function IT(t, r, i, u, n, e) {
  25303. return t.fold(
  25304. function () {
  25305. return aE.snap({
  25306. sensor: qT(i - 20, u - 20),
  25307. range: ke(n, e),
  25308. output: qT(vt.some(i), vt.some(u)),
  25309. extra: { td: r },
  25310. })
  25311. },
  25312. function (t) {
  25313. var n = i - 20,
  25314. e = u - 20,
  25315. o = t.element.dom.getBoundingClientRect()
  25316. return aE.snap({
  25317. sensor: qT(n, e),
  25318. range: ke(40, 40),
  25319. output: qT(vt.some(i - o.width / 2), vt.some(u - o.height / 2)),
  25320. extra: { td: r },
  25321. })
  25322. }
  25323. )
  25324. }
  25325. function RT(t, i, u) {
  25326. return {
  25327. getSnapPoints: t,
  25328. leftAttr: 'data-drag-left',
  25329. topAttr: 'data-drag-top',
  25330. onSensor: function (t, n) {
  25331. var e = n.td,
  25332. o = i.get(),
  25333. r = e
  25334. o.exists(function (t) {
  25335. return Lt(t, r)
  25336. }) || (i.set(e), u(e))
  25337. },
  25338. mustSnap: !0,
  25339. }
  25340. }
  25341. function VT(t) {
  25342. return zm(
  25343. fp.sketch({
  25344. dom: { tag: 'div', classes: ['tox-selector'] },
  25345. buttonBehaviours: nc([
  25346. aE.config({
  25347. mode: 'mouseOrTouch',
  25348. blockerClass: 'blocker',
  25349. snaps: t,
  25350. }),
  25351. vw.config({}),
  25352. ]),
  25353. eventOrder: {
  25354. mousedown: ['dragging', 'alloy.base.behaviour'],
  25355. touchstart: ['dragging', 'alloy.base.behaviour'],
  25356. },
  25357. })
  25358. )
  25359. }
  25360. function PT(a, e) {
  25361. function n(t) {
  25362. var n = Nn(t)
  25363. return IT(g.getOpt(e), t, n.x, n.y, n.width, n.height)
  25364. }
  25365. function o(t) {
  25366. var n = Nn(t)
  25367. return IT(p.getOpt(e), t, n.right, n.bottom, n.width, n.height)
  25368. }
  25369. function r(t, i, n, u) {
  25370. var e = n(i)
  25371. aE.snapTo(t, e),
  25372. (function (t) {
  25373. var n = i.dom.getBoundingClientRect()
  25374. bn(t.element, 'display')
  25375. var e = Xt(At.fromDom(a.getBody())).dom.innerHeight,
  25376. o = n[u] < 0,
  25377. r = n[u] > e
  25378. ;(o || r) && dn(t.element, 'display', 'none')
  25379. })(t)
  25380. }
  25381. function i(t) {
  25382. return r(h, t, n, 'top')
  25383. }
  25384. function u(t) {
  25385. return r(v, t, o, 'bottom')
  25386. }
  25387. var c = Po([]),
  25388. s = Po([]),
  25389. t = Po(!1),
  25390. l = gc(),
  25391. f = gc(),
  25392. d = RT(
  25393. function () {
  25394. return M(c.get(), n)
  25395. },
  25396. l,
  25397. function (n) {
  25398. f.get().each(function (t) {
  25399. a.fire('TableSelectorChange', { start: n, finish: t })
  25400. })
  25401. }
  25402. ),
  25403. m = RT(
  25404. function () {
  25405. return M(s.get(), o)
  25406. },
  25407. f,
  25408. function (n) {
  25409. l.get().each(function (t) {
  25410. a.fire('TableSelectorChange', { start: t, finish: n })
  25411. })
  25412. }
  25413. ),
  25414. g = VT(d),
  25415. p = VT(m),
  25416. h = Tu(g.asSpec()),
  25417. v = Tu(p.asSpec())
  25418. le().deviceType.isTouch() &&
  25419. (a.on('TableSelectionChange', function (n) {
  25420. t.get() || (Vs(e, h), Vs(e, v), t.set(!0)),
  25421. l.set(n.start),
  25422. f.set(n.finish),
  25423. n.otherCells.each(function (t) {
  25424. c.set(t.upOrLeftCells),
  25425. s.set(t.downOrRightCells),
  25426. i(n.start),
  25427. u(n.finish)
  25428. })
  25429. }),
  25430. a.on('ResizeEditor ResizeWindow ScrollContent', function () {
  25431. l.get().each(i), f.get().each(u)
  25432. }),
  25433. a.on('TableSelectionClear', function () {
  25434. t.get() && (Hs(h), Hs(v), t.set(!1)), l.clear(), f.clear()
  25435. }))
  25436. }
  25437. var HT,
  25438. zT,
  25439. NT = {
  25440. name: 'lineheight',
  25441. text: 'Line height',
  25442. icon: 'line-height',
  25443. getOptions: function (t) {
  25444. return t
  25445. .getParam('lineheight_formats', '1 1.1 1.2 1.3 1.4 1.5 2', 'string')
  25446. .split(' ')
  25447. },
  25448. hash: function (t) {
  25449. return (
  25450. (r = ['fixed', 'relative', 'empty']),
  25451. vt
  25452. .from(q_.exec(t))
  25453. .bind(function (t) {
  25454. var n = Number(t[1]),
  25455. e = t[2],
  25456. o = e
  25457. return d(r, function (t) {
  25458. return d(Y_[t], function (t) {
  25459. return o === t
  25460. })
  25461. })
  25462. ? vt.some({ value: n, unit: e })
  25463. : vt.none()
  25464. })
  25465. .map(function (t) {
  25466. return t.value + t.unit
  25467. })
  25468. .getOr(t)
  25469. )
  25470. var r
  25471. },
  25472. display: h,
  25473. watcher: function (t, n, e) {
  25474. return t.formatter.formatChanged('lineheight', e, !1, { value: n })
  25475. .unbind
  25476. },
  25477. getCurrent: function (t) {
  25478. return vt.from(t.queryCommandValue('LineHeight'))
  25479. },
  25480. setCurrent: function (t, n) {
  25481. return t.execCommand('LineHeight', !1, n)
  25482. },
  25483. },
  25484. LT = function (t) {
  25485. return { type: 'selection', root: At.fromDom(t.selection.getNode()) }
  25486. },
  25487. WT = {
  25488. onLtr: function () {
  25489. return [$a, Xa, Ya, qa, Ka, Ja, cp, sp, Am, Bm, Mm, Dm]
  25490. },
  25491. onRtl: function () {
  25492. return [$a, Ya, Xa, Ka, qa, Ja, cp, sp, Mm, Dm, Am, Bm]
  25493. },
  25494. },
  25495. UT = {
  25496. valignCentre: [],
  25497. alignCentre: [],
  25498. alignLeft: ['tox-pop--align-left'],
  25499. alignRight: ['tox-pop--align-right'],
  25500. right: ['tox-pop--right'],
  25501. left: ['tox-pop--left'],
  25502. bottom: ['tox-pop--bottom'],
  25503. top: ['tox-pop--top'],
  25504. },
  25505. jT = { type: 'separator' },
  25506. GT = function (n) {
  25507. function t(t) {
  25508. return {
  25509. text: t.text,
  25510. icon: t.icon,
  25511. disabled: t.disabled,
  25512. shortcut: t.shortcut,
  25513. }
  25514. }
  25515. var e
  25516. if (y(n)) return n
  25517. switch (n.type) {
  25518. case 'separator':
  25519. return jT
  25520. case 'submenu':
  25521. return lt(lt({ type: 'nestedmenuitem' }, t(n)), {
  25522. getSubmenuItems: function () {
  25523. var t = n.getSubmenuItems()
  25524. return y(t) ? t : M(t, GT)
  25525. },
  25526. })
  25527. default:
  25528. return lt(lt({ type: 'menuitem' }, t(n)), {
  25529. onAction:
  25530. ((e = n.onAction),
  25531. function () {
  25532. return e()
  25533. }),
  25534. })
  25535. }
  25536. },
  25537. XT = Ho([
  25538. { offset: ['x', 'y'] },
  25539. { absolute: ['x', 'y'] },
  25540. { fixed: ['x', 'y'] },
  25541. ]),
  25542. YT = XT.offset,
  25543. qT = XT.absolute,
  25544. KT = XT.fixed,
  25545. JT = function (t, n, l, f, d) {
  25546. var e = n.getSnapPoints(t)
  25547. return CT(e, l, f, d).orThunk(function () {
  25548. return R(
  25549. e,
  25550. function (n, e) {
  25551. var t,
  25552. o,
  25553. r,
  25554. i,
  25555. u,
  25556. a,
  25557. c,
  25558. s =
  25559. ((t = e.sensor),
  25560. e.range.left,
  25561. e.range.top,
  25562. (i = bT(l, (o = f), (r = d))),
  25563. (u = bT(t, o, r)),
  25564. (a = Math.abs(i.left - u.left)),
  25565. (c = Math.abs(i.top - u.top)),
  25566. ke(a, c))
  25567. return n.deltas.fold(
  25568. function () {
  25569. return { deltas: vt.some(s), snap: vt.some(e) }
  25570. },
  25571. function (t) {
  25572. return (s.left + s.top) / 2 <= (t.left + t.top) / 2
  25573. ? { deltas: vt.some(s), snap: vt.some(e) }
  25574. : n
  25575. }
  25576. )
  25577. },
  25578. { deltas: vt.none(), snap: vt.none() }
  25579. ).snap.map(function (t) {
  25580. return { output: wT(t.output, l, f, d), extra: t.extra }
  25581. })
  25582. })
  25583. },
  25584. $T = function (t, n, e, o, r) {
  25585. return CT(n.getSnapPoints(t), e, o, r)
  25586. },
  25587. QT = Object.freeze({
  25588. __proto__: null,
  25589. snapTo: function (t, n, e, o) {
  25590. var r,
  25591. i,
  25592. u,
  25593. a = n.getTarget(t.element)
  25594. n.repositionTarget &&
  25595. ((r = Rn(Ut(t.element))),
  25596. (i = Wk(a)),
  25597. gn(
  25598. a,
  25599. xT(
  25600. { coord: wT((u = o).output, u.output, r, i), extra: u.extra }
  25601. .coord,
  25602. 0,
  25603. i
  25604. )
  25605. ))
  25606. },
  25607. }),
  25608. ZT = 'data-initial-z-index',
  25609. tE = To('snaps', [
  25610. mo('getSnapPoints'),
  25611. Ju('onSensor'),
  25612. mo('leftAttr'),
  25613. mo('topAttr'),
  25614. Eo('lazyViewport', Fe),
  25615. Eo('mustSnap', !1),
  25616. ]),
  25617. nE = [
  25618. Eo('useFixed', T),
  25619. mo('blockerClass'),
  25620. Eo('getTarget', h),
  25621. Eo('onDrag', st),
  25622. Eo('repositionTarget', !0),
  25623. Eo('onDrop', st),
  25624. Io('getBounds', Fe),
  25625. tE,
  25626. ],
  25627. eE = Object.freeze({
  25628. __proto__: null,
  25629. getData: function (t) {
  25630. return vt.from(ke(t.x, t.y))
  25631. },
  25632. getDelta: function (t, n) {
  25633. return ke(n.left - t.left, n.top - t.top)
  25634. },
  25635. }),
  25636. oE = H(H([], nE, !0), [ta('dragger', { handlers: MT(AT) })], !1),
  25637. rE = Object.freeze({
  25638. __proto__: null,
  25639. getData: function (t) {
  25640. var n,
  25641. e = t.raw.touches
  25642. return 1 === e.length
  25643. ? ((n = e[0]), vt.some(ke(n.clientX, n.clientY)))
  25644. : vt.none()
  25645. },
  25646. getDelta: function (t, n) {
  25647. return ke(n.left - t.left, n.top - t.top)
  25648. },
  25649. }),
  25650. iE = H(H([], nE, !0), [ta('dragger', { handlers: MT(FT) })], !1),
  25651. uE = H(
  25652. H([], nE, !0),
  25653. [
  25654. ta('dragger', {
  25655. handlers: MT(function (t, n, e) {
  25656. return H(H([], AT(t, n, e), !0), FT(t, n, e), !0)
  25657. }),
  25658. }),
  25659. ],
  25660. !1
  25661. ),
  25662. aE = wa({
  25663. branchKey: 'mode',
  25664. branches: Object.freeze({
  25665. __proto__: null,
  25666. mouse: oE,
  25667. touch: iE,
  25668. mouseOrTouch: uE,
  25669. }),
  25670. name: 'dragging',
  25671. active: {
  25672. events: function (t, n) {
  25673. return t.dragger.handlers(t, n)
  25674. },
  25675. },
  25676. extra: {
  25677. snap: function (t) {
  25678. return {
  25679. sensor: t.sensor,
  25680. range: t.range,
  25681. output: t.output,
  25682. extra: vt.from(t.extra),
  25683. }
  25684. },
  25685. },
  25686. state: Object.freeze({
  25687. __proto__: null,
  25688. init: function () {
  25689. var i = vt.none(),
  25690. n = vt.none(),
  25691. t = rt({})
  25692. return wu({
  25693. readState: t,
  25694. reset: function () {
  25695. ;(i = vt.none()), (n = vt.none())
  25696. },
  25697. update: function (r, t) {
  25698. return r.getData(t).bind(function (t) {
  25699. return (
  25700. (n = r),
  25701. (e = t),
  25702. (o = i.map(function (t) {
  25703. return n.getDelta(t, e)
  25704. })),
  25705. (i = vt.some(e)),
  25706. o
  25707. )
  25708. var n, e, o
  25709. })
  25710. },
  25711. getStartData: function () {
  25712. return n
  25713. },
  25714. setStartData: function (t) {
  25715. n = vt.some(t)
  25716. },
  25717. })
  25718. },
  25719. }),
  25720. apis: QT,
  25721. })
  25722. function cE(t, n, e) {
  25723. var o,
  25724. r,
  25725. i,
  25726. u,
  25727. a,
  25728. c,
  25729. s = At.fromDom(t.getContainer())
  25730. J(
  25731. ((o = t),
  25732. (r = n),
  25733. (i = e),
  25734. (u = wn(s)),
  25735. (a = On(s)),
  25736. ((c = {}).height = t_(u + r.top, dh(o), gh(o))),
  25737. i === HT.Both && (c.width = t_(a + r.left, fh(o), mh(o))),
  25738. c),
  25739. function (t, n) {
  25740. return dn(s, n, ZO(t)), 0
  25741. }
  25742. ),
  25743. t.fire('ResizeEditor')
  25744. }
  25745. function sE(t, n, e, o) {
  25746. return cE(t, ke(20 * e, 20 * o), n), vt.some(!0)
  25747. }
  25748. function lE(t, n) {
  25749. var e, o, r, i, u, a, c, s, l, f, d, m, g, p, h, v
  25750. return {
  25751. dom: { tag: 'div', classes: ['tox-statusbar'] },
  25752. components:
  25753. ((v = []),
  25754. t.getParam('elementpath', !0, 'boolean') &&
  25755. v.push(
  25756. ((g = t),
  25757. (h = n),
  25758. (p = {}).delimiter || (p.delimiter = '\xbb'),
  25759. {
  25760. dom: {
  25761. tag: 'div',
  25762. classes: ['tox-statusbar__path'],
  25763. attributes: { role: 'navigation' },
  25764. },
  25765. behaviours: nc([
  25766. Fg.config({ mode: 'flow', selector: 'div[role=button]' }),
  25767. gd.config({ disabled: h.isDisabled }),
  25768. pv(),
  25769. py.config({}),
  25770. Rg.config({}),
  25771. mm('elementPathEvents', [
  25772. ou(function (r, t) {
  25773. g.shortcuts.add(
  25774. 'alt+F11',
  25775. 'focus statusbar elementpath',
  25776. function () {
  25777. return Fg.focusIn(r)
  25778. }
  25779. ),
  25780. g.on('NodeChange', function (t) {
  25781. var n,
  25782. o,
  25783. e = (function (t) {
  25784. for (var n = [], e = t.length; 0 < e--; ) {
  25785. var o = t[e]
  25786. if (
  25787. 1 === o.nodeType &&
  25788. !(function (t) {
  25789. if (1 === t.nodeType) {
  25790. if (
  25791. 'BR' === t.nodeName ||
  25792. t.getAttribute('data-mce-bogus')
  25793. )
  25794. return 1
  25795. if (
  25796. 'bookmark' ===
  25797. t.getAttribute('data-mce-type')
  25798. )
  25799. return 1
  25800. }
  25801. })(o)
  25802. ) {
  25803. var r = g.fire('ResolveName', {
  25804. name: o.nodeName.toLowerCase(),
  25805. target: o,
  25806. })
  25807. if (
  25808. (r.isDefaultPrevented() ||
  25809. n.push({ name: r.name, element: o }),
  25810. r.isPropagationStopped())
  25811. )
  25812. break
  25813. }
  25814. }
  25815. return n
  25816. })(t.parents)
  25817. 0 < e.length
  25818. ? Rg.set(
  25819. r,
  25820. ((n = M(e || [], function (n, t) {
  25821. return fp.sketch({
  25822. dom: {
  25823. tag: 'div',
  25824. classes: ['tox-statusbar__path-item'],
  25825. attributes: {
  25826. role: 'button',
  25827. 'data-index': t,
  25828. 'tab-index': -1,
  25829. 'aria-level': t + 1,
  25830. },
  25831. innerHtml: n.name,
  25832. },
  25833. action: function (t) {
  25834. g.focus(),
  25835. g.selection.select(n.element),
  25836. g.nodeChanged()
  25837. },
  25838. buttonBehaviours: nc([
  25839. $v(h.isDisabled),
  25840. pv(),
  25841. ]),
  25842. })
  25843. })),
  25844. (o = {
  25845. dom: {
  25846. tag: 'div',
  25847. classes: ['tox-statusbar__path-divider'],
  25848. attributes: { 'aria-hidden': !0 },
  25849. innerHtml: ' ' + p.delimiter + ' ',
  25850. },
  25851. }),
  25852. R(
  25853. n.slice(1),
  25854. function (t, n) {
  25855. var e = t
  25856. return e.push(o), e.push(n), e
  25857. },
  25858. [n[0]]
  25859. ))
  25860. )
  25861. : Rg.set(r, [])
  25862. })
  25863. }),
  25864. ]),
  25865. ]),
  25866. components: [],
  25867. })
  25868. ),
  25869. t.hasPlugin('wordcount') &&
  25870. v.push(
  25871. ((f = t),
  25872. (d = n),
  25873. fp.sketch({
  25874. dom: { tag: 'button', classes: ['tox-statusbar__wordcount'] },
  25875. components: [],
  25876. buttonBehaviours: nc([
  25877. $v(d.isDisabled),
  25878. pv(),
  25879. py.config({}),
  25880. Rg.config({}),
  25881. Df.config({
  25882. store: {
  25883. mode: 'memory',
  25884. initialValue: {
  25885. mode: 'words',
  25886. count: { words: 0, characters: 0 },
  25887. },
  25888. },
  25889. }),
  25890. mm('wordcount-events', [
  25891. uu(function (t) {
  25892. var n = Df.getValue(t),
  25893. e = 'words' === n.mode ? 'characters' : 'words'
  25894. Df.setValue(t, { mode: e, count: n.count }),
  25895. b(t, n.count, e)
  25896. }),
  25897. ou(function (e) {
  25898. f.on('wordCountUpdate', function (t) {
  25899. var n = Df.getValue(e).mode
  25900. Df.setValue(e, { mode: n, count: t.wordCount }),
  25901. b(e, t.wordCount, n)
  25902. })
  25903. }),
  25904. ]),
  25905. ]),
  25906. eventOrder:
  25907. (((m = {})[Ii()] = [
  25908. 'disabling',
  25909. 'alloy.base.behaviour',
  25910. 'wordcount-events',
  25911. ]),
  25912. m),
  25913. }))
  25914. ),
  25915. t.getParam('branding', !0, 'boolean') &&
  25916. v.push({
  25917. dom: {
  25918. tag: 'span',
  25919. classes: ['tox-statusbar__branding'],
  25920. innerHtml:
  25921. '<a href="https://www.tiny.cloud/?utm_campaign=editor_referral&amp;utm_medium=poweredby&amp;utm_source=tinymce&amp;utm_content=v5" rel="noopener" target="_blank" tabindex="-1" aria-label="' +
  25922. (l = dp.translate(['Powered by {0}', 'Tiny'])) +
  25923. '">' +
  25924. l +
  25925. '</a>',
  25926. },
  25927. }),
  25928. (e =
  25929. 0 < v.length
  25930. ? [
  25931. {
  25932. dom: {
  25933. tag: 'div',
  25934. classes: ['tox-statusbar__text-container'],
  25935. },
  25936. components: v,
  25937. },
  25938. ]
  25939. : []),
  25940. (i = n),
  25941. (a = !(u = r = t).hasPlugin('autoresize')),
  25942. (o =
  25943. (s =
  25944. !1 === (c = u.getParam('resize', a))
  25945. ? HT.None
  25946. : 'both' === c
  25947. ? HT.Both
  25948. : HT.Vertical) === HT.None
  25949. ? vt.none()
  25950. : vt.some(
  25951. Xm(
  25952. 'resize-handle',
  25953. {
  25954. tag: 'div',
  25955. classes: ['tox-statusbar__resize-handle'],
  25956. attributes: { title: i.translate('Resize') },
  25957. behaviours: [
  25958. aE.config({
  25959. mode: 'mouse',
  25960. repositionTarget: !1,
  25961. onDrag: function (t, n, e) {
  25962. return cE(r, e, s)
  25963. },
  25964. blockerClass: 'tox-blocker',
  25965. }),
  25966. Fg.config({
  25967. mode: 'special',
  25968. onLeft: function () {
  25969. return sE(r, s, -1, 0)
  25970. },
  25971. onRight: function () {
  25972. return sE(r, s, 1, 0)
  25973. },
  25974. onUp: function () {
  25975. return sE(r, s, 0, -1)
  25976. },
  25977. onDown: function () {
  25978. return sE(r, s, 0, 1)
  25979. },
  25980. }),
  25981. py.config({}),
  25982. Hg.config({}),
  25983. ],
  25984. },
  25985. i.icons
  25986. )
  25987. )),
  25988. e.concat(o.toArray())),
  25989. }
  25990. function b(t, n, e) {
  25991. return Rg.set(t, [ri(d.translate(['{0} ' + e, n[e]]))])
  25992. }
  25993. }
  25994. function fE(d) {
  25995. function m() {
  25996. return i.bind(FO.getHeader)
  25997. }
  25998. function g() {
  25999. return Ve.value(y)
  26000. }
  26001. function p() {
  26002. return i
  26003. .bind(function (t) {
  26004. return FO.getThrobber(t)
  26005. })
  26006. .getOrDie('Could not find throbber element')
  26007. }
  26008. var t,
  26009. n,
  26010. e,
  26011. o,
  26012. r = d.inline,
  26013. h = r ? P_ : V_,
  26014. v = dv(d) ? q1 : H1,
  26015. i = vt.none(),
  26016. u = le(),
  26017. a = u.browser.isIE() ? ['tox-platform-ie'] : [],
  26018. c = u.deviceType.isTouch() ? ['tox-platform-touch'] : [],
  26019. s = av(d),
  26020. l = lv(d),
  26021. f = dp.isRtl() ? { attributes: { dir: 'rtl' } } : {},
  26022. b = {
  26023. attributes: (((t = {})[es] = s ? Oc.BottomToTop : Oc.TopToBottom), t),
  26024. },
  26025. y = Tu(
  26026. ((n = Lt(be(), l) && 'grid' === pn(l, 'display')),
  26027. (e = {
  26028. dom: lt(
  26029. {
  26030. tag: 'div',
  26031. classes: ['tox', 'tox-silver-sink', 'tox-tinymce-aux']
  26032. .concat(a)
  26033. .concat(c),
  26034. },
  26035. f
  26036. ),
  26037. behaviours: nc([
  26038. ff.config({
  26039. useFixed: function () {
  26040. return v.isDocked(m)
  26041. },
  26042. }),
  26043. ]),
  26044. }),
  26045. (o = {
  26046. dom: { styles: { width: document.body.clientWidth + 'px' } },
  26047. events: eu([
  26048. Cr(ji(), function () {
  26049. dn(J.element, 'width', document.body.clientWidth + 'px')
  26050. }),
  26051. ]),
  26052. }),
  26053. Yo(e, n ? o : {}))
  26054. ),
  26055. x = zm({ dom: { tag: 'div', classes: ['tox-anchorbar'] } }),
  26056. w = Nk(y, d, function () {
  26057. return i
  26058. .bind(function (t) {
  26059. return x.getOpt(t)
  26060. })
  26061. .getOrDie('Could not find a anchor bar element')
  26062. }),
  26063. S = FO.parts.menubar({
  26064. dom: { tag: 'div', classes: ['tox-menubar'] },
  26065. backstage: w,
  26066. onEscape: function () {
  26067. d.focus()
  26068. },
  26069. }),
  26070. k = iv(d),
  26071. C = FO.parts.toolbar(
  26072. lt(
  26073. {
  26074. dom: { tag: 'div', classes: ['tox-toolbar'] },
  26075. getSink: g,
  26076. providers: w.shared.providers,
  26077. onEscape: function () {
  26078. d.focus()
  26079. },
  26080. type: k,
  26081. lazyToolbar: function () {
  26082. return i
  26083. .bind(function (t) {
  26084. return FO.getToolbar(t)
  26085. })
  26086. .getOrDie('Could not find more toolbar element')
  26087. },
  26088. lazyHeader: function () {
  26089. return m().getOrDie('Could not find header element')
  26090. },
  26091. },
  26092. b
  26093. )
  26094. ),
  26095. O = FO.parts['multiple-toolbar']({
  26096. dom: { tag: 'div', classes: ['tox-toolbar-overlord'] },
  26097. providers: w.shared.providers,
  26098. onEscape: function () {
  26099. d.focus()
  26100. },
  26101. type: k,
  26102. }),
  26103. _ = FO.parts.socket({ dom: { tag: 'div', classes: ['tox-edit-area'] } }),
  26104. T = FO.parts.sidebar({ dom: { tag: 'div', classes: ['tox-sidebar'] } }),
  26105. E = FO.parts.throbber({
  26106. dom: { tag: 'div', classes: ['tox-throbber'] },
  26107. backstage: w,
  26108. }),
  26109. D =
  26110. d.getParam('statusbar', !0, 'boolean') && !r
  26111. ? vt.some(lE(d, w.shared.providers))
  26112. : vt.none(),
  26113. B = {
  26114. dom: { tag: 'div', classes: ['tox-sidebar-wrap'] },
  26115. components: [_, T],
  26116. },
  26117. M = rv(d),
  26118. A = hh(d),
  26119. F = ph(d),
  26120. I = FO.parts.header({
  26121. dom: lt({ tag: 'div', classes: ['tox-editor-header'] }, b),
  26122. components: ft([
  26123. F ? [S] : [],
  26124. M ? [O] : A ? [C] : [],
  26125. sv(d) ? [] : [x.asSpec()],
  26126. ]),
  26127. sticky: dv(d),
  26128. editor: d,
  26129. sharedBackstage: w.shared,
  26130. }),
  26131. R = ft([s ? [] : [I], r ? [] : [B], s ? [I] : []]),
  26132. V = ft([
  26133. [
  26134. {
  26135. dom: { tag: 'div', classes: ['tox-editor-container'] },
  26136. components: R,
  26137. },
  26138. ],
  26139. r ? [] : D.toArray(),
  26140. [E],
  26141. ]),
  26142. P = fv(d),
  26143. H = lt(
  26144. lt({ role: 'application' }, dp.isRtl() ? { dir: 'rtl' } : {}),
  26145. P ? { 'aria-hidden': 'true' } : {}
  26146. ),
  26147. z = Tu(
  26148. FO.sketch({
  26149. dom: {
  26150. tag: 'div',
  26151. classes: ['tox', 'tox-tinymce']
  26152. .concat(r ? ['tox-tinymce-inline'] : [])
  26153. .concat(s ? ['tox-tinymce--toolbar-bottom'] : [])
  26154. .concat(c)
  26155. .concat(a),
  26156. styles: lt(
  26157. { visibility: 'hidden' },
  26158. P ? { opacity: '0', border: '0' } : {}
  26159. ),
  26160. attributes: H,
  26161. },
  26162. components: V,
  26163. behaviours: nc([
  26164. pv(),
  26165. gd.config({ disableClass: 'tox-tinymce--disabled' }),
  26166. Fg.config({
  26167. mode: 'cyclic',
  26168. selector:
  26169. '.tox-menubar, .tox-toolbar, .tox-toolbar__primary, .tox-toolbar__overflow--open, .tox-sidebar__overflow--open, .tox-statusbar__path, .tox-statusbar__wordcount, .tox-statusbar__branding a, .tox-statusbar__resize-handle',
  26170. }),
  26171. ]),
  26172. })
  26173. ),
  26174. i = vt.some(z)
  26175. d.shortcuts.add('alt+F9', 'focus menubar', function () {
  26176. FO.focusMenubar(z)
  26177. }),
  26178. d.shortcuts.add('alt+F10', 'focus toolbar', function () {
  26179. FO.focusToolbar(z)
  26180. }),
  26181. d.addCommand('ToggleToolbarDrawer', function () {
  26182. FO.toggleToolbarDrawer(z)
  26183. }),
  26184. d.addQueryStateHandler('ToggleToolbarDrawer', function () {
  26185. return FO.isToolbarDrawerToggled(z)
  26186. })
  26187. var N,
  26188. L,
  26189. W,
  26190. U,
  26191. j,
  26192. G,
  26193. X,
  26194. Y,
  26195. q,
  26196. K = ny(z),
  26197. J = ny(y)
  26198. function $() {
  26199. var t,
  26200. n,
  26201. e,
  26202. o,
  26203. r,
  26204. i,
  26205. u = ZO(
  26206. ((o = sh((e = n = d))),
  26207. (r = dh(e)),
  26208. (i = gh(e)),
  26209. QO(o)
  26210. .map(function (t) {
  26211. return t_(t, r, i)
  26212. })
  26213. .getOr(sh(n)))
  26214. ),
  26215. a = ZO(n_((t = d)).getOr(lh(t)))
  26216. return (
  26217. d.inline ||
  26218. (vn('div', 'width', a) && dn(z.element, 'width', a),
  26219. vn('div', 'height', u)
  26220. ? dn(z.element, 'height', u)
  26221. : dn(z.element, 'height', '200px')),
  26222. u
  26223. )
  26224. }
  26225. return (
  26226. (N = d),
  26227. (L = K),
  26228. (W = J),
  26229. (U = Sa()),
  26230. (j = pc(U, 'touchstart', tt)),
  26231. (G = pc(U, 'touchmove', function (t) {
  26232. return Q(Li(), t)
  26233. })),
  26234. (X = pc(U, 'touchend', function (t) {
  26235. return Q(Wi(), t)
  26236. })),
  26237. (Y = pc(U, 'mousedown', tt)),
  26238. (q = pc(U, 'mouseup', function (t) {
  26239. 0 === t.raw.button && Z(wf(), { target: t.target })
  26240. })),
  26241. N.on('PostRender', function () {
  26242. N.on('click', nt),
  26243. N.on('tap', nt),
  26244. N.on('mouseup', et),
  26245. N.on('mousedown', ot),
  26246. N.on('ScrollWindow', rt),
  26247. N.on('ResizeWindow', it),
  26248. N.on('ResizeEditor', ut),
  26249. N.on('AfterProgressState', at),
  26250. N.on('DismissPopups', ct)
  26251. }),
  26252. N.on('remove', function () {
  26253. N.off('click', nt),
  26254. N.off('tap', nt),
  26255. N.off('mouseup', et),
  26256. N.off('mousedown', ot),
  26257. N.off('ScrollWindow', rt),
  26258. N.off('ResizeWindow', it),
  26259. N.off('ResizeEditor', ut),
  26260. N.off('AfterProgressState', at),
  26261. N.off('DismissPopups', ct),
  26262. Y.unbind(),
  26263. j.unbind(),
  26264. G.unbind(),
  26265. X.unbind(),
  26266. q.unbind()
  26267. }),
  26268. N.on('detach', function () {
  26269. Ls(L), Ls(W), L.destroy(), W.destroy()
  26270. }),
  26271. {
  26272. mothership: K,
  26273. uiMothership: J,
  26274. backstage: w,
  26275. renderUI: function () {
  26276. var o, r
  26277. v.setup(d, w.shared, m),
  26278. nT(d, w),
  26279. mT(d, g, w),
  26280. (r = (o = d).ui.registry.getAll().sidebars),
  26281. St(Ct(r), function (n) {
  26282. function e() {
  26283. return mt(vt.from(o.queryCommandValue('ToggleSidebar')), n)
  26284. }
  26285. var t = r[n]
  26286. o.ui.registry.addToggleButton(n, {
  26287. icon: t.icon,
  26288. tooltip: t.tooltip,
  26289. onAction: function (t) {
  26290. o.execCommand('ToggleSidebar', !1, n), t.setActive(e())
  26291. },
  26292. onSetup: function (t) {
  26293. function n() {
  26294. return t.setActive(e())
  26295. }
  26296. return (
  26297. o.on('ToggleSidebar', n),
  26298. function () {
  26299. o.off('ToggleSidebar', n)
  26300. }
  26301. )
  26302. },
  26303. })
  26304. }),
  26305. SC(d, p, w.shared),
  26306. dt(d.getParam('toolbar_groups', {}, 'object'), function (t, n) {
  26307. d.ui.registry.addGroupToolbarButton(n, t)
  26308. })
  26309. var t,
  26310. n = d.ui.registry.getAll(),
  26311. e = n.buttons,
  26312. i = n.menuItems,
  26313. u = n.contextToolbars,
  26314. a = n.sidebars,
  26315. c = vh(d),
  26316. s = {
  26317. menuItems: i,
  26318. menus: (t = d.getParam('menu'))
  26319. ? dt(t, function (t) {
  26320. return lt(lt({}, t), { items: t.items })
  26321. })
  26322. : {},
  26323. menubar: d.getParam('menubar'),
  26324. toolbar: c.getOrThunk(function () {
  26325. return d.getParam('toolbar', !0)
  26326. }),
  26327. allowToolbarGroups: k === bh.floating,
  26328. buttons: e,
  26329. sidebar: a,
  26330. }
  26331. m_(d, u, y, { backstage: w }), PT(d, y)
  26332. var l = d.getElement(),
  26333. f = $()
  26334. return h.render(
  26335. d,
  26336. { mothership: K, uiMothership: J, outerContainer: z },
  26337. s,
  26338. w,
  26339. { targetNode: l, height: f }
  26340. )
  26341. },
  26342. getUi: function () {
  26343. return {
  26344. channels: {
  26345. broadcastAll: J.broadcast,
  26346. broadcastOn: J.broadcastOn,
  26347. register: st,
  26348. },
  26349. }
  26350. },
  26351. }
  26352. )
  26353. function Q(n, e) {
  26354. St([L, W], function (t) {
  26355. t.broadcastEvent(n, e)
  26356. })
  26357. }
  26358. function Z(n, e) {
  26359. St([L, W], function (t) {
  26360. t.broadcastOn([n], e)
  26361. })
  26362. }
  26363. function tt(t) {
  26364. return Z(yf(), { target: t.target })
  26365. }
  26366. function nt(t) {
  26367. return Z(yf(), { target: At.fromDom(t.target) })
  26368. }
  26369. function et(t) {
  26370. 0 === t.button && Z(wf(), { target: At.fromDom(t.target) })
  26371. }
  26372. function ot() {
  26373. St(N.editorManager.get(), function (t) {
  26374. N !== t && t.fire('DismissPopups', { relatedTarget: N })
  26375. })
  26376. }
  26377. function rt(t) {
  26378. return Q(Ui(), Ac(t))
  26379. }
  26380. function it(t) {
  26381. Z(xf(), {}), Q(ji(), Ac(t))
  26382. }
  26383. function ut() {
  26384. return Z(xf(), {})
  26385. }
  26386. function at(t) {
  26387. t.state && Z(yf(), { target: At.fromDom(N.getContainer()) })
  26388. }
  26389. function ct(t) {
  26390. Z(yf(), { target: At.fromDom(t.relatedTarget.getContainer()) })
  26391. }
  26392. }
  26393. function dE(n) {
  26394. return ar(
  26395. 'items',
  26396. 'items',
  26397. Ue(),
  26398. no(
  26399. io(function (t) {
  26400. return ao('Checking item of ' + n, nB, t).fold(
  26401. function (t) {
  26402. return Ve.error(ur(t))
  26403. },
  26404. function (t) {
  26405. return Ve.value(t)
  26406. }
  26407. )
  26408. })
  26409. )
  26410. )
  26411. }
  26412. function mE(t) {
  26413. return y(t.type) && y(t.name)
  26414. }
  26415. function gE(t) {
  26416. return {
  26417. internalDialog: co(ao('dialog', sB, t)),
  26418. dataValidator:
  26419. ((n = z(F(dB(t), mE), function (n) {
  26420. return vt.from(mB[n.type]).fold(
  26421. function () {
  26422. return []
  26423. },
  26424. function (t) {
  26425. return [go(n.name, t)]
  26426. }
  26427. )
  26428. })),
  26429. $o(n)),
  26430. initialData: t.initialData,
  26431. }
  26432. var n
  26433. }
  26434. function pE(t) {
  26435. var e = [],
  26436. o = {}
  26437. return (
  26438. J(t, function (t, n) {
  26439. t.fold(
  26440. function () {
  26441. e.push(n)
  26442. },
  26443. function (t) {
  26444. o[n] = t
  26445. }
  26446. )
  26447. }),
  26448. 0 < e.length ? Ve.error(e) : Ve.value(o)
  26449. )
  26450. }
  26451. function hE(t, n) {
  26452. dn(t, 'height', n + 'px'),
  26453. le().browser.isIE() ? bn(t, 'flex-basis') : dn(t, 'flex-basis', n + 'px')
  26454. }
  26455. function vE(t, d, n) {
  26456. Fu(t, '[role="dialog"]').each(function (f) {
  26457. Iu(f, '[role="tablist"]').each(function (l) {
  26458. n.get()
  26459. .map(function (t) {
  26460. return (
  26461. dn(d, 'height', '0'),
  26462. dn(d, 'flex-basis', '0'),
  26463. Math.min(
  26464. t,
  26465. ((e = d),
  26466. (o = l),
  26467. (r = Gt((n = f)).dom),
  26468. (i =
  26469. 'fixed' === pn(Fu(n, '.tox-dialog-wrap').getOr(n), 'position')
  26470. ? Math.max(r.clientHeight, window.innerHeight)
  26471. : Math.max(r.offsetHeight, r.scrollHeight)),
  26472. (u = wn(e)),
  26473. (a =
  26474. e.dom.offsetLeft >= o.dom.offsetLeft + On(o)
  26475. ? Math.max(wn(o), u)
  26476. : u),
  26477. (c = parseInt(pn(n, 'margin-top'), 10) || 0),
  26478. (s = parseInt(pn(n, 'margin-bottom'), 10) || 0),
  26479. i - (wn(n) + c + s - a))
  26480. )
  26481. )
  26482. var n, e, o, r, i, u, a, c, s
  26483. })
  26484. .each(function (t) {
  26485. hE(d, t)
  26486. })
  26487. })
  26488. })
  26489. }
  26490. function bE(t) {
  26491. return Iu(t, '[role="tabpanel"]')
  26492. }
  26493. function yE(t, e) {
  26494. function o(t) {
  26495. var n = pE(Df.getValue(t)).getOr({}),
  26496. e = i.get(),
  26497. o = Yo(e, n)
  26498. i.set(o)
  26499. }
  26500. function r(t) {
  26501. var n = i.get()
  26502. Df.setValue(t, n)
  26503. }
  26504. var u,
  26505. a,
  26506. i = Po({}),
  26507. c = Po(null),
  26508. n = M(t.tabs, function (t) {
  26509. return {
  26510. value: t.name,
  26511. dom: {
  26512. tag: 'div',
  26513. classes: ['tox-dialog__body-nav-item'],
  26514. innerHtml: e.shared.providers.translate(t.title),
  26515. },
  26516. view: function () {
  26517. return [
  26518. eS.sketch(function (n) {
  26519. return {
  26520. dom: { tag: 'div', classes: ['tox-form'] },
  26521. components: M(t.items, function (t) {
  26522. return hk(n, t, e)
  26523. }),
  26524. formBehaviours: nc([
  26525. Fg.config({ mode: 'acyclic', useTabstopAt: O(p0) }),
  26526. mm('TabView.form.events', [ou(r), ru(o)]),
  26527. ic.config({
  26528. channels: lr([
  26529. { key: kB, value: { onReceive: o } },
  26530. { key: CB, value: { onReceive: r } },
  26531. ]),
  26532. }),
  26533. ]),
  26534. }
  26535. }),
  26536. ]
  26537. },
  26538. }
  26539. }),
  26540. s =
  26541. ((u = n),
  26542. (a = gc()),
  26543. {
  26544. extraEvents: [
  26545. ou(function (t) {
  26546. var o = t.element
  26547. bE(o).each(function (n) {
  26548. var e
  26549. dn(n, 'visibility', 'hidden'),
  26550. t
  26551. .getSystem()
  26552. .getByDom(n)
  26553. .toOptional()
  26554. .each(function (t) {
  26555. var o, r, i
  26556. Y(
  26557. G(
  26558. ((r = n),
  26559. (i = t),
  26560. M((o = u), function (t, n) {
  26561. Rg.set(i, o[n].view())
  26562. var e = r.dom.getBoundingClientRect()
  26563. return Rg.set(i, []), e.height
  26564. })),
  26565. function (t, n) {
  26566. return n < t ? -1 : t < n ? 1 : 0
  26567. }
  26568. )
  26569. ).fold(a.clear, a.set)
  26570. }),
  26571. vE(o, n, a),
  26572. bn(n, 'visibility'),
  26573. (e = t),
  26574. Y(u).each(function (t) {
  26575. return SB.showTab(e, t.value)
  26576. }),
  26577. lp.requestAnimationFrame(function () {
  26578. vE(o, n, a)
  26579. })
  26580. })
  26581. }),
  26582. Cr(ji(), function (t) {
  26583. var n = t.element
  26584. bE(n).each(function (t) {
  26585. vE(n, t, a)
  26586. })
  26587. }),
  26588. Cr(Ty, function (t, n) {
  26589. var r = t.element
  26590. bE(r).each(function (n) {
  26591. var t = Oa(ge(n))
  26592. dn(n, 'visibility', 'hidden')
  26593. var e = hn(n, 'height').map(function (t) {
  26594. return parseInt(t, 10)
  26595. })
  26596. bn(n, 'height'), bn(n, 'flex-basis')
  26597. var o = n.dom.getBoundingClientRect().height
  26598. e.forall(function (t) {
  26599. return t < o
  26600. })
  26601. ? (a.set(o), vE(r, n, a))
  26602. : e.each(function (t) {
  26603. hE(n, t)
  26604. }),
  26605. bn(n, 'visibility'),
  26606. t.each(ka)
  26607. })
  26608. }),
  26609. ],
  26610. selectFirst: !1,
  26611. })
  26612. return SB.sketch({
  26613. dom: { tag: 'div', classes: ['tox-dialog__body'] },
  26614. onChangeTab: function (t, n, e) {
  26615. var o = Df.getValue(n)
  26616. br(t, _y, { name: o, oldName: c.get() }), c.set(o)
  26617. },
  26618. tabs: n,
  26619. components: [
  26620. SB.parts.tabbar({
  26621. dom: { tag: 'div', classes: ['tox-dialog__body-nav'] },
  26622. components: [bB.parts.tabs({})],
  26623. markers: {
  26624. tabClass: 'tox-tab',
  26625. selectedClass: 'tox-dialog__body-nav-item--active',
  26626. },
  26627. tabbarBehaviours: nc([py.config({})]),
  26628. }),
  26629. SB.parts.tabview({
  26630. dom: { tag: 'div', classes: ['tox-dialog__body-content'] },
  26631. }),
  26632. ],
  26633. selectFirst: s.selectFirst,
  26634. tabSectionBehaviours: nc([
  26635. mm('tabpanel', s.extraEvents),
  26636. Fg.config({ mode: 'acyclic' }),
  26637. cd.config({
  26638. find: function (t) {
  26639. return Y(SB.getViewItems(t))
  26640. },
  26641. }),
  26642. Df.config({
  26643. store: {
  26644. mode: 'manual',
  26645. getValue: function (t) {
  26646. return t.getSystem().broadcastOn([kB], {}), i.get()
  26647. },
  26648. setValue: function (t, n) {
  26649. i.set(n), t.getSystem().broadcastOn([CB], {})
  26650. },
  26651. },
  26652. }),
  26653. ]),
  26654. })
  26655. }
  26656. function xE(t, n, r, e) {
  26657. return {
  26658. dom: {
  26659. tag: 'div',
  26660. classes: ['tox-dialog__content-js'],
  26661. attributes: lt(
  26662. lt(
  26663. {},
  26664. n
  26665. .map(function (t) {
  26666. return { id: t }
  26667. })
  26668. .getOr({})
  26669. ),
  26670. e ? { 'aria-live': 'polite' } : {}
  26671. ),
  26672. },
  26673. components: [],
  26674. behaviours: nc([
  26675. cS(0),
  26676. k_.config({
  26677. channel: TB,
  26678. updateState: function (t, n) {
  26679. return vt.some({
  26680. isTabPanel: function () {
  26681. return 'tabpanel' === n.body.type
  26682. },
  26683. })
  26684. },
  26685. renderComponents: function (t) {
  26686. return 'tabpanel' !== t.body.type
  26687. ? [
  26688. ((e = t.body),
  26689. (o = r),
  26690. {
  26691. dom: { tag: 'div', classes: ['tox-dialog__body'] },
  26692. components: [
  26693. {
  26694. dom: {
  26695. tag: 'div',
  26696. classes: ['tox-dialog__body-content'],
  26697. },
  26698. components: [
  26699. (n = zm(
  26700. eS.sketch(function (n) {
  26701. return {
  26702. dom: {
  26703. tag: 'div',
  26704. classes: ['tox-form'].concat(e.classes),
  26705. },
  26706. components: M(e.items, function (t) {
  26707. return hk(n, t, o)
  26708. }),
  26709. }
  26710. })
  26711. )).asSpec(),
  26712. ],
  26713. },
  26714. ],
  26715. behaviours: nc([
  26716. Fg.config({ mode: 'acyclic', useTabstopAt: O(p0) }),
  26717. aS(n),
  26718. mS(n, {
  26719. postprocess: function (t) {
  26720. return pE(t).fold(function (t) {
  26721. return console.error(t), {}
  26722. }, h)
  26723. },
  26724. }),
  26725. ]),
  26726. }),
  26727. ]
  26728. : [yE(t.body, r)]
  26729. var e, o, n
  26730. },
  26731. initialData: t,
  26732. }),
  26733. ]),
  26734. }
  26735. }
  26736. function wE(t, n) {
  26737. return {
  26738. dom: {
  26739. tag: 'div',
  26740. styles: { display: 'none' },
  26741. classes: ['tox-dialog__header'],
  26742. },
  26743. components: [t, n],
  26744. }
  26745. }
  26746. function SE(t, n) {
  26747. return JE.parts.close(
  26748. fp.sketch({
  26749. dom: {
  26750. tag: 'button',
  26751. classes: ['tox-button', 'tox-button--icon', 'tox-button--naked'],
  26752. attributes: { type: 'button', 'aria-label': n.translate('Close') },
  26753. },
  26754. action: t,
  26755. buttonBehaviours: nc([py.config({})]),
  26756. })
  26757. )
  26758. }
  26759. function kE() {
  26760. return JE.parts.title({
  26761. dom: {
  26762. tag: 'div',
  26763. classes: ['tox-dialog__title'],
  26764. innerHtml: '',
  26765. styles: { display: 'none' },
  26766. },
  26767. })
  26768. }
  26769. function CE(t, n) {
  26770. return JE.parts.body({
  26771. dom: { tag: 'div', classes: ['tox-dialog__body'] },
  26772. components: [
  26773. {
  26774. dom: { tag: 'div', classes: ['tox-dialog__body-content'] },
  26775. components: [{ dom: xC('<p>' + n.translate(t) + '</p>') }],
  26776. },
  26777. ],
  26778. })
  26779. }
  26780. function OE(t) {
  26781. return JE.parts.footer({
  26782. dom: { tag: 'div', classes: ['tox-dialog__footer'] },
  26783. components: t,
  26784. })
  26785. }
  26786. function _E(t, n) {
  26787. return [
  26788. ly.sketch({
  26789. dom: { tag: 'div', classes: ['tox-dialog__footer-start'] },
  26790. components: t,
  26791. }),
  26792. ly.sketch({
  26793. dom: { tag: 'div', classes: ['tox-dialog__footer-end'] },
  26794. components: n,
  26795. }),
  26796. ]
  26797. }
  26798. function TE(n) {
  26799. var t,
  26800. e = 'tox-dialog',
  26801. o = e + '-wrap',
  26802. r = o + '__backdrop',
  26803. i = e + '__disable-scroll'
  26804. return JE.sketch({
  26805. lazySink: n.lazySink,
  26806. onEscape: function (t) {
  26807. return n.onEscape(t), vt.some(!0)
  26808. },
  26809. useTabstopAt: function (t) {
  26810. return !p0(t)
  26811. },
  26812. dom: {
  26813. tag: 'div',
  26814. classes: [e].concat(n.extraClasses),
  26815. styles: lt({ position: 'relative' }, n.extraStyles),
  26816. },
  26817. components: H([n.header, n.body], n.footer.toArray(), !0),
  26818. parts: {
  26819. blocker: {
  26820. dom: xC('<div class="' + o + '"></div>'),
  26821. components: [
  26822. { dom: { tag: 'div', classes: BB ? [r, r + '--opaque'] : [r] } },
  26823. ],
  26824. },
  26825. },
  26826. dragBlockClass: o,
  26827. modalBehaviours: nc(
  26828. H(
  26829. [
  26830. Hg.config({}),
  26831. mm(
  26832. 'dialog-events',
  26833. n.dialogEvents.concat([
  26834. Br(bi(), function (t, n) {
  26835. Fg.focusIn(t)
  26836. }),
  26837. ])
  26838. ),
  26839. mm('scroll-lock', [
  26840. ou(function () {
  26841. Yr(be(), i)
  26842. }),
  26843. ru(function () {
  26844. qr(be(), i)
  26845. }),
  26846. ]),
  26847. ],
  26848. n.extraBehaviours,
  26849. !0
  26850. )
  26851. ),
  26852. eventOrder: lt(
  26853. (((t = {})[Ii()] = ['dialog-events']),
  26854. (t[Gi()] = ['scroll-lock', 'dialog-events', 'alloy.base.behaviour']),
  26855. (t[Xi()] = ['alloy.base.behaviour', 'dialog-events', 'scroll-lock']),
  26856. t),
  26857. n.eventOrder
  26858. ),
  26859. })
  26860. }
  26861. function EE(t) {
  26862. return fp.sketch({
  26863. dom: {
  26864. tag: 'button',
  26865. classes: ['tox-button', 'tox-button--icon', 'tox-button--naked'],
  26866. attributes: {
  26867. type: 'button',
  26868. 'aria-label': t.translate('Close'),
  26869. title: t.translate('Close'),
  26870. },
  26871. },
  26872. components: [Xm('close', { tag: 'div', classes: ['tox-icon'] }, t.icons)],
  26873. action: function (t) {
  26874. vr(t, wy)
  26875. },
  26876. })
  26877. }
  26878. function DE(t, n, e) {
  26879. function o(t) {
  26880. return [ri(e.translate(t.title))]
  26881. }
  26882. return {
  26883. dom: {
  26884. tag: 'div',
  26885. classes: ['tox-dialog__title'],
  26886. attributes: lt(
  26887. {},
  26888. n
  26889. .map(function (t) {
  26890. return { id: t }
  26891. })
  26892. .getOr({})
  26893. ),
  26894. },
  26895. components: o(t),
  26896. behaviours: nc([k_.config({ channel: _B, renderComponents: o })]),
  26897. }
  26898. }
  26899. function BE() {
  26900. return { dom: xC('<div class="tox-dialog__draghandle"></div>') }
  26901. }
  26902. function ME(t, n) {
  26903. return (
  26904. (e = {
  26905. title: n.shared.providers.translate(t),
  26906. draggable: n.dialog.isDraggableModal(),
  26907. }),
  26908. (o = n.shared.providers),
  26909. (r = JE.parts.title(DE(e, vt.none(), o))),
  26910. (i = JE.parts.draghandle(BE())),
  26911. (u = JE.parts.close(EE(o))),
  26912. (a = [r].concat(e.draggable ? [i] : []).concat([u])),
  26913. ly.sketch({
  26914. dom: xC('<div class="tox-dialog__header"></div>'),
  26915. components: a,
  26916. })
  26917. )
  26918. var e, o, r, i, u, a
  26919. }
  26920. function AE(t, n, e) {
  26921. return {
  26922. dom: {
  26923. tag: 'div',
  26924. classes: ['tox-dialog__busy-spinner'],
  26925. attributes: { 'aria-label': e.translate(t) },
  26926. styles: {
  26927. left: '0px',
  26928. right: '0px',
  26929. bottom: '0px',
  26930. top: '0px',
  26931. position: 'absolute',
  26932. },
  26933. },
  26934. behaviours: n,
  26935. components: [
  26936. {
  26937. dom: xC(
  26938. '<div class="tox-spinner"><div></div><div></div><div></div></div>'
  26939. ),
  26940. },
  26941. ],
  26942. }
  26943. }
  26944. function FE(t, o, n) {
  26945. return {
  26946. onClose: function () {
  26947. return n.closeWindow()
  26948. },
  26949. onBlock: function (e) {
  26950. JE.setBusy(t(), function (t, n) {
  26951. return AE(e.message, n, o)
  26952. })
  26953. },
  26954. onUnblock: function () {
  26955. JE.setIdle(t())
  26956. },
  26957. }
  26958. }
  26959. function IE(t, n, e, o) {
  26960. var r
  26961. return Tu(
  26962. TE(
  26963. lt(lt({}, t), {
  26964. lazySink: o.shared.getSink,
  26965. extraBehaviours: H(
  26966. [
  26967. k_.config({
  26968. channel: OB,
  26969. updateState: function (t, n) {
  26970. return vt.some(n)
  26971. },
  26972. initialData: n,
  26973. }),
  26974. pS({}),
  26975. ],
  26976. t.extraBehaviours,
  26977. !0
  26978. ),
  26979. onEscape: function (t) {
  26980. vr(t, wy)
  26981. },
  26982. dialogEvents: e,
  26983. eventOrder:
  26984. (((r = {})[Fi()] = [k_.name(), ic.name()]),
  26985. (r[Gi()] = [
  26986. 'scroll-lock',
  26987. k_.name(),
  26988. 'messages',
  26989. 'dialog-events',
  26990. 'alloy.base.behaviour',
  26991. ]),
  26992. (r[Xi()] = [
  26993. 'alloy.base.behaviour',
  26994. 'dialog-events',
  26995. 'messages',
  26996. k_.name(),
  26997. 'scroll-lock',
  26998. ]),
  26999. r),
  27000. })
  27001. )
  27002. )
  27003. }
  27004. function RE(t) {
  27005. return M(t, function (t) {
  27006. return 'menu' === t.type
  27007. ? ((e = M((n = t).items, function (t) {
  27008. var n = Po(!1)
  27009. return lt(lt({}, t), { storage: n })
  27010. })),
  27011. lt(lt({}, n), { items: e }))
  27012. : t
  27013. var n, e
  27014. })
  27015. }
  27016. function VE(t) {
  27017. return R(
  27018. t,
  27019. function (t, n) {
  27020. return 'menu' !== n.type
  27021. ? t
  27022. : R(
  27023. n.items,
  27024. function (t, n) {
  27025. return (t[n.name] = n.storage), t
  27026. },
  27027. t
  27028. )
  27029. },
  27030. {}
  27031. )
  27032. }
  27033. function PE(t, e) {
  27034. return [
  27035. Er(bi(), g0),
  27036. t(xy, function (t, n) {
  27037. e.onClose(), n.onClose()
  27038. }),
  27039. t(wy, function (t, n, e, o) {
  27040. n.onCancel(t), vr(o, xy)
  27041. }),
  27042. Cr(Oy, function (t, n) {
  27043. return e.onUnblock()
  27044. }),
  27045. Cr(Cy, function (t, n) {
  27046. return e.onBlock(n.event)
  27047. }),
  27048. ]
  27049. }
  27050. function HE(t, n) {
  27051. function e(t, n) {
  27052. return ly.sketch({
  27053. dom: { tag: 'div', classes: ['tox-dialog__footer-' + t] },
  27054. components: M(n, function (t) {
  27055. return t.memento.asSpec()
  27056. }),
  27057. })
  27058. }
  27059. var o = A(
  27060. n
  27061. .map(function (t) {
  27062. return t.footerButtons
  27063. })
  27064. .getOr([]),
  27065. function (t) {
  27066. return 'start' === t.align
  27067. }
  27068. )
  27069. return [e('start', o.pass), e('end', o.fail)]
  27070. }
  27071. function zE(t, e) {
  27072. return {
  27073. dom: xC('<div class="tox-dialog__footer"></div>'),
  27074. components: [],
  27075. behaviours: nc([
  27076. k_.config({
  27077. channel: EB,
  27078. initialData: t,
  27079. updateState: function (t, n) {
  27080. var r = M(n.buttons, function (t) {
  27081. var n = zm(Q0(t, t.type, e))
  27082. return { name: t.name, align: t.align, memento: n }
  27083. })
  27084. return vt.some({
  27085. lookupByName: function (t, n) {
  27086. return (
  27087. (e = t),
  27088. (o = n),
  27089. V(r, function (t) {
  27090. return t.name === o
  27091. }).bind(function (t) {
  27092. return t.memento.getOpt(e)
  27093. })
  27094. )
  27095. var e, o
  27096. },
  27097. footerButtons: r,
  27098. })
  27099. },
  27100. renderComponents: HE,
  27101. }),
  27102. ]),
  27103. }
  27104. }
  27105. function NE(t, n) {
  27106. return JE.parts.footer(zE(t, n))
  27107. }
  27108. function LE(n, e) {
  27109. if (n.getRoot().getSystem().isConnected()) {
  27110. var o = cd.getCurrent(n.getFormWrapper()).getOr(n.getFormWrapper())
  27111. return eS.getField(o, e).fold(
  27112. function () {
  27113. var t = n.getFooter()
  27114. return k_
  27115. .getState(t)
  27116. .get()
  27117. .bind(function (t) {
  27118. return t.lookupByName(o, e)
  27119. })
  27120. },
  27121. function (t) {
  27122. return vt.some(t)
  27123. }
  27124. )
  27125. }
  27126. return vt.none()
  27127. }
  27128. function WE(c, o, s) {
  27129. function t(t) {
  27130. var n = c.getRoot()
  27131. n.getSystem().isConnected() && t(n)
  27132. }
  27133. var l = {
  27134. getData: function () {
  27135. var t = c.getRoot(),
  27136. n = t.getSystem().isConnected() ? c.getFormWrapper() : t,
  27137. e = Df.getValue(n),
  27138. o = dt(s, function (t) {
  27139. return t.get()
  27140. })
  27141. return lt(lt({}, e), o)
  27142. },
  27143. setData: function (a) {
  27144. t(function (t) {
  27145. var n,
  27146. e,
  27147. o = l.getData(),
  27148. r = lt(lt({}, o), a),
  27149. i =
  27150. ((n = r),
  27151. (e = c.getRoot()),
  27152. k_
  27153. .getState(e)
  27154. .get()
  27155. .map(function (t) {
  27156. return co(ao('data', t.dataValidator, n))
  27157. })
  27158. .getOr(n)),
  27159. u = c.getFormWrapper()
  27160. Df.setValue(u, i),
  27161. J(s, function (t, n) {
  27162. Tt(r, n) && t.set(r[n])
  27163. })
  27164. })
  27165. },
  27166. disable: function (t) {
  27167. LE(c, t).each(gd.disable)
  27168. },
  27169. enable: function (t) {
  27170. LE(c, t).each(gd.enable)
  27171. },
  27172. focus: function (t) {
  27173. LE(c, t).each(Hg.focus)
  27174. },
  27175. block: function (n) {
  27176. if (!y(n))
  27177. throw new Error(
  27178. 'The dialogInstanceAPI.block function should be passed a blocking message of type string as an argument'
  27179. )
  27180. t(function (t) {
  27181. br(t, Cy, { message: n })
  27182. })
  27183. },
  27184. unblock: function () {
  27185. t(function (t) {
  27186. vr(t, Oy)
  27187. })
  27188. },
  27189. showTab: function (e) {
  27190. t(function (t) {
  27191. var n = c.getBody()
  27192. k_
  27193. .getState(n)
  27194. .get()
  27195. .exists(function (t) {
  27196. return t.isTabPanel()
  27197. }) &&
  27198. cd.getCurrent(n).each(function (t) {
  27199. SB.showTab(t, e)
  27200. })
  27201. })
  27202. },
  27203. redial: function (e) {
  27204. t(function (t) {
  27205. var n = o(e)
  27206. t.getSystem().broadcastOn([OB], n),
  27207. t.getSystem().broadcastOn([_B], n.internalDialog),
  27208. t.getSystem().broadcastOn([TB], n.internalDialog),
  27209. t.getSystem().broadcastOn([EB], n.internalDialog),
  27210. l.setData(n.initialData)
  27211. })
  27212. },
  27213. close: function () {
  27214. t(function (t) {
  27215. vr(t, xy)
  27216. })
  27217. },
  27218. }
  27219. return l
  27220. }
  27221. function UE(t) {
  27222. return x(t) && -1 !== RB.indexOf(t.mceAction)
  27223. }
  27224. function jE(o, t, r, n) {
  27225. var e,
  27226. i,
  27227. u,
  27228. a = ME(o.title, n),
  27229. c =
  27230. ((i = {
  27231. dom: { tag: 'div', classes: ['tox-dialog__content-js'] },
  27232. components: [
  27233. {
  27234. dom: { tag: 'div', classes: ['tox-dialog__body-iframe'] },
  27235. components: [
  27236. d0({
  27237. dom: { tag: 'iframe', attributes: { src: o.url } },
  27238. behaviours: nc([py.config({}), Hg.config({})]),
  27239. }),
  27240. ],
  27241. },
  27242. ],
  27243. behaviours: nc([Fg.config({ mode: 'acyclic', useTabstopAt: O(p0) })]),
  27244. }),
  27245. JE.parts.body(i)),
  27246. s = o.buttons.bind(function (t) {
  27247. return 0 === t.length ? vt.none() : vt.some(NE({ buttons: t }, n))
  27248. }),
  27249. l = MB(
  27250. function () {
  27251. return v
  27252. },
  27253. FE(
  27254. function () {
  27255. return h
  27256. },
  27257. n.shared.providers,
  27258. t
  27259. )
  27260. ),
  27261. f = lt(
  27262. lt(
  27263. {},
  27264. o.height.fold(
  27265. function () {
  27266. return {}
  27267. },
  27268. function (t) {
  27269. return { height: t + 'px', 'max-height': t + 'px' }
  27270. }
  27271. )
  27272. ),
  27273. o.width.fold(
  27274. function () {
  27275. return {}
  27276. },
  27277. function (t) {
  27278. return { width: t + 'px', 'max-width': t + 'px' }
  27279. }
  27280. )
  27281. ),
  27282. d = o.width.isNone() && o.height.isNone() ? ['tox-dialog--width-lg'] : [],
  27283. m = new IB(o.url, { base_uri: new IB(window.location.href) }),
  27284. g = m.protocol + '://' + m.host + (m.port ? ':' + m.port : ''),
  27285. p = mc(),
  27286. h = IE(
  27287. {
  27288. header: a,
  27289. body: c,
  27290. footer: s,
  27291. extraClasses: d,
  27292. extraBehaviours: [
  27293. mm('messages', [
  27294. ou(function () {
  27295. var t = pc(At.fromDom(window), 'message', function (t) {
  27296. var n, e
  27297. m.isSameOrigin(new IB(t.raw.origin)) &&
  27298. (UE((n = t.raw.data))
  27299. ? (function (t, n, e) {
  27300. switch (e.mceAction) {
  27301. case 'insertContent':
  27302. t.insertContent(e.content)
  27303. break
  27304. case 'setContent':
  27305. t.setContent(e.content)
  27306. break
  27307. case 'execCommand':
  27308. var o = !!w(e.ui) && e.ui
  27309. t.execCommand(e.cmd, o, e.value)
  27310. break
  27311. case 'close':
  27312. n.close()
  27313. break
  27314. case 'block':
  27315. n.block(e.message)
  27316. break
  27317. case 'unblock':
  27318. n.unblock()
  27319. }
  27320. })(r, v, n)
  27321. : !UE((e = n)) &&
  27322. x(e) &&
  27323. Tt(e, 'mceAction') &&
  27324. o.onMessage(v, n))
  27325. })
  27326. p.set(t)
  27327. }),
  27328. ru(p.clear),
  27329. ]),
  27330. ic.config({
  27331. channels:
  27332. (((e = {})[DB] = {
  27333. onReceive: function (t, n) {
  27334. Iu(t.element, 'iframe').each(function (t) {
  27335. t.dom.contentWindow.postMessage(n, g)
  27336. })
  27337. },
  27338. }),
  27339. e),
  27340. }),
  27341. ],
  27342. extraStyles: f,
  27343. },
  27344. o,
  27345. l,
  27346. n
  27347. ),
  27348. v = {
  27349. block: function (n) {
  27350. if (!y(n))
  27351. throw new Error(
  27352. 'The urlDialogInstanceAPI.block function should be passed a blocking message of type string as an argument'
  27353. )
  27354. b(function (t) {
  27355. br(t, Cy, { message: n })
  27356. })
  27357. },
  27358. unblock: function () {
  27359. b(function (t) {
  27360. vr(t, Oy)
  27361. })
  27362. },
  27363. close: function () {
  27364. b(function (t) {
  27365. vr(t, xy)
  27366. })
  27367. },
  27368. sendMessage: function (n) {
  27369. b(function (t) {
  27370. t.getSystem().broadcastOn([DB], n)
  27371. })
  27372. },
  27373. }
  27374. function b(t) {
  27375. u.getSystem().isConnected() && t(u)
  27376. }
  27377. return { dialog: (u = h), instanceApi: v }
  27378. }
  27379. function GE(t) {
  27380. function o(t, y) {
  27381. return gB.open(function (t, n, e) {
  27382. var o,
  27383. r,
  27384. i,
  27385. u,
  27386. a,
  27387. c,
  27388. s,
  27389. l,
  27390. f,
  27391. d,
  27392. m,
  27393. g,
  27394. p,
  27395. h,
  27396. v = n,
  27397. b =
  27398. ((r = {
  27399. redial: gB.redial,
  27400. closeWindow: function () {
  27401. JE.hide(b.dialog), y(b.instanceApi)
  27402. },
  27403. }),
  27404. (i = R),
  27405. (c = ME(
  27406. (o = { dataValidator: e, initialData: v, internalDialog: t })
  27407. .internalDialog.title,
  27408. i
  27409. )),
  27410. (u = i),
  27411. (a = xE({ body: o.internalDialog.body }, vt.none(), u, !1)),
  27412. (s = JE.parts.body(a)),
  27413. (l = RE(o.internalDialog.buttons)),
  27414. (f = VE(l)),
  27415. (d = NE({ buttons: l }, i)),
  27416. (m = AB(
  27417. function () {
  27418. return h
  27419. },
  27420. FE(
  27421. function () {
  27422. return p
  27423. },
  27424. i.shared.providers,
  27425. r
  27426. ),
  27427. i.shared.getSink
  27428. )),
  27429. (g = (function () {
  27430. switch (o.internalDialog.size) {
  27431. case 'large':
  27432. return ['tox-dialog--width-lg']
  27433. case 'medium':
  27434. return ['tox-dialog--width-md']
  27435. default:
  27436. return []
  27437. }
  27438. })()),
  27439. (p = IE(
  27440. {
  27441. header: c,
  27442. body: s,
  27443. footer: vt.some(d),
  27444. extraClasses: g,
  27445. extraBehaviours: [],
  27446. extraStyles: {},
  27447. },
  27448. o,
  27449. m,
  27450. i
  27451. )),
  27452. (h = WE(
  27453. {
  27454. getRoot: rt(p),
  27455. getBody: function () {
  27456. return JE.getBody(p)
  27457. },
  27458. getFooter: function () {
  27459. return JE.getFooter(p)
  27460. },
  27461. getFormWrapper: function () {
  27462. var t = JE.getBody(p)
  27463. return cd.getCurrent(t).getOr(t)
  27464. },
  27465. },
  27466. r.redial,
  27467. f
  27468. )),
  27469. { dialog: p, instanceApi: h })
  27470. return JE.show(b.dialog), b.instanceApi.setData(v), b.instanceApi
  27471. }, t)
  27472. }
  27473. function r(t, A, F, I) {
  27474. return gB.open(function (t, n, e) {
  27475. function o() {
  27476. return E.on(function (t) {
  27477. up.reposition(t), U1.refresh(t)
  27478. })
  27479. }
  27480. var r,
  27481. i,
  27482. u,
  27483. a,
  27484. c,
  27485. s,
  27486. l,
  27487. f,
  27488. d,
  27489. m,
  27490. g,
  27491. p,
  27492. h,
  27493. v,
  27494. b,
  27495. y,
  27496. x,
  27497. w,
  27498. S,
  27499. k,
  27500. C,
  27501. O,
  27502. _,
  27503. T = co(ao('data', e, n)),
  27504. E = gc(),
  27505. D = R.shared.header.isPositionedAtTop(),
  27506. B =
  27507. ((i = { dataValidator: e, initialData: T, internalDialog: t }),
  27508. (u = {
  27509. redial: gB.redial,
  27510. closeWindow: function () {
  27511. E.on(up.hide),
  27512. V.off('ResizeEditor', o),
  27513. E.clear(),
  27514. F(B.instanceApi)
  27515. },
  27516. }),
  27517. (a = R),
  27518. (c = I),
  27519. (v = Ir('dialog-label')),
  27520. (b = Ir('dialog-content')),
  27521. (y = zm(
  27522. ((f = { title: i.internalDialog.title, draggable: !0 }),
  27523. (d = v),
  27524. (m = a.shared.providers),
  27525. ly.sketch({
  27526. dom: xC('<div class="tox-dialog__header"></div>'),
  27527. components: [DE(f, vt.some(d), m), BE(), EE(m)],
  27528. containerBehaviours: nc([
  27529. aE.config({
  27530. mode: 'mouse',
  27531. blockerClass: 'blocker',
  27532. getTarget: function (t) {
  27533. return Ru(t, '[role="dialog"]').getOrDie()
  27534. },
  27535. snaps: {
  27536. getSnapPoints: function () {
  27537. return []
  27538. },
  27539. leftAttr: 'data-drag-left',
  27540. topAttr: 'data-drag-top',
  27541. },
  27542. }),
  27543. ]),
  27544. }))
  27545. )),
  27546. (x = zm(
  27547. ((g = { body: i.internalDialog.body }),
  27548. (p = a),
  27549. (h = c),
  27550. xE(g, vt.some(b), p, h))
  27551. )),
  27552. (w = RE(i.internalDialog.buttons)),
  27553. (S = VE(w)),
  27554. (k = zm(FB({ buttons: w }, a))),
  27555. (C = AB(
  27556. function () {
  27557. return _
  27558. },
  27559. {
  27560. onBlock: function (e) {
  27561. fO.block(O, function (t, n) {
  27562. return AE(e.message, n, a.shared.providers)
  27563. })
  27564. },
  27565. onUnblock: function () {
  27566. fO.unblock(O)
  27567. },
  27568. onClose: function () {
  27569. return u.closeWindow()
  27570. },
  27571. },
  27572. a.shared.getSink
  27573. )),
  27574. (O = Tu({
  27575. dom: {
  27576. tag: 'div',
  27577. classes: ['tox-dialog', 'tox-dialog-inline'],
  27578. attributes:
  27579. (((s = { role: 'dialog' })['aria-labelledby'] = v),
  27580. (s['aria-describedby'] = b),
  27581. s),
  27582. },
  27583. eventOrder:
  27584. (((l = {})[Fi()] = [k_.name(), ic.name()]),
  27585. (l[Ii()] = ['execute-on-form']),
  27586. (l[Gi()] = ['reflecting', 'execute-on-form']),
  27587. l),
  27588. behaviours: nc([
  27589. Fg.config({
  27590. mode: 'cyclic',
  27591. onEscape: function (t) {
  27592. return vr(t, xy), vt.some(!0)
  27593. },
  27594. useTabstopAt: function (t) {
  27595. return (
  27596. !p0(t) &&
  27597. ('button' !== Ft(t) || 'disabled' !== un(t, 'disabled'))
  27598. )
  27599. },
  27600. }),
  27601. k_.config({
  27602. channel: OB,
  27603. updateState: function (t, n) {
  27604. return vt.some(n)
  27605. },
  27606. initialData: i,
  27607. }),
  27608. Hg.config({}),
  27609. mm(
  27610. 'execute-on-form',
  27611. C.concat([
  27612. Br(bi(), function (t, n) {
  27613. Fg.focusIn(t)
  27614. }),
  27615. ])
  27616. ),
  27617. fO.config({
  27618. getRoot: function () {
  27619. return vt.some(O)
  27620. },
  27621. }),
  27622. Rg.config({}),
  27623. pS({}),
  27624. ]),
  27625. components: [y.asSpec(), x.asSpec(), k.asSpec()],
  27626. })),
  27627. (_ = WE(
  27628. {
  27629. getRoot: rt(O),
  27630. getFooter: function () {
  27631. return k.get(O)
  27632. },
  27633. getBody: function () {
  27634. return x.get(O)
  27635. },
  27636. getFormWrapper: function () {
  27637. var t = x.get(O)
  27638. return cd.getCurrent(t).getOr(t)
  27639. },
  27640. },
  27641. u.redial,
  27642. S
  27643. )),
  27644. { dialog: O, instanceApi: _ }),
  27645. M = Tu(
  27646. up.sketch(
  27647. lt(
  27648. lt(
  27649. {
  27650. lazySink: R.shared.getSink,
  27651. dom: { tag: 'div', classes: [] },
  27652. fireDismissalEventInstead: {},
  27653. },
  27654. D ? {} : { fireRepositionEventInstead: {} }
  27655. ),
  27656. {
  27657. inlineBehaviours: nc(
  27658. H(
  27659. [
  27660. mm('window-manager-inline-events', [
  27661. Cr(Yi(), function (t, n) {
  27662. vr(B.dialog, wy)
  27663. }),
  27664. ]),
  27665. ],
  27666. ((r = V),
  27667. P && D
  27668. ? []
  27669. : [
  27670. U1.config({
  27671. contextual: {
  27672. lazyContext: function () {
  27673. return vt.some(
  27674. Ae(At.fromDom(r.getContentAreaContainer()))
  27675. )
  27676. },
  27677. fadeInClass: 'tox-dialog-dock-fadein',
  27678. fadeOutClass: 'tox-dialog-dock-fadeout',
  27679. transitionClass: 'tox-dialog-dock-transition',
  27680. },
  27681. modes: ['top'],
  27682. }),
  27683. ]),
  27684. !0
  27685. )
  27686. ),
  27687. isExtraPart: function (t, n) {
  27688. return (
  27689. Yb((e = n), '.tox-alert-dialog') ||
  27690. Yb(e, '.tox-confirm-dialog')
  27691. )
  27692. var e
  27693. },
  27694. }
  27695. )
  27696. )
  27697. )
  27698. return (
  27699. E.set(M),
  27700. up.showWithin(M, Eu(B.dialog), { anchor: A }, vt.some(be())),
  27701. (P && D) || (U1.refresh(M), V.on('ResizeEditor', o)),
  27702. B.instanceApi.setData(T),
  27703. Fg.focusIn(B.dialog),
  27704. B.instanceApi
  27705. )
  27706. }, t)
  27707. }
  27708. var c,
  27709. s,
  27710. l,
  27711. f,
  27712. R = t.backstage,
  27713. V = t.editor,
  27714. P = dv(V),
  27715. e =
  27716. ((s = (c = t).backstage.shared),
  27717. {
  27718. open: function (t, n) {
  27719. function e() {
  27720. JE.hide(u), n()
  27721. }
  27722. var o = zm(
  27723. Q0(
  27724. {
  27725. name: 'close-alert',
  27726. text: 'OK',
  27727. primary: !0,
  27728. align: 'end',
  27729. disabled: !1,
  27730. icon: vt.none(),
  27731. },
  27732. 'cancel',
  27733. c.backstage
  27734. )
  27735. ),
  27736. r = kE(),
  27737. i = SE(e, s.providers),
  27738. u = Tu(
  27739. TE({
  27740. lazySink: function () {
  27741. return s.getSink()
  27742. },
  27743. header: wE(r, i),
  27744. body: CE(t, s.providers),
  27745. footer: vt.some(OE(_E([], [o.asSpec()]))),
  27746. onEscape: e,
  27747. extraClasses: ['tox-alert-dialog'],
  27748. extraBehaviours: [],
  27749. extraStyles: {},
  27750. dialogEvents: [Cr(wy, e)],
  27751. eventOrder: {},
  27752. })
  27753. )
  27754. JE.show(u)
  27755. var a = o.get(u)
  27756. Hg.focus(a)
  27757. },
  27758. }),
  27759. i =
  27760. ((f = (l = t).backstage.shared),
  27761. {
  27762. open: function (t, n) {
  27763. function e(t) {
  27764. JE.hide(a), n(t)
  27765. }
  27766. var o = zm(
  27767. Q0(
  27768. {
  27769. name: 'yes',
  27770. text: 'Yes',
  27771. primary: !0,
  27772. align: 'end',
  27773. disabled: !1,
  27774. icon: vt.none(),
  27775. },
  27776. 'submit',
  27777. l.backstage
  27778. )
  27779. ),
  27780. r = Q0(
  27781. {
  27782. name: 'no',
  27783. text: 'No',
  27784. primary: !1,
  27785. align: 'end',
  27786. disabled: !1,
  27787. icon: vt.none(),
  27788. },
  27789. 'cancel',
  27790. l.backstage
  27791. ),
  27792. i = kE(),
  27793. u = SE(function () {
  27794. return e(!1)
  27795. }, f.providers),
  27796. a = Tu(
  27797. TE({
  27798. lazySink: function () {
  27799. return f.getSink()
  27800. },
  27801. header: wE(i, u),
  27802. body: CE(t, f.providers),
  27803. footer: vt.some(OE(_E([], [r, o.asSpec()]))),
  27804. onEscape: function () {
  27805. return e(!1)
  27806. },
  27807. extraClasses: ['tox-confirm-dialog'],
  27808. extraBehaviours: [],
  27809. extraStyles: {},
  27810. dialogEvents: [
  27811. Cr(wy, function () {
  27812. return e(!1)
  27813. }),
  27814. Cr(ky, function () {
  27815. return e(!0)
  27816. }),
  27817. ],
  27818. eventOrder: {},
  27819. })
  27820. )
  27821. JE.show(a)
  27822. var c = o.get(a)
  27823. Hg.focus(c)
  27824. },
  27825. })
  27826. return {
  27827. open: function (t, n, e) {
  27828. return void 0 !== n && 'toolbar' === n.inline
  27829. ? r(t, R.shared.anchors.inlineDialog(), e, n.ariaAttrs)
  27830. : void 0 !== n && 'cursor' === n.inline
  27831. ? r(t, R.shared.anchors.cursor(), e, n.ariaAttrs)
  27832. : o(t, e)
  27833. },
  27834. openUrl: function (t, n) {
  27835. return (
  27836. (e = n),
  27837. gB.openUrl(function (t) {
  27838. var n = jE(
  27839. t,
  27840. {
  27841. closeWindow: function () {
  27842. JE.hide(n.dialog), e(n.instanceApi)
  27843. },
  27844. },
  27845. V,
  27846. R
  27847. )
  27848. return JE.show(n.dialog), n.instanceApi
  27849. }, t)
  27850. )
  27851. var e
  27852. },
  27853. alert: function (t, n) {
  27854. e.open(t, function () {
  27855. n()
  27856. })
  27857. },
  27858. close: function (t) {
  27859. t.close()
  27860. },
  27861. confirm: function (t, n) {
  27862. i.open(t, function (t) {
  27863. n(t)
  27864. })
  27865. },
  27866. }
  27867. }
  27868. ;((zT = HT = HT || {})[(zT.None = 0)] = 'None'),
  27869. (zT[(zT.Both = 1)] = 'Both'),
  27870. (zT[(zT.Vertical = 2)] = 'Vertical')
  27871. var XE,
  27872. YE = rt([
  27873. mo('lazySink'),
  27874. wo('dragBlockClass'),
  27875. Io('getBounds', Fe),
  27876. Eo('useTabstopAt', D),
  27877. Eo('eventOrder', {}),
  27878. Zs('modalBehaviours', [Fg]),
  27879. $u('onExecute'),
  27880. Zu('onEscape'),
  27881. ]),
  27882. qE = { sketch: h },
  27883. KE = rt([
  27884. Qf({
  27885. name: 'draghandle',
  27886. overrides: function (t, n) {
  27887. return {
  27888. behaviours: nc([
  27889. aE.config({
  27890. mode: 'mouse',
  27891. getTarget: function (t) {
  27892. return Fu(t, '[role="dialog"]').getOr(t)
  27893. },
  27894. blockerClass: t.dragBlockClass.getOrDie(
  27895. new Error(
  27896. 'The drag blocker class was not specified for a dialog with a drag handle: \n' +
  27897. JSON.stringify(n, null, 2)
  27898. ).message
  27899. ),
  27900. getBounds: t.getDragBounds,
  27901. }),
  27902. ]),
  27903. }
  27904. },
  27905. }),
  27906. Jf({ schema: [mo('dom')], name: 'title' }),
  27907. Jf({ factory: qE, schema: [mo('dom')], name: 'close' }),
  27908. Jf({ factory: qE, schema: [mo('dom')], name: 'body' }),
  27909. Qf({ factory: qE, schema: [mo('dom')], name: 'footer' }),
  27910. $f({
  27911. factory: {
  27912. sketch: function (t, n) {
  27913. return lt(lt({}, t), { dom: n.dom, components: n.components })
  27914. },
  27915. },
  27916. schema: [
  27917. Eo('dom', {
  27918. tag: 'div',
  27919. styles: {
  27920. position: 'fixed',
  27921. left: '0px',
  27922. top: '0px',
  27923. right: '0px',
  27924. bottom: '0px',
  27925. },
  27926. }),
  27927. Eo('components', []),
  27928. ],
  27929. name: 'blocker',
  27930. }),
  27931. ]),
  27932. JE = Cl({
  27933. name: 'ModalDialog',
  27934. configFields: YE(),
  27935. partFields: KE(),
  27936. factory: function (a, t, n, r) {
  27937. var e,
  27938. i = gc(),
  27939. o = Ir('modal-events'),
  27940. u = lt(
  27941. lt({}, a.eventOrder),
  27942. (((e = {})[Gi()] = [o].concat(
  27943. a.eventOrder['alloy.system.attached'] || []
  27944. )),
  27945. e)
  27946. )
  27947. return {
  27948. uid: a.uid,
  27949. dom: a.dom,
  27950. components: t,
  27951. apis: {
  27952. show: function (t) {
  27953. i.set(t)
  27954. var n = a.lazySink(t).getOrDie(),
  27955. e = r.blocker(),
  27956. o = n.getSystem().build(
  27957. lt(lt({}, e), {
  27958. components: e.components.concat([Eu(t)]),
  27959. behaviours: nc([
  27960. Hg.config({}),
  27961. mm('dialog-blocker-events', [
  27962. Br(bi(), function () {
  27963. Fg.focusIn(t)
  27964. }),
  27965. ]),
  27966. ]),
  27967. })
  27968. )
  27969. Vs(n, o), Fg.focusIn(t)
  27970. },
  27971. hide: function (n) {
  27972. i.clear(),
  27973. Yt(n.element).each(function (t) {
  27974. n.getSystem()
  27975. .getByDom(t)
  27976. .each(function (t) {
  27977. Hs(t)
  27978. })
  27979. })
  27980. },
  27981. getBody: function (t) {
  27982. return gl(t, a, 'body')
  27983. },
  27984. getFooter: function (t) {
  27985. return gl(t, a, 'footer')
  27986. },
  27987. setIdle: function (t) {
  27988. fO.unblock(t)
  27989. },
  27990. setBusy: function (t, n) {
  27991. fO.block(t, n)
  27992. },
  27993. },
  27994. eventOrder: u,
  27995. domModification: {
  27996. attributes: { role: 'dialog', 'aria-modal': 'true' },
  27997. },
  27998. behaviours: nl(a.modalBehaviours, [
  27999. Rg.config({}),
  28000. Fg.config({
  28001. mode: 'cyclic',
  28002. onEnter: a.onExecute,
  28003. onEscape: a.onEscape,
  28004. useTabstopAt: a.useTabstopAt,
  28005. }),
  28006. fO.config({ getRoot: i.get }),
  28007. mm(o, [
  28008. ou(function (t) {
  28009. var n,
  28010. e,
  28011. o,
  28012. r = t.element,
  28013. i = gl(t, a, 'title').element,
  28014. u = an(r, 'id').fold(function () {
  28015. var t = Ir('dialog-label')
  28016. return on(i, 'id', t), t
  28017. }, h)
  28018. on(r, 'aria-labelledby', u),
  28019. (n = t.element),
  28020. (e = gl(t, a, 'body').element),
  28021. (o = vt.from(un(n, 'id')).fold(function () {
  28022. var t = Ir('dialog-describe')
  28023. return on(e, 'id', t), t
  28024. }, h)),
  28025. on(n, 'aria-describedby', o)
  28026. }),
  28027. ]),
  28028. ]),
  28029. }
  28030. },
  28031. apis: {
  28032. show: function (t, n) {
  28033. t.show(n)
  28034. },
  28035. hide: function (t, n) {
  28036. t.hide(n)
  28037. },
  28038. getBody: function (t, n) {
  28039. return t.getBody(n)
  28040. },
  28041. getFooter: function (t, n) {
  28042. return t.getFooter(n)
  28043. },
  28044. setBusy: function (t, n, e) {
  28045. t.setBusy(n, e)
  28046. },
  28047. setIdle: function (t, n) {
  28048. t.setIdle(n)
  28049. },
  28050. },
  28051. }),
  28052. $E = $o([po('type'), po('name')].concat(Lh)),
  28053. QE = er,
  28054. ZE = [
  28055. ar(
  28056. 'name',
  28057. 'name',
  28058. je(function () {
  28059. return Ir('button-name')
  28060. }),
  28061. nr
  28062. ),
  28063. Co('icon'),
  28064. Ao('align', 'end', ['start', 'end']),
  28065. Fo('primary', !1),
  28066. Fo('disabled', !1),
  28067. ],
  28068. tD = H(H([], ZE, !0), [po('text')], !1),
  28069. nD = H([ho('type', ['submit', 'cancel', 'custom'])], tD, !0),
  28070. eD = lo('type', {
  28071. submit: nD,
  28072. cancel: nD,
  28073. custom: nD,
  28074. menu: H(
  28075. [
  28076. ho('type', ['menu']),
  28077. Co('text'),
  28078. Co('tooltip'),
  28079. Co('icon'),
  28080. xo('items', $E),
  28081. ],
  28082. ZE,
  28083. !0
  28084. ),
  28085. }),
  28086. oD = [
  28087. po('type'),
  28088. po('text'),
  28089. ho('level', ['info', 'warn', 'error', 'success']),
  28090. po('icon'),
  28091. Eo('url', ''),
  28092. ],
  28093. rD = $o(oD),
  28094. iD = [
  28095. po('type'),
  28096. po('text'),
  28097. Fo('disabled', !1),
  28098. Fo('primary', !1),
  28099. ar(
  28100. 'name',
  28101. 'name',
  28102. je(function () {
  28103. return Ir('button-name')
  28104. }),
  28105. nr
  28106. ),
  28107. Co('icon'),
  28108. Fo('borderless', !1),
  28109. ],
  28110. uD = $o(iD),
  28111. aD = [po('type'), po('name'), po('label'), Fo('disabled', !1)],
  28112. cD = $o(aD),
  28113. sD = er,
  28114. lD = [po('type'), po('name')],
  28115. fD = lD.concat([Co('label')]),
  28116. dD = fD.concat([Eo('columns', 'auto')]),
  28117. mD = $o(dD),
  28118. gD = Qo([po('value'), po('text'), po('icon')]),
  28119. pD = $o(fD),
  28120. hD = nr,
  28121. vD = $o(fD),
  28122. bD = nr,
  28123. yD = lD.concat([
  28124. Mo('tag', 'textarea'),
  28125. po('scriptId'),
  28126. po('scriptUrl'),
  28127. Do('settings', void 0, ir),
  28128. ]),
  28129. xD = lD.concat([Mo('tag', 'textarea'), vo('init')]),
  28130. wD = io(function (t) {
  28131. return ao('customeditor.old', to(xD), t).orThunk(function () {
  28132. return ao('customeditor.new', to(yD), t)
  28133. })
  28134. }),
  28135. SD = nr,
  28136. kD = $o(fD),
  28137. CD = no(Jo),
  28138. OD = [
  28139. po('type'),
  28140. po('html'),
  28141. Ao('presets', 'presentation', ['presentation', 'document']),
  28142. ],
  28143. _D = $o(OD),
  28144. TD = fD.concat([Fo('sandboxed', !0)]),
  28145. ED = $o(TD),
  28146. DD = nr,
  28147. BD = fD.concat([go('currentState', $o([mo('blob'), po('url')]))]),
  28148. MD = $o(BD),
  28149. AD = fD.concat([
  28150. Co('inputMode'),
  28151. Co('placeholder'),
  28152. Fo('maximized', !1),
  28153. Fo('disabled', !1),
  28154. ]),
  28155. FD = $o(AD),
  28156. ID = nr,
  28157. RD = [po('text'), po('value')],
  28158. VD = [
  28159. po('text'),
  28160. xo(
  28161. 'items',
  28162. ((XE = Rt(function () {
  28163. return PD
  28164. })),
  28165. {
  28166. extract: function (t, n) {
  28167. return XE().extract(t, n)
  28168. },
  28169. toString: function () {
  28170. return XE().toString()
  28171. },
  28172. })
  28173. ),
  28174. ],
  28175. PD = eo([$o(RD), $o(VD)]),
  28176. HD = fD.concat([xo('items', PD), Fo('disabled', !1)]),
  28177. zD = $o(HD),
  28178. ND = nr,
  28179. LD = fD.concat([
  28180. yo('items', [po('text'), po('value')]),
  28181. Bo('size', 1),
  28182. Fo('disabled', !1),
  28183. ]),
  28184. WD = $o(LD),
  28185. UD = nr,
  28186. jD = fD.concat([Fo('constrain', !0), Fo('disabled', !1)]),
  28187. GD = $o(jD),
  28188. XD = $o([po('width'), po('height')]),
  28189. YD = [po('type'), xo('header', nr), xo('cells', no(nr))],
  28190. qD = $o(YD),
  28191. KD = fD.concat([
  28192. Co('placeholder'),
  28193. Fo('maximized', !1),
  28194. Fo('disabled', !1),
  28195. ]),
  28196. JD = $o(KD),
  28197. $D = nr,
  28198. QD = fD.concat([
  28199. Ao('filetype', 'file', ['image', 'media', 'file']),
  28200. Eo('disabled', !1),
  28201. ]),
  28202. ZD = $o(QD),
  28203. tB = $o([po('value'), Eo('meta', {})]),
  28204. nB = Ze(function () {
  28205. return ro('type', {
  28206. alertbanner: rD,
  28207. bar: $o(((e = dE('bar')), [po('type'), e])),
  28208. button: uD,
  28209. checkbox: cD,
  28210. colorinput: pD,
  28211. colorpicker: vD,
  28212. dropzone: kD,
  28213. grid: $o(((t = dE('grid')), [po('type'), go('columns', tr), t])),
  28214. iframe: ED,
  28215. input: FD,
  28216. listbox: zD,
  28217. selectbox: WD,
  28218. sizeinput: GD,
  28219. textarea: JD,
  28220. urlinput: ZD,
  28221. customeditor: wD,
  28222. htmlpanel: _D,
  28223. imagetools: MD,
  28224. collection: mD,
  28225. label: $o(((n = dE('label')), [po('type'), po('label'), n])),
  28226. table: qD,
  28227. panel: oB,
  28228. })
  28229. var t, n, e
  28230. }),
  28231. eB = [po('type'), Eo('classes', []), xo('items', nB)],
  28232. oB = $o(eB),
  28233. rB = [
  28234. ar(
  28235. 'name',
  28236. 'name',
  28237. je(function () {
  28238. return Ir('tab-name')
  28239. }),
  28240. nr
  28241. ),
  28242. po('title'),
  28243. xo('items', nB),
  28244. ],
  28245. iB = [po('type'), yo('tabs', rB)],
  28246. uB = $o(iB),
  28247. aB = tD,
  28248. cB = eD,
  28249. sB = $o([
  28250. po('title'),
  28251. go('body', ro('type', { panel: oB, tabpanel: uB })),
  28252. Mo('size', 'normal'),
  28253. xo('buttons', cB),
  28254. Eo('initialData', {}),
  28255. Io('onAction', st),
  28256. Io('onChange', st),
  28257. Io('onSubmit', st),
  28258. Io('onClose', st),
  28259. Io('onCancel', st),
  28260. Eo('onTabChange', st),
  28261. ]),
  28262. lB = $o(H([ho('type', ['cancel', 'custom'])], aB, !0)),
  28263. fB = $o([
  28264. po('title'),
  28265. po('url'),
  28266. ko('height'),
  28267. ko('width'),
  28268. _o('buttons', lB),
  28269. Io('onAction', st),
  28270. Io('onCancel', st),
  28271. Io('onClose', st),
  28272. Io('onMessage', st),
  28273. ]),
  28274. dB = function (t) {
  28275. return x(t) ? [t].concat(z(Z(t), dB)) : c(t) ? z(t, dB) : []
  28276. },
  28277. mB = {
  28278. checkbox: sD,
  28279. colorinput: hD,
  28280. colorpicker: bD,
  28281. dropzone: CD,
  28282. input: ID,
  28283. iframe: DD,
  28284. sizeinput: XD,
  28285. selectbox: UD,
  28286. listbox: ND,
  28287. size: XD,
  28288. textarea: $D,
  28289. urlinput: tB,
  28290. customeditor: SD,
  28291. collection: gD,
  28292. togglemenuitem: QE,
  28293. },
  28294. gB = {
  28295. open: function (t, n) {
  28296. var e = gE(n)
  28297. return t(e.internalDialog, e.initialData, e.dataValidator)
  28298. },
  28299. openUrl: function (t, n) {
  28300. return t(co(ao('dialog', fB, n)))
  28301. },
  28302. redial: gE,
  28303. },
  28304. pB = kl({
  28305. name: 'TabButton',
  28306. configFields: [
  28307. Eo('uid', void 0),
  28308. mo('value'),
  28309. ar(
  28310. 'dom',
  28311. 'dom',
  28312. Ye(function () {
  28313. return {
  28314. attributes: {
  28315. role: 'tab',
  28316. id: Ir('aria'),
  28317. 'aria-selected': 'false',
  28318. },
  28319. }
  28320. }),
  28321. Zo()
  28322. ),
  28323. wo('action'),
  28324. Eo('domModification', {}),
  28325. Zs('tabButtonBehaviours', [Hg, Fg, Df]),
  28326. mo('view'),
  28327. ],
  28328. factory: function (t, n) {
  28329. return {
  28330. uid: t.uid,
  28331. dom: t.dom,
  28332. components: t.components,
  28333. events: Sm(t.action),
  28334. behaviours: nl(t.tabButtonBehaviours, [
  28335. Hg.config({}),
  28336. Fg.config({ mode: 'execution', useSpace: !0, useEnter: !0 }),
  28337. Df.config({ store: { mode: 'memory', initialValue: t.value } }),
  28338. ]),
  28339. domModification: t.domModification,
  28340. }
  28341. },
  28342. }),
  28343. hB = rt([
  28344. mo('tabs'),
  28345. mo('dom'),
  28346. Eo('clickToDismiss', !1),
  28347. Zs('tabbarBehaviours', [hd, Fg]),
  28348. qu(['tabClass', 'selectedClass']),
  28349. ]),
  28350. vB = rt([
  28351. Zf({
  28352. factory: pB,
  28353. name: 'tabs',
  28354. unit: 'tab',
  28355. overrides: function (o) {
  28356. return {
  28357. action: function (t) {
  28358. var n = t.getSystem().getByUid(o.uid).getOrDie(),
  28359. e = hd.isHighlighted(n, t)
  28360. ;(e && o.clickToDismiss
  28361. ? function (t, n) {
  28362. hd.dehighlight(t, n), br(t, Qi(), { tabbar: t, button: n })
  28363. }
  28364. : e
  28365. ? st
  28366. : function (t, n) {
  28367. hd.highlight(t, n), br(t, $i(), { tabbar: t, button: n })
  28368. })(n, t)
  28369. },
  28370. domModification: { classes: [o.markers.tabClass] },
  28371. }
  28372. },
  28373. }),
  28374. ]),
  28375. bB = Cl({
  28376. name: 'Tabbar',
  28377. configFields: hB(),
  28378. partFields: vB(),
  28379. factory: function (t, n, e, o) {
  28380. return {
  28381. uid: t.uid,
  28382. dom: t.dom,
  28383. components: n,
  28384. 'debug.sketcher': 'Tabbar',
  28385. domModification: { attributes: { role: 'tablist' } },
  28386. behaviours: nl(t.tabbarBehaviours, [
  28387. hd.config({
  28388. highlightClass: t.markers.selectedClass,
  28389. itemClass: t.markers.tabClass,
  28390. onHighlight: function (t, n) {
  28391. on(n.element, 'aria-selected', 'true')
  28392. },
  28393. onDehighlight: function (t, n) {
  28394. on(n.element, 'aria-selected', 'false')
  28395. },
  28396. }),
  28397. Fg.config({
  28398. mode: 'flow',
  28399. getInitial: function (t) {
  28400. return hd.getHighlighted(t).map(function (t) {
  28401. return t.element
  28402. })
  28403. },
  28404. selector: '.' + t.markers.tabClass,
  28405. executeOnMove: !0,
  28406. }),
  28407. ]),
  28408. }
  28409. },
  28410. }),
  28411. yB = kl({
  28412. name: 'Tabview',
  28413. configFields: [Zs('tabviewBehaviours', [Rg])],
  28414. factory: function (t, n) {
  28415. return {
  28416. uid: t.uid,
  28417. dom: t.dom,
  28418. behaviours: nl(t.tabviewBehaviours, [Rg.config({})]),
  28419. domModification: { attributes: { role: 'tabpanel' } },
  28420. }
  28421. },
  28422. }),
  28423. xB = rt([
  28424. Eo('selectFirst', !0),
  28425. Ju('onChangeTab'),
  28426. Ju('onDismissTab'),
  28427. Eo('tabs', []),
  28428. Zs('tabSectionBehaviours', []),
  28429. ]),
  28430. wB = rt([
  28431. Jf({
  28432. factory: bB,
  28433. schema: [
  28434. mo('dom'),
  28435. bo('markers', [mo('tabClass'), mo('selectedClass')]),
  28436. ],
  28437. name: 'tabbar',
  28438. defaults: function (t) {
  28439. return { tabs: t.tabs }
  28440. },
  28441. }),
  28442. Jf({ factory: yB, name: 'tabview' }),
  28443. ]),
  28444. SB = Cl({
  28445. name: 'TabSection',
  28446. configFields: xB(),
  28447. partFields: wB(),
  28448. factory: function (i, t, n, e) {
  28449. function o(t, n) {
  28450. ml(t, i, 'tabbar').each(function (t) {
  28451. n(t).each(yr)
  28452. })
  28453. }
  28454. return {
  28455. uid: i.uid,
  28456. dom: i.dom,
  28457. components: t,
  28458. behaviours: tl(i.tabSectionBehaviours),
  28459. events: eu(
  28460. ft([
  28461. i.selectFirst
  28462. ? [
  28463. ou(function (t, n) {
  28464. o(t, hd.getFirst)
  28465. }),
  28466. ]
  28467. : [],
  28468. [
  28469. Cr($i(), function (t, n) {
  28470. var o = n.event.button,
  28471. r = Df.getValue(o)
  28472. ml(o, i, 'tabview').each(function (e) {
  28473. V(i.tabs, function (t) {
  28474. return t.value === r
  28475. }).each(function (t) {
  28476. var n = t.view()
  28477. an(o.element, 'id').each(function (t) {
  28478. on(e.element, 'aria-labelledby', t)
  28479. }),
  28480. Rg.set(e, n),
  28481. i.onChangeTab(e, o, n)
  28482. })
  28483. })
  28484. }),
  28485. Cr(Qi(), function (t, n) {
  28486. var e = n.event.button
  28487. i.onDismissTab(t, e)
  28488. }),
  28489. ],
  28490. ])
  28491. ),
  28492. apis: {
  28493. getViewItems: function (t) {
  28494. return ml(t, i, 'tabview')
  28495. .map(function (t) {
  28496. return Rg.contents(t)
  28497. })
  28498. .getOr([])
  28499. },
  28500. showTab: function (t, e) {
  28501. o(t, function (n) {
  28502. return V(hd.getCandidates(n), function (t) {
  28503. return Df.getValue(t) === e
  28504. }).filter(function (t) {
  28505. return !hd.isHighlighted(n, t)
  28506. })
  28507. })
  28508. },
  28509. },
  28510. }
  28511. },
  28512. apis: {
  28513. getViewItems: function (t, n) {
  28514. return t.getViewItems(n)
  28515. },
  28516. showTab: function (t, n, e) {
  28517. t.showTab(n, e)
  28518. },
  28519. },
  28520. }),
  28521. kB = 'send-data-to-section',
  28522. CB = 'send-data-to-view',
  28523. OB = Ir('update-dialog'),
  28524. _B = Ir('update-title'),
  28525. TB = Ir('update-body'),
  28526. EB = Ir('update-footer'),
  28527. DB = Ir('body-send-message'),
  28528. BB = nb.deviceType.isTouch(),
  28529. MB = function (u, t) {
  28530. function n(t, i) {
  28531. return Cr(t, function (e, o) {
  28532. var n, r
  28533. ;(n = e),
  28534. (r = function (t, n) {
  28535. i(u(), t, o.event, e)
  28536. }),
  28537. k_
  28538. .getState(n)
  28539. .get()
  28540. .each(function (t) {
  28541. r(t, n)
  28542. })
  28543. })
  28544. }
  28545. return H(
  28546. H([], PE(n, t), !0),
  28547. [
  28548. n(Sy, function (t, n, e) {
  28549. n.onAction(t, { name: e.name })
  28550. }),
  28551. ],
  28552. !1
  28553. )
  28554. },
  28555. AB = function (u, t, c) {
  28556. function n(t, i) {
  28557. return Cr(t, function (e, o) {
  28558. var n, r
  28559. ;(n = e),
  28560. (r = function (t, n) {
  28561. i(u(), t, o.event, e)
  28562. }),
  28563. k_
  28564. .getState(n)
  28565. .get()
  28566. .each(function (t) {
  28567. r(t.internalDialog, n)
  28568. })
  28569. })
  28570. }
  28571. return H(
  28572. H([], PE(n, t), !0),
  28573. [
  28574. n(ky, function (t, n) {
  28575. return n.onSubmit(t)
  28576. }),
  28577. n(yy, function (t, n, e) {
  28578. n.onChange(t, { name: e.name })
  28579. }),
  28580. n(Sy, function (t, n, e, o) {
  28581. function r() {
  28582. return Fg.focusIn(o)
  28583. }
  28584. function i(t) {
  28585. return (
  28586. cn(t, 'disabled') ||
  28587. an(t, 'aria-disabled').exists(function (t) {
  28588. return 'true' === t
  28589. })
  28590. )
  28591. }
  28592. var u = ge(o.element),
  28593. a = Oa(u)
  28594. n.onAction(t, { name: e.name, value: e.value }),
  28595. Oa(u).fold(r, function (n) {
  28596. i(n) ||
  28597. a.exists(function (t) {
  28598. return Wt(n, t) && i(t)
  28599. })
  28600. ? r()
  28601. : c()
  28602. .toOptional()
  28603. .filter(function (t) {
  28604. return !Wt(t.element, n)
  28605. })
  28606. .each(r)
  28607. })
  28608. }),
  28609. n(_y, function (t, n, e) {
  28610. n.onTabChange(t, { newTabName: e.name, oldTabName: e.oldName })
  28611. }),
  28612. ru(function (t) {
  28613. var n = u()
  28614. Df.setValue(t, n.getData())
  28615. }),
  28616. ],
  28617. !1
  28618. )
  28619. },
  28620. FB = zE,
  28621. IB = tinymce.util.Tools.resolve('tinymce.util.URI'),
  28622. RB = [
  28623. 'insertContent',
  28624. 'setContent',
  28625. 'execCommand',
  28626. 'close',
  28627. 'block',
  28628. 'unblock',
  28629. ]
  28630. o.add('silver', function (t) {
  28631. var n = fE(t),
  28632. e = n.uiMothership,
  28633. o = n.backstage,
  28634. r = n.renderUI,
  28635. i = n.getUi
  28636. return (
  28637. uy(t, o.shared),
  28638. {
  28639. renderUI: r,
  28640. getWindowManagerImpl: rt(GE({ editor: t, backstage: o })),
  28641. getNotificationManagerImpl: function () {
  28642. return (
  28643. (u = t),
  28644. (r = e),
  28645. (l = { backstage: o }.backstage.shared),
  28646. {
  28647. open: function (t, n) {
  28648. function e() {
  28649. n(), up.hide(c)
  28650. }
  28651. var o =
  28652. !t.closeButton &&
  28653. t.timeout &&
  28654. (0 < t.timeout || t.timeout < 0),
  28655. a = Tu(
  28656. hp.sketch({
  28657. text: t.text,
  28658. level: wt(
  28659. ['success', 'error', 'warning', 'warn', 'info'],
  28660. t.type
  28661. )
  28662. ? t.type
  28663. : void 0,
  28664. progress: !0 === t.progressBar,
  28665. icon: vt.from(t.icon),
  28666. closeButton: !o,
  28667. onAction: e,
  28668. iconProvider: l.providers.icons,
  28669. translationProvider: l.providers.translate,
  28670. })
  28671. ),
  28672. c = Tu(
  28673. up.sketch(
  28674. lt(
  28675. {
  28676. dom: {
  28677. tag: 'div',
  28678. classes: ['tox-notifications-container'],
  28679. },
  28680. lazySink: l.getSink,
  28681. fireDismissalEventInstead: {},
  28682. },
  28683. l.header.isPositionedAtTop()
  28684. ? {}
  28685. : { fireRepositionEventInstead: {} }
  28686. )
  28687. )
  28688. )
  28689. function s() {
  28690. var t = Ae(At.fromDom(u.getContentAreaContainer())),
  28691. n = Fe(),
  28692. e = ja(n.x, t.x, t.right),
  28693. o = ja(n.y, t.y, t.bottom),
  28694. r = Math.max(t.right, n.right),
  28695. i = Math.max(t.bottom, n.bottom)
  28696. return vt.some(Me(e, o, r - e, i - o))
  28697. }
  28698. return (
  28699. r.add(c),
  28700. 0 < t.timeout &&
  28701. lp.setTimeout(function () {
  28702. e()
  28703. }, t.timeout),
  28704. {
  28705. close: e,
  28706. moveTo: function (t, n) {
  28707. up.showAt(c, Eu(a), {
  28708. anchor: { type: 'makeshift', x: t, y: n },
  28709. })
  28710. },
  28711. moveRel: function (t, n) {
  28712. var e,
  28713. o,
  28714. r,
  28715. i = Eu(a),
  28716. u = { maxHeightFunction: Vc() }
  28717. 'banner' !== n && k(t)
  28718. ? ((e = (function () {
  28719. switch (n) {
  28720. case 'bc-bc':
  28721. return sp
  28722. case 'tc-tc':
  28723. return cp
  28724. case 'tc-bc':
  28725. return Ja
  28726. default:
  28727. return $a
  28728. }
  28729. })()),
  28730. (o = {
  28731. type: 'node',
  28732. root: be(),
  28733. node: vt.some(At.fromDom(t)),
  28734. overrides: u,
  28735. layouts: {
  28736. onRtl: function () {
  28737. return [e]
  28738. },
  28739. onLtr: function () {
  28740. return [e]
  28741. },
  28742. },
  28743. }),
  28744. up.showWithinBounds(c, i, { anchor: o }, s))
  28745. : ((r = lt(lt({}, l.anchors.banner()), {
  28746. overrides: u,
  28747. })),
  28748. up.showWithinBounds(c, i, { anchor: r }, s))
  28749. },
  28750. text: function (t) {
  28751. hp.updateText(a, t)
  28752. },
  28753. settings: t,
  28754. getEl: function () {
  28755. return a.element.dom
  28756. },
  28757. progressBar: {
  28758. value: function (t) {
  28759. hp.updateProgress(a, t)
  28760. },
  28761. },
  28762. }
  28763. )
  28764. },
  28765. close: function (t) {
  28766. t.close()
  28767. },
  28768. reposition: function (e) {
  28769. 0 < e.length &&
  28770. St(e, function (t, n) {
  28771. 0 === n
  28772. ? t.moveRel(null, 'banner')
  28773. : t.moveRel(e[n - 1].getEl(), 'bc-tc')
  28774. })
  28775. },
  28776. getArgs: function (t) {
  28777. return t.settings
  28778. },
  28779. }
  28780. )
  28781. var u, r, l
  28782. },
  28783. ui: i(),
  28784. }
  28785. )
  28786. })
  28787. })()